Index: /trunk/documents/UserDoc/Authors/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/Authors/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/Authors/CVS/Entries	(revision 1208)
@@ -0,0 +1,1 @@
+D/html////
Index: /trunk/documents/UserDoc/Authors/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/Authors/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/Authors/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/Authors
Index: /trunk/documents/UserDoc/Authors/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/Authors/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/Authors/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/Authors/html/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/Authors/html/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/Authors/html/CVS/Entries	(revision 1208)
@@ -0,0 +1,3 @@
+/authorsToSubjects.html/1.2/Sun Feb  1 12:14:37 2004//
+/subjectsToAuthors.html/1.16/Fri Nov 24 20:50:25 2006//
+D
Index: /trunk/documents/UserDoc/Authors/html/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/Authors/html/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/Authors/html/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/Authors/html
Index: /trunk/documents/UserDoc/Authors/html/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/Authors/html/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/Authors/html/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/Authors/html/authorsToSubjects.html
===================================================================
--- /trunk/documents/UserDoc/Authors/html/authorsToSubjects.html	(revision 1208)
+++ /trunk/documents/UserDoc/Authors/html/authorsToSubjects.html	(revision 1208)
@@ -0,0 +1,1752 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako, 15-Jul-1998 -->
+
+<BODY>
+<P ALIGN="Center">
+<FONT SIZE="+4" COLOR="#238E23">
+<B>Geant4 User's Documents</B>
+</FONT>
+<BR><BR>
+<FONT SIZE="+2" COLOR="#238E23">
+<B>Status of submission from authors</B>
+</FONT>
+<P>
+
+<BR><BR>
+<HR ALIGN="Center" SIZE="7%">
+<BR>
+
+<!-- ============================================== Section --> 
+<BR><BR>
+<FONT COLOR="#238E23">
+<H2>1. Summary of each author's achievement</H2>
+</FONT>
+<P>
+<B><I>(15 July, 1998)</B></I>
+<P>
+
+<TABLE WIDTH="70%">
+
+<TR><TD COLSPAN=2><HR SIZE="1" NOSHADE></TD>
+</TD></TR>
+
+<TR>
+<TD><B>Author Name</B></TD>
+<TD ALIGN="RIGHT"><B>Achievement</B></TD>
+<TR><TD COLSPAN=2><HR SIZE="1" NOSHADE></TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+John Allison
+</TD>
+<TD ALIGN="RIGHT">
+25 %
+</TD>
+<TD></TD>
+
+<TR VALIGN="TOP">
+<TD>
+Katsuya Amako
+</TD>
+<TD ALIGN="RIGHT">
+100 %
+</TD>
+
+<TR VALIGN="TOP">
+<TD>
+John Apostolakis
+</TD>
+<TD ALIGN="RIGHT">
+22 %
+</TD>
+
+<TR VALIGN="TOP">
+<TD>
+Makoto Asai
+</TD>
+<TD ALIGN="RIGHT">
+11 %
+</TD>
+
+<TR VALIGN="TOP">
+<TD>
+Gabriele Cosmo
+</TD>
+<TD ALIGN="RIGHT">
+100 %
+</TD>
+
+<TR VALIGN="TOP">
+<TD>
+Gunter Folger
+</TD>
+<TD ALIGN="RIGHT">
+100 %
+</TD>
+
+<TR VALIGN="TOP">
+<TD>
+Simone Giani
+</TD>
+<TD ALIGN="RIGHT">
+100 %
+</TD>
+
+<TR VALIGN="TOP">
+<TD>
+Peter Gumplinger
+</TD>
+<TD ALIGN="RIGHT">
+0 %
+</TD>
+
+<TR VALIGN="TOP">
+<TD>
+Hisaya Kurashige
+</TD>
+<TD ALIGN="RIGHT">
+25 %
+</TD>
+
+<TR VALIGN="TOP">
+<TD>
+Michel Maire / Laszlo Urban
+</TD>
+<TD ALIGN="RIGHT">
+50 %
+</TD>
+
+<TR VALIGN="TOP">
+<TD>
+Yohei Morita
+</TD>
+<TD ALIGN="RIGHT">
+0 %
+</TD>
+
+<TR VALIGN="TOP">
+<TD>
+Serguei Sadilov
+</TD>
+<TD ALIGN="RIGHT">
+0 %
+</TD>
+
+<TR VALIGN="TOP">
+<TD>
+Takashi Sasaki
+</TD>
+<TD ALIGN="RIGHT">
+100%
+</TD>
+
+<TR VALIGN="TOP">
+<TD>
+Satoshi Tanaka
+</TD>
+<TD ALIGN="RIGHT">
+60 %
+</TD>
+
+<TR VALIGN="TOP">
+<TD>
+Peter Urban
+</TD>
+<TD ALIGN="RIGHT">
+0 %
+</TD>
+
+<TR VALIGN="TOP">
+<TD>
+Marc Verderi
+</TD>
+<TD ALIGN="RIGHT">
+50 %
+</TD>
+
+<TR VALIGN="TOP">
+<TD>
+Hans-Peter Wellisch
+</TD>
+<TD ALIGN="RIGHT">
+33 %
+</TD>
+
+<TR VALIGN="TOP">
+<TD>
+Hajime Yoshida
+</TD>
+<TD ALIGN="RIGHT">
+100 %
+</TD>
+
+
+<TR><TD COLSPAN=2><HR SIZE="1" NOSHADE></TD></TR>
+</TABLE>
+
+<BR><BR><BR><BR>
+
+<!-- ============================================== Section --> 
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR><BR><BR>
+
+<FONT COLOR="#238E23">
+<H2>2. More detail of author's achievement</H2>
+</FONT>
+
+<B>[Note]</B><BR>
+<P>
+   The alpahbetical character at the beginning of the section
+   number in the table below means:
+   <UL> 
+   <LI>A: Overview - Top page
+   <LI>B: Welcome  - Introduction to Geant4
+   <LI>C: User's Guides - Installation Guide:
+   <LI>D: User's Guides - For Application Developers
+   <LI>E: User's Guides - For Toolkit Developers
+   </UL>
+   For example,<BR>
+   <UL>
+   'C.3.2' means 'Section 3.2' of 'Installation Guide'. 
+   </UL>
+<P>
+<BR><BR><BR><BR>
+
+<TABLE WIDTH="100%">
+
+<!-- ============================================== Section --> 
+<TR><TD COLSPAN=4>
+<FONT COLOR="#238E23">
+<H3>John Allison</H3>
+</FONT>
+</TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR>
+<TD><B>Section#</B></TD>
+<TD><B>Section Title</B></TD>
+<TD><B>Status</B></TD>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.2.9 
+</TD>
+<TD>
+How to visualize the detector and tracking steps 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+
+</TD>
+<TD>
+D.3.16 Visualization 
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.3.15 
+</TD>
+<TD>
+Visualization
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.4.11 
+</TD>
+<TD>
+Visualization 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+
+
+<!-- ============================================== Section --> 
+<TR><TD COLSPAN=4>
+<FONT COLOR="#238E23">
+<H3>Katsuya Amako</H3>
+</FONT>
+</TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR>
+<TD><B>Section#</B></TD>
+<TD><B>Section Title</B></TD>
+<TD><B>Status</B></TD>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+
+
+<TR VALIGN="TOP">
+<TD>
+A.1
+</TD>
+<TD>
+User's Document: Overview
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+C.3.2
+</TD>
+<TD>
+Windows95
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.1
+</TD>
+<TD>
+Introduction
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.3.2 
+</TD>
+<TD>
+Class categories/domains 
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.3.11
+</TD>
+<TD>
+Tracking
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.5.1 
+</TD>
+<TD>
+Summary of built-in commands
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.1 
+</TD>
+<TD>
+Introduction 
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.2 
+</TD>
+<TD>
+User requirements document
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.3.9
+</TD>
+<TD>
+Tracking
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+
+<!-- ============================================== Section --> 
+<TR><TD COLSPAN=4>
+<FONT COLOR="#238E23">
+<H3>John Apostolakis</H3>
+</FONT>
+</TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR>
+<TD><B>Section#</B></TD>
+<TD><B>Section Title</B></TD>
+<TD><B>Status</B></TD>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.2.2 
+</TD>
+<TD>
+How to define a detector geometry
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.3.6 
+</TD>
+<TD>
+Geometry 
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.3.8 
+</TD>
+<TD>
+Electro-magnetic field 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.4.1 
+</TD>
+<TD>
+More about geometry 
+</TD>
+<TD>
+---
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.4.1.2 
+</TD>
+<TD>
+Importing Solid Models from CAD systems
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.3.4 
+</TD>
+<TD>
+Geometry 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.3.6 s
+</TD>
+<TD>
+Electro-magnetic field 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.3.8.4 
+</TD>
+<TD>
+Transportation process 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.4.3 
+</TD>
+<TD>
+Geometry 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.4.5
+</TD>
+<TD>
+Electro-magnetic field 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+
+
+<!-- ============================================== Section --> 
+<TR><TD COLSPAN=4>
+<FONT COLOR="#238E23">
+<H3>Makoto Asai</H3>
+</FONT>
+</TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR>
+<TD><B>Section#</B></TD>
+<TD><B>Section Title</B></TD>
+<TD><B>Status</B></TD>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.2.1 
+</TD>
+<TD>
+Define first the main program 
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.2.11 
+</TD>
+<TD>
+List of example codes
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.3.3 
+</TD>
+<TD>
+Run 
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.3.4 
+</TD>
+<TD>
+Event 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.3.5 
+</TD>
+<TD>
+Event generator interface 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.3.12 
+</TD>
+<TD>
+Hit 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.3.15 
+</TD>
+<TD>
+User interface commands
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.3.18 
+</TD>
+<TD>
+User actions classes
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.3.19 
+</TD>
+<TD>
+List of example codes 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.4.4 
+</TD>
+<TD>
+List of example codes 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.3.1 
+</TD>
+<TD>
+Run 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.3.2 
+</TD>
+<TD>
+Event 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.3.3 
+</TD>
+<TD>
+Event generator interface 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.3.10 
+</TD>
+<TD>
+Hit 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.3.11
+</TD>
+<TD>
+Digitization
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.3.13
+</TD>
+<TD>
+User interface commands
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.4.1
+</TD>
+<TD>
+Event 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.4.2 
+</TD>
+<TD>
+Event generator interface 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.4.9
+</TD>
+<TD>
+User interface commands
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+
+
+<!-- ============================================== Section --> 
+<TR><TD COLSPAN=4>
+<FONT COLOR="#238E23">
+<H3>Gabriele Cosmo</H3>
+</FONT>
+</TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR>
+<TD><B>Section#</B></TD>
+<TD><B>Section Title</B></TD>
+<TD><B>Status</B></TD>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+C.1
+</TD>
+<TD>
+Introduction for installation
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+C.2
+</TD>
+<TD>
+Installation to a Unix machine
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+C.3
+</TD>
+<TD>
+Installation to a PC machine
+</TD>
+<TD>
+---
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.2.7 
+</TD>
+<TD>
+How to make an executable program 
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.3.17 
+</TD>
+<TD>
+Global usage classes
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.5.2 
+</TD>
+<TD>
+Tips for the program compilation
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.5.7 
+</TD>
+<TD>
+Makefile for Unix
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.3.16 
+</TD>
+<TD>
+Global usage classes 
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+
+
+<!-- ============================================== Section --> 
+<TR><TD COLSPAN=4>
+<FONT COLOR="#238E23">
+<H3>Gunter Folger</H3>
+</FONT>
+</TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR>
+<TD><B>Section#</B></TD>
+<TD><B>Section Title</B></TD>
+<TD><B>Status</B></TD>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+B.5
+</TD>
+<TD>
+Where can you find the resources of Geant4 toolkit?
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.5.3 
+</TD>
+<TD>
+Histogramming
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.5.5 
+</TD>
+<TD>
+CLHEP and LHC++ 
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+
+
+<!-- ============================================== Section --> 
+<TR><TD COLSPAN=4>
+<FONT COLOR="#238E23">
+<H3>Simone Giani</H3>
+</FONT>
+</TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR>
+<TD><B>Section#</B></TD>
+<TD><B>Section Title</B></TD>
+<TD><B>Status</B></TD>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+B.1
+</TD>
+<TD>
+GEANT4 project goal and history 
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+B.2
+</TD>
+<TD>
+What can you do with the Geant4 toolkit?
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+B.3
+</TD>
+<TD>
+What software knowledge is required to use the Geant4 toolkit?
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+
+</TD>
+<TD>
+Who is maintaining the Geant4 toolkit?
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+
+
+<!-- ============================================== Section --> 
+<TR><TD COLSPAN=4>
+<FONT COLOR="#238E23">
+<H3>Peter Gumplinger</H3>
+</FONT>
+</TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR>
+<TD><B>Section#</B></TD>
+<TD><B>Section Title</B></TD>
+<TD><B>Status</B></TD>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.4.2.3 
+</TD>
+<TD>
+Optical photon processes 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+
+<TR VALIGN="TOP">
+<TD>
+E.3.8.5
+</TD>
+<TD>
+Optical photon processes 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+
+
+<!-- ============================================== Section --> 
+<TR><TD COLSPAN=4>
+<FONT COLOR="#238E23">
+<H3>Hisaya Kurashige</H3>
+</FONT>
+</TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR>
+<TD><B>Section#</B></TD>
+<TD><B>Section Title</B></TD>
+<TD><B>Status</B></TD>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.2.4 
+</TD>
+<TD>
+How to specify a particle
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.2.5 
+</TD>
+<TD>
+How to specify a physics process 
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.3.9 
+</TD>
+<TD>
+Particles 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.3.10 
+</TD>
+<TD>
+Physics Processes
+</TD>
+<TD>
+---
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.3.10.1 
+</TD>
+<TD>
+Introduction
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.3.7 
+</TD>
+<TD>
+Particles 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.3.8
+</TD>
+<TD>
+Physics Processes
+</TD>
+<TD>
+---
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.3.8.3 
+</TD>
+<TD>
+Particle decay processes 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.4.6 
+</TD>
+<TD>
+Particles
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.4.7
+</TD>
+<TD>
+Physics Processes
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+
+
+<!-- ============================================== Section --> 
+<TR><TD COLSPAN=4>
+<FONT COLOR="#238E23">
+<H3>Michel Maire / Laszlo Urban</H3>
+</FONT>
+</TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR>
+<TD><B>Section#</B></TD>
+<TD><B>Section Title</B></TD>
+<TD><B>Status</B></TD>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.2.3 
+</TD>
+<TD>
+How to specify material in the detector
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.2.8 
+</TD>
+<TD>
+How to execute your program 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.3.1 
+</TD>
+<TD>
+Unit system
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.3.7 
+</TD>
+<TD>
+Materials 
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.3.10.2 
+</TD>
+<TD>
+Electromagnetic interactions
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.3.5 
+</TD>
+<TD>
+Materials 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.3.8.1 
+</TD>
+<TD>
+Electromagnetic interactions
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.4.4 
+</TD>
+<TD>
+Materials 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+
+
+<!-- ============================================== Section --> 
+<TR><TD COLSPAN=4>
+<FONT COLOR="#238E23">
+<H3>Yohei Morita</H3>
+</FONT>
+</TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR>
+<TD><B>Section#</B></TD>
+<TD><B>Section Title</B></TD>
+<TD><B>Status</B></TD>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+
+
+<TR VALIGN="TOP">
+<TD>
+D.3.14 
+</TD>
+<TD>
+Object persistency
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.5.4 
+</TD>
+<TD>
+Object-oriented database
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.3.12 
+</TD>
+<TD>
+Object persistency
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.4.8 
+</TD>
+<TD>
+Object persistency
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+
+
+<!-- ============================================== Section --> 
+<TR><TD COLSPAN=4>
+<FONT COLOR="#238E23">
+<H3>Serguei Sadilov</H3>
+</FONT>
+</TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR>
+<TD><B>Section#</B></TD>
+<TD><B>Section Title</B></TD>
+<TD><B>Status</B></TD>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+C.3.1 
+</TD>
+<TD>
+WindowsNT
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.5.8 
+</TD>
+<TD>
+Build for MS Visual C++ 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+
+
+<!-- ============================================== Section --> 
+<TR><TD COLSPAN=4>
+<FONT COLOR="#238E23">
+<H3>Takashi Sasaki</H3>
+</FONT>
+</TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR>
+<TD><B>Section#</B></TD>
+<TD><B>Section Title</B></TD>
+<TD><B>Status</B></TD>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.3.11
+</TD>
+<TD>
+Tracking
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.3.9
+</TD>
+<TD>
+Tracking
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+
+
+<!-- ============================================== Section --> 
+<TR><TD COLSPAN=4>
+<FONT COLOR="#238E23">
+<H3>Satoshi Tanaka</H3>
+</FONT>
+</TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR>
+<TD><B>Section#</B></TD>
+<TD><B>Section Title</B></TD>
+<TD><B>Status</B></TD>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.3.16
+</TD>
+<TD>
+Visualization 
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.4.1.3 
+</TD>
+<TD>
+Detecting Overlapping Volumes
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.4.3 
+</TD>
+<TD>
+More about visualization
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.3.15 
+</TD>
+<TD>
+Visualization
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.4.11 
+</TD>
+<TD>
+Visualization 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+
+
+<!-- ============================================== Section --> 
+<TR><TD COLSPAN=4>
+<FONT COLOR="#238E23">
+<H3>Peter Urban</H3>
+</FONT>
+</TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR>
+<TD><B>Section#</B></TD>
+<TD><B>Section Title</B></TD>
+<TD><B>Status</B></TD>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+B.4
+</TD>
+<TD>
+Which computing environment is required to use the Geant4 toolkit? 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.5.6 
+</TD>
+<TD>
+C++ Standard template library
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.5.9 
+</TD>
+<TD>
+Development and debug tools
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+
+
+<!-- ============================================== Section --> 
+<TR><TD COLSPAN=4>
+<FONT COLOR="#238E23">
+<H3>Marc Verderi</H3>
+</FONT>
+</TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR>
+<TD><B>Section#</B></TD>
+<TD><B>Section Title</B></TD>
+<TD><B>Status</B></TD>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.4.2.2 
+</TD>
+<TD>
+Shower Parameterization
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.3.8.6 
+</TD>
+<TD>
+Shower parametrization
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+
+
+<!-- ============================================== Section --> 
+<TR><TD COLSPAN=4>
+<FONT COLOR="#238E23">
+<H3>Hans-Peter Wellisch</H3>
+</FONT>
+</TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR>
+<TD><B>Section#</B></TD>
+<TD><B>Section Title</B></TD>
+<TD><B>Status</B></TD>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.3.10.3 
+</TD>
+<TD>
+Hadronic interactions
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+4.2 
+</TD>
+<TD>
+More about physics processes
+</TD>
+<TD>
+---
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.4.2.1 
+</TD>
+<TD>
+Hadronic Physics
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.3.8.2 
+</TD>
+<TD>
+Hadronic interactions 
+</TD>
+<TD>
+<FONT COLOR="#FF0000"><B>Not submitted</B></FONT>
+</TD></TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+
+
+<!-- ============================================== Section --> 
+<TR><TD COLSPAN=4>
+<FONT COLOR="#238E23">
+<H3>Hajime Yoshida</H3>
+</FONT>
+</TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR>
+<TD><B>Section#</B></TD>
+<TD><B>Section Title</B></TD>
+<TD><B>Status</B></TD>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+C.3.3 
+</TD>
+<TD>
+Linux on PC
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.2.10 
+</TD>
+<TD>
+How to install and use graphical user interfaces
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+D.3.14 
+</TD>
+<TD>
+Graphical user interface 
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR VALIGN="TOP">
+<TD>
+E.4.10 
+</TD>
+<TD>
+Graphical user interface
+</TD>
+<TD>
+Submitted
+</TD></TR>
+
+<TR><TD COLSPAN=3><HR SIZE="1" NOSHADE></TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+<TR><TD COLSPAN=3>&nbsp; </TD></TR>
+
+
+
+</TABLE>
+
+
+</BODY>
+</HTML>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /trunk/documents/UserDoc/Authors/html/subjectsToAuthors.html
===================================================================
--- /trunk/documents/UserDoc/Authors/html/subjectsToAuthors.html	(revision 1208)
+++ /trunk/documents/UserDoc/Authors/html/subjectsToAuthors.html	(revision 1208)
@@ -0,0 +1,857 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako, 17-Nov-1998 -->
+<!-- Changed by: Katsuya Dosanjh, 19-Jan-2001 -->
+<!-- Changed by: Dennis Wright, 14-Dec-2001 -->
+<!-- Proof read by: Joe Chuma,   9-Jul-1999 -->
+
+<BODY>
+<P ALIGN="Center">
+<FONT SIZE="+4" COLOR="#238E23">
+<B>Geant4 User's Documents</B>
+</FONT>
+<BR><BR>
+<FONT SIZE="+2" COLOR="#238E23">
+<B>Authors List</B>
+</FONT>
+<BR><BR><BR><BR>
+<P>
+
+<HR ALIGN="Center" SIZE="7%">
+
+<BR><BR>
+
+<!-- ============================================== Section --> 
+<TABLE WIDTH="100%">
+
+<TR><TD COLSPAN=4>
+<FONT COLOR="#238E23">
+<H2>Overview</H2>
+</FONT>
+</TR>
+
+<TR><TD COLSPAN=4><FONT COLOR="#000000"></TR>
+
+<TR><TD COLSPAN=4><HR SIZE="1" NOSHADE></TD></TR>
+<TR>
+<TD></TD>
+<TD><B>Section</B></TD>
+<TD><B>Author</B></TD>
+<TR><TD COLSPAN=4><HR SIZE="1" NOSHADE></TD></TR>
+
+
+<TR VALIGN="TOP"><TD></TD>
+<TD><B>User's Document: Overview</B></TD>
+<TD>K. Amako (KEK)</TD>
+</TR>
+
+<TR><TD COLSPAN=4><HR SIZE="1" NOSHADE></TD></TR>
+<TR><TD COLSPAN=4>&nbsp; </TD></TR>
+<TR><TD COLSPAN=4>&nbsp; </TD></TR>
+<TR><TD COLSPAN=4>&nbsp; </TD></TR>
+<TR><TD COLSPAN=4>&nbsp; </TD></TR>
+
+<!-- ============================================== Section --> 
+<TR><TD COLSPAN=4>
+<FONT COLOR="#238E23">
+<H2>Welcome</H2>
+</FONT>
+</TR>
+
+<TR><TD COLSPAN=4>
+<FONT COLOR="#000000">
+<H3>- Introduction to Geant4</H3>
+</FONT>
+</TR>
+
+<TR><TD COLSPAN=4><HR SIZE="1" NOSHADE></TD></TR>
+<TR>
+<TD></TD>
+<TD><B>Section</B></TD>
+<TD><B>Author</B></TD>
+<TR><TD COLSPAN=4><HR SIZE="1" NOSHADE></TD></TR>
+
+<TR VALIGN="TOP"><TD><B>1.</B></TD>
+<TD><B>GEANT4 project goal and history</B></TD>
+<TD>S. Giani (CERN)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD><B>2.</B></TD>
+<TD><B>What can you do with the Geant4 toolkit?</B></TD>
+<TD>S. Giani (CERN)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD><B>3.</B></TD>
+<TD><B>What software knowledge is required to use the Geant4 toolkit?</B></TD>
+<TD>S. Giani (CERN)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD><B>4.</B></TD>
+<TD><B>Which computing environment is required to use the Geant4 toolkit?</B></TD>
+<TD>G. Folger (CERN)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD><B>5.</B></TD>
+<TD><B>Where can you find the resources of Geant4 toolkit?</B></TD>
+<TD>G. Folger (CERN)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD><B>6.</B></TD>
+<TD><B>Who is maintaining the Geant4 toolkit?</B></TD>
+<TD>S. Giani (CERN)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD><B>7.</B></TD>
+<TD><B>Geant4 user support process</B></TD>
+<TD>S. Giani (CERN)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD><B>8.</B></TD>
+<TD><B>Geant4 user support use cases</B></TD>
+<TD>S. Giani (CERN)</TD>
+</TR>
+
+<TR><TD COLSPAN=4><HR SIZE="1" NOSHADE></TD></TR>
+<TR><TD COLSPAN=4>&nbsp; </TD></TR>
+<TR><TD COLSPAN=4>&nbsp; </TD></TR>
+<TR><TD COLSPAN=4>&nbsp; </TD></TR>
+<TR><TD COLSPAN=4>&nbsp; </TD></TR>
+
+<!-- ============================================== Section --> 
+<TR><TD COLSPAN=4>
+<FONT COLOR="#238E23">
+<H2>User's Guides</H2>
+</FONT>
+</TR>
+
+<TR><TD COLSPAN=4>
+<FONT COLOR="#000000">
+<H3>- Installation Guide: For Setting up Geant4 
+      in Your Computing Environment</H3>
+</FONT>
+</TR>
+
+<TR><TD COLSPAN=4><HR SIZE="1" NOSHADE></TD></TR>
+<TR>
+<TD></TD>
+<TD><B>Section</B></TD>
+<TD><B>Author</B></TD>
+<TR><TD COLSPAN=4><HR SIZE="1" NOSHADE></TD></TR>
+
+<!-- ------------------------- Sub-section -->
+<TR VALIGN="TOP"><TD><B>1.</B></TD>
+<TD><B>Installation introduction</B></TD>
+<TD>G. Cosmo (CERN)</TD>
+</TR>
+
+<!-- ------------------------- Sub-section -->
+<TR VALIGN="TOP"><TD><B>2.</B></TD>
+<TD><B>Installation on a Unix machine</B></TD>
+<TD>G. Cosmo (CERN)</TD>
+</TR>
+
+<!-- ------------------------- Sub-section -->
+<TR VALIGN="TOP"><TD><B>3.</B></TD>
+<TD><B>Installation on a PC machine</B></TD>
+<TD>G. Cosmo (CERN)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>3.1 Windows with the Cygwin Toolset and Microsoft Visual C++</TD>
+<TD>G. Cosmo, G. Folger (CERN)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>3.2 Building kernel libraries DLLs</TD>
+<TD>G. Cosmo (CERN)</TD>
+</TR>
+
+<TR><TD COLSPAN=4><HR SIZE="1" NOSHADE></TD></TR>
+<TR><TD COLSPAN=4>&nbsp; </TD></TR>
+<TR><TD COLSPAN=4>&nbsp; </TD></TR>
+<TR><TD COLSPAN=4>&nbsp; </TD></TR>
+<TR><TD COLSPAN=4>&nbsp; </TD></TR>
+
+<!-- ============================================== Section --> 
+<TR><TD COLSPAN=4>
+<FONT COLOR="#000000">
+<H3>- For Application Developers</H3>
+</FONT>
+</TR>
+
+<TR><TD COLSPAN=4><HR SIZE="1" NOSHADE></TD></TR>
+<TR>
+<TD></TD>
+<TD><B>Section</B></TD>
+<TD><B>Author</B></TD>
+<TR><TD COLSPAN=4><HR SIZE="1" NOSHADE></TD></TR>
+
+<TR VALIGN="TOP"><TD><B>1.</B></TD>
+<TD><B>Introduction </B></TD>
+<TD>D.H. Wright (SLAC)</TD>
+</TR>
+
+<!-- ------------------------- Sub-section -->
+<TR VALIGN="TOP"><TD><B>2.</B></TD>
+<TD><B>Getting Started with Geant4 - Running a Simple Example</B></TD>
+<TD></TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>2.1 How to define the main program</TD>
+<TD>M. Asai (SLAC)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>2.2 How to define a detector geometry</TD>
+<TD>J. Apostolakis, G. Cosmo (CERN)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>2.3 How to specify material in the detector</TD>
+<TD>M. Maire (LAPP)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>2.4 How to specify a particle </TD>
+<TD>H. Kurashige (Kobe)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>2.5 How to specify a physics process</TD>
+<TD>H. Kurashige (Kobe)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>2.6 How to generate a primary event</TD>
+<TD>M. Asai (SLAC)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>2.7 How to make an executable program</TD>
+<TD>G. Cosmo (CERN)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>2.8 How to install and use graphical user interfaces</TD>
+<TD>H. Yoshida (Naruto)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>2.9 How to execute your program</TD>
+<TD>M. Maire (LAPP)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>2.10 How to visualize the detector and tracking steps</TD>
+<TD>S. Tanaka (Kyoto)</TD>
+</TR>
+
+
+<!-- ------------------------- Sub-section -->
+<TR VALIGN="TOP"><TD><B>3.</B></TD>
+<TD>
+<B>Toolkit Fundamentals</B>
+</TD>
+<TD></TD>
+<TD></TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>3.1 Class Categories and Domains</TD>
+<TD>K. Amako (KEK)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>3.2 Global Usage Classes</TD>
+<TD>G. Cosmo (CERN)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>3.3 System of units</TD>
+<TD>M. Maire (LAPP)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>3.4 Run</TD>
+<TD>M. Asai (SLAC)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>3.5 Event</TD>
+<TD>M. Asai (SLAC)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>3.6 Event Generator Interface</TD>
+<TD>M. Asai (SLAC)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>3.7 Event Biasing Techniques</TD>
+<TD>M. Dressel (CERN)</TD>
+</TR>
+
+<!-- ------------------------- Sub-section -->
+<TR VALIGN="TOP"><TD><B>4.</B></TD>
+<TD>
+<B>Detector Definition and Response</B>
+</TD>
+<TD></TD>
+<TD></TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>4.1 Geometry</TD>
+<TD>J. Apostolakis, G. Cosmo (CERN)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>&nbsp;&nbsp;&nbsp;&nbsp;4.1.11 Converting Geometries from Geant3</TD>
+<TD>T. Wenaus (BNL), W. Lockman (Santa Cruz)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>&nbsp;&nbsp;&nbsp;&nbsp;4.1.12 Detecting Overlapping Volumes</TD>
+<TD>S. Tanaka (Kyoto), G. Cosmo (CERN)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>4.2 Materials</TD>
+<TD>M. Maire (LAPP)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>4.3 Electromagnetic Field</TD>
+<TD>J. Apostolakis (CERN)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>4.4 Hits</TD>
+<TD>M. Asai (SLAC)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>4.5 Digitization</TD>
+<TD>M. Asai (SLAC)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>4.6 Object Persistency</TD>
+<TD>Y. Morita (KEK)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>4.7 Parallel World</TD>
+<TD>M. Asai (SLAC)</TD>
+</TR>
+
+<!-- ------------------------- Sub-section -->
+<TR VALIGN="TOP"><TD><B>5.</B></TD>
+<TD><B>Tracking and Physics</B></TD>
+<TD></TD>
+<TD></TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>5.1 Tracking</TD>
+<TD>K. Amako, T. Sasaki (KEK)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>5.2 Physics Processes</TD>
+<TD>H. Kurashige (Kobe)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>&nbsp;&nbsp;&nbsp;&nbsp;5.2 Introduction</TD>
+<TD>H. Kurashige (Kobe)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>&nbsp;&nbsp;&nbsp;&nbsp;5.2.1 Electromagnetic interactions</TD>
+<TD>L. Urban (Budapest), M. Maire (LAPP)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>&nbsp;&nbsp;&nbsp;&nbsp;5.2.2 Hadronic interactions</TD>
+<TD>H-P. Wellisch (CERN)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>&nbsp;&nbsp;&nbsp;&nbsp;5.2.3 Particle decay process</TD>
+<TD>H. Kurashige (Kobe)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>&nbsp;&nbsp;&nbsp;&nbsp;5.2.4 Photolepton-hadron processes</TD>
+<TD>H-P. Wellisch (CERN)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>&nbsp;&nbsp;&nbsp;&nbsp;5.2.5 Optical Photon Processes</TD>
+<TD>P. Gumplinger (TRIUMF)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>&nbsp;&nbsp;&nbsp;&nbsp;5.2.6 Parameterization</TD>
+<TD>M. Verderi (PNHE), J. Weng (Karlsruhe)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>&nbsp;&nbsp;&nbsp;&nbsp;5.2.7 Transportation Process</TD>
+<TD>J. Apostolakis (CERN)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>5.3 Particles</TD>
+<TD>H. Kurashige (Kobe)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>5.4 Production Threshold Versus Tracking Cut</TD>
+<TD>M. Maire (LAPP)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>5.5 Cuts per region</TD>
+<TD>M. Asai (SLAC)</TD>
+</TR>
+
+<!-- ------------------------- Sub-section -->
+<TR VALIGN="TOP"><TD><B>6.</B></TD>
+<TD>
+<B>User Actions</B>
+</TD>
+<TD></TD>
+<TD></TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>6.1 Mandatory User Actions and Initializations</TD>
+<TD>M. Asai (SLAC)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>6.2 Optional User Actions</TD>
+<TD>M. Asai (SLAC)</TD>
+</TR>
+
+<!-- ------------------------- Sub-section -->
+<TR VALIGN="TOP"><TD><B>7.</B></TD>
+<TD>
+<B>Communication and Control</B>
+</TD>
+<TD></TD>
+<TD></TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>7.1 Built-in Commands</TD>
+<TD>M. Asai (SLAC)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>7.2 User Interface - Defining New Commands</TD>
+<TD>M. Asai (SLAC)</TD>
+</TR>
+
+<!-- ------------------------- Sub-section -->
+<TR VALIGN="TOP"><TD><B>8.</B></TD>
+<TD>
+<B>Visualization</B>
+</TD>
+<TD></TD>
+<TD></TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>8.1 Visualization Introduction</TD>
+<TD>S. Tanaka (Kyoto), J. Allison (Manchester)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>8.2 What Can Be Visualized?</TD>
+<TD>S. Tanaka (Kyoto), J. Allison (Manchester)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>8.3 Visualization Attributes</TD>
+<TD>S. Tanaka (Kyoto), J. Allison (Manchester)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>8.4 Polylines, Markers and Text</TD>
+<TD>S. Tanaka (Kyoto), J. Allison (Manchester)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>8.5 Making a Visualization Executable</TD>
+<TD>S. Tanaka (Kyoto), J. Allison (Manchester)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>8.6 Visualization Drivers</TD>
+<TD>S. Tanaka (Kyoto), J. Allison (Manchester)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>8.7 Interactive Visualization</TD>
+<TD>S. Tanaka (Kyoto), J. Allison (Manchester)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>8.8 Non-interactive Visualization</TD>
+<TD>S. Tanaka (Kyoto), J. Allison (Manchester)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>8.9 Built-in Visualization Commands</TD>
+<TD>S. Tanaka (Kyoto), J. Allison (Manchester)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>8.10 More About Visualization</TD>
+<TD>S. Tanaka (Kyoto)</TD>
+</TR>
+
+
+<!-- ------------------------- Sub-section -->
+<TR VALIGN="TOP"><TD><B>9.</B></TD>
+<TD>
+<B>Examples</B>
+</TD>
+<TD></TD>
+<TD></TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>9.1 Novice Examples</TD>
+<TD>M. Asai (SLAC)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>9.2 Advanced Examples</TD>
+<TD>M. Asai (SLAC)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>9.3 Extended Examples</TD>
+<TD>D.H. Wright (SLAC)</TD>
+</TR>
+
+<!-- ------------------------- Sub-section -->
+<TR VALIGN="TOP"><TD><B>10.</B></TD>
+<TD>
+<B>Appendix</B>
+</TD>
+<TD></TD>
+<TD></TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>10.1 Tips for Program Compilation</TD>
+<TD>G. Cosmo (CERN)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>10.2 Histogramming</TD>
+<TD>G. Cosmo, G. Folger (CERN)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>10.3 CLHEP and ANAPHE</TD>
+<TD>G. Cosmo, G. Folger (CERN)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>10.4 C++ Standard Template Library</TD>
+<TD>G. Cosmo, G. Folger (CERN)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>10.5 Makefiles and Environment Variables</TD>
+<TD>G. Cosmo (CERN)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>10.6 Build for MS Visual C++</TD>
+<TD>G. Cosmo, G. Folger (CERN)</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>10.7 Development and Debug Tools</TD>
+<TD>G. Cosmo, G. Folger (CERN)</TD>
+</TR>
+
+<TR><TD COLSPAN=4><HR SIZE="1" NOSHADE></TD></TR>
+<TR><TD COLSPAN=4>&nbsp; </TD></TR>
+<TR><TD COLSPAN=4>&nbsp; </TD></TR>
+<TR><TD COLSPAN=4>&nbsp; </TD></TR>
+<TR><TD COLSPAN=4>&nbsp; </TD></TR>
+
+<!-- ============================================== Section --> 
+<TR><TD COLSPAN=4>
+<FONT COLOR="#000000">
+<H3>- For Toolkit Developers</H3>
+</FONT>
+</TR>
+
+<TR><TD COLSPAN=4><HR SIZE="1" NOSHADE></TD></TR>
+<TR>
+<TD></TD>
+<TD><B>Section</B></TD>
+<TD><B>Author</B></TD>
+<TR><TD COLSPAN=4><HR SIZE="1" NOSHADE></TD></TR>
+
+<TR VALIGN="TOP"><TD><B>1.</B></TD>
+<TD>
+<B>Introduction </B>
+</TD>
+<TD>
+K. Amako (KEK)
+</TD>
+</TR>
+
+
+<TR VALIGN="TOP"><TD><B>2.</B></TD>
+<TD>
+<B>User requirements document</B>
+</TD>
+<TD>
+K. Amako (KEK)
+</TD>
+</TR>
+
+<!-- ------------------------- Sub-section -->
+<TR VALIGN="TOP"><TD><B>3</B></TD>
+<TD>
+<B>Object-oriented anaysis and design of Geant4 Categories</B>
+</TD>
+<TD></TD>
+<TD></TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>
+3.1 Run and Event Categories
+</TD>
+<TD>
+M. Asai (SLAC)
+</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>
+3.2 Tracking 
+</TD>
+<TD>
+K. Amako, T. Sasaki (KEK)
+</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>
+3.3 Physics Processes 
+</TD>
+<TD>
+H. Kurashige (Kobe)
+</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>
+3.4 Hit
+</TD>
+<TD>
+M. Asai (SLAC)
+</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>
+3.4 Geometry 
+</TD>
+<TD>
+J. Apostolakis, G.Cosmo (CERN)
+</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>
+3.5 Electro-magnetic fields
+</TD>
+<TD>
+J. Apostolakis (CERN)
+</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>
+3.6 Particles 
+</TD>
+<TD>
+H. Kurashige (Kobe)
+</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>
+3.7 Materials 
+</TD>
+<TD>
+M. Maire (LAPP)
+</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>
+3.8 Global Usage
+</TD>
+<TD>
+G. Cosmo (CERN)
+</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>
+3.9 Visualization 
+</TD>
+<TD>
+S. Tanaka (Kyoto), J. Allison (Manchester)
+</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>
+3.10 User Interface
+</TD>
+<TD>
+M. Asai (SLAC)
+</TD>
+</TR>
+
+<!-- ------------------------- Sub-section -->
+<TR VALIGN="TOP"><TD><B>4</B></TD>
+<TD>
+<B>Guide to extend Geant4 class functionality</B>
+</TD>
+<TD></TD>
+<TD></TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>
+4.1 Geometry 
+</TD>
+<TD>
+J. Apostolakis, G. Cosmo (CERN)
+</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>
+4.2 Electro-magnetic fields
+</TD>
+<TD>
+J. Apostolakis (CERN)
+</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>
+4.3 Physics Processes 
+</TD>
+<TD>
+H. Kurashige (Kobe)
+</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>
+4.4 Extending hadronic physics functionality
+</TD>
+<TD>
+H-P. Wellisch (CERN)
+</TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>
+4.5 Visualization 
+</TD>
+<TD>
+S. Tanaka (Kyoto), J. Allison (Manchester)
+</TD>
+</TR>
+
+<!-- ------------------------- Sub-section -->
+<TR VALIGN="TOP"><TD><B>5</B></TD>
+<TD>
+<B>Appendix</B>
+</TD>
+<TD></TD>
+<TD></TD>
+</TR>
+
+<TR VALIGN="TOP"><TD></TD>
+<TD>
+5.1 Class Diagrams for the Geometry Category
+</TD>
+<TD>
+G. Cosmo (CERN)
+</TD>
+</TR>
+
+<TR><TD COLSPAN=4><HR SIZE="1" NOSHADE></TD></TR>
+<TR><TD COLSPAN=4>&nbsp; </TD></TR>
+<TR><TD COLSPAN=4>&nbsp; </TD></TR>
+<TR><TD COLSPAN=4>&nbsp; </TD></TR>
+<TR><TD COLSPAN=4>&nbsp; </TD></TR>
+
+
+<!-- ============================================== Section --> 
+<TR><TD COLSPAN=4>
+<FONT COLOR="#000000">
+<H3>- Reference Manuals</H3>
+</FONT>
+</TR>
+
+<TR><TD COLSPAN=4><HR SIZE="1" NOSHADE></TD></TR>
+<TR>
+<TD></TD>
+<TD><B>Section</B></TD>
+<TD><B>Author</B></TD>
+<TR><TD COLSPAN=4><HR SIZE="1" NOSHADE></TD></TR>
+
+<TR VALIGN="TOP"><TD><B>1.</B></TD>
+<TD>
+<B>Physics Reference Manual</B>
+</TD>
+<TD>
+Global Editors: H-P. Wellisch (CERN), M. Maire (LAPP), L. Urban (Budapest)
+</TD>
+</TR>
+
+
+<TR VALIGN="TOP"><TD><B>2.</B></TD>
+<TD>
+<B>Software Reference Manual</B>
+</TD>
+<TD>
+Global Editor: K. Amako (KEK)
+</TD>
+</TR>
+
+<TR><TD COLSPAN=4><HR SIZE="1" NOSHADE></TD></TR>
+<TR><TD COLSPAN=4>&nbsp; </TD></TR>
+<TR><TD COLSPAN=4>&nbsp; </TD></TR>
+<TR><TD COLSPAN=4>&nbsp; </TD></TR>
+<TR><TD COLSPAN=4>&nbsp; </TD></TR>
+
+</TABLE>
+
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/CVS/Entries	(revision 1208)
@@ -0,0 +1,7 @@
+D/Authors////
+D/ContributionFromUsers////
+D/DocBookUsersGuides////
+D/Overview////
+D/UsersGuides////
+D/Welcome////
+D/resources////
Index: /trunk/documents/UserDoc/CVS/Entries.Log
===================================================================
--- /trunk/documents/UserDoc/CVS/Entries.Log	(revision 1208)
+++ /trunk/documents/UserDoc/CVS/Entries.Log	(revision 1208)
@@ -0,0 +1,2 @@
+A D/Geant4Codes////
+R D/Geant4Codes////
Index: /trunk/documents/UserDoc/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc
Index: /trunk/documents/UserDoc/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/ContributionFromUsers/BugReports/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/BugReports/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/BugReports/CVS/Entries	(revision 1208)
@@ -0,0 +1,1 @@
+D/html////
Index: /trunk/documents/UserDoc/ContributionFromUsers/BugReports/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/BugReports/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/BugReports/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/ContributionFromUsers/BugReports
Index: /trunk/documents/UserDoc/ContributionFromUsers/BugReports/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/BugReports/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/BugReports/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/ContributionFromUsers/BugReports/html/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/BugReports/html/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/BugReports/html/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/bugReports.html/1.1/Tue Sep 29 13:45:56 1998//
+D
Index: /trunk/documents/UserDoc/ContributionFromUsers/BugReports/html/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/BugReports/html/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/BugReports/html/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/ContributionFromUsers/BugReports/html
Index: /trunk/documents/UserDoc/ContributionFromUsers/BugReports/html/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/BugReports/html/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/BugReports/html/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/ContributionFromUsers/BugReports/html/bugReports.html
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/BugReports/html/bugReports.html	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/BugReports/html/bugReports.html	(revision 1208)
@@ -0,0 +1,53 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako, 24-Jul-1998 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+<A HREF="../../../Overview/html/index.html">
+<IMG BORDER="0" SRC="../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></A>
+<IMG BORDER="0" SRC="../../../resources/html/IconsGIF/ContentsGR.gif" ALT="Contents">
+<IMG BORDER="0" SRC="../../../resources/html/IconsGIF/PreviousGR.gif" ALT="Previous">
+<IMG BORDER="0" SRC="../../../resources/html/IconsGIF/NextGR.gif" ALT="Next">
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Documents</B>
+<BR>
+<B>Contributions from Users</B>
+</FONT>
+</TD>
+</TR></TABLE>
+
+<BR><BR><BR>
+<P ALIGN="Center">
+<FONT SIZE="+4" COLOR="#238E23">
+<B>Bug Reports and Fixes</B>
+</FONT>
+
+<BR><BR>
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+<!-- ============================================== Section --> 
+
+<BR><BR><BR>
+<P ALIGN="CENTER">
+<IMG SRC="../../../resources/html/IconsGIF/Construction.gif">
+</P>
+
+
+
+
+<BR><BR><BR><BR><BR><BR><BR>
+<HR>
+<A HREF="../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+
+
+
+
+
Index: /trunk/documents/UserDoc/ContributionFromUsers/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/CVS/Entries	(revision 1208)
@@ -0,0 +1,4 @@
+D/BugReports////
+D/FAQ////
+D/UsefulExamples////
+D/UsefulNotes////
Index: /trunk/documents/UserDoc/ContributionFromUsers/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/ContributionFromUsers
Index: /trunk/documents/UserDoc/ContributionFromUsers/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/ContributionFromUsers/FAQ/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/FAQ/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/FAQ/CVS/Entries	(revision 1208)
@@ -0,0 +1,1 @@
+D/html////
Index: /trunk/documents/UserDoc/ContributionFromUsers/FAQ/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/FAQ/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/FAQ/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/ContributionFromUsers/FAQ
Index: /trunk/documents/UserDoc/ContributionFromUsers/FAQ/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/FAQ/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/FAQ/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/ContributionFromUsers/FAQ/html/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/FAQ/html/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/FAQ/html/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/faq.html/1.1/Tue Sep 29 13:45:57 1998//
+D
Index: /trunk/documents/UserDoc/ContributionFromUsers/FAQ/html/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/FAQ/html/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/FAQ/html/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/ContributionFromUsers/FAQ/html
Index: /trunk/documents/UserDoc/ContributionFromUsers/FAQ/html/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/FAQ/html/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/FAQ/html/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/ContributionFromUsers/FAQ/html/faq.html
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/FAQ/html/faq.html	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/FAQ/html/faq.html	(revision 1208)
@@ -0,0 +1,52 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako, 24-Jul-1998 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+<A HREF="../../../Overview/html/index.html">
+<IMG BORDER="0" SRC="../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></A>
+<IMG BORDER="0" SRC="../../../resources/html/IconsGIF/ContentsGR.gif" ALT="Contents">
+<IMG BORDER="0" SRC="../../../resources/html/IconsGIF/PreviousGR.gif" ALT="Previous">
+<IMG BORDER="0" SRC="../../../resources/html/IconsGIF/NextGR.gif" ALT="Next">
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Documents</B>
+<BR>
+<B>Contributions from Users</B>
+</FONT>
+</TD>
+</TR></TABLE>
+
+<BR><BR><BR>
+<P ALIGN="Center">
+<FONT SIZE="+4" COLOR="#238E23">
+<B>Frequently Asked Questions</B>
+</FONT>
+
+<BR><BR>
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+<!-- ============================================== Section --> 
+
+
+<BR><BR><BR>
+<P ALIGN="CENTER">
+<IMG SRC="../../../resources/html/IconsGIF/Construction.gif">
+</P>
+
+
+
+<BR><BR><BR><BR><BR><BR><BR>
+<HR>
+<A HREF="../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+
+
+
+
Index: /trunk/documents/UserDoc/ContributionFromUsers/UsefulExamples/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/UsefulExamples/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/UsefulExamples/CVS/Entries	(revision 1208)
@@ -0,0 +1,1 @@
+D/html////
Index: /trunk/documents/UserDoc/ContributionFromUsers/UsefulExamples/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/UsefulExamples/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/UsefulExamples/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/ContributionFromUsers/UsefulExamples
Index: /trunk/documents/UserDoc/ContributionFromUsers/UsefulExamples/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/UsefulExamples/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/UsefulExamples/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/ContributionFromUsers/UsefulExamples/html/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/UsefulExamples/html/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/UsefulExamples/html/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/usefulExamples.html/1.1/Tue Sep 29 13:45:57 1998//
+D
Index: /trunk/documents/UserDoc/ContributionFromUsers/UsefulExamples/html/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/UsefulExamples/html/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/UsefulExamples/html/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/ContributionFromUsers/UsefulExamples/html
Index: /trunk/documents/UserDoc/ContributionFromUsers/UsefulExamples/html/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/UsefulExamples/html/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/UsefulExamples/html/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/ContributionFromUsers/UsefulExamples/html/usefulExamples.html
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/UsefulExamples/html/usefulExamples.html	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/UsefulExamples/html/usefulExamples.html	(revision 1208)
@@ -0,0 +1,53 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako,  9-Jul-1998 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+<A HREF="../../../Overview/html/index.html">
+<IMG BORDER="0" SRC="../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></A>
+<IMG BORDER="0" SRC="../../../resources/html/IconsGIF/ContentsGR.gif" ALT="Contents">
+<IMG BORDER="0" SRC="../../../resources/html/IconsGIF/PreviousGR.gif" ALT="Previous">
+<IMG BORDER="0" SRC="../../../resources/html/IconsGIF/NextGR.gif" ALT="Next">
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Documents</B>
+<BR>
+<B>Contributions from Users</B>
+</FONT>
+</TD>
+</TR></TABLE>
+
+<BR><BR><BR>
+<P ALIGN="Center">
+<FONT SIZE="+4" COLOR="#238E23">
+<B>Selected Useful Examples from Users</B>
+</FONT>
+
+<BR><BR>
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+<!-- ============================================== Section --> 
+
+<BR><BR><BR>
+<P ALIGN="CENTER">
+<IMG SRC="../../../resources/html/IconsGIF/Construction.gif">
+</P>
+
+
+
+
+
+<BR><BR><BR><BR><BR><BR><BR>
+<HR>
+<A HREF="../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+
+
+
+
Index: /trunk/documents/UserDoc/ContributionFromUsers/UsefulNotes/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/UsefulNotes/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/UsefulNotes/CVS/Entries	(revision 1208)
@@ -0,0 +1,1 @@
+D/html////
Index: /trunk/documents/UserDoc/ContributionFromUsers/UsefulNotes/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/UsefulNotes/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/UsefulNotes/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/ContributionFromUsers/UsefulNotes
Index: /trunk/documents/UserDoc/ContributionFromUsers/UsefulNotes/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/UsefulNotes/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/UsefulNotes/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/ContributionFromUsers/UsefulNotes/html/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/UsefulNotes/html/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/UsefulNotes/html/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/usefulNotes.html/1.1/Tue Sep 29 13:45:58 1998//
+D
Index: /trunk/documents/UserDoc/ContributionFromUsers/UsefulNotes/html/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/UsefulNotes/html/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/UsefulNotes/html/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/ContributionFromUsers/UsefulNotes/html
Index: /trunk/documents/UserDoc/ContributionFromUsers/UsefulNotes/html/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/UsefulNotes/html/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/UsefulNotes/html/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/ContributionFromUsers/UsefulNotes/html/usefulNotes.html
===================================================================
--- /trunk/documents/UserDoc/ContributionFromUsers/UsefulNotes/html/usefulNotes.html	(revision 1208)
+++ /trunk/documents/UserDoc/ContributionFromUsers/UsefulNotes/html/usefulNotes.html	(revision 1208)
@@ -0,0 +1,50 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako,  9-Jul-1998 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+<A HREF="../../../Overview/html/index.html">
+<IMG BORDER="0" SRC="../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></A>
+<IMG BORDER="0" SRC="../../../resources/html/IconsGIF/ContentsGR.gif" ALT="Contents">
+<IMG BORDER="0" SRC="../../../resources/html/IconsGIF/PreviousGR.gif" ALT="Previous">
+<IMG BORDER="0" SRC="../../../resources/html/IconsGIF/NextGR.gif" ALT="Next">
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Documents</B>
+<BR>
+<B>Contributions from Users</B>
+</FONT>
+</TD>
+</TR></TABLE>
+
+<BR><BR><BR>
+<P ALIGN="Center">
+<FONT SIZE="+4" COLOR="#238E23">
+<B>Selected Useful Notes from Users</B>
+</FONT>
+
+<BR><BR>
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+<!-- ============================================== Section --> 
+
+<BR><BR><BR>
+<P ALIGN="CENTER">
+<IMG SRC="../../../resources/html/IconsGIF/Construction.gif">
+</P>
+
+<BR><BR><BR><BR><BR><BR><BR>
+<HR>
+<A HREF="../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+
+
+
+
+
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ChangesHistory/ChangesHistory.html
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ChangesHistory/ChangesHistory.html	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ChangesHistory/ChangesHistory.html	(revision 1208)
@@ -15,4 +15,38 @@
 
 <br /><br /><br /><br />
+
+<!-- ============================================== Section --> 
+<HR ALIGN="Center">
+<font COLOR="#238E23">
+<h2>Version: Geant4 9.2 Revison01 (June 2009) </h2>
+</font>
+<HR ALIGN="Center">
+<br />
+
+<p>
+<b><u>User's Guide: For Application Developers</u></b>
+</p>
+<ul>
+<b>- Modified Chapters/Sections</b>
+  <ul>
+    <li>8.5.6.  Visualization of hits
+    <li>5.4.7.  Special tracking cuts 
+    <li>FAQ.6.  Visualization        
+  </ul>
+</ul>
+
+<p>
+<b><u>User's Guide: For Toolkit Developers</u></b>
+</p>
+<ul>
+<b>- Modified Chapters/Sections</b>
+  <ul>
+    <li><b>All</b> figures in the manual are replaced with
+        higher resolution ones.
+  </ul>
+</ul>
+
+
+
 
 <!-- ============================================== Section --> 
Index: /trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/BookFAQ.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/BookFAQ.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/BookFAQ.xml	(revision 1208)
@@ -31,6 +31,6 @@
   </authorgroup>
 
-  <pubdate>19 December, 2008</pubdate>
-  <releaseinfo>Version: geant4 9.2</releaseinfo>
+  <pubdate>2 June, 2009</pubdate>
+  <releaseinfo>Version: geant4 9.2 Revision01</releaseinfo>
 
 </bookinfo>
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/buildFile.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/buildFile.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/buildFile.xml	(revision 1208)
@@ -75,5 +75,5 @@
    <listitem><para>
      <ulink url="http://www.lcsim.org/docs/gettingstarted/geant4msvc++/net2005/index.htm">
-     Building a MSVC++ Visual Studio 2005 Geant4 project</ulink>.
+     Building a MSVC++ Visual Studio 2005 Geant4 project</ulink> (setup no longer supported).
    </para></listitem>
 </itemizedlist>
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/developmentDebugTools.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/developmentDebugTools.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/developmentDebugTools.xml	(revision 1208)
@@ -69,20 +69,14 @@
   </para></listitem>
   <listitem><para>
-    <ulink url="http://www.ibm.com/software/rational/">
-    Rational Rose 
+    <ulink url="http://www.sparxsystems.com.au/products/ea/">
+    Enterprise Architect 
     </ulink>
-    CASE tool.
+    UML Visual Modeling tool.
   </para></listitem>
   <listitem><para>
     <ulink url="http://www.borland.com/us/products/together/index.html">
-    Together ControlCenter 
+    Borland Together
     </ulink>
-    development environment.
-  </para></listitem>
-  <listitem><para>
-    <ulink url="http://www.telelogic.com/products/logiscope/index.cfm">
-    Logiscope 
-    </ulink>
-    tool for metrics analysis.
+    Visual Modeling for Software Architecture Design tool.
   </para></listitem>
 </itemizedlist>
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/histogramming.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/histogramming.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/histogramming.xml	(revision 1208)
@@ -17,5 +17,6 @@
 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 
+histograms on some of the distributed examples should be compliant
+with the 
 <ulink url="http://aida.freehep.org/">
 AIDA
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/makeFile.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/makeFile.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/makeFile.xml	(revision 1208)
@@ -62,6 +62,6 @@
 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
+the one you're interested in and invoke the "<literal>make</literal>"
+command from there ("<literal>make 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:
@@ -69,5 +69,5 @@
 <itemizedlist spacing="compact">
   <listitem><para>
-    <literal>gmake</literal>
+    <literal>make</literal>
     <para>
     starts the compilation process for building a kernel library or a
@@ -84,8 +84,8 @@
   </para></listitem>
   <listitem><para>
-    <literal>gmake global</literal>
+    <literal>make global</literal>
     <para>
     starts the compilation process to build a single compound kernel
-    library per category. If issued after "gmake", both 'granular' and
+    library per category. If issued after "make", both 'granular' and
     'compound' libraries will be available (NOTE: this will
     consistently increase the disk space required. Compound libraries
@@ -95,5 +95,5 @@
   </para></listitem>
   <listitem><para>
-    <literal>gmake bin</literal> or <literal>gmake</literal> (only for
+    <literal>make bin</literal> or <literal>make</literal> (only for
     examples/)
     <para>
@@ -214,5 +214,5 @@
     </term>
     <listitem>
-      Defines the path where the Geant4 toolkit should be installed. It
+      Defines the path where the Geant4 toolkit is located. It
       should be set by the system installer. By default, it sets to
       <literal>$HOME/geant4</literal>, assuming the Geant4 distribution 
@@ -281,5 +281,5 @@
     </term>
     <listitem>
-      Used by the system to specify the place where to store libraries.
+      Used by the system to specify the place where to install libraries.
       By default they're set to <literal>$G4INSTALL/lib</literal> and
       <literal>$G4LIB/$G4SYSTEM</literal> respectively. 
@@ -310,20 +310,4 @@
   <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>
@@ -337,4 +321,14 @@
   <varlistentry>
     <term>
+      $G4OPTDEBUG
+    </term>
+    <listitem>
+      Only available for the <literal>g++</literal> compiler, specifies to
+      compile the code (libraries or examples) in optimised mode, but
+      including symbolic information in the object code for debugging.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
       $G4NO_OPTIMISE
     </term>
@@ -342,14 +336,4 @@
       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>
@@ -792,4 +776,6 @@
       the built-in system library for compression is adopted instead. Setting
       this flag will also implicitely set the flag below.
+      On Windows systems, if OpenGL or OpenInventor visualization drivers
+      are built, this module is automatically built.
     </listitem>
   </varlistentry>
@@ -897,4 +883,13 @@
     <listitem>
       Path to nuclear shell effects data set for INCL/ABLA hadronic model.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4REALSURFACEDATA
+    </term>
+    <listitem>
+      Path to the data set for measured optical surface reflectance for
+      precise optical physics.
     </listitem>
   </varlistentry>
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/tipsCompilation.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/tipsCompilation.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/tipsCompilation.xml	(revision 1208)
@@ -29,12 +29,5 @@
 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).
+applies to.
 </para>
 
@@ -43,46 +36,6 @@
 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.
+$G4WORKDIR), in order not to alter the installation area.
 </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) ****************** -->
@@ -104,5 +57,7 @@
 compiler flags), also code is compiled with high verbosity
 diagnostics (<literal>-Wall</literal> flag). The default optimisation level
-is <literal>-O2</literal>.
+is <literal>-O2</literal>. The flag <literal>G4OPTDEBUG</literal>, if set
+in the environment, allows for optimised build of the libraries but
+including debug symbols (<literal>-O -g</literal> compilation option).
 </para>
 
@@ -173,5 +128,5 @@
 <para>
 The setup adopted for the <literal>g++</literal> compiler on MacOS
-resembles in great part the one for Linux systems.
+resembles in most parts the one for Linux systems.
 </para>
 
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/BookForAppliDev.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/BookForAppliDev.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/BookForAppliDev.xml	(revision 1208)
@@ -31,6 +31,6 @@
   </authorgroup>
 
-  <pubdate>19 December, 2008</pubdate>
-  <releaseinfo>Version: geant4 9.2</releaseinfo>
+  <pubdate>2 June, 2009</pubdate>
+  <releaseinfo>Version: geant4 9.2 Revision01</releaseinfo>
 
 </bookinfo>
@@ -50,4 +50,3 @@
 &appendix;
 &bibliography;
-
 </book>
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/CVS/Entries	(revision 1208)
@@ -0,0 +1,26 @@
+/ChapDetector.xml/1.2/Thu Dec 13 09:57:38 2007//
+/ChapDetectorEntityDef.dtd/1.3/Fri Nov 28 15:18:59 2008//
+/commandScore.xml/1.3/Thu Dec 13 09:57:38 2007//
+/digitization.xml/1.1/Fri Apr 20 14:45:42 2007//
+/electroMagneticField.xml/1.2/Mon May  7 08:12:54 2007//
+/geomASCII.xml/1.2/Tue Dec  9 20:47:46 2008//
+/geomDynamic.xml/1.1/Fri Apr 20 14:45:42 2007//
+/geomG3toG4.xml/1.2/Fri Nov 28 15:18:59 2008//
+/geomIntro.xml/1.2/Wed Dec  5 10:51:18 2007//
+/geomLogical.xml/1.2/Fri Nov 28 15:18:59 2008//
+/geomNav.xml/1.7/Fri Nov 28 15:18:59 2008//
+/geomPersistency.xml/1.1/Wed Dec  5 11:28:41 2007//
+/geomPhysical.xml/1.1/Fri Apr 20 14:45:42 2007//
+/geomReflection.xml/1.1/Fri Apr 20 14:45:43 2007//
+/geomSolids.xml/1.10/Fri Nov 28 15:18:59 2008//
+/geomTouch.xml/1.1/Fri Apr 20 14:45:43 2007//
+/geomXML.xml/1.4/Fri Nov 28 15:18:59 2008//
+/geometry.xml/1.3/Fri Nov 28 15:18:59 2008//
+/material.xml/1.3/Wed Dec  5 17:23:59 2007//
+/parallelWorld.xml/1.2/Fri Nov 28 15:18:59 2008//
+/geomAssembly.xml/1.3/Mon Nov 30 13:46:14 2009//
+/geomEditor.xml/1.3/Mon Nov 30 13:46:14 2009//
+/geomOverlap.xml/1.3/Mon Nov 30 13:46:14 2009//
+/hit.xml/1.3/Mon Nov 30 13:46:14 2009//
+/persistency.xml/1.4/Mon Nov 30 13:46:14 2009//
+D
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/ChapDetector.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/ChapDetector.xml	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/ChapDetector.xml	(revision 1208)
@@ -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/Detector/ChapDetectorEntityDef.dtd
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/ChapDetectorEntityDef.dtd	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/ChapDetectorEntityDef.dtd	(revision 1208)
@@ -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/Detector/commandScore.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/commandScore.xml	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/commandScore.xml	(revision 1208)
@@ -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/Detector/digitization.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/digitization.xml	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/digitization.xml	(revision 1208)
@@ -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/Detector/electroMagneticField.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/electroMagneticField.xml	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/electroMagneticField.xml	(revision 1208)
@@ -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/Detector/geomASCII.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomASCII.xml	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomASCII.xml	(revision 1208)
@@ -0,0 +1,36 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [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>. The example also covers
+the case of associating a sensitive detector to one of the volumes defined
+in the text geometry, the case of mixing C++ and text geometry definitions
+and the case of defining new tags in the text format so that regions and
+cuts by region can be defined in the text file. It also provides an example
+of how to write a geometry text file from the in-memory Geant4 geometry.
+
+For the details on the format see the dedicated
+<ulink url="http://geant4.cern.ch/collaboration/working_groups/geometry/docs/textgeom/textgeom.pdf">manual</ulink>.
+</para>
+
+
+</sect2>
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomAssembly.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomAssembly.xml	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomAssembly.xml	(revision 1208)
@@ -0,0 +1,293 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [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;
+   G4Transform3D Tr;
+
+   // 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. );
+   Tr = G4Transform3D(Ra,Ta);
+   assemblyDetector-&gt;AddPlacedVolume( plateLV, Tr );
+
+   Ta.setX( -1*caloX/4. ); Ta.setY( caloY/4. ); Ta.setZ( 0. );
+   Tr = G4Transform3D(Ra,Ta);
+   assemblyDetector-&gt;AddPlacedVolume( plateLV, Tr );
+
+   Ta.setX( -1*caloX/4. ); Ta.setY( -1*caloY/4. ); Ta.setZ( 0. );
+   Tr = G4Transform3D(Ra,Ta);
+   assemblyDetector-&gt;AddPlacedVolume( plateLV, Tr );
+
+   Ta.setX( caloX/4. ); Ta.setY( -1*caloY/4. ); Ta.setZ( 0. );
+   Tr = G4Transform3D(Ra,Ta);
+   assemblyDetector-&gt;AddPlacedVolume( plateLV, Tr );
+
+   // 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 );
+     Tr = G4Transform3D(Rm,Tm);
+     assemblyDetector-&gt;MakeImprint( worldLV, Tr );
+   }
+}
+</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/Detector/geomDynamic.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomDynamic.xml	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomDynamic.xml	(revision 1208)
@@ -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/Detector/geomEditor.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomEditor.xml	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomEditor.xml	(revision 1208)
@@ -0,0 +1,299 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [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 acronym for Geant4 Graphical Geometry Editor.  GGE aims to assist
+physicists who have a little knowledge on C++ and the Geant4
+toolkit to construct his or her own detector geometry. In essence, GGE is made up of
+a set of tables which can contain all relevant parameters to construct 
+a simple detector geometry. Tables for scratch or compound materials, tables for logical 
+and physical volumes are provided. From the values in the tables, C++ source codes are automatically
+generated.
+</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, DAWN
+  </para></listitem>
+  <listitem><para>
+    keep the detector object in a persistent way, either in GDML format (currently only logical volumes are supported) or Java serialized format.
+  </para></listitem>
+  <listitem><para>
+    produce corresponding C++ codes after the norm of Geant4 toolkit
+  </para></listitem>
+  <listitem><para>
+    make a Geant4 executable, in collaboration with another component of MOMO, i.e., GPE, or Geant4 Physics Editor.
+  </para></listitem>
+</orderedlist>
+</para>
+
+<para>
+GGE can be found in the standard
+Geant4 distribution under the <literal>$G4INSTALL/environments/MOMO/MOMO.jar</literal>. 
+JRE (Java Run-time Environment) is prerequisite to run MOMO.jar, Java archive file of MOMO. 
+MOMO contains GGE, GPE, GAG and other helper tools. Further information is available from the
+Web pages below. 
+</para>
+<para>
+MOMO = GGE + GPE + GAG: 
+<ulink url="http://www-geant4.kek.jp/~yoshidah">
+http://www-geant4.kek.jp/~yoshidah
+</ulink>
+</para>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Edit.Mate">
+<title>
+Materials: elements and mixtures
+</title>
+
+<para>
+GGE provides the database of elements in the form of the periodic
+table, from which users can select element(s) to construct new materials. 
+They can be loaded, used, edited and saved as Java persistent
+objects or in a GDML file. In <literal>$G4INSTALL/enviroments/MOMO</literal>,
+a pre-constructed database of materials taken from the PDG book, <literal>PDG.xml</literal>
+is present.
+</para>
+
+<para>
+Users can also create new materials either from scratch or by
+combining other materials.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    By selecting an element in the periodic table, default values as shown below are copied to a row in the table. 
+    <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>
+    <emphasis role="bold">Use</emphasis> marks the used materials.
+	Only the elements and materials used in the logical volumes are
+    kept in the detector object and are used to generate C++
+    constructors. 
+    </para>
+  </para></listitem>
+  <listitem><para>
+    By selecting multiple elements in the periodic table, a material from a combination of
+    elements is assigned to a row of the compound material table. The minimum actions user 
+    have to do is to give a name to the
+    material and define its density.
+    <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 its fraction by weight
+      </para></listitem>
+      <listitem><para>
+        Add an element, giving its 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. All relevant parameters of such a
+solid can be specified in the parameter table, which pops up upon selection.
+</para>
+
+<para>
+Color, or the visualization attribute of a logical volume can be created, 
+using color chooser panel.
+Users can 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 lists of solid types, names of the materials defined in the material tables, and 
+names of user-defined visualization attributes are shown automatically in respective table cell for user's choices.
+</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>
+Geant4 enables users to create a physical volume in different ways; the mother volume
+can be either a logical or a physical one, spatial rotation can be either 
+with respect to the volume or to the frame to which the volume is attached. GGE is prepared for
+such four combinatorial cases to construct a physical volume. 
+</para>
+<para>
+Five simple cases of creating physical volumes are supported by GGE.
+Primo, a single copy of a physical volume can be created by a translation and rotation. Secondo, repeated copies can be created by repeated linear translations. 
+A logical volume is  translated in a Cartesian direction, starting from the initial position, 
+with a given step size. 
+Mother volume can be either
+another logical volume or a physical volume.
+
+
+<informaltable>
+<tgroup cols="9">
+<tbody>
+<row>
+  <entry>Name</entry>
+  <entry>LogicalVolume</entry>
+  <entry>Type and name of 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>
+Third, repeated copies are created by rotation around an axis, placing an
+object repeatedly on a ``cylindrical'' pattern. 
+Fourth,  replicas are created by slicing a volume along a Cartesian direction.
+Fifth, replicas are created by cutting a volume cylindrically.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Edit.GeneCode">
+<title>
+Generation of C++ code: 
+</title>
+
+<para>
+User has to type in a class name  to his
+geometry, for example, <literal>MyDetectorConstruction</literal>. Then, with a mouse button click, 
+source codes in the form of an
+include file and a source file are created and shown in the editor panel. In this example, they are
+<literal>MyDetectorConstruction.cc</literal> and <literal>MyDetectorConstruction.hh</literal> files. 
+They reflect all current user modifications in the tables in real-time.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Edit.Vis">
+<title>
+Visualization
+</title>
+
+<para>
+The whole geometry can be visualized 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.) MOMO provides Physics Editor to create standard electromagnetic physics
+and a minimum main program. See the on-line document in MOMO.
+</para>
+
+
+</sect3>
+</sect2>
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomG3toG4.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomG3toG4.xml	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomG3toG4.xml	(revision 1208)
@@ -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/Detector/geomIntro.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomIntro.xml	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomIntro.xml	(revision 1208)
@@ -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/Detector/geomLogical.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomLogical.xml	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomLogical.xml	(revision 1208)
@@ -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/Detector/geomNav.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomNav.xml	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomNav.xml	(revision 1208)
@@ -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/Detector/geomOverlap.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomOverlap.xml	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomOverlap.xml	(revision 1208)
@@ -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.jpg" 
+               format="JPG" contentwidth="10.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/Detector/geometry.src/geomtest.jpg" 
+               format="JPG" 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.jpg" 
+               format="JPG" contentwidth="3.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/Detector/geometry.src/DAVID_SAMPLE.jpg"
+               format="JPG" 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/Detector/geomPersistency.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomPersistency.xml	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomPersistency.xml	(revision 1208)
@@ -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/Detector/geomPhysical.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomPhysical.xml	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomPhysical.xml	(revision 1208)
@@ -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/Detector/geomReflection.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomReflection.xml	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomReflection.xml	(revision 1208)
@@ -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/Detector/geomSolids.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomSolids.xml	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomSolids.xml	(revision 1208)
@@ -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/Detector/geomTouch.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomTouch.xml	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomTouch.xml	(revision 1208)
@@ -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/Detector/geomXML.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomXML.xml	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geomXML.xml	(revision 1208)
@@ -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/Detector/geometry.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geometry.xml	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/geometry.xml	(revision 1208)
@@ -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/Detector/hit.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/hit.xml	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/hit.xml	(revision 1208)
@@ -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.jpg"
+               format="JPG" contentwidth="10.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/Detector/hit.src/RO.jpg"
+               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/Detector/material.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/material.xml	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/material.xml	(revision 1208)
@@ -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/Detector/parallelWorld.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/parallelWorld.xml	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/parallelWorld.xml	(revision 1208)
@@ -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/Detector/persistency.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/persistency.xml	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/Detector/persistency.xml	(revision 1208)
@@ -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.jpg" 
+               format="JPG" contentwidth="7.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/Detector/persistency.src/pobject.jpg" 
+               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/FAQ/Faq.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/Faq.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/Faq.xml	(revision 1208)
@@ -28,5 +28,4 @@
 &faqUserSupportPolicy;
 
-
 </chapter>
 <!-- /appendix -->
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/geometry.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/geometry.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/geometry.xml	(revision 1208)
@@ -14,4 +14,5 @@
 
 <qandaset defaultlabel="qanda">
+
 
 <!-- ******* QandA Entry ******** -->
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/installation.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/installation.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/installation.xml	(revision 1208)
@@ -14,4 +14,5 @@
 
 <qandaset defaultlabel="qanda">
+
 
 <!-- ******* QandA Entry ******** -->
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/physicsAndCuts.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/physicsAndCuts.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/physicsAndCuts.xml	(revision 1208)
@@ -14,4 +14,5 @@
 
 <qandaset defaultlabel="qanda">
+
 
 <!-- ******* QandA Entry ******** -->
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/runTimeProblems.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/runTimeProblems.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/runTimeProblems.xml	(revision 1208)
@@ -14,4 +14,5 @@
 
 <qandaset defaultlabel="qanda">
+
 
 <!-- ******* QandA Entry ******** -->
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/tracksAndSteps.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/tracksAndSteps.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/tracksAndSteps.xml	(revision 1208)
@@ -14,4 +14,5 @@
 
 <qandaset defaultlabel="qanda">
+
 
 <!-- ******* QandA Entry ******** -->
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/userSupportPolicy.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/userSupportPolicy.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/userSupportPolicy.xml	(revision 1208)
@@ -14,4 +14,5 @@
 
 <qandaset defaultlabel="qanda">
+
 
 <!-- ******* QandA Entry ******** -->
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/visualization.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/visualization.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/visualization.xml	(revision 1208)
@@ -14,4 +14,5 @@
 
 <qandaset defaultlabel="qanda">
+
 
 <!-- ******* QandA Entry ******** -->
@@ -36,4 +37,5 @@
       if set.
     </para></listitem>
+    <listitem><para>
       Verify and eventually set the environment variables of the 
       visualization module [name] concerned (setenv or export both 
@@ -56,4 +58,5 @@
       gmake
       </programlisting></informalexample>
+    </para></listitem>
   </itemizedlist>
 
@@ -63,4 +66,28 @@
 
 
+<!-- ******* QandA Entry ******** -->
+<qandaentry  id="qanda.Vis.BooleanProc">
+
+<question><para>
+  While visualizing my geometry setup I often see the following error 
+  message printed out:
+
+  <informalexample><programlisting>
+  BooleanProcessor: boolean operation failed . 
+  </programlisting></informalexample>
+</para></question>
+
+<answer><para>
+  There is a known limitation for the visualization of Boolean solids 
+  in the so-called BooleanProcessor which is used to make polyhedra 
+  for visualisation. It does not affect the tracking which is done 
+  through such solids. So the error message you see does not affect 
+  the simulation in any way. The workaround is to move one of the 
+  affected solids by a small distance in order to avoid shared surfaces.
+</para></answer>
+
+</qandaentry>
+
+
 </qandaset>
 </section>
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/particleDef.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/particleDef.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/particleDef.xml	(revision 1208)
@@ -9,4 +9,5 @@
 <!--    Changed by: Hisaya Kurashige, 18-Jan-2007             -->
 <!--    Changed by: Hisaya Kurashige, 1-Dec-2007              -->
+<!--    modified 2.4.2 by: Hisaya Kurashige, 23-Nov-2009      -->
 <!--                                                          -->
 <!-- ******************************************************** -->
@@ -161,5 +162,5 @@
 <para>
 The unique object for each particle class is created when its static 
-method to get the pointer is called iat the first time.
+method to get the pointer is called at the first time.
 Because particles are dynamic objects and should be instantiated before 
 initialization of physics processes, 
@@ -343,4 +344,23 @@
 takes care of this sequence in usual applications.
 </para>
+<para> 
+This range cut value is converted threshold energies 
+for each material and for each particle type (i.e. electron,
+positron and gamma) 
+so that the particle with threshold energy stops (or is absorbed) 
+after traveling the range cut distance.   
+In addition, from the 9.3 release ,this range cut value is applied 
+to the proton as production thresholds of nuclei for  hadron 
+elastic processes. In this case, the range cut value does not means 
+the distance of traveling. Threshold energies are calculated 
+by a simple formula from the cut in range. 
+</para>
+
+<para>
+Note that the upper limit of the threshold energy is defined as 10
+GeV. If you want to set higher threshold energy, you can change 
+the limit by using "/cuts/setMaxCutEnergy" command before setting
+the range cut.
+</para>
 
 <para>
@@ -349,9 +369,9 @@
 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
+electrons and positrons alike. (and proton too)
+</para>
+
+<para>
+In such 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
@@ -403,7 +423,13 @@
 <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.
+<literal>G4VUserPhysicsList</literal> may also be used, 
+and the "/run/setCut" command may be used 
+to change the default cut value interactively.
+</para>
+
+<para>
+You can set different cut values in range for different 
+particle types. The "/run/setCutForAGivenParticle"  command 
+may be used interactively.
 </para>
 
@@ -429,4 +455,5 @@
   SetCutValue(cutForElectron, "e-");
   SetCutValue(cutForElectron, "e+");
+  SetCutValue(cutForProton,   "proton");
 }
 </programlisting>
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/physicsProcess.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/physicsProcess.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/physicsProcess.xml	(revision 1208)
@@ -2410,4 +2410,33 @@
 </para>
 
+<para>
+Branching ratios and life time can be set in tracking time.
+<informalexample>
+<programlisting>
+  // set lifetime 
+  G4Neutron::Neutron()->SetPDGLifeTime(885.7*second);
+  // allow neutron decay
+  G4Neutron::Neutron()->SetPDGStable(false);
+</programlisting>
+</informalexample>
+
+Branching ratios and life time can be modified by using user commands, also.
+  <listitem><para>
+    <emphasis role="bold">Example: 
+    Set 100% br for dalitz decay of pi0</emphasis>
+    <para>
+    <literal>Idle&gt;> /particle/select pi0</literal>
+    <literal>Idle&gt;> /particle/property/decay/select 0</literal>
+    <literal>Idle> /particle/property/decay/br 0</literal>
+    <literal>Idle> /particle/property/decay/select 1</literal>
+    <literal>Idle> /particle/property/decay/br 1</literal>
+    <literal>Idle> /particle/property/decay/dump</literal>
+    <literal>G4DecayTable:  pi0</literal>
+    <literal>0:  BR:  0  [Phase Space]   :   gamma gamma</literal>
+    <literal>1:  BR:  1  [Dalitz Decay]   :   gamma e- e+</literal>
+    </para>
+  </para></listitem>
+</para>
+
 </sect3>
 
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/thresholdVScut.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/thresholdVScut.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/thresholdVScut.xml	(revision 1208)
@@ -310,4 +310,15 @@
     </programlisting>
     </informalexample>
+    and in <literal>PhysicsList</literal>, the process 
+    <literal>G4StepLimiter</literal> needs to be attached to each
+    particle's process manager where step limitation in the Tracker region
+    is required:
+    <informalexample>
+    <programlisting>
+       // Step limitation seen as a process
+       G4StepLimiter* stepLimiter = new G4StepLimiter();
+       pmanager-&gt;AddDiscreteProcess(StepLimiter);
+    </programlisting>
+    </informalexample>
     </para>
     <para>
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/tracking.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/tracking.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/tracking.xml	(revision 1208)
@@ -9,4 +9,5 @@
 <!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
 <!--    Changed by: Hisaya Kurashige, 01-Dec-2007             -->
+<!--    Changed by: Hisaya Kurashige, 18-Nov-2009             -->
 <!--                                                          -->
 <!-- ******************************************************** -->
@@ -56,12 +57,15 @@
 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.
+<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>
+    If the particle stop (i.e. zero kinetic energy), each active atRest
+    process proposes a step length in time based on the interaction 
+    it describes. And the process proposing the smallest step length 
+    will be invoked.
+  </para></listitem>
+
   <listitem><para>
     Each active discrete or continuous process must propose a step
@@ -69,4 +73,5 @@
     step lengths is taken.
   </para></listitem>
+
   <listitem><para>
     The geometry navigator calculates "Safety", the distance to the
@@ -76,4 +81,5 @@
     geometrical calculations will be performed.
   </para></listitem>
+
   <listitem><para>
     If the minimum physical-step-length from the processes is
@@ -81,8 +87,10 @@
     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
@@ -91,71 +99,120 @@
     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:
-
+    processes are invoked. In the same time, the secondary 
+    particles created by processes are stored in SecondaryList. 
+    The updated properties are:
     <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
+        that 'sumEnergyChange' is the sum of the energy difference 
+         before and after each process invocation) 
       </para></listitem>
       <listitem><para>
-        updating position and time.
+        updating position and time
+      </para></listitem>
+     </itemizedlist>    
+   </para></listitem>
+
+  <listitem><para>
+    The kinetic energy of the particle is checked to see whether 
+    or not  it has been terminated by a continuous process. 
+    If the kinetic energy goes down to zero, atRest processes 
+    will be applied at the next step if applicable. 
+  </para></listitem>
+
+  <listitem><para>
+    The discrete process is invoked. After the invocation,
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        the energy, position and time of the current track particle 
+        are updated, and
+      </para></listitem>
+      <listitem><para>
+        the secondaries are stored in SecondaryList. 
       </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 Process?
+</bridgehead>
+
+<para>
+Only processes can change information of <emphasis>G4Track</emphasis>
+and add secondary tracks via <literal>ParticleChange</literal>. 
+<emphasis>G4VProcess</emphasis> is a base class of all processes and
+it has 3 kinds of  <literal>DoIt</literal> and  
+<literal>GetPhysicalInteraction</literal> methods in order to
+describe interactions generically.
+If a user want to modify information of <emphasis>G4Track</emphasis>,
+he (or she) SHOULD create a special process for the purpose and 
+register the process to the particle.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+What is a Track?
+</bridgehead>
+
+<para>
+<emphasis>G4Track</emphasis> keeps 'current' information of the particle.
+(i.e. energy,momentum, position ,time and so on) and has 'static' 
+information (i.e. mass, charge, life and so on) also.  
+Note that <emphasis>G4Track</emphasis> keeps information at the beginning 
+of the step while the <literal>AlongStepDoIt</literal>s are being
+invoked for the step in progress.After finishing all 
+<literal>AlongStepDoIt</literal>s, <emphasis>G4Track</emphasis> 
+is updated.
+On the other hand, <emphasis>G4Track</emphasis> is
+updated after each invocation of a <literal>PostStepDoIt</literal>.
+</para>
+
 
 <!-- ******* Bridgehead ******* -->
@@ -176,17 +233,20 @@
 <!-- ******* 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>
+What is a ParticleChange?
+</bridgehead>
+
+<para>
+Processes do NOT change any information of <emphasis>G4Track</emphasis>
+directly in their <literal>DoIt</literal>. Instead, they proposes 
+changes as a result of interactions 
+by using <literal>ParticleChange</literal>.
+After each <literal>DoIt</literal>, <literal>ParticleChange</literal>
+updates <literal>PostStepPoint</literal> based on proposed changes. 
+Then, <emphasis>G4Track</emphasis> is updated 
+after finishing all <literal>AlongStepDoIt</literal>s and 
+after each <literal>PostStepDoIt</literal>.
+</para>
+
+
 
 </sect2>
@@ -459,5 +519,6 @@
 <para>
 Secondary particles are passed as <emphasis>G4Track</emphasis>s from a physics
-process to tracking. <emphasis>G4ParticleChange</emphasis> provides the following
+process to tracking. 
+<emphasis>G4ParticleChange</emphasis> provides the following
 four methods for a physics process:
 
@@ -481,5 +542,5 @@
 <para>
 In all but the first, the construction of <emphasis>G4Track</emphasis> is done in
-the methods using informaton given by the arguments.
+the methods using information given by the arguments.
 </para>
 
@@ -511,4 +572,11 @@
 kernel at specific points in the tracking. For details, see the
 <emphasis role="bold">Software Reference Manual</emphasis>.
+</para>
+
+<para>
+<emphasis role="bold">Note:</emphasis>
+Users SHOULD NOT (and CAN NOT) change <emphasis>G4Track</emphasis> 
+in  <literal>UserSteppingAction</literal>.
+Only the exception is the <literal>TrackStatus</literal>. 
 </para>
 
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/compiledcontrol.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/compiledcontrol.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/compiledcontrol.xml	(revision 1208)
@@ -6,4 +6,5 @@
 <!--    Changed by: Dennis Wright, 27-Nov-2001                -->
 <!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Corrected Get methods: Joseph Perl, 17-Mar-2009       -->
 <!--                                                          -->
 <!-- ******************************************************** -->
@@ -363,20 +364,20 @@
   void MyEventAction::EndOfEventAction()
   {
-    const G4Event* evt = fpEventManager-&gt;get_const_currentEvent();
-
-    G4SDManager * SDman = G4SDManager::get_SDMpointer();
+    const G4Event* evt = fpEventManager-&gt;GetConstCurrentEvent();
+
+    G4SDManager * SDman = G4SDManager::GetSDMpointer();
     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 trackerCollID = SDman-&gt;GetCollectionID(colNam="TrackerCollection");
+    G4int calorimeterCollID = SDman-&gt;GetCollectionID(colNam="CalCollection");
+
+    G4TrajectoryContainer * trajectoryContainer = evt-&gt;GetTrajectoryContainer();
     G4int n_trajectories = 0;
     if(trajectoryContainer)
     { n_trajectories = trajectoryContainer-&gt;entries(); }
 
-    G4HCofThisEvent * HCE = evt-&gt;get_HCofThisEvent();
+    G4HCofThisEvent * HCE = evt-&gt;GetHCofThisEvent();
     G4int n_hitCollection = 0;
     if(HCE)
-    { n_hitCollection = HCE-&gt;get_capacity(); }
+    { n_hitCollection = HCE-&gt;GetCapacity(); }
  
     G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
@@ -391,13 +392,13 @@
       for(G4int i=0; i &lt; n_trajectories; i++)
       { 
-          (*(evt-&gt;get_trajectoryContainer()))[i]-&gt;DrawTrajectory(); 
+          (*(evt-&gt;GetTrajectoryContainer()))[i]-&gt;DrawTrajectory(); 
       }
 
       // Construct 3D data for hits
       MyTrackerHitsCollection* THC 
-        = (MyTrackerHitsCollection*)(HCE-&gt;get_HC(trackerCollID));
+        = (MyTrackerHitsCollection*)(HCE-&gt;GetHC(trackerCollID));
       if(THC) THC-&gt;DrawAllHits();
       MyCalorimeterHitsCollection* CHC
-        = (MyCalorimeterHitsCollection*)(HCE-&gt;get_HC(calorimeterCollID));
+        = (MyCalorimeterHitsCollection*)(HCE-&gt;GetHC(calorimeterCollID));
       if(CHC) CHC-&gt;DrawAllHits();
 
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/enhanceddrawing.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/enhanceddrawing.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/enhanceddrawing.xml	(revision 1208)
@@ -81,5 +81,13 @@
       </entry>
       <entry>
-        0
+        2 pixels or mm*
+      </entry>
+    </row>
+    <row>
+      <entry>
+        Auxiliary point size type
+      </entry>
+      <entry>
+        screen
       </entry>
     </row>
@@ -129,5 +137,13 @@
       </entry>
       <entry>
-        0
+        2 pixels or mm*
+      </entry>
+    </row>
+    <row>
+      <entry>
+        Step point size type
+      </entry>
+      <entry>
+        screen
       </entry>
     </row>
@@ -167,4 +183,8 @@
   </tgroup>
 </informaltable>
+</para>
+
+<para>
+* Depending on size type.  If size type == screen, pixels are assumed and no unit need be supplied.  If size type == world, a unit must be supplied, e.g., 10 cm.
 </para>
 
@@ -176,5 +196,5 @@
     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.
+    will be removed in Geant4 v10.0.
   </para></listitem>
   <listitem><para>
@@ -581,44 +601,17 @@
 
 <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);
+To draw by time, you need to use G4RichTrajectory, for example:
+
+<informalexample>
+<programlisting>
+/vis/scene/add/trajectories rich
+</programlisting>
+</informalexample>
+
+or
+
+<informalexample>
+<programlisting>
+/vis/scene/add/trajectories rich smooth
 </programlisting>
 </informalexample>
@@ -648,5 +641,5 @@
 /vis/open OGLSX
 /vis/drawVolume
-/vis/scene/add/trajectories
+/vis/scene/add/trajectories rich
 /vis/ogl/set/startTime 0.5 ns
 /vis/ogl/set/endTime 0.8 ns
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/GuideToExtendFunctionality/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/GuideToExtendFunctionality/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/GuideToExtendFunctionality/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+D/HadronicPhysics////
+D/Visualization////
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/GuideToExtendFunctionality/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/GuideToExtendFunctionality/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/GuideToExtendFunctionality/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/GuideToExtendFunctionality
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/GuideToExtendFunctionality/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/GuideToExtendFunctionality/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/GuideToExtendFunctionality/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/GuideToExtendFunctionality/Visualization/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/GuideToExtendFunctionality/Visualization/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/GuideToExtendFunctionality/Visualization/CVS/Entries	(revision 1208)
@@ -0,0 +1,3 @@
+/visClassDiagram.jpg/1.2/Mon Nov 30 13:46:14 2009/-kb/
+/visClassDiagram.pdf/1.1/Tue Jun  2 02:27:42 2009//
+D
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/GuideToExtendFunctionality/Visualization/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/GuideToExtendFunctionality/Visualization/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/GuideToExtendFunctionality/Visualization/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/GuideToExtendFunctionality/Visualization
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/GuideToExtendFunctionality/Visualization/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/GuideToExtendFunctionality/Visualization/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/GuideToExtendFunctionality/Visualization/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/CVS/Entries	(revision 1208)
@@ -0,0 +1,10 @@
+D/ElectromagneticField////
+D/Event////
+D/Geometry////
+D/GlobalUsage////
+D/Hit////
+D/Materials////
+D/Particles////
+D/PhysicsProcesses////
+D/Tracking////
+D/UserInterface////
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/ElectromagneticField/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/ElectromagneticField/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/ElectromagneticField/CVS/Entries	(revision 1208)
@@ -0,0 +1,3 @@
+/field-prop.jpg/1.2/Mon Nov 30 13:46:14 2009/-kb/
+/field-prop.pdf/1.1/Tue Jun  2 02:27:42 2009//
+D
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/ElectromagneticField/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/ElectromagneticField/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/ElectromagneticField/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/ElectromagneticField
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/ElectromagneticField/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/ElectromagneticField/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/ElectromagneticField/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Event/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Event/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Event/CVS/Entries	(revision 1208)
@@ -0,0 +1,5 @@
+/classDgmEventGen.jpg/1.2/Mon Nov 30 13:46:14 2009/-kb/
+/classDgmEventGen.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/classDgmEventManager.jpg/1.2/Mon Nov 30 13:46:14 2009/-kb/
+/classDgmEventManager.pdf/1.1/Tue Jun  2 02:27:42 2009//
+D
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Event/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Event/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Event/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Event
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Event/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Event/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Event/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Geometry/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Geometry/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Geometry/CVS/Entries	(revision 1208)
@@ -0,0 +1,31 @@
+/boolean_solids.jpg/1.2/Mon Nov 30 13:46:14 2009/-kb/
+/boolean_solids.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/breps_curves.jpg/1.2/Mon Nov 30 13:46:15 2009/-kb/
+/breps_curves.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/breps_solids.jpg/1.2/Mon Nov 30 13:46:15 2009/-kb/
+/breps_solids.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/breps_surfaces.jpg/1.2/Mon Nov 30 13:46:15 2009/-kb/
+/breps_surfaces.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/csg_solids.jpg/1.2/Mon Nov 30 13:46:15 2009/-kb/
+/csg_solids.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/logical_volumes.jpg/1.2/Mon Nov 30 13:46:15 2009/-kb/
+/logical_volumes.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/navigator.jpg/1.2/Mon Nov 30 13:46:15 2009/-kb/
+/navigator.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/overall.jpg/1.2/Mon Nov 30 13:46:15 2009/-kb/
+/overall.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/physical_volumes.jpg/1.2/Mon Nov 30 13:46:15 2009/-kb/
+/physical_volumes.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/refcount-touch.jpg/1.2/Mon Nov 30 13:46:15 2009/-kb/
+/refcount-touch.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/reflections.jpg/1.2/Mon Nov 30 13:46:15 2009/-kb/
+/reflections.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/regions.jpg/1.2/Mon Nov 30 13:46:15 2009/-kb/
+/regions.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/smart_voxels.jpg/1.2/Mon Nov 30 13:46:15 2009/-kb/
+/smart_voxels.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/specific_solids.jpg/1.2/Mon Nov 30 13:46:15 2009/-kb/
+/specific_solids.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/touchables.jpg/1.2/Mon Nov 30 13:46:15 2009/-kb/
+/touchables.pdf/1.1/Tue Jun  2 02:27:42 2009//
+D
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Geometry/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Geometry/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Geometry/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Geometry
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Geometry/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Geometry/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Geometry/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/GlobalUsage/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/GlobalUsage/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/GlobalUsage/CVS/Entries	(revision 1208)
@@ -0,0 +1,11 @@
+/ObjDiagDist.jpg/1.2/Mon Nov 30 13:46:15 2009/-kb/
+/ObjDiagDist.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/ObjDiagEng.jpg/1.2/Mon Nov 30 13:46:15 2009/-kb/
+/ObjDiagEng.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/ObjDiagStat.jpg/1.2/Mon Nov 30 13:46:15 2009/-kb/
+/ObjDiagStat.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/architecture.jpg/1.2/Mon Nov 30 13:46:15 2009/-kb/
+/architecture.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/classDgmRandom.jpg/1.2/Mon Nov 30 13:46:15 2009/-kb/
+/classDgmRandom.pdf/1.1/Tue Jun  2 02:27:42 2009//
+D
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/GlobalUsage/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/GlobalUsage/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/GlobalUsage/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/GlobalUsage
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/GlobalUsage/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/GlobalUsage/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/GlobalUsage/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Hit/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Hit/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Hit/CVS/Entries	(revision 1208)
@@ -0,0 +1,7 @@
+/classDgmHitMain.jpg/1.2/Mon Nov 30 13:46:15 2009/-kb/
+/classDgmHitMain.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/classDgmHitUser.jpg/1.2/Mon Nov 30 13:46:15 2009/-kb/
+/classDgmHitUser.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/classDgmReadoutGeom.jpg/1.2/Mon Nov 30 13:46:15 2009/-kb/
+/classDgmReadoutGeom.pdf/1.1/Tue Jun  2 02:27:42 2009//
+D
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Hit/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Hit/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Hit/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Hit
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Hit/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Hit/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Hit/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Materials/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Materials/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Materials/CVS/Entries	(revision 1208)
@@ -0,0 +1,3 @@
+/classDgmMaterials.jpg/1.2/Mon Nov 30 13:46:15 2009/-kb/
+/classDgmMaterials.pdf/1.1/Tue Jun  2 02:27:42 2009//
+D
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Materials/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Materials/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Materials/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Materials
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Materials/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Materials/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Materials/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Particles/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Particles/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Particles/CVS/Entries	(revision 1208)
@@ -0,0 +1,11 @@
+/classDgmDecay.jpg/1.2/Mon Nov 30 13:46:15 2009/-kb/
+/classDgmDecay.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/classDgmParticle.jpg/1.2/Mon Nov 30 13:46:16 2009/-kb/
+/classDgmParticle.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/classDgmParticleDecay.jpg/1.2/Mon Nov 30 13:46:16 2009/-kb/
+/classDgmParticleDecay.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/classDgmParticleTable.jpg/1.2/Mon Nov 30 13:46:16 2009/-kb/
+/classDgmParticleTable.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/classDgmParticlesMain.jpg/1.2/Mon Nov 30 13:46:16 2009/-kb/
+/classDgmParticlesMain.pdf/1.1/Tue Jun  2 02:27:42 2009//
+D
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Particles/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Particles/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Particles/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Particles
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Particles/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Particles/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Particles/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/PhysicsProcesses/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/PhysicsProcesses/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/PhysicsProcesses/CVS/Entries	(revision 1208)
@@ -0,0 +1,6 @@
+D/ElectroMagnetic////
+D/Hadronic////
+/classDgmProcessMain.jpg/1.2/Mon Nov 30 13:46:16 2009/-kb/
+/classDgmProcessMain.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/classDgmProcessProcesses.jpg/1.2/Mon Nov 30 13:46:16 2009/-kb/
+/classDgmProcessProcesses.pdf/1.1/Tue Jun  2 02:27:42 2009//
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/PhysicsProcesses/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/PhysicsProcesses/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/PhysicsProcesses/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/PhysicsProcesses
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/PhysicsProcesses/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/PhysicsProcesses/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/PhysicsProcesses/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/PhysicsProcesses/Hadronic/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/PhysicsProcesses/Hadronic/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/PhysicsProcesses/Hadronic/CVS/Entries	(revision 1208)
@@ -0,0 +1,17 @@
+/Level1.jpg/1.2/Mon Nov 30 13:46:16 2009/-kb/
+/Level1.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/Level2_1.jpg/1.2/Mon Nov 30 13:46:16 2009/-kb/
+/Level2_1.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/Level2_2.jpg/1.2/Mon Nov 30 13:46:16 2009/-kb/
+/Level2_2.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/Level2_3.jpg/1.2/Mon Nov 30 13:46:16 2009/-kb/
+/Level2_3.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/Level3_1.jpg/1.2/Mon Nov 30 13:46:16 2009/-kb/
+/Level3_1.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/Level4_1.jpg/1.2/Mon Nov 30 13:46:16 2009/-kb/
+/Level4_1.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/Level4_2.jpg/1.2/Mon Nov 30 13:46:16 2009/-kb/
+/Level4_2.pdf/1.1/Tue Jun  2 02:27:42 2009//
+/Level5_1.jpg/1.2/Mon Nov 30 13:46:16 2009/-kb/
+/Level5_1.pdf/1.1/Tue Jun  2 02:27:42 2009//
+D
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/PhysicsProcesses/Hadronic/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/PhysicsProcesses/Hadronic/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/PhysicsProcesses/Hadronic/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/PhysicsProcesses/Hadronic
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/PhysicsProcesses/Hadronic/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/PhysicsProcesses/Hadronic/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/PhysicsProcesses/Hadronic/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Tracking/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Tracking/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Tracking/CVS/Entries	(revision 1208)
@@ -0,0 +1,3 @@
+/classDgmTracking.jpg/1.2/Mon Nov 30 13:46:16 2009/-kb/
+/classDgmTracking.pdf/1.1/Tue Jun  2 02:27:42 2009//
+D
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Tracking/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Tracking/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Tracking/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Tracking
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Tracking/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Tracking/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/Tracking/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/UserInterface/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/UserInterface/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/UserInterface/CVS/Entries	(revision 1208)
@@ -0,0 +1,3 @@
+/classDgmUserInterface.jpg/1.2/Mon Nov 30 13:46:16 2009/-kb/
+/classDgmUserInterface.pdf/1.1/Tue Jun  2 02:27:42 2009//
+D
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/UserInterface/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/UserInterface/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/UserInterface/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/UserInterface
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/UserInterface/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/UserInterface/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/AllResources/OOAnalysisDesign/UserInterface/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/BookForToolDev.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/BookForToolDev.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/BookForToolDev.xml	(revision 1208)
@@ -32,6 +32,6 @@
   </authorgroup>
 
-  <pubdate>19 December, 2008</pubdate>
-  <releaseinfo>Version: geant4 9.2</releaseinfo>
+  <pubdate>2 June, 2009</pubdate>
+  <releaseinfo>Version: geant4 9.2 Revision01</releaseinfo>
 
 </bookinfo>
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/HadronicPhysics/hadronics.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/HadronicPhysics/hadronics.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/HadronicPhysics/hadronics.xml	(revision 1208)
@@ -132,9 +132,9 @@
   <imageobject role="fo">
     <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level1.jpg" 
-               format="JPG" align="center" contentwidth="10.0cm" />
+               format="JPG" contentwidth="10.0cm" align="center"  />
   </imageobject>
   <imageobject role="html">
     <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level1.jpg" 
-               format="JPG" align="center" />
+               format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
@@ -271,9 +271,9 @@
   <imageobject role="fo">
     <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level2_1.jpg" 
-               format="JPG" align="center" contentwidth="10.0cm" />
+               format="JPG" contentwidth="10.0cm" align="center" />
   </imageobject>
   <imageobject role="html">
     <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level2_1.jpg" 
-               format="JPG" align="center" />
+               format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
@@ -288,9 +288,9 @@
   <imageobject role="fo">
     <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level2_2.jpg" 
-               format="JPG" align="center" contentwidth="10.0cm" />
+               format="JPG" contentwidth="10.0cm" align="center" />
   </imageobject>
   <imageobject role="html">
     <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level2_2.jpg" 
-               format="JPG" align="center" />
+               format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
@@ -305,9 +305,9 @@
   <imageobject role="fo">
     <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level2_3.jpg" 
-               format="JPG" align="center" contentwidth="10.0cm" />
+               format="JPG" contentwidth="10.0cm" align="center" />
   </imageobject>
   <imageobject role="html">
     <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level2_3.jpg" 
-               format="JPG" align="center" />
+               format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
@@ -486,9 +486,9 @@
   <imageobject role="fo">
     <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level3_1.jpg" 
-               format="JPG" align="center" contentwidth="10.0cm" />
+               format="JPG" contentwidth="10.0cm" align="center" />
   </imageobject>
   <imageobject role="html">
     <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level3_1.jpg" 
-               format="JPG" align="center" />
+               format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
@@ -683,9 +683,9 @@
   <imageobject role="fo">
     <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level4_1.jpg" 
-               format="JPG" align="center" contentwidth="10.0cm" />
+               format="JPG" contentwidth="10.0cm" align="center" />
   </imageobject>
   <imageobject role="html">
     <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level4_1.jpg" 
-               format="JPG" align="center" />
+               format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
@@ -700,9 +700,9 @@
   <imageobject role="fo">
     <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level4_2.jpg" 
-               format="JPG" align="center" contentwidth="10.0cm" />
+               format="JPG" contentwidth="10.0cm" align="center" />
   </imageobject>
   <imageobject role="html">
     <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level4_2.jpg" 
-               format="JPG" align="center" />
+               format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
@@ -809,9 +809,9 @@
   <imageobject role="fo">
     <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level5_1.jpg" 
-               format="JPG" align="center" contentwidth="10.0cm" />
+               format="JPG" contentwidth="10.0cm" align="center" />
   </imageobject>
   <imageobject role="html">
     <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level5_1.jpg" 
-               format="JPG" align="center" />
+               format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/Visualization/visualization.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/Visualization/visualization.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/Visualization/visualization.xml	(revision 1208)
@@ -30,5 +30,5 @@
   <imageobject role="html">
     <imagedata fileref="./AllResources/GuideToExtendFunctionality/Visualization/visClassDiagram.jpg" 
-               format="JPG" align="center" scale="110" />
+               format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/ElectromagneticField/electroMagneticField.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/ElectromagneticField/electroMagneticField.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/ElectromagneticField/electroMagneticField.xml	(revision 1208)
@@ -25,5 +25,5 @@
   <imageobject role="html">
     <imagedata fileref="./AllResources/OOAnalysisDesign/ElectromagneticField/field-prop.jpg" 
-               format="JPG" align="center" />
+               format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Event/event.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Event/event.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Event/event.xml	(revision 1208)
@@ -84,5 +84,5 @@
   <imageobject role="html">
     <imagedata fileref="./AllResources/OOAnalysisDesign/Event/classDgmEventManager.jpg"  
-               format="JPG" align="center" />
+               format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
@@ -100,5 +100,5 @@
   <imageobject role="html">
     <imagedata fileref="./AllResources/OOAnalysisDesign/Event/classDgmEventGen.jpg"  
-               format="JPG" align="center" />
+               format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Geometry/geometry.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Geometry/geometry.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Geometry/geometry.xml	(revision 1208)
@@ -293,5 +293,5 @@
   </imageobject>
   <imageobject role="html">
-    <imagedata fileref="./AllResources/OOAnalysisDesign/Geometry/overall.jpg" format="JPG" align="center" />
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Geometry/overall.jpg" format="JPG" contentwidth="140%" align="center" />
   </imageobject>
 </mediaobject>
@@ -324,5 +324,5 @@
   </imageobject>
   <imageobject role="html">
-    <imagedata fileref="./AllResources/OOAnalysisDesign/Geometry/smart_voxels.jpg" format="JPG" align="center" />
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Geometry/smart_voxels.jpg" format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
@@ -339,5 +339,5 @@
   </imageobject>
   <imageobject role="html">
-    <imagedata fileref="./AllResources/OOAnalysisDesign/Geometry/navigator.jpg" format="JPG" align="center" />
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Geometry/navigator.jpg" format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/GlobalUsage/globalUsage.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/GlobalUsage/globalUsage.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/GlobalUsage/globalUsage.xml	(revision 1208)
@@ -176,5 +176,5 @@
   <imageobject role="html">
     <imagedata fileref="./AllResources/OOAnalysisDesign/GlobalUsage/classDgmRandom.jpg" 
-               format="JPG" align="center" />
+               format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
@@ -199,5 +199,5 @@
   <imageobject role="html">
     <imagedata fileref="./AllResources/OOAnalysisDesign/GlobalUsage/ObjDiagStat.jpg" 
-               format="JPG" align="center" />
+               format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
@@ -221,5 +221,5 @@
   <imageobject role="html">
     <imagedata fileref="./AllResources/OOAnalysisDesign/GlobalUsage/ObjDiagDist.jpg" 
-               format="JPG" align="center" />
+               format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
@@ -243,5 +243,5 @@
   <imageobject role="html">
     <imagedata fileref="./AllResources/OOAnalysisDesign/GlobalUsage/ObjDiagEng.jpg" 
-               format="JPG" align="center" />
+               format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Hit/hit.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Hit/hit.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Hit/hit.xml	(revision 1208)
@@ -112,5 +112,5 @@
   </imageobject>
   <imageobject role="html">
-    <imagedata fileref="./AllResources/OOAnalysisDesign/Hit/classDgmHitMain.jpg" format="JPG" align="center" />
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Hit/classDgmHitMain.jpg" format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
@@ -129,5 +129,5 @@
   </imageobject>
   <imageobject role="html">
-    <imagedata fileref="./AllResources/OOAnalysisDesign/Hit/classDgmHitUser.jpg" format="JPG" align="center" />
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Hit/classDgmHitUser.jpg" format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
@@ -143,5 +143,5 @@
   </imageobject>
   <imageobject role="html">
-    <imagedata fileref="./AllResources/OOAnalysisDesign/Hit/classDgmReadoutGeom.jpg" format="JPG" align="center" />
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Hit/classDgmReadoutGeom.jpg" format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Materials/materials.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Materials/materials.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Materials/materials.xml	(revision 1208)
@@ -63,5 +63,5 @@
   <imageobject role="html">
     <imagedata fileref="./AllResources/OOAnalysisDesign/Materials/classDgmMaterials.jpg" 
-               format="JPG" align="center" />
+               format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Particles/particles.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Particles/particles.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Particles/particles.xml	(revision 1208)
@@ -63,5 +63,5 @@
   <imageobject role="html">
     <imagedata fileref="./AllResources/OOAnalysisDesign/Particles/classDgmParticlesMain.jpg" 
-               format="JPG" align="center" />
+               format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
@@ -80,5 +80,5 @@
   <imageobject role="html">
     <imagedata fileref="./AllResources/OOAnalysisDesign/Particles/classDgmParticleTable.jpg" 
-               format="JPG" align="center" />
+               format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
@@ -97,5 +97,5 @@
   <imageobject role="html">
     <imagedata fileref="./AllResources/OOAnalysisDesign/Particles/classDgmParticleDecay.jpg" 
-               format="JPG" align="center" />
+               format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/PhysicsProcesses/physicsProcesses.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/PhysicsProcesses/physicsProcesses.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/PhysicsProcesses/physicsProcesses.xml	(revision 1208)
@@ -111,5 +111,5 @@
   <imageobject role="html">
     <imagedata fileref="./AllResources/OOAnalysisDesign/PhysicsProcesses/classDgmProcessMain.jpg"
-               format="JPG" align="center" />
+               format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
@@ -127,5 +127,5 @@
   <imageobject role="html">
     <imagedata fileref="./AllResources/OOAnalysisDesign/PhysicsProcesses/classDgmProcessProcesses.jpg"
-               format="JPG" align="center" />
+               format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Tracking/tracking.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Tracking/tracking.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Tracking/tracking.xml	(revision 1208)
@@ -100,5 +100,5 @@
   <imageobject role="html">
     <imagedata fileref="./AllResources/OOAnalysisDesign/Tracking/classDgmTracking.jpg"
-               format="JPG" align="center" />
+               format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
Index: /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/UserInterface/userInterface.xml
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/UserInterface/userInterface.xml	(revision 1207)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/UserInterface/userInterface.xml	(revision 1208)
@@ -94,5 +94,5 @@
   <imageobject role="html">
     <imagedata fileref="./AllResources/OOAnalysisDesign/UserInterface/classDgmUserInterface.jpg" 
-               format="JPG" align="center" />
+               format="JPG" contentwidth="120%" align="center" />
   </imageobject>
 </mediaobject>
Index: /trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/output.html
===================================================================
--- /trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/output.html	(revision 1208)
+++ /trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/output.html	(revision 1208)
@@ -0,0 +1,805 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>
+  Geant4 Installation Guide
+  </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_installation_guide"></a>
+  Geant4 Installation Guide
+  </h1></div><div><h2 class="subtitle">
+  For setting up Geant4 in your computing environment
+  </h2></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname"></span> <span class="surname">Geant4 Collaboration</span></h3></div></div></div><div><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.InstIntro">1. 
+Installation Introduction
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="#sect.Support">
+Supported Computers and Operating Systems
+</a></span></dt><dt><span class="sect1"><a href="#sect.ReqSoft">
+Required Software
+</a></span></dt><dt><span class="sect1"><a href="#sect.VisSoft">
+Visualization Software
+</a></span></dt><dt><span class="sect1"><a href="#sect.SoftAnaHisto">
+Software for Analysis and Histogramming
+</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chap.InstProc">2. 
+Installation Procedures
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="#sect.UsingConfig">
+Using the Configure Script for installation
+</a></span></dt><dt><span class="sect1"><a href="#sect.ConfigEnv">
+Configuring the Environment to Use Geant4
+</a></span></dt><dt><span class="sect1"><a href="#sect.InstManually">
+Installing Geant4 Manually
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.InstManually.ReqEnvVar">
+Required Environment Variables
+</a></span></dt><dt><span class="sect2"><a href="#sect.InstManually.OptEnvVar">
+Optional Environment Variables
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.IntegGeneFrame">
+Integrating Geant4 into a Generic Framework
+</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chap.TipsWin">3. 
+Tips for Installing on Windows
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="#sect.Cygwin">
+Windows with the Cygwin Toolset and Microsoft Visual C++
+</a></span></dt><dt><span class="sect1"><a href="#sect.BuildLibDLLs">
+Building Kernel Libraries DLLs
+</a></span></dt></dl></dd></dl></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="chap.InstIntro"></a>Chapter 1. 
+Installation 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.Support">
+Supported Computers and Operating Systems
+</a></span></dt><dt><span class="sect1"><a href="#sect.ReqSoft">
+Required Software
+</a></span></dt><dt><span class="sect1"><a href="#sect.VisSoft">
+Visualization Software
+</a></span></dt><dt><span class="sect1"><a href="#sect.SoftAnaHisto">
+Software for Analysis and Histogramming
+</a></span></dt></dl></div><p>
+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.
+</p><p>
+A shell script (<tt class="literal">Configure</tt>) is provided to
+facilitate the installation procedure, and to help the user set up
+the environment correctly.
+</p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.Support"></a>
+Supported Computers and Operating Systems
+</h2></div></div><div></div></div><p>
+Geant4 is supported under the following operating systems:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Linux on PC with g++ (gcc compiler)
+  </p></li><li><p>
+    MacOSX with g++ (gcc compiler)
+  </p></li><li><p>
+    Windows/XP with MicroSoft Visual C++
+  </p></li></ul></div><p>
+</p><p>
+Currently, this is the set of flavors which can be associated with
+the environment variable <tt class="literal">$G4SYSTEM</tt> to identify the
+system architecture and compiler used:
+
+</p><div class="literallayout"><p><tt class="literal"><br>
+  Linux   - Scientific Linux CERN, SLC4 (or SLC5) <br>
+            g++ gcc 3.4.6 (or 4.1.2)               G4SYSTEM: Linux-g++<br>
+  MacOSX  - MacOSX Darwin 10.5 <br>
+            g++ gcc 4.0.1                          G4SYSTEM: Darwin-g++<br>
+  Windows - Windows XP and Cygwin32<br>
+            MSVC++ 9.0, Visual Studio 2008         G4SYSTEM: WIN32-VC<br>
+</tt></p></div><p>
+</p><p>
+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
+<tt class="literal">geant4/ReleaseNotes</tt> (also accessible from the web
+<a href="http://cern.ch/geant4/support/download.shtml" target="_top">
+distribution page
+</a>
+).
+</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.ReqSoft"></a>
+Required Software
+</h2></div></div><div></div></div><p>
+To run Geant4, the following software must be properly installed in
+your computing environment:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    C++ compiler
+    </p><p>
+    (compiler from Unix vendor, g++ or Visual C++ for Windows systems)
+    </p><p>
+  </p></li><li><p>
+    CLHEP library
+    </p><p>
+    (see CLHEP reference guide 
+     <a href="http://cern.ch/clhep/manual/RefGuide/" target="_top">
+     cern.ch/clhep/manual/RefGuide
+     </a>
+    )
+    </p><p>
+  </p></li><li><p>
+    GNU Make (note: g++ preprocessing is used to build file
+    dependencies) is also used and a UNIX shell
+  </p></li><li><p>
+    The Geant4 toolkit source code
+  </p></li></ul></div><p>
+</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.VisSoft"></a>
+Visualization Software
+</h2></div></div><div></div></div><p>
+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:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    X Windows
+  </p></li><li><p>
+    <a href="http://www.opengl.org/" target="_top">
+    OpenGL
+    </a>
+    or
+    <a href="http://www.mesa3d.org/" target="_top">
+    MesaGL
+    </a>
+    (free software compatible with OpenGL)
+  </p></li><li><p>
+    <a href="http://geant4.kek.jp/GEANT4/vis/" target="_top">
+    DAWN
+    </a>
+    , a PostScript renderer
+  </p></li><li><p>
+    <a href="http://www.trolltech.com" target="_top">
+    Qt
+    </a>
+    , a powerfull toolkit
+  </p></li><li><p>
+    <a href="http://oss.sgi.com/projects/inventor/" target="_top">
+    Open Inventor
+    </a>
+    (free software from SGI)
+  </p></li><li><p>
+    <a href="http://openscientist.lal.in2p3.fr/" target="_top">
+    Open Scientist
+    </a>
+    (Interactive environment, including GUI)
+  </p></li><li><p>
+    <a href="http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired/" target="_top">
+    HepRApp Browser
+    </a>
+    (
+    <a href="http://www.slac.stanford.edu/~perl/heprep/" target="_top">
+    HepRep
+    </a>
+    Browser)
+  </p></li><li><p>
+    <a href="http://wired.freehep.org/" target="_top">
+    WIRED4 JAS Plug-In
+    </a>
+    (
+    <a href="http://www.slac.stanford.edu/~perl/heprep/" target="_top">
+    HepRep
+    </a>
+    Browser)
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/environments/MOMO/docs/MOMOHelp.html" target="_top">
+    Momo
+    </a>
+    (a 
+    <a href="http://java.sun.com/" target="_top">
+    Java
+    </a>
+    -based GUI environment, GGE, GPE, ...)
+  </p></li><li><p>
+    VRML browser
+  </p></li></ul></div><p>
+</p><p>
+Alternatively, you can produce an ascii file for VRML or DAWN.
+</p><p>
+More information is available in Section 8.6, Visualization
+Drivers, of the User's Guide for Application Developers.
+</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.SoftAnaHisto"></a>
+Software for Analysis and Histogramming
+</h2></div></div><div></div></div><p>
+Histogramming facilities are provided through the <span class="bold"><b>AIDA</b></span>
+abstract interface, which in this case needs to be installed as
+well:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://aida.freehep.org/" target="_top">
+    AIDA
+    </a>
+    (Abstract Interfaces for Data Analysis)
+  </p></li></ul></div><p>
+</p><p>
+External, AIDA-compliant packages which provide the necessary
+functionalities for doing histogramming (and therefore, should be
+optionally installed) are:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://iaida.dynalias.net/" target="_top">
+    iAIDA
+    </a>
+    (iAIDA, an implementation of AIDA in C++)
+  </p></li><li><p>
+    <a href="http://jas.freehep.org/jas3/" target="_top">
+    JAS
+    </a>
+    (Java Analysis Studio)
+  </p></li><li><p>
+    <a href="http://openscientist.lal.in2p3.fr/" target="_top">
+    Open Scientist
+    </a>
+    (Interactive Analysis Environment).
+  </p></li><li><p>
+    <a href="http://ilcsoft.desy.de/portal/software_packages/raida/" target="_top">
+    rAIDA
+    </a>
+    (rAIDA, a <a href="http://root.cern.ch/" target="_top">Root</a> implementation of AIDA)
+  </p></li></ul></div><p>
+</p></div></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="chap.InstProc"></a>Chapter 2. 
+Installation Procedures
+</h2></div></div><div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#sect.UsingConfig">
+Using the Configure Script for installation
+</a></span></dt><dt><span class="sect1"><a href="#sect.ConfigEnv">
+Configuring the Environment to Use Geant4
+</a></span></dt><dt><span class="sect1"><a href="#sect.InstManually">
+Installing Geant4 Manually
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.InstManually.ReqEnvVar">
+Required Environment Variables
+</a></span></dt><dt><span class="sect2"><a href="#sect.InstManually.OptEnvVar">
+Optional Environment Variables
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.IntegGeneFrame">
+Integrating Geant4 into a Generic Framework
+</a></span></dt></dl></div><p>
+
+Before installing Geant4, the required software listed in
+<a href="#sect.ReqSoft" title="
+Required Software
+">the section called &#8220;
+Required Software
+&#8221;</a>
+(and <a href="#sect.VisSoft" title="
+Visualization Software
+">the section called &#8220;
+Visualization Software
+&#8221;</a> in the case of graphics drivers) 
+of this Installation Guide must already be installed on
+your system.
+</p><p>
+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 <tt class="literal">Configure</tt> shell script,
+which will allow the installation of just the necessary source code
+and libraries in a specified installation area.
+</p><p>
+<span class="emphasis"><em>Step-by-Step</em></span> guides for the installation are
+also available. See 
+<a href="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas06.html" target="_top">
+Appendix - Step-by-Step Installation Guides</a>
+of <span class="emphasis"><em>Geant4 User's Guide - For Application Developers</em></span>.
+</p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.UsingConfig"></a>
+Using the <tt class="literal">Configure</tt> Script for installation
+</h2></div></div><div></div></div><p>
+A shell script is provided for building the libraries and to allow
+easy installation in a specified area. The <tt class="literal">Configure</tt>
+shell script is placed in the top directory tree of the
+distribution (<tt class="literal">geant4/Configure</tt>) 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:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    the compiler to be used
+  </p></li><li><p>
+    the path where the Geant4 toolkit is to be installed
+    (<tt class="literal">$G4INSTALL</tt>)
+  </p></li><li><p>
+    definition of installation directory paths (optional)
+  </p></li><li><p>
+    kind of graphics/analysis system(s) installed in the system,
+    and paths to the installation of each graphics/analysis
+    package
+  </p></li><li><p>
+    the kind of library to be generated: static/shared,
+    compound/granular.
+  </p></li></ul></div><p>
+</p><p>
+To run the installer script for building the libraries of the Geant4 toolkit,
+one must type the following from the top directory
+<tt class="literal">geant4</tt>:
+
+</p><div class="informalexample"><pre class="programlisting">
+ &gt; ./Configure -build
+</pre></div><p>
+
+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.
+</p><p>
+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:
+
+</p><div class="informalexample"><pre class="programlisting">
+ &gt; cd geant4/source
+ &gt; make clean
+</pre></div><p>
+where the <tt class="literal">$G4SYSTEM</tt> environment variable (specifying
+the kind of architecture and compiler used) is manually set in your
+environment (according to the flavors listed in 
+<a href="#sect.Support" title="
+Supported Computers and Operating Systems
+">the section called &#8220;
+Supported Computers and Operating Systems
+&#8221;</a>).
+</p><p>
+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 <tt class="literal">Configure</tt> and providing the new
+settings.
+</p><p>
+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:
+
+</p><div class="informalexample"><pre class="programlisting">
+ &gt; ./Configure -install
+</pre></div><p>
+</p><p>
+Libraries and necessary source code will be installed in
+<tt class="literal">lib/geant4</tt>, <tt class="literal">include/geant4</tt> (if selected to
+install all headers in a single directory), <tt class="literal">src/geant4</tt>,
+respectively. System administrator privileges may be required for the
+installation stage, depending upon where in the system the installation
+should happen.
+</p><p>
+<tt class="literal">$G4INSTALL</tt> will be set to
+<tt class="literal">[INSTALLATION_AREA]/src/geant4</tt>.
+</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.ConfigEnv"></a>
+Configuring the Environment to Use Geant4
+</h2></div></div><div></div></div><p>
+Once libraries have been installed, the user's environment must be
+correctly set up for the usage of the Geant4 toolkit. The
+<tt class="literal">Configure</tt> script provides a way to check the existing
+installation and provide the correct configuration for the user's
+environment. Configuration scripts <tt class="literal">env[.sh.csh]</tt> can be
+generated, and should be sourced by the final users in order to
+configure their environment according to the performed
+installation.
+</p><p>
+To generate the configuration scripts, the user should run
+<tt class="literal">Configure</tt> placed in the installation area, as follows:
+
+</p><div class="informalexample"><pre class="programlisting">
+ &gt; $G4INSTALL/Configure
+</pre></div><p>
+</p><p>
+This will generate the shell script <tt class="literal">env.csh</tt>
+(<tt class="literal">env.sh</tt> for <tt class="literal">bash</tt> shell) to be sourced or
+integrated into the shell login script (<tt class="literal">.tcshrc</tt> or
+<tt class="literal">.bashrc</tt>). The shell script will be generated in the
+user's current directory (<tt class="literal">$PWD</tt>). The user can
+customize it to specify for example her/his proper working
+directory through the variable <tt class="literal">$G4WORKDIR</tt>. Once the
+generated script is sourced, the user will be ready to start
+building a Geant4 application.
+</p><p>
+Refer to section the section 
+<span class="emphasis"><em>
+Getting Started with Geant4 - How to Make an Executable Program
+</em></span>
+of the 
+<a href="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/index.html" target="_top"> 
+Geant4 User's Guide for Application Developers
+</a> 
+for information on how to build an executable in Geant4.
+</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.InstManually"></a>
+Installing Geant4 Manually
+</h2></div></div><div></div></div><p>
+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 
+
+<span class="emphasis"><em>
+Appendix - Makefiles and Environment Variables
+</em></span>
+of the
+<a href="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/index.html" target="_top"> 
+Geant4 User's Guide for Application Developers
+</a>.
+</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.InstManually.ReqEnvVar"></a>
+Required Environment Variables
+</h3></div></div><div></div></div><div class="variablelist"><p class="title"><b></b></p><dl><dt><span class="term">
+    <tt class="literal">G4SYSTEM:</tt>
+  </span></dt><dd><p>
+    set to one of the flavors listed in section 1.1 to specify the
+    kind of architecture and compiler used
+  </p></dd><dt><span class="term">
+    <tt class="literal">G4INSTALL:</tt>
+  </span></dt><dd><p>
+    path where the Geant4 toolkit tree is installed (ex.
+    <tt class="literal">$HOME/geant4</tt>)
+  </p></dd><dt><span class="term">
+    <tt class="literal">CLHEP_BASE_DIR:</tt>
+  </span></dt><dd><p>
+    path to the CLHEP installation
+  </p></dd></dl></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.InstManually.OptEnvVar"></a>
+Optional Environment Variables
+</h3></div></div><div></div></div><div class="variablelist"><p class="title"><b></b></p><dl><dt><span class="term">
+    <tt class="literal">G4WORKDIR:</tt>
+  </span></dt><dd><p>
+    path of the user's working directory (default in
+    <tt class="literal">$G4INSTALL</tt>)
+  </p></dd><dt><span class="term">
+    <tt class="literal">G4LIB:</tt>
+  </span></dt><dd><p>
+    path where the kernel libraries should be installed (default in
+    <tt class="literal">$G4INSTALL/lib</tt>)
+  </p></dd><dt><span class="term">
+    <tt class="literal">G4TMP:</tt>
+  </span></dt><dd><p>
+    path where temporary files (object files, dependency files) are
+    placed (default in <tt class="literal">$G4WORKDIR/tmp)</tt>
+  </p></dd><dt><span class="term">
+    <tt class="literal">G4BIN:</tt>
+  </span></dt><dd><p>
+    path where final executable files are placed (default in
+    <tt class="literal">$G4WORKDIR/bin)</tt>.
+  </p></dd><dt><span class="term">
+    <tt class="literal">G4INCLUDE:</tt>
+  </span></dt><dd><p>
+    path where source header files may be mirrored at installation
+    by issuing <tt class="literal">make includes</tt> (default in
+    <tt class="literal">$G4INSTALL/include</tt>)
+  </p></dd><dt><span class="term">
+    <tt class="literal">G4DEBUG:</tt>
+  </span></dt><dd><p>
+    flag specifying that libraries be built with debug symbols
+    (requires a lot of disk space). The default is optimised-mode
+  </p></dd><dt><span class="term">
+    <tt class="literal">G4LIB_BUILD_SHARED:</tt>
+  </span></dt><dd><p>
+    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
+  </p></dd><dt><span class="term">
+    <tt class="literal">G4LIB_BUILD_STATIC:</tt>
+  </span></dt><dd><p>
+    flag specifying that kernel libraries be built as static
+    archive libraries. Note that you may specify this flag in addition
+    to <tt class="literal">G4LIB_BUILD_SHARED</tt> to build shared and static
+    libraries simultaneously.
+  </p></dd><dt><span class="term">
+    <tt class="literal">G4LIB_BUILD_G3TOG4:</tt>
+  </span></dt><dd><p>
+    flag specifying that the library for the g3tog4 module be
+    built. By default the library will not be built.
+  </p></dd><dt><span class="term">
+    <tt class="literal">G4LIB_BUILD_ZLIB:</tt>
+  </span></dt><dd><p>
+    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.
+  </p></dd><dt><span class="term">
+    <tt class="literal">G4_NO_VERBOSE:</tt>
+  </span></dt><dd><p>
+    defining this flag prevents the compilation of verbosity code
+    (for better performance). The default is with verbosity on.
+  </p></dd></dl></div><p>
+The list of all additional flags (also requiring third-party packages
+installed) can be found in
+<a href="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas05.html#sect.MkflEnvVar.EnvVar" target="_top">Section 5.2</a>
+of the
+<a href="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/index.html" target="_top"> 
+Geant4 User's Guide for Application Developers
+</a>.
+</p><p>
+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:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    the kind of graphics driver(s) installed in the system
+  </p></li><li><p>
+    the path to the installation of each graphics driver
+  </p></li></ul></div><p>
+
+in case you want to build the Geant4 kernel libraries with the
+graphics drivers built-in. See 
+
+<span class="emphasis"><em>
+Visualization - The Visualization Drivers
+</em></span>
+of the
+<a href="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/index.html" target="_top"> 
+Geant4 User's Guide for Application Developers
+</a>.
+</p><p>
+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 <tt class="literal">$G4INSTALL/source</tt>:
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    <tt class="literal">make</tt>
+    </p><p>
+    This will make one library for each "leaf" category (maximum
+    library granularity) and automatically produce a map of library use
+    and dependencies.</p><p>
+  </p></li><li><p>
+    <tt class="literal">make global</tt>
+    </p><p>
+    This will make global libraries, one for each major category.
+    </p><p>
+  </p></li></ol></div><p>
+</p><p>
+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.
+</p><p>
+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 <tt class="literal">GNUmakefile</tt> in
+<tt class="literal">$G4INSTALL/source</tt> parses the dependency files of
+Geant4 and produces a file <tt class="literal">libname.map</tt> in
+<tt class="literal">$G4LIB</tt>. <tt class="literal">libname.map</tt> is produced by the
+tool <tt class="literal">liblist</tt>, whose source code is in
+<tt class="literal">$G4INSTALL/config</tt>.
+</p><p>
+When building a binary application the script
+<tt class="literal">binmake.gmk</tt> in <tt class="literal">$G4INSTALL/config</tt> will
+parse the user's dependency files and use <tt class="literal">libname.map</tt>
+to determine through <tt class="literal">liblist</tt> the required libraries to
+add to the linking list. Only the required libraries will be loaded
+in the link command.
+</p><p>
+The command <tt class="literal">make libmap</tt> issued from
+<tt class="literal">$G4INSTALL/source</tt>, allows manual rebuilding of the
+dependency map. The command is issued by default in the normal
+build process for granular libraries.
+</p><p>
+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.
+</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.IntegGeneFrame"></a>
+Integrating Geant4 into a Generic Framework
+</h2></div></div><div></div></div><p>
+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
+<tt class="literal">G4INCLUDE</tt> 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 (<tt class="literal">G4INCLUDE</tt>) and where
+installed libraries are placed (<tt class="literal">G4LIB</tt>).
+</p><p>
+In <a href="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas05.html#sect.MkflEnvVar.EnvVar" target="_top">Section 5.2</a>.
+(<span class="emphasis"><em>Appendix - Makefiles and Environment Variables</em></span>)
+of the
+<a href="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/index.html" target="_top"> 
+Geant4 User's Guide for Application Developers
+</a>,
+you can find a list of all the environment variables. In
+<a href="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas05.html#sect.MkflEnvVar.LnkExtLib" target="_top">Section 5.3</a>
+it is also explained how to integrate external libraries which may or 
+may not use the Geant4 kernel libraries, using the <tt class="literal">GNUmake</tt> 
+build system of Geant4.
+</p></div></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="chap.TipsWin"></a>Chapter 3. 
+Tips for Installing on Windows
+</h2></div></div><div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#sect.Cygwin">
+Windows with the Cygwin Toolset and Microsoft Visual C++
+</a></span></dt><dt><span class="sect1"><a href="#sect.BuildLibDLLs">
+Building Kernel Libraries DLLs
+</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.Cygwin"></a>
+Windows with the Cygwin Toolset and Microsoft Visual C++
+</h2></div></div><div></div></div><p>
+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.
+</p><p>
+Cygwin32 is a UNIX development environment available for Microsoft
+Windows. You can freely obtain Cygwin32 from 
+<a href="http://cygwin.com/" target="_top">
+Cygwin
+</a>
+or 
+<a href="http://x.cygwin.com/" target="_top">
+Cygwin/X
+</a>
+.
+</p><p>
+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 <tt class="literal">nmake</tt> application of MS
+Visual C++.
+</p><p>
+We use several of the tools provided by the Cygwin toolset:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <tt class="literal">make.exe</tt> as a make tool
+  </p></li><li><p>
+    <tt class="literal">g++.exe</tt> as a tool to analyse source file dependencies
+    and create dependency (<tt class="literal">.d</tt>) files
+  </p></li><li><p>
+    several other unix tools like <tt class="literal">cp</tt>, <tt class="literal">mv</tt>,
+    <tt class="literal">rm</tt>, <tt class="literal">touch</tt>, etc.
+  </p></li></ul></div><p>
+</p><p>
+At the installation of the Cygwin toolset it is therefore required
+to explicitely select some packages (i.e. <span class="emphasis"><em>gmake</em></span>, 
+<span class="emphasis"><em>gcc</em></span>, <span class="emphasis"><em>binutils</em></span> 
+and <span class="emphasis"><em>tcsh</em></span> from the "devel" category) in
+addition to those which are part of the default installation.
+</p><p>
+For more details on the toolset, please see the documentation
+available on the 
+<a href="http://cygwin.com/" target="_top">
+Cygwin pages
+</a>
+. 
+The User's Guide has quick start guides and help with
+setting up Cygwin with <tt class="literal">setup.exe</tt>.
+</p><p>
+Links to some installation tips for the Cygwin toolset and also 
+"step by step" installation guides can be found in the section
+<a href="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas06.html" target="_top">
+Appendix - Step-by-Step Installation Guides - Build for MS Visual C++
+</a> 
+of <span class="emphasis"><em>Geant4 User's Guide - For Application Developers</em></span>.
+</p><p>
+The usage of Cygwin32 for the build environment results in a
+build procedure similar to that on a UNIX system.
+</p><p>
+The following steps are required to install geant4:
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    Install Cygwin (see also notes above and additional
+    <a href="http://cern.ch/geant4/support/windows_note.shtml" target="_top">installation
+    notes</a> for known issues related to the most current version):
+    </p><p>
+    We do not depend on any specific feature of the version of Cygwin,
+    so newer versions (or slightly older) are expected to work.
+    </p><p>
+  </p></li><li><p>
+    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
+    <tt class="literal">cygwin.bat</tt> of Cygwin32 to include all the MSDOS commands
+    found in the file <tt class="literal">vcvars32.bat</tt> provided in MS Visual C++
+   (in the VC++ .NET compiler installation directory, and usually
+   located inside the <tt class="literal">Common7/Tools</tt> 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.
+  </p></li><li><p>
+    Unpack the source code into a directory of your choice.
+  </p></li><li><p>
+    Start the <tt class="literal">Cygwin</tt> shell from the start menu.
+  </p></li><li><p>
+    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 <tt class="literal">geant4-setup.sh</tt>, and you must execute it with
+
+    </p><div class="informalexample"><pre class="programlisting">
+        . geant4-setup.sh
+    </pre></div><p>
+
+    including the leading dot and blank space. You could also have this
+    as your <tt class="literal">.bashrc</tt> file. The commands in the command file
+    should be:
+
+    </p><div class="informalexample"><pre class="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
+        #
+    </pre></div><p>
+    Note, in the example above, CLHEP was installed in
+    <tt class="literal">C:/usr/local</tt>, therefore <tt class="literal">include/CLHEP</tt> and
+    <tt class="literal">lib/CLHEP.lib</tt> must be included therein.
+  </p></li><li><p>
+    Once the environment is correctly set, the libraries are built
+    using make from the <tt class="literal">geant4/source</tt> directory typing
+    <tt class="literal">make</tt> from the <tt class="literal">Cygwin bash</tt> shell
+    prompt.
+  </p></li></ol></div><p>
+</p><p>
+Examples can be built in the same way as the libraries from
+examples/novice/N01, for instance: type <tt class="literal">make</tt> from the
+shell prompt.
+</p><p>
+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.
+</p><p>
+The binary of the example is placed by default into the
+<tt class="literal">geant4/bin/WIN32-VC</tt> directory. You may run it either from
+this directory or from the <tt class="literal">examples/novice/N01</tt> directory;
+sample input and output files are placed in each of the
+<tt class="literal">examples/novice</tt> 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:
+
+</p><div class="informalexample"><pre class="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
+        #
+</pre></div><p>
+</p><p>
+All compiler and linker options are set in
+<tt class="literal">config/sys/WIN32-VC.gmk</tt>. If you require options different
+from our choice, you can modify this file. 
+</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.BuildLibDLLs"></a>
+Building Kernel Libraries DLLs
+</h2></div></div><div></div></div><p>
+DLLs (Dynamic Link Libraries) on Windows are supported for MS-VC++
+and can be built for the <tt class="literal">compound</tt> kernel libraries of
+Geant4 (see <a href="#sect.InstManually.OptEnvVar" title="
+Optional Environment Variables
+">the section called &#8220;
+Optional Environment Variables
+&#8221;</a> of the
+Installation Procedure of this Guide for a dissertation on
+<tt class="literal">global/compound</tt> libraries).
+</p><p>
+The libraries can be built either manually, issuing the
+command:
+
+</p><div class="informalexample"><pre class="programlisting">
+        make dll
+</pre></div><p>
+
+from the directory <tt class="literal">$G4INSTALL/source</tt> or by specifying it
+through the <tt class="literal">Configure</tt> script used for the
+installation.
+</p><p>
+Then, to build any application making use of the installed DLLs,
+the environment variable <tt class="literal">G4LIB_USE_DLL</tt> must be set in the
+environment.
+</p><p>
+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 <tt class="literal">PATH</tt> variable; for example:
+
+</p><div class="informalexample"><pre class="programlisting">
+        export PATH=$PATH:/usr/local/geant4/lib/$G4SYSTEM
+</pre></div><p>
+</p><p>
+You may then be able to run successfully your application.
+</p></div></div></div></body></html>
Index: /trunk/documents/UserDoc/Overview/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/Overview/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/Overview/CVS/Entries	(revision 1208)
@@ -0,0 +1,1 @@
+D/html////
Index: /trunk/documents/UserDoc/Overview/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/Overview/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/Overview/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/Overview
Index: /trunk/documents/UserDoc/Overview/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/Overview/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/Overview/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/Overview/html/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/Overview/html/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/Overview/html/CVS/Entries	(revision 1208)
@@ -0,0 +1,4 @@
+/Changes.html/1.24/Wed Dec  6 07:25:40 2006//
+/index.html/1.47/Wed Dec  6 07:26:02 2006//
+/site_index.html/1.8/Fri Dec 16 23:18:59 2005//
+D
Index: /trunk/documents/UserDoc/Overview/html/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/Overview/html/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/Overview/html/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/Overview/html
Index: /trunk/documents/UserDoc/Overview/html/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/Overview/html/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/Overview/html/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/Overview/html/Changes.html
===================================================================
--- /trunk/documents/UserDoc/Overview/html/Changes.html	(revision 1208)
+++ /trunk/documents/UserDoc/Overview/html/Changes.html	(revision 1208)
@@ -0,0 +1,1883 @@
+<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 in User's Documents</B>
+</FONT>
+<BR>
+<P>
+
+<HR ALIGN="Center" SIZE="7%">
+
+
+<!-- ============================================== Section --> 
+<font COLOR="#238E23">
+<h2>Version: Geant4 8.2 (December 2006) </h2>
+</font>
+
+<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>
+<hr>
+
+<!-- ============================================== Section --> 
+<font COLOR="#238E23">
+<h2>Version: Geant4 8.1 (June 2006) </h2>
+</font>
+<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>
+<hr>
+
+<!-- ============================================== Section --> 
+<font COLOR="#238E23">
+<h2>Version: Geant4 8.0 (December 2005) </h2>
+</font>
+<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/Overview/html/index.html
===================================================================
--- /trunk/documents/UserDoc/Overview/html/index.html	(revision 1208)
+++ /trunk/documents/UserDoc/Overview/html/index.html	(revision 1208)
@@ -0,0 +1,349 @@
+<HTML>
+<HEAD>
+<TITLE>Overview of Users Documents</TITLE>
+<LINK REL="shortcut icon" HREF="../../resources/html/IconsGIF/g4.gif">
+<!-- Changed by: Katsuya Amako, 30-Jul-1998 -->
+<!-- Changed by: Michel MAIRE,  3-Aug-1998 -->
+<!-- Changed by: Katsuya Amako,  4-Aug-1998 -->
+<!-- Changed by: John Allison,  5-Aug-1998 -->
+<!-- Changed by: Katsuya Amako,  8-Dec-1998 -->
+<!-- Changed by: Gunter Folger,  Dec-1998 -->
+<!-- Changed by: Katsuya Amako, 29-Dec-1999 -->
+<!-- Changed by: Katsuya Dosanjh, 16-Apr-2001 -->
+<!-- Changed by: Dennis Wright, 14-Dec-2001 -->
+<!-- Changed by: Katsuya Dosanjh, 21-Dec-2001 -->
+<!-- Changed by: Dennis Wright, 29-Apr-2003 -->
+<!-- Updated 17 July 2001 Dennis Wright -->
+<!-- Proof read by: John Allison, 3-Aug-1998 -->
+</HEAD>
+
+<BODY>
+<P ALIGN="Right">
+<FONT COLOR="#5C3317">
+<B><I>Version:</I></B> <I>Geant4 8.2 December 2006</I>
+</FONT>
+</P>
+
+<P ALIGN="Center">
+<IMG SRC="../../resources/html/IconsGIF/G4LogoSmall.gif">
+<BR>
+<FONT SIZE="+4" COLOR="#5C3317">
+<B>User's Documents</B>
+</FONT>
+<BR><BR>
+<FONT SIZE="+3" COLOR="#238E23">
+<B>Overview</B>
+</FONT>
+<BR>
+
+<P>
+
+<!-- ============================================== Section --> 
+<HR ALIGN="Center" SIZE="7%">
+<FONT COLOR="#238E23">
+<H2>Welcome</H2>
+</FONT>
+Welcome to the Geant4 User's Documents page. 
+This page gives you an overview of all available documents which
+are created and maintained by the Geant4 international collaboration.
+<P>
+GEANT4 is a toolkit for both full and fast Monte Carlo simulation 
+of detectors in High Energy Physics.  It is also designed to take 
+into account the requirements of space and cosmic ray applications, 
+nuclear, heavy ion and radiation computations, and medical 
+applications.
+<P>
+The following document gives you a more complete introduction to Geant4.
+<P>
+
+<UL>
+<LI><A HREF="../../Welcome/IntroductionToGeant4/html/index.html">
+<B>Introduction to Geant4</B></A>&nbsp;  
+<! <IMG SRC="../../resources/html/IconsGIF/update.gif">
+   <BR>
+   <FONT COLOR="#5C3317">
+   (Printed Version:
+    <A HREF="../../Welcome/IntroductionToGeant4/print/introductionToGeant4Merged.ps">ps</A>, 
+    <A HREF="../../Welcome/IntroductionToGeant4/print/introductionToGeant4Merged.ps.gz">ps.gz</A>, 
+    <A HREF="../../Welcome/IntroductionToGeant4/print/IntroductionToGeant4Merged.pdf">pdf</A>)
+   </FONT>
+</UL>
+
+<P><BR>
+For information on changes in the User's Documents since the last release, 
+please see the following note.
+<P>
+
+<UL>
+<LI><A HREF="./Changes.html">
+<B>Changes in User's Documents since the last release</B></A>&nbsp;
+   <IMG SRC="../../resources/html/IconsGIF/update.gif">
+</UL>
+
+<P><BR>
+You can search for the all Geant4 User's Documents containing the
+word you specified.
+<P>
+
+<UL>
+<LI><FONT COLOR="#238E23"><B>Searching: Key in a string in the following 
+    field and hit the return key</B></FONT>
+
+<form method="get"
+action="http://www.cern.ch/cgi-bin/directory-search.pl">
+ <input name="SubSearch" type="hidden" value="No">
+ <input name="AdditionalQuery" type="hidden" 
+  value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/">
+ <!-- input name="TemplateFile" type="hidden" value="searchresults.html"
+-->
+ <input name="TemplateFile" type="hidden" value="searchbrowse.html">
+ <!-- "Referer" value, below, must not have a filename.html at the end of
+it... -->
+ <input name="Referer" type="hidden" value="http://wwwinfo.cern.ch/asd/">
+ <input name="qc" type="hidden" value="cern">
+ <input name="col" type="hidden" value="cern">
+ <input type="text" name="qt" size="14">
+ <a href="http://wwwsearch.cern.ch:8765/help/">Tips</a>
+</form>
+
+
+<!-- #SEARCHRESULTS# -->
+</UL>
+
+
+<!-- ============================================== Section --> 
+<BR><HR>
+<FONT COLOR="#238E23">
+<H2>User's Guides</H2>
+</FONT>
+The following four documents comprise a complete set of user's 
+manuals for the Geant4 toolkit.  They contain the information 
+necessary to build a simulation at the novice or advanced level, 
+and to make improvements in the toolkit itself.
+
+<UL>
+<LI><A HREF="../../UsersGuides/InstallationGuide/html/index.html">
+<B>Installation Guide: For setting up Geant4 in your computing 
+   environment</B></A>&nbsp;
+   <IMG SRC="../../resources/html/IconsGIF/update.gif">
+<BR>
+We strongly recommend installing the Geant4 toolkit under your 
+computing environment before starting to read the following 
+user's guides. You will gain much more from the user guides
+if you can check things out with a working version while you
+are reading them.
+This installation guide instructs you in the setting up of the Geant4 
+toolkit on your computer.
+<BR>
+<FONT COLOR="#5C3317">
+(Printed Version:
+<A HREF="../../UsersGuides/InstallationGuide/print/InstallationGuideMerged.ps">ps</A>,
+<A HREF="../../UsersGuides/InstallationGuide/print/InstallationGuideMerged.ps.gz">ps.gz</A>,
+<A HREF="../../UsersGuides/InstallationGuide/print/InstallationGuideMerged.pdf">pdf</A>)
+<BR>
+(Version 7.1:
+<A HREF="../../UsersGuides/InstallationGuide/html71/index.html">html</A>,
+<A HREF="../../UsersGuides/InstallationGuide/print/InstallationGuideMerged71.ps">ps</A>,
+<A HREF="../../UsersGuides/InstallationGuide/print/InstallationGuideMerged71.ps.gz">ps.gz</A>
+<A HREF="../../UsersGuides/InstallationGuide/print/InstallationGuideMerged71.pdf">pdf</A>)
+<BR>
+(Version 7.0:
+<A HREF="../../UsersGuides/InstallationGuide/html70/index.html">html</A>,
+<A HREF="../../UsersGuides/InstallationGuide/print/InstallationGuideMerged70.ps">ps</A>, 
+<A HREF="../../UsersGuides/InstallationGuide/print/InstallationGuideMerged70.ps.gz">ps.gz</A>, 
+<A HREF="../../UsersGuides/InstallationGuide/print/InstallationGuideMerged70.pdf">pdf</A>)
+</FONT>
+<BR><BR>
+
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/index.html">
+<B>User's Guide: For Application Developers</B></A>&nbsp;
+   <IMG SRC="../../resources/html/IconsGIF/update.gif">
+<BR>
+If you are new to Geant4, we recommend that you read this document first.
+The second chapter was written for novice users.  It provides a 
+step-by-step tutorial in the use of Geant4. Subsequent chapters cover the
+toolkit in more detail, describing how to build practical applications.
+Many example codes are provided, which cover most applications and/or
+experiments.  Also included are sections for those who wish to make use
+of the more advanced features of the toolkit.
+<BR>
+<FONT COLOR="#5C3317">
+(Printed Version:
+<A HREF="../../UsersGuides/ForApplicationDeveloper/print/applDeveloperMerged.ps">ps</A>,
+<A HREF="../../UsersGuides/ForApplicationDeveloper/print/applDeveloperMerged.ps.gz">ps.gz</A>,
+<A HREF="../../UsersGuides/ForApplicationDeveloper/print/applDeveloperMerged.pdf">pdf</A>)
+<BR>
+(Version 7.1:
+<A HREF="../../UsersGuides/ForApplicationDeveloper/html71/index.html">html</A>,
+<A HREF="../../UsersGuides/ForApplicationDeveloper/print/applDeveloperMerged71.ps">ps</A>,
+<A HREF="../../UsersGuides/ForApplicationDeveloper/print/applDeveloperMerged71.ps.gz">ps.gz</A>,
+<A HREF="../../UsersGuides/ForApplicationDeveloper/print/applDeveloperMerged71.pdf">pdf</A>)
+<BR>
+(Version 7.0:
+<A HREF="../../UsersGuides/ForApplicationDeveloper/html70/index.html">html</A>,
+<A HREF="../../UsersGuides/ForApplicationDeveloper/print/applDeveloperMerged70.ps">ps</A>, 
+<A HREF="../../UsersGuides/ForApplicationDeveloper/print/applDeveloperMerged70.ps.gz">ps.gz</A>, 
+<A HREF="../../UsersGuides/ForApplicationDeveloper/print/applDeveloperMerged70.pdf">pdf</A>)
+</FONT>
+<BR><BR>
+
+<LI>
+<A HREF="../../UsersGuides/ForToolkitDeveloper/html/index.html">
+<B>User's Guide: For Toolkit Developers</B>
+</A>
+  <IMG SRC="../../resources/html/IconsGIF/update.gif">
+
+<BR>
+This document is for those who wish to extend the functionality of the 
+Geant4 toolkit. This might include adding a new physics process, adding
+a new particle, and so on. It starts with an explanation of the 
+object-oriented analysis and design performed by the original toolkit 
+developers. Understanding this design is mandatory for a new toolkit 
+developer. Then, guidance on how to extend the functionality of each class 
+category is given.
+<BR>
+<FONT COLOR="#5C3317">
+(Printed Version:
+<A HREF="../../UsersGuides/ForToolkitDeveloper/print/toolkitDeveloper.ps">ps</A>, 
+<A HREF="../../UsersGuides/ForToolkitDeveloper/print/toolkitDeveloper.ps.gz">ps.gz</A>, 
+<A HREF="../../UsersGuides/ForToolkitDeveloper/print/toolkitDeveloper.pdf">pdf</A>) 
+<BR>
+(Version 8.0:
+<A HREF="../../UsersGuides/ForToolkitDeveloper/html80/index.html">html</A>,
+<A HREF="../../UsersGuides/ForToolkitDeveloper/print/toolkitDeveloper80.ps">ps</A>,
+<A HREF="../../UsersGuides/ForToolkitDeveloper/print/toolkitDeveloper80.ps.gz">ps.gz</A>,
+<A HREF="../../UsersGuides/ForToolkitDeveloper/print/toolkitDeveloper80.pdf">pdf</A>)
+<BR>
+(Version 7.1:
+<A HREF="../../UsersGuides/ForToolkitDeveloper/html71/index.html">html</A>,
+<A HREF="../../UsersGuides/ForToolkitDeveloper/print/toolkitDeveloper71.ps">ps</A>, 
+<A HREF="../../UsersGuides/ForToolkitDeveloper/print/toolkitDeveloper71.ps.gz">ps.gz</A>, 
+<A HREF="../../UsersGuides/ForToolkitDeveloper/print/toolkitDeveloper71.pdf">pdf</A>)
+</FONT>
+<BR>
+
+<P>
+<LI>
+<A HREF="../../UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html">
+<B>Physics Reference Manual</B></A>&nbsp;
+  <IMG SRC="../../resources/html/IconsGIF/update.gif">
+<BR>
+This is a detailed description of the physics interactions provided in the 
+Geant4 toolkit.  The theory, model or parameterization of each interaction
+is discussed.  There are a few gaps in the Physics Reference Manual which 
+correspond to un-implemented interactions.  There are also a few sections with 
+little documentation.  Improvements in these sections are expected.
+<BR>
+<FONT COLOR="#5C3317">
+(Printed Version:
+<A HREF="../../UsersGuides/PhysicsReferenceManual/print/PhysicsReferenceManual.ps">ps</A>,
+<A HREF="../../UsersGuides/PhysicsReferenceManual/print/PhysicsReferenceManual.ps.gz">ps.gz</A>,
+<A HREF="../../UsersGuides/PhysicsReferenceManual/print/PhysicsReferenceManual.pdf">pdf</A>)
+<BR>
+(Version 7.1:
+<A HREF="../../UsersGuides/PhysicsReferenceManual/html71/PhysicsReferenceManual.html">html</A>,
+<A HREF="../../UsersGuides/PhysicsReferenceManual/print/PhysicsReferenceManual71.ps">ps</A>,
+<A HREF="../../UsersGuides/PhysicsReferenceManual/print/PhysicsReferenceManual71.ps.gz">ps.gz</A>,
+<A HREF="../../UsersGuides/PhysicsReferenceManual/print/PhysicsReferenceManual71.pdf">pdf</A>) 
+<BR>
+(Version 7.0:
+<A HREF="../../UsersGuides/PhysicsReferenceManual/html70/PhysicsReferenceManual.html">html</A>,
+<A HREF="../../UsersGuides/PhysicsReferenceManual/print/PhysicsReferenceManual70.ps">ps</A>, 
+<A HREF="../../UsersGuides/PhysicsReferenceManual/print/PhysicsReferenceManual70.ps.gz">ps.gz</A>, 
+<A HREF="../../UsersGuides/PhysicsReferenceManual/print/PhysicsReferenceManual70.pdf">pdf</A>)
+</FONT>
+<BR><BR>
+
+<LI>
+<A HREF="http://cern.ch/geant4/SRM">
+<B>Software Reference Manual</B></A>&nbsp;
+   <IMG SRC="../../resources/html/IconsGIF/update.gif">
+<BR>
+This is a detailed description of the definitions of classes and their 
+public methods in the toolkit. Text is auto-generated for each selected class
+so there is currently no comprehensive printable version of all classes.
+<BR>
+<FONT COLOR="#5C3317">
+(Version 7.1: 
+<A HREF="http://pcitapiww.cern.ch/asdcgi/geant4/SRM/G4GenDoc71.csh?flag=1">html</A>)
+<BR>
+(Version 7.0: 
+<A HREF="http://pcitapiww.cern.ch/asdcgi/geant4/SRM/G4GenDoc70.csh?flag=1">html</A>)
+</FONT>
+
+</UL>
+
+<!-- ============================================== Section --> 
+<BR><HR>
+<FONT COLOR="#238E23">
+<H2>Contributions from Users</H2>
+</FONT>
+
+To make Geant4 a more powerful and reliable detector simulation
+toolkit, all levels of contributions from you are essential. 
+
+<UL>
+<LI><A HREF="http://cern.ch/geant4/problemreport">
+<B>Bug Reports and Fixes</B></A>
+<BR>
+Bugs reported and problem tracking system.
+<P>
+<LI><A HREF="http://cern.ch/geant4/support/faq.html">
+<B>FAQ</B></A>
+<BR>
+Frequently asked questions from users and answers to them.
+<P>
+<LI><A HREF="http://cern.ch/geant4/G4UsersDocuments/Welcome/IntroductionToGeant4/html/FAQ.html"><B>User Support Policy FAQ</B></A>
+<BR>
+Frequently asked questions from users about support from and interaction with 
+the Geant4 collaboration.
+</UL>
+
+<!-- ============================================== Section --> 
+<BR><BR>
+<HR>
+<A HREF="../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /trunk/documents/UserDoc/Overview/html/site_index.html
===================================================================
--- /trunk/documents/UserDoc/Overview/html/site_index.html	(revision 1208)
+++ /trunk/documents/UserDoc/Overview/html/site_index.html	(revision 1208)
@@ -0,0 +1,572 @@
+
+<HTML>
+<HEAD>
+<TITLE>Test Index</TITLE>
+<!-- Changed by: Dennis Wright, 26-Jun-2003 -->
+</HEAD>
+
+<BODY>
+<P ALIGN="Right">
+<FONT COLOR="#5C3317">
+<B><I>Version:</I></B> <I>Geant4 8.0</I>
+</FONT>
+</P>
+
+<P ALIGN="Center">
+<IMG SRC="../../resources/html/IconsGIF/G4LogoSmall.gif">
+<BR>
+<FONT SIZE="+4" COLOR="#238E23">
+<B>Site Index</B>
+</FONT>
+
+<BR><BR>
+
+<hr>
+<! ========== >
+<H2> A </H2>
+<! ========== >
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html">application developers guide</A>
+
+<LI><A HREF="../../../source/source_archive.html">archived source code</A>
+
+<hr>
+<! ========== >
+<H2> B </H2>
+<! ========== >
+
+<hr>
+<! ========== >
+<h2> C </h2>
+<! ========== >
+<LI>C++
+  <UL>
+  <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Appendix/templateLib.html">standard template library</A>
+  </UL>
+
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Fundamentals/classCategory.html">class categories</A>
+
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Appendix/clhepLHCxx.html">CLHEP</A>
+
+<LI><A HREF="../../../collaboration/coding_guidelines.html">coding guidelines</A>
+
+<LI>collaboration
+  <UL>
+  <LI><A HREF="../../../organisation/addresses.html">members</A>
+  <LI><A HREF="../../../organisation/organisation.html">organization</A>
+  <LI><A HREF="../../../organisation/working_groups.html">working groups</A>
+  </UL>
+
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Control/index.html">commands</A></LI>
+  <UL>
+  <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Control/commands.html">built-in</A>
+  <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Control/userInterfaceCommand.html">user-defined</A>
+  </UL>
+
+<LI>cuts per region
+  <UL>
+  <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/cutsPerRegion.html">assigning production cuts to regions</A>
+  <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Detector/geomLogical.html#4.1.3.1">defining regions</A>
+  </UL>
+
+<LI><A HREF="../../../collaboration/cvs.html">CVS code management</A>
+
+<hr>
+<! ========== >
+<h2> D </h2>
+<! ========== >
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Appendix/developmentDebugTools.html">debugging</A>
+
+<LI><A HREF="../../UsersGuides/PhysicsReferenceManual/html/node11.html">decay</A>
+
+<LI>detector definition
+   <UL>
+   <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Detector/geometry.html">geometry</A>
+     <UL>
+     <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/GettingStarted/geometryDef.html">how to define a detector geometry</A>
+     </UL>
+   <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Detector/material.html">material</A>
+     <UL>
+     <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/GettingStarted/materialDef.html">how to specify materials in the detector</A>
+     </UL>
+   <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Detector/electroMagneticField.html">electromagnetic field</A>
+   </UL>
+
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Detector/hit.html">detector response</A>
+
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Appendix/developmentDebugTools.html">development tools</A>
+
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Detector/digitization.html">digitization</A>
+
+<hr>
+<! ========== >
+<h2> E </h2>
+<! ========== >
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Detector/electroMagneticField.html">electromagnetic field</A>
+  <UL>
+  <LI><A NAME="tex2html152" HREF="../../UsersGuides/ForToolkitDeveloper/html/node20.html">extending functionality</A>
+  <LI><A NAME="tex2html144" HREF="../../UsersGuides/ForToolkitDeveloper/html/node12.html">object-oriented design</A>
+  </UL>
+
+<LI><A NAME="tex2html69"
+       HREF="../../UsersGuides/PhysicsReferenceManual/html/node17.html">electromagnetic interactions</A>
+  <UL>
+    <LI><A NAME="tex2html137"
+     HREF="../../UsersGuides/PhysicsReferenceManual/html/node43.html">annihilation of e+e- pairs</A>
+
+    <LI><A NAME="tex2html224"
+     HREF="../../UsersGuides/PhysicsReferenceManual/html/node62.html">atomic relaxation</A>
+
+    <LI>bremsstrahlung
+      <UL>
+      <LI><A NAME="tex2html132"
+       HREF="../../UsersGuides/PhysicsReferenceManual/html/node42.html">electron</A>
+      <LI><A NAME="tex2html218"
+       HREF="../../UsersGuides/PhysicsReferenceManual/html/node60.html">low energy extension</A>
+      <LI><A NAME="tex2html156"
+       HREF="../../UsersGuides/PhysicsReferenceManual/html/node48.html">muon</A>
+      </UL>   
+
+    <LI><A NAME="tex2html112"
+     HREF="../../UsersGuides/PhysicsReferenceManual/html/node37.html">Cerenkov Effect</A>
+
+    <LI> Compton scattering
+      <UL>
+      <LI><A NAME="tex2html196"
+       HREF="../../UsersGuides/PhysicsReferenceManual/html/node56.html">by linearly polarized gamma rays</A>
+      <LI><A NAME="tex2html191"
+       HREF="../../UsersGuides/PhysicsReferenceManual/html/node55.html">low energy extension</A>
+      <LI><A NAME="tex2html76"
+       HREF="../../UsersGuides/PhysicsReferenceManual/html/node26.html">standard</A>
+      </UL>
+
+    <LI><A NAME="tex2html182"
+     HREF="../../UsersGuides/PhysicsReferenceManual/html/node30.html">energy loss</A>
+      <UL>
+      <LI><A NAME="tex2html296"
+       HREF="../../UsersGuides/PhysicsReferenceManual/html/node41.html#SECTION04412000000000000000">electrons/positrons</A>
+      <LI><A NAME="tex2html269"
+       HREF="../../UsersGuides/PhysicsReferenceManual/html/node31.html">fluctuations</A>
+      <LI><A NAME="tex2html510"
+       HREF="../../UsersGuides/PhysicsReferenceManual/html/node30.html#SECTION04313000000000000000">hadrons, charged</A>
+      <LI><A NAME="tex2html411"
+       HREF="../../UsersGuides/PhysicsReferenceManual/html/node47.html#SECTION04512000000000000000">muons</A>
+      </UL>
+
+    <LI> gamma conversion
+      <UL>
+      <LI><A NAME="tex2html82"
+       HREF="../../UsersGuides/PhysicsReferenceManual/html/node27.html">to (e+,e-) pairs</A>
+      <LI><A NAME="tex2html208"
+       HREF="../../UsersGuides/PhysicsReferenceManual/html/node58.html">low energy extension</A>
+      <LI><A NAME="tex2html87"
+       HREF="../../UsersGuides/PhysicsReferenceManual/html/node28.html">to (mu+,mu-) pairs</A>
+      </UL>
+
+    <LI> ionization
+      <UL>
+      <LI><A NAME="tex2html125"
+       HREF="../../UsersGuides/PhysicsReferenceManual/html/node41.html">electron</A>
+      <LI><A NAME="tex2html221"
+       HREF="../../UsersGuides/PhysicsReferenceManual/html/node61.html">electron, low energy extension</A>
+      <LI><A NAME="tex2html175"
+       HREF="../../UsersGuides/PhysicsReferenceManual/html/node52.html">hadron, charged</A>
+      <LI><A NAME="tex2html229"
+       HREF="../../UsersGuides/PhysicsReferenceManual/html/node63.html">hadron and ion, low energy extension</A>
+      <LI><A NAME="tex2html149"
+       HREF="../../UsersGuides/PhysicsReferenceManual/html/node47.html">muon</A>
+      </UL>
+
+    <LI><A NAME="tex2html183"
+     HREF="../../UsersGuides/PhysicsReferenceManual/html/node53.html">low energy extensions</A>
+
+    <LI><A NAME="tex2html189"
+     HREF="../../UsersGuides/PhysicsReferenceManual/html/node34.html">multiple scattering</A>
+
+    <LI><A NAME="tex2html168"
+     HREF="../../UsersGuides/PhysicsReferenceManual/html/node50.html">muon e+e- pair production</A>
+
+    <LI><A NAME="tex2html163"
+     HREF="../../UsersGuides/PhysicsReferenceManual/html/node49.html">muon photonuclear interaction</A>
+
+    <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/physicsProcess.html#5.2.5">optical photons</A>
+      <UL>
+      <LI><A NAME="tex2html244"
+       HREF="../../UsersGuides/PhysicsReferenceManual/html/node66.html">physics</A>
+      </UL>
+
+    <LI><A NAME="tex2html120"
+     HREF="../../UsersGuides/PhysicsReferenceManual/html/node39.html">photoabsorption cross section at low energies</A>
+
+    <LI><A NAME="tex2html115"
+     HREF="../../UsersGuides/PhysicsReferenceManual/html/node38.html">photoabsorption ionization model</A>
+
+    <LI> photo-electric effect
+      <UL>
+      <LI><A NAME="tex2html213"
+       HREF="../../UsersGuides/PhysicsReferenceManual/html/node59.html">low energy extension</A>
+      <LI><A NAME="tex2html71"
+       HREF="../../UsersGuides/PhysicsReferenceManual/html/node25.html">standard</A>
+      </UL>
+
+    <LI><A NAME="tex2html260"
+     HREF="../../UsersGuides/PhysicsReferenceManual/html/node33.html">range to kinetic energy conversion</A>
+
+    <LI><A NAME="tex2html203"
+     HREF="../../UsersGuides/PhysicsReferenceManual/html/node57.html">Rayleigh effect</A>
+
+    <LI><A NAME="tex2html110"
+     HREF="../../UsersGuides/PhysicsReferenceManual/html/node36.html">scintillation</A>
+
+    <LI><A NAME="tex2html143"
+     HREF="../../UsersGuides/PhysicsReferenceManual/html/node45.html">synchrotron radiation</A>
+
+    <LI><A NAME="tex2html104"
+     HREF="../../UsersGuides/PhysicsReferenceManual/html/node35.html">transition radiation</A>
+
+    <LI><A NAME="tex2html251"
+     HREF="../../UsersGuides/PhysicsReferenceManual/html/node18.html">transportation of particles</A>
+    </UL>
+
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Appendix/makeFile.html">environment variables</A>
+
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Fundamentals/event.html">event</A>
+  <UL>  
+  <LI><A NAME="tex2html138" HREF="../../UsersGuides/ForToolkitDeveloper/html/node7.html">object-oriented design</A>
+  </UL>
+
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Fundamentals/biasing.html">event biasing techniques</A>
+
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Fundamentals/eventGenerator.html">event generator interface</A>
+  <UL>
+  <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/GettingStarted/eventDef.html">how to generate a primary event</A>
+  </UL>
+
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Examples/index.html">examples</A>
+  <UL>
+  <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Examples/NoviceCodes.html">novice</A>
+  <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Examples/ExtendedCodes.html">extended</A>
+  <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Examples/AdvancedCodes.html">advanced</A>
+  </UL>
+
+<LI>executable
+  <UL>
+  <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Appendix/makeFile.html">makefiles and environment variables</A>
+  <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Appendix/buildFile.html">MS Visual C++</A>
+  <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/GettingStarted/executeProgram.html">how to execute a program</A>
+  <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/GettingStarted/makeFile.html">how to make an executable program</A>
+  <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Appendix/tipsCompilation.html">tips for program compilation</A>
+  </UL>
+
+<LI><A NAME="tex2html150" HREF="../../UsersGuides/ForToolkitDeveloper/html/node18.html">extending Geant4 class functionality</A>
+
+<hr>
+<! ========== >
+<H2> F </H2>
+<! ========== >
+<LI><A HREF="../../../support/faq.html">FAQ</A>
+  <UL>
+  <LI><A HREF="../../Welcome/IntroductionToGeant4/html/FAQ.html">user support policy</A>
+  </UL>
+
+<hr>
+<! ========== >
+<H2> G </H2>
+<! ========== >
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Detector/geometry.html">geometry</A>
+  <UL>
+  <LI><A NAME="tex2html158" HREF="../../UsersGuides/ForToolkitDeveloper/html/node25.html">class diagrams</A>
+  <LI><A NAME="tex2html151" HREF="../../UsersGuides/ForToolkitDeveloper/html/node19.html">extending functionality</A>
+  <LI><A NAME="tex2html143" HREF="../../UsersGuides/ForToolkitDeveloper/html/node11.html">object-oriented design</A>
+  </UL>
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/GettingStarted/index.html">getting started with Geant4</A>
+
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Fundamentals/global.html">global usage classes</A>
+  <UL>
+  <LI><A NAME="tex2html147" HREF="../../UsersGuides/ForToolkitDeveloper/html/node15.html">object-oriented design</A>
+  </UL>
+
+<hr>
+<! ========== >
+<H2> H </H2>
+<! ========== >
+<LI><A NAME="tex2html274"
+ HREF="../../UsersGuides/PhysicsReferenceManual/html/node69.html">hadronic interactions</A>
+  <UL>
+  <LI><A NAME="tex2html333"
+   HREF="../../UsersGuides/PhysicsReferenceManual/html/node134.html">abrasion-ablation model</A>
+
+  <LI><A NAME="tex2html333"
+   HREF="../../UsersGuides/PhysicsReferenceManual/html/node124.html">Bertini intranuclear cascade model</A>
+
+  <LI><A NAME="tex2html345"
+   HREF="../../UsersGuides/PhysicsReferenceManual/html/node130.html">binary cascade model</A>
+
+  <LI><A NAME="tex2html325"
+   HREF="../../UsersGuides/PhysicsReferenceManual/html/node112.html">chiral invariant phase space decay</A>
+
+  <LI><A NAME="tex2html286"
+   HREF="../../UsersGuides/PhysicsReferenceManual/html/node87.html">coherent elastic scattering</A>
+
+  <LI><A NAME="tex2html377"
+   HREF="../../UsersGuides/PhysicsReferenceManual/html/node89.html">elastic scattering at medium and high energies</A>
+
+  <LI><A NAME="tex2html377"
+   HREF="../../UsersGuides/PhysicsReferenceManual/html/node144.html">electromagnetic dissociation</A>
+
+  <LI><A NAME="tex2html377"
+   HREF="../../UsersGuides/PhysicsReferenceManual/html/node153.html">evaporation model</A>
+
+  <LI><A NAME="tex2html154" HREF="../../UsersGuides/ForToolkitDeveloper/html/node22.html">extending hadronic physics functionality</A>
+
+  <LI><A NAME="tex2html409"
+   HREF="../../UsersGuides/PhysicsReferenceManual/html/node166.html">Fermi break-up model</A>
+
+  <LI><A NAME="tex2html400"
+   HREF="../../UsersGuides/PhysicsReferenceManual/html/node162.html">fission model</A>
+
+  <LI><A NAME="tex2html297"
+   HREF="../../UsersGuides/PhysicsReferenceManual/html/node100.html">leading particle bias</A>
+
+  <LI><A NAME="tex2html427"
+   HREF="../../UsersGuides/PhysicsReferenceManual/html/node172.html">low energy neutron interactions</A>
+
+  <LI><A NAME="tex2html417"
+   HREF="../../UsersGuides/PhysicsReferenceManual/html/node169.html">multifragmentation model</A>
+
+  <LI><A NAME="tex2html276"
+   HREF="../../UsersGuides/PhysicsReferenceManual/html/node70.html">muon-nucleus interactions</A>
+
+  <LI><A NAME="tex2html292"
+   HREF="../../UsersGuides/PhysicsReferenceManual/html/node95.html">parametrization driven models</A>
+
+  <LI><A
+   HREF="../../UsersGuides/PhysicsReferenceManual/html/node79.html">nucleus-nucleus reaction cross sections</A>
+
+  <LI><A NAME="tex2html305"
+   HREF="../../UsersGuides/PhysicsReferenceManual/html/node105.html">parton string model</A>
+
+  <LI><A NAME="tex2html280"
+   HREF="../../UsersGuides/PhysicsReferenceManual/html/node74.html">photonuclear and electronuclear cross sections</A>
+
+  <LI><A NAME="tex2html365"
+   HREF="../../UsersGuides/PhysicsReferenceManual/html/node148.html">precompound model</A>
+
+  <LI><A NAME="tex2html437"
+   HREF="../../UsersGuides/PhysicsReferenceManual/html/node179.html">radioactive decay</A>
+
+  <LI><A NAME="tex2html288"
+   HREF="../../UsersGuides/PhysicsReferenceManual/html/node93.html">stopping particles</A>
+
+  </UL>
+
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Appendix/histogramming.html">histogramming</A>
+
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Detector/hit.html">hits</A>
+   <UL> 
+   <LI><A NAME="tex2html142" HREF="../../UsersGuides/ForToolkitDeveloper/html/node10.html">object-oriented design of</A>
+   </UL>
+
+<hr>
+<! ========== >
+<h2> I </h2>
+<! ========== >
+<LI><A HREF="../../UsersGuides/InstallationGuide/html">installation guide</A>
+
+<LI><A HREF="../../UsersGuides/InstallationGuide/html/Introduction/introduction.html">installing Geant4</A>
+  <UL>
+  <LI><A HREF="../../UsersGuides/InstallationGuide/html/UnixMachines/unixMachines.html">on Unix/Linux</A>
+  <LI><A HREF="../../UsersGuides/InstallationGuide/html/PCMachines/pcMachines.html">on Windows</A>
+  </UL>
+
+<LI><A HREF="../../Welcome/IntroductionToGeant4/html/index.html">introduction to Geant4</A>
+
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/GettingStarted/graphicalUserInterface.html">interactive session, setting up</A>
+
+<hr>
+<! ========== >
+<h2> JKL </h2>
+<! ========== >
+
+<hr>
+<! ========== >
+<h2> M </h2>
+<! ========== >
+<LI><A HREF="../../../subscribe.html">mailing list, subscription</A>
+
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/GettingStarted/mainProgram.html">main() program, how to define</A>
+
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Appendix/makeFile.html">makefiles</A>
+
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Detector/material.html">materials</A>
+  <UL>
+  <LI><A NAME="tex2html146" HREF="../../UsersGuides/ForToolkitDeveloper/html/node14.html">object-oriented design</A>
+  </UL>
+
+<LI><A HREF="../../UsersGuides/PhysicsReferenceManual/html/node7.html">Monte Carlo methods</A>
+
+<hr>
+<! ========== >
+<h2> N </h2>
+<! ========== >
+
+<hr>
+<! ========== >
+<h2> O </h2>
+<! ========== >
+<LI><A NAME="tex2html137" HREF="../../UsersGuides/ForToolkitDeveloper/html/node4.html">object-oriented design of Geant4 categories</A>
+
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Detector/persistency.html">object persistency</A>
+
+<hr>
+<! ========== >
+<h2> P </h2>
+<! ========== >
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/particle.html">particles</A>
+  <UL>
+  <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/GettingStarted/particleDef.html">how to specify particles</A>
+  <LI><A NAME="tex2html145" HREF="../../UsersGuides/ForToolkitDeveloper/html/node13.html">object-oriented design</A>
+  </UL>
+
+<LI><A HREF="../../UsersGuides/PhysicsReferenceManual/html/node12.html">particle decay</A>
+
+<LI><A HREF="../../UsersGuides/PhysicsReferenceManual/html/node64.html">Penelope processes</A>
+
+<LI>physics lists
+  <UL>
+  <LI><A HREF="http://cern.ch/geant4/physics_lists">hadronic</A>
+  </UL>
+
+<LI><A HREF="../../UsersGuides/PhysicsReferenceManual/html/node1.html">physics reference manual</A>
+
+<LI><A HREF="http://cern.ch/geant4/problemreport">problem reporting</A>
+
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/physicsProcess.html">processes, physics</A>
+  <UL> 
+  <LI><A NAME="tex2html153" HREF="../../UsersGuides/ForToolkitDeveloper/html/node21.html">extending functionality</A>
+  <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/GettingStarted/physicsDef.html">how to specify physics processes</A>
+  <LI><A NAME="tex2html141" HREF="../../UsersGuides/ForToolkitDeveloper/html/node9.html">object-oriented design of</A>
+  </UL>
+
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/thresholdVScut.html">production threshold</A>
+
+<hr>
+<! ========== >
+<h2> Q </h2>
+<! ========== >
+
+<hr>
+<! ========== >
+<h2> R </h2>
+<! ========== >
+<LI><A HREF="../../../reports/reports.html">reports and publications</A>
+
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Fundamentals/run.html">run</A>
+  <UL>
+  <LI><A NAME="tex2html138" HREF="../../UsersGuides/ForToolkitDeveloper/html/node6.html">object-oriented design</A>
+  </UL>
+
+<hr>
+<! ========== >
+<H2> S </H2>
+<! ========== >
+<LI><A HREF="../../../search.html">search, Geant4 site</A>
+
+<LI><A HREF="../../UsersGuides/PhysicsReferenceManual/html/node67.html">shower parameterizations</A>
+
+<LI><A HREF="http://cern.ch/geant4/SRM">software reference manual</A>
+
+<LI><A HREF="../../../milestones/software_process/software_process.html">software process improvement</A>
+
+<LI><A HREF="../../../source/source.html">source code</A>
+  <UL>
+  <LI><A HREF="../../../source/source_archive.html">archived code</A>
+  <LI><A HREF="http://g4u.kek.jp/lxr/source">LXR code browser</A>
+  </UL>
+
+<hr>
+<! ========== >
+<h2> T </h2>
+<! ========== >
+<LI><A HREF="../../../working_groups/testing/tag_release_policy.html">tagging and release policy</A>
+
+<LI><A HREF="../../UsersGuides/ForToolkitDeveloper/html">toolkit developers guide</A>
+
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/tracking.html">tracking</A>
+  <UL>
+  <LI><A NAME="tex2html139" HREF="../../UsersGuides/ForToolkitDeveloper/html/node8.html">object-oriented design</A>
+  </UL>
+
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/thresholdVScut.html">tracking cuts</A>
+
+<LI><A HREF="../../../milestones/training/training-milestone.html">training materials</A>
+
+<LI><A HREF="../../UsersGuides/PhysicsReferenceManual/html/node18.html">transportation</A>
+
+<hr>
+<! ========== >
+<h2> U </h2>
+<! ========== >
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Fundamentals/unitSystem.html">units, system of</A>
+
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/UserActions/index.html">user actions</A>
+  <UL>
+  <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/UserActions/MandatoryActions.html">mandatory</A>
+  <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/UserActions/OptionalActions.html">optional</A>
+  </UL>
+
+<LI><A HREF="http://geant4-hn.slac.stanford.edu:5090/Geant4-HyperNews/index">user forum</A>
+
+<LI>user interface
+  <UL>
+  <LI><A NAME="tex2html149" HREF="../../UsersGuides/ForToolkitDeveloper/html/node17.html">object-oriented design</A>
+  </UL>
+
+<LI>user requirements
+  <UL>
+  <LI><A HREF="http://cern.ch/geant4/OOAandD/URD.pdf">user requirements document (pdf)</A>
+  <LI><A HREF="http://geant4.cern.ch/cgi-bin/urd">user requirements tracker</A>
+  </UL>
+
+<hr>
+<! ========== >
+<h2> V </h2>
+<! ========== >
+<LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Visualization/index.html">visualization</A>
+   <UL>
+   <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Visualization/attributes.html">attributes</A>
+   <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Visualization/visexecutable.html">building an executable</A>
+   <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Visualization/commandcontrol.html">built-in commands</A>
+   <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Visualization/visdrivers.html">drivers</A>
+   <LI><A NAME="tex2html156" HREF="../../UsersGuides/ForToolkitDeveloper/html/node23.html">extending functionality</A>
+   <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/GettingStarted/visualization.html">how to visualize detector and events</A>
+   <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Visualization/commandcontrol.html">interactive</A>
+   <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Visualization/compiledcontrol.html">non-interactive</A>
+   <LI><A NAME="tex2html148" HREF="../../UsersGuides/ForToolkitDeveloper/html/node16.html">object-oriented design</A>
+   <LI><A HREF="../../UsersGuides/ForApplicationDeveloper/html/Visualization/markertext.html">polylines, markers and text</A>
+   </UL>
+
+<hr>
+<! ========== >
+<H2> W </H2>
+<! ========== >
+<LI><A HREF="../../../reports/other_g4_webs.html">web sites, Geant4-related</A>
+
+<LI><A HREF="../../../organisation/working_groups.html">working groups</A>
+
+<hr>
+<! ========== >
+<h2> XYZ </h2>
+<! ========== >
+
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+<A HREF="mailto: dwright@slac.stanford.edu">DHW</A> 15 December 2005
+
+</BODY>
+</HTML>
+
+
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/CVS/Entries	(revision 1208)
@@ -0,0 +1,5 @@
+D/ForApplicationDeveloper////
+D/ForToolkitDeveloper////
+D/InstallationGuide////
+D/PhysicsReferenceManual////
+D/SoftwareReferenceManual////
Index: /trunk/documents/UserDoc/UsersGuides/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides
Index: /trunk/documents/UserDoc/UsersGuides/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+D/html////
+D/print////
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/CVS/Entries	(revision 1208)
@@ -0,0 +1,9 @@
+/buildFile.html/1.11/Mon Dec 18 10:28:24 2006//
+/clhepLHCxx.html/1.14/Mon Dec 18 10:28:24 2006//
+/developmentDebugTools.html/1.11/Mon Dec 18 10:28:24 2006//
+/histogramming.html/1.14/Mon Dec 18 10:28:24 2006//
+/index.html/1.15/Mon Dec 18 10:28:24 2006//
+/templateLib.html/1.19/Mon Dec 18 10:28:24 2006//
+/tipsCompilation.html/1.24/Mon Dec 18 10:28:24 2006//
+D/particleList.src////
+/makeFile.html/1.35/Mon Feb  9 14:00:29 2009//
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/buildFile.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/buildFile.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/buildFile.html	(revision 1208)
@@ -0,0 +1,68 @@
+<HTML>
+<TITLE>
+</TITLE>
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+
+
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="makeFile.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A HREF="developmentDebugTools.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>For Application Developers</B>
+<BR>
+<B>Appendix</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>10.6 Build for MS Visual C++</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%"> 
+<BR><BR> 
+Geant4 can be compiled with the C++
+compiler of MS Visual Studio C++ and the <a target="ext"
+href="http://cygwin.com">Cygwin toolset</A>.  Detailed
+instructions are given in the Installation manual. As the build system relies
+on <TT>make</TT> and other Unix tools using only the compiler of MS Visual
+Studio, the section on <A HREF="makeFile.html">Makefile and environment
+variables</A> applies also for building with MS Visual C++. 
+<P> 
+We do not support compilation directly under MS Visual Studio, i.e. we do not
+provide workspace files <TT>(.dsw)</TT> or project files (<TT>.dsp</TT>). 
+<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>
+You can find below some useful pages collecting instructions on how to start
+with the installation of CygWin, and also tips for creating a project under
+Visual Studio:
+<UL>
+<LI><A target="ext"
+       HREF="http://geant4.slac.stanford.edu/tutorial/installation/">Step by
+       step Installation Guides</A>.</LI>
+<LI><A target="ext"
+       HREF="http://www.lcsim.org/docs/gettingstarted/Cygwin/">Getting
+       started with Cygwin</A>.</LI>
+<LI><A target="ext"
+       HREF="http://www.lcsim.org/docs/gettingstarted/geant4msvc++/net2003/index.htm">Building
+       a MSVC++ .NET 2003 Geant4 project</A>.</LI>
+</UL>
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/clhepLHCxx.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/clhepLHCxx.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/clhepLHCxx.html	(revision 1208)
@@ -0,0 +1,97 @@
+<HTML>
+<TITLE>
+</TITLE>
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+
+
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="histogramming.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A HREF="templateLib.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>For Application Developers</B>
+<BR>
+<B>Appendix</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<A name="10.3">
+<B>10.3 CLHEP Foundation Library</B></A>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+<p>
+<A HREF="http://cern.ch/clhep">
+CLHEP</A> <A HREF="#CLHEP-home">[1]</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">
+Reference Guide</A> <A HREF="#CLHEP-ref">[2]</a> and a 
+<A HREF="http://cern.ch/clhep/manual/UserGuide">
+User Guide</A> <A HREF="#CLHEP-man">[3]</a> are available.
+</p>
+
+<b>Origin and current situation of CLHEP</b>
+<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>
+<br>
+
+<b>Geant4 and CLHEP</b>
+<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>
+<P>&nbsp;</P>
+
+<HR>
+
+<table>
+<tr><td valign=top><a name="CLHEP-home">[1]</a>
+<td><a href="http://cern.ch/clhep">
+    cern.ch/clhep</a>
+<tr><td valign=top><a name="CLHEP-ref">[2]</a>
+<td><a href="http://cern.ch/clhep/manual/RefGuide">
+    cern.ch/clhep/manual/RefGuide</a>
+<tr><td valign=top><a name="CLHEP-man">[3]</a>
+<td><a href="http://cern.ch/clhep/manual/UserGuide">
+    cern.ch/clhep/manual/UserGuide</a>
+</table>
+
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/developmentDebugTools.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/developmentDebugTools.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/developmentDebugTools.html	(revision 1208)
@@ -0,0 +1,107 @@
+<HTML>
+<TITLE>
+</TITLE>
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+
+
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="buildFile.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A>
+<IMG SRC="../../../../resources/html/IconsGIF/NextGR.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>For Application Developers</B>
+<BR>
+<B>Appendix</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<A name="10.7">
+<B>10.7 Development and debug tools</B></A>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+
+<!-- ============================================== Section --> 
+<H2>1. UNIX</H2>
+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.
+
+<UL>
+<LI>The <a href="http://kdevelop.org">KDevelop environment</a> <a href="#KDevelop">[1]</a>
+    on Linux systems.</LI>
+<LI>The GNU <a href="http://www.gnu.org/software/ddd">Data Display Debugger</a>
+    (DDD) <a href="#DDD">[2]</a>.</LI>
+<LI><a href="http://valgrind.org">Valgrind</a>, a system for debugging and
+    profiling Linux programs <a href="#Valgrind">[3]</a>.</LI>
+<LI>SUN <a href="http://developers.sun.com/sw/products/overview.html">SUN ONE Studio environment</a>
+    (former Workshop) <a href="#Forte">[4]</a>.</LI>
+<LI>Microsoft <a href="http://msdn.microsoft.com/vstudio">Visual Studio</a>
+    development environment <a href="#VStudio">[5]</a>.</LI>
+<LI>Parasoft <a href="http://www.parasoft.com/products/insure">Insure++</a>
+    run-time debugger and memory checker <a href="#Insure">[6]</a>
+<LI>Parasoft <a href="http://www.parasoft.com/jsp/products/home.jsp?product=CppTest">C++ Test</a>
+    source code analyzer <a href="#CWizard">[7]</a>.
+<LI><a href="http://www-306.ibm.com/software/rational/offerings/design.html">Rational Rose</a> CASE
+    tool <a href="#Rose">[8]</a>.
+<LI><a href="http://www.togethersoft.com/products/controlcenter">Together ControlCenter</a>
+    development environment <a href="#Together">[9]</a>.
+<LI><a href="http://www.telelogic.com/products/logiscope/index.cfm">Logiscope</a> tool for
+    metrics analysis <a href="#Logiscope">[10]</a>.
+<LI><a href="http://www-306.ibm.com/software/rational/offerings/lifecycle.html">Rational Unified Process</a> (RUP)
+    tool for Software engineering<a href="#RUP">[11]</a>
+</UL>
+
+<P>
+<HR>
+
+<P>
+<table>
+<tr><td valign=top><a name="KDevelop">[1]</a>
+<td><a href="http://kdevelop.org">http://kdevelop.org</a>
+<tr><td valign=top><a name="DDD">[2]</a>
+<td><a href="http://www.gnu.org/software/ddd">http://www.gnu.org/software/ddd</a>
+<tr><td valign=top><a name="Valgrind">[3]</a>
+<td><a href="http://valgrind.org">http://valgrind.org</a>
+<tr><td valign=top><a name="Forte">[4]</a>
+<td><a href="http://developers.sun.com/sw/products/overview.html">http://wwws.sun.com/software/sundev/suncc</a>
+<tr><td valign=top><a name="VStudio">[5]</a>
+<td><a href="http://msdn.microsoft.com/vstudio">http://msdn.microsoft.com/vstudio</a>
+<tr><td valign=top><a name="Insure">[6]</a>
+<td><a href="http://www.parasoft.com/products/insure">http://www.parasoft.com/products/insure</a>
+<tr><td valign=top><a name="CWizard">[7]</a>
+<td><a href="http://www.parasoft.com/jsp/products/home.jsp?product=CppTest">http://www.parasoft.com/jsp/products/home.jsp?product=CppTest</a>
+<tr><td valign=top><a name="Rose">[8]</a>
+<td><a href="http://www-306.ibm.com/software/rational/offerings/design.html">http://www-306.ibm.com/software/offerings/design.html</a>
+<tr><td valign=top><a name="Together">[9]</a>
+<td><a href="http://www.togethersoft.com/products/controlcenter">http://www.togethersoft.com/products/controlcenter</a>
+<tr><td valign=top><a name="Logiscope">[10]</a>
+<td><a href="http://www.telelogic.com/products/logiscope/index.cfm">http://www.telelogic.com/products/logiscope/index.cfm</a>
+<tr><td valign=top><a name="RUP">[11]</a>
+<td><a href="http://www-306.ibm.com/software/rational/offerings/lifecycle.html">http://www-306.ibm.com/software/rational/offerings/lifecycle.html</a>
+</table>
+<P>
+
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/histogramming.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/histogramming.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/histogramming.html	(revision 1208)
@@ -0,0 +1,107 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+</HEAD>
+
+<BODY>
+
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+
+</A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A>
+<A HREF="tipsCompilation.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<A HREF="clhepLHCxx.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></A>
+</TD>
+
+<TD ALIGN="Right"><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B> <BR>
+<B>For Application Developers</B> <BR>
+<B>Appendix</B> </FONT></FONT> 
+</TD>
+</TR>
+</TABLE>
+
+<P>
+<BR><BR>
+
+
+<CENTER><P><FONT COLOR="#238E23"><FONT SIZE=+3>
+<A name="10.2">
+<B>10.2 Histogramming</B></A>
+</FONT></FONT> 
+</CENTER>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%"><BR>
+<BR>
+
+<!-- ============================================== Section -->
+<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">AIDA</a> abstract 
+interfaces for Data Analysis <a href="#AIDA-doc">[1]</a></P>
+<P>
+Consequently, you may use your favourite package together with the Geant4 
+toolkit.</P>
+
+<!-- ============================================== Section --> 
+
+<A name="10.2.1">
+<H2>10.2.1 JAS</H2></A>
+<P>
+Please refer to the <A HREF="http://jas.freehep.org/documentation.htm">
+JAS documentation</A> on histogramming for using the JAVA Analysis Studio 
+tool <a href="#JAS-doc">[2]</a>. </P>
+
+<A name="10.2.2">
+<H2>10.2.2 PI</H2></A>
+<P>
+Please refer to the <A HREF="http://cern.ch/pi">
+PI (Physicist Interfaces)</A> project pages on histogramming for using
+an AIDA Interactive Analysis Environment <a href="#PI-doc">[3]</a>. </P>
+
+<A name="10.2.3">
+<H2>10.2.3 Open Scientist Lab</H2></A>
+<P>
+Please refer to the <A HREF="http://www.lal.in2p3.fr/OpenScientist">
+Open Scientist Lab documentation</A> on histogramming for using the Lab
+Analysis plug-in for the OnX package <a href="#Lab-doc">[4]</a>. </P>
+
+<A name="10.2.4">
+<H2>10.2.4 Examples</H2></A>
+<P>
+Examples in Geant4 showing how to use AIDA compliant tools for histogramming 
+are available in the code distribution in the 
+<tt>geant4/examples/extended/analysis</tt>,
+<tt>geant4/examples/extended/electromagnetic</tt> and 
+<tt>geant4/examples/advanced</tt> directories.</P>
+
+<HR>
+<P>
+<table>
+<tr><td valign=top><a name="AIDA-doc">[1]</a>
+<td><a href="http://aida.freehep.org">http://aida.freehep.org</a>
+<tr><td valign=top><a name="JAS-doc">[2]</a>
+<td><a href="http://jas.freehep.org/documentation.htm">
+    http://jas.freehep.org/documentation.htm</a>
+<tr><td valign=top><a name="PI-doc">[3]</a>
+<td><a href="http://lcgapp.cern.ch/doxygen/PI/snapshot/doxygen">
+    http://lcgapp.cern.ch/doxygen/PI/snapshot/doxygen</a>
+<tr><td valign=top><a name="Lab-doc">[4]</a>
+<td><a href="http://www.lal.in2p3.fr/OpenScientist">
+    http://www.lal.in2p3.fr/OpenScientist</a>
+</table>
+<P>
+
+<HR><A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</A></I>   </P>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/index.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/index.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/index.html	(revision 1208)
@@ -0,0 +1,95 @@
+<HTML>
+<HEAD>
+</HEAD>
+
+<TITLE>ADG: Appendix</TITLE>
+<BODY>
+<BR>
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+
+
+</A>
+<A HREF="../index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59>
+</A>
+<A HREF="../Examples/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59>
+</A>
+<IMG SRC="../../../../resources/html/IconsGIF/NextGR.gif" ALT="Next" HEIGHT=16 WIDTH=59>
+</TD>
+
+<TD></TD>
+<TD ALIGN=RIGHT><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Documents</B>
+<BR>
+
+<B>Geant4 User's Guide</B>
+<BR>
+
+<B>For Application Developers</B>
+<BR>
+
+</FONT></FONT>
+</TD>
+</TR>
+</TABLE>
+<P>
+<BR>
+
+<CENTER><B><FONT COLOR="#238E23"><FONT SIZE=+4>
+</FONT></FONT></B>
+</CENTER>
+
+<CENTER><B><FONT COLOR="#238E23"><FONT SIZE=+2>
+<B>10. Appendix</B>
+</FONT></FONT></B>
+</CENTER>
+<P>
+<BR>
+
+<HR ALIGN="Center" SIZE="7%">
+
+<!-- ============================================== Section -->
+<BR><BR>
+<B>
+   <OL>
+   <LI>
+   <A HREF="tipsCompilation.html">
+   Tips for Program Compilation</A></LI>
+   <LI>
+   <A HREF="histogramming.html">
+   Histogramming</A></LI>
+   <LI>
+   <A HREF="clhepLHCxx.html">
+   CLHEP foundation library</A></LI>
+   <LI>
+   <A HREF="templateLib.html">
+   C++ Standard Template Library</A></LI>
+   <LI>
+   <A HREF="makeFile.html">
+   Makefiles and Environment Variables</A></LI>
+   <LI>
+   <A HREF="buildFile.html">
+   Build for MS Visual C++</A></LI>
+   <LI>
+   <A HREF="developmentDebugTools.html">
+   Development and Debug Tools</A></LI>
+   </OL>
+</OL>
+
+
+</B>
+
+
+<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
+
+<!-- ============================================== Section -->
+<P><HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</A></I>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/makeFile.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/makeFile.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/makeFile.html	(revision 1208)
@@ -0,0 +1,497 @@
+<HTML>
+<TITLE>
+</TITLE>
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+
+
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="templateLib.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A HREF="buildFile.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>For Application Developers</B>
+<BR>
+<B>Appendix</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<A name="10.5">
+<B>10.5 Makefiles and Environment Variables</B></A>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+<!-- ============================================== Section --> 
+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>
+
+<A name="10.5.1">
+<H2>10.5.1 The GNUmake system in Geant4</H2></A>
+
+As described in <A HREF="../../../InstallationGuide/html/UnixMachines/unixMachines.html#2.1">section
+2.1</A> of the Installation Guide, the GNUmake process in
+Geant4 is mainly controlled by the following GNUmake script files
+(<KBD>*.gmk</KBD> scripts are placed in <KBD>$G4INSTALL/config</KBD>):
+<UL>
+<LI><KBD>architecture.gmk</KBD>: defining all the architecture specific 
+    settings and paths. System settings are stored in
+    <KBD>$G4INSTALL/config/sys</KBD> in separate files.
+<LI><KBD>common.gmk</KBD>: defining all general GNUmake rules for building
+    objects and libraries.
+<LI><KBD>globlib.gmk</KBD>: defining all general GNUmake rules for building
+    compound libraries.
+<LI><KBD>binmake.gmk</KBD>: defining the general GNUmake rules for building
+    executables.
+<LI><KBD>GNUmake</KBD> 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.
+</UL>
+
+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 "<KBD>gmake</KBD>" command from there 
+("<KBD>gmake global</KBD>" 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:
+<UL>
+<LI><KBD>gmake</KBD><BR>
+  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,
+  <b>not</b> the compound one.  The top level <KBD>GNUmakefile</KBD> in
+  <KBD>$G4INSTALL/source</KBD> will also build in this case a dependency
+  map <KBD>libname.map</KBD> of each library to establish the linking order
+  automatically at the <KBD>bin</KBD> step. The map will be placed in
+  <KBD>$G4LIB/$G4SYSTEM</KBD>.
+<LI><KBD>gmake global</KBD><BR>
+  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).
+<LI><KBD>gmake bin</KBD> or <KBD>gmake</KBD> (only for examples/)<BR>
+  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 <b>all</b>
+  kernel libraries are already generated and placed in the
+  correct <KBD>$G4INSTALL</KBD> path defined for them.<BR>
+  The linking order is controlled automatically in case libraries have been
+  built with maximum granularity, and the link list is generated on the fly.
+<LI><KBD>make dll</KBD><BR>
+  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.
+</UL>
+
+<B><KBD>lib/ bin/</KBD> and <KBD>tmp/</KBD> directories</B>
+<P>
+The <KBD>$G4INSTALL</KBD> environment variable specifies where the 
+installation of
+the Geant4 toolkit should take place, therefore kernel libraries will
+be placed in <KBD>$G4INSTALL/lib</KBD>.
+The <KBD>$G4WORKDIR</KBD> 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 <KBD>$G4WORKDIR/tmp</KBD>, according to the system architecture used.
+Binaries will be placed in <KBD>$G4WORKDIR/bin</KBD>, according to the 
+system architecture used.
+The path to <KBD>$G4WORKDIR/bin/$G4SYSTEM</KBD> should be added to 
+<KBD>$PATH</KBD> in the user environment.
+<P>
+
+<!-- ============================================== Section --> 
+<HR>
+<A name="10.5.2">
+<H2>10.5.2 Environment variables</H2></A>
+
+Here is a list of the most important environment variables defined
+within the Geant4 <TT>GNUmake</TT> infrastructure, with a short explanation of
+their use.<BR>
+<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>
+
+<UL>
+  <LI>System configuration 
+    <P> $CLHEP_BASE_DIR<BR>
+      Specifies the path where the CLHEP package is installed in your system. 
+    <P> $G4SYSTEM<BR>
+      Defines the architecture and compiler currently used.<BR>
+      <B>NOTE</B>: This variable is set automatically if the <TT>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>env.[c]sh</TT>.
+    <P> 
+  <LI>Installation paths 
+    <P> $G4INSTALL<BR>
+      Defines the path where the Geant4 toolkit should be installed. It should 
+      be set by the system installer. By default, it sets to <TT>$HOME/geant4</TT>,
+      assuming the Geant4 distribution is placed in <TT>$HOME</TT>. 
+    <P> $G4BASE <B>(*)</B><BR>
+      Defines the path to the source code.
+      Internally used to define <TT>$CPPFLAGS</TT> 
+      and <TT>$LDFLAGS</TT> for -I and -L directives.
+      It has to be set to <TT>$G4INSTALL/src</TT>. 
+    <P> $G4WORKDIR<BR>
+      Defines the path for the user's workdir for Geant4. It is set by default 
+      to <TT>$HOME/geant4</TT>, assuming the user's working directory for
+      Geant4 is placed in <TT>$HOME</TT>. 
+    <P> $G4INCLUDE<BR>
+      Defines the path where source header files may be mirrored at installation 
+      by issuing <TT>gmake includes</TT>
+      (default is set to <TT>$G4INSTALL/include</TT>) 
+    <P> $G4BIN,<BR>
+        $G4BINDIR <B>(*)</B><BR>
+      Used by the system to specify the place where to store executables. By default 
+      they're set to <TT>$G4WORKDIR/bin</TT> and <TT>$G4BIN/$G4SYSTEM</TT>
+      respectively. The path to <TT>$G4WORKDIR/bin/$G4SYSTEM</TT> should be added
+      to <TT>$PATH</TT> in the user environment. <TT>$G4BIN</TT> can be overridden. 
+    <P> $G4TMP,<BR>
+        $G4TMPDIR <B>(*)</B><BR>
+      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>$G4WORKDIR/tmp</TT> and <TT>$G4TMP/$G4SYSTEM</TT> respectively.
+      <TT>$G4TMP</TT> can be overridden. 
+    <P> $G4LIB,<BR>
+      $G4LIBDIR <B>(*)</B><BR>
+      Used by the system to specify the place where to store libraries. By default 
+      they're set to <TT>$G4INSTALL/lib</TT> and <TT>$G4LIB/$G4SYSTEM</TT>
+      respectively. <TT>$G4LIB</TT> can be overridden. 
+    <P> 
+  <LI>Build specific 
+    <P> $G4TARGET<BR>
+      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>$G4INSTALL/examples</TT>. 
+    <P> $G4EXEC_BUILD<BR>
+      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>$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>$G4TREP/exec</TT>. 
+    <P> $G4DEBUG<BR>
+      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>$G4OPTIMISE</TT> set).
+    <P> $G4NO_OPTIMISE<BR>
+      Specifies to compile the code (libraries or examples) without compiler optimisation.
+    <P> $G4NO_STD_EXCEPTIONS <B>(*)</B><BR>
+      To avoid throwing of exceptions in Geant4. 
+    <P> $G4_NO_VERBOSE<BR>
+      Geant4 code is compiled by default in high verbosity mode (<TT>$G4VERBOSE</TT>
+      flag set). For better performance, verbosity code can be left out by defining 
+      <TT>$G4_NO_VERBOSE</TT>. 
+    <P> $G4LIB_BUILD_SHARED<BR>
+      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. 
+    <P> $G4LIB_BUILD_STATIC<BR>
+      Flag specifying if to build kernel libraries as static archive libraries 
+      in addition to shared libraries (in case <TT>$G4LIB_BUILD_SHARED</TT>
+      is set as well). 
+    <P> $G4LIB_BUILD_DLL <B>(*)</B><BR>
+      Internal flag for specifying to build DLL kernel libraries for Windows 
+      systems. The flag is automatically set when requested to build DLLs.
+    <P> $G4LIB_USE_DLL<BR>
+      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.
+    <P> $G4LIB_USE_GRANULAR<BR>
+      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. 
+</UL>
+<UL>
+  <LI>UI specific 
+    <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> G4UI_USE_TERMINAL<BR>
+      Specifies to use dumb terminal interface in the application to be built 
+      (default). 
+    <P> G4UI_USE_TCSH<BR>
+      Specifies to use the tcsh-shell like interface in the application to be built.
+    <P> G4UI_BUILD_XM_SESSION, G4UI_BUILD_XAW_SESSION<BR>
+      Specifies to include in kernel library the <I>XM</I> or <I>XAW</I> Motif-based 
+      user interfaces. 
+    <P> G4UI_USE_XM, G4UI_USE_XAW<BR>
+      Specifies to use the <I>XM</I> or <I>XAW</I> interfaces in the application 
+      to be built. 
+    <P> G4UI_USE_QT<BR>
+      Specifies to use the <I>Qt</I> interfaces in the application to be built. 
+    <P> G4UI_BUILD_WIN32_SESSION<BR>
+      Specifies to include in kernel library the WIN32 terminal interface for 
+      Windows systems. 
+    <P> G4UI_USE_WIN32<BR>
+      Specifies to use the WIN32 interfaces in the application to be built on 
+      Windows systems. 
+    <P> G4UI_NONE<BR>
+      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.
+</UL>
+<UL>
+  <LI>Visualization specific 
+    <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> $G4VIS_BUILD_OPENGLX_DRIVER<BR>
+      Specifies to build kernel library for visualization including the OpenGL 
+      driver with X11 extension. It requires <TT>$OGLHOME</TT> set (path to
+      OpenGL installation). 
+    <P> $G4VIS_USE_OPENGLX<BR>
+      Specifies to use OpenGL graphics with X11 extension in the application to 
+      be built. 
+    <P> $G4VIS_BUILD_OPENGLXM_DRIVER<BR>
+      Specifies to build kernel library for visualization including the OpenGL 
+      driver with XM extension. It requires <TT>$OGLHOME</TT> set (path to
+      OpenGL installation). 
+    <P> $G4VIS_USE_OPENGLXM<BR>
+      Specifies to use OpenGL graphics with XM extension in the application to 
+      be built. 
+    <P> $G4VIS_BUILD_QT_DRIVER<BR>
+      Specifies to build kernel library for visualization including the Qt 
+      driver.
+    <P> $G4VIS_USE_QT<BR>
+      Specifies to use Qt graphics in the application to be built. 
+    <P> $G4VIS_BUILD_OI_DRIVER<BR>
+      Specifies to build kernel library for visualization including the OpenInventor 
+      driver. It requires <TT>$OIHOME</TT> set (paths to the <TT>OpenInventor</TT>
+      installation). 
+    <P> $G4VIS_USE_OI<BR>
+      Specifies to use OpenInventor graphics in the application to be built. 
+    <P> $G4VIS_BUILD_OIX_DRIVER<BR>
+      Specifies to build the driver for the free X11 version of OpenInventor.
+    <P> $G4VIS_USE_OIX<BR>
+      Specifies to use the free X11 version of OpenInventor.
+    <P> $G4VIS_BUILD_RAYTRACERX_DRIVER<BR>
+      Specifies to build kernel library for visualization including the
+      Ray-Tracer driver with X11 extension. It requires <TT>X11</TT> installed
+      in the system. 
+    <P> $G4VIS_USE_RAYTRACERX<BR>
+      Specifies to use the X11 version of the Ray-Tracer driver. 
+    <P> $G4VIS_BUILD_OIWIN32_DRIVER<BR>
+      Specifies to build the driver for the free X11 version of OpenInventor
+      on Windows systems.
+    <P> $G4VIS_USE_OIWIN32<BR>
+      Specifies to use the free X11 version of OpenInventor on Windows systems.
+    <P> $G4VIS_BUILD_DAWN_DRIVER<BR>
+      Specifies to build kernel library for visualization including the driver 
+      for DAWN. 
+    <P> $G4VIS_USE_DAWN<BR>
+      Specifies to use DAWN as a possible graphics renderer in the application 
+      to be built. 
+    <P> $G4DAWN_HOST_NAME<BR>
+      To specify the hostname for use with the DAWN-network driver.
+    <P> $G4VIS_NONE<BR>
+      If specified, no visualization drivers will be built or used.
+</UL>
+<UL>
+  <LI><TT>hadronic_lists</TT> module
+    <P> $G4LIB_BUILD_LISTS<BR>
+      Specifies to build or not the <TT>physics_lists</TT> module.
+      By default, the variable is set and the module is built.
+      Set it to <TT>NO</TT> to skip the compilation of the physics lists.
+</UL>
+<UL>
+  <LI><TT>zlib</TT> and <TT>g3tog4</TT> modules
+    <P> $G4LIB_BUILD_ZLIB<BR>
+      If set, triggers compilation of a specific <TT>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.
+    <P> $G4LIB_USE_ZLIB<BR>
+      Specifies to use the <TT>zlib</TT> module, either system built-in or
+      Geant4 specific. 
+    <P> $G4LIB_BUILD_G3TOG4<BR>
+      If set, triggers compilation of the <TT>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.
+    <P> $G4LIB_USE_G3TOG4<BR>
+      Specifies to use the <TT>g3tog4</TT> module, assuming the related library
+      has been already installed. 
+</UL>
+<UL>
+  <LI>Analysis specific 
+    <P> $G4ANALYSIS_USE<BR>
+      Specifies to activate the appropriate environment for analysis, if an application
+      includes code for histogramming based on <I>AIDA</I>. Additional setup variables
+      are required (<TT>$G4ANALYSIS_AIDA_CONFIG_CFLAGS</TT>,
+      <TT>$G4ANALYSIS_AIDA_CONFIG_LIBS</TT>) to define config options for AIDA
+      ("<TT>aida-config --cflags</TT>" and "<TT>aida-config --libs</TT>").
+      See installation instructions of the specific analysis tools for details.
+</UL>
+<UL>
+  <LI>Directory paths to Physics Data 
+    <P> $NeutronHPCrossSections<BR>
+      Path to external data set for Neutron Scattering processes. 
+    <P> $G4LEDATA<BR>
+      Path to external data set for low energy electromagnetic processes. 
+    <P> $G4LEVELGAMMADATA<BR>
+      Path to the data set for Photon Evaporation. 
+    <P> $G4RADIOACTIVEDATA<BR>
+      Path to the data set for Radiative Decay processes. 
+</UL>
+
+<!-- ============================================== Section --> 
+<HR>
+<A name="10.5.3">
+<H2>10.5.3 Linking External Libraries with Geant4</H2></A>
+
+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>
+
+<A name="10.5.3.1">
+<H3>10.5.3.1 Adding external libraries which do *not* use Geant4</H3></A>
+
+In the <TT>GNUmakefile</TT> of your application, before including
+<TT>binmake.gmk</TT>, specify the extra library in <TT>EXTRALIBS</TT>
+either using the <TT>-L...-l...</TT> syntax or by specifying the full
+pathname, e.g.:
+
+<PRE>
+  EXTRALIBS := -L&lt;your-path&gt;/lib -l&lt;myExtraLib&gt;
+or
+  EXTRALIBS := &lt;your-path&gt;/lib/lib&lt;myExtraLib&gt;.a
+</PRE>
+
+You may also specify <TT>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.:
+
+<PRE>
+  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>
+
+Note that you almost certainly need to augment <TT>CPPFLAGS</TT> for
+the header files of the external library, e.g.:
+
+<PRE>
+  CPPFLAGS+=-I&lt;your-path&gt;/include
+</PRE>
+
+See table 10.5.1.
+<P>
+<CENTER><TABLE BORDER=1 CELLPADDING=8>
+<TR><TD>
+<PRE>
+ # --------------------------------------------------------------------
+ # 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>
+<TR>
+<TD ALIGN=CENTER>
+ Table 10.5.1<BR>
+ An example of a customised GNUmakefile for an application or example
+ using an external module not bound to Geant4.
+</TABLE></CENTER>
+<P>
+
+<A name="10.5.3.2">
+<H3>10.5.3.2 Adding external libraries which use Geant4</H3></A>
+
+In addition to the above, specify, in <TT>EXTRALIBSSOURCEDIRS</TT>, a list of
+directories containing source files in its <TT>src/</TT> subdirectory.
+Thus, your <TT>GNUmakefile</TT> might contain:
+
+<PRE>
+  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>
+
+See Table 10.5.2.
+<P>
+
+<CENTER><TABLE BORDER=1 CELLPADDING=8>
+<TR><TD>
+<PRE>
+# -----------------------------------------------------------------
+# 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>
+<TR>
+<TD ALIGN=CENTER>
+ Table 10.5.2<BR>
+ An example of a customised GNUmakefile for an application or example
+ using external modules bound to Geant4.
+</TABLE></CENTER>
+<P>
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
+
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/CVS/Entries	(revision 1208)
@@ -0,0 +1,6 @@
+D/baryons////
+D/ions////
+D/leptons////
+D/mesons////
+D/others////
+D/quarks////
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/CVS/Entries	(revision 1208)
@@ -0,0 +1,134 @@
+/N(1440)+.html/1.3/Tue Feb 28 07:12:47 2006//
+/N(1440)0.html/1.3/Tue Feb 28 07:12:47 2006//
+/N(1520)+.html/1.5/Tue Feb 28 07:12:47 2006//
+/N(1520)0.html/1.5/Tue Feb 28 07:12:47 2006//
+/N(1535)+.html/1.4/Fri Feb 13 06:31:53 2004//
+/N(1535)0.html/1.4/Fri Feb 13 06:31:53 2004//
+/N(1650)+.html/1.3/Tue Feb 28 07:12:47 2006//
+/N(1650)0.html/1.3/Tue Feb 28 07:12:47 2006//
+/N(1675)+.html/1.4/Fri Feb 13 06:31:53 2004//
+/N(1675)0.html/1.4/Fri Feb 13 06:31:53 2004//
+/N(1680)+.html/1.5/Tue Feb 28 07:12:47 2006//
+/N(1680)0.html/1.5/Tue Feb 28 07:12:47 2006//
+/N(1700)+.html/1.4/Fri Feb 13 06:31:53 2004//
+/N(1700)0.html/1.4/Fri Feb 13 06:31:53 2004//
+/N(1710)+.html/1.4/Fri Feb 13 06:31:53 2004//
+/N(1710)0.html/1.4/Fri Feb 13 06:31:53 2004//
+/N(1720)+.html/1.3/Tue Feb 28 07:12:47 2006//
+/N(1720)0.html/1.3/Tue Feb 28 07:12:47 2006//
+/N(1900)+.html/1.4/Tue Feb 28 07:12:47 2006//
+/N(1900)0.html/1.4/Tue Feb 28 07:12:47 2006//
+/N(1990)+.html/1.4/Tue Feb 28 07:12:47 2006//
+/N(1990)0.html/1.4/Tue Feb 28 07:12:47 2006//
+/N(2090)+.html/1.5/Thu Oct 12 10:58:19 2006//
+/N(2090)0.html/1.5/Thu Oct 12 10:58:19 2006//
+/N(2190)+.html/1.5/Tue Feb 28 07:12:47 2006//
+/N(2190)0.html/1.5/Tue Feb 28 07:12:47 2006//
+/N(2220)+.html/1.4/Tue Feb 28 07:12:47 2006//
+/N(2220)0.html/1.4/Tue Feb 28 07:12:47 2006//
+/N(2250)+.html/1.5/Thu Oct 12 10:58:19 2006//
+/N(2250)0.html/1.5/Thu Oct 12 10:58:19 2006//
+/delta(1600)++.html/1.4/Fri Feb 13 06:31:53 2004//
+/delta(1600)+.html/1.4/Fri Feb 13 06:31:53 2004//
+/delta(1600)-.html/1.4/Fri Feb 13 06:31:53 2004//
+/delta(1600)0.html/1.4/Fri Feb 13 06:31:53 2004//
+/delta(1620)++.html/1.5/Tue Feb 28 07:12:47 2006//
+/delta(1620)+.html/1.5/Tue Feb 28 07:12:47 2006//
+/delta(1620)-.html/1.5/Tue Feb 28 07:12:47 2006//
+/delta(1620)0.html/1.5/Tue Feb 28 07:12:47 2006//
+/delta(1700)++.html/1.4/Fri Feb 13 06:31:53 2004//
+/delta(1700)+.html/1.4/Fri Feb 13 06:31:53 2004//
+/delta(1700)-.html/1.4/Fri Feb 13 06:31:54 2004//
+/delta(1700)0.html/1.4/Fri Feb 13 06:31:54 2004//
+/delta(1900)++.html/1.4/Tue Feb 28 07:12:47 2006//
+/delta(1900)+.html/1.4/Tue Feb 28 07:12:47 2006//
+/delta(1900)-.html/1.4/Tue Feb 28 07:12:47 2006//
+/delta(1900)0.html/1.4/Tue Feb 28 07:12:47 2006//
+/delta(1905)++.html/1.5/Tue Feb 28 07:12:47 2006//
+/delta(1905)+.html/1.5/Tue Feb 28 07:12:47 2006//
+/delta(1905)-.html/1.5/Tue Feb 28 07:12:47 2006//
+/delta(1905)0.html/1.5/Tue Feb 28 07:12:47 2006//
+/delta(1910)++.html/1.4/Fri Feb 13 06:31:55 2004//
+/delta(1910)+.html/1.4/Fri Feb 13 06:31:55 2004//
+/delta(1910)-.html/1.4/Fri Feb 13 06:31:55 2004//
+/delta(1910)0.html/1.4/Fri Feb 13 06:31:55 2004//
+/delta(1920)++.html/1.2/Fri Apr  6 03:15:49 2001//
+/delta(1920)+.html/1.2/Fri Apr  6 03:15:50 2001//
+/delta(1920)-.html/1.2/Fri Apr  6 03:15:50 2001//
+/delta(1920)0.html/1.2/Fri Apr  6 03:15:50 2001//
+/delta(1930)++.html/1.5/Tue Feb 28 07:12:47 2006//
+/delta(1930)+.html/1.5/Tue Feb 28 07:12:47 2006//
+/delta(1930)-.html/1.5/Tue Feb 28 07:12:47 2006//
+/delta(1930)0.html/1.5/Tue Feb 28 07:12:47 2006//
+/delta(1950)++.html/1.6/Thu Oct 12 10:58:19 2006//
+/delta(1950)+.html/1.6/Thu Oct 12 10:58:19 2006//
+/delta(1950)-.html/1.6/Thu Oct 12 10:58:19 2006//
+/delta(1950)0.html/1.6/Thu Oct 12 10:58:19 2006//
+/delta++.html/1.3/Fri Feb 13 06:31:55 2004//
+/delta+.html/1.4/Fri Feb 13 06:31:55 2004//
+/delta-.html/1.4/Thu Oct 12 10:58:19 2006//
+/delta0.html/1.4/Fri Feb 13 06:31:55 2004//
+/index.html/1.8/Thu Oct 12 10:58:19 2006//
+/lambda(1405).html/1.3/Tue Feb 28 07:12:47 2006//
+/lambda(1520).html/1.4/Fri Feb 13 06:31:55 2004//
+/lambda(1600).html/1.2/Fri Apr  6 03:15:51 2001//
+/lambda(1670).html/1.2/Fri Apr  6 03:15:51 2001//
+/lambda(1690).html/1.3/Tue Nov  6 02:08:06 2001//
+/lambda(1800).html/1.2/Fri Apr  6 03:15:51 2001//
+/lambda(1810).html/1.2/Fri Apr  6 03:15:51 2001//
+/lambda(1820).html/1.3/Tue Nov  6 02:08:06 2001//
+/lambda(1830).html/1.3/Tue Nov  6 02:08:06 2001//
+/lambda(1890).html/1.3/Tue Nov  6 02:08:07 2001//
+/lambda(2100).html/1.3/Tue Nov  6 02:08:07 2001//
+/lambda(2110).html/1.3/Tue Nov  6 02:08:07 2001//
+/lambda.html/1.2/Fri Apr  6 03:15:51 2001//
+/lambda_c+.html/1.4/Thu Oct 12 10:58:19 2006//
+/neutron.html/1.4/Fri Feb 13 06:31:55 2004//
+/omega-.html/1.3/Fri Feb 13 06:31:56 2004//
+/omega_c0.html/1.4/Thu Oct 12 10:58:19 2006//
+/proton.html/1.1/Thu Jun 17 10:49:48 1999//
+/sigma(1385)+.html/1.4/Thu Oct 12 10:58:19 2006//
+/sigma(1385)-.html/1.4/Thu Oct 12 10:58:19 2006//
+/sigma(1385)0.html/1.4/Thu Oct 12 10:58:19 2006//
+/sigma(1660)+.html/1.2/Fri Apr  6 03:15:52 2001//
+/sigma(1660)-.html/1.2/Fri Apr  6 03:15:52 2001//
+/sigma(1660)0.html/1.2/Fri Apr  6 03:15:52 2001//
+/sigma(1670)+.html/1.2/Fri Apr  6 03:15:52 2001//
+/sigma(1670)-.html/1.2/Fri Apr  6 03:15:52 2001//
+/sigma(1670)0.html/1.2/Fri Apr  6 03:15:52 2001//
+/sigma(1750)+.html/1.2/Fri Apr  6 03:15:52 2001//
+/sigma(1750)-.html/1.2/Fri Apr  6 03:15:52 2001//
+/sigma(1750)0.html/1.2/Fri Apr  6 03:15:52 2001//
+/sigma(1775)+.html/1.2/Fri Apr  6 03:15:52 2001//
+/sigma(1775)-.html/1.2/Fri Apr  6 03:15:52 2001//
+/sigma(1775)0.html/1.2/Fri Apr  6 03:15:53 2001//
+/sigma(1915)+.html/1.2/Fri Apr  6 03:15:53 2001//
+/sigma(1915)-.html/1.2/Fri Apr  6 03:15:53 2001//
+/sigma(1915)0.html/1.2/Fri Apr  6 03:15:53 2001//
+/sigma(1940)+.html/1.3/Wed Nov 20 00:45:12 2002//
+/sigma(1940)-.html/1.4/Fri Feb 13 06:31:56 2004//
+/sigma(1940)0.html/1.3/Wed Nov 20 00:45:13 2002//
+/sigma(2030)+.html/1.2/Fri Apr  6 03:15:53 2001//
+/sigma(2030)-.html/1.3/Fri Feb 13 06:31:56 2004//
+/sigma(2030)0.html/1.2/Fri Apr  6 03:15:53 2001//
+/sigma+.html/1.3/Fri Feb 13 06:31:56 2004//
+/sigma-.html/1.1/Thu Jun 17 10:50:19 1999//
+/sigma0.html/1.1/Thu Jun 17 10:50:20 1999//
+/sigma_c++.html/1.4/Thu Oct 12 10:58:19 2006//
+/sigma_c+.html/1.4/Thu Oct 12 10:58:19 2006//
+/sigma_c0.html/1.4/Thu Oct 12 10:58:19 2006//
+/xi(1530)-.html/1.3/Tue Feb 28 07:12:47 2006//
+/xi(1530)0.html/1.3/Tue Feb 28 07:12:47 2006//
+/xi(1690)-.html/1.3/Tue Feb 28 07:12:47 2006//
+/xi(1690)0.html/1.3/Tue Feb 28 07:12:47 2006//
+/xi(1820)-.html/1.2/Fri Apr  6 03:15:54 2001//
+/xi(1820)0.html/1.2/Fri Apr  6 03:15:54 2001//
+/xi(1950)-.html/1.2/Fri Apr  6 03:15:54 2001//
+/xi(1950)0.html/1.2/Fri Apr  6 03:15:54 2001//
+/xi(2030)-.html/1.2/Fri Apr  6 03:15:54 2001//
+/xi(2030)0.html/1.2/Fri Apr  6 03:15:54 2001//
+/xi-.html/1.1/Thu Jun 17 10:50:35 1999//
+/xi0.html/1.1/Thu Jun 17 10:50:36 1999//
+/xi_c+.html/1.3/Tue Feb 28 07:12:47 2006//
+/xi_c0.html/1.4/Thu Oct 12 10:58:19 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1440)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1440)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1440)+.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1440)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1440)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1440)0.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1520)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1520)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1520)+.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1520)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1520)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1520)0.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1535)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1535)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1535)+.html	(revision 1208)
@@ -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>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1535)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1535)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1535)0.html	(revision 1208)
@@ -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>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1650)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1650)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1650)+.html	(revision 1208)
@@ -0,0 +1,57 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1650)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1650)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1650)0.html	(revision 1208)
@@ -0,0 +1,57 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1675)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1675)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1675)+.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1675)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1675)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1675)0.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1680)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1680)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1680)+.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1680)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1680)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1680)0.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1700)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1700)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1700)+.html	(revision 1208)
@@ -0,0 +1,55 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1700)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1700)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1700)0.html	(revision 1208)
@@ -0,0 +1,55 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1710)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1710)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1710)+.html	(revision 1208)
@@ -0,0 +1,61 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1710)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1710)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1710)0.html	(revision 1208)
@@ -0,0 +1,61 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1720)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1720)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1720)+.html	(revision 1208)
@@ -0,0 +1,55 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1720)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1720)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1720)0.html	(revision 1208)
@@ -0,0 +1,55 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1900)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1900)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1900)+.html	(revision 1208)
@@ -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>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1900)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1900)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1900)0.html	(revision 1208)
@@ -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>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1990)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1990)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1990)+.html	(revision 1208)
@@ -0,0 +1,59 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1990)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1990)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(1990)0.html	(revision 1208)
@@ -0,0 +1,59 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(2090)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(2090)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(2090)+.html	(revision 1208)
@@ -0,0 +1,55 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(2090)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(2090)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(2090)0.html	(revision 1208)
@@ -0,0 +1,55 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(2190)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(2190)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(2190)+.html	(revision 1208)
@@ -0,0 +1,57 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(2190)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(2190)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(2190)0.html	(revision 1208)
@@ -0,0 +1,57 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(2220)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(2220)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(2220)+.html	(revision 1208)
@@ -0,0 +1,53 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(2220)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(2220)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(2220)0.html	(revision 1208)
@@ -0,0 +1,53 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(2250)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(2250)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(2250)+.html	(revision 1208)
@@ -0,0 +1,57 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(2250)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(2250)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/N(2250)0.html	(revision 1208)
@@ -0,0 +1,57 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1600)++.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1600)++.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1600)++.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1600)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1600)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1600)+.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1600)-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1600)-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1600)-.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1600)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1600)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1600)0.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1620)++.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1620)++.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1620)++.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1620)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1620)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1620)+.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1620)-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1620)-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1620)-.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1620)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1620)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1620)0.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1700)++.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1700)++.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1700)++.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1700)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1700)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1700)+.html	(revision 1208)
@@ -0,0 +1,53 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1700)-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1700)-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1700)-.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1700)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1700)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1700)0.html	(revision 1208)
@@ -0,0 +1,53 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1900)++.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1900)++.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1900)++.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1900)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1900)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1900)+.html	(revision 1208)
@@ -0,0 +1,53 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1900)-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1900)-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1900)-.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1900)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1900)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1900)0.html	(revision 1208)
@@ -0,0 +1,53 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1905)++.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1905)++.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1905)++.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1905)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1905)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1905)+.html	(revision 1208)
@@ -0,0 +1,53 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1905)-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1905)-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1905)-.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1905)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1905)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1905)0.html	(revision 1208)
@@ -0,0 +1,53 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1910)++.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1910)++.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1910)++.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1910)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1910)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1910)+.html	(revision 1208)
@@ -0,0 +1,53 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1910)-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1910)-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1910)-.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1910)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1910)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1910)0.html	(revision 1208)
@@ -0,0 +1,53 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1920)++.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1920)++.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1920)++.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1920)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1920)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1920)+.html	(revision 1208)
@@ -0,0 +1,53 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1920)-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1920)-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1920)-.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1920)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1920)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1920)0.html	(revision 1208)
@@ -0,0 +1,53 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1930)++.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1930)++.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1930)++.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1930)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1930)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1930)+.html	(revision 1208)
@@ -0,0 +1,53 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1930)-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1930)-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1930)-.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1930)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1930)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1930)0.html	(revision 1208)
@@ -0,0 +1,53 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1950)++.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1950)++.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1950)++.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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.8000000e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1950)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1950)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1950)+.html	(revision 1208)
@@ -0,0 +1,55 @@
+
+<HTML>
+<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.8000000e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1950)-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1950)-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1950)-.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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.8000000e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1950)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1950)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta(1950)0.html	(revision 1208)
@@ -0,0 +1,55 @@
+
+<HTML>
+<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.8000000e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta++.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta++.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta++.html	(revision 1208)
@@ -0,0 +1,37 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta+.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta-.html	(revision 1208)
@@ -0,0 +1,37 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/delta0.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/index.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/index.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/index.html	(revision 1208)
@@ -0,0 +1,675 @@
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<! --  --!> 
+
+<TABLE WIDTH="80%" > 
+<TR><TD><FONT SIZE = +1>Code</FONT></TD><TD><FONT SIZE = +1>Name</FONT></TD><TD><FONT SIZE = +1>Anti-Particle</FONT></TD></TR>
+<TR>
+<TD>12212</TD>
+<TD><A HREF="N(1440)+.html">N(1440)+</A></TD>
+<TD>anti_N(1440)+</TD>
+</TR>
+<TR>
+<TD>12112</TD>
+<TD><A HREF="N(1440)0.html">N(1440)0</A></TD>
+<TD>anti_N(1440)0</TD>
+</TR>
+<TR>
+<TD>2124</TD>
+<TD><A HREF="N(1520)+.html">N(1520)+</A></TD>
+<TD>anti_N(1520)+</TD>
+</TR>
+<TR>
+<TD>1214</TD>
+<TD><A HREF="N(1520)0.html">N(1520)0</A></TD>
+<TD>anti_N(1520)0</TD>
+</TR>
+<TR>
+<TD>22212</TD>
+<TD><A HREF="N(1535)+.html">N(1535)+</A></TD>
+<TD>anti_N(1535)+</TD>
+</TR>
+<TR>
+<TD>22112</TD>
+<TD><A HREF="N(1535)0.html">N(1535)0</A></TD>
+<TD>anti_N(1535)0</TD>
+</TR>
+<TR>
+<TD>32212</TD>
+<TD><A HREF="N(1650)+.html">N(1650)+</A></TD>
+<TD>anti_N(1650)+</TD>
+</TR>
+<TR>
+<TD>32112</TD>
+<TD><A HREF="N(1650)0.html">N(1650)0</A></TD>
+<TD>anti_N(1650)0</TD>
+</TR>
+<TR>
+<TD>2216</TD>
+<TD><A HREF="N(1675)+.html">N(1675)+</A></TD>
+<TD>anti_N(1675)+</TD>
+</TR>
+<TR>
+<TD>2116</TD>
+<TD><A HREF="N(1675)0.html">N(1675)0</A></TD>
+<TD>anti_N(1675)0</TD>
+</TR>
+<TR>
+<TD>12216</TD>
+<TD><A HREF="N(1680)+.html">N(1680)+</A></TD>
+<TD>anti_N(1680)+</TD>
+</TR>
+<TR>
+<TD>12116</TD>
+<TD><A HREF="N(1680)0.html">N(1680)0</A></TD>
+<TD>anti_N(1680)0</TD>
+</TR>
+<TR>
+<TD>22124</TD>
+<TD><A HREF="N(1700)+.html">N(1700)+</A></TD>
+<TD>anti_N(1700)+</TD>
+</TR>
+<TR>
+<TD>21214</TD>
+<TD><A HREF="N(1700)0.html">N(1700)0</A></TD>
+<TD>anti_N(1700)0</TD>
+</TR>
+<TR>
+<TD>42212</TD>
+<TD><A HREF="N(1710)+.html">N(1710)+</A></TD>
+<TD>anti_N(1710)+</TD>
+</TR>
+<TR>
+<TD>42112</TD>
+<TD><A HREF="N(1710)0.html">N(1710)0</A></TD>
+<TD>anti_N(1710)0</TD>
+</TR>
+<TR>
+<TD>32124</TD>
+<TD><A HREF="N(1720)+.html">N(1720)+</A></TD>
+<TD>anti_N(1720)+</TD>
+</TR>
+<TR>
+<TD>31214</TD>
+<TD><A HREF="N(1720)0.html">N(1720)0</A></TD>
+<TD>anti_N(1720)0</TD>
+</TR>
+<TR>
+<TD>42124</TD>
+<TD><A HREF="N(1900)+.html">N(1900)+</A></TD>
+<TD>anti_N(1900)+</TD>
+</TR>
+<TR>
+<TD>41214</TD>
+<TD><A HREF="N(1900)0.html">N(1900)0</A></TD>
+<TD>anti_N(1900)0</TD>
+</TR>
+<TR>
+<TD>12218</TD>
+<TD><A HREF="N(1990)+.html">N(1990)+</A></TD>
+<TD>anti_N(1990)+</TD>
+</TR>
+<TR>
+<TD>12118</TD>
+<TD><A HREF="N(1990)0.html">N(1990)0</A></TD>
+<TD>anti_N(1990)0</TD>
+</TR>
+<TR>
+<TD>52214</TD>
+<TD><A HREF="N(2090)+.html">N(2090)+</A></TD>
+<TD>anti_N(2090)+</TD>
+</TR>
+<TR>
+<TD>52114</TD>
+<TD><A HREF="N(2090)0.html">N(2090)0</A></TD>
+<TD>anti_N(2090)0</TD>
+</TR>
+<TR>
+<TD>2128</TD>
+<TD><A HREF="N(2190)+.html">N(2190)+</A></TD>
+<TD>anti_N(2190)+</TD>
+</TR>
+<TR>
+<TD>1218</TD>
+<TD><A HREF="N(2190)0.html">N(2190)0</A></TD>
+<TD>anti_N(2190)0</TD>
+</TR>
+<TR>
+<TD>100002210</TD>
+<TD><A HREF="N(2220)+.html">N(2220)+</A></TD>
+<TD>anti_N(2220)+</TD>
+</TR>
+<TR>
+<TD>100002110</TD>
+<TD><A HREF="N(2220)0.html">N(2220)0</A></TD>
+<TD>anti_N(2220)0</TD>
+</TR>
+<TR>
+<TD>100012210</TD>
+<TD><A HREF="N(2250)+.html">N(2250)+</A></TD>
+<TD>anti_N(2250)+</TD>
+</TR>
+<TR>
+<TD>100012110</TD>
+<TD><A HREF="N(2250)0.html">N(2250)0</A></TD>
+<TD>anti_N(2250)0</TD>
+</TR>
+<TR>
+<TD>32214</TD>
+<TD><A HREF="delta(1600)+.html">delta(1600)+</A></TD>
+<TD>anti_delta(1600)+</TD>
+</TR>
+<TR>
+<TD>32224</TD>
+<TD><A HREF="delta(1600)++.html">delta(1600)++</A></TD>
+<TD>anti_delta(1600)++</TD>
+</TR>
+<TR>
+<TD>31114</TD>
+<TD><A HREF="delta(1600)-.html">delta(1600)-</A></TD>
+<TD>anti_delta(1600)-</TD>
+</TR>
+<TR>
+<TD>32114</TD>
+<TD><A HREF="delta(1600)0.html">delta(1600)0</A></TD>
+<TD>anti_delta(1600)0</TD>
+</TR>
+<TR>
+<TD>2122</TD>
+<TD><A HREF="delta(1620)+.html">delta(1620)+</A></TD>
+<TD>anti_delta(1620)+</TD>
+</TR>
+<TR>
+<TD>2222</TD>
+<TD><A HREF="delta(1620)++.html">delta(1620)++</A></TD>
+<TD>anti_delta(1620)++</TD>
+</TR>
+<TR>
+<TD>1112</TD>
+<TD><A HREF="delta(1620)-.html">delta(1620)-</A></TD>
+<TD>anti_delta(1620)-</TD>
+</TR>
+<TR>
+<TD>1212</TD>
+<TD><A HREF="delta(1620)0.html">delta(1620)0</A></TD>
+<TD>anti_delta(1620)0</TD>
+</TR>
+<TR>
+<TD>12214</TD>
+<TD><A HREF="delta(1700)+.html">delta(1700)+</A></TD>
+<TD>anti_delta(1700)+</TD>
+</TR>
+<TR>
+<TD>12224</TD>
+<TD><A HREF="delta(1700)++.html">delta(1700)++</A></TD>
+<TD>anti_delta(1700)++</TD>
+</TR>
+<TR>
+<TD>11114</TD>
+<TD><A HREF="delta(1700)-.html">delta(1700)-</A></TD>
+<TD>anti_delta(1700)-</TD>
+</TR>
+<TR>
+<TD>12114</TD>
+<TD><A HREF="delta(1700)0.html">delta(1700)0</A></TD>
+<TD>anti_delta(1700)0</TD>
+</TR>
+<TR>
+<TD>12122</TD>
+<TD><A HREF="delta(1900)+.html">delta(1900)+</A></TD>
+<TD>anti_delta(1900)+</TD>
+</TR>
+<TR>
+<TD>12222</TD>
+<TD><A HREF="delta(1900)++.html">delta(1900)++</A></TD>
+<TD>anti_delta(1900)++</TD>
+</TR>
+<TR>
+<TD>11112</TD>
+<TD><A HREF="delta(1900)-.html">delta(1900)-</A></TD>
+<TD>anti_delta(1900)-</TD>
+</TR>
+<TR>
+<TD>11212</TD>
+<TD><A HREF="delta(1900)0.html">delta(1900)0</A></TD>
+<TD>anti_delta(1900)0</TD>
+</TR>
+<TR>
+<TD>2126</TD>
+<TD><A HREF="delta(1905)+.html">delta(1905)+</A></TD>
+<TD>anti_delta(1905)+</TD>
+</TR>
+<TR>
+<TD>2226</TD>
+<TD><A HREF="delta(1905)++.html">delta(1905)++</A></TD>
+<TD>anti_delta(1905)++</TD>
+</TR>
+<TR>
+<TD>1116</TD>
+<TD><A HREF="delta(1905)-.html">delta(1905)-</A></TD>
+<TD>anti_delta(1905)-</TD>
+</TR>
+<TR>
+<TD>1216</TD>
+<TD><A HREF="delta(1905)0.html">delta(1905)0</A></TD>
+<TD>anti_delta(1905)0</TD>
+</TR>
+<TR>
+<TD>22122</TD>
+<TD><A HREF="delta(1910)+.html">delta(1910)+</A></TD>
+<TD>anti_delta(1910)+</TD>
+</TR>
+<TR>
+<TD>22222</TD>
+<TD><A HREF="delta(1910)++.html">delta(1910)++</A></TD>
+<TD>anti_delta(1910)++</TD>
+</TR>
+<TR>
+<TD>21112</TD>
+<TD><A HREF="delta(1910)-.html">delta(1910)-</A></TD>
+<TD>anti_delta(1910)-</TD>
+</TR>
+<TR>
+<TD>21212</TD>
+<TD><A HREF="delta(1910)0.html">delta(1910)0</A></TD>
+<TD>anti_delta(1910)0</TD>
+</TR>
+<TR>
+<TD>22214</TD>
+<TD><A HREF="delta(1920)+.html">delta(1920)+</A></TD>
+<TD>anti_delta(1920)+</TD>
+</TR>
+<TR>
+<TD>22224</TD>
+<TD><A HREF="delta(1920)++.html">delta(1920)++</A></TD>
+<TD>anti_delta(1920)++</TD>
+</TR>
+<TR>
+<TD>21114</TD>
+<TD><A HREF="delta(1920)-.html">delta(1920)-</A></TD>
+<TD>anti_delta(1920)-</TD>
+</TR>
+<TR>
+<TD>22114</TD>
+<TD><A HREF="delta(1920)0.html">delta(1920)0</A></TD>
+<TD>anti_delta(1920)0</TD>
+</TR>
+<TR>
+<TD>12126</TD>
+<TD><A HREF="delta(1930)+.html">delta(1930)+</A></TD>
+<TD>anti_delta(1930)+</TD>
+</TR>
+<TR>
+<TD>12226</TD>
+<TD><A HREF="delta(1930)++.html">delta(1930)++</A></TD>
+<TD>anti_delta(1930)++</TD>
+</TR>
+<TR>
+<TD>11116</TD>
+<TD><A HREF="delta(1930)-.html">delta(1930)-</A></TD>
+<TD>anti_delta(1930)-</TD>
+</TR>
+<TR>
+<TD>11216</TD>
+<TD><A HREF="delta(1930)0.html">delta(1930)0</A></TD>
+<TD>anti_delta(1930)0</TD>
+</TR>
+<TR>
+<TD>2218</TD>
+<TD><A HREF="delta(1950)+.html">delta(1950)+</A></TD>
+<TD>anti_delta(1950)+</TD>
+</TR>
+<TR>
+<TD>2228</TD>
+<TD><A HREF="delta(1950)++.html">delta(1950)++</A></TD>
+<TD>anti_delta(1950)++</TD>
+</TR>
+<TR>
+<TD>1118</TD>
+<TD><A HREF="delta(1950)-.html">delta(1950)-</A></TD>
+<TD>anti_delta(1950)-</TD>
+</TR>
+<TR>
+<TD>2118</TD>
+<TD><A HREF="delta(1950)0.html">delta(1950)0</A></TD>
+<TD>anti_delta(1950)0</TD>
+</TR>
+<TR>
+<TD>2214</TD>
+<TD><A HREF="delta+.html">delta+</A></TD>
+<TD>anti_delta+</TD>
+</TR>
+<TR>
+<TD>2224</TD>
+<TD><A HREF="delta++.html">delta++</A></TD>
+<TD>anti_delta++</TD>
+</TR>
+<TR>
+<TD>1114</TD>
+<TD><A HREF="delta-.html">delta-</A></TD>
+<TD>anti_delta-</TD>
+</TR>
+<TR>
+<TD>2114</TD>
+<TD><A HREF="delta0.html">delta0</A></TD>
+<TD>anti_delta0</TD>
+</TR>
+<TR>
+<TD>3122</TD>
+<TD><A HREF="lambda.html">lambda</A></TD>
+<TD>anti_lambda</TD>
+</TR>
+<TR>
+<TD>13122</TD>
+<TD><A HREF="lambda(1405).html">lambda(1405)</A></TD>
+<TD>anti_lambda(1405)</TD>
+</TR>
+<TR>
+<TD>3124</TD>
+<TD><A HREF="lambda(1520).html">lambda(1520)</A></TD>
+<TD>anti_lambda(1520)</TD>
+</TR>
+<TR>
+<TD>23122</TD>
+<TD><A HREF="lambda(1600).html">lambda(1600)</A></TD>
+<TD>anti_lambda(1600)</TD>
+</TR>
+<TR>
+<TD>33122</TD>
+<TD><A HREF="lambda(1670).html">lambda(1670)</A></TD>
+<TD>anti_lambda(1670)</TD>
+</TR>
+<TR>
+<TD>13124</TD>
+<TD><A HREF="lambda(1690).html">lambda(1690)</A></TD>
+<TD>anti_lambda(1690)</TD>
+</TR>
+<TR>
+<TD>43122</TD>
+<TD><A HREF="lambda(1800).html">lambda(1800)</A></TD>
+<TD>anti_lambda(1800)</TD>
+</TR>
+<TR>
+<TD>53122</TD>
+<TD><A HREF="lambda(1810).html">lambda(1810)</A></TD>
+<TD>anti_lambda(1810)</TD>
+</TR>
+<TR>
+<TD>3126</TD>
+<TD><A HREF="lambda(1820).html">lambda(1820)</A></TD>
+<TD>anti_lambda(1820)</TD>
+</TR>
+<TR>
+<TD>13126</TD>
+<TD><A HREF="lambda(1830).html">lambda(1830)</A></TD>
+<TD>anti_lambda(1830)</TD>
+</TR>
+<TR>
+<TD>23124</TD>
+<TD><A HREF="lambda(1890).html">lambda(1890)</A></TD>
+<TD>anti_lambda(1890)</TD>
+</TR>
+<TR>
+<TD>3128</TD>
+<TD><A HREF="lambda(2100).html">lambda(2100)</A></TD>
+<TD>anti_lambda(2100)</TD>
+</TR>
+<TR>
+<TD>23126</TD>
+<TD><A HREF="lambda(2110).html">lambda(2110)</A></TD>
+<TD>anti_lambda(2110)</TD>
+</TR>
+<TR>
+<TD>4122</TD>
+<TD><A HREF="lambda_c+.html">lambda_c+</A></TD>
+<TD>anti_lambda_c+</TD>
+</TR>
+<TR>
+<TD>2112</TD>
+<TD><A HREF="neutron.html">neutron</A></TD>
+<TD>anti_neutron</TD>
+</TR>
+<TR>
+<TD>3334</TD>
+<TD><A HREF="omega-.html">omega-</A></TD>
+<TD>anti_omega-</TD>
+</TR>
+<TR>
+<TD>4332</TD>
+<TD><A HREF="omega_c0.html">omega_c0</A></TD>
+<TD>anti_omega_c0</TD>
+</TR>
+<TR>
+<TD>2212</TD>
+<TD><A HREF="proton.html">proton</A></TD>
+<TD>anti_proton</TD>
+</TR>
+<TR>
+<TD>3224</TD>
+<TD><A HREF="sigma(1385)+.html">sigma(1385)+</A></TD>
+<TD>anti_sigma(1385)+</TD>
+</TR>
+<TR>
+<TD>3114</TD>
+<TD><A HREF="sigma(1385)-.html">sigma(1385)-</A></TD>
+<TD>anti_sigma(1385)-</TD>
+</TR>
+<TR>
+<TD>3214</TD>
+<TD><A HREF="sigma(1385)0.html">sigma(1385)0</A></TD>
+<TD>anti_sigma(1385)0</TD>
+</TR>
+<TR>
+<TD>13222</TD>
+<TD><A HREF="sigma(1660)+.html">sigma(1660)+</A></TD>
+<TD>anti_sigma(1660)+</TD>
+</TR>
+<TR>
+<TD>13112</TD>
+<TD><A HREF="sigma(1660)-.html">sigma(1660)-</A></TD>
+<TD>anti_sigma(1660)-</TD>
+</TR>
+<TR>
+<TD>13212</TD>
+<TD><A HREF="sigma(1660)0.html">sigma(1660)0</A></TD>
+<TD>anti_sigma(1660)0</TD>
+</TR>
+<TR>
+<TD>13224</TD>
+<TD><A HREF="sigma(1670)+.html">sigma(1670)+</A></TD>
+<TD>anti_sigma(1670)+</TD>
+</TR>
+<TR>
+<TD>13114</TD>
+<TD><A HREF="sigma(1670)-.html">sigma(1670)-</A></TD>
+<TD>anti_sigma(1670)-</TD>
+</TR>
+<TR>
+<TD>13214</TD>
+<TD><A HREF="sigma(1670)0.html">sigma(1670)0</A></TD>
+<TD>anti_sigma(1670)0</TD>
+</TR>
+<TR>
+<TD>23222</TD>
+<TD><A HREF="sigma(1750)+.html">sigma(1750)+</A></TD>
+<TD>anti_sigma(1750)+</TD>
+</TR>
+<TR>
+<TD>23112</TD>
+<TD><A HREF="sigma(1750)-.html">sigma(1750)-</A></TD>
+<TD>anti_sigma(1750)-</TD>
+</TR>
+<TR>
+<TD>23212</TD>
+<TD><A HREF="sigma(1750)0.html">sigma(1750)0</A></TD>
+<TD>anti_sigma(1750)0</TD>
+</TR>
+<TR>
+<TD>3226</TD>
+<TD><A HREF="sigma(1775)+.html">sigma(1775)+</A></TD>
+<TD>anti_sigma(1775)+</TD>
+</TR>
+<TR>
+<TD>3116</TD>
+<TD><A HREF="sigma(1775)-.html">sigma(1775)-</A></TD>
+<TD>anti_sigma(1775)-</TD>
+</TR>
+<TR>
+<TD>3216</TD>
+<TD><A HREF="sigma(1775)0.html">sigma(1775)0</A></TD>
+<TD>anti_sigma(1775)0</TD>
+</TR>
+<TR>
+<TD>13226</TD>
+<TD><A HREF="sigma(1915)+.html">sigma(1915)+</A></TD>
+<TD>anti_sigma(1915)+</TD>
+</TR>
+<TR>
+<TD>13116</TD>
+<TD><A HREF="sigma(1915)-.html">sigma(1915)-</A></TD>
+<TD>anti_sigma(1915)-</TD>
+</TR>
+<TR>
+<TD>13216</TD>
+<TD><A HREF="sigma(1915)0.html">sigma(1915)0</A></TD>
+<TD>anti_sigma(1915)0</TD>
+</TR>
+<TR>
+<TD>23224</TD>
+<TD><A HREF="sigma(1940)+.html">sigma(1940)+</A></TD>
+<TD>anti_sigma(1940)+</TD>
+</TR>
+<TR>
+<TD>23114</TD>
+<TD><A HREF="sigma(1940)-.html">sigma(1940)-</A></TD>
+<TD>anti_sigma(1940)-</TD>
+</TR>
+<TR>
+<TD>23214</TD>
+<TD><A HREF="sigma(1940)0.html">sigma(1940)0</A></TD>
+<TD>anti_sigma(1940)0</TD>
+</TR>
+<TR>
+<TD>3228</TD>
+<TD><A HREF="sigma(2030)+.html">sigma(2030)+</A></TD>
+<TD>anti_sigma(2030)+</TD>
+</TR>
+<TR>
+<TD>3118</TD>
+<TD><A HREF="sigma(2030)-.html">sigma(2030)-</A></TD>
+<TD>anti_sigma(2030)-</TD>
+</TR>
+<TR>
+<TD>3218</TD>
+<TD><A HREF="sigma(2030)0.html">sigma(2030)0</A></TD>
+<TD>anti_sigma(2030)0</TD>
+</TR>
+<TR>
+<TD>3222</TD>
+<TD><A HREF="sigma+.html">sigma+</A></TD>
+<TD>anti_sigma+</TD>
+</TR>
+<TR>
+<TD>3112</TD>
+<TD><A HREF="sigma-.html">sigma-</A></TD>
+<TD>anti_sigma-</TD>
+</TR>
+<TR>
+<TD>3212</TD>
+<TD><A HREF="sigma0.html">sigma0</A></TD>
+<TD>anti_sigma0</TD>
+</TR>
+<TR>
+<TD>4212</TD>
+<TD><A HREF="sigma_c+.html">sigma_c+</A></TD>
+<TD>anti_sigma_c+</TD>
+</TR>
+<TR>
+<TD>4222</TD>
+<TD><A HREF="sigma_c++.html">sigma_c++</A></TD>
+<TD>anti_sigma_c++</TD>
+</TR>
+<TR>
+<TD>4112</TD>
+<TD><A HREF="sigma_c0.html">sigma_c0</A></TD>
+<TD>anti_sigma_c0</TD>
+</TR>
+<TR>
+<TD>3314</TD>
+<TD><A HREF="xi(1530)-.html">xi(1530)-</A></TD>
+<TD>anti_xi(1530)-</TD>
+</TR>
+<TR>
+<TD>3324</TD>
+<TD><A HREF="xi(1530)0.html">xi(1530)0</A></TD>
+<TD>anti_xi(1530)0</TD>
+</TR>
+<TR>
+<TD>23314</TD>
+<TD><A HREF="xi(1690)-.html">xi(1690)-</A></TD>
+<TD>anti_xi(1690)-</TD>
+</TR>
+<TR>
+<TD>23324</TD>
+<TD><A HREF="xi(1690)0.html">xi(1690)0</A></TD>
+<TD>anti_xi(1690)0</TD>
+</TR>
+<TR>
+<TD>13314</TD>
+<TD><A HREF="xi(1820)-.html">xi(1820)-</A></TD>
+<TD>anti_xi(1820)-</TD>
+</TR>
+<TR>
+<TD>13324</TD>
+<TD><A HREF="xi(1820)0.html">xi(1820)0</A></TD>
+<TD>anti_xi(1820)0</TD>
+</TR>
+<TR>
+<TD>33314</TD>
+<TD><A HREF="xi(1950)-.html">xi(1950)-</A></TD>
+<TD>anti_xi(1950)-</TD>
+</TR>
+<TR>
+<TD>33324</TD>
+<TD><A HREF="xi(1950)0.html">xi(1950)0</A></TD>
+<TD>anti_xi(1950)0</TD>
+</TR>
+<TR>
+<TD>13316</TD>
+<TD><A HREF="xi(2030)-.html">xi(2030)-</A></TD>
+<TD>anti_xi(2030)-</TD>
+</TR>
+<TR>
+<TD>13326</TD>
+<TD><A HREF="xi(2030)0.html">xi(2030)0</A></TD>
+<TD>anti_xi(2030)0</TD>
+</TR>
+<TR>
+<TD>3312</TD>
+<TD><A HREF="xi-.html">xi-</A></TD>
+<TD>anti_xi-</TD>
+</TR>
+<TR>
+<TD>3322</TD>
+<TD><A HREF="xi0.html">xi0</A></TD>
+<TD>anti_xi0</TD>
+</TR>
+<TR>
+<TD>4232</TD>
+<TD><A HREF="xi_c+.html">xi_c+</A></TD>
+<TD>anti_xi_c+</TD>
+</TR>
+<TR>
+<TD>4132</TD>
+<TD><A HREF="xi_c0.html">xi_c0</A></TD>
+<TD>anti_xi_c0</TD>
+</TR>
+</TABLE>
+<HR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1405).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1405).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1405).html	(revision 1208)
@@ -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(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.4065000e+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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1520).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1520).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1520).html	(revision 1208)
@@ -0,0 +1,53 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1600).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1600).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1600).html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1670).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1670).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1670).html	(revision 1208)
@@ -0,0 +1,47 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1690).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1690).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1690).html	(revision 1208)
@@ -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>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1800).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1800).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1800).html	(revision 1208)
@@ -0,0 +1,55 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1810).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1810).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1810).html	(revision 1208)
@@ -0,0 +1,55 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1820).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1820).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1820).html	(revision 1208)
@@ -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>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1830).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1830).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1830).html	(revision 1208)
@@ -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>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1890).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1890).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(1890).html	(revision 1208)
@@ -0,0 +1,55 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(2100).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(2100).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(2100).html	(revision 1208)
@@ -0,0 +1,59 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(2110).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(2110).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda(2110).html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda.html	(revision 1208)
@@ -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>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.1156840e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.5010000e-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>Life Time</B></TD><TD>2.6320000e-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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda_c+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda_c+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/lambda_c+.html	(revision 1208)
@@ -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>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.3000000e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/neutron.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/neutron.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/neutron.html	(revision 1208)
@@ -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>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.3956563e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>7.4320000e-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>Life Time</B></TD><TD>8.8670000e+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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/omega-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/omega-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/omega-.html	(revision 1208)
@@ -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>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.0200000e-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>Life Time</B></TD><TD>8.2200000e-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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/omega_c0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/omega_c0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/omega_c0.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/proton.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/proton.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/proton.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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.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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1385)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1385)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1385)+.html	(revision 1208)
@@ -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(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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1385)-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1385)-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1385)-.html	(revision 1208)
@@ -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(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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1385)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1385)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1385)0.html	(revision 1208)
@@ -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(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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1660)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1660)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1660)+.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1660)-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1660)-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1660)-.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1660)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1660)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1660)0.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1670)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1670)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1670)+.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1670)-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1670)-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1670)-.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1670)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1670)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1670)0.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1750)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1750)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1750)+.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1750)-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1750)-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1750)-.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1750)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1750)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1750)0.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1775)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1775)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1775)+.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1775)-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1775)-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1775)-.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1775)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1775)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1775)0.html	(revision 1208)
@@ -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>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1915)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1915)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1915)+.html	(revision 1208)
@@ -0,0 +1,47 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1915)-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1915)-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1915)-.html	(revision 1208)
@@ -0,0 +1,47 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1915)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1915)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1915)0.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1940)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1940)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1940)+.html	(revision 1208)
@@ -0,0 +1,55 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1940)-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1940)-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1940)-.html	(revision 1208)
@@ -0,0 +1,55 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1940)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1940)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(1940)0.html	(revision 1208)
@@ -0,0 +1,59 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(2030)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(2030)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(2030)+.html	(revision 1208)
@@ -0,0 +1,55 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(2030)-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(2030)-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(2030)-.html	(revision 1208)
@@ -0,0 +1,55 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(2030)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(2030)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma(2030)0.html	(revision 1208)
@@ -0,0 +1,59 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma+.html	(revision 1208)
@@ -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>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.2090000e-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>Life Time</B></TD><TD>7.9900000e-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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma-.html	(revision 1208)
@@ -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-</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.1974400e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>4.4500000e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma0.html	(revision 1208)
@@ -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>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.1925500e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>8.9000000e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma_c++.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma_c++.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma_c++.html	(revision 1208)
@@ -0,0 +1,37 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma_c+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma_c+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma_c+.html	(revision 1208)
@@ -0,0 +1,37 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma_c0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma_c0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/sigma_c0.html	(revision 1208)
@@ -0,0 +1,37 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(1530)-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(1530)-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(1530)-.html	(revision 1208)
@@ -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>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.5318000e+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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(1530)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(1530)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(1530)0.html	(revision 1208)
@@ -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>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.5318000e+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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(1690)-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(1690)-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(1690)-.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(1690)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(1690)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(1690)0.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(1820)-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(1820)-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(1820)-.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(1820)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(1820)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(1820)0.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(1950)-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(1950)-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(1950)-.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(1950)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(1950)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(1950)0.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(2030)-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(2030)-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(2030)-.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(2030)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(2030)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi(2030)0.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi-.html	(revision 1208)
@@ -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>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.3213200e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>4.0200000e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi0.html	(revision 1208)
@@ -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>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.3149000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.2700000e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi_c+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi_c+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi_c+.html	(revision 1208)
@@ -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>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.4900000e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi_c0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi_c0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/baryons/xi_c0.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/CVS/Entries	(revision 1208)
@@ -0,0 +1,7 @@
+/GenericIon.html/1.1/Thu Jun 17 10:55:29 1999//
+/He3.html/1.2/Thu Oct 12 10:58:20 2006//
+/alpha.html/1.2/Thu Oct 12 10:58:20 2006//
+/deuteron.html/1.2/Thu Oct 12 10:58:20 2006//
+/index.html/1.7/Thu Oct 12 10:58:20 2006//
+/triton.html/1.2/Thu Oct 12 10:58:20 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/GenericIon.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/GenericIon.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/GenericIon.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/He3.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/He3.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/He3.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/alpha.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/alpha.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/alpha.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/deuteron.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/deuteron.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/deuteron.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/index.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/index.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/index.html	(revision 1208)
@@ -0,0 +1,35 @@
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<! --  --!> 
+
+<TABLE WIDTH="80%" > 
+<TR><TD><FONT SIZE = +1>Code</FONT></TD><TD><FONT SIZE = +1>Name</FONT></TD><TD><FONT SIZE = +1>Anti-Particle</FONT></TD></TR>
+<TR>
+<TD>0</TD>
+<TD><A HREF="GenericIon.html">GenericIon</A></TD>
+</TR>
+<TR>
+<TD>1000020030</TD>
+<TD><A HREF="He3.html">He3</A></TD>
+</TR>
+<TR>
+<TD>1000020040</TD>
+<TD><A HREF="alpha.html">alpha</A></TD>
+</TR>
+<TR>
+<TD>1000010020</TD>
+<TD><A HREF="deuteron.html">deuteron</A></TD>
+</TR>
+<TR>
+<TD>1000010030</TD>
+<TD><A HREF="triton.html">triton</A></TD>
+</TR>
+</TABLE>
+<HR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/triton.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/triton.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/ions/triton.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/CVS/Entries	(revision 1208)
@@ -0,0 +1,8 @@
+/e-.html/1.1/Thu Jun 17 10:51:41 1999//
+/index.html/1.6/Fri Feb 13 06:31:58 2004//
+/mu-.html/1.1/Thu Jun 17 10:51:44 1999//
+/nu_e.html/1.1/Thu Jun 17 10:51:46 1999//
+/nu_mu.html/1.1/Thu Jun 17 10:51:49 1999//
+/nu_tau.html/1.1/Thu Jun 17 10:51:51 1999//
+/tau-.html/1.5/Tue Feb 28 07:12:47 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/e-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/e-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/e-.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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.1099906e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/index.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/index.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/index.html	(revision 1208)
@@ -0,0 +1,45 @@
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<! --  --!> 
+
+<TABLE WIDTH="80%" > 
+<TR><TD><FONT SIZE = +1>Code</FONT></TD><TD><FONT SIZE = +1>Name</FONT></TD><TD><FONT SIZE = +1>Anti-Particle</FONT></TD></TR>
+<TR>
+<TD>11</TD>
+<TD><A HREF="e-.html">e-</A></TD>
+<TD>e+</TD>
+</TR>
+<TR>
+<TD>13</TD>
+<TD><A HREF="mu-.html">mu-</A></TD>
+<TD>mu+</TD>
+</TR>
+<TR>
+<TD>12</TD>
+<TD><A HREF="nu_e.html">nu_e</A></TD>
+<TD>anti_nu_e</TD>
+</TR>
+<TR>
+<TD>14</TD>
+<TD><A HREF="nu_mu.html">nu_mu</A></TD>
+<TD>anti_nu_mu</TD>
+</TR>
+<TR>
+<TD>16</TD>
+<TD><A HREF="nu_tau.html">nu_tau</A></TD>
+<TD>anti_nu_tau</TD>
+</TR>
+<TR>
+<TD>15</TD>
+<TD><A HREF="tau-.html">tau-</A></TD>
+<TD>tau+</TD>
+</TR>
+</TABLE>
+<HR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/mu-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/mu-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/mu-.html	(revision 1208)
@@ -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>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>2.9959100e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/nu_e.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/nu_e.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/nu_e.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/nu_mu.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/nu_mu.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/nu_mu.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/nu_tau.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/nu_tau.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/nu_tau.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/tau-.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/tau-.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/leptons/tau-.html	(revision 1208)
@@ -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>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.2650000e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/B+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/B+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/B+.html	(revision 1208)
@@ -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+</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.0180000e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/B0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/B0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/B0.html	(revision 1208)
@@ -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>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.3020000e-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>Life Time</B></TD><TD>1.5320000e-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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/Bs0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/Bs0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/Bs0.html	(revision 1208)
@@ -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>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.3675000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>4.4900000e-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>Life Time</B></TD><TD>1.4660000e-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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/CVS/Entries	(revision 1208)
@@ -0,0 +1,85 @@
+/B+.html/1.5/Thu Oct 12 10:58:20 2006//
+/B0.html/1.5/Thu Oct 12 10:58:20 2006//
+/Bs0.html/1.4/Thu Oct 12 10:58:20 2006//
+/D+.html/1.4/Tue Feb 28 10:25:49 2006//
+/D0.html/1.4/Thu Oct 12 10:58:20 2006//
+/Ds+.html/1.4/Thu Oct 12 10:58:20 2006//
+/a0(1450)+.html/1.3/Wed Nov 20 00:45:28 2002//
+/a0(1450)0.html/1.3/Wed Nov 20 00:45:28 2002//
+/a0(980)+.html/1.2/Fri Feb 13 06:31:58 2004//
+/a0(980)0.html/1.3/Thu Oct 12 10:58:20 2006//
+/a1(1260)+.html/1.3/Thu Oct 12 10:58:20 2006//
+/a1(1260)0.html/1.3/Thu Oct 12 10:58:20 2006//
+/a2(1320)+.html/1.4/Thu Oct 12 10:58:20 2006//
+/a2(1320)0.html/1.4/Thu Oct 12 10:58:20 2006//
+/b1(1235)+.html/1.1/Thu Jun 17 10:52:50 1999//
+/b1(1235)0.html/1.1/Thu Jun 17 10:52:50 1999//
+/eta(1295).html/1.4/Tue Feb 28 07:12:47 2006//
+/eta(1475).html/1.1/Tue Feb 28 07:12:47 2006//
+/eta.html/1.4/Thu Oct 12 10:58:20 2006//
+/eta2(1645).html/1.3/Tue Feb 28 07:12:47 2006//
+/eta2(1870).html/1.3/Tue Feb 28 07:12:47 2006//
+/eta_prime.html/1.4/Thu Oct 12 10:58:20 2006//
+/f0(1370).html/1.4/Thu Oct 12 10:58:20 2006//
+/f0(1500).html/1.2/Thu Oct 12 10:58:20 2006//
+/f0(1710).html/1.2/Thu Oct 12 10:58:20 2006//
+/f0(600).html/1.2/Thu Oct 12 10:58:20 2006//
+/f0(980).html/1.2/Thu Oct 12 10:58:20 2006//
+/f1(1285).html/1.4/Thu Oct 12 10:58:20 2006//
+/f1(1420).html/1.4/Tue Feb 28 07:12:47 2006//
+/f2(1270).html/1.4/Tue Feb 28 07:12:47 2006//
+/f2(1810).html/1.3/Tue Feb 28 07:12:47 2006//
+/f2(2010).html/1.4/Thu Oct 12 10:58:20 2006//
+/f2_prime(1525).html/1.3/Tue Feb 28 07:12:47 2006//
+/h1(1170).html/1.2/Fri Apr  6 03:15:11 2001//
+/h1(1380).html/1.2/Fri Apr  6 03:15:11 2001//
+/index.html/1.9/Thu Oct 12 10:58:20 2006//
+/jpsi.html/1.3/Thu Oct 12 10:58:20 2006//
+/k(1460)+.html/1.3/Tue Feb 28 07:12:47 2006//
+/k(1460)0.html/1.3/Tue Feb 28 07:12:47 2006//
+/k0_star(1430)+.html/1.5/Thu Oct 12 10:58:20 2006//
+/k0_star(1430)0.html/1.5/Thu Oct 12 10:58:20 2006//
+/k1(1270)+.html/1.4/Thu Oct 12 10:58:20 2006//
+/k1(1270)0.html/1.4/Thu Oct 12 10:58:20 2006//
+/k1(1400)+.html/1.2/Fri Apr  6 03:15:11 2001//
+/k1(1400)0.html/1.2/Fri Apr  6 03:15:11 2001//
+/k2(1770)+.html/1.3/Thu Oct 12 10:58:20 2006//
+/k2(1770)0.html/1.3/Thu Oct 12 10:58:20 2006//
+/k2_star(1430)+.html/1.2/Fri Apr  6 03:15:12 2001//
+/k2_star(1430)0.html/1.2/Fri Apr  6 03:15:12 2001//
+/k2_star(1980)+.html/1.2/Fri Apr  6 03:15:12 2001//
+/k2_star(1980)0.html/1.2/Fri Apr  6 03:15:12 2001//
+/k3_star(1780)+.html/1.2/Fri Apr  6 03:15:12 2001//
+/k3_star(1780)0.html/1.2/Fri Apr  6 03:15:12 2001//
+/k_star(1410)+.html/1.2/Fri Apr  6 03:15:12 2001//
+/k_star(1410)0.html/1.2/Fri Apr  6 03:15:12 2001//
+/k_star(1680)+.html/1.4/Thu Oct 12 10:58:20 2006//
+/k_star(1680)0.html/1.4/Thu Oct 12 10:58:20 2006//
+/k_star+.html/1.2/Fri Apr  6 03:15:12 2001//
+/k_star0.html/1.4/Thu Oct 12 10:58:20 2006//
+/kaon+.html/1.4/Tue Feb 28 10:25:49 2006//
+/kaon0.html/1.2/Fri Apr  6 03:15:12 2001//
+/kaon0L.html/1.4/Thu Oct 12 10:58:20 2006//
+/kaon0S.html/1.3/Tue Feb 28 10:25:49 2006//
+/omega(1420).html/1.4/Thu Oct 12 10:58:20 2006//
+/omega(1650).html/1.1/Tue Feb 28 07:12:47 2006//
+/omega.html/1.4/Thu Oct 12 10:58:20 2006//
+/omega3(1670).html/1.2/Fri Apr  6 03:15:13 2001//
+/phi(1680).html/1.2/Fri Apr  6 03:15:13 2001//
+/phi.html/1.4/Tue Feb 28 10:25:49 2006//
+/phi3(1850).html/1.2/Fri Apr  6 03:15:13 2001//
+/pi(1300)+.html/1.4/Thu Oct 12 10:58:20 2006//
+/pi(1300)0.html/1.4/Thu Oct 12 10:58:20 2006//
+/pi+.html/1.1/Thu Jun 17 10:53:23 1999//
+/pi0.html/1.2/Fri Apr  6 03:15:13 2001//
+/pi2(1670)+.html/1.5/Thu Oct 12 10:58:20 2006//
+/pi2(1670)0.html/1.5/Thu Oct 12 10:58:20 2006//
+/rho(1450)+.html/1.4/Thu Oct 12 10:58:20 2006//
+/rho(1450)0.html/1.4/Thu Oct 12 10:58:20 2006//
+/rho(1700)+.html/1.3/Tue Feb 28 07:12:47 2006//
+/rho(1700)0.html/1.3/Tue Feb 28 07:12:47 2006//
+/rho+.html/1.2/Tue Feb 28 10:25:49 2006//
+/rho0.html/1.5/Thu Oct 12 10:58:20 2006//
+/rho3(1690)+.html/1.5/Thu Oct 12 10:58:20 2006//
+/rho3(1690)0.html/1.5/Thu Oct 12 10:58:20 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/D+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/D+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/D+.html	(revision 1208)
@@ -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+</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.8693000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>6.3300000e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/D0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/D0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/D0.html	(revision 1208)
@@ -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>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.8645000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.6050000e-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>Life Time</B></TD><TD>4.1500000e-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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/Ds+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/Ds+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/Ds+.html	(revision 1208)
@@ -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>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.9682000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.3170000e-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>Life Time</B></TD><TD>4.9000000e-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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/a0(1450)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/a0(1450)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/a0(1450)+.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/a0(1450)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/a0(1450)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/a0(1450)0.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/a0(980)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/a0(980)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/a0(980)+.html	(revision 1208)
@@ -0,0 +1,37 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/a0(980)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/a0(980)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/a0(980)0.html	(revision 1208)
@@ -0,0 +1,37 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/a1(1260)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/a1(1260)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/a1(1260)+.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/a1(1260)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/a1(1260)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/a1(1260)0.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/a2(1320)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/a2(1320)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/a2(1320)+.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/a2(1320)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/a2(1320)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/a2(1320)0.html	(revision 1208)
@@ -0,0 +1,47 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/b1(1235)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/b1(1235)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/b1(1235)+.html	(revision 1208)
@@ -0,0 +1,37 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/b1(1235)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/b1(1235)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/b1(1235)0.html	(revision 1208)
@@ -0,0 +1,37 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/eta(1295).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/eta(1295).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/eta(1295).html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/eta(1475).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/eta(1475).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/eta(1475).html	(revision 1208)
@@ -0,0 +1,55 @@
+
+<HTML>
+<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.7000000e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/eta.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/eta.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/eta.html	(revision 1208)
@@ -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>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.4751000e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/eta2(1645).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/eta2(1645).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/eta2(1645).html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/eta2(1870).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/eta2(1870).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/eta2(1870).html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/eta_prime.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/eta_prime.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/eta_prime.html	(revision 1208)
@@ -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>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.5778000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.0300000e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f0(1370).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f0(1370).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f0(1370).html	(revision 1208)
@@ -0,0 +1,47 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f0(1500).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f0(1500).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f0(1500).html	(revision 1208)
@@ -0,0 +1,37 @@
+
+<HTML>
+<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.5070000e+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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f0(1710).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f0(1710).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f0(1710).html	(revision 1208)
@@ -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>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.7180000e+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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f0(600).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f0(600).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f0(600).html	(revision 1208)
@@ -0,0 +1,37 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f0(980).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f0(980).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f0(980).html	(revision 1208)
@@ -0,0 +1,37 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f1(1285).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f1(1285).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f1(1285).html	(revision 1208)
@@ -0,0 +1,55 @@
+
+<HTML>
+<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.4200000e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f1(1420).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f1(1420).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f1(1420).html	(revision 1208)
@@ -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>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f2(1270).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f2(1270).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f2(1270).html	(revision 1208)
@@ -0,0 +1,47 @@
+
+<HTML>
+<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.2754000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.8520000e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f2(1810).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f2(1810).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f2(1810).html	(revision 1208)
@@ -0,0 +1,47 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f2(2010).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f2(2010).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f2(2010).html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f2_prime(1525).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f2_prime(1525).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/f2_prime(1525).html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/h1(1170).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/h1(1170).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/h1(1170).html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/h1(1380).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/h1(1380).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/h1(1380).html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/index.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/index.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/index.html	(revision 1208)
@@ -0,0 +1,393 @@
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<! --  --!> 
+
+<TABLE WIDTH="80%" > 
+<TR><TD><FONT SIZE = +1>Code</FONT></TD><TD><FONT SIZE = +1>Name</FONT></TD><TD><FONT SIZE = +1>Anti-Particle</FONT></TD></TR>
+<TR>
+<TD>521</TD>
+<TD><A HREF="B+.html">B+</A></TD>
+<TD>B-</TD>
+</TR>
+<TR>
+<TD>511</TD>
+<TD><A HREF="B0.html">B0</A></TD>
+<TD>anti_B0</TD>
+</TR>
+<TR>
+<TD>531</TD>
+<TD><A HREF="Bs0.html">Bs0</A></TD>
+<TD>anti_Bs0</TD>
+</TR>
+<TR>
+<TD>411</TD>
+<TD><A HREF="D+.html">D+</A></TD>
+<TD>D-</TD>
+</TR>
+<TR>
+<TD>421</TD>
+<TD><A HREF="D0.html">D0</A></TD>
+<TD>anti_D0</TD>
+</TR>
+<TR>
+<TD>431</TD>
+<TD><A HREF="Ds+.html">Ds+</A></TD>
+<TD>Ds-</TD>
+</TR>
+<TR>
+<TD>443</TD>
+<TD><A HREF="jpsi.html">J/psi</A></TD>
+</TR>
+<TR>
+<TD>10211</TD>
+<TD><A HREF="a0(1450)+.html">a0(1450)+</A></TD>
+<TD>a0(1450)-</TD>
+</TR>
+<TR>
+<TD>10111</TD>
+<TD><A HREF="a0(1450)0.html">a0(1450)0</A></TD>
+</TR>
+<TR>
+<TD>9000211</TD>
+<TD><A HREF="a0(980)+.html">a0(980)+</A></TD>
+<TD>a0(980)-</TD>
+</TR>
+<TR>
+<TD>9000111</TD>
+<TD><A HREF="a0(980)0.html">a0(980)0</A></TD>
+</TR>
+<TR>
+<TD>20213</TD>
+<TD><A HREF="a1(1260)+.html">a1(1260)+</A></TD>
+<TD>a1(1260)-</TD>
+</TR>
+<TR>
+<TD>20113</TD>
+<TD><A HREF="a1(1260)0.html">a1(1260)0</A></TD>
+</TR>
+<TR>
+<TD>215</TD>
+<TD><A HREF="a2(1320)+.html">a2(1320)+</A></TD>
+<TD>a2(1320)-</TD>
+</TR>
+<TR>
+<TD>115</TD>
+<TD><A HREF="a2(1320)0.html">a2(1320)0</A></TD>
+</TR>
+<TR>
+<TD>10213</TD>
+<TD><A HREF="b1(1235)+.html">b1(1235)+</A></TD>
+<TD>b1(1235)-</TD>
+</TR>
+<TR>
+<TD>10113</TD>
+<TD><A HREF="b1(1235)0.html">b1(1235)0</A></TD>
+</TR>
+<TR>
+<TD>221</TD>
+<TD><A HREF="eta.html">eta</A></TD>
+</TR>
+<TR>
+<TD>100221</TD>
+<TD><A HREF="eta(1295).html">eta(1295)</A></TD>
+</TR>
+<TR>
+<TD>9020221</TD>
+<TD><A HREF="eta(1405).html">eta(1405)</A></TD>
+</TR>
+<TR>
+<TD>100331</TD>
+<TD><A HREF="eta(1475).html">eta(1475)</A></TD>
+</TR>
+<TR>
+<TD>10225</TD>
+<TD><A HREF="eta2(1645).html">eta2(1645)</A></TD>
+</TR>
+<TR>
+<TD>10335</TD>
+<TD><A HREF="eta2(1870).html">eta2(1870)</A></TD>
+</TR>
+<TR>
+<TD>331</TD>
+<TD><A HREF="eta_prime.html">eta_prime</A></TD>
+</TR>
+<TR>
+<TD>10221</TD>
+<TD><A HREF="f0(1370).html">f0(1370)</A></TD>
+</TR>
+<TR>
+<TD>9030221</TD>
+<TD><A HREF="f0(1500).html">f0(1500)</A></TD>
+</TR>
+<TR>
+<TD>10331</TD>
+<TD><A HREF="f0(1710).html">f0(1710)</A></TD>
+</TR>
+<TR>
+<TD>9000221</TD>
+<TD><A HREF="f0(600).html">f0(600)</A></TD>
+</TR>
+<TR>
+<TD>9010221</TD>
+<TD><A HREF="f0(980).html">f0(980)</A></TD>
+</TR>
+<TR>
+<TD>20223</TD>
+<TD><A HREF="f1(1285).html">f1(1285)</A></TD>
+</TR>
+<TR>
+<TD>20333</TD>
+<TD><A HREF="f1(1420).html">f1(1420)</A></TD>
+</TR>
+<TR>
+<TD>225</TD>
+<TD><A HREF="f2(1270).html">f2(1270)</A></TD>
+</TR>
+<TR>
+<TD>9030225</TD>
+<TD><A HREF="f2(1810).html">f2(1810)</A></TD>
+</TR>
+<TR>
+<TD>9060225</TD>
+<TD><A HREF="f2(2010).html">f2(2010)</A></TD>
+</TR>
+<TR>
+<TD>335</TD>
+<TD><A HREF="f2_prime(1525).html">f2_prime(1525)</A></TD>
+</TR>
+<TR>
+<TD>10223</TD>
+<TD><A HREF="h1(1170).html">h1(1170)</A></TD>
+</TR>
+<TR>
+<TD>10333</TD>
+<TD><A HREF="h1(1380).html">h1(1380)</A></TD>
+</TR>
+<TR>
+<TD>100321</TD>
+<TD><A HREF="k(1460)+.html">k(1460)+</A></TD>
+<TD>k(1460)-</TD>
+</TR>
+<TR>
+<TD>100311</TD>
+<TD><A HREF="k(1460)0.html">k(1460)0</A></TD>
+<TD>anti_k(1460)0</TD>
+</TR>
+<TR>
+<TD>10321</TD>
+<TD><A HREF="k0_star(1430)+.html">k0_star(1430)+</A></TD>
+<TD>k0_star(1430)-</TD>
+</TR>
+<TR>
+<TD>10311</TD>
+<TD><A HREF="k0_star(1430)0.html">k0_star(1430)0</A></TD>
+<TD>anti_k0_star(1430)0</TD>
+</TR>
+<TR>
+<TD>10323</TD>
+<TD><A HREF="k1(1270)+.html">k1(1270)+</A></TD>
+<TD>k1(1270)-</TD>
+</TR>
+<TR>
+<TD>10313</TD>
+<TD><A HREF="k1(1270)0.html">k1(1270)0</A></TD>
+<TD>anti_k1(1270)0</TD>
+</TR>
+<TR>
+<TD>20323</TD>
+<TD><A HREF="k1(1400)+.html">k1(1400)+</A></TD>
+<TD>k1(1400)-</TD>
+</TR>
+<TR>
+<TD>20313</TD>
+<TD><A HREF="k1(1400)0.html">k1(1400)0</A></TD>
+<TD>anti_k1(1400)0</TD>
+</TR>
+<TR>
+<TD>10325</TD>
+<TD><A HREF="k2(1770)+.html">k2(1770)+</A></TD>
+<TD>k2(1770)-</TD>
+</TR>
+<TR>
+<TD>10315</TD>
+<TD><A HREF="k2(1770)0.html">k2(1770)0</A></TD>
+<TD>anti_k2(1770)0</TD>
+</TR>
+<TR>
+<TD>325</TD>
+<TD><A HREF="k2_star(1430)+.html">k2_star(1430)+</A></TD>
+<TD>k2_star(1430)-</TD>
+</TR>
+<TR>
+<TD>315</TD>
+<TD><A HREF="k2_star(1430)0.html">k2_star(1430)0</A></TD>
+<TD>anti_k2_star(1430)0</TD>
+</TR>
+<TR>
+<TD>100325</TD>
+<TD><A HREF="k2_star(1980)+.html">k2_star(1980)+</A></TD>
+<TD>k2_star(1980)-</TD>
+</TR>
+<TR>
+<TD>100315</TD>
+<TD><A HREF="k2_star(1980)0.html">k2_star(1980)0</A></TD>
+<TD>anti_k2_star(1980)0</TD>
+</TR>
+<TR>
+<TD>327</TD>
+<TD><A HREF="k3_star(1780)+.html">k3_star(1780)+</A></TD>
+<TD>k3_star(1780)-</TD>
+</TR>
+<TR>
+<TD>317</TD>
+<TD><A HREF="k3_star(1780)0.html">k3_star(1780)0</A></TD>
+<TD>anti_k3_star(1780)0</TD>
+</TR>
+<TR>
+<TD>100323</TD>
+<TD><A HREF="k_star(1410)+.html">k_star(1410)+</A></TD>
+<TD>k_star(1410)-</TD>
+</TR>
+<TR>
+<TD>100313</TD>
+<TD><A HREF="k_star(1410)0.html">k_star(1410)0</A></TD>
+<TD>anti_k_star(1410)0</TD>
+</TR>
+<TR>
+<TD>30323</TD>
+<TD><A HREF="k_star(1680)+.html">k_star(1680)+</A></TD>
+<TD>k_star(1680)-</TD>
+</TR>
+<TR>
+<TD>30313</TD>
+<TD><A HREF="k_star(1680)0.html">k_star(1680)0</A></TD>
+<TD>anti_k_star(1680)0</TD>
+</TR>
+<TR>
+<TD>323</TD>
+<TD><A HREF="k_star+.html">k_star+</A></TD>
+<TD>k_star-</TD>
+</TR>
+<TR>
+<TD>313</TD>
+<TD><A HREF="k_star0.html">k_star0</A></TD>
+<TD>anti_k_star0</TD>
+</TR>
+<TR>
+<TD>321</TD>
+<TD><A HREF="kaon+.html">kaon+</A></TD>
+<TD>kaon-</TD>
+</TR>
+<TR>
+<TD>311</TD>
+<TD><A HREF="kaon0.html">kaon0</A></TD>
+<TD>anti_kaon0</TD>
+</TR>
+<TR>
+<TD>130</TD>
+<TD><A HREF="kaon0L.html">kaon0L</A></TD>
+</TR>
+<TR>
+<TD>310</TD>
+<TD><A HREF="kaon0S.html">kaon0S</A></TD>
+</TR>
+<TR>
+<TD>223</TD>
+<TD><A HREF="omega.html">omega</A></TD>
+</TR>
+<TR>
+<TD>100223</TD>
+<TD><A HREF="omega(1420).html">omega(1420)</A></TD>
+</TR>
+<TR>
+<TD>30223</TD>
+<TD><A HREF="omega(1650).html">omega(1650)</A></TD>
+</TR>
+<TR>
+<TD>227</TD>
+<TD><A HREF="omega3(1670).html">omega3(1670)</A></TD>
+</TR>
+<TR>
+<TD>333</TD>
+<TD><A HREF="phi.html">phi</A></TD>
+</TR>
+<TR>
+<TD>100333</TD>
+<TD><A HREF="phi(1680).html">phi(1680)</A></TD>
+</TR>
+<TR>
+<TD>337</TD>
+<TD><A HREF="phi3(1850).html">phi3(1850)</A></TD>
+</TR>
+<TR>
+<TD>100211</TD>
+<TD><A HREF="pi(1300)+.html">pi(1300)+</A></TD>
+<TD>pi(1300)-</TD>
+</TR>
+<TR>
+<TD>100111</TD>
+<TD><A HREF="pi(1300)0.html">pi(1300)0</A></TD>
+</TR>
+<TR>
+<TD>211</TD>
+<TD><A HREF="pi+.html">pi+</A></TD>
+<TD>pi-</TD>
+</TR>
+<TR>
+<TD>111</TD>
+<TD><A HREF="pi0.html">pi0</A></TD>
+</TR>
+<TR>
+<TD>10215</TD>
+<TD><A HREF="pi2(1670)+.html">pi2(1670)+</A></TD>
+<TD>pi2(1670)-</TD>
+</TR>
+<TR>
+<TD>10115</TD>
+<TD><A HREF="pi2(1670)0.html">pi2(1670)0</A></TD>
+</TR>
+<TR>
+<TD>100213</TD>
+<TD><A HREF="rho(1450)+.html">rho(1450)+</A></TD>
+<TD>rho(1450)-</TD>
+</TR>
+<TR>
+<TD>100113</TD>
+<TD><A HREF="rho(1450)0.html">rho(1450)0</A></TD>
+</TR>
+<TR>
+<TD>30213</TD>
+<TD><A HREF="rho(1700)+.html">rho(1700)+</A></TD>
+<TD>rho(1700)-</TD>
+</TR>
+<TR>
+<TD>30113</TD>
+<TD><A HREF="rho(1700)0.html">rho(1700)0</A></TD>
+</TR>
+<TR>
+<TD>213</TD>
+<TD><A HREF="rho+.html">rho+</A></TD>
+<TD>rho-</TD>
+</TR>
+<TR>
+<TD>113</TD>
+<TD><A HREF="rho0.html">rho0</A></TD>
+</TR>
+<TR>
+<TD>217</TD>
+<TD><A HREF="rho3(1690)+.html">rho3(1690)+</A></TD>
+<TD>rho3(1690)-</TD>
+</TR>
+<TR>
+<TD>117</TD>
+<TD><A HREF="rho3(1690)0.html">rho3(1690)0</A></TD>
+</TR>
+</TABLE>
+<HR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/jpsi.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/jpsi.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/jpsi.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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.3400000e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k(1460)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k(1460)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k(1460)+.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k(1460)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k(1460)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k(1460)0.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k0_star(1430)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k0_star(1430)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k0_star(1430)+.html	(revision 1208)
@@ -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>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.4140000e+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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k0_star(1430)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k0_star(1430)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k0_star(1430)0.html	(revision 1208)
@@ -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>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.4140000e+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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k1(1270)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k1(1270)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k1(1270)+.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k1(1270)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k1(1270)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k1(1270)0.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k1(1400)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k1(1400)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k1(1400)+.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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.4020000e+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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k1(1400)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k1(1400)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k1(1400)0.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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.4020000e+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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k2(1770)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k2(1770)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k2(1770)+.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k2(1770)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k2(1770)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k2(1770)0.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k2_star(1430)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k2_star(1430)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k2_star(1430)+.html	(revision 1208)
@@ -0,0 +1,53 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k2_star(1430)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k2_star(1430)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k2_star(1430)0.html	(revision 1208)
@@ -0,0 +1,53 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k2_star(1980)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k2_star(1980)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k2_star(1980)+.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k2_star(1980)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k2_star(1980)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k2_star(1980)0.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k3_star(1780)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k3_star(1780)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k3_star(1780)+.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k3_star(1780)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k3_star(1780)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k3_star(1780)0.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k_star(1410)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k_star(1410)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k_star(1410)+.html	(revision 1208)
@@ -0,0 +1,47 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k_star(1410)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k_star(1410)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k_star(1410)0.html	(revision 1208)
@@ -0,0 +1,47 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k_star(1680)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k_star(1680)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k_star(1680)+.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k_star(1680)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k_star(1680)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k_star(1680)0.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k_star+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k_star+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k_star+.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k_star0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k_star0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/k_star0.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/kaon+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/kaon+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/kaon+.html	(revision 1208)
@@ -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>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.3150000e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/kaon0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/kaon0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/kaon0.html	(revision 1208)
@@ -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>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.9767200e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/kaon0L.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/kaon0L.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/kaon0L.html	(revision 1208)
@@ -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>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.9767200e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.2870000e-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>Life Time</B></TD><TD>5.1600000e-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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/kaon0S.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/kaon0S.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/kaon0S.html	(revision 1208)
@@ -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>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.9767200e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>7.3520000e-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>Life Time</B></TD><TD>8.9530000e-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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/omega(1420).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/omega(1420).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/omega(1420).html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/omega(1650).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/omega(1650).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/omega(1650).html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/omega.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/omega.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/omega.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/omega3(1670).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/omega3(1670).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/omega3(1670).html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/phi(1680).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/phi(1680).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/phi(1680).html	(revision 1208)
@@ -0,0 +1,55 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/phi.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/phi.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/phi.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/phi3(1850).html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/phi3(1850).html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/phi3(1850).html	(revision 1208)
@@ -0,0 +1,47 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/pi(1300)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/pi(1300)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/pi(1300)+.html	(revision 1208)
@@ -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(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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/pi(1300)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/pi(1300)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/pi(1300)0.html	(revision 1208)
@@ -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(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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/pi+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/pi+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/pi+.html	(revision 1208)
@@ -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>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.5284000e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/pi0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/pi0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/pi0.html	(revision 1208)
@@ -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>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.8000000e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/pi2(1670)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/pi2(1670)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/pi2(1670)+.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/pi2(1670)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/pi2(1670)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/pi2(1670)0.html	(revision 1208)
@@ -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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/rho(1450)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/rho(1450)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/rho(1450)+.html	(revision 1208)
@@ -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>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.4590000e+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 1<SUP><FONT FACE = "symbol" >--</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/rho(1450)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/rho(1450)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/rho(1450)0.html	(revision 1208)
@@ -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>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.4590000e+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 1<SUP><FONT FACE = "symbol" >--</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/rho(1700)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/rho(1700)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/rho(1700)+.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/rho(1700)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/rho(1700)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/rho(1700)0.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/rho+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/rho+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/rho+.html	(revision 1208)
@@ -0,0 +1,37 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/rho0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/rho0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/rho0.html	(revision 1208)
@@ -0,0 +1,37 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/rho3(1690)+.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/rho3(1690)+.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/rho3(1690)+.html	(revision 1208)
@@ -0,0 +1,45 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/rho3(1690)0.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/rho3(1690)0.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/mesons/rho3(1690)0.html	(revision 1208)
@@ -0,0 +1,47 @@
+
+<HTML>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/others/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/others/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/others/CVS/Entries	(revision 1208)
@@ -0,0 +1,6 @@
+/chargedgeantino.html/1.1/Thu Jun 17 10:54:42 1999//
+/gamma.html/1.1/Thu Jun 17 10:54:44 1999//
+/geantino.html/1.1/Thu Jun 17 10:54:47 1999//
+/index.html/1.6/Fri Feb 13 06:32:00 2004//
+/opticalphoton.html/1.1/Thu Jun 17 10:54:48 1999//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/others/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/others/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/others/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/others
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/others/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/others/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/others/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/others/chargedgeantino.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/others/chargedgeantino.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/others/chargedgeantino.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/others/gamma.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/others/gamma.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/others/gamma.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/others/geantino.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/others/geantino.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/others/geantino.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/others/index.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/others/index.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/others/index.html	(revision 1208)
@@ -0,0 +1,31 @@
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<! --  --!> 
+
+<TABLE WIDTH="80%" > 
+<TR><TD><FONT SIZE = +1>Code</FONT></TD><TD><FONT SIZE = +1>Name</FONT></TD><TD><FONT SIZE = +1>Anti-Particle</FONT></TD></TR>
+<TR>
+<TD>0</TD>
+<TD><A HREF="chargedgeantino.html">chargedgeantino</A></TD>
+</TR>
+<TR>
+<TD>22</TD>
+<TD><A HREF="gamma.html">gamma</A></TD>
+</TR>
+<TR>
+<TD>0</TD>
+<TD><A HREF="geantino.html">geantino</A></TD>
+</TR>
+<TR>
+<TD>0</TD>
+<TD><A HREF="opticalphoton.html">opticalphoton</A></TD>
+</TR>
+</TABLE>
+<HR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/others/opticalphoton.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/others/opticalphoton.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/others/opticalphoton.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/CVS/Entries	(revision 1208)
@@ -0,0 +1,18 @@
+/b_quark.html/1.2/Thu Oct 12 10:58:20 2006//
+/c_quark.html/1.2/Thu Oct 12 10:58:20 2006//
+/d_quark.html/1.2/Thu Oct 12 10:58:20 2006//
+/dd1_diquark.html/1.2/Thu Oct 12 10:58:20 2006//
+/gluon.html/1.1/Thu Jun 17 10:54:11 1999//
+/index.html/1.6/Fri Feb 13 06:32:00 2004//
+/s_quark.html/1.2/Thu Oct 12 10:58:20 2006//
+/sd0_diquark.html/1.3/Thu Oct 12 10:58:20 2006//
+/sd1_diquark.html/1.3/Thu Oct 12 10:58:20 2006//
+/ss1_diquark.html/1.3/Thu Oct 12 10:58:20 2006//
+/su0_diquark.html/1.3/Thu Oct 12 10:58:20 2006//
+/su1_diquark.html/1.3/Thu Oct 12 10:58:20 2006//
+/t_quark.html/1.3/Thu Oct 12 10:58:20 2006//
+/u_quark.html/1.2/Thu Oct 12 10:58:20 2006//
+/ud0_diquark.html/1.2/Thu Oct 12 10:58:20 2006//
+/ud1_diquark.html/1.2/Thu Oct 12 10:58:20 2006//
+/uu1_diquark.html/1.2/Thu Oct 12 10:58:20 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/b_quark.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/b_quark.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/b_quark.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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.2000000e+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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/c_quark.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/c_quark.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/c_quark.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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.2500000e+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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/d_quark.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/d_quark.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/d_quark.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>5.0000000e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/dd1_diquark.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/dd1_diquark.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/dd1_diquark.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>1.0000000e-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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/gluon.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/gluon.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/gluon.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/index.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/index.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/index.html	(revision 1208)
@@ -0,0 +1,94 @@
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<! --  --!> 
+
+<TABLE WIDTH="80%" > 
+<TR><TD><FONT SIZE = +1>Code</FONT></TD><TD><FONT SIZE = +1>Name</FONT></TD><TD><FONT SIZE = +1>Anti-Particle</FONT></TD></TR>
+<TR>
+<TD>5</TD>
+<TD><A HREF="b_quark.html">b_quark</A></TD>
+<TD>anti_b_quark</TD>
+</TR>
+<TR>
+<TD>4</TD>
+<TD><A HREF="c_quark.html">c_quark</A></TD>
+<TD>anti_c_quark</TD>
+</TR>
+<TR>
+<TD>1</TD>
+<TD><A HREF="d_quark.html">d_quark</A></TD>
+<TD>anti_d_quark</TD>
+</TR>
+<TR>
+<TD>1103</TD>
+<TD><A HREF="dd1_diquark.html">dd1_diquark</A></TD>
+<TD>anti_dd1_diquark</TD>
+</TR>
+<TR>
+<TD>21</TD>
+<TD><A HREF="gluon.html">gluon</A></TD>
+</TR>
+<TR>
+<TD>3</TD>
+<TD><A HREF="s_quark.html">s_quark</A></TD>
+<TD>anti_s_quark</TD>
+</TR>
+<TR>
+<TD>3101</TD>
+<TD><A HREF="sd0_diquark.html">sd0_diquark</A></TD>
+<TD>anti_sd0_diquark</TD>
+</TR>
+<TR>
+<TD>3103</TD>
+<TD><A HREF="sd1_diquark.html">sd1_diquark</A></TD>
+<TD>anti_sd1_diquark</TD>
+</TR>
+<TR>
+<TD>3303</TD>
+<TD><A HREF="ss1_diquark.html">ss1_diquark</A></TD>
+<TD>anti_ss1_diquark</TD>
+</TR>
+<TR>
+<TD>3201</TD>
+<TD><A HREF="su0_diquark.html">su0_diquark</A></TD>
+<TD>anti_su0_diquark</TD>
+</TR>
+<TR>
+<TD>3203</TD>
+<TD><A HREF="su1_diquark.html">su1_diquark</A></TD>
+<TD>anti_su1_diquark</TD>
+</TR>
+<TR>
+<TD>6</TD>
+<TD><A HREF="t_quark.html">t_quark</A></TD>
+<TD>anti_t_quark</TD>
+</TR>
+<TR>
+<TD>2</TD>
+<TD><A HREF="u_quark.html">u_quark</A></TD>
+<TD>anti_u_quark</TD>
+</TR>
+<TR>
+<TD>2101</TD>
+<TD><A HREF="ud0_diquark.html">ud0_diquark</A></TD>
+<TD>anti_ud0_diquark</TD>
+</TR>
+<TR>
+<TD>2103</TD>
+<TD><A HREF="ud1_diquark.html">ud1_diquark</A></TD>
+<TD>anti_ud1_diquark</TD>
+</TR>
+<TR>
+<TD>2203</TD>
+<TD><A HREF="uu1_diquark.html">uu1_diquark</A></TD>
+<TD>anti_uu1_diquark</TD>
+</TR>
+</TABLE>
+<HR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/s_quark.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/s_quark.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/s_quark.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>9.5000000e-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>-3.3333333e-01</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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/sd0_diquark.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/sd0_diquark.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/sd0_diquark.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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.0000000e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/sd1_diquark.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/sd1_diquark.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/sd1_diquark.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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.0000000e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/ss1_diquark.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/ss1_diquark.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/ss1_diquark.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>1.9000000e-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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/su0_diquark.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/su0_diquark.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/su0_diquark.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>9.7300000e-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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/su1_diquark.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/su1_diquark.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/su1_diquark.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>9.7300000e-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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/t_quark.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/t_quark.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/t_quark.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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.7420000e+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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/u_quark.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/u_quark.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/u_quark.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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.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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/ud0_diquark.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/ud0_diquark.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/ud0_diquark.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/ud1_diquark.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/ud1_diquark.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/ud1_diquark.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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.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>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>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/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/uu1_diquark.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/uu1_diquark.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/particleList.src/quarks/uu1_diquark.html	(revision 1208)
@@ -0,0 +1,31 @@
+
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<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.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>1.3333333e+00</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/UsersGuides/ForApplicationDeveloper/html/Appendix/templateLib.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/templateLib.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/templateLib.html	(revision 1208)
@@ -0,0 +1,72 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+</head>
+
+<body>
+&nbsp;
+<table WIDTH="100%" >
+<tr>
+<td>
+<a href="index.html">
+<img SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></a>
+<a href="clhepLHCxx.html">
+<img SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></a>
+<a href="makeFile.html">
+<img SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></a>
+</td>
+
+<td ALIGN=RIGHT><b><font color="#238E23"><font size=-1>Geant4 User's Guide</font></font></b>
+<br><b><font color="#238E23"><font size=-1>For Application Developers</font></font></b>
+<br><b><font color="#238E23"><font size=-1>Appendix</font></font></b></td>
+</tr>
+</table>
+
+<br>&nbsp;
+<center>
+<p><A name="10.4"><b><font color="#238E23">
+<font size=+3>10.4 C++ Standard Template Library</font></font></b></A>
+<p>
+<hr ALIGN="Center" SIZE="7%">
+<p><!-- ============================================== Section --></center>
+
+<B>Overview</B>
+<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>Good books on STL are:
+<p>Nicolai M. Josuttis: The C++ Standard Library. A Tutorial and Reference,
+   Addison-Wesley, 1999, ISBN 0-201-37926-0.
+<p>David R. Musser, Atul Saini: STL Tutorial and Reference Guide / C++
+   Programming with the Standard Template Library, Addison-Wesley, 1996,
+   ISBN 0-201-63398-1.
+<p>Scott Meyers: Effective STL,
+   Addison-Wesley, 2001, ISBN 0-201-74962-9.
+<p>Resources available online include A Modest STL tutorial and the reference
+of the SGI&nbsp;implementation:
+<ul>
+<li>
+<a href="http://www.xraylith.wisc.edu/~khan/software/stl/STL.newbie.html">Mumit's
+STL Newbie Guide</a> is a kind of a FAQ, containing answers highlighting
+practical details of STL programming.</li>
+
+<li>
+&nbsp;<a href="http://www.sgi.com/Technology/STL">SGI STL homepage</a>,
+this is the basis of the native egcs STL implementation.</li>
+</ul>
+
+<p><!-- ============================================== Section -->
+<hr>
+<B>STL in Geant4</B>
+<P>
+Since release 0.1, Geant4 supports STL, the Standard Template Library.
+From release 1.0 of Geant4, STL is required.
+<br>
+<i>Native</i> implementations of STL are foreseen on all supported platforms
+<p>
+<hr><i><a href="../../../../Authors/html/subjectsToAuthors.html">About
+the authors</a></i>
+</body>
+</html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/tipsCompilation.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/tipsCompilation.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Appendix/tipsCompilation.html	(revision 1208)
@@ -0,0 +1,156 @@
+<HTML>
+<TITLE>
+</TITLE>
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+
+
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A>
+<IMG SRC="../../../../resources/html/IconsGIF/PreviousGR.gif" ALT="Previous"></A>
+<A HREF="histogramming.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>For Application Developers</B>
+<BR>
+<B>Appendix</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<A name="10.1">
+<B>10.1 Tips for Program Compilation</B></A>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+<!-- ============================================== Section --> 
+
+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>
+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>
+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>
+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
+<KBD>$G4WORKDIR/tmp/$G4SYSTEM/g4.ptrepository/</KBD>, where 
+<KBD>$G4SYSTEM</KBD> identifies the system-architecture/compiler 
+currently used and <KBD>$G4WORKDIR</KBD> is the
+path to the user working directory for Geant4.
+<P>
+A secondary template repository <KBD>$G4TREP/exec</KBD> 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 <KBD>G4EXEC_BUILD</KBD>; 
+once activated, the secondary repository will become the read/write one,
+while the primary repository will be considered read-only.
+<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
+<KBD>$G4TREP</KBD> environment variable) for building all Geant4 libraries;
+then use a secondary template repository (<KBD>$G4TREP/exec</KBD>, together
+with the <KBD>$G4EXEC_BUILD</KBD> flag)
+when building any kind of example or application.<BR>
+It's always good practise to clean-up the secondary template repository
+from time to time.
+
+<HR>
+<A name="10.1.3">
+<H2>10.1.3 Sun</H2></A>
+<P>
+OS: SunOS<BR>
+Compiler: CC<BR>
+<P>
+The default optimisation level is <KBD>-O2</KBD>.<BR>
+Since version 5.0 of the compiler, native-STL is supported and ISO/ANSI
+compliance is required.
+
+<HR>
+<A name="10.1.4">
+<H2>10.1.4 Unix/Linux - g++</H2></A>
+<P>
+OS: Linux<BR>
+Compiler: GNU/gcc<BR>
+<P>
+Strict ISO/ANSI compilation is forced (<tt>-ansi -pedantic</tt> compiler flags), also
+code is compiled with high verbosity diagnostics (<tt>-Wall</tt> flag).
+The default optimisation level is <KBD>-O2</KBD>.<BR>
+NOTE:<BR>
+Additional compilation options (<TT>-march=pentium4 -mfpmath=sse</TT>) to adopt
+Pentium4 chip specific floating-point operations on the SSE unit, can be activated
+by uncommenting the relevant part in the <TT>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
+NOT be portable cross platforms; generated applications will only run on Pentium4-based
+architectures.
+
+<HR>
+<A name="10.1.5">
+<H2>10.1.5 Windows - MS Visual C++</H2></A>
+OS: MS/Windows<BR>
+Compiler: MS-VC++<BR>
+<P>
+Since version .NET 7.0 of the compiler, ISO/ANSI compliance is required.<BR>
+See <A HREF="../../../InstallationGuide/html/PCMachines/pcMachines.html#3.1">section 3.1</A>
+of the Installation Guide for more detailed information.<BR>
+See also <A HREF="buildFile.html">section 10.6</A> for more tips.
+
+<HR>
+<A name="10.1.6">
+<H2>10.1.6 MacOS-X - g++</H2></A>
+OS: MacOS/Darwin<BR>
+Compiler: GNU/gcc<BR>
+<P>
+The setup adopted for the <TT>g++</TT> compiler on MacOS resembles in
+great part the one for Linux systems.<BR>
+The default optimisation level in this case is <KBD>-O2</KBD>.<BR>
+Dynamic libraries (<TT>.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>DYLD_LIBRARY_PATH</TT>
+system variable.
+
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/CVS/Entries	(revision 1208)
@@ -0,0 +1,11 @@
+/index.html/1.42/Fri Jan  5 05:18:30 2007//
+D/Appendix////
+D/Control////
+D/Detector////
+D/Examples////
+D/Fundamentals////
+D/GettingStarted////
+D/Introduction////
+D/TrackingAndPhysics////
+D/UserActions////
+D/Visualization////
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/CVS/Entries	(revision 1208)
@@ -0,0 +1,4 @@
+/commands.html/1.4/Mon Dec 18 10:28:24 2006//
+/index.html/1.4/Mon Dec 18 10:28:24 2006//
+/userInterfaceCommand.html/1.6/Mon Dec 18 10:28:24 2006//
+D/UIcommands////
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/CVS/Entries	(revision 1208)
@@ -0,0 +1,84 @@
+/_.html/1.4/Sun Nov 18 19:36:13 2007//
+/_control_.html/1.3/Fri Nov 24 18:40:44 2006//
+/_control_matScan_.html/1.1/Fri Nov 24 18:40:44 2006//
+/_event_.html/1.2/Fri Nov 24 18:40:44 2006//
+/_event_stack_.html/1.1/Sun Nov 25 00:58:48 2001//
+/_geometry_.html/1.1/Sun Nov 25 00:58:48 2001//
+/_geometry_navigator_.html/1.3/Fri Nov 24 18:40:44 2006//
+/_geometry_test_.html/1.3/Fri Nov 24 18:41:01 2006//
+/_gun_.html/1.2/Fri Nov 24 18:41:01 2006//
+/_hits_.html/1.1/Sun Nov 25 00:58:48 2001//
+/_material_.html/1.1/Fri Nov 24 18:41:02 2006//
+/_material_g4_.html/1.1/Fri Nov 24 18:41:05 2006//
+/_material_nist_.html/1.1/Fri Nov 24 18:41:05 2006//
+/_particle_.html/1.2/Fri Nov 24 18:41:05 2006//
+/_particle_process_.html/1.1/Sun Nov 25 00:58:48 2001//
+/_particle_property_.html/1.1/Sun Nov 25 00:58:48 2001//
+/_particle_property_decay_.html/1.1/Sun Nov 25 00:58:48 2001//
+/_process_.html/1.3/Fri Nov 24 18:41:05 2006//
+/_process_eLoss_.html/1.2/Tue Apr 29 16:24:08 2003//
+/_random_.html/1.1/Tue Apr 29 16:24:09 2003//
+/_run_.html/1.4/Sun Nov 18 19:39:05 2007//
+/_run_particle_.html/1.3/Fri Nov 24 18:41:05 2006//
+/_score_.html/1.1/Sun Nov 18 19:40:38 2007//
+/_score_colorMap_.html/1.1/Sun Nov 18 19:40:38 2007//
+/_score_create_.html/1.1/Sun Nov 18 19:40:38 2007//
+/_score_filter_.html/1.1/Sun Nov 18 19:40:38 2007//
+/_score_mesh_.html/1.1/Sun Nov 18 19:40:38 2007//
+/_score_mesh_rotate_.html/1.1/Sun Nov 18 19:40:38 2007//
+/_score_mesh_translate_.html/1.1/Sun Nov 18 19:40:38 2007//
+/_score_quantity_.html/1.1/Sun Nov 18 19:40:39 2007//
+/_tracking_.html/1.2/Fri Nov 24 18:41:05 2006//
+/_units_.html/1.2/Fri Nov 24 18:41:05 2006//
+/_vis_.html/1.3/Wed Nov 22 13:58:57 2006//
+/_vis_ASCIITree_.html/1.2/Thu Dec  8 02:48:26 2005//
+/_vis_ASCIITree_set_.html/1.1/Thu Dec  8 02:48:26 2005//
+/_vis_GAGTree_.html/1.1/Tue Apr 29 16:24:09 2003//
+/_vis_filtering_.html/1.1/Wed Nov 22 13:58:57 2006//
+/_vis_filtering_hits_.html/1.1/Wed Nov 22 13:58:57 2006//
+/_vis_filtering_hits_attributeFilter-0_.html/1.1/Wed Nov 22 13:58:57 2006//
+/_vis_filtering_hits_create_.html/1.1/Wed Nov 22 13:58:57 2006//
+/_vis_filtering_trajectories_.html/1.1/Wed Nov 22 13:58:57 2006//
+/_vis_filtering_trajectories_attributeFilter-0_.html/1.1/Wed Nov 22 13:58:57 2006//
+/_vis_filtering_trajectories_chargeFilter-0_.html/1.1/Wed Nov 22 13:58:57 2006//
+/_vis_filtering_trajectories_create_.html/1.1/Wed Nov 22 13:58:57 2006//
+/_vis_filtering_trajectories_originVolumeFilter-0_.html/1.1/Wed Nov 22 13:58:57 2006//
+/_vis_filtering_trajectories_particleFilter-0_.html/1.1/Wed Nov 22 13:58:57 2006//
+/_vis_geometry_.html/1.1/Wed Nov 22 13:58:57 2006//
+/_vis_geometry_set_.html/1.1/Wed Nov 22 13:58:57 2006//
+/_vis_heprep_.html/1.3/Wed Nov 22 13:58:57 2006//
+/_vis_modeling_.html/1.1/Thu Dec  8 02:48:26 2005//
+/_vis_modeling_trajectories_.html/1.2/Wed Nov 22 13:58:57 2006//
+/_vis_modeling_trajectories_create_.html/1.2/Wed Nov 22 13:58:57 2006//
+/_vis_modeling_trajectories_drawByAttribute-0_.html/1.1/Wed Nov 22 13:58:57 2006//
+/_vis_modeling_trajectories_drawByAttribute-0_default_.html/1.1/Wed Nov 22 13:58:57 2006//
+/_vis_modeling_trajectories_drawByCharge-0_.html/1.2/Wed Nov 22 13:58:57 2006//
+/_vis_modeling_trajectories_drawByCharge-0_default_.html/1.1/Wed Nov 22 13:58:57 2006//
+/_vis_modeling_trajectories_drawByOriginVolume-0_.html/1.1/Wed Nov 22 13:58:57 2006//
+/_vis_modeling_trajectories_drawByOriginVolume-0_default_.html/1.1/Wed Nov 22 13:58:57 2006//
+/_vis_modeling_trajectories_drawByParticleID-0_.html/1.2/Wed Nov 22 13:58:57 2006//
+/_vis_modeling_trajectories_drawByParticleID-0_default_.html/1.1/Wed Nov 22 13:58:57 2006//
+/_vis_modeling_trajectories_generic-0_.html/1.1/Wed Nov 22 13:58:57 2006//
+/_vis_modeling_trajectories_generic-0_default_.html/1.1/Wed Nov 22 13:58:57 2006//
+/_vis_ogl_.html/1.1/Wed Nov 22 13:58:57 2006//
+/_vis_ogl_set_.html/1.1/Wed Nov 22 13:58:57 2006//
+/_vis_oglx_.html/1.1/Wed Nov 22 13:58:57 2006//
+/_vis_oglxm_.html/1.1/Wed Nov 22 13:58:57 2006//
+/_vis_oglxm_set_.html/1.1/Wed Nov 22 13:58:57 2006//
+/_vis_rayTracer_.html/1.3/Wed Nov 22 13:58:57 2006//
+/_vis_sceneHandler_.html/1.3/Wed Nov 22 13:58:57 2006//
+/_vis_scene_.html/1.3/Wed Nov 22 13:58:57 2006//
+/_vis_scene_add_.html/1.3/Wed Nov 22 13:58:57 2006//
+/_vis_viewer_.html/1.3/Wed Nov 22 13:58:57 2006//
+/_vis_viewer_set_.html/1.3/Wed Nov 22 13:58:57 2006//
+/control.txt/1.2/Tue Apr 29 16:55:18 2003//
+/event.txt/1.2/Tue Apr 29 16:55:21 2003//
+/geometry.txt/1.1/Tue Apr 29 16:55:24 2003//
+/gun.txt/1.2/Tue Apr 29 16:55:27 2003//
+/particle.txt/1.2/Tue Apr 29 16:55:28 2003//
+/process.txt/1.2/Tue Apr 29 16:55:30 2003//
+/random.txt/1.1/Tue Apr 29 16:55:30 2003//
+/run.txt/1.2/Tue Apr 29 16:55:31 2003//
+/tracking.txt/1.1/Tue Apr 29 16:55:31 2003//
+/vis.txt/1.5/Wed Nov 22 13:58:57 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_.html	(revision 1208)
@@ -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="_score_.html">/score/</a>
+<p><dd>Interactive scoring commands.
+<p><br><p><dt><a href="_hits_.html">/hits/</a>
+<p><dd>Sensitive detectors and Hits
+<p><br><p><dt><a href="_material_.html">/material/</a>
+<p><dd>Commands for Materials
+<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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_control_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_control_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_control_.html	(revision 1208)
@@ -0,0 +1,157 @@
+<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>
+<p><br><p><dt><a href="_control_matScan_.html">/control/matScan/</a>
+<p><dd>Material scanner commands.
+</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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_control_matScan_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_control_matScan_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_control_matScan_.html	(revision 1208)
@@ -0,0 +1,128 @@
+<html><head><title>Commands in /control/matScan/</title></head>
+<body bgcolor="#ffffff"><h2>/control/matScan/</h2><p>
+Material scanner commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>scan</b>
+<p><dd>
+Start material scanning.<br>
+Scanning range should be defined with<br>
+/control/matScan/theta and /control/matSca/phi commands.<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><br><p><dt><b>theta [<i>nbin</i>] [<i>thetaMin</i>] [<i>thetaSpan</i>] [<i>unit</i>]</b>
+<p><dd>
+Define theta range.<br>
+Usage : /control/matScan/theta [nbin] [thetaMin] [thetaSpan] [unit]<br>
+Notation of angles :<br>
+ theta --- +Z axis : +90 deg. / X-Y plane : 0 deg. / -Z axis : -90 deg.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>nbin
+<td>type i
+<td><td>Parameter range : nbin&gt;0
+<tr><td>thetaMin
+<td>type d
+<td><td><tr><td>thetaSpan
+<td>type d
+<td>Omittable : default value = 0
+<td>Parameter range : thetaSpan&gt;=0.
+<tr><td>unit
+<td>type c
+<td>Omittable : default value = deg
+<td>Parameter candidates : rad mrad sr deg radian milliradian steradian degree
+</table>
+<p><br><p><dt><b>phi [<i>nbin</i>] [<i>phiMin</i>] [<i>phiSpan</i>] [<i>unit</i>]</b>
+<p><dd>
+Define phi range.<br>
+Usage : /control/matScan/phi [nbin] [phiMin] [phiSpan] [unit]<br>
+Notation of angles :<br>
+ phi   --- +X axis : 0 deg. / +Y axis : 90 deg. / -X axis : 180 deg. / -Y axis : 270 deg.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>nbin
+<td>type i
+<td><td>Parameter range : nbin&gt;0
+<tr><td>phiMin
+<td>type d
+<td><td><tr><td>phiSpan
+<td>type d
+<td>Omittable : default value = 0
+<td>Parameter range : phiSpan&gt;=0.
+<tr><td>unit
+<td>type c
+<td>Omittable : default value = deg
+<td>Parameter candidates : rad mrad sr deg radian milliradian steradian degree
+</table>
+<p><br><p><dt><b>singleMeasure [<i>theta</i>] [<i>phi</i>] [<i>unit</i>]</b>
+<p><dd>
+Measure thickness for one particular direction.<br>
+Notation of angles :<br>
+ theta --- +Z axis : +90 deg. / X-Y plane : 0 deg. / -Z axis : -90 deg.<br>
+ phi   --- +X axis : 0 deg. / +Y axis : 90 deg. / -X axis : 180 deg. / -Y axis : 270 deg.<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>theta
+<td>type d
+<td><td><tr><td>phi
+<td>type d
+<td><td><tr><td>unit
+<td>type c
+<td>Omittable : default value = deg
+<td>Parameter candidates : rad mrad sr deg radian milliradian steradian degree
+</table>
+<p><br><p><dt><b>singleTo [<i>X</i>] [<i>Y</i>] [<i>Z</i>]</b>
+<p><dd>
+Measure thicknesss for one direction defined by a unit vector.<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></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>
+<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>regionSensitive [<i>senseFlag</i>]</b>
+<p><dd>
+Set region sensitivity.<br>
+This command is automatically set to TRUE<br>
+ if /control/matScan/region command is issued.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>senseFlag
+<td>type b
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>region [<i>region</i>]</b>
+<p><dd>
+Define region name to be scanned.<br>
+/control/matScan/regionSensitive command is automatically<br>
+set to TRUE with this command.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>region
+<td>type s
+<td>Omittable : default value = DefaultRegionForTheWorld
+<td></table>
+</dl></body></html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_event_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_event_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_event_.html	(revision 1208)
@@ -0,0 +1,34 @@
+<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>
+<p><br><p><dt><b>keepCurrentEvent</b>
+<p><dd>
+Store the current event to G4Run object instead of deleting it at the end of event.<br>
+Stored event is available through G4Run until the begining of next run.<br>
+Given the potential large memory size of G4Event and its datamember objects stored in G4Event,<br>
+the user must be careful and responsible for not to store too many G4Event objects.<br>
+<p><dd>Available Geant4 state(s) : EventProc 
+GeomClosed 
+</dl></body></html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_event_stack_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_event_stack_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_event_stack_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_geometry_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_geometry_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_geometry_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_geometry_navigator_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_geometry_navigator_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_geometry_navigator_.html	(revision 1208)
@@ -0,0 +1,46 @@
+<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 volume positioning and step lengths<br>
+ 2 : Display step/safety info on point location<br>
+ 3 : Display minimal 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>
+<p><br><p><dt><b>check_mode [<i>checkFlag</i>]</b>
+<p><dd>
+Set navigator in -check_mode- state.<br>
+This will cause extra checks to be applied during<br>
+navigation. More strict and less tolerant conditions<br>
+are applied. A run-time performance penalty may be<br>
+observed when the -check_mode- state is activated.<br>
+NOTE: this command has effect -only- if Geant4 has<br>
+      been installed with the G4VERBOSE flag set!<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>checkFlag
+<td>type b
+<td>Omittable : default value = 0
+<td></table>
+</dl></body></html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_geometry_test_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_geometry_test_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_geometry_test_.html	(revision 1208)
@@ -0,0 +1,208 @@
+<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>
+Initial default value: 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 um 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 for the line_test.<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 um 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 for the line_test.<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 [<i>recursionFlag</i>]</b>
+<p><dd>
+Performs test along a single specified direction/position.<br>
+Use position and direction commands to change default.<br>
+Initial default: position(0,0,0), direction(0,0,1).<br>
+If recursion flag is set to TRUE, the intersection checks<br>
+will be performed recursively in the geometry tree.<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>recursionFlag
+<td>type b
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>grid_cells [<i>X</i>] [<i>Y</i>] [<i>Z</i>]</b>
+<p><dd>
+Define resolution of grid geometry as number of cells,<br>
+specifying them for each dimension, X, Y and Z.<br>
+Will be applied to grid_test and recursive_test commands.<br>
+Initial default values: X=100, Y=100, Z=100.<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></table>
+<p><br><p><dt><b>grid_test [<i>recursionFlag</i>]</b>
+<p><dd>
+Start running the default grid test.<br>
+A grid of lines parallel to a cartesian axis is used;<br>
+By default, only direct daughters of the mother volumes are checked.<br>
+If recursion flag is set to TRUE, the intersection checks<br>
+will be performed recursively in the geometry tree.<br>
+NOTE: the recursion may take a very long time,<br>
+      depending on the geometry complexity !<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>recursionFlag
+<td>type b
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>cylinder_geometry [<i>nPhi</i>] [<i>nZ</i>] [<i>nRho</i>]</b>
+<p><dd>
+Define details of the cylinder geometry, specifying:<br>
+  nPhi - number of lines per Phi<br>
+  nZ   - number of Z points<br>
+  nRho - number of Rho points<br>
+Will be applied to the cylinder_test command.<br>
+Initial default values: nPhi=90, nZ=50, nRho=50.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>nPhi
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td><tr><td>nZ
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td><tr><td>nRho
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td></table>
+<p><br><p><dt><b>cylinder_scaleZ [<i>fracZ</i>]</b>
+<p><dd>
+Define the resolution of the cylinder geometry, specifying<br>
+the fraction scale for points along Z.<br>
+Initial default values: fracZ=0.8<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>fracZ
+<td>type d
+<td>Omittable : default value = 0.8
+<td></table>
+<p><br><p><dt><b>cylinder_scaleRho [<i>fracRho</i>]</b>
+<p><dd>
+Define the resolution of the cylinder geometry, specifying<br>
+the fraction scale for points along Rho.<br>
+Initial default values: fracRho=0.8<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>fracRho
+<td>type d
+<td>Omittable : default value = 0.8
+<td></table>
+<p><br><p><dt><b>cylinder_test [<i>recursionFlag</i>]</b>
+<p><dd>
+Start running the cylinder test.<br>
+A set of lines in a cylindrical pattern of gradually<br>
+increasing mesh size.<br>
+By default, only direct daughters of the mother volumes are checked.<br>
+If recursion flag is set to TRUE, the intersection checks<br>
+will be performed recursively in the geometry tree.<br>
+NOTE: the recursion may take a very long time,<br>
+      depending on the geometry complexity !<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>recursionFlag
+<td>type b
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>recursion_start [<i>initial_level</i>]</b>
+<p><dd>
+Set the initial level in the geometry tree for recursion.<br>
+recursive_test will then start from the specified level.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>initial_level
+<td>type i
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>recursion_depth [<i>recursion_depth</i>]</b>
+<p><dd>
+Set the depth in the geometry tree for recursion.<br>
+recursive_test will then stop after reached the specified depth.<br>
+By default, recursion will proceed for the whole depth.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>recursion_depth
+<td>type i
+<td>Omittable : default value = -1
+<td></table>
+<p><br><p><dt><b>run [<i>recursionFlag</i>]</b>
+<p><dd>
+Start running the default grid test.<br>
+Same as the grid_test command.<br>
+If recursion flag is set to TRUE, the intersection checks<br>
+will be performed recursively in the geometry tree.<br>
+NOTE: the recursion may take a very long time,<br>
+      depending on the geometry complexity !<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>recursionFlag
+<td>type b
+<td>Omittable : default value = 0
+<td></table>
+<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>
+NOTE: it may take a very long time,<br>
+      depending on the geometry complexity !<br>
+<p><dd>Available Geant4 state(s) : Idle 
+</dl></body></html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_gun_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_gun_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_gun_.html	(revision 1208)
@@ -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- J/psi anti_B0 anti_Bs0 anti_D0 anti_kaon0 anti_lambda anti_lambda_c+ anti_neutron anti_nu_e anti_nu_mu anti_nu_tau anti_omega- anti_omega_c0 anti_proton anti_sigma+ anti_sigma- anti_sigma0 anti_sigma_c+ anti_sigma_c++ anti_sigma_c0 anti_xi- anti_xi0 anti_xi_c+ anti_xi_c0 chargedgeantino e+ e- eta gamma geantino kaon+ kaon- kaon0 kaon0L kaon0S lambda lambda_c+ mu+ mu- neutron nu_e nu_mu nu_tau omega- omega_c0 opticalphoton pi+ pi- pi0 proton sigma+ sigma- sigma0 sigma_c+ sigma_c++ sigma_c0 tau+ tau- 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 um 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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_hits_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_hits_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_hits_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_material_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_material_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_material_.html	(revision 1208)
@@ -0,0 +1,20 @@
+<html><head><title>Commands in /material/</title></head>
+<body bgcolor="#ffffff"><h2>/material/</h2><p>
+Commands for Materials<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_material_nist_.html">/material/nist/</a>
+<p><dd>Commands for the nist dataBase
+<p><br><p><dt><a href="_material_g4_.html">/material/g4/</a>
+<p><dd>Commands for G4MaterialTable
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>verbose [<i></i>]</b>
+<p><dd>
+Set verbose level.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>
+<td>type i
+<td><td></table>
+</dl></body></html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_material_g4_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_material_g4_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_material_g4_.html	(revision 1208)
@@ -0,0 +1,24 @@
+<html><head><title>Commands in /material/g4/</title></head>
+<body bgcolor="#ffffff"><h2>/material/g4/</h2><p>
+Commands for G4MaterialTable<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>printElement [<i></i>]</b>
+<p><dd>
+print Element in G4ElementTable.<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>printMaterial [<i></i>]</b>
+<p><dd>
+print Material in G4MaterialTable.<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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_material_nist_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_material_nist_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_material_nist_.html	(revision 1208)
@@ -0,0 +1,43 @@
+<html><head><title>Commands in /material/nist/</title></head>
+<body bgcolor="#ffffff"><h2>/material/nist/</h2><p>
+Commands for the nist dataBase<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>printElement [<i>symbol</i>]</b>
+<p><dd>
+print element(s) in dataBase.<br>
+symbol = element.<br>
+all    = all elements.<br>
+verbose&gt;1 : list associated isotopes.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>symbol
+<td>type s
+<td>Omittable : default value = all
+<td></table>
+<p><br><p><dt><b>printElementZ [<i></i>]</b>
+<p><dd>
+print element Z in dataBase.<br>
+verbose&gt;1 : list associated isotopes.<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>listMaterials [<i>list</i>]</b>
+<p><dd>
+list materials in dataBase.<br>
+simple = simple nist materials.<br>
+compound = compound nist materials.<br>
+hep = hep materials.<br>
+all = all materials.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>list
+<td>type s
+<td>Omittable : default value = all
+<td>Parameter candidates : simple compound hep all
+</table>
+</dl></body></html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_particle_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_particle_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_particle_.html	(revision 1208)
@@ -0,0 +1,37 @@
+<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.
+</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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_particle_process_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_particle_process_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_particle_process_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_particle_property_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_particle_property_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_particle_property_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_particle_property_decay_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_particle_property_decay_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_particle_property_decay_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_process_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_process_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_process_.html	(revision 1208)
@@ -0,0 +1,104 @@
+<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>
+</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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_process_eLoss_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_process_eLoss_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_process_eLoss_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_random_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_random_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_random_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_run_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_run_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_run_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_run_particle_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_run_particle_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_run_particle_.html	(revision 1208)
@@ -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 um 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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_score_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_score_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_score_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_score_colorMap_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_score_colorMap_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_score_colorMap_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_score_create_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_score_create_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_score_create_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_score_filter_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_score_filter_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_score_filter_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_score_mesh_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_score_mesh_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_score_mesh_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_score_mesh_rotate_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_score_mesh_rotate_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_score_mesh_rotate_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_score_mesh_translate_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_score_mesh_translate_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_score_mesh_translate_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_score_quantity_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_score_quantity_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_score_quantity_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_tracking_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_tracking_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_tracking_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_units_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_units_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_units_.html	(revision 1208)
@@ -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 at all Geant4 states.
+</dl></body></html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_.html	(revision 1208)
@@ -0,0 +1,189 @@
+<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_ogl_.html">/vis/ogl/</a>
+<p><dd>G4OpenGLViewer commands.
+<p><br><p><dt><a href="_vis_oglx_.html">/vis/oglx/</a>
+<p><dd>G4OpenGLXViewer 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>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 "continue" to continue to the next
+event.<br>
+However, if the current scene requests event accumulation, this
+command simply notifies handlers.<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 : XXX XXXFile XXXStored XXXSG ATree DAWNFILE GAGTree HepRepXML HepRepFile RayTracer 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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_ASCIITree_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_ASCIITree_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_ASCIITree_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_ASCIITree_set_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_ASCIITree_set_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_ASCIITree_set_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_GAGTree_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_GAGTree_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_GAGTree_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_hits_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_hits_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_hits_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_hits_attributeFilter-0_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_hits_attributeFilter-0_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_hits_attributeFilter-0_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_hits_create_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_hits_create_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_hits_create_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_trajectories_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_trajectories_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_trajectories_.html	(revision 1208)
@@ -0,0 +1,36 @@
+<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.
+<p><br><p><dt><a href="_vis_filtering_trajectories_particleFilter-0_.html">/vis/filtering/trajectories/particleFilter-0/</a>
+<p><dd>Commands for particleFilter-0 model.
+<p><br><p><dt><a href="_vis_filtering_trajectories_originVolumeFilter-0_.html">/vis/filtering/trajectories/originVolumeFilter-0/</a>
+<p><dd>Commands for originVolumeFilter-0 model.
+<p><br><p><dt><a href="_vis_filtering_trajectories_attributeFilter-0_.html">/vis/filtering/trajectories/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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_trajectories_attributeFilter-0_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_trajectories_attributeFilter-0_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_trajectories_attributeFilter-0_.html	(revision 1208)
@@ -0,0 +1,60 @@
+<html><head><title>Commands in /vis/filtering/trajectories/attributeFilter-0/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/filtering/trajectories/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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_trajectories_chargeFilter-0_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_trajectories_chargeFilter-0_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_trajectories_chargeFilter-0_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_trajectories_create_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_trajectories_create_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_trajectories_create_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_trajectories_originVolumeFilter-0_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_trajectories_originVolumeFilter-0_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_trajectories_originVolumeFilter-0_.html	(revision 1208)
@@ -0,0 +1,44 @@
+<html><head><title>Commands in /vis/filtering/trajectories/originVolumeFilter-0/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/filtering/trajectories/originVolumeFilter-0/</h2><p>
+Commands for originVolumeFilter-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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_trajectories_particleFilter-0_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_trajectories_particleFilter-0_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_filtering_trajectories_particleFilter-0_.html	(revision 1208)
@@ -0,0 +1,44 @@
+<html><head><title>Commands in /vis/filtering/trajectories/particleFilter-0/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/filtering/trajectories/particleFilter-0/</h2><p>
+Commands for particleFilter-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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_geometry_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_geometry_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_geometry_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_geometry_set_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_geometry_set_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_geometry_set_.html	(revision 1208)
@@ -0,0 +1,154 @@
+<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>
+Sets 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>
+Sets auxiliary (soft) edges of logical volume(s) drawing visible.<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>forceSolid [<i>logical-volume-name</i>] [<i>depth</i>] [<i>forceSolid</i>]</b>
+<p><dd>
+Sets logical volume(s) drawing always to be as solid (surface 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>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>
+Sets logical volume(s) drawing always to be as wireframe.<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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_heprep_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_heprep_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_heprep_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_.html	(revision 1208)
@@ -0,0 +1,37 @@
+<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.
+<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.
+<p><br><p><dt><a href="_vis_modeling_trajectories_drawByOriginVolume-0_.html">/vis/modeling/trajectories/drawByOriginVolume-0/</a>
+<p><dd>Commands for drawByOriginVolume-0 model.
+<p><br><p><dt><a href="_vis_modeling_trajectories_drawByAttribute-0_.html">/vis/modeling/trajectories/drawByAttribute-0/</a>
+<p><dd>Commands for drawByAttribute-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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_create_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_create_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_create_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_drawByAttribute-0_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_drawByAttribute-0_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_drawByAttribute-0_.html	(revision 1208)
@@ -0,0 +1,42 @@
+<html><head><title>Commands in /vis/modeling/trajectories/drawByAttribute-0/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/modeling/trajectories/drawByAttribute-0/</h2><p>
+Commands for drawByAttribute-0 model.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_vis_modeling_trajectories_drawByAttribute-0_default_.html">/vis/modeling/trajectories/drawByAttribute-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>
+<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>addInterval [<i></i>]</b>
+<p><dd>
+Add 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>
+Add 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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_drawByAttribute-0_default_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_drawByAttribute-0_default_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_drawByAttribute-0_default_.html	(revision 1208)
@@ -0,0 +1,188 @@
+<html><head><title>Commands in /vis/modeling/trajectories/drawByAttribute-0/default/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/modeling/trajectories/drawByAttribute-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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_drawByCharge-0_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_drawByCharge-0_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_drawByCharge-0_.html	(revision 1208)
@@ -0,0 +1,44 @@
+<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>
+<p><br><p><dt><a href="_vis_modeling_trajectories_drawByCharge-0_default_.html">/vis/modeling/trajectories/drawByCharge-0/default/</a>
+<p><dd>Commands for default configuration
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>set [<i>Variable</i>] [<i>Value</i>]</b>
+<p><dd>
+Set variable 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><tr><td>Value
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>setRGBA [<i>Variable</i>] [<i>Red component</i>] [<i>Green component</i>] [<i>Blue component</i>] [<i>Alpha component</i>]</b>
+<p><dd>
+Set variable colour through red, green, blue and alpha components<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Variable
+<td>type s
+<td><td><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>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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_drawByCharge-0_default_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_drawByCharge-0_default_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_drawByCharge-0_default_.html	(revision 1208)
@@ -0,0 +1,188 @@
+<html><head><title>Commands in /vis/modeling/trajectories/drawByCharge-0/default/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/modeling/trajectories/drawByCharge-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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_drawByOriginVolume-0_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_drawByOriginVolume-0_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_drawByOriginVolume-0_.html	(revision 1208)
@@ -0,0 +1,67 @@
+<html><head><title>Commands in /vis/modeling/trajectories/drawByOriginVolume-0/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/modeling/trajectories/drawByOriginVolume-0/</h2><p>
+Commands for drawByOriginVolume-0 model.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_vis_modeling_trajectories_drawByOriginVolume-0_default_.html">/vis/modeling/trajectories/drawByOriginVolume-0/default/</a>
+<p><dd>Commands for default configuration
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>set [<i>Variable</i>] [<i>Value</i>]</b>
+<p><dd>
+Set variable 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><tr><td>Value
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>setRGBA [<i>Variable</i>] [<i>Red component</i>] [<i>Green component</i>] [<i>Blue component</i>] [<i>Alpha component</i>]</b>
+<p><dd>
+Set variable colour through red, green, blue and alpha components<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Variable
+<td>type s
+<td><td><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>setDefault [<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>setDefaultRGBA [<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>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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_drawByOriginVolume-0_default_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_drawByOriginVolume-0_default_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_drawByOriginVolume-0_default_.html	(revision 1208)
@@ -0,0 +1,188 @@
+<html><head><title>Commands in /vis/modeling/trajectories/drawByOriginVolume-0/default/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/modeling/trajectories/drawByOriginVolume-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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_drawByParticleID-0_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_drawByParticleID-0_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_drawByParticleID-0_.html	(revision 1208)
@@ -0,0 +1,67 @@
+<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>
+<p><br><p><dt><a href="_vis_modeling_trajectories_drawByParticleID-0_default_.html">/vis/modeling/trajectories/drawByParticleID-0/default/</a>
+<p><dd>Commands for default configuration
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>set [<i>Variable</i>] [<i>Value</i>]</b>
+<p><dd>
+Set variable 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><tr><td>Value
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>setRGBA [<i>Variable</i>] [<i>Red component</i>] [<i>Green component</i>] [<i>Blue component</i>] [<i>Alpha component</i>]</b>
+<p><dd>
+Set variable colour through red, green, blue and alpha components<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Variable
+<td>type s
+<td><td><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>setDefault [<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>setDefaultRGBA [<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>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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_drawByParticleID-0_default_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_drawByParticleID-0_default_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_drawByParticleID-0_default_.html	(revision 1208)
@@ -0,0 +1,188 @@
+<html><head><title>Commands in /vis/modeling/trajectories/drawByParticleID-0/default/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/modeling/trajectories/drawByParticleID-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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_generic-0_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_generic-0_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_generic-0_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_generic-0_default_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_generic-0_default_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_modeling_trajectories_generic-0_default_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_ogl_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_ogl_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_ogl_.html	(revision 1208)
@@ -0,0 +1,10 @@
+<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>
+</dl></body></html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_ogl_set_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_ogl_set_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_ogl_set_.html	(revision 1208)
@@ -0,0 +1,135 @@
+<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>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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_oglx_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_oglx_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_oglx_.html	(revision 1208)
@@ -0,0 +1,14 @@
+<html><head><title>Commands in /vis/oglx/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/oglx/</h2><p>
+G4OpenGLXViewer commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_oglxm_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_oglxm_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_oglxm_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_oglxm_set_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_oglxm_set_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_oglxm_set_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_rayTracer_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_rayTracer_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_rayTracer_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_sceneHandler_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_sceneHandler_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_sceneHandler_.html	(revision 1208)
@@ -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 XXXFile XXXStored XXXSG ATree DAWNFILE GAGTree HepRepXML HepRepFile RayTracer 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 = 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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_scene_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_scene_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_scene_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_scene_add_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_scene_add_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_scene_add_.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_viewer_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_viewer_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_viewer_.html	(revision 1208)
@@ -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 A*x + B*y + C*z + D = 0 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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_viewer_set_.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_viewer_set_.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_vis_viewer_set_.html	(revision 1208)
@@ -0,0 +1,340 @@
+<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>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>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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/control.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/control.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/control.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/event.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/event.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/event.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/geometry.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/geometry.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/geometry.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/gun.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/gun.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/gun.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/particle.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/particle.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/particle.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/process.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/process.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/process.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/random.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/random.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/random.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/run.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/run.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/run.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/tracking.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/tracking.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/tracking.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/vis.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/vis.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/vis.txt	(revision 1208)
@@ -0,0 +1,5082 @@
+Command directory path : /vis/
+
+
+Guidance :
+Visualization commands.
+
+ Sub-directories : 
+   /vis/ASCIITree/   Commands for ASCIITree control.
+   /vis/GAGTree/   Commands for GAGTree control.
+   /vis/heprep/   HepRep commands.
+   /vis/rayTracer/   RayTracer commands.
+   /vis/ogl/   G4OpenGLViewer commands.
+   /vis/oglx/   G4OpenGLXViewer commands.
+   /vis/oglxm/   G4OpenGLXmViewer commands.
+   /vis/modeling/   Modeling commands.
+   /vis/filtering/   Filtering commands.
+   /vis/geometry/   Operations on vis attributes of Geant4 geometry.
+   /vis/scene/   Operations on Geant4 scenes.
+   /vis/sceneHandler/   Operations on Geant4 scene handlers.
+   /vis/viewer/   Operations on Geant4 viewers.
+ Commands : 
+   enable * Enables/disables visualization system.
+   disable * Disables visualization system.
+   list * Lists visualization parameters.
+   verbose * Simple graded message scheme - digit or string (1st character defines):
+   reviewKeptEvents * Review kept events.
+   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 containing this physical volume and asks the
+current viewer to draw it.  The scene becomes current.
+   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/list
+Guidance :
+Lists visualization parameters.
+
+Parameter : verbosity
+ Parameter type  : s
+ Omittable       : True
+ Default value   : warnings
+
+
+
+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/reviewKeptEvents
+Guidance :
+Review kept events.
+If a macro file is specified, it is executed for each event.
+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 "continue" to continue to the next
+event.
+However, if the current scene requests event accumulation, this
+command simply notifies handlers.
+
+Parameter : macro-file-name
+ Parameter type  : s
+ Omittable       : True
+
+
+
+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 containing this physical volume and asks the
+current viewer to draw it.  The scene becomes current.
+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.
+
+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 XXXFile XXXStored XXXSG ATree DAWNFILE GAGTree HepRepXML HepRepFile RayTracer 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 :
+HepRep commands.
+
+ 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 * Command has been deprecated.  Use /vis/viewer/set/background instead.
+
+
+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 um 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 um 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 um 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 :
+Command has been deprecated.  Use /vis/viewer/set/background instead.
+
+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/ogl/
+
+
+Guidance :
+G4OpenGLViewer commands.
+
+ Sub-directories : 
+   /vis/ogl/set/   G4OpenGLViewer set commands.
+ Commands : 
+Command directory path : /vis/ogl/set/
+
+
+Guidance :
+G4OpenGLViewer set commands.
+
+ Sub-directories : 
+ Commands : 
+   displayHeadTime * Display head time of range in 2D text.
+   displayLightFront * Display the light front at head time.
+   endTime * Set end and range of track time.
+   fade * 0: no fade; 1: maximum fade with time within range.
+   startTime * Set start and range of track time.
+   transparency * True/false to enable/disable rendering of transparent objects.
+
+
+Command /vis/ogl/set/displayHeadTime
+Guidance :
+Display head time of range in 2D text.
+
+Parameter : displayHeadTime
+ Parameter type  : b
+ Omittable       : False
+ Default value   : 0
+
+Parameter : screenX
+-1 < screenX < 1
+ Parameter type  : d
+ Omittable       : True
+ Default value   : -0.9
+ Parameter range : screenX >= -1. && screenX <= 1.
+
+Parameter : screenY
+-1 < screenY < 1
+ Parameter type  : d
+ Omittable       : True
+ Default value   : -0.9
+ Parameter range : screenY >= -1. && screenY <= 1.
+
+Parameter : screenSize
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 24
+
+Parameter : red
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+ Parameter range : red >= 0. && red <= 1.
+
+Parameter : green
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+ Parameter range : green >= 0. && green <= 1.
+
+Parameter : blue
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+ Parameter range : blue >= 0. && blue <= 1.
+
+
+
+Command /vis/ogl/set/displayLightFront
+Guidance :
+Display the light front at head time.
+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
+
+Parameter : displayLightFront
+ Parameter type  : b
+ Omittable       : False
+ Default value   : 0
+
+Parameter : originX
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : originY
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : originZ
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : space_unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+
+Parameter : originT
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : time_unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : s
+
+Parameter : red
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+ Parameter range : red >= 0. && red <= 1.
+
+Parameter : green
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+ Parameter range : green >= 0. && green <= 1.
+
+Parameter : blue
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+ Parameter range : blue >= 0. && blue <= 1.
+
+
+
+Command /vis/ogl/set/endTime
+Guidance :
+Set end and range of track time.
+
+Parameter : end-time
+ Parameter type  : d
+ Omittable       : False
+ Default value   : 1.79769e+308
+
+Parameter : end-time-unit
+ Parameter type  : s
+ Omittable       : False
+ Default value   : ns
+
+Parameter : time-range
+ Parameter type  : d
+ Omittable       : True
+ Default value   : -1
+
+Parameter : time-range-unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : ns
+
+
+
+Command /vis/ogl/set/fade
+Guidance :
+0: no fade; 1: maximum fade with time within range.
+ Range of parameters : fadefactor>=0.&&fadefactor<=1.
+
+Parameter : fadefactor
+ Parameter type  : d
+ Omittable       : False
+ Default value   : 0
+
+
+
+Command /vis/ogl/set/startTime
+Guidance :
+Set start and range of track time.
+
+Parameter : start-time
+ Parameter type  : d
+ Omittable       : False
+ Default value   : -1.79769e+308
+
+Parameter : start-time-unit
+ Parameter type  : s
+ Omittable       : False
+ Default value   : ns
+
+Parameter : time-range
+ Parameter type  : d
+ Omittable       : True
+ Default value   : -1
+
+Parameter : time-range-unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : ns
+
+
+
+Command /vis/ogl/set/transparency
+Guidance :
+True/false to enable/disable rendering of transparent objects.
+
+Parameter : transparency-enabled
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+Command directory path : /vis/oglx/
+
+
+Guidance :
+G4OpenGLXViewer commands.
+
+ Sub-directories : 
+ Commands : 
+   printEPS * Print Encapsulated PostScript file.
+
+
+Command /vis/oglx/printEPS
+Guidance :
+Print Encapsulated PostScript file.
+Generates files with names G4OpenGL_n.eps, where n is a sequence
+number, starting at 0.
+
+Command directory path : /vis/oglxm/
+
+
+Guidance :
+G4OpenGLXmViewer commands.
+
+ Sub-directories : 
+   /vis/oglxm/set/   G4OpenGLXmViewer set commands.
+ Commands : 
+Command directory path : /vis/oglxm/set/
+
+
+Guidance :
+G4OpenGLXmViewer 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/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/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/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/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/set/zoom-high
+Guidance :
+Higher limit of zoom slider.
+
+Parameter : zoom-high
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/oglxm/set/zoom-low
+Guidance :
+Lower limit of zoom slider.
+
+Parameter : zoom-low
+ Parameter type  : d
+ Omittable       : False
+
+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/generic-0/   Commands for generic-0 model.
+   /vis/modeling/trajectories/drawByCharge-0/   Commands for drawByCharge-0 model.
+   /vis/modeling/trajectories/drawByParticleID-0/   Commands for drawByParticleID-0 model.
+   /vis/modeling/trajectories/drawByOriginVolume-0/   Commands for drawByOriginVolume-0 model.
+   /vis/modeling/trajectories/drawByAttribute-0/   Commands for drawByAttribute-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 : 
+   generic * Create a generic model and associated messengers.
+   drawByCharge * Create a drawByCharge model and associated messengers.
+   drawByParticleID * Create a drawByParticleID model and associated messengers.
+   drawByOriginVolume * Create a drawByOriginVolume model and associated messengers.
+   drawByAttribute * Create a drawByAttribute model and associated messengers.
+
+
+Command /vis/modeling/trajectories/create/generic
+Guidance :
+Create a generic model and associated messengers.
+Generated model becomes current.
+
+Parameter : model-name
+ Parameter type  : s
+ Omittable       : True
+
+
+
+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 /vis/modeling/trajectories/create/drawByOriginVolume
+Guidance :
+Create a drawByOriginVolume model and associated messengers.
+Generated model becomes current.
+
+Parameter : model-name
+ Parameter type  : s
+ Omittable       : True
+
+
+
+Command /vis/modeling/trajectories/create/drawByAttribute
+Guidance :
+Create a drawByAttribute model and associated messengers.
+Generated model becomes current.
+
+Parameter : model-name
+ Parameter type  : s
+ Omittable       : True
+
+Command directory path : /vis/modeling/trajectories/generic-0/
+
+
+Guidance :
+Commands for generic-0 model.
+
+ Sub-directories : 
+   /vis/modeling/trajectories/generic-0/default/   Commands for default configuration
+ Commands : 
+   verbose * Verbose command
+
+
+Command /vis/modeling/trajectories/generic-0/verbose
+Guidance :
+Verbose command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+Command directory path : /vis/modeling/trajectories/generic-0/default/
+
+
+Guidance :
+Commands for default configuration
+
+ Sub-directories : 
+ Commands : 
+   setDrawLine * Set draw line command
+   setLineVisible * Set line visibility command
+   setLineColour * Set colour through a string
+   setLineColourRGBA * Set colour through red, green, blue and alpha components
+   setDrawStepPts * Set draw step points command
+   setStepPtsVisible * Set step points visible command
+   setStepPtsColour * Set colour through a string
+   setStepPtsColourRGBA * Set colour through red, green, blue and alpha components
+   setStepPtsSize * Set step points size command
+   setStepPtsType * Set step points type.
+   setStepPtsFillStyle * Set step fill style type.
+   setDrawAuxPts * Set draw auxiliary points command
+   setAuxPtsVisible * Set auxiliary points visibility command
+   setAuxPtsColour * Set colour through a string
+   setAuxPtsColourRGBA * Set colour through red, green, blue and alpha components
+   setAuxPtsSize * Set auxiliary points size command
+   setAuxPtsType * Set auxiliary points type.
+   setAuxPtsFillStyle * Set auxiliary fill style.
+   setTimeSliceInterval * Set time slice interval.  Give unit, e.g., "0.1 ns"
+
+
+Command /vis/modeling/trajectories/generic-0/default/setDrawLine
+Guidance :
+Set draw line command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setLineVisible
+Guidance :
+Set line visibility command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setLineColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setLineColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setDrawStepPts
+Guidance :
+Set draw step points command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setStepPtsVisible
+Guidance :
+Set step points visible command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setStepPtsColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setStepPtsColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setStepPtsSize
+Guidance :
+Set step points size command
+
+Parameter : Double
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setStepPtsType
+Guidance :
+Set step points type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : dots circles squares
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setStepPtsFillStyle
+Guidance :
+Set step fill style type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : noFill hashed filled
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setDrawAuxPts
+Guidance :
+Set draw auxiliary points command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setAuxPtsVisible
+Guidance :
+Set auxiliary points visibility command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setAuxPtsColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setAuxPtsColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setAuxPtsSize
+Guidance :
+Set auxiliary points size command
+
+Parameter : Double
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setAuxPtsType
+Guidance :
+Set auxiliary points type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : dots circles squares
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setAuxPtsFillStyle
+Guidance :
+Set auxiliary fill style.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : noFill hashed filled
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setTimeSliceInterval
+Guidance :
+Set time slice interval.  Give unit, e.g., "0.1 ns"
+
+Parameter : DoubleAndUnit
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : s ms mus ns ps second millisecond microsecond nanosecond picosecond
+
+Command directory path : /vis/modeling/trajectories/drawByCharge-0/
+
+
+Guidance :
+Commands for drawByCharge-0 model.
+
+ Sub-directories : 
+   /vis/modeling/trajectories/drawByCharge-0/default/   Commands for default configuration
+ Commands : 
+   set * Set variable colour through a string
+   setRGBA * Set variable colour through red, green, blue and alpha components
+   verbose * Verbose command
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/set
+Guidance :
+Set variable colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : Value
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/setRGBA
+Guidance :
+Set variable colour through red, green, blue and alpha components
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/verbose
+Guidance :
+Verbose command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+Command directory path : /vis/modeling/trajectories/drawByCharge-0/default/
+
+
+Guidance :
+Commands for default configuration
+
+ Sub-directories : 
+ Commands : 
+   setDrawLine * Set draw line command
+   setLineVisible * Set line visibility command
+   setLineColour * Set colour through a string
+   setLineColourRGBA * Set colour through red, green, blue and alpha components
+   setDrawStepPts * Set draw step points command
+   setStepPtsVisible * Set step points visible command
+   setStepPtsColour * Set colour through a string
+   setStepPtsColourRGBA * Set colour through red, green, blue and alpha components
+   setStepPtsSize * Set step points size command
+   setStepPtsType * Set step points type.
+   setStepPtsFillStyle * Set step fill style type.
+   setDrawAuxPts * Set draw auxiliary points command
+   setAuxPtsVisible * Set auxiliary points visibility command
+   setAuxPtsColour * Set colour through a string
+   setAuxPtsColourRGBA * Set colour through red, green, blue and alpha components
+   setAuxPtsSize * Set auxiliary points size command
+   setAuxPtsType * Set auxiliary points type.
+   setAuxPtsFillStyle * Set auxiliary fill style.
+   setTimeSliceInterval * Set time slice interval.  Give unit, e.g., "0.1 ns"
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setDrawLine
+Guidance :
+Set draw line command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setLineVisible
+Guidance :
+Set line visibility command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setLineColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setLineColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts
+Guidance :
+Set draw step points command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setStepPtsVisible
+Guidance :
+Set step points visible command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setStepPtsColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setStepPtsColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize
+Guidance :
+Set step points size command
+
+Parameter : Double
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setStepPtsType
+Guidance :
+Set step points type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : dots circles squares
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setStepPtsFillStyle
+Guidance :
+Set step fill style type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : noFill hashed filled
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setDrawAuxPts
+Guidance :
+Set draw auxiliary points command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setAuxPtsVisible
+Guidance :
+Set auxiliary points visibility command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setAuxPtsColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setAuxPtsColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setAuxPtsSize
+Guidance :
+Set auxiliary points size command
+
+Parameter : Double
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setAuxPtsType
+Guidance :
+Set auxiliary points type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : dots circles squares
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setAuxPtsFillStyle
+Guidance :
+Set auxiliary fill style.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : noFill hashed filled
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setTimeSliceInterval
+Guidance :
+Set time slice interval.  Give unit, e.g., "0.1 ns"
+
+Parameter : DoubleAndUnit
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : s ms mus ns ps second millisecond microsecond nanosecond picosecond
+
+Command directory path : /vis/modeling/trajectories/drawByParticleID-0/
+
+
+Guidance :
+Commands for drawByParticleID-0 model.
+
+ Sub-directories : 
+   /vis/modeling/trajectories/drawByParticleID-0/default/   Commands for default configuration
+ Commands : 
+   set * Set variable colour through a string
+   setRGBA * Set variable colour through red, green, blue and alpha components
+   setDefault * Set colour through a string
+   setDefaultRGBA * Set colour through red, green, blue and alpha components
+   verbose * Verbose command
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/set
+Guidance :
+Set variable colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : Value
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/setRGBA
+Guidance :
+Set variable colour through red, green, blue and alpha components
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/setDefault
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/setDefaultRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/verbose
+Guidance :
+Verbose command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+Command directory path : /vis/modeling/trajectories/drawByParticleID-0/default/
+
+
+Guidance :
+Commands for default configuration
+
+ Sub-directories : 
+ Commands : 
+   setDrawLine * Set draw line command
+   setLineVisible * Set line visibility command
+   setLineColour * Set colour through a string
+   setLineColourRGBA * Set colour through red, green, blue and alpha components
+   setDrawStepPts * Set draw step points command
+   setStepPtsVisible * Set step points visible command
+   setStepPtsColour * Set colour through a string
+   setStepPtsColourRGBA * Set colour through red, green, blue and alpha components
+   setStepPtsSize * Set step points size command
+   setStepPtsType * Set step points type.
+   setStepPtsFillStyle * Set step fill style type.
+   setDrawAuxPts * Set draw auxiliary points command
+   setAuxPtsVisible * Set auxiliary points visibility command
+   setAuxPtsColour * Set colour through a string
+   setAuxPtsColourRGBA * Set colour through red, green, blue and alpha components
+   setAuxPtsSize * Set auxiliary points size command
+   setAuxPtsType * Set auxiliary points type.
+   setAuxPtsFillStyle * Set auxiliary fill style.
+   setTimeSliceInterval * Set time slice interval.  Give unit, e.g., "0.1 ns"
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setDrawLine
+Guidance :
+Set draw line command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setLineVisible
+Guidance :
+Set line visibility command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setLineColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setLineColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setDrawStepPts
+Guidance :
+Set draw step points command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setStepPtsVisible
+Guidance :
+Set step points visible command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setStepPtsColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setStepPtsColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setStepPtsSize
+Guidance :
+Set step points size command
+
+Parameter : Double
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setStepPtsType
+Guidance :
+Set step points type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : dots circles squares
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setStepPtsFillStyle
+Guidance :
+Set step fill style type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : noFill hashed filled
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setDrawAuxPts
+Guidance :
+Set draw auxiliary points command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setAuxPtsVisible
+Guidance :
+Set auxiliary points visibility command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setAuxPtsColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setAuxPtsColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setAuxPtsSize
+Guidance :
+Set auxiliary points size command
+
+Parameter : Double
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setAuxPtsType
+Guidance :
+Set auxiliary points type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : dots circles squares
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setAuxPtsFillStyle
+Guidance :
+Set auxiliary fill style.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : noFill hashed filled
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setTimeSliceInterval
+Guidance :
+Set time slice interval.  Give unit, e.g., "0.1 ns"
+
+Parameter : DoubleAndUnit
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : s ms mus ns ps second millisecond microsecond nanosecond picosecond
+
+Command directory path : /vis/modeling/trajectories/drawByOriginVolume-0/
+
+
+Guidance :
+Commands for drawByOriginVolume-0 model.
+
+ Sub-directories : 
+   /vis/modeling/trajectories/drawByOriginVolume-0/default/   Commands for default configuration
+ Commands : 
+   set * Set variable colour through a string
+   setRGBA * Set variable colour through red, green, blue and alpha components
+   setDefault * Set colour through a string
+   setDefaultRGBA * Set colour through red, green, blue and alpha components
+   verbose * Verbose command
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/set
+Guidance :
+Set variable colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : Value
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/setRGBA
+Guidance :
+Set variable colour through red, green, blue and alpha components
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/setDefault
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/setDefaultRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/verbose
+Guidance :
+Verbose command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+Command directory path : /vis/modeling/trajectories/drawByOriginVolume-0/default/
+
+
+Guidance :
+Commands for default configuration
+
+ Sub-directories : 
+ Commands : 
+   setDrawLine * Set draw line command
+   setLineVisible * Set line visibility command
+   setLineColour * Set colour through a string
+   setLineColourRGBA * Set colour through red, green, blue and alpha components
+   setDrawStepPts * Set draw step points command
+   setStepPtsVisible * Set step points visible command
+   setStepPtsColour * Set colour through a string
+   setStepPtsColourRGBA * Set colour through red, green, blue and alpha components
+   setStepPtsSize * Set step points size command
+   setStepPtsType * Set step points type.
+   setStepPtsFillStyle * Set step fill style type.
+   setDrawAuxPts * Set draw auxiliary points command
+   setAuxPtsVisible * Set auxiliary points visibility command
+   setAuxPtsColour * Set colour through a string
+   setAuxPtsColourRGBA * Set colour through red, green, blue and alpha components
+   setAuxPtsSize * Set auxiliary points size command
+   setAuxPtsType * Set auxiliary points type.
+   setAuxPtsFillStyle * Set auxiliary fill style.
+   setTimeSliceInterval * Set time slice interval.  Give unit, e.g., "0.1 ns"
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setDrawLine
+Guidance :
+Set draw line command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setLineVisible
+Guidance :
+Set line visibility command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setLineColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setLineColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setDrawStepPts
+Guidance :
+Set draw step points command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setStepPtsVisible
+Guidance :
+Set step points visible command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setStepPtsColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setStepPtsColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setStepPtsSize
+Guidance :
+Set step points size command
+
+Parameter : Double
+ Parameter type  : d
+ Omittable       : False
+
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setStepPtsType
+Guidance :
+Set step points type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : dots circles squares
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setStepPtsFillStyle
+Guidance :
+Set step fill style type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : noFill hashed filled
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setDrawAuxPts
+Guidance :
+Set draw auxiliary points command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setAuxPtsVisible
+Guidance :
+Set auxiliary points visibility command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setAuxPtsColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setAuxPtsColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setAuxPtsSize
+Guidance :
+Set auxiliary points size command
+
+Parameter : Double
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setAuxPtsType
+Guidance :
+Set auxiliary points type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : dots circles squares
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setAuxPtsFillStyle
+Guidance :
+Set auxiliary fill style.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : noFill hashed filled
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setTimeSliceInterval
+Guidance :
+Set time slice interval.  Give unit, e.g., "0.1 ns"
+
+Parameter : DoubleAndUnit
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : s ms mus ns ps second millisecond microsecond nanosecond picosecond
+
+Command directory path : /vis/modeling/trajectories/drawByAttribute-0/
+
+
+Guidance :
+Commands for drawByAttribute-0 model.
+
+ Sub-directories : 
+   /vis/modeling/trajectories/drawByAttribute-0/default/   Commands for default configuration
+ Commands : 
+   verbose * Verbose command
+   setAttribute * Set command
+   addInterval * Add interval.
+   addValue * Add value.
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/verbose
+
+Guidance :
+Verbose command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/setAttribute
+Guidance :
+Set command
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/addInterval
+Guidance :
+Add interval.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/addValue
+Guidance :
+Add value.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+
+Command directory path : /vis/modeling/trajectories/drawByAttribute-0/default/
+
+
+Guidance :
+Commands for default configuration
+
+ Sub-directories : 
+ Commands : 
+   setDrawLine * Set draw line command
+   setLineVisible * Set line visibility command
+   setLineColour * Set colour through a string
+   setLineColourRGBA * Set colour through red, green, blue and alpha components
+   setDrawStepPts * Set draw step points command
+   setStepPtsVisible * Set step points visible command
+   setStepPtsColour * Set colour through a string
+   setStepPtsColourRGBA * Set colour through red, green, blue and alpha components
+   setStepPtsSize * Set step points size command
+   setStepPtsType * Set step points type.
+   setStepPtsFillStyle * Set step fill style type.
+   setDrawAuxPts * Set draw auxiliary points command
+   setAuxPtsVisible * Set auxiliary points visibility command
+   setAuxPtsColour * Set colour through a string
+   setAuxPtsColourRGBA * Set colour through red, green, blue and alpha components
+   setAuxPtsSize * Set auxiliary points size command
+   setAuxPtsType * Set auxiliary points type.
+   setAuxPtsFillStyle * Set auxiliary fill style.
+   setTimeSliceInterval * Set time slice interval.  Give unit, e.g., "0.1 ns"
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setDrawLine
+Guidance :
+Set draw line command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setLineVisible
+Guidance :
+Set line visibility command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setLineColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setLineColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setDrawStepPts
+Guidance :
+Set draw step points command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setStepPtsVisible
+Guidance :
+Set step points visible command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setStepPtsColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setStepPtsColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setStepPtsSize
+Guidance :
+Set step points size command
+
+Parameter : Double
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setStepPtsType
+Guidance :
+Set step points type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : dots circles squares
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setStepPtsFillStyle
+Guidance :
+Set step fill style type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : noFill hashed filled
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setDrawAuxPts
+Guidance :
+Set draw auxiliary points command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setAuxPtsVisible
+Guidance :
+Set auxiliary points visibility command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setAuxPtsColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setAuxPtsColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setAuxPtsSize
+Guidance :
+Set auxiliary points size command
+
+Parameter : Double
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setAuxPtsType
+Guidance :
+Set auxiliary points type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : dots circles squares
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setAuxPtsFillStyle
+Guidance :
+Set auxiliary fill style.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : noFill hashed filled
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setTimeSliceInterval
+Guidance :
+Set time slice interval.  Give unit, e.g., "0.1 ns"
+
+Parameter : DoubleAndUnit
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : s ms mus ns ps second millisecond microsecond nanosecond picosecond
+
+Command directory path : /vis/filtering/
+
+
+Guidance :
+Filtering commands.
+
+ Sub-directories : 
+   /vis/filtering/trajectories/   Trajectory filtering commands.
+   /vis/filtering/hits/   Hit filtering commands.
+ Commands : 
+Command directory path : /vis/filtering/trajectories/
+
+
+Guidance :
+Trajectory filtering commands.
+
+ Sub-directories : 
+   /vis/filtering/trajectories/create/   Create trajectory filters and messengers.
+   /vis/filtering/trajectories/chargeFilter-0/   Commands for chargeFilter-0 model.
+   /vis/filtering/trajectories/particleFilter-0/   Commands for particleFilter-0 model.
+   /vis/filtering/trajectories/originVolumeFilter-0/   Commands for originVolumeFilter-0 model.
+   /vis/filtering/trajectories/attributeFilter-0/   Commands for attributeFilter-0 model.
+ Commands : 
+   list * List objects registered with list manager
+   mode * Set mode of operation
+
+
+Command /vis/filtering/trajectories/list
+Guidance :
+List objects registered with list manager
+
+Parameter : name
+ Parameter type  : s
+ Omittable       : True
+
+
+
+Command /vis/filtering/trajectories/mode
+Guidance :
+Set mode of operation
+
+Parameter : mode
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : soft hard
+
+Command directory path : /vis/filtering/trajectories/create/
+
+
+Guidance :
+Create trajectory filters and messengers.
+
+ Sub-directories : 
+ Commands : 
+   chargeFilter * Create a chargeFilter model and associated messengers.
+   particleFilter * Create a particleFilter model and associated messengers.
+   originVolumeFilter * Create a originVolumeFilter model and associated messengers.
+   attributeFilter * Create a attributeFilter model and associated messengers.
+
+
+Command /vis/filtering/trajectories/create/chargeFilter
+Guidance :
+Create a chargeFilter model and associated messengers.
+Generated model becomes current.
+
+Parameter : model-name
+ Parameter type  : s
+ Omittable       : True
+
+
+
+Command /vis/filtering/trajectories/create/particleFilter
+Guidance :
+Create a particleFilter model and associated messengers.
+Generated model becomes current.
+
+Parameter : model-name
+ Parameter type  : s
+ Omittable       : True
+
+
+
+Command /vis/filtering/trajectories/create/originVolumeFilter
+Guidance :
+Create a originVolumeFilter model and associated messengers.
+Generated model becomes current.
+
+Parameter : model-name
+ Parameter type  : s
+ Omittable       : True
+
+
+
+Command /vis/filtering/trajectories/create/attributeFilter
+Guidance :
+Create a attributeFilter model and associated messengers.
+Generated model becomes current.
+
+Parameter : model-name
+ Parameter type  : s
+ Omittable       : True
+
+Command directory path : /vis/filtering/trajectories/chargeFilter-0/
+
+
+Guidance :
+Commands for chargeFilter-0 model.
+
+ Sub-directories : 
+ Commands : 
+   add * Add command
+   invert * Invert command
+   active * Active command
+   verbose * Verbose command
+   reset * Reset command
+
+
+Command /vis/filtering/trajectories/chargeFilter-0/add
+Guidance :
+Add command
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/chargeFilter-0/invert
+Guidance :
+Invert command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/chargeFilter-0/active
+Guidance :
+Active command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/chargeFilter-0/verbose
+Guidance :
+Verbose command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/chargeFilter-0/reset
+Guidance :
+Reset command
+
+Command directory path : /vis/filtering/trajectories/particleFilter-0/
+
+
+Guidance :
+Commands for particleFilter-0 model.
+
+ Sub-directories : 
+ Commands : 
+   add * Add command
+   invert * Invert command
+   active * Active command
+   verbose * Verbose command
+   reset * Reset command
+
+
+Command /vis/filtering/trajectories/particleFilter-0/add
+Guidance :
+Add command
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/particleFilter-0/invert
+Guidance :
+Invert command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/particleFilter-0/active
+Guidance :
+Active command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/particleFilter-0/verbose
+Guidance :
+Verbose command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/particleFilter-0/reset
+Guidance :
+Reset command
+
+Command directory path : /vis/filtering/trajectories/originVolumeFilter-0/
+
+
+Guidance :
+Commands for originVolumeFilter-0 model.
+
+ Sub-directories : 
+ Commands : 
+   add * Add command
+   invert * Invert command
+   active * Active command
+   verbose * Verbose command
+   reset * Reset command
+
+
+Command /vis/filtering/trajectories/originVolumeFilter-0/add
+Guidance :
+Add command
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/originVolumeFilter-0/invert
+Guidance :
+Invert command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/originVolumeFilter-0/active
+Guidance :
+Active command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/originVolumeFilter-0/verbose
+Guidance :
+Verbose command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/originVolumeFilter-0/reset
+Guidance :
+Reset command
+
+Command directory path : /vis/filtering/trajectories/attributeFilter-0/
+
+
+Guidance :
+Commands for attributeFilter-0 model.
+
+ Sub-directories : 
+ Commands : 
+   setAttribute * Set command
+   invert * Invert command
+   active * Active command
+   verbose * Verbose command
+   reset * Reset command
+   addInterval * Set interval.
+   addValue * Set value.
+
+
+Command /vis/filtering/trajectories/attributeFilter-0/setAttribute
+Guidance :
+Set command
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/attributeFilter-0/invert
+Guidance :
+Invert command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/attributeFilter-0/active
+Guidance :
+Active command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/attributeFilter-0/verbose
+Guidance :
+Verbose command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/attributeFilter-0/reset
+Guidance :
+Reset command
+
+
+
+Command /vis/filtering/trajectories/attributeFilter-0/addInterval
+Guidance :
+Set interval.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/attributeFilter-0/addValue
+Guidance :
+Set value.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+
+Command directory path : /vis/filtering/hits/
+
+
+Guidance :
+Hit filtering commands.
+
+ Sub-directories : 
+   /vis/filtering/hits/create/   Create hit filters and messengers.
+   /vis/filtering/hits/attributeFilter-0/   Commands for attributeFilter-0 model.
+ Commands : 
+   list * List objects registered with list manager
+   mode * Set mode of operation
+
+
+Command /vis/filtering/hits/list
+Guidance :
+List objects registered with list manager
+
+Parameter : name
+ Parameter type  : s
+ Omittable       : True
+
+
+
+Command /vis/filtering/hits/mode
+Guidance :
+Set mode of operation
+
+Parameter : mode
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : soft hard
+
+Command directory path : /vis/filtering/hits/create/
+
+
+Guidance :
+Create hit filters and messengers.
+
+ Sub-directories : 
+ Commands : 
+   attributeFilter * Create a attributeFilter model and associated messengers.
+
+
+Command /vis/filtering/hits/create/attributeFilter
+Guidance :
+Create a attributeFilter model and associated messengers.
+Generated model becomes current.
+
+Parameter : model-name
+ Parameter type  : s
+ Omittable       : True
+
+Command directory path : /vis/filtering/hits/attributeFilter-0/
+
+
+Guidance :
+Commands for attributeFilter-0 model.
+
+ Sub-directories : 
+ Commands : 
+   setAttribute * Set command
+   invert * Invert command
+   active * Active command
+   verbose * Verbose command
+   reset * Reset command
+   addInterval * Set interval.
+   addValue * Set value.
+
+
+Command /vis/filtering/hits/attributeFilter-0/setAttribute
+Guidance :
+Set command
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/filtering/hits/attributeFilter-0/invert
+Guidance :
+Invert command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/hits/attributeFilter-0/active
+Guidance :
+Active command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/hits/attributeFilter-0/verbose
+Guidance :
+Verbose command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/hits/attributeFilter-0/reset
+Guidance :
+Reset command
+
+
+
+Command /vis/filtering/hits/attributeFilter-0/addInterval
+Guidance :
+Set interval.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/filtering/hits/attributeFilter-0/addValue
+Guidance :
+Set value.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+
+Command directory path : /vis/geometry/
+
+
+Guidance :
+Operations on vis attributes of Geant4 geometry.
+
+ Sub-directories : 
+   /vis/geometry/set/   Set vis attributes of Geant4 geometry.
+ Commands : 
+   list * Lists vis attributes of logical volume(s).
+   restore * Restores vis attributes of logical volume(s).
+
+
+Command /vis/geometry/list
+Guidance :
+Lists vis attributes of logical volume(s).
+"all" lists all logical volumes.
+
+Parameter : logical-volume-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+
+
+Command /vis/geometry/restore
+Guidance :
+Restores vis attributes of logical volume(s).
+
+Parameter : logical-volume-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+Command directory path : /vis/geometry/set/
+
+
+Guidance :
+Set vis attributes of Geant4 geometry.
+
+ Sub-directories : 
+ Commands : 
+   colour * Sets colour of logical volume(s).
+   daughtersInvisible * Sets daughters of logical volume(s) invisible.
+   lineStyle * Sets line style of logical volume(s) drawing.
+   lineWidth * Sets line width of logical volume(s) drawing.
+   forceAuxEdgeVisible * Sets auxiliary (soft) edges of logical volume(s) drawing visible.
+   forceSolid * Sets logical volume(s) drawing always to be as solid (surface drawing).
+   forceWireframe * Sets logical volume(s) drawing always to be as wireframe.
+   visibility * Sets visibility of logical volume(s).
+
+
+Command /vis/geometry/set/colour
+Guidance :
+Sets colour of logical volume(s).
+"all" sets all logical volumes.
+Optionally propagates down hierarchy to given depth.
+
+Parameter : logical-volume-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+Parameter : depth
+Depth of propagation (-1 means unlimited depth).
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : red
+Red component or a string, e.g., "blue", in which case succeeding colour components are ignored.
+ Parameter type  : s
+ 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
+
+Parameter : opacity
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /vis/geometry/set/daughtersInvisible
+Guidance :
+Sets daughters of logical volume(s) invisible.
+"all" sets all logical volumes.
+Optionally propagates down hierarchy to given depth.
+
+Parameter : logical-volume-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+Parameter : depth
+Depth of propagation (-1 means unlimited depth).
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : daughtersInvisible
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 0
+
+
+
+
+Command /vis/geometry/set/lineStyle
+Guidance :
+Sets line style of logical volume(s) drawing.
+"all" sets all logical volumes.
+Optionally propagates down hierarchy to given depth.
+
+Parameter : logical-volume-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+Parameter : depth
+Depth of propagation (-1 means unlimited depth).
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : lineStyle
+ Parameter type  : s
+ Omittable       : True
+ Default value   : unbroken
+ Candidates      : unbroken dashed dotted
+
+
+
+Command /vis/geometry/set/lineWidth
+Guidance :
+Sets line width of logical volume(s) drawing.
+"all" sets all logical volumes.
+Optionally propagates down hierarchy to given depth.
+
+Parameter : logical-volume-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+Parameter : depth
+Depth of propagation (-1 means unlimited depth).
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : lineWidth
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /vis/geometry/set/forceAuxEdgeVisible
+Guidance :
+Sets auxiliary (soft) edges of logical volume(s) drawing visible.
+"all" sets all logical volumes.
+Optionally propagates down hierarchy to given depth.
+
+Parameter : logical-volume-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+Parameter : depth
+Depth of propagation (-1 means unlimited depth).
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : forceAuxEdgeVisible
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /vis/geometry/set/forceSolid
+Guidance :
+Sets logical volume(s) drawing always to be as solid (surface drawing).
+"all" sets all logical volumes.
+Optionally propagates down hierarchy to given depth.
+
+Parameter : logical-volume-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+Parameter : depth
+Depth of propagation (-1 means unlimited depth).
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : forceSolid
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /vis/geometry/set/forceWireframe
+Guidance :
+Sets logical volume(s) drawing always to be as wireframe.
+"all" sets all logical volumes.
+Optionally propagates down hierarchy to given depth.
+
+Parameter : logical-volume-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+Parameter : depth
+Depth of propagation (-1 means unlimited depth).
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : forceWireframe
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /vis/geometry/set/visibility
+Guidance :
+Sets visibility of logical volume(s).
+"all" sets all logical volumes.
+Optionally propagates down hierarchy to given depth.
+
+Parameter : logical-volume-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+Parameter : depth
+Depth of propagation (-1 means unlimited depth).
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : visibility
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+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.
+
+Parameter : action
+ Parameter type  : s
+ Omittable       : True
+ Default value   : refresh
+ Candidates      : accumulate refresh
+
+Parameter : maxNumber
+Maximum number of events kept.  Unlimited if negative.
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 100
+
+
+
+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   : warnings
+
+
+
+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      : r refresh f 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.
+   eventID * Adds eventID to current scene.
+   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/eventID
+Guidance :
+Adds eventID to current scene.
+Run and event numbers are drawn at end of event or run when
+ the scene in which they are added is current.
+
+Parameter : size
+Screen size of text in pixels.
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 18
+
+Parameter : x-position
+x screen position in range -1 < x < 1.
+ Parameter type  : d
+ Omittable       : True
+ Default value   : -0.95
+
+Parameter : y-position
+y screen position in range -1 < y < 1.
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0.9
+
+
+
+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
+ Candidates      : auto manual
+
+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
+ Candidates      : auto manual
+
+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 processing an
+event.  Switches on trajectory storing and sets the
+default trajectory type.
+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.
+
+To switch off trajectory storing: "/tracking/storeTrajectory 0".
+See also "/vis/scene/endOfEventAction".
+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.
+
+Parameter : default-trajectory-type
+ Parameter type  : s
+ Omittable       : True
+
+
+
+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
+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.
+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.
+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).
+For "box", the parameters are xmin,xmax,ymin,ymax,zmin,zmax.
+Only "box" is programmed at present.
+
+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
+[-|*]type.  See general guidance.
+ Parameter type  : s
+ Omittable       : True
+ Default value   : none
+ Candidates      : none box -box *box
+
+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 XXXFile XXXStored XXXSG ATree DAWNFILE GAGTree HepRepXML HepRepFile RayTracer 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   : warnings
+
+
+
+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 : 
+   addCutawayPlane * Add cutaway plane A*x + B*y + C*z + D = 0 to current viewer.
+   changeCutawayPlane * Change cutaway plane.
+   clear * Clears viewer.
+   clearCutawayPlanes * Clear cutaway planes of current viewer.
+   clearTransients * Clears transients from viewer.
+   clone * Clones 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/addCutawayPlane
+Guidance :
+Add cutaway plane A*x + B*y + C*z + D = 0 to current viewer.
+
+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   : m
+
+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/changeCutawayPlane
+Guidance :
+Change cutaway plane.
+
+Parameter : index
+Index of plane: 0, 1, 2.
+ Parameter type  : i
+ Omittable       : False
+
+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   : m
+
+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/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/clearCutawayPlanes
+Guidance :
+Clear cutaway planes of current viewer.
+
+
+
+Command /vis/viewer/clearTransients
+Guidance :
+Clears transients from viewer.
+By default, operates on 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/clone
+Guidance :
+Clones viewer.
+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.
+
+Parameter : original-viewer-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : clone-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : none
+
+
+
+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 um 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 um 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   : warnings
+
+
+
+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
+   background * Set background colour and transparency (default black and opaque).
+   culling * Set culling options.
+   cutawayMode * Sets cutaway mode - add (union) or multiply (intersection).
+   edge * Edges become visible/invisible in surface mode.
+   explodeFactor * Moves top-level drawn volumes by this factor from this centre.
+   globalLineWidthScale * Multiplies line widths by this factor.
+   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 - w[ireframe] or s[urface].
+   upThetaPhi * Set up vector.
+   upVector * Set up vector.
+   viewpointThetaPhi * Set direction from target to camera.
+   viewpointVector * Set direction from target to camera.
+
+
+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/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 /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   : 1
+
+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/cutawayMode
+Guidance :
+Sets cutaway mode - add (union) or multiply (intersection).
+
+Parameter : cutaway-mode
+ Parameter type  : s
+ Omittable       : False
+ Default value   : union
+ Candidates      : add union multiply intersection
+
+
+
+Command /vis/viewer/set/edge
+Guidance :
+Edges become visible/invisible in surface mode.
+
+Parameter : edge
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /vis/viewer/set/explodeFactor
+Guidance :
+Moves top-level drawn volumes by this factor from this centre.
+
+Parameter : explodeFactor
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+ Parameter range : explodeFactor>=1.
+
+Parameter : x
+Coordinate of explode centre.
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : y
+Coordinate of explode centre.
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : z
+Coordinate of explode centre.
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : unit
+Unit of explode centre.
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+
+
+
+Command /vis/viewer/set/globalLineWidthScale
+Guidance :
+Multiplies line widths by this factor.
+
+Parameter : scale-factor
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /vis/viewer/set/globalMarkerScale
+Guidance :
+Multiplies marker sizes by this factor.
+
+Parameter : scale-factor
+ 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   : m
+
+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 - w[ireframe] or s[urface].
+(Hidden line drawing is controlled by "/vis/viewer/set/hiddenEdge".)
+
+Parameter : style
+ Parameter type  : s
+ Omittable       : False
+
+
+
+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
+
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/commands.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/commands.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/commands.html	(revision 1208)
@@ -0,0 +1,63 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Dosanjh, 15-Jul-2000 -->
+<!-- Changed by: Dennis Wright, 27-Nov-2001 -->
+
+<!-- Proof read by: Joe Chuma,  6-Jul-1999 -->
+
+<!--  -->
+<!-- *spell, *tag, *contents, *s -->
+<BODY>
+
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+</A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A>
+<A>
+<IMG SRC="../../../../resources/html/IconsGIF/PreviousGR.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<a href="userInterfaceCommand.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></a>
+</TD>
+
+<TD ALIGN="Right"><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B> <BR>
+<B>For Application Developers</B> <BR>
+<B>Communication and Control</B> </FONT></FONT> </TD>
+</TR>
+</TABLE>
+
+<CENTER><FONT COLOR="#238E23"><FONT SIZE=+3>
+<b>7.1 Built-in Commands</b><BR>
+</FONT></FONT></CENTER>
+<BR>
+
+<HR ALIGN="Center" SIZE="7%"><BR>
+
+Geant4 has various built-in user interface commands, each of which 
+corresponds roughly to a Geant4 category.  These commands can be used
+
+<UL>
+<LI>interactively via a (Graphical) User Interface - (G)UI,</LI>
+
+<LI>in a macro file via /control/execute &lt;command>,</LI>
+
+<LI>within C++ code with the ApplyCommand method of G4UImanager.</LI>
+</UL>
+<B>Note</B>
+<BR>The availability of individual commands, the ranges of parameters,
+the available candidates on individual command parameters <B>vary</B> 
+according to the implementation of your application and may even 
+<B>vary</B> dynamically during the execution of your job.
+<P><a href="UIcommands/_.html">List of built-in commands</a>
+
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</A></I>
+</BODY>
+</HTML>
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/index.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/index.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/index.html	(revision 1208)
@@ -0,0 +1,78 @@
+<HTML>
+<HEAD>
+   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+</HEAD>
+<TITLE>ADG: Communications and Control</TITLE>
+<BODY>
+<BR>
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+
+
+</A>
+<A HREF="../index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59>
+</A>
+<A HREF="../UserActions/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<A HREF="../Visualization/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></A>
+</TD>
+
+<TD></TD>
+<TD ALIGN=RIGHT><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Documents</B>
+<BR>
+
+<B>Geant4 User's Guide</B>
+<BR>
+
+<B>For Application Developers</B>
+<BR>
+
+</FONT></FONT>
+</TD>
+</TR>
+</TABLE>
+<P>
+<BR>
+
+<CENTER><B><FONT COLOR="#238E23"><FONT SIZE=+4>
+</FONT></FONT></B>
+</CENTER>
+
+<CENTER><B><FONT COLOR="#238E23"><FONT SIZE=+2>
+<B>7. Communication and Control</B>
+</FONT></FONT></B>
+</CENTER>
+<P>
+<BR>
+
+<HR ALIGN="Center" SIZE="7%">
+
+<!-- ============================================== Section -->
+<BR><BR>
+<B>
+   <OL>
+   <LI>
+   <A HREF="commands.html">
+   Built-in Commands</A></LI>
+   <LI>
+   <A HREF="userInterfaceCommand.html">
+   User Interface - Defining New Commands</A></LI>
+   </OL>
+
+</B>
+
+
+<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
+
+<!-- ============================================== Section -->
+<P><HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</A></I>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/userInterfaceCommand.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/userInterfaceCommand.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Control/userInterfaceCommand.html	(revision 1208)
@@ -0,0 +1,647 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- 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 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+
+
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="commands.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A>
+<IMG SRC="../../../../resources/html/IconsGIF/NextGR.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>For Application Developers</B>
+<BR>
+<B>Communication and Control</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>7.2 User Interface - Defining New Commands</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<p>
+
+<a name="7.2.1">
+<H2>7.2.1 <i>G4UImessenger</i></H2></a>
+
+ <i>G4UImessenger</i> 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.
+ <ul>
+  <li>Construct your command(s) in the constructor of your messenger.
+  <li>Destruct your command(s) in the destructor of your messenger.
+ </ul>
+ These requirements mean that your messenger should
+ keep all pointers to your command objects as its data members.
+<p>
+ You can use <i>G4UIcommand</i> 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>SetNewValue()</tt> and <tt>GetCurrentValue()</tt> methods of your messenger
+ much easier and simpler.
+<p>
+ For complicated commands which take various parameters,
+ you can use the <i>G4UIcommand</i> base class, and construct <i>G4UIparameter</i>
+ objects by yourself. You don't need to delete <i>G4UIparameter</i>
+ object(s).
+<p>
+ In the <tt>SetNewValue()</tt> and <tt>GetCurrentValue()</tt> methods of your messenger,
+ you can compare the <i>G4UIcommand</i> 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 <i>G4UIcommand</i>
+ 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>
+ <i>G4UImanager/G4UIcommand/G4UIparameter</i> 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>int</tt> or <tt>double</tt>), the range can be given by a <i>G4String</i>
+ using C++ notation, e.g., <tt>"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>
+ <tt>GetCurrentValue()</tt> will be invoked after the user's application of
+ the corresponding command, and before the <tt>SetNewValue()</tt> invocation.
+ This <tt>GetCurrentValue()</tt> method will be invoked only if
+ <ul>
+  <li>at least one parameter of the command has a range
+  <li>at least one parameter of the command has a candidate list
+  <li>at least the value of one parameter is omitted and this parameter
+      is defined as omittable and <tt>currentValueAsDefault</tt>
+ </ul>
+ 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>
+ A command can be ``state sensitive'', i.e., the command can
+ be accepted only for a certain <i>G4ApplicationState</i>(s). For
+ example, the <tt>/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>AvailableForStates()</tt> method.
+<p>
+
+<HR>
+<a name="7.2.2">
+<H2>7.2.2 <i>G4UIcommand</i> and its derived classes</H2></a>
+
+ <dl>
+  <dt>Methods available for all derived classes<p>
+  <dd>These are methods defined in the <i>G4UIcommand</i> base class which should be
+      used from the derived classes.<p>
+      <ul>
+       <li><tt>void SetGuidance(char*)</tt><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>
+       <li><tt>void availableForStates(G4ApplicationState s1,...)</tt><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>G4State_PreInit, G4State_Init, G4State_Idle, G4State_GeomClosed,</tt>
+           and <tt>G4State_EventProc</tt>. Refer to the section 3.4.2 for meaning of
+           each state. Please note that
+           the <tt>Pause</tt> state had been removed from <i>G4ApplicationState</i>.<p>
+       <li><tt>void SetRange(char* range)</tt><p>
+           Define a range of the parameter(s). Use C++ notation, e.g.,
+           <tt>"x &gt; 0 &amp;&amp; x &lt; 10"</tt>, with variable name(s) defined by the
+           <tt>SetParameterName()</tt> method. For the case of a <i>G4ThreeVector</i>, you
+           can set the relation between parameters, e.g., <tt>"x &gt; y"</tt>.
+     </ul>
+  <p>
+  <dt><i>G4UIdirectory</i><p>
+  <dd>This is a <i>G4UIcommand</i> derived class for defining a directory.<p>
+      <ul>
+       <li><tt>G4UIdirectory(char* directoryPath)</tt><p>
+           Constructor. Argument is the (full-path) directory, which
+           must begin and terminate with `<tt>/</tt>'.
+      </ul>
+  <p>
+  <dt><i>G4UIcmdWithoutParameter</i><p>
+  <dd>This is a <i>G4UIcommand</i> derived class for a command which takes no parameter.<p>
+      <ul>
+       <li><tt>G4UIcmdWithoutParameter(char* commandPath,G4UImessenger* theMessenger)</tt><p>
+           Constructor. Arguments are the (full-path) command name
+           and the pointer to your messenger.
+      </ul>
+  <p>
+  <dt><i>G4UIcmdWithABool</i><p>
+  <dd>This is a <i>G4UIcommand</i> derived class which takes one boolean type parameter.<p>
+      <ul>
+       <li><tt>G4UIcmdWithABool(char* commandpath,G4UImanager* theMessenger)</tt><p>
+           Constructor. Arguments are the (full-path) command name
+           and the pointer to your messenger.<p>
+       <li><tt>void SetParameterName(char* paramName,G4bool omittable)</tt><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>
+       <li><tt>void SetDefaultValue(G4bool defVal)</tt><p>
+           Define the default value of the boolean parameter.<p>
+       <li><tt>G4bool GetNewBoolValue(G4String paramString)</tt><p>
+           Convert <i>G4String</i> parameter value given by the <tt>SetNewValue()</tt>
+           method of your messenger into boolean.<p>
+       <li><tt>G4String convertToString(G4bool currVal)</tt><p>
+           Convert the current boolean value to <i>G4String</i> which should
+           be returned by the <tt>GetCurrentValue()</tt> method of your messenger.
+      </ul>
+  <p>
+  <dt><i>G4UIcmdWithAnInteger</i><p>
+  <dd>This is a <i>G4UIcommand</i> derived class which takes one integer type parameter.<p>
+      <ul>
+       <li><tt>G4UIcmdWithAnInteger(char* commandpath,G4UImanager* theMessenger)</tt><p>
+           Constructor. Arguments are the (full-path) command name
+           and the pointer to your messenger.<p>
+       <li><tt>void SetParameterName(char* paramName,G4bool omittable)</tt><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>
+       <li><tt>void SetDefaultValue(G4int defVal)</tt><p>
+           Define the default value of the integer parameter.<p>
+       <li><tt>G4int GetNewIntValue(G4String paramString)</tt><p>
+           Convert <i>G4String</i> parameter value given by the <tt>SetNewValue()</tt>
+           method of your messenger into integer.<p>
+       <li><tt>G4String convertToString(G4int currVal)</tt><p>
+           Convert the current integer value to <i>G4String</i>, which should
+           be returned by the <tt>GetCurrentValue()</tt> method of your messenger.
+      </ul>
+  <p>
+  <dt><i>G4UIcmdWithADouble</i><p>
+  <dd>This is a <i>G4UIcommand</i> derived class which takes one double type parameter.<p>
+      <ul>
+       <li><tt>G4UIcmdWithADouble(char* commandpath,G4UImanager* theMessenger)</tt><p>
+           Constructor. Arguments are the (full-path) command name
+           and the pointer to your messenger.<p>
+       <li><tt>void SetParameterName(char* paramName,G4bool omittable)</tt><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>
+       <li><tt>void SetDefaultValue(G4double defVal)</tt><p>
+           Define the default value of the double parameter.<p>
+       <li><tt>G4double GetNewDoubleValue(G4String paramString)</tt><p>
+           Convert <i>G4String</i> parameter value given by the <tt>SetNewValue()</tt>
+           method of your messenger into double.<p>
+       <li><tt>G4String convertToString(G4double currVal)</tt><p>
+           Convert the current double value to <i>G4String</i> which should
+           be returned by the <tt>GetCurrentValue()</tt> method of your messenger.
+      </ul>
+  <p>
+  <dt><i>G4UIcmdWithAString</i><p>
+  <dd>This is a <i>G4UIcommand</i> derived class which takes one string type parameter.<p>
+      <ul>
+       <li><tt>G4UIcmdWithAString(char* commandpath,G4UImanager* theMessenger)</tt><p>
+           Constructor. Arguments are the (full-path) command name
+           and the pointer to your messenger.<p>
+       <li><tt>void SetParameterName(char* paramName,G4bool omittable)</tt><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>
+       <li><tt>void SetDefaultValue(char* defVal)</tt><p>
+           Define the default value of the string parameter.<p>
+       <li><tt>void SetCandidates(char* candidateList)</tt><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.
+      </ul>
+  <p>
+  <dt><i>G4UIcmdWith3Vector</i><p>
+  <dd>This is a <i>G4UIcommand</i> derived class which takes one three vector parameter.<p>
+      <ul>
+       <li><tt>G4UIcmdWith3Vector(char* commandpath,G4UImanager* theMessenger)</tt><p>
+           Constructor. Arguments are the (full-path) command name
+           and the pointer to your messenger.<p>
+       <li><tt>void SetParameterName</tt><br>
+           &nbsp;&nbsp;<tt>(char* paramNamX,char* paramNamY,char* paramNamZ,G4bool omittable)</tt><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>
+       <li><tt>void SetDefaultValue(G4ThreeVector defVal)</tt><p>
+           Define the default value of the three vector.<p>
+       <li><tt>G4ThreeVector GetNew3VectorValue(G4String paramString)</tt><p>
+           Convert the <i>G4String</i> parameter value given by the <tt>SetNewValue()</tt>
+           method of your messenger into a <i>G4ThreeVector</i>.<p>
+       <li><tt>G4String convertToString(G4ThreeVector currVal)</tt><p>
+           Convert the current three vector to <i>G4String</i>, which should
+           be returned by the <tt>GetCurrentValue()</tt> method of your messenger.
+      </ul>
+  <p>
+  <dt><i>G4UIcmdWithADoubleAndUnit</i><p>
+  <dd>This is a <i>G4UIcommand</i> derived class which takes one double type parameter
+      and its unit.<p>
+      <ul>
+       <li><tt>G4UIcmdWithADoubleAndUnit(char* commandpath,G4UImanager* theMessenger)</tt><p>
+           Constructor. Arguments are the (full-path) command name
+           and the pointer to your messenger.<p>
+       <li><tt>void SetParameterName(char* paramName,G4bool omittable)</tt><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>
+       <li><tt>void SetDefaultValue(G4double defVal)</tt><p>
+           Define the default value of the double parameter.<p>
+       <li><tt>void SetUnitCategory(char* unitCategory)</tt><p>
+           Define acceptable unit category.<p>
+       <li><tt>void SetDefaultUnit(char* defUnit)</tt><p>
+           Define the default unit. Please use this method and the <tt>SetUnitCategory()</tt>
+           method alternatively.<p>
+       <li><tt>G4double GetNewDoubleValue(G4String paramString)</tt><p>
+           Convert <i>G4String</i> parameter value given by the <tt>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>
+       <li><tt>G4double GetNewDoubleRawValue(G4String paramString)</tt><p>
+           Convert <i>G4String</i> parameter value given by the <tt>SetNewValue()</tt>
+           method of your messenger into double but without multiplying
+           the value of the given unit.<p>
+       <li><tt>G4double GetNewUnitValue(G4String paramString)</tt><p>
+           Convert <i>G4String</i> unit value given by the <tt>SetNewValue()</tt>
+           method of your messenger into double.<p>
+       <li><tt>G4String convertToString(G4bool currVal,char* unitName)</tt><p>
+           Convert the current double value to a <i>G4String</i>, which should
+           be returned by the <tt>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.
+      </ul>
+  <p>
+  <dt><i>G4UIcmdWith3VectorAndUnit</i><p>
+  <dd>This is a <i>G4UIcommand</i> derived class which takes one three vector parameter
+      and its unit.<p>
+      <ul>
+       <li><tt>G4UIcmdWith3VectorAndUnit(char* commandpath,G4UImanager* theMessenger)</tt><p>
+           Constructor. Arguments are the (full-path) command name
+           and the pointer to your messenger.<p>
+       <li><tt>void SetParameterName</tt><br>
+           &nbsp;&nbsp;<tt>(char* paramNamX,char* paramNamY,char* paramNamZ,G4bool omittable)</tt><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>
+       <li><tt>void SetDefaultValue(G4ThreeVector defVal)</tt><p>
+           Define the default value of the three vector.<p>
+       <li><tt>void SetUnitCategory(char* unitCategory)</tt><p>
+           Define acceptable unit category.<p>
+       <li><tt>void SetDefaultUnit(char* defUnit)</tt><p>
+           Define the default unit. Please use this method and the <tt>SetUnitCategory()</tt>
+           method alternatively.<p>
+       <li><tt>G4ThreeVector GetNew3VectorValue(G4String paramString)</tt><p>
+           Convert a <i>G4String</i> parameter value given by the <tt>SetNewValue()</tt>
+           method of your messenger into a <i>G4ThreeVector</i>.
+           Please note that the return value has already been multiplied
+           by the value of the given unit.<p>
+       <li><tt>G4ThreeVector GetNew3VectorRawValue(G4String paramString)</tt><p>
+           Convert a <i>G4String</i> parameter value given by the <tt>SetNewValue()</tt>
+           method of your messenger into three vector, but without multiplying
+           the value of the given unit.<p>
+       <li><tt>G4double GetNewUnitValue(G4String paramString)</tt><p>
+           Convert a <i>G4String</i> unit value given by the <tt>SetNewValue()</tt>
+           method of your messenger into a double.<p>
+       <li><tt>G4String convertToString(G4ThreeVector currVal,char* unitName)</tt><p>
+           Convert the current three vector to a <i>G4String</i> which should
+           be returned by the <tt>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.
+      </ul>
+  <p>
+  <dt>Additional comments on the <tt>SetParameterName()</tt> method<p>
+  <dd>You can add one additional argument of <tt>G4bool</tt> type for every
+      <tt>SetParameterName()</tt> method mentioned above. This additional argument
+      is named <tt>currentAsDefaultFlag</tt> and the
+      default value of this argument is <tt>false</tt>. If you assign this extra
+      argument as <tt>true</tt>, the default value of the parameter will be 
+      overriden by the current value of the target class.
+ </dl>
+
+<p>
+
+<HR>
+<a name="7.2.3">
+<H2>7.2.3 An example messenger</H2></a>
+
+ This example is of <i>G4ParticleGunMessenger</i>, which is made by
+ inheriting <i>G4UIcommand</i>.
+<p>
+
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<pre>
+#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>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 7.2.1<BR>
+ An example of <tt>G4ParticleGunMessenger.hh</tt>.
+</td>
+</tr>
+</table></center>
+<p>
+
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<pre>
+#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 );
+}
+
+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>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 7.2.2<BR>
+ An example of <tt>G4ParticleGunMessenger.cc</tt>.
+</td>
+</tr>
+</table></center>
+<p>
+
+<HR>
+<a name="7.2.4">
+<H2>7.2.4 How to control the output of <i>G4cout/G4cerr</i></H2></a>
+
+ Instead of <i>cout</i> and <i>cerr</i>, Geant4 uses <i>G4cout</i> and
+ <i>G4cerr</i>.  Output streams from <i>G4cout/G4cerr</i> are handled by 
+ <i>G4UImanager</i> 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>
+ <ol>
+ <li>Derive a class from <i>G4UIsession</i> and implement the two methods:
+ <pre>
+      G4int ReceiveG4cout(G4String coutString);
+      G4int ReceiveG4cerr(G4String cerrString);
+ </pre>
+     These methods receive the string stream of <i>G4cout</i> and 
+     <i>G4cerr</i>, 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:
+ <pre>
+        ostream logFile;
+        logFile.open("MyLogFile");
+        G4int MySession::ReceiveG4cout(G4String coutString)
+        {
+          logFile << coutString << flush;
+          return 0;
+        }
+ </pre>
+ <p>
+ <li>Set the destination of <i>G4cout/G4cerr</i> using
+     <tt>G4UImanager::SetCoutDestination(session)</tt>.
+     <p>
+     Typically this method is invoked from the constructor of
+     <i>G4UIsession</i> and its derived classes, such as <i>G4UIGAG/G4UIteminal</i>.
+     This method sets the destination of <i>G4cout/G4cerr</i> to the session.  
+     For example, when the following code appears in the constructor of
+     <i>G4UIterminal</i>, the method <tt>SetCoutDestination(this)</tt> tells <i>UImanager</i>
+     that this instance of <i>G4UIterminal</i> receives the stream generated 
+     by <i>G4cout</i>.
+ <pre>
+
+	G4UIterminal::G4UIterminal()
+	{
+	  UI = G4UImanager::GetUIpointer();
+	  UI->SetCoutDestination(this);
+	  //  ...
+	}
+    
+ </pre>
+     Similarly, <tt>UI->SetCoutDestination(NULL)</tt> must be added
+     to the destructor of the class.
+ <p>
+ <li>Write or modify the main program.  To modify <tt>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:
+ <pre>
+	#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->SetCoutDestination(LoggedSession);
+	  // session->SessionStart(); // not required in this case
+          // .... do simulation here ...
+
+	  delete LoggedSession;
+	  return 0;
+	}
+ </pre>
+ </ol>
+
+ <table>
+ <tr>
+ <td valign=top>Note:
+ <td><i>G4cout/G4cerr</i> should not be used in the constructor of a class if
+     the instance of the class is intended to be used as <tt>static</tt>.
+     This restriction comes from the language specification of C++.
+     See the documents below for details.
+ </table>
+<p>
+  M.A.Ellis, B.Stroustrup.  ``Annotated C++ Reference Manual'', Section 3.4<br>
+  P.J.Plauger, ``The Draft Standard C++ Library''
+<p>
+
+<BR><BR>
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</A></I>
+</BODY>
+</HTML>
+
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/CVS/Entries	(revision 1208)
@@ -0,0 +1,26 @@
+/digitization.html/1.3/Mon Dec 18 10:28:24 2006//
+/electroMagneticField.html/1.15/Mon Dec 18 10:28:24 2006//
+/geomAssembly.html/1.3/Thu Nov 23 16:35:55 2006//
+/geomDynamic.html/1.2/Fri Jun  9 14:00:48 2006//
+/geomEditor.html/1.2/Fri Jun  9 14:00:04 2006//
+/geomG3toG4.html/1.2/Fri Jun  9 13:59:44 2006//
+/geomIntro.html/1.2/Fri Jun  9 13:59:31 2006//
+/geomLogical.html/1.3/Fri Jun  9 13:59:15 2006//
+/geomNav.html/1.5/Fri Nov 24 20:18:30 2006//
+/geomOverlap.html/1.4/Fri Jun  9 13:58:38 2006//
+/geomPhysical.html/1.6/Fri Jun  9 13:58:03 2006//
+/geomReflection.html/1.2/Fri Jun  9 13:57:14 2006//
+/geomSolids.html/1.8/Thu Nov 23 16:36:33 2006//
+/geomTouch.html/1.2/Fri Jun  9 13:55:26 2006//
+/geomXML.html/1.2/Fri Jun  9 13:54:56 2006//
+/geometry.html/1.46/Mon Dec 18 10:28:24 2006//
+/hit.html/1.11/Mon Dec 18 10:28:24 2006//
+/index.html/1.6/Mon Dec 18 10:28:24 2006//
+/material.html/1.9/Wed Dec  5 15:17:32 2007//
+/materialNames.html/1.3/Mon Dec 18 10:28:24 2006//
+/parallelWorld.html/1.3/Mon Dec 18 10:28:24 2006//
+/persistency.html/1.13/Fri Nov 24 20:20:07 2006//
+D/electroMagneticField.src////
+D/geometry.src////
+D/hit.src////
+D/persistency.src////
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/digitization.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/digitization.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/digitization.html	(revision 1208)
@@ -0,0 +1,162 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako, 21-Sep-1998 -->
+<!-- Changed by: Dennis Wright, 27-Nov-2001 -->
+<!-- Proof read by: Joe Chuma,  30-Jun-1999 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+
+
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="hit.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A HREF="persistency.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>For Application Developers</B>
+<BR>
+<B>Detector Definition and Response</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>4.5 Digitization</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<p>
+
+<a name="4.5.1">
+<H2>4.5.1 Digi</H2></a>
+
+ A hit is created by a sensitive detector when a step goes through
+ it. Thus, the sensitive detector is associated to the corresponding
+ <i>G4LogicalVolume</i> 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>Digitize()</tt> method of your
+ concrete <i>G4VDigitizerModule</i> class.
+<p>
+ Typical usages of digitizer module include:
+ <ul>
+  <li>simulate ADC and/or TDC
+  <li>simulate readout scheme
+  <li>generate raw data
+  <li>simulate trigger logics
+  <li>simulate pile up
+ </ul>
+<p>
+
+<B><i>G4VDigi</i></B>
+<P>
+ <i>G4VDigi</i> 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. <i>G4VDigi</i> has two virtual methods, 
+ <tt>Draw()</tt> and <tt>Print()</tt>.
+<p>
+
+<B><i>G4TDigiCollection</i></B>
+<P>
+ <i>G4TDigiCollection</i> is a template class for digits collections,
+ which is derived from the abstract base class <i>G4VDigiCollection</i>.
+ <i>G4Event</i> has a <i>G4DCofThisEvent</i> object, which is a
+ container class of collections of digits. The usages of <i>G4VDigi</i>
+ and <i>G4TDigiCollection</i> are almost the same as <i>G4VHit</i> and
+ <i>G4THitsCollection</i>, respectively, explained in the previous
+ section.
+<p>
+
+<HR>
+<a name="4.5.2">
+<H2>4.5.2 Digitizer module</H2></a>
+
+<B><i>G4VDigitizerModule</i></B>
+<P>
+ <i>G4VDigitizerModule</i> is an abstract base class which represents
+ a digitizer module. It has a pure virtual method, <tt>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>Digitize()</tt> method. You have to implement your code to invoke
+ this method of your digitizer module.
+<p>
+ In the <tt>Digitize()</tt> method, you construct your <i>G4VDigi</i>
+ concrete class objects and store them to your <i>G4TDigiCollection</i>
+ concrete class object(s). Your collection(s) should be associated
+ with the <i>G4DCofThisEvent</i> object.
+<p>
+
+<B><i>G4DigiManager</i></B>
+<P>
+ <i>G4DigiManager</i> is the singleton manager class of the digitizer
+ modules. All of your concrete digitizer modules should be registered
+ to <i>G4DigiManager</i> with their unique names.
+ <pre>
+     G4DigiManager * fDM = G4DigiManager::GetDMpointer();
+     MyDigitizer * myDM = new MyDigitizer( "/myDet/myCal/myEMdigiMod" );
+     fDM-&gt;AddNewModule(myDM);
+ </pre>
+ Your concrete digitizer module can be accessed from your code using
+ the unique module name.
+ <pre>
+     G4DigiManager * fDM = G4DigiManager::GetDMpointer();
+     MyDigitizer * myDM = fDM-&gt;FindDigitizerModule( "/myDet/myCal/myEMdigiMod" );
+     myDM-&gt;Digitize();
+ </pre>
+ Also, <i>G4DigiManager</i> has a <i>Digitize()</i> method which takes
+ the unique module name.
+ <pre>
+     G4DigiManager * fDM = G4DigiManager::GetDMpointer();
+     MyDigitizer * myDM = fDM-&gt;Digitize( "/myDet/myCal/myEMdigiMod" );
+ </pre>
+<p>
+
+<B>How to get hitsCollection and/or digiCollection</B>
+<P>
+ <i>G4DigiManager</i> has the following methods to access to the
+ hits or digi collections of the currently processing event 
+ or of previous events.
+<p>
+ First, you have to get the collection ID number of the hits or digits
+ collection.
+ <pre>
+     G4DigiManager * fDM = G4DigiManager::GetDMpointer();
+     G4int myHitsCollID = fDM-&gt;GetHitsCollectionID( "hits_collection_name" );
+     G4int myDigiCollID = fDM-&gt;GetDigiCollectionID( "digi_collection_name" );
+ </pre>
+ Then, you can get the pointer to your concrete <i>G4THitsCollection</i>
+ object or <i>G4TDigiCollection</i> object of the currently processing
+ event.
+ <pre>
+     MyHitsCollection * HC = fDM-&gt;GetHitsCollection( myHitsCollID );
+     MyDigiCollection * DC = fDM-&gt;GetDigiCollection( myDigiCollID );
+ </pre>
+ In case you want to access to the hits or digits collection of previous
+ events, add the second argument.
+ <pre>
+     MyHitsCollection * HC = fDM-&gt;GetHitsCollection( myHitsCollID, n );
+     MyDigiCollection * DC = fDM-&gt;GetDigiCollection( myDigiCollID, n );
+ </pre>
+ where, <tt>n</tt> indicates the hits or digits collection of the <tt>n</tt><sup>th</sup>
+ previous event.
+<p>
+
+<BR><BR>
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/electroMagneticField.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/electroMagneticField.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/electroMagneticField.html	(revision 1208)
@@ -0,0 +1,608 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!--Converted with LaTeX2HTML 96.1-g (July 19, 1996) by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds -->
+<HTML>
+<HEAD>
+<TITLE>Getting started with Geant4: the Field</TITLE>
+<!-- Changed by: Katsuya Amako,    30-Nov-1998 -->
+<!-- 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 -->
+</HEAD>
+
+<BODY>
+<P>
+
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+</A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A>
+<A HREF="material.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<A HREF="hit.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></A>
+</TD>
+
+<TD ALIGN="Right"><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B> <BR>
+<B>For Application Developers</B> <BR>
+<B>Detector Definition and Response</B> </FONT></FONT> </TD>
+</TR>
+</TABLE>
+<P><BR>
+
+
+<CENTER><FONT COLOR="#238E23"><FONT SIZE=+3>
+<B>4.3 Electromagnetic Field</B> </FONT></FONT>
+</CENTER>
+<BR>
+<BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<p>
+
+<a name="4.3.1">
+<H2>4.3.1 An Overview of Propagation in a Field</H2></a>
+
+<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 <I>miss distance</I> (also called the <I>chord
+distance</I> ). 
+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 <I>miss distance</I>. </P>
+<P>
+<img src="electroMagneticField.src/MissDistance.jpg" width="629" height="168">
+</P>
+
+<P>
+  Figure A: The curved trajectory will be approximated by chords, so that the 
+  maximum estimated distance between curve and chord is less than the the 
+  <i>miss distance</i>. </P>
+<P>
+  In addition to the <I>miss distance</I> 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 <I>delta intersection</I> 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>
+<P>
+<img src="electroMagneticField.src/IntersectionError.jpg" width="237" height="498"></P>
+
+<P>
+ Figure B: 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.</P>
+<P>
+ The <I>delta one step</I> 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 <I>delta intersection</I> 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>
+<I>Delta intersection</I> and <I>delta one step</I> 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
+<I>delta intersection</I> and accept 100 &#956m for the 
+<I>delta one step</I> error value.  Nevertheless 
+<I>delta intersection</I> 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>
+
+<hr>
+<a name="4.3.2">
+<H2>4.3.2 Practical Aspects</H2></a>
+
+<B>Creating a Magnetic Field for a Detector</B>
+<P>
+The simplest way to define a field for a detector involves the 
+following steps:
+ <P>
+ <ol>
+ <li>create a field:
+ <PRE>
+    G4UniformMagField* magField
+      = new G4UniformMagField(G4ThreeVector(0.,0.,fieldValue));
+ </PRE>
+ <li>set it as the default field:
+ <PRE>
+    G4FieldManager* fieldMgr
+      = G4TransportationManager::GetTransportationManager()
+        ->GetFieldManager();
+       fieldMgr->SetDetectorField(magField);
+ </PRE>
+ <li>create the objects which calculate the trajectory:
+ <PRE>
+    fieldMgr->CreateChordFinder(magField);
+ </PRE>
+ </ol>
+ <P>
+ To change the accuracy of volume intersection use the <tt>SetDeltaChord</tt>
+ method:
+ <PRE>
+    fieldMgr->GetChordFinder()->SetDeltaChord( G4double newValue);
+ </PRE>
+
+<P>
+<B>Creating a Field for a Part of the Volume Hierarchy</B> 
+<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>G4FieldManager</tt> and attaching it to a logical volume (with pointer,
+  logicVolumeWithField, for example) or set of logical volumes. 
+ <PRE>
+  G4bool allLocal = true;       
+  logicVolumeWithField->SetFieldManager(fEmField->GetLocalFieldManager(),allLocal);
+ </PRE>
+</P>
+<P>&nbsp;</P>
+<P>You can then choose whether the logical volume's daughter volumes 
+  will also be given this new field.  If so, the field will be 'pushed' into 
+  its daughters, unless they already have a field manager.</P>
+
+<B>Creating an Electric or Electromagnetic Field</B>
+<P> 
+ The design and implementation of the <i>Field</i> 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>
+ Source listing 4.3.1 shows how to define a uniform electric field for the
+ whole of a detector.
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+ <PRE>
+ // 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()->
+         GetFieldManager();
+    // Set this field to the global field manager 
+    fFieldManager->SetDetectorField(fEMfield );
+
+    fMinStep     = 0.010*mm ; // minimal step of 10 microns
+
+    fIntgrDriver = new G4MagInt_Driver(fMinStep, 
+                                     fStepper, 
+                                     fStepper->GetNumberOfVariables() );
+
+    fChordFinder = new G4ChordFinder(fIntgrDriver);
+    fFieldManager->SetChordFinder( fChordFinder );
+
+  }
+</PRE>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 4.3.1<BR>
+ How to define a uniform electric field for the whole of a detector, extracted
+ from example in examples/extended/field/field02 .
+</td>
+</tr>
+</table></center>
+
+
+<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>
+
+The user can also create their own type of field, inheriting from
+<tt>G4VField</tt>, 
+and an associated Equation of Motion class (inheriting from <tt>G4EqRhs</tt>)
+to simulate other types of fields. 
+
+<P>
+<B>Choosing a Stepper</B></P>
+<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>G4SimpleHeum</tt>, the
+second order <tt>G4ImplicitEuler</tt> and <tt>G4SimpleRunge</tt>,
+and the first order
+<tt>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>
+
+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>G4ClassicalRK4</tt>):
+<PRE>
+   G4int nvar = 8;  // To integrate time & 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>
+
+<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>
+
+<PRE>
+   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>
+
+<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:
+
+<PRE>
+ G4ChordFinder( G4MagneticField* itsMagField,
+                G4double         stepMinimum = 1.0e-2 * mm,
+                G4MagIntegratorStepper* pItsStepper = 0 );
+</PRE>
+
+To change the stepper at a later time use
+<PRE>
+ pChordFinder->GetIntegrationDriver()
+             ->RenewStepperAndAdjust( newStepper );
+</PRE>
+<BR>
+
+<p>
+<B>How to Adjust the Accuracy of Propagation</B></p>
+<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>
+
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+  G4FieldManager *globalFieldManager;
+
+  G4TransportationManager *transportMgr= 
+       G4TransportationManager::GetTransportationManager();
+
+  globalFieldManager = transportMgr->GetFieldManager();
+                            // Relative accuracy values:
+  G4double minEps= 1.0e-5;  //   Minimum & value for smallest steps
+  G4double maxEps= 1.0e-4;  //   Maximum & value for largest steps
+
+  globalFieldManager->SetMinimumEpsilonStep( minEps );
+  globalFieldManager->SetMaximumEpsilonStep( maxEps );
+  globalFieldManager->SetDeltaOneStep( 0.5e-3 * mm );  // 0.5 micrometer
+
+  G4cout << "EpsilonStep: set min= " << minEps << " max= " << maxEps << G4endl;
+</PRE>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 4.3.2<BR>
+ How to set accuracy parameters for the 'global' field of the setup.
+</td>
+</tr>
+</table></center>
+<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>
+
+<p> 
+<b>Choosing different accuracies for the same volume</b></p>
+<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>
+<p> 
+ void ConfigureForTrack( const G4Track * );</p>
+<p>
+ to configure itself using the parameters of the current track. An example of 
+ this will be available in examples/extended/field05.</p>
+<p>
+<b>Parameters that must scale with problem size</b></p>
+<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 <b>maximum acceptable step</b> 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>G4PropagatorInField</tt>, and can be 
+ set by calling its <tt>SetLargestAcceptableStep</tt> method.</p>
+
+<p>
+ The <b>minimum step size</b> 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>
+
+
+<p><B>Known Issues</B> </p>
+<P>
+Currently it is computationally expensive to change the <I>miss distance</I> 
+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 
+<ul>
+<li>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)
+
+<li>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.)
+</ul>
+Requiring such precision at the intersection is clearly expensive, and new 
+development would be necessary to minimize the expense.
+
+<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>
+
+<BR>
+
+<hr>
+<a name="4.3.3">
+<H2>4.3.3 Spin Tracking</H2></a>
+
+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>
+In order to track the spin of a particle in a magnetic field, you need to code
+the following:
+
+<P>
+<ol>
+<li> in your DetectorConstruction
+<PRE>
+#include "G4Mag_SpinEqRhs.hh"
+
+  G4Mag_EqRhs* fEquation = new G4Mag_SpinEqRhs(magField);
+
+  G4MagIntegratorStepper* pStepper = new G4ClassicalRK4(fEquation,12);
+                                                       <B>notice the 12 </B>
+</PRE>
+<P>
+<li> in your PrimaryGenerator
+<PRE>
+  particleGun->SetParticlePolarization(G4ThreeVector p)
+</PRE>
+
+for example:
+
+<PRE>
+  particleGun->
+  SetParticlePolarization(-(particleGun->GetParticleMomentumDirection()));
+</PRE>
+
+or
+
+<PRE>
+  particleGun->
+  SetParticlePolarization(particleGun->GetParticleMomentumDirection()
+                                         .cross(G4ThreeVector(0.,1.,0.)));
+</PRE>
+
+where you set the initial spin direction.
+
+</ol>
+</P>
+
+While the G4Mag_SpinEqRhs class constructor
+
+<PRE>
+  G4Mag_SpinEqRhs::G4Mag_SpinEqRhs( G4MagneticField* MagField )
+     : G4Mag_EqRhs( MagField ) 
+  {
+      anomaly = 1.165923e-3;
+  }
+</PRE>
+
+sets the muon anomaly by default, the class also comes with the public method:
+
+<PRE>
+  inline void SetAnomaly(G4double a) { anomaly = a; }
+</PRE>
+
+with which you can set the magnetic anomaly to any value you require.
+
+<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:
+
+<PRE>
+http://geant4-hn.slac.stanford.edu:5090/HyperNews/public/get/emfields/88/3/1.html
+</PRE>
+
+for modifications the user is required to make to facilitate neutron spin
+tracking.
+</P>
+
+<BR>
+
+<HR><A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</i></A>   <p></P>
+</BODY>
+</HTML>
+
+
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/electroMagneticField.src/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/electroMagneticField.src/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/electroMagneticField.src/CVS/Entries	(revision 1208)
@@ -0,0 +1,4 @@
+/IntersectionError.jpg/1.1/Wed Dec 11 19:01:17 2002//
+/MissDistance.jpg/1.1/Wed Dec 11 19:01:17 2002//
+/electroMagneticField.gif/1.1/Wed Nov 21 01:21:53 2001//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/electroMagneticField.src/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/electroMagneticField.src/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/electroMagneticField.src/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/electroMagneticField.src
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/electroMagneticField.src/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/electroMagneticField.src/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/electroMagneticField.src/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomAssembly.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomAssembly.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomAssembly.html	(revision 1208)
@@ -0,0 +1,219 @@
+<html>
+<head>
+<title>ADG: Geometry</title>
+</head>
+
+<!-- Changed by: Gabriele Cosmo, 18-Apr-2005 -->
+<!-- $Id: geomAssembly.html,v 1.3 2006/11/23 16:35:55 gcosmo Exp $ -->
+<!-- $Name:  $ -->
+<body>
+<table WIDTH="100%"><TR>
+<td>
+<a href="../../../../Overview/html/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></a>
+<a href="geometry.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></a>
+<a href="geomTouch.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></a>
+<a href="geomReflection.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></a>
+</td>
+<td ALIGN="Right">
+<font SIZE="-1" COLOR="#238E23">
+<b>Geant4 User's Guide</b>
+<br>
+<b>For Application Developers</b>
+<br>
+<b>Geometry</b>
+</font>
+</td>
+</tr></table>
+<br><br>
+
+<a name="4.1.6">
+<h2>4.1.6 Creating an Assembly of Volumes</h2></a>
+
+<p> 
+<tt>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 <i>assembly</i> 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 figure 4.1.2).
+ Careful usage of <tt>G4AssemblyVolume</tt> must be considered though, in order
+ to avoid cases of "proliferation" of physical volumes all placed in the same
+ mother.</P>
+<P>
+<center>
+<table BORDER=1 CELLPADDING=8>
+ <tr>
+  <td>
+  <IMG SRC="geometry.src/avex1.jpg" ALT="Assembly volumes 1">
+  <IMG SRC="geometry.src/avex2.jpg" ALT="Assembly volumes 2">
+  </td>
+ </tr>
+ <tr>
+  <td ALIGN=center>
+   Figure 4.1.2<BR>
+   Examples of <i>assembly</i> of volumes.
+  </td>
+ </tr>
+ </table>
+</center>
+<P>
+
+<b>Filling an assembly volume with its "daughters"</b>
+<P>
+ Participating logical volumes are represented as a triplet of &lt;logical
+ volume, translation, rotation&gt; (<tt>G4AssemblyTriplet</tt> class).<BR>
+ 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>
+<B>Assembly volume placement</B>
+<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>
+ 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>MakeImprint(...)</tt> method(s).<BR>
+ The name for each of the&nbsp; physical volume is generated with the following
+ format:
+
+<PRE>
+    av_<B>WWW</B>_impr_<B>XXX</B>_<B>YYY</B>_<B>ZZZ</B>
+</PRE>
+
+ where:
+ <UL>
+ <LI><B>WWW</B> - assembly volume instance number</LI>
+ <LI><B>XXX</B> - assembly volume imprint number</LI>
+ <LI><B>YYY</B> - the name of the placed logical volume</LI>
+ <LI><B>ZZZ</B> - the logical volume index inside the assembly volume</LI>
+ </UL>
+ It is however possible to access the constituent physical volumes of an
+ assembly and eventually customise ID and copy-number.
+
+<P>
+<b>Destruction of an assembly volume</b>
+<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>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>G4Navigator</tt>,
+ logical volume store and physical volume store may keep pointers to physical
+ volumes generated by the assembly volume.<BR>
+ The <tt>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>true</TT> as the last argument of the <tt>MakeImprint()</tt> method,
+ it is possible to activate the volumes overlap check for the assembly's
+ constituents (the default is <TT>false</TT>).<BR>
+ At destruction of a <tt>G4AssemblyVolume</tt>, all its generated physical
+ volumes and rotation matrices will be freed.
+<P>
+<b>Example</b>
+<P>
+ This example shows how to use the <tt>G4AssemblyVolume</tt> class.
+ It implements a layered detector where each layer consists of 4 plates.
+<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.<BR>
+ 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.<BR>
+ Finally the layers are placed inside the world volume as the imprints
+ of the assembly volume (see source listing 4.1.7).
+<P>
+<center>
+ <table BORDER=1 CELLPADDING=8>
+ <tr><td>
+ <pre>
+ 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->AddPlacedVolume( plateLV, G4Transform3D(Ta,Ra) );
+
+   Ta.setX( -1*caloX/4. ); Ta.setY( caloY/4. ); Ta.setZ( 0. );
+   assemblyDetector->AddPlacedVolume( plateLV, G4Transform3D(Ta,Ra) );
+
+   Ta.setX( -1*caloX/4. ); Ta.setY( -1*caloY/4. ); Ta.setZ( 0. );
+   assemblyDetector->AddPlacedVolume( plateLV, G4Transform3D(Ta,Ra) );
+
+   Ta.setX( caloX/4. ); Ta.setY( -1*caloY/4. ); Ta.setZ( 0. );
+   assemblyDetector->AddPlacedVolume( plateLV, G4Transform3D(Ta,Ra) );
+
+   // Now instantiate the layers
+   for( unsigned int i = 0; i < layers; i++ )
+   {
+     // Translation of the assembly inside the world
+     G4ThreeVector Tm( 0,0,i*(caloZ + caloCaloOffset) - firstCaloPos );
+     assemblyDetector->MakeImprint( worldLV, G4Transform3D(Tm,Rm) );
+   }
+}
+</pre>
+</td></tr>
+ <tr>
+  <td ALIGN=center>
+   Source listing 4.1.7<br>
+   An example of usage of the <tt>G4AssemblyVolume</tt> class.
+  </td>
+ </tr>
+ </table>
+</center>
+<p>
+
+ The resulting detector will look as in figure 4.1.3, below:
+<P>
+ <center>
+  <table BORDER=1 CELLPADDING=8>
+  <tr>
+  <td><IMG SRC="geometry.src/avpic.jpg" ALT="Assembly volume detector" height=525 width=445></td>
+  <tr>
+  <td ALIGN=center>
+  Figure 4.1.3<br>
+  The geometry corresponding to source listing 4.1.7.</td>
+  </tr>
+  </table>
+ </center>
+
+<hr><a href="../../../../Authors/html/subjectsToAuthors.html">
+<i>About the authors</a></i> </P>
+
+</body>
+</html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomDynamic.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomDynamic.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomDynamic.html	(revision 1208)
@@ -0,0 +1,123 @@
+<html>
+<head>
+<title>ADG: Geometry</title>
+</head>
+
+<!-- Changed by: Gabriele Cosmo, 18-Apr-2005 -->
+<!-- $Id: geomDynamic.html,v 1.2 2006/06/09 14:00:48 gcosmo Exp $ -->
+<!-- $Name:  $ -->
+<body>
+<table WIDTH="100%"><TR>
+<td>
+<a href="../../../../Overview/html/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></a>
+<a href="geometry.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></a>
+<a href="geomOverlap.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></a>
+<a href="geomXML.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></a>
+</td>
+<td ALIGN="Right">
+<font SIZE="-1" COLOR="#238E23">
+<b>Geant4 User's Guide</b>
+<br>
+<b>For Application Developers</b>
+<br>
+<b>Geometry</b>
+</font>
+</td>
+</tr></table>
+<br><br>
+
+<a name="4.1.12">
+<h2>4.1.12 Dynamic Geometry Setups</h2></a>
+
+<p>
+Geant4 can handle geometries which vary in time (e.g. a geometry varying 
+between two runs in the same job).
+<br>
+It is considered a change to the geometry setup, whenever:
+ <UL>
+ <LI>the shape or dimension of an existing solid is modified;</LI>
+ <LI>the positioning (translation or rotation) of a volume is changed;</LI>
+ <LI>a volume (or a set of volumes, tree) is removed/replaced or added.</LI>
+ </UL>
+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.
+<br>
+In the general case, in order to notify the Geant4 system of the change in the 
+geometry setup, the <TT>G4RunManager</TT> has to be messaged once the new 
+geometry setup has been finalised:
+ 
+ <PRE>
+     G4RunManager::GeometryHasBeenModified();
+ </PRE>
+ 
+The above notification needs to be performed also if a material associated to
+a <i>positioned</i> 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).
+<br>
+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>
+
+<p>
+<center>
+ <table BORDER=1 CELLPADDING=8>
+ <TR><TD>
+ <pre>
+ #include "G4GeometryManager.hh"
+ 
+ // Open geometry for the physical volume to be modified ...
+ //
+ G4GeometryManager::OpenGeometry(physCalor);
+ 
+ // Modify dimension of the solid ...
+ //
+ physCalor->GetLogicalVolume()->GetSolid()->SetXHalfLength(12.5*cm);
+ 
+ // Close geometry for the portion modified ...
+ //
+ G4GeometryManager::CloseGeometry(physCalor);
+ </pre>
+ <TR>
+ <TD ALIGN=center>
+ Source listing 4.1.9<BR>
+ Opening and closing a portion of the geometry without notifying the 
+ <TT>G4RunManager</TT>.
+ </table>
+</center>
+</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>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>
+
+<hr><a href="../../../../Authors/html/subjectsToAuthors.html">
+<i>About the authors</a></i> </P>
+
+</body>
+</html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomEditor.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomEditor.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomEditor.html	(revision 1208)
@@ -0,0 +1,171 @@
+<html>
+<head>
+<title>ADG: Geometry</title>
+</head>
+
+<!-- Changed by: Gabriele Cosmo, 18-Apr-2005 -->
+<!-- $Id: geomEditor.html,v 1.2 2006/06/09 14:00:04 gcosmo Exp $ -->
+<!-- $Name:  $ -->
+<body>
+<table WIDTH="100%"><tr>
+<td>
+<a href="../../../../Overview/html/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></a>
+<a href="geometry.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></a>
+<a href="geomNav.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></a>
+<a href="geomG3toG4.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></a>
+</td>
+<td ALIGN="Right">
+<font SIZE="-1" COLOR="#238E23">
+<b>Geant4 User's Guide</b>
+<br>
+<b>For Application Developers</b>
+<br>
+<b>Geometry</b>
+</font>
+</td>
+</tr></table>
+<br><br>
+
+<a name="4.1.9">
+<h2>4.1.9 A Simple Geometry Editor</h2></a>
+
+<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:
+ <OL>
+  <li>construct  a detector geometry including
+      <tt>G4Element</tt>, <tt>G4Material</tt>, <tt>G4Solids</tt>, 
+      <tt>G4LogicalVolume</tt>, <tt>G4PVPlacement</tt>, etc.
+  <li>view the detector geometry using existing visualization system like DAWN
+  <li>keep the detector object in a persistent way
+  <li>produce corresponding C++ codes after the norm of Geant4 toolkit
+  <li>make a Geant4 executable under adequate environment
+ </OL>
+ 
+GGE is implemented with Java, using Java Foundation Class, Swing-1.0.2.
+In essence, GGE is made a set of tables which contain all relevant
+parameters to construct a simple detector geometry.<BR>
+The software, installation instructions and notes for GGE and other JAVA-based
+UI tools can be freely downloaded from the
+<a href="http://erpc1.naruto-u.ac.jp/~geant4/">Geant4 GUI and Environments
+web site</a> of Naruto University of Education in Japan.
+</p>
+<p>
+<b>Materials: elements and mixtures</b>
+<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>
+Users can  also create new materials either from scratch or by combining other 
+materials.
+ 
+ <ul>
+  <li>creating a material from scratch:
+      <p>
+      <table border=2 cellpadding=8>
+      <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>
+      </table>
+      <p>
+      Only the elements and materials used in the logical volumes are
+      kept in the detector object and are used to generate C++ constructors.
+      <b>Use</b> marks the used materials.
+      <p>
+  <li>Constructor to create a material from a combination of elements,
+      subsequently added via <tt>AddElement</tt>
+      <p>
+      <table border=2 cellpadding=8>
+      <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>
+      </table>
+      <p>
+      By clicking the column <b>Elements</b>,
+      a new window is open to select one of two methods:
+      <p>
+      <ul>
+       <li>Add an element, giving fraction by weight
+       <li>Add an element, giving number of atoms.
+      </ul>
+ </ul>
+<p>
+ 
+<b>Solids</b>
+<p>
+The most popular CSG solids (<tt>G4Box</tt>, <tt>G4Tubs</tt>, <tt>G4Cons</tt>,
+<tt>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>
+ Users will be able to view each solid using DAWN.
+<p>
+ 
+<b>Logical Volume</b>
+<p>
+ GGE can specify the following items:
+<p>
+ <table border=2 cellpadding=8>
+ <tr><td>Name</td><td>Solid</td><td> Material</td><td> VisAttribute</td>
+ </tr>
+ </table>
+<p>
+The construction and assignment of appropriate entities for 
+<tt>G4FieldManager</tt> and <tt>G4VSensitiveDetector</tt> are left to the user.
+<p>
+ 
+<b>Physical Volume</b>
+<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>
+ <table border=2 cellpadding=8>
+ <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>
+ </table>
+<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>
+ 
+<b>Generation of C++ code: <tt>MyDetectorConstruction.cc</tt></b>
+<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>MyDetectorConstruction.cc</tt> and <tt>.hh</tt> files.
+ They reflect all current user modifications in real-time.
+<P>
+ 
+<b>Visualization</b>
+<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>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>
+
+<hr><a href="../../../../Authors/html/subjectsToAuthors.html">
+<i>About the authors</a></i> </P>
+
+</body>
+</html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomG3toG4.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomG3toG4.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomG3toG4.html	(revision 1208)
@@ -0,0 +1,139 @@
+<html>
+<head>
+<title>ADG: Geometry</title>
+</head>
+
+<!-- Changed by: Gabriele Cosmo, 18-Apr-2005 -->
+<!-- $Id: geomG3toG4.html,v 1.2 2006/06/09 13:59:44 gcosmo Exp $ -->
+<!-- $Name:  $ -->
+<body>
+<table WIDTH="100%"><TR>
+<td>
+<a href="../../../../Overview/html/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></a>
+<a href="geometry.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></a>
+<a href="geomEditor.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></a>
+<a href="geomOverlap.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></a>
+</td>
+<td ALIGN="Right">
+<font SIZE="-1" COLOR="#238E23">
+<b>Geant4 User's Guide</b>
+<br>
+<b>For Application Developers</b>
+<br>
+<b>Geometry</b>
+</font>
+</td>
+</tr></table>
+<br><br>
+
+<a name="4.1.10">
+<h2>4.1.10 Converting Geometries from Geant 3.21</h2></a>
+
+<b>Approach</b>
+<p>
+ <b>G3toG4</b> is the Geant4 facility to convert GEANT 3.21 geometries into
+ Geant4. This is done in two stages:
+ <ol>
+ <li>The user supplies a GEANT 3.21 RZ-file (.rz) containing the initialization
+     data structures. An executable <tt>rztog4</tt> reads this file and 
+     produces an ASCII <i>call list</i> file containing instructions on how to
+     build the geometry. The source code of <tt>rztog4</tt> is FORTRAN.</li>
+ <li>A call list interpreter (<tt>G4BuildGeom.cc</tt>) reads these instructions
+     and builds the geometry in the user's client code for Geant4.</li>
+ </ol>
+</p>
+
+<B>Importing converted geometries into Geant4</B>
+<P>
+ Two examples of how to use the call list interpreter are supplied in
+ the directory <tt>examples/extended/g3tog4</tt>:
+ <ol>
+ <li><tt>cltog4</tt> is a simple example which simply invokes the
+     call list interpreter method <tt>G4BuildGeom</tt> from the
+     <tt>G3toG4DetectorConstruction</tt> class, builds the geometry and
+     exits.</li>
+ <li><tt>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.</li>
+ </ol>
+To compile and build the G3toG4 libraries, you need to have set in your 
+environment the variable <tt>G4LIB_BUILD_G3TOG4</tt> at the time of 
+installation.  The G3toG4 libraries are not built by default. Then, simply type
+ 
+<pre>
+  gmake
+</pre>
+ 
+ from the top-level <tt>source/g3tog4</tt> directory.
+<P>
+ To build the converter executable <tt>rztog4</tt>, simply type
+ 
+<pre>
+  gmake bin
+</pre>
+ 
+ To make everything, simply type:
+ 
+<pre>
+  gmake global
+</pre>
+ 
+ To remove all <tt>G3toG4</tt> libraries, executables and .d files, simply type
+ 
+<pre>
+  gmake clean
+</pre>
+ 
+<B>Current Status</B>
+<P>
+ The package has been tested with the geometries from experiments like:
+ BaBar, CMS, Atlas, Alice, Zeus, L3, and Opal.<BR>
+ Here is a comprehensive list of features supported and not supported or
+ implemented in the current version of the package:
+ <UL>
+ <li>Supported shapes:
+     all GEANT 3.21 shapes except for <tt>GTRA</tt>, <tt>CTUB</tt>.</li>
+ <li><tt>PGON</tt>, <tt>PCON</tt> are built using the <i>specific</i> solids
+     <tt>G4Polycone</tt> and <tt>G4Polyhedra</tt>.</li>
+ <li>GEANT 3.21 <tt>MANY</tt> feature is only partially supported.<BR>
+     <tt>MANY</tt> positions are resolved in the <tt>G3toG4MANY()</tt> 
+     function, which has to be processed before <tt>G3toG4BuildTree()</tt> 
+     (it is not called by default).<br>
+     In order to resolve <tt>MANY</tt>, the user code has to provide
+     additional info using <tt>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>Gsbool</tt>.<BR>
+     <B>Limitation</B>: a volume with a <tt>MANY</tt> position can have only 
+     this one position; if more than one position is needed a new volume has 
+     to be defined (<tt>gsvolu()</tt>) for each position.
+ </li>
+ <li><tt>GSDV*</tt> routines for dividing volumes are implemented, using
+     <tt>G4PVReplica</tt>s, for shapes:</li>
+     <UL>
+     <li><tt>BOX</tt>, <tt>TUBE</tt>, <tt>TUBS</tt>, <tt>PARA</tt> - all axes;
+         </li>
+     <li><tt>CONE</tt>, <tt>CONS</tt> - axes 2, 3;</li>
+     <li><tt>TRD1</tt>, <tt>TRD2</tt>, <tt>TRAP</tt> - axis 3;</li>
+     <li><tt>PGON</tt>, <tt>PCON</tt> - axis 2;</li>
+     <li><tt>PARA</tt> -axis 1; axis 2,3 for a special case</li>
+     </UL>
+ <li><tt>GSPOSP</tt> is implemented via individual logical volumes for each
+     instantiation.</li>
+ <li><tt>GSROTM</tt> is implemented. Reflections of hierachies based on plain 
+     CSG solids are implemented through the <tt>G3Division</tt> class.
+ <li>Hits are not implemented.
+ <li>Conversion of GEANT 3.21 magnetic field is currently not supported.
+     However, the usage of magnetic field has to be turned on.
+ </UL>
+
+<hr><a href="../../../../Authors/html/subjectsToAuthors.html">
+<i>About the authors</a></i> </P>
+
+</body>
+</html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomIntro.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomIntro.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomIntro.html	(revision 1208)
@@ -0,0 +1,61 @@
+<html>
+<head>
+<title>ADG: Geometry</title>
+</head>
+
+<!-- Changed by: Gabriele Cosmo, 18-Apr-2005 -->
+<!-- $Id: geomIntro.html,v 1.2 2006/06/09 13:59:31 gcosmo Exp $ -->
+<!-- $Name:  $ -->
+<body>
+<table WIDTH="100%"><TR>
+<td>
+<a href="../../../../Overview/html/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></a>
+<a href="geometry.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></a>
+<IMG SRC="../../../../resources/html/IconsGIF/PreviousGR.gif" ALT="Previous"></a>
+<a href="geomSolids.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></a>
+</td>
+<td ALIGN="Right">
+<font SIZE="-1" COLOR="#238E23">
+<b>Geant4 User's Guide</b>
+<br>
+<b>For Application Developers</b>
+<br>
+<b>Geometry</b>
+</font>
+</td>
+</tr></table>
+<br><br>
+
+<a name="4.1.1">
+<h2>4.1.1 Introduction</h2></a>
+
+ <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.
+ </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>
+
+
+<hr><a href="../../../../Authors/html/subjectsToAuthors.html">
+<i>About the authors</a></i> </P>
+
+</body>
+</html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomLogical.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomLogical.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomLogical.html	(revision 1208)
@@ -0,0 +1,149 @@
+<html>
+<head>
+<title>ADG: Geometry</title>
+</head>
+
+<!-- Changed by: Gabriele Cosmo, 18-Apr-2005 -->
+<!-- $Id: geomLogical.html,v 1.3 2006/06/09 13:59:15 gcosmo Exp $ -->
+<!-- $Name:  $ -->
+<body>
+<table WIDTH="100%"><TR>
+<td>
+<a href="../../../../Overview/html/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></a>
+<a href="geometry.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></a>
+<a href="geomSolids.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></a>
+<a href="geomPhysical.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></a>
+</td>
+<td ALIGN="Right">
+<font SIZE="-1" COLOR="#238E23">
+<b>Geant4 User's Guide</b>
+<br>
+<b>For Application Developers</b>
+<br>
+<b>Geometry</b>
+</font>
+</td>
+</tr></table>
+<br><br>
+
+<a name="4.1.3">
+<h2>4.1.3 Logical Volumes</h2></a>
+
+<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="../Visualization/attributes.html">Section 8.6</a>) and
+user-defined parameters related to tracking, electro-magnetic field or cuts
+(through the <tt>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.
+
+<pre>
+    G4LogicalVolume( G4VSolid*             pSolid,
+                     G4Material*           pMaterial,
+                     const G4String&amp;       Name,
+                     G4FieldManager*       pFieldMgr=0,
+                     G4VSensitiveDetector* pSDetector=0,
+                     G4UserLimits*         pULimits=0,
+                     G4bool                Optimise=true )
+</pre>
+</p>
+<P>
+ The logical volume provides a way to estimate the <I>mass</I> of a tree of
+ volumes defining a detector or sub-detector. This can be achieved by calling
+ the method:
+ <PRE>
+    G4double GetMass(G4bool forced=false)
+ </PRE>
+ 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>true</TT> for the boolean
+ argument <TT>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="../TrackingAndPhysics/physicsProcess.html#5.2.6">Section 5.2.6</a>).</P>
+
+<P> </P>
+
+<a name="4.1.3.1">
+<H4>4.1.3.1 Sub-detector Regions</H4></a>
+
+ 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
+ <i>cuts</i> to each of these detector parts.  This allows a more detailed
+ simulation to occur only in those regions where it is required.
+ <P>
+ The concept of detector <i>Region</i> 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:
+ <PRE>
+    G4Region( const G4String&amp;          rName )
+ </PRE></P>
+ <P>
+ where:</P>
+ <P>
+ <table border=1 cellpadding=8>
+  <td><tt>rName</tt> <td>String identifier for the detector region
+ </table></P>
+<P>
+ A <tt>G4Region</tt> must then be assigned to a logical volume, in order to
+make it a <i>Root Logical Volume</i>:
+ <PRE>
+    G4Region* emCalorimeter = new G4Region("EM-Calorimeter");
+    emCalorimeter->AddRootLogicalVolume(emCalorimeter);
+ </PRE>
+ 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 <i>Production Cut</i> can be assigned to the region, by defining
+ and assigning to it a <tt>G4ProductionCut</tt> object
+ <PRE>
+    emCalorimeter->SetProductionCuts(emCalCuts);
+ </PRE>
+ <a href="../TrackingAndPhysics/thresholdVScut.html#5.4.2">Section 5.4.2</a>
+ describes how to define a production cut.  The same region can be assigned
+ to more than one root logical volume, and root logical volumes can be
+ removed from an existing region.  A logical volume can have only <i>one</i>
+ 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>
+
+<hr><a href="../../../../Authors/html/subjectsToAuthors.html">
+<i>About the authors</a></i> </P>
+
+</body>
+</html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomNav.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomNav.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomNav.html	(revision 1208)
@@ -0,0 +1,288 @@
+<html>
+<head>
+<title>ADG: Geometry</title>
+</head>
+
+<!-- Changed by: Gabriele Cosmo, 18-Apr-2005 -->
+<!-- $Id: geomNav.html,v 1.5 2006/11/24 20:18:30 asaim Exp $ -->
+<!-- $Name:  $ -->
+<body>
+<table WIDTH="100%"><TR>
+<td>
+<a href="../../../../Overview/html/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></a>
+<a href="geometry.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></a>
+<a href="geomReflection.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></a>
+<a href="geomEditor.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></a>
+</td>
+<td ALIGN="Right">
+<font SIZE="-1" COLOR="#238E23">
+<b>Geant4 User's Guide</b>
+<br>
+<b>For Application Developers</b>
+<br>
+<b>Geometry</b>
+</font>
+</td>
+</tr></table>
+<br><br>
+
+<a name="4.1.8">
+<h2>4.1.8 The Geometry Navigator</h2></a>
+
+<p>
+Navigation through the geometry at tracking time is implemented by the class 
+<tt>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.<br>
+
+Internally, the G4Navigator has several private helper/utility classes:
+<ul>
+ <li><b>G4NavigationHistory</b> - 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.</li>
+ <li><b>G4NormalNavigation</b> - provides location & distance computation
+     functions for geometries containing 'placement' volumes, with no voxels.
+     </li>
+ <li><b>G4VoxelNavigation</b> - 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.</li>
+ <li><b>G4ParameterisedNavigation</b> - provides location and distance
+     computation functions for geometries containing parameterised volumes
+     with voxels. Voxel information is maintained similarly to
+     <tt>G4VoxelNavigation</tt>, but computation can also be simpler by
+     adopting voxels to be one level deep only (<I>unrefined</I>, or 1D
+     optimisation)</li>
+ <li><b>G4ReplicaNavigation</b> - provides location and distance computation
+     functions for replicated volumes.</li>
+</ul>
+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>
+
+<a name="4.1.8.1">
+<h3>4.1.8.1 Navigation and Tracking</h3></a>
+
+<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.
+<ul>
+ <li><b>SetWorldVolume()</b><br>
+   Sets the first volume in the hierarchy. It must be unrotated and
+   untranslated from the origin.</li>
+ <li><b>LocateGlobalPointAndSetup()</b><br>
+   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>G4TouchableHistory</tt>.</li>
+ <li><b>LocateGlobalPointAndUpdateTouchableHandle()</b><br>
+   First, search the geometrical hierarchy like the above method
+   <tt>LocateGlobalPointAndSetup()</tt>. Then use the volume found and its
+   navigation history to update the touchable.</li>
+ <li><B>ComputeStep()</B><BR>
+   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>ComputeStep()</tt>.<BR>
+   When calling <tt>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>kInfinity</tt> is returned. In any case, if the returned
+   step is greater than the physics step, the physics step must be taken.</li>
+ <li><B>SetGeometricallyLimitedStep()</B><BR>
+   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>LocateGlobalPointAndSetup()</tt>.</li>
+ <li><b>CreateTouchableHistory()</b><br>
+   Creates a <tt>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.</li>
+</ul>
+ As stated previously, the navigator makes use of utility classes to
+ perform location and step computation functions. The different navigation
+ utilities manipulate the <tt>G4NavigationHistory</tt> object.<BR>
+ In <tt>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.<BR>
+ In <tt>ComputeStep()</tt> three types of computation are treated
+ depending on the current containing volume:
+ <ul>
+ <li>The volume contains normal (placement) daughters (or none)</li>
+ <li>The volume contains a single parameterised volume object,
+     representing many volumes</li>
+ <li>The volume is a replica and contains normal (placement) daughters</li>
+ </ul>
+</P>
+
+<a name="4.1.8.2">
+<h3>4.1.8.2 Using the navigator to locate points</h3></a>
+
+<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 <i>activated</i> automatically at the startup of a simulation program
+is the navigator used for the <i>tracking</i> and attached the world volume
+of the main tracking (or <i>mass</i>) geometry.<br>
+The navigator for tracking can be retrieved at any state of the application
+by messagging the <tt>G4TransportationManager</tt>:
+<pre>
+     G4Navigator* tracking_navigator =
+       G4TransportationManager::GetInstance()->GetNavigatorForTracking();
+</pre>
+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 !<br>
+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>G4Navigator</tt> object (which can then be assigned to the
+world-volume), or access the information through the step.
+</P>
+
+<P>
+<b>Using the 'step' to retrieve geometrical information</b>
+</P>
+<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:
+<pre>
+      // Given the pointer to the step object ...
+      //
+      G4Step* aStep = ..;
+
+      // ... retrieve the 'pre-step' point
+      //
+      G4StepPoint* preStepPoint = aStep->GetPreStepPoint();
+
+      // ... retrieve a touchable handle and access to the information
+      //
+      G4TouchableHandle theTouchable = preStepPoint->GetTouchableHandle();
+      G4int copyNo = theTouchable->GetCopyNumber();
+      G4int motherCopyNo = theTouchable->GetCopyNumber(1);
+</pre>
+To determine the exact position in global coordinates in the mass geometry
+and convert to local coordinates (local to the current volume):
+<pre>
+      G4ThreeVector worldPosition = preStepPoint->GetPosition();
+      G4ThreeVector localPosition = theTouchable->GetHistory()->
+                    GetTopTransform().TransformPoint(worldPosition);
+</pre>
+</P>
+
+<P>
+<b>Using an alternative navigator to locate points</b>
+</P>
+<P>
+In order to know (when in the <i>idle</i> 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:
+<pre>
+     G4Navigator* aNavigator = new G4Navigator();
+     aNavigator->SetWorldVolume(worldVolumePointer);
+</pre>
+Then, locate the point <tt>myPoint</tt> (defined in global coordinates),
+retrieve a <i>touchable handle</i> and do whatever you need with it:
+<pre>
+     aNavigator->LocateGlobalPointAndSetup(myPoint);
+     G4TouchableHistoryHandle aTouchable =
+       aNavigator->CreateTouchableHistoryHandle();
+
+     // Do whatever you need with it ...
+     // ... convert point in local coordinates (local to the current volume)
+     //
+     G4ThreeVector localPosition = aTouchable->GetHistory()->
+                   GetTopTransform().TransformPoint(myPoint);
+
+     // ... convert back to global coordinates system
+     G4ThreeVector globalPosition = aTouchable->GetHistory()->
+                   GetTopTransform().Inverse().TransformPoint(localPosition);
+</pre>
+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>G4Navigator</tt>
+object and then apply the method above after having created the touchable for
+it.
+</P>
+
+<a name="4.1.8.3">
+<h3>4.1.8.3 Navigation in parallel geometries</h3></a>
+
+<P>
+Since release 8.2 of Geant4, it is possible to define geometry trees which
+are <i>parallel</i> 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 <i>overlap</i> with the mass geometry defined
+for the tracking. The <i>parallel</i> transportation will be activated only
+after the registration of the parallel geometry in the detector description
+setup; see Section <a href="parallelWorld.html">4.7</a> for how to define a parallel
+geometry and register it to the run-manager.<br>
+The <tt>G4TransportationManager</tt> provides all the utilities to verify,
+retrieve and activate the navigators associated to the various parallel
+geometries defined.
+</P>
+
+<a name="4.1.8.4">
+<h3>4.1.8.4 Run-time commands</h3></a>
+
+<P>
+When running in <i>verbose</i> mode (i.e. the default, <TT>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:
+<pre>
+     geometry/navigator/verbose [verbose_level]
+</pre>
+or to force the navigator to run in <I>check</I> mode:
+<pre>
+     geometry/navigator/check_mode [true/false]
+</pre>
+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.<br>
+
+By combining <i>check_mode</i> with verbosity level-1, additional verbosity 
+checks on the response from the solids can be activated.
+<p></p>
+
+<hr>
+<a href="../../../../Authors/html/subjectsToAuthors.html">
+<i>About the authors</a></i> </P>
+
+</body>
+</html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomOverlap.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomOverlap.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomOverlap.html	(revision 1208)
@@ -0,0 +1,414 @@
+<html>
+<head>
+<title>ADG: Geometry</title>
+</head>
+
+<!-- Changed by: Gabriele Cosmo, 18-Apr-2005 -->
+<!-- $Id: geomOverlap.html,v 1.4 2006/06/09 13:58:38 gcosmo Exp $ -->
+<!-- $Name:  $ -->
+<body>
+<table WIDTH="100%"><TR>
+<td>
+<a href="../../../../Overview/html/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></a>
+<a href="geometry.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></a>
+<a href="geomG3toG4.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></a>
+<a href="geomDynamic.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></a>
+</td>
+<td ALIGN="Right">
+<font SIZE="-1" COLOR="#238E23">
+<b>Geant4 User's Guide</b>
+<br>
+<b>For Application Developers</b>
+<br>
+<b>Geometry</b>
+</font>
+</td>
+</tr></table>
+<br><br>
+
+<a name="4.1.11">
+<h2>4.1.11 Detecting Overlapping Volumes</h2></a>
+
+<b>The problem of overlapping volumes</b>
+<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>
+ 
+<P> </P>
+ 
+<b>Detecting overlaps: built-in kernel commands</b>
+ 
+<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:
+ <PRE>
+     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>
+</P>
+ 
+ To detect overlapping volumes, the built-in test uses the intersection
+ of solids with linear trajectories. For example, consider figure 4.1.4:</P>
+ 
+ <center>
+  <table BORDER=1 CELLPADDING=8>
+  <tr><td>
+  <IMG SRC="geometry.src/geomtest.gif" ALT="|Geometry Test|" HEIGHT=162 WIDTH=402>
+  </td></tr>
+  <tr>
+  <td ALIGN=center>
+  Figure 4.1.4<BR>
+  Different cases of placed volumes overlapping each other.
+  </td></tr>
+  </table>
+ </center>
+ 
+<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:
+<PRE>
+   geometry/test/tolerance &lt;new-value&gt;
+</PRE>
+</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>
+ 
+<P> </P>
+ 
+<b>Detecting overlaps at construction</b>
+ 
+<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>G4PVPlacement</tt> constructor in
+<a href="geomPhysical.html#4.1.4.1">Section 4.1.4.1</a>) or a parameterised
+volume (see <tt>G4PVParameterised</tt> constructor in
+<a href="geomPhysical.html#4.1.4.2">Section 4.1.4.2</a>).<br>
+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>G4PVPlacement</tt> and <tt>G4PVParameterised</tt> also
+provide a method:
+<pre>
+   G4bool CheckOverlaps(G4int res=1000)
+</pre>
+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>true</tt> if
+an overlap occurs.</P>
+
+<P> </P>
+
+<B>Using the visualization driver: DAVID</B>
+ 
+<p>
+The Geant4 visualization offers a powerful debugging tool for detecting
+potential intersections of physical volumes. The Geant4 DAVID visualization
+tool <a href="#DAVID">[2]</a> 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 figure 4.1.5 below 
+is a sample visualization of a detector geometry with intersecting physical 
+volumes highlighted:
+</p>
+ 
+ <center>
+  <table BORDER=1 CELLPADDING=8>
+  <tr><td>
+  <IMG SRC="geometry.src/DAVID_SAMPLE.gif" ALT="|DAVID Geometry Test|" HEIGHT=567 WIDTH=322></P>
+  </td></tr>
+  <tr>
+  <td ALIGN=center>
+  Figure 4.1.5<BR>
+  A geometry with overlapping volumes highlighted by DAVID.
+  </td></tr>
+  </table>
+ </center>
+ 
+<p>
+At present physical volumes made of the following solids are able to
+be debugged: <tt>G4Box</tt>, <tt>G4Cons</tt>, <tt>G4Para</tt>, 
+<tt>G4Sphere</tt>, <tt>G4Trd</tt>, <tt>G4Trap</tt>, <tt>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 &quot;DAWN&quot; and a visual intersection
+debugger &quot;DAVID&quot;. DAWN <a href="#DAWN">[1]</a> and
+DAVID <a href="#DAVID">[2]</a> can be downloaded from the Web.
+</p>
+ 
+<p>
+How to compile Geant4 with the DAWNFILE driver incorporated is described
+in <A HREF="../Visualization/visdrivers.html"> Section 8.3</A>.
+</p>
+ 
+<p>
+ If the DAWNFILE driver, DAWN and DAVID are all working well in your
+ host machine, the visual intersection debugging of physical-volume surfaces
+ can be performed as follows:</P>
+ 
+<P>
+ Run your Geant4 executable, invoke the DAWNFILE driver, and execute
+ visualization commands to visualize your detector geometry:
+ 
+<PRE>
+     Idle> /vis/open DAWNFILE
+     .....(setting camera etc)...
+     Idle> /vis/drawVolume
+     Idle> /vis/viewer/update
+</PRE></P>
+ 
+<P>
+ Then a file &quot;g4.prim&quot;, 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/">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:
+ 
+<PRE>
+     ------------------------------------------------------
+     !!! Number of intersected volumes : 0 !!!
+     !!! Congratulations ! \(^o^)/         !!!
+     ------------------------------------------------------
+</PRE></P>
+ 
+<P>
+ If you always want to skip visualization, set an environmental variable
+ as follows beforehand:
+ 
+<PRE>
+     %  setenv DAVID_NO_VIEW  1
+</PRE></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:
+ 
+<PRE>
+     %  setenv G4DAWNFILE_PRECISION  10
+</PRE></P>
+ 
+<P>
+ If necessary, re-visualize the detector geometry with intersected parts
+ highlighted. The data are saved in a file &quot;g4david.prim&quot; in the
+ current directory. This file can be re-visualized with DAWN as follows:
+ 
+<PRE>
+     % dawn g4david.prim
+</PRE></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>prim2wrml</tt> can be downloaded
+from the <A HREF="http://geant4.kek.jp/GEANT4/vis/DAWN/About_prim2vrml1.html">DAWN
+web site download pages</A>.</P>
+</OL>
+ 
+<P>
+ For more details, see the <A HREF="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAVID.html">document
+ of DAVID</A> mentioned above.</P>
+ 
+<P> </P>
+                                 
+<b>Using the geometry debugging tool OLAP</b>
+ 
+<p>
+<b>OLAP</b> 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>geant4/examples/extended/geometry</tt>.  The technique consists in 
+shooting <tt>geantinos</tt> particles in one direction and the opposite one, 
+and verifying that the boundary crossings are the same.
+<br>
+The tool can be used for any Geant4 geometry, provided that the user
+geometry to be debugged is available as a subclass of
+<tt>G4VUserDetectorConstruction</tt> and is used to construct the
+<tt>OlapDetConstr</tt> class of the tool. A dummy class
+<tt>RandomDetector</tt> is provided for this purpose in the tool itself.<BR>
+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>/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>/olap/goto [regexp]</tt> can be used to jump to the first logical volume 
+matching the expression <tt>[regexp]</tt>.
+Every successful navigation command (<tt>/olap/cd</tt>, <tt>olap/goto</tt>) 
+results in the construction of a <tt>NewWorld</tt>, the mother volume being 
+the argument of the command and the daughter volumes being the direct 
+daughters of the mother volume.<BR>
+<tt>/olap/pwd</tt> always shows where in the full geometrical hierarchy the
+current <tt>NewWorld</tt> and mother volume are located.<BR>
+For more detailed information, view the <tt>README</tt> file provided with 
+the tool.
+</p>
+<br>
+<hr>
+<p>
+<table>
+<tr><td valign=top><a name="DAWN">[1]</a>
+    <td><a href="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html">http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html</a>
+<tr><td valign=top><a name="DAVID">[2]</a>
+    <td><a href="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAVID.html">http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAVID.html</a>
+</table>
+</p>
+
+<hr><a href="../../../../Authors/html/subjectsToAuthors.html">
+<i>About the authors</a></i> </P>
+
+</body>
+</html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomPhysical.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomPhysical.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomPhysical.html	(revision 1208)
@@ -0,0 +1,795 @@
+<html>
+<head>
+<title>ADG: Geometry</title>
+</head>
+
+<!-- Changed by: Gabriele Cosmo, 18-Apr-2005 -->
+<!-- $Id: geomPhysical.html,v 1.6 2006/06/09 13:58:03 gcosmo Exp $ -->
+<!-- $Name:  $ -->
+<body>
+<table WIDTH="100%"><TR>
+<td>
+<a href="../../../../Overview/html/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></a>
+<a href="geometry.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></a>
+<a href="geomLogical.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></a>
+<a href="geomTouch.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></a>
+</td>
+<td ALIGN="Right">
+<font SIZE="-1" COLOR="#238E23">
+<b>Geant4 User's Guide</b>
+<br>
+<b>For Application Developers</b>
+<br>
+<b>Geometry</b>
+</font>
+</td>
+</tr></table>
+<br><br>
+
+<a name="4.1.4">
+<h2>4.1.4 Physical Volumes</h2></a>
+
+<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>
+<b>Note</b> - 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.<BR>
+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>
+<P> </P>
+
+<a name="4.1.4.1">
+<H4>4.1.4.1 Placements: single positioned copy</H4></a>
+
+ 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.<BR>
+ Transformations including reflections are not allowed.
+<P>
+ To create a Placement one must construct it using:
+ <PRE>
+    G4PVPlacement(       G4RotationMatrix*  pRot,
+                   const G4ThreeVector&amp;     tlate,
+                         G4LogicalVolume*   pCurrentLogical,
+                   const G4String&amp;          pName,
+                         G4LogicalVolume*   pMotherLogical,
+                         G4bool             pMany,
+                         G4int              pCopyNo,
+                         G4bool             pSurfChk=false )</PRE>
+ where:
+<p>
+ <table border=1 cellpadding=8>
+ <tr>
+  <td><tt>pRot</tt> <td>Rotation with respect to its mother volume
+ <tr>
+  <td><tt>tlate</tt> <td>Translation with respect to its mother volume
+ <tr>
+  <td><tt>pCurrentLogical</tt> <td>The associated Logical Volume
+ <tr>
+  <td><tt>pName</tt> <td>String identifier for this placement
+ <tr>
+  <td><tt>pMotherLogical</tt> <td>The associated mother volume
+ <tr>
+  <td><tt>pMany</tt> <td>For future use. Can be set to false
+ <tr>
+  <td><tt>pCopyNo</tt> <td>Integer which identifies this placement
+ <tr>
+  <td><tt>pSurfChk</tt> <td>if true activates check for overlaps with existing volumes
+ </table></P>
+<P>
+ Care must be taken because the rotation matrix is not copied by a
+ <tt>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>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="geomSolids.html#4.1.2.2">Section 4.1.2.2</a>
+above for an explanation of this.
+</p>
+<P>
+ The mother volume must be specified for all volumes <I>except</I> 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 <I>active</I> method can be utilized using the
+ following constructor:
+
+ <PRE>
+    G4PVPlacement(       G4Transform3D      solidTransform,
+                         G4LogicalVolume*   pCurrentLogical,
+                   const G4String&amp;          pName,
+                         G4LogicalVolume*   pMotherLogical,
+                         G4bool             pMany,
+                         G4int              pCopyNo,
+                         G4bool             pSurfChk=false )</PRE></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>
+<P> </P>
+
+<a name="4.1.4.2">
+<H4>4.1.4.2 Repeated volumes</H4></a>
+
+ 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> </P>
+
+<b>Replicas</b>
+<P>
+ Replicas are <i>repeated volumes</i> 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>
+<P>
+ <PRE>
+    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>
+where:</P>
+<P>
+ <table border=1 cellpadding=8>
+ <tr>
+  <td><tt>pName</tt> <td>String identifier for the replicated volume
+ <tr>
+  <td><tt>pCurrentLogical</tt> <td>The associated Logical Volume
+ <tr>
+  <td><tt>pMotherLogical</tt> <td>The associated mother volume
+ <tr>
+  <td><tt>pAxis</tt> <td>The axis along with the replication is applied
+ <tr>
+  <td><tt>nReplicas</tt> <td>The number of replicated volumes
+ <tr>
+  <td><tt>width</tt> <td>The width of a single replica along the axis of
+                         replication
+ <tr>
+  <td><tt>offset</tt> <td>Possible offset associated to mother offset along
+                          the axis of replication
+ </table></P>
+<P>
+ <tt>G4PVReplica</tt> represents <tt>nReplicas</tt> volumes differing only in
+ their positioning, and completely <b>filling</b> the containing mother volume.
+ Consequently if a <tt>G4PVReplica</tt> is 'positioned' inside a given mother it
+ <b>MUST</b> 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:
+<UL>
+<LI><i>Cartesian axes <tt>(kXAxis,kYAxis,kZAxis)</tt></i>
+  <BR>
+  The replications, of specified width have coordinates of
+  form <tt>(-width*(nReplicas-1)*0.5+n*width,0,0)</tt><BR>
+  where <tt>n=0.. nReplicas-1</tt> for the case of <tt>kXAxis</tt>,
+  and are unrotated.
+</LI>
+<LI><i>Radial axis (cylindrical polar) <tt>(kRho)</tt></i>
+  <BR>
+  The replications are cons/tubs sections, centred on the origin
+  and are unrotated.<BR>
+  They have radii of <tt>width*n+offset</tt> to <tt>width*(n+1)+offset</tt>
+  where <tt>n=0..nReplicas-1</tt>
+</LI>
+<LI><i>Phi axis (cylindrical polar) <tt>(kPhi)</tt></i>
+  <BR>
+  The replications are <i>phi sections</i> or <i>wedges</i>, and of cons/tubs
+  form.<BR>
+  They have <tt>phi</tt> of <tt>offset+n*width</tt>
+  to <tt>offset+(n+1)*width</tt> where <tt>n=0..nReplicas-1</tt>
+</LI>
+</UL>
+
+ 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>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.<BR>
+ ex. For X axis replicas in a box, the solid should be
+ another box with the dimensions of the replications. (same Y & 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.<BR>
+ Because of these rules, it is not possible to place any other volume inside
+ a replication in <tt>radius</tt>.<BR>
+ The world volume <I>cannot</I> act as a replica, therefore it cannot be sliced.</P>
+<P>
+ During tracking, the translation + rotation associated with each
+ <tt>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>phi</tt> and <tt>r</tt> replication
+ and for when the cross-section of the mother is not constant along the
+ replication.</P>
+<P>
+ Example:
+ <center><table border=1 cellpadding=8>
+ <tr><td>
+ <PRE>
+           G4PVReplica repX("Linear Array",
+                            pRepLogical,
+                            pContainingMother,
+                            kXAxis, 5, 10*mm);
+
+           G4PVReplica repR("RSlices",
+                            pRepRLogical,
+                            pContainingMother,
+                            kRho, 5, 10*mm, 0);
+
+           G4PVReplica repRZ("RZSlices",
+                             pRepRZLogical,
+                             &repR,
+                             kZAxis, 5, 10*mm);
+
+           G4PVReplica repRZPhi("RZPhiSlices",
+                                pRepRZPhiLogical,
+                                &repRZ,
+                                kPhi, 4, M_PI*0.5*rad, 0);
+ </PRE>
+ <tr>
+ <td align=center>
+ Source listing 4.1.2<BR>
+ An example of simple replicated volumes with <tt>G4PVReplica</tt>.
+ </table></center></P>
+<P>
+ <tt>RepX</tt> is an array of 5 replicas of width 10*mm, positioned inside and
+ completely filling the volume pointed by <tt>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>RepR</tt> divides the mother tube into 5 cylinders (hence the
+ solid associated with <tt>pRepRLogical</tt> must be a tube of radius 10*mm, and
+ half Z length 25*mm); <tt>repRZ</tt> divides it into 5 shorter cylinders
+ (the solid associated with <tt>pRepRZLogical</tt> must be a tube of radius
+ 10*mm, and half Z length 5*mm); finally, <tt>repRZPhi</tt> divides it into 4
+ tube segments with full angle of 90 degrees (the solid associated with
+ <tt>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).<BR>
+ No further volumes may be placed inside these replicas. To do so would
+ result in intersecting boundaries due to the <tt>r</tt> replications.</P>
+
+<P> </P>
+
+<b>Parameterised Volumes</b>
+<P>
+ Parameterised Volumes are <i>repeated volumes</i> 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>ExN02DetectorConstruction</tt>
+ and <tt>ExN02ChamberParameterisation</tt>.</P>
+<P>
+ To create a parameterised volume, one must first create its logical volume
+ like <tt>trackerChamberLV</tt> below.
+ Then one must create his own parameterisation class
+ (<i>ExN02ChamberParameterisation</i>) and instantiate an object of this class
+ (<tt>chamberParam</tt>).  We will see how to create the parameterisation below.</P>
+<P>
+ <center><table border=1 cellpadding=8>
+ <tr><td>
+ <PRE>
+  //------------------------------
+  // 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>
+ <tr>
+ <td align=center>
+ Source listing 4.1.3<BR>
+ An example of Parameterised volumes.
+ </table></center>
+
+ The general constructor is:
+ <PRE>
+    G4PVParameterised( const G4String&amp;              pName,
+                             G4LogicalVolume*       pCurrentLogical,
+                             G4LogicalVolume*       pMotherLogical, // OR G4VPhysicalVolume*
+                       const EAxis                  pAxis,
+                       const G4int                  nReplicas,
+                             G4VPVParameterisation* pParam,
+                             G4bool                 pSurfChk=false )
+ </PRE></P>
+<P>
+ Note that for a parameterised volume the user must always specify a mother
+ volume.  So the world volume can <I>never</I> 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>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>pSurfChk</tt> if <tt>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:
+
+ <UL>
+  <LI><tt>ComputeTransformation</tt> defines where one of the copies is placed,
+  <LI><tt>ComputeDimensions</tt>     defines the size of one copy, and
+  <LI>a constructor that initializes any member variables that are required.
+ </UL></P>
+<P>
+ An example is <tt>ExN02ChamberParameterisation</tt> that parameterises a
+ series of boxes of different sizes
+
+ <center><table border=1 cellpadding=8>
+ <tr><td>
+ <PRE>
+ 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>
+ <tr>
+ <td align=center>
+ Source listing 4.1.4<BR>
+ An example of Parameterised boxes of different sizes.
+ </table></center></P>
+<P>
+ These methods works as follows:</P>
+<P>
+ The <tt>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:
+
+ <PRE>
+ 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>
+ Note that the translation and rotation given in this scheme are those for
+ the frame of coordinates (the <I>passive</I> method).  They are <b>not</b>
+ for the <I>active</I> method, in which the solid is rotated into the mother
+ frame of coordinates.</P>
+<P>
+ Similarly the <tt>ComputeDimensions</tt> method is used to set the size of that copy.
+ <PRE>
+ 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>
+ The user must ensure that the type of the first argument of this method (in this
+ example <tt>G4Box &amp;</tt>) corresponds to the type of object the user give to
+ the logical volume of parameterised physical volume.</P>
+<P>
+ More advanced usage allows the user:
+ <UL>
+  <LI>to change the type of solid by creating a <tt>ComputeSolid</tt> method, or
+  <LI>to change the material of the volume by creating a <tt>ComputeMaterial</tt> method.
+    This method can also utilise information from a parent or other ancestor
+    volume (see the Nested Parameterisation below.)
+</UL>
+ for the parameterisation.<BR>
+ Example N07 shows a simple parameterisation by material. A more complex example
+ is provided in <TT>examples/extended/medical/DICOM</TT>, where a phantom grid
+ of cells is built using a parameterisation by material defined through a map.</P>
+<P>
+ <B>Note</B> - 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. <BR>
+ So the full power of parameterised volumes can be used only for "leaf"
+ volumes,  which contain no other volumes.</P>
+
+<P> </P>
+<b>Advanced parameterisations for 'nested' parameterised volumes </b>
+<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>
+In such a &quot; nested&quot; parameterisation , the user must provide a 
+<tt>ComputeMaterial</tt> method that utilises the new argument that represents 
+the touchable history of the parent volume:
+</p>
+  <pre>
+// 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>
+<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>
+  <pre>
+ 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->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->GetLogicalVolume(); 
+    currentLogVol->SetMaterial( material ); 
+    return material;
+ }
+</pre>
+<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>
+<b>Divisions of Volumes</b>
+<P>
+ Divisions in Geant4 are implemented as a specialized type of parameterised volumes.
+<br>
+They serve to divide a volume into identical copies along one of its axes,
+providing the possibility to define an <i>offset</i>, 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>
+ To divide a volume it will be necessary to provide:
+ <OL>
+  <LI>the axis of division, and</LI>
+  <LI>either
+      <UL>
+      <LI>the number of divisions (so that the width of each division will be automatically
+          calculated), or</LI>
+      <LI>the division width (so that the number of divisions will be automatically calculated
+          to fill as much of the mother as possible), or</LI>
+      <LI>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).</LI>
+      </UL></LI>
+ </OL></P>
+<P>
+ An <i>offset</i> 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>
+There are three constructors, corresponding to the three input possibilities described above:
+<UL>
+ <LI>Giving only the number of divisions:
+ <PRE>
+     G4PVDivision( const G4String&amp; pName,
+                         G4LogicalVolume* pCurrentLogical,
+                         G4LogicalVolume* pMotherLogical,
+                   const EAxis pAxis,
+                   const G4int nDivisions,
+                   const G4double offset )
+ </PRE></LI>
+ <LI>Giving only the division width:
+ <PRE>
+     G4PVDivision( const G4String&amp; pName,
+                         G4LogicalVolume* pCurrentLogical,
+                         G4LogicalVolume* pMotherLogical,
+                   const EAxis pAxis,
+                   const G4double width,
+                   const G4double offset )
+ </PRE></LI>
+ <LI>Giving the number of divisions and the division width:
+ <PRE>
+     G4PVDivision( const G4String&amp; pName,
+                         G4LogicalVolume* pCurrentLogical,
+                         G4LogicalVolume* pMotherLogical,
+                   const EAxis pAxis,
+                   const G4int nDivisions,
+                   const G4double width,
+                   const G4double offset )
+ </PRE></LI>
+</UL></P>
+<P>
+where:</P>
+<P>
+ <table border=1 cellpadding=8>
+ <tr>
+  <td><tt>pName</tt> <td>String identifier for the replicated volume
+ <tr>
+  <td><tt>pCurrentLogical</tt> <td>The associated Logical Volume
+ <tr>
+  <td><tt>pMotherLogical</tt> <td>The associated mother Logical Volume
+ <tr>
+  <td><tt>pAxis</tt> <td>The axis along which the division is applied
+ <tr>
+  <td><tt>nDivisions</tt> <td>The number of divisions
+ <tr>
+  <td><tt>width</tt> <td>The width of a single division along the axis
+ <tr>
+  <td><tt>offset</tt> <td>Possible offset associated to the mother along
+                          the axis of division
+ </table></P>
+<P>
+The parameterisation is calculated automatically using the values provided in input.
+Therefore the dimensions of the solid associated with <tt>pCurrentLogical</tt> will not be used,
+but recomputed through the <tt>G4VParameterisation::ComputeDimension()</tt> method.</P>
+<P>
+Since <tt>G4VPVParameterisation</tt> may have different <tt>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>
+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>
+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.<BR>
+It is also possible to place other volumes inside a volume where a division is placed.</P>
+<p>
+The list of volumes that currently support divisioning and the possible division axis
+are summarised below:</P>
+<P>
+ <table border=1 cellpadding=8>
+ <tr>
+  <td><tt>G4Box</tt> <td><tt>kXAxis</tt>, <tt>kYAxis</tt>, <tt>kZAxis</tt>
+ <tr>
+  <td><tt>G4Tubs</tt> <td><tt>kRho</tt>, <tt>kPhi</tt>, <tt>kZAxis</tt>
+ <tr>
+  <td><tt>G4Cons</tt> <td><tt>kRho</tt>, <tt>kPhi</tt>, <tt>kZAxis</tt>
+ <tr>
+  <td><tt>G4Trd</tt> <td><tt>kXAxis</tt>, <tt>kYAxis</tt>, <tt>kZAxis</tt>
+ <tr>
+  <td><tt>G4Para</tt> <td><tt>kXAxis</tt>, <tt>kYAxis</tt>, <tt>kZAxis</tt>
+ <tr>
+  <td><tt>G4Polycone</tt> <td><tt>kRho</tt>, <tt>kPhi</tt>, <tt>kZAxis</tt> (*)
+ <tr>
+  <td><tt>G4Polyhedra</tt> <td><tt>kRho</tt>, <tt>kPhi</tt>, <tt>kZAxis</tt> (**)
+ </table></P>
+<P>
+(*) - <tt>G4Polycone</tt>:
+ <UL>
+  <LI><tt>kZAxis</tt> - the number of divisions has to be the same as solid sections,
+     (i.e. <tt>numZPlanes-1</tt>), the width will <i>not</i> be taken into account.</LI>
+ </UL>
+(**) - <tt>G4Polyhedra</tt>:
+ <UL>
+  <LI><tt>kPhi</tt> - the number of divisions has to be the same as solid sides,
+     (i.e. <tt>numSides</tt>), the width will <i>not</i> be taken into account.</LI>
+  <LI><tt>kZAxis</tt> - the number of divisions has to be the same as solid sections,
+     (i.e. <tt>numZPlanes-1</tt>), the width will <i>not</i> be taken into account.</LI>
+ </UL></P>
+
+<P>
+In the case of division along <tt>kRho</tt> of <tt>G4Cons</tt>, <tt>G4Polycone</tt>,
+<tt>G4Polyhedra</tt>, if width is provided, it is taken as the width at the <tt>-Z</tt>
+radius; the width at other radii will be scaled to this one.<BR>
+
+Examples are given below in listings 4.1.4 and 4.1.5.</P>
+<P>
+ <center><table border=1 cellpadding=8>
+ <tr><td>
+ <PRE>
+ 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>
+ <tr>
+ <td align=center>
+ Source listing 4.1.5<BR>
+ An example of a box division along different axes, with or without offset.
+ </table></center></P>
+<P>
+<ul>
+<li><tt>divBox1</tt> is a division of a box along its <tt>X</tt> axis in 5 equal copies.
+    Each copy will have a dimension in meters of <tt>[0.2, 1., 1.]</tt>.</li>
+<li><tt>divBox2</tt> is a division of the same box along its <tt>X</tt> axis with a width of
+    <tt>0.1</tt> meters and an offset of <tt>0.5</tt> meters. As the mother dimension along
+    <tt>X</tt> of <tt>1</tt> meter (<tt>0.5*m</tt> of halflength), the division will be sized
+    in total <tt>1 - 0.45 = 0.55</tt> meters. Therefore, there's space for 5 copies,
+    the first extending from <tt>-0.05</tt> to <tt>0.05</tt> meters in the mother's frame and
+    the last from <tt>0.35</tt> to <tt>0.45</tt> meters.</li>
+<li><tt>divBox3</tt> is a division of the same box along its <tt>X</tt> axis in 3 equal copies of width
+    <tt>0.1</tt> meters and an offset of <tt>0.5</tt> meters. The first copy will extend from
+    <tt>0.</tt> to <tt>0.1</tt> meters in the mother's frame and the last from <tt>0.2</tt>
+    to <tt>0.3</tt> meters.</li>
+</ul></P>
+<P>
+ <center><table border=1 cellpadding=8>
+ <tr><td>
+ <PRE>
+  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>
+ <tr>
+ <td align=center>
+ Source listing 4.1.6<BR>
+ An example of division of a polycone.
+ </table></center></P>
+<P>
+<ul>
+<li><tt>divPconePhiW</tt> is a division of a polycone along its <tt>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>phi</tt> extension of 30 degrees.
+  They are rotated around the <tt>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.</li>
+<li><tt>divPconeZN</tt> is a division of the same polycone along its <tt>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.</li>
+</ul></p>
+
+<hr><a href="../../../../Authors/html/subjectsToAuthors.html">
+<i>About the authors</a></i> </P>
+
+</body>
+</html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomReflection.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomReflection.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomReflection.html	(revision 1208)
@@ -0,0 +1,170 @@
+<html>
+<head>
+<title>ADG: Geometry</title>
+</head>
+
+<!-- Changed by: Gabriele Cosmo, 18-Apr-2005 -->
+<!-- $Id: geomReflection.html,v 1.2 2006/06/09 13:57:14 gcosmo Exp $ -->
+<!-- $Name:  $ -->
+<body>
+<table WIDTH="100%"><TR>
+<td>
+<a href="../../../../Overview/html/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></a>
+<a href="geometry.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></a>
+<a href="geomAssembly.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></a>
+<a href="geomNav.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></a>
+</td>
+<td ALIGN="Right">
+<font SIZE="-1" COLOR="#238E23">
+<b>Geant4 User's Guide</b>
+<br>
+<b>For Application Developers</b>
+<br>
+<b>Geometry</b>
+</font>
+</td>
+</tr></table>
+<br><br>
+
+<a name="4.1.7">
+<h2>4.1.7 Reflecting Hierarchies of Volumes</h2></a>
+
+<p>
+Hierarchies of volumes based on <i>CSG</i> or <i>specific</i> solids can be 
+reflected by means of the <tt>G4ReflectionFactory</tt> class and 
+<tt>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.<br>
+
+The factory is a singleton object which provides the following methods:
+<pre>
+   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>
+ 
+The method <tt>Place()</tt> used for placements, evaluates the passed
+transformation.  In case the transformation contains a reflection, the
+factory will act as follows:
+ <ol>
+ <li>Performs the transformation decomposition.</li>
+ <li>Creates a new reflected solid and logical volume, or retrieves them
+     from a map if the reflected object was already created.</li>
+ <li>Transforms the daughters (if any) and place them in the given mother.</li>
+ </ol>
+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>surfCheck</tt> flag.
+<br>
+The method <tt>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.
+<br>
+The method <tt>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>
+<p>
+<b>Notes</b>
+<ul>
+<li>In order to reflect hierarchies containing divided volumes,
+    it is necessary to explicitely instantiate a concrete <i>division</i>
+    factory -before- applying the actual reflection: 
+    (i.e. - <TT>G4PVDivisionFactory::GetInstance();</TT>).</li>
+<li>Reflection of generic parameterised volumes is not possible yet.</li>
+</ul>
+</p>
+ 
+<p>
+<center>
+ <table BORDER=1 CELLPADDING=8>
+ <tr><td>
+ <pre>
+ #include "G4ReflectionFactory.hh"
+ 
+ // Calor placement with rotation
+ 
+ G4double calThickness = 100*cm;
+ G4double Xpos = calThickness*1.5;
+ G4RotationMatrix* rotD3 = new G4RotationMatrix();
+ rotD3->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()
+          ->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()
+          ->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>
+ </tr></td>
+
+ <tr>
+ <td ALIGN=center>
+   Source listing 4.1.8<br>
+   An example of usage of the <tt>G4ReflectionFactory</tt> class.
+ </td>
+ </tr>
+ </table>
+</center>
+
+<hr><a href="../../../../Authors/html/subjectsToAuthors.html">
+<i>About the authors</a></i> </P>
+
+</body>
+</html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomSolids.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomSolids.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomSolids.html	(revision 1208)
@@ -0,0 +1,1682 @@
+<html>
+<head>
+<title>ADG: Geometry</title>
+<script language="JavaScript">
+function remote_win(urlnum)
+{
+   var url = "geometry.src/pic" + urlnum + ".html";
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script>
+</head>
+
+<!-- Changed by: Gabriele Cosmo, 18-Apr-2005 -->
+<!-- $Id: geomSolids.html,v 1.8 2006/11/23 16:36:33 gcosmo Exp $ -->
+<!-- $Name:  $ -->
+<body>
+<table WIDTH="100%"><TR>
+<td>
+<a href="../../../../Overview/html/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></a>
+<a href="geometry.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></a>
+<a href="geomIntro.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></a>
+<a href="geomLogical.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></a>
+</td>
+<td ALIGN="Right">
+<font SIZE="-1" COLOR="#238E23">
+<b>Geant4 User's Guide</b>
+<br>
+<b>For Application Developers</b>
+<br>
+<b>Geometry</b>
+</font>
+</td>
+</tr></table>
+<br><br>
+
+<a name="4.1.2">
+<h2>4.1.2 Solids</h2></a>
+
+<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, thus allowing the exchange of models with CAD systems.
+<br>
+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:
+<pre>
+   G4double GetCubicVolume()
+   G4double GetSurfaceArea()
+</pre>
+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
+<pre>
+   G4ThreeVector GetPointOnSurface() const
+</pre>
+which returns the generated point in local coordinates relative to the solid. 
+</p>
+
+<a name="4.1.2.1">
+<H4>4.1.2.1 Constructed Solid Geometry (CSG) Solids</H4></a>
+
+ 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>
+<HR width=40% align=center noshade>
+</P>
+ To create a <b>box</b> one can use the constructor:
+
+ <table border="0" width="100%" id="table1">
+ <tr>
+ <td width="480" valign="top">
+     <font face="Courier">
+     G4Box(const G4String&amp; pName,<br>
+     &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;
+     G4double&nbsp; pY,<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     G4double&nbsp; pZ)
+     </font>
+     <P>
+       by giving the box a name and its half-lengths along the
+       X, Y and Z axis:
+     </P>
+     <P>
+     <table border=1 cellpadding=8>
+       <tr>
+       <td><tt>pX</tt><td>half length in X
+       <td><tt>pY</tt><td>half length in Y
+       <td><tt>pZ</tt><td>half length in Z
+       </tr>
+     </table>
+     </P>
+     <P>
+       This will create a box that extends from <tt>-pX</tt> to
+       <tt>+pX</tt> in X, from <tt>-pY</tt> to <tt>+pY</tt> in Y,
+       and from <tt>-pZ</tt> to <tt>+pZ</tt> in Z.
+     </P>
+     <P>&nbsp;</P><P>&nbsp;</P>
+     <P>
+       <div align="right"><font size=-1><I>
+       <U>In the picture</U>: pX = 30, pY = 40, pZ = 60
+       </I></font></div>
+     </P>
+     <P>
+       For example to create a box that is 2 by 6 by 10 centimeters
+       in full length, and called <tt>BoxA</tt> one should use the
+       following code:
+     </P>
+ </td>
+ <td>
+     <a href="javascript:remote_win(1)"
+        onMouseOver="window.status='Get alive picture...'; return true">
+        <img src="geometry.src/aBox.jpg" border=0></a>
+ </td>
+ </tr>
+</table>
+
+ <PRE>
+   G4Box* aBox = new G4Box("BoxA", 1.0*cm, 3.0*cm, 5.0*cm);
+ </PRE>
+</P>
+<P>
+<HR width=40% align=center noshade>
+</P>
+<P>
+ <table border="0" width="100%" id="table2">
+ <tr>
+ <td width="480" valign="top">
+     Similarly to create a <b>cylindrical section</b> or <b>tube</b>,
+     one would use the constructor:
+     <P>
+     <font face="Courier">
+     G4Tubs(const G4String&amp; pName,<br>
+     &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;
+     G4double&nbsp; pRMax,<br>
+     &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;
+     G4double&nbsp; pSPhi,<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     G4double&nbsp; pDPhi)
+     </font>
+     <P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P>
+     <P>
+       <div align="right"><font size=-1><I>
+       <U>In the picture</U>: pRMin = 10, pRMax = 15, pDz = 20<br>
+                              pSPhi = 0*Degree, pDPhi = 90*Degree
+       </I></font></div>
+     </P>
+ </td>
+ <td>
+     <a href="javascript:remote_win(2)"
+        onMouseOver="window.status='Get alive picture...'; return true">
+        <img src="geometry.src/aTubs.jpg" border=0 height=380></a>
+ </td>
+ </tr>
+</table>
+
+giving its name <tt>pName</tt> and its parameters which are:</P>
+<p>
+ <table border=1 cellpadding=8>
+ <tr>
+  <td><tt>pRMin</tt> <td>Inner radius
+  <td><tt>pRMax</tt> <td>Outer radius
+ <tr>
+  <td><tt>pDz</tt> <td>  half length in z
+  <td><tt>pSPhi</tt> <td>the starting phi angle in radians
+ <tr>
+  <td><tt>pDPhi</tt> <td>the angle of the segment in radians
+  <td>&nbsp;<td>&n&nbsp;
+ </table>
+</P>
+<P>
+<HR width=40% align=center noshade>
+</P>
+<P>
+<table border="0" width="100%" id="table3">
+ <tr>
+ <td width="480" valign="top">
+     Similarly to create a <b>cone</b>, or <b>conical section</b>,
+     one would use the constructor:
+     <P>
+     <font face="Courier">
+     G4Cons(const G4String&amp; pName,<br>
+     &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;
+     G4double&nbsp; pRmax1,<br>
+     &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;
+     G4double&nbsp; pRmax2,<br>
+     &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;
+     G4double&nbsp; pSPhi,<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     G4double&nbsp; pDPhi)
+     </font>
+     <P>
+       <div align="right"><font size=-1><I>
+       <U>In the picture</U>: pRmin1 = 5, pRmax1 = 10,<br>
+                              pRmin2 = 20, pRmax2 = 25<br>
+		              pDz = 40, pSPhi = 0, pDPhi = 4/3*Pi
+       </I></font></div>
+     </P>
+ </td>
+ <td><a href="javascript:remote_win(3)"
+        onMouseOver="window.status='Get alive picture...'; return true">
+        <img src="geometry.src/aCons.jpg" border="0"></a>
+ </td>
+ </tr>
+</table>
+
+giving its name <tt>pName</tt>, and its parameters which are:</P>
+<P>
+<table border=1 cellpadding=8>
+ <tr>
+  <TD><tt>pRmin1 <td>inside radius at  <tt>-pDz</tt> 
+  <TD><tt>pRmax1 <td>outside radius at <tt>-pDz</tt>  
+ <tr>
+  <TD><tt>pRmin2 <td>inside radius at  <tt>+pDz</tt> 
+  <TD><tt>pRmax2 <td>outside radius at <tt>+pDz</tt>  
+ <tr>
+  <TD><tt>pDz  </tt> <td> half length in z 
+  <TD><tt>pSPhi</tt> <td> starting angle of the segment in radians 
+ <tr>
+  <TD><tt>pDPhi</tt> <td> the angle of the segment in radians
+  <td>&nbsp;<td>&nbsp;
+</table>
+</P>
+<P>
+<HR width=40% align=center noshade>
+</P>
+<P>
+<table border="0" width="100%" id="table4">
+ <tr>
+ <td width="480" valign="top">
+     A <b>parallelepiped</b> is constructed using:
+     <P>
+     <font face="Courier">
+     G4Para(const G4String&amp; pName,<br>
+     &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;
+     G4double&nbsp; dy,<br>
+     &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;
+     G4double&nbsp; alpha,<br>
+     &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;
+     G4double&nbsp; phi)
+     </font>
+     <P>
+       <div align="right"><font size=-1><I>
+       <U>In the picture</U>: dx = 30, dy = 40, dz = 60<br>
+                              alpha = 10*Degree, theta = 20*Degree,<br>
+                              phi = 5*Degree
+       </I></font></div>
+     </P>
+ </td>
+ <td><a href="javascript:remote_win(4)"
+        onMouseOver="window.status='Get alive picture...'; return true">
+        <img src="geometry.src/aPara.jpg" border="0"></a>
+ </td>
+ </tr>
+</table>
+
+giving its name <tt>pName</tt> and its parameters which are:</P>
+<P>
+<table border=1 cellpadding=8>
+ <tr>
+  <TD><tt>dx,dy,dz</tt>  <td>     Half-length in x,y,z
+ <tr>
+  <TD valign=top><tt>alpha</tt> <td>Angle formed by the y axis and by the
+                 plane joining the centre of the faces <i>parallel</i> to
+                 the z-x plane at -dy and +dy
+ <tr>
+  <TD valign=top><tt>theta</tt> <td>Polar angle of the line joining the
+                 centres of the faces at -dz and +dz in z
+ <tr>
+  <TD valign=top><tt>phi</tt> <td>Azimuthal angle of the line joining the
+                 centres of the faces at -dz and +dz in z
+ </table>
+</P>
+<P>
+<HR width=40% align=center noshade>
+</P>
+<P>
+<table border="0" width="100%" id="table5">
+ <tr>
+ <td width="480" valign="top">
+     To construct a <b>trapezoid</b> use:
+     <P>
+     <font face="Courier">
+     G4Trd(const G4String&amp; pName,<br>
+     &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;
+     G4double&nbsp; dx2,<br>
+     &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;
+     G4double&nbsp; dy2,<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     G4double&nbsp; dz)
+     </font>
+     <P>&nbsp;</P><P>&nbsp;</P>
+     <P>
+        <div align="right"><font size=-1><I>
+        <U>In the picture</U>: dx1 = 30, dx2 = 10<br>
+                               dy1 = 40, dy2 = 15<br>
+                               dz = 60
+        </I></font></div>
+     </P>
+ </td>
+ <td><a href="javascript:remote_win(5)"
+        onMouseOver="window.status='Get alive picture...'; return true">
+        <img src="geometry.src/aTrd.jpg" border="0"></a>
+ </td>
+ </tr>
+</table>
+
+to obtain a solid with name <tt>pName</tt> and parameters</P>
+<P>
+ <table border=1 cellpadding=8>
+ <tr>
+  <TD><tt>dx1</tt> <td>Half-length along x at the surface positioned at <tt>-dz</tt> 
+ <tr>
+  <TD><tt>dx2</tt> <td>Half-length along x at the surface positioned at <tt>+dz</tt> 
+ <tr>
+  <TD><tt>dy1</tt> <td>Half-length along y at the surface positioned at <tt>-dz</tt> 
+ <tr>
+  <TD><tt>dy2</tt> <td>Half-length along y at the surface positioned at <tt>+dz</tt> 
+ <tr>
+  <TD><tt>dz</tt> <td>Half-length along z axis
+ </table>
+</P>
+<P>
+<HR width=40% align=center noshade>
+</P>
+<P>
+<table border="0" width="100%" id="table6">
+ <tr>
+ <td width="480" valign="top">
+     To build a <b>generic trapezoid</b>, 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>
+     <font face="Courier">
+     G4Trap(const G4String&amp; pName,<br>
+     &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;
+     G4double&nbsp;&nbsp; pY,<br>
+     &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;
+     G4double&nbsp;&nbsp; pLTX)
+     <P></P>
+     G4Trap(const G4String&amp; pName,<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     G4double&nbsp; pDz,
+     G4double&nbsp; pTheta,<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     G4double&nbsp; pPhi,
+     G4double&nbsp; pDy1,<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     G4double&nbsp; pDx1,
+     G4double&nbsp; pDx2,<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     G4double&nbsp; pAlp1,
+     G4double&nbsp; pDy2,<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     G4double&nbsp; pDx3,
+     G4double&nbsp; pDx4,<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     G4double&nbsp; pAlp2)
+     </font>
+     <P>
+        <div align="right"><font size=-1><I>
+        <U>In the picture</U>: pDx1 = 30, pDx2 = 40, pDy1 = 40<br>
+                               pDx3 = 10, pDx4 = 14, pDy2 = 16<br>
+                               pDz = 60, pTheta = 20*Degree<br>
+                               pDphi = 5*Degree, pAlph1 = pAlph2 = 10*Degree
+        </I></font></div>
+     </P>
+ </td>
+ <td><a href="javascript:remote_win(6)"
+        onMouseOver="window.status='Get alive picture...'; return true">
+        <img src="geometry.src/aTrap.jpg" border="0"></a>
+ </td>
+ </tr>
+</table>
+
+to obtain a Right Angular Wedge with name <tt>pName</tt> and parameters:</P>
+<p>
+ <table border=1 cellpadding=8>
+ <tr>
+  <TD><tt>pZ</tt> <td>Length along z
+ <tr>
+  <TD><tt>pY</tt> <td>Length along y
+ <tr>
+  <TD><tt>pX</tt> <td>Length along x at the wider side
+ <tr>
+  <TD><tt>pLTX</tt> <td>Length along x at the narrower side (<tt>plTX<=pX</tt>)
+ </table>
+</P>
+<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>
+<P>
+ <B>Note on <tt>pAlph1/2</tt></B>:
+ the two angles have to be the same due to the planarity condition.
+</P>
+<P>
+<HR width=40% align=center noshade>
+</P>
+<P>
+<table border="0" width="100%" id="table7">
+ <tr>
+ <td width="480" valign="top">
+     To build a <b>sphere</b>, or a <b>spherical shell section</b>, use:
+     <P>
+     <font face="Courier">
+     G4Sphere(const G4String&amp; pName,<br>
+     &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;
+     G4double&nbsp; pRmax,<br>
+     &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;
+     G4double&nbsp; pDPhi,<br>
+     &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;
+     G4double&nbsp; pDTheta )
+     </font>
+     <P>
+        <div align="right"><font size=-1><I>
+        <U>In the picture</U>: pRmin = 100, pRmax = 120<br>
+                               pSPhi = 0*Degree, pDPhi = 180*Degree<br>
+                               pSTheta = 0 Degree, pDTheta = 180*Degree
+        </I></font>
+     </P>
+ </td>
+ <td><a href="javascript:remote_win(7)"
+        onMouseOver="window.status='Get alive picture...'; return true">
+        <img src="geometry.src/aSphere.jpg" border="0"></a>
+ </td>
+ </tr>
+</table>
+
+to obtain a solid with name <tt>pName</tt> and parameters:</P>
+<p>
+ <table border=1 cellpadding=8>
+ <tr>
+  <TD><tt>pRmin</tt> <td>Inner radius
+ <tr>
+  <TD><tt>pRmax</tt> <td>Outer radius
+ <tr>
+  <TD><tt>pSPhi</tt> <td>Starting Phi angle of the segment in radians
+ <tr>
+  <TD><tt>pDPhi</tt> <td>Delta Phi angle of the segment in radians
+ <tr>
+  <TD><tt>pSTheta</tt> <td>Starting Theta angle of the segment in radians
+ <tr>
+  <TD><tt>pDTheta</tt> <td>Delta Theta angle of the segment in radians
+ </table>
+</p>
+<P>
+<HR width=40% align=center noshade>
+</P>
+<P>
+<table border="0" width="100%" id="table29">
+ <tr>
+ <td width="480" valign="top">
+     To build a <b>full solid sphere</b> use:
+     <P>
+     <font face="Courier">
+     G4Orb(const G4String&amp; pName, <br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     G4double pRmax)
+     </font>
+     <P>
+        <div align="right"><font size=-1><I>
+        <U>In the picture</U>: pRmax = 100
+        </I></font></div>
+     </P>
+     <P>
+     The Orb can be obtained from a Sphere with:<br>
+     <tt>pRmin</tt> = 0, <tt>pSPhi</tt> = 0, <tt>pDPhi</tt> = 2*Pi,
+     <tt>pSTheta</tt> = 0, <tt>pDTheta</tt> = Pi.
+     </p>
+
+     <table border=1 cellpadding=8 id="table30">
+     <tr>
+         <TD><tt>pRmax</tt> <td>Outer radius
+     </tr>
+     </table>
+ </td>
+ <td><a href="javascript:remote_win(8)"
+        onMouseOver="window.status='Get alive picture...'; return true">
+        <img src="geometry.src/aOrb.jpg" border="0"></a>
+
+ </td>
+ </tr>
+</table>
+</P>
+<P>
+<HR width=40% align=center noshade>
+</P>
+<P>
+<table border="0" width="100%" id="table8">
+ <tr>
+ <td width="480" valign="top">
+     To  build a <b>torus</b> use:
+     <P>
+     <font face="Courier">
+     G4Torus(const G4String&amp; pName,<br>
+     &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;
+     G4double&nbsp; pRmax,<br>
+     &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;
+     G4double&nbsp; pSPhi,<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     G4double&nbsp; pDPhi)
+     </font>
+     <P>
+        <div align="right"><font size=-1><I>
+        <U>In the picture</U>: pRmin = 40, pRmax = 60, pRtor = 200<br>
+                               pSPhi = 0, pDPhi = 90*Degree
+        </I></font></div>
+     </P>
+ </td>
+ <td><a href="javascript:remote_win(9)"
+        onMouseOver="window.status='Get alive picture...'; return true">
+        <img src="geometry.src/aTorus.jpg" border="0"></a>
+ </td>
+ </tr>
+</table>
+
+to obtain a solid with name <tt>pName</tt> and parameters:</P>
+<p>
+ <table border=1 cellpadding=8>
+ <tr>
+  <TD><tt>pRmin</tt> <td>Inside radius
+ <tr>
+  <TD><tt>pRmax</tt> <td>Outside radius
+ <tr>
+  <TD><tt>pRtor</tt> <td>Swept radius of torus
+ <tr>
+  <TD><tt>pSPhi</tt> <td>Starting Phi angle in radians
+      (<tt>fSPhi+fDPhi<=2PI</tt>, <tt>fSPhi>-2PI</tt>)
+ <tr>
+  <TD><tt>pDPhi</tt> <td>Delta angle of the segment in radians
+ </table>
+</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>
+
+<P></P>
+
+<b>Specific CSG Solids</b>
+<P>
+ <b>Polycons</b> (PCON) are implemented in Geant4 through the
+ <tt>G4Polycon</tt> class:
+</P>
+<table border="0" width="100%" id="table9">
+ <tr>
+ <td width="480" valign="top">
+     <font face="Courier">
+     G4Polycone(const G4String&amp; pName,<br>
+     &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;
+     G4double&nbsp; phiTotal,<br>
+     &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;
+     const G4double&nbsp; zPlane[],<br>
+     &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;
+     const G4double&nbsp; rOuter[])<br>
+     <br>
+     G4Polycone(const G4String&amp; pName, <br>
+     &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;
+     G4double&nbsp; phiTotal,<br>
+     &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;
+     const G4double&nbsp; r[],<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     const G4double&nbsp; z[])
+     </font>
+     <P>
+        <div align="right"><font size=-1><I>
+        <U>In the picture</U>: 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 }
+        </I></font></div>
+     </P>
+ </td>
+ <td><a href="javascript:remote_win(10)"
+        onMouseOver="window.status='Get alive picture...'; return true">
+        <img src="geometry.src/aBREPSolidPCone.jpg" border="0"></a>
+ </td>
+ </tr>
+</table>
+
+where:
+<p>
+ <table border=1 cellpadding=8>
+ <tr>
+  <TD><tt>phiStart</tt> <td>Initial Phi starting angle
+ <tr>
+  <TD><tt>phiTotal</tt> <td>Total Phi angle
+ <tr>
+  <TD><tt>numZPlanes</tt> <td>Number of z planes
+ <tr>
+  <TD><tt>numRZ</tt> <td>Number of corners in r,z space
+ <tr>
+  <TD><tt>zPlane</tt> <td>Position of z planes
+ <tr>
+  <TD><tt>rInner</tt> <td>Tangent distance to inner surface
+ <tr>
+  <TD><tt>rOuter</tt> <td>Tangent distance to outer surface
+ <tr>
+  <TD><tt>r</tt> <td>r coordinate of corners
+ <tr>
+  <TD><tt>z</tt> <td>z coordinate of corners
+ </table>
+</P>
+<P>
+<HR width=40% align=center noshade>
+</P>
+<P>
+ <b>Polyhedra</b> (PGON) are implemented through <tt>G4Polyhedra</tt>:
+</P>
+<table border="0" width="100%" id="table10">
+ <tr>
+ <td width="480" valign="top">
+     <font face="Courier">
+     G4Polyhedra(const G4String&amp; pName,<br>
+     &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;
+     G4double&nbsp;&nbsp; phiTotal,<br>
+     &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;
+     G4int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; numZPlanes,<br>
+     &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;
+     const G4double&nbsp; rInner[],<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     const G4double&nbsp; rOuter[]&nbsp;)<br>
+     <br>
+     G4Polyhedra(const G4String&amp; pName,<br>
+     &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;
+     G4double&nbsp;&nbsp; phiTotal,<br>
+     &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;
+     G4int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; numRZ,<br>
+     &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;
+     const G4double&nbsp;&nbsp; z[])
+     </font>
+     <P>
+        <div align="right"><font size=-1><I>
+        <U>In the picture</U>: 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 }
+        </I></font></div>
+     </P>
+ </td>
+ <td><a href="javascript:remote_win(11)"
+        onMouseOver="window.status='Get alive picture...'; return true">
+        <img src="geometry.src/aBREPSolidPolyhedra.jpg" border="0"></a>
+ </td>
+ </tr>
+</table>
+
+where:
+<p>
+ <table border=1 cellpadding=8>
+ <tr>
+  <TD><tt>phiStart</tt> <td>Initial Phi starting angle
+ <tr>
+  <TD><tt>phiTotal</tt> <td>Total Phi angle
+ <tr>
+  <TD><tt>numSide</tt> <td>Number of sides
+ <tr>
+  <TD><tt>numZPlanes</tt> <td>Number of z planes
+ <tr>
+  <TD><tt>numRZ</tt> <td>Number of corners in r,z space
+ <tr>
+  <TD><tt>zPlane</tt> <td>Position of z planes
+ <tr>
+  <TD><tt>rInner</tt> <td>Tangent distance to inner surface
+ <tr>
+  <TD><tt>rOuter</tt> <td>Tangent distance to outer surface
+ <tr>
+  <TD><tt>r</tt> <td>r coordinate of corners
+ <tr>
+  <TD><tt>z</tt> <td>z coordinate of corners
+ </table>
+</P>
+<P>
+<HR width=40% align=center noshade>
+</P>
+<P>
+
+<table border="0" width="100%" id="table11">
+ <tr>
+ <td width="480" valign="top">
+ A <b>tube with an elliptical cross section</b> (ELTU) can be defined
+ as follows:
+     <P>
+     <font face="Courier">
+     G4EllipticalTube(const G4String&amp; pName,<br>
+     &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;
+     G4double&nbsp; Dy,<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     G4double&nbsp; Dz)
+     </font>
+     <P>
+     The equation of the surface in x/y is
+     <tt>1.0 = (x/dx)**2 + (y/dy)**2</tt>
+     </P>
+     <P>
+     <table border=1 cellpadding=8 width="455" id="table23">
+       <tr>
+       <td><tt>Dx</tt><td>Half length X
+       <td><tt>Dy</tt><td>Half length Y
+       <td><tt>Dz</tt><td>Half length Z&nbsp;
+     </table></P>
+     <P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P>
+     <div align="right"><font size=-1><I>
+     <U>In the picture</U>: Dx = 5, Dy = 10, Dz = 20
+     </I></font></div>
+ </td>
+ <td><a href="javascript:remote_win(12)"
+        onMouseOver="window.status='Get alive picture...'; return true">
+        <img src="geometry.src/aEllipticalTube.jpg" border="0"></a>
+ </td>
+ </tr>
+</table>
+</P>
+<P>
+<HR width=40% align=center noshade>
+</P>
+<table border="0" width="100%" id="table17">
+ <tr>
+ <td width="480" valign="top">
+     The general <b>ellipsoid</b> with possible cut in <tt>Z</tt> can be
+     defined as follows:
+     <P>
+     <font face="Courier">
+     G4Ellipsoid(const G4String&amp; pName,<br>
+     &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;
+     G4double&nbsp; pySemiAxis,<br>
+     &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;
+     G4double&nbsp; pzBottomCut=0,<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     G4double&nbsp; pzTopCut=0)
+     </font>
+     <P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P>
+     <div align="right"><font size=-1><I>
+     <U>In the picture</U>: pxSemiAxis = 10, pySemiAxis = 20, pzSemiAxis = 50<br>
+                            pzBottomCut = -10, pzTopCut = 40
+     </I></font></div>
+ </td>
+ <td><a href="javascript:remote_win(13)"
+        onMouseOver="window.status='Get alive picture...'; return true">
+        <img src="geometry.src/aEllipsoid.jpg" border="0"></a>
+ </td>
+ </tr>
+</table>
+
+A general (or triaxial) ellipsoid is a quadratic surface which is given in 
+Cartesian coordinates by:
+<p>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+<tt>1.0 = (x/pxSemiAxis)**2 + (y/pySemiAxis)**2&nbsp; +&nbsp; (z/pzSemiAxis)**2</tt>
+</p>
+where:
+<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>
+<P>
+<HR width=40% align=center noshade>
+</P>
+<P>
+A <b>cone with an elliptical cross section</b> can be defined as follows:
+<P>
+<table border="0" width="100%" id="table24">
+ <tr>
+ <td width="480" valign="top">
+     <font face="Courier">
+     G4EllipticalCone(const G4String&amp; pName,<br>
+     &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;
+     G4double pySemiAxis,<br>
+     &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;
+     G4double pzTopCut)
+     </font>
+     <P>&nbsp;</P>
+     <div align="right"><font size=-1><I>
+     <U>In the picture</U>: pxSemiAxis = 30, pySemiAxis = 60<br>
+                            zMax = 50, pzTopCut = 25
+     </I></font></div>
+ </td>
+ <td><a href="javascript:remote_win(14)"
+        onMouseOver="window.status='Get alive picture...'; return true">
+        <img src="geometry.src/aEllipticalCone.jpg" border="0"></a>
+ </td>
+ </tr>
+</table>
+</P>
+
+where:
+<P>
+<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>
+<P>
+ An elliptical cone of height <tt>zMax</tt>, semiaxis <tt>pxSemiAxis</tt>,
+ and semiaxis <tt>pySemiAxis</tt> is given by the parametric equations:
+ <P>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ <tt>x = pxSemiAxis * ( zMax - u ) / u&nbsp; * Cos(v)</tt><br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ <tt>y = pySemiAxis * ( zMax - u ) / u * Sin(v)</tt><br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ <tt>z = u</tt>
+ </P>
+<P>
+ Where <tt>v</tt> is between <tt>0</tt> and <tt>2*Pi</tt>,
+ and <tt>u</tt> between <tt>0</tt> and <tt>h</tt> respectively.
+</P>
+<P>
+<HR width=40% align=center noshade>
+</P>
+<table border="0" width="100%" id="table12">
+ <tr>
+ <td width="480" valign="top">
+     A <b>tube with a hyperbolic profile</b> (HYPE) can be defined as follows:
+    <P>
+    <font face="Courier">
+    G4Hype(const G4String&amp; pName,<br>
+    &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;
+    G4double&nbsp; outerRadius,<br>
+    &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;
+    G4double&nbsp; outerStereo,<br>
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+    G4double&nbsp; halfLenZ)
+    </font>
+    <div align="right"><font size=-1><I>
+    <U>In the picture</U>: innerStereo = 0.7, outerStereo = 0.7<br>
+                           halfLenZ = 50<br>
+                           innerRadius = 20, outerRadius = 30
+    </I></font></div>
+ </td>
+ <td><a href="javascript:remote_win(15)"
+        onMouseOver="window.status='Get alive picture...'; return true">
+        <img src="geometry.src/aHyperboloid.jpg" border="0"></a>
+ </td>
+ </tr>
+</table>
+<P>
+ <tt>G4Hype</tt> is shaped with curved sides parallel to the <tt>z</tt>-axis,
+ has a specified half-length along the <tt>z</tt> axis about which it is
+ centred, and a given minimum and maximum radius.<BR>
+ A minimum radius of <tt>0</tt> defines a filled Hype (with hyperbolic
+ inner surface), i.e. inner radius = 0 AND inner stereo angle = 0.<BR>
+ The inner and outer hyperbolic surfaces can have different
+ stereo angles. A stereo angle of <tt>0</tt> gives a cylindrical surface:</P>
+<P>
+ <table border=1 cellpadding=8>
+ <tr>
+  <td><tt>innerRadius</tt><td>Inner radius
+ <tr>
+  <td><tt>outerRadius</tt><td>Outer radius
+ <tr>
+  <td><tt>innerStereo</tt><td>Inner stereo angle in radians
+ <tr>
+  <td><tt>outerStereo</tt><td>Outer stereo angle in radians
+ <tr>
+  <td><tt>halfLenZ</tt><td>Half length in Z
+ </table>
+</P>
+<P>
+<HR width=40% align=center noshade>
+</P>
+<P>
+<table border="0" width="100%" id="table27">
+ <tr>
+ <td width="480" valign="top">
+     A <b>tetrahedra</b> solid can be defined as follows:
+     <P>
+     <font face="Courier">
+     G4Tet(const G4String&amp; pName,<br>
+     &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;
+     G4ThreeVector p2,<br>
+     &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;
+     G4ThreeVector p4,<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     G4bool *degeneracyFlag=0)
+    </font>
+    <div align="right"><font size=-1><I>
+    <U>In the picture</U>: 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) }
+    </I></font></div>
+ </td>
+ <td><a href="javascript:remote_win(16)"
+        onMouseOver="window.status='Get alive picture...'; return true">
+        <img src="geometry.src/aTet.jpg" border="0"></a>
+ </td>
+ </tr>
+</table>
+
+The solid is defined by 4 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>
+</P>
+<P>
+<HR width=40% align=center noshade>
+</P>
+<P>
+<table border="0" width="100%" id="table13">
+ <tr>
+ <td width="480" valign="top">
+     A <b>box twisted</b> along one axis can be defined as follows:
+     <P>
+     <font face="Courier">
+     G4TwistedBox(const G4String&amp; pName,<br>
+     &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;
+     G4double&nbsp; pDx,<br>
+     &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;
+     G4double&nbsp; pDz)
+     </font>
+     <P>&nbsp;</P><P>&nbsp;</P>
+     <div align="right"><font size=-1><I>
+     <U>In the picture</U>: twistedangle = 30*Degree<br>
+                            pDx = 30, pDy =40, pDz = 60
+     </I></font></div>
+ </td>
+ <td><a href="javascript:remote_win(17)"
+        onMouseOver="window.status='Get alive picture...'; return true">
+        <img src="geometry.src/aTwistedBox.jpg" border="0"></a>
+ </td>
+ </tr>
+</table>
+<P>
+ <tt>G4TwistedBox</tt> is a box twisted along the z-axis.
+ The twist angle cannot be greater than 90 degrees:</P>
+<P>
+ <table border=1 cellpadding=8>
+ <tr>
+  <td><tt>twistedangle</tt><td>Twist angle 
+ <tr>
+  <td><tt>pDx</tt><td>Half x length
+ <tr>
+  <td><tt>pDy</tt><td>Half y length
+ <tr>
+  <td><tt>pDz</tt><td>Half z length
+ </table>
+</P>
+<P>
+<HR width=40% align=center noshade>
+</P>
+<p>
+ A <b>trapezoid twisted</b> along one axis can be defined as follows:
+<p>
+<table border="0" width="100%" id="table14">
+ <tr>
+ <td width="480" valign="top">
+     <font face="Courier">
+     G4TwistedTrap(const G4String&amp; pName,<br>
+     &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;
+     G4double&nbsp; pDxx1, G4double&nbsp; pDxx2,<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     G4double&nbsp; pDy, G4double&nbsp; pDz)<br>
+     <br>
+     G4TwistedTrap(const G4String&amp; pName,<br>
+     &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;
+     G4double&nbsp; pDz,<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     G4double&nbsp; pTheta, G4double&nbsp; pPhi,<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     G4double&nbsp; pDy1, G4double&nbsp; pDx1,<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     G4double&nbsp; pDx2, G4double&nbsp; pDy2,<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     G4double&nbsp; pDx3, G4double&nbsp; pDx4,<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     G4double&nbsp; pAlph)
+     </font>
+     <div align="right"><font size=-1><I>
+     <U>In the picture</U>: 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, twistedangle = 30*Degree
+     </I></font></div>
+ </td>
+ <td><a href="javascript:remote_win(18)"
+        onMouseOver="window.status='Get alive picture...'; return true">
+        <img src="geometry.src/aTwistedTrap.jpg" border="0"></a>
+ </td>
+ </tr>
+</table>
+<P>
+ The first constructor of <tt>G4TwistedTrap</tt> produces a regular trapezoid 
+ twisted along the <tt>z</tt>-axis, where the caps of the trapezoid are of the
+ same shape and size.<br>
+ The second constructor produces a generic trapezoid with
+ polar, azimuthal and tilt angles.<br>
+ The twist angle cannot be greater than 90 degrees:
+</P>
+<P>
+ <table border=1 cellpadding=8>
+ <tr>
+  <td><tt>twistedangle</tt><td>Twisted angle
+ <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>pAlph</tt><td>Angle with respect to the y axis from the centre of the side
+ </table>
+</P>
+<P>
+<HR width=40% align=center noshade>
+</P>
+<p>
+<table border="0" width="100%" id="table15">
+ <tr>
+ <td width="480" valign="top">
+     A <b>twisted trapezoid</b> with the <tt>x</tt> and </tt>y</tt> dimensions
+     <b>varying along <tt>z</tt></b> can be defined as follows:
+     <P>
+     <font face="Courier">
+     G4TwistedTrd(const G4String&amp; pName,<br>
+     &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;
+     G4double&nbsp; pDx2,<br>
+     &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;
+     G4double&nbsp; pDy2,<br>
+     &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;
+     G4double&nbsp; twistedangle)
+     </font>
+     <div align="right"><font size=-1><I>
+     <U>In the picture</U>: dx1 = 30, dx2 = 10<br>
+                            dy1 = 40, dy2 = 15<br>
+                            dz = 60<br>
+                            twistedangle = 30*Degree
+     </I></font></div>
+ </td>
+ <td><a href="javascript:remote_win(19)"
+        onMouseOver="window.status='Get alive picture...'; return true">
+        <img src="geometry.src/aTwistedTrd.jpg" border="0"></a>
+ </td>
+ </tr>
+</table>
+</p>
+where:
+<p>
+ <table border=1 cellpadding=8>
+ <tr>
+  <td><tt>pDx1</tt><td>Half x length at the surface positioned at -dz
+ <tr>
+  <td><tt>pDx2</tt><td>Half x length at the surface positioned at +dz
+ <tr>
+  <td><tt>pDy1</tt><td>Half y length at the surface positioned at -dz
+ <tr>
+  <td><tt>pDy2</tt><td>Half y length at the surface positioned at +dz
+ <tr>
+  <td><tt>pDz</tt><td>Half z length
+ <tr>
+  <td><tt>twistedangle</tt><td>Twisted angle
+ </table>
+</P>
+<P>
+<HR width=40% align=center noshade>
+</P>
+<P>
+<table border="0" width="100%" id="table16">
+ <tr>
+ <td width="480" valign="top">
+     A <b>tube section twisted</b> along its axis can be defined as follows:
+     <P>
+     <font face="Courier">
+     G4TwistedTubs(const G4String&amp; pName,<br>
+     &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;
+     G4double&nbsp; endinnerrad,<br>
+     &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;
+     G4double&nbsp; halfzlen,<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     G4double&nbsp; dphi)
+     </font>
+     <P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P>
+     <div align="right"><font size=-1><I>
+     <U>In the picture</U>: endinnerrad = 10, endouterrad = 15<br>
+                            halfzlen = 20, dphi = 90*Degree<br>
+                            twistedangle = 60*Degree
+     </I></font></div>
+ </td>
+ <td><a href="javascript:remote_win(20)"
+        onMouseOver="window.status='Get alive picture...'; return true">
+        <img src="geometry.src/aTwistedTubs.jpg" border="0"></a>
+ </td>
+ </tr>
+</table>
+</P>
+<P>
+ <tt>G4TwistedTubs</tt> is a sort of twisted cylinder which, placed along
+ the <tt>z</tt>-axis and divided into <tt>phi</tt>-segments is shaped like an
+ hyperboloid, where each of its segmented pieces can be tilted with a stereo
+ angle.<br>
+ It can have inner and outer surfaces with the same stereo angle:
+</P>
+<P>
+ <table border=1 cellpadding=8>
+ <tr>
+  <td><tt>twistedangle</tt><td>Twisted angle
+ <tr>
+  <td><tt>endinnerrad</tt><td>Inner radius at endcap
+ <tr>
+  <td><tt>endouterrad</tt><td>Outer radius at endcap
+ <tr>
+  <td><tt>halfzlen</tt><td>Half z length
+ <tr>
+  <td><tt>dphi</tt><td>Phi angle of a segment
+ </table>
+</P>
+<P>
+ Additional constructors are provided, allowing the shape to be specified 
+ either as:
+ <UL>
+ <LI>the number of segments in <tt>phi</tt> and the total angle for all
+     segments, or</LI>
+ <LI>a combination of the above constructors providing instead the inner and 
+     outer radii at <TT>z=0</TT> with different <tt>z</tt>-lengths along
+     negative and positive <tt>z</tt>-axis.</LI>
+ </UL>
+</P>
+
+<P> </P>
+
+<a name="4.1.2.2">
+<H4>4.1.2.2 Solids made by Boolean operations</H4></a>
+
+ 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>
+ Creating such a new <i>Boolean</i> solid,  requires:
+ <UL>
+  <LI>Two solids
+  <LI>A Boolean operation: union, intersection or subtraction.
+  <LI>Optionally a transformation for the second solid.
+ </UL></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>
+<P>
+ Note: 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>
+<P>
+ Note:  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>
+<P>
+ Examples of the creation of the simplest Boolean solids are given below:
+
+ <PRE>
+  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>
+
+ 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:
+ <UL>
+  <LI>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 <I>passive</I>
+      method.
+  <LI>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 <I>active</I> method.
+ </UL></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>
+<P>
+ <PRE>
+    G4RotationMatrix* yRot = new G4RotationMatrix;  // Rotates X and Z axes only
+    yRot->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->invert());
+    G4Transform3D transform(invRot, zTrans);  
+    G4UnionSolid* unionMoved =
+      new G4UnionSolid("Box+CylinderMoved", box, cyl, transform);
+ </PRE>
+
+ Note that the first constructor that takes a pointer to the rotation-matrix
+ (<tt>G4RotationMatrix*</tt>), does NOT copy it.
+ Therefore once used a rotation-matrix to construct a Boolean solid, it must
+ NOT be modified.<BR>
+ In contrast, with the alternative method shown, a <tt>G4Transform3D</tt> is
+ provided to the constructor by value, and its transformation is stored by the
+ Boolean solid. The user may modify the <tt>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
+ <i>first</i> of the two constituent solids.</P>
+ 
+<P> </P>
+
+<a name="4.1.2.3">
+<H4>4.1.2.3 Boundary Represented (BREPS) Solids</H4></a>
+ 
+ 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>
+ 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.<BR>
+ <b>Note</b> - <i>Currently, the implementation for surfaces generated by Beziers, B-Splines
+       or NURBS is only at the level of prototype and not fully functional</i>.<BR>
+ Extensions are foreseen in the near future, also to allow exchange of geometrical
+ models with CAD systems.</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>
+ However most BREPS Solids are defined by creating each surface separately
+ and tying them together. Though it is possible to do this using code, it is
+ potentially error prone. So it is generally much more productive to utilize a tool
+ to create these volumes, and the tools of choice are CAD systems.  In future, it will
+ be possible to import/export models created in CAD systems, utilizing the STEP standard.</P>
+
+<P> </P>
+
+<b>Specific BREP Solids</b>
+<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>
+ The polyconical solid <tt>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>
+ <PRE>
+  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>
+ The conical sections do not need to fill 360 degrees, but can have a common
+ start and opening angle.</P>
+<P>
+ <table border=1 cellpadding=8>
+ <tr>
+  <td><tt>start_angle</tt> <td>starting angle
+ <tr>
+  <td><tt>opening_angle</tt> <td>opening angle
+ <tr>
+  <td><tt>num_z_planes</tt> <td>number of planes perpendicular to the z-axis used.
+ <tr>
+  <td><tt>z_start</tt> <td>starting value of z
+ <tr>
+  <td><tt>z_values</tt> <td>z coordinates of each plane
+ <tr>
+  <td><tt>RMIN</tt> <td>radius of inner cone at each plane
+ <tr>
+  <td><tt>RMAX</tt> <td>radius of outer cone at each plane     
+ </table></P>
+<P>
+ The polygonal solid <tt>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>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:
+ <PRE>
+  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>
+ which in addition to its name have the following meaning:</P>
+<p>
+ <table border=1 cellpadding=8>
+ <tr>
+  <td><tt>start_angle</tt> <td>starting angle 
+ <tr>
+  <TD><tt>opening_angle</tt> <td>opening angle 
+ <tr>
+  <TD><tt>sides</tt> <td>number of sides of each polygon in the x-y plane
+ <tr>
+  <TD><tt>num_z_planes</tt> <td>number of planes perpendicular to the z-axis used.
+ <tr>
+  <TD><tt>z_start</tt> <td>starting value of z
+ <tr>
+  <TD><tt>z_values</tt> <td>z coordinates of each plane
+ <tr>
+  <TD><tt>RMIN</tt> <td>radius of inner polygon at each corner
+ <tr>
+  <TD><tt>RMAX</tt> <td>radius of outer polygon at each corner    
+ </table></P>
+<P>
+ the shape is defined by the number of sides <tt>sides</tt> of the polygon 
+ in the plane perpendicular to the z-axis. </P>
+
+<a name="4.1.2.4">
+<H4>4.1.2.4 Tessellated Solids</H4></a>
+
+In Geant4 it is also implemented a class <tt>G4TessellatedSolid</tt> which
+can be used to generate a generic solid defined by a number of facets
+(<tt>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 figure 4.1.1).
+<P>
+ <center>
+  <table BORDER=1 CELLPADDING=8>
+  <tr>
+  <td><IMG SRC="geometry.src/cad-tess1.jpg"
+       ALT="Tessellated imported geometry - 1" height=350 width=420>
+      <IMG SRC="geometry.src/cad-tess2.jpg"
+       ALT="Tessellated imported geometry - 2" height=350 width=420></td>
+  <tr>
+  <td ALIGN=center>
+  Figure 4.1.1<br>
+  Example of geometries imported from CAD system and converted
+  to tessellated solids.</td>
+  </tr>
+  </table>
+ </center>
+</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.<BR>
+Two types of facet can be used for the construction of a
+<tt>G4TessellatedSolid</tt>: a triangular facet (<tt>G4TriangularFacet</tt>)
+and a quadrangular facet (<tt>G4QuadrangularFacet</tt>).</P>
+<P>
+An example on how to generate a simple tessellated shape is given below.</P>
+<P>
+Example:
+ <center><table border=1 cellpadding=8>
+ <tr><td>
+ <PRE>
+        // 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->AddFacet((G4VFacet*) facet1);
+        solidTarget->AddFacet((G4VFacet*) facet2);
+        solidTarget->AddFacet((G4VFacet*) facet3);
+        solidTarget->AddFacet((G4VFacet*) facet4);
+        solidTarget->AddFacet((G4VFacet*) facet5);
+
+        Finally declare the solid is complete
+        //
+        solidTarget->SetSolidClosed(true);
+ </PRE>
+ <tr>
+ <td align=center>
+ Source listing 4.1.1<BR>
+ An example of a simple tessellated solid with <tt>G4TessellatedSolid</tt>.
+ </table></center></P>
+<P>
+The <tt>G4TriangularFacet</tt> class is used for the contruction of
+<tt>G4TessellatedSolid</tt>. It is defined by three vertices, which shall be
+supplied in <I>anti-clockwise order</I> looking from the outside of the solid
+where it belongs. Its constructor looks like:</P>
+<P>
+ <PRE>
+        G4TriangularFacet ( const G4ThreeVector     Pt0,
+                            const G4ThreeVector     vt1,
+                            const G4ThreeVector     vt2,
+                                  G4FacetVertexType fType )
+ </PRE>
+i.e., it takes 4 parameters to define the three vertices:</P>
+<P>
+ <table border=1 cellpadding=8>
+ <tr>
+  <TD><tt>G4FacetVertexType</tt> <td><tt>ABSOLUTE</tt> in which case <tt>Pt0</tt>,
+      <tt>vt1</tt> and <tt>vt2</tt> are the three vertices in anti-clockwise
+      order looking from the outside.
+ <tr>
+  <TD><tt>G4FacetVertexType</tt> <td><tt>RELATIVE</tt> in which case the first
+      vertex is <tt>Pt0</tt>, the second vertex is <tt>Pt0+vt1</tt> and the
+      third vertex is <tt>Pt0+vt2</tt>, all in anti-clockwise order when
+      looking from the outside.
+ </table></P>
+<P>
+The <tt>G4QuadrangularFacet</tt> class can be used for the contruction of
+<tt>G4TessellatedSolid</tt> as well. It is defined by four vertices, which
+shall be in the same plane and be supplied in <I>anti-clockwise order</I>
+looking from the outside of the solid where it belongs. Its constructor
+looks like:</P>
+<P>
+ <PRE>
+        G4QuadrangularFacet ( const G4ThreeVector     Pt0,
+                              const G4ThreeVector     vt1,
+                              const G4ThreeVector     vt2,
+                              const G4ThreeVector     vt3,
+                                    G4FacetVertexType fType )
+ </PRE>
+i.e., it takes 5 parameters to define the four vertices:</P>
+<P>
+ <table border=1 cellpadding=8>
+ <tr>
+  <TD><tt>G4FacetVertexType</tt> <td><tt>ABSOLUTE</tt> in which case <tt>Pt0</tt>,
+      <tt>vt1</tt>, <tt>vt2</tt> and <tt>vt3</tt> are the four vertices required
+      in anti-clockwise order when looking from the outside.
+ <tr>
+  <TD><tt>G4FacetVertexType</tt> <td><tt>RELATIVE</tt> in which case the first
+      vertex is <tt>Pt0</tt>, the second vertex is <tt>Pt0+vt</tt>, the third
+      vertex is <tt>Pt0+vt2</tt> and the fourth vertex is <tt>Pt0+vt3</tt>, in
+      anti-clockwise order when looking from the outside.
+ </table>
+</P>
+
+<hr><a href="../../../../Authors/html/subjectsToAuthors.html">
+<i>About the authors</a></i> </P>
+
+</body>
+</html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomTouch.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomTouch.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomTouch.html	(revision 1208)
@@ -0,0 +1,159 @@
+<html>
+<head>
+<title>ADG: Geometry</title>
+</head>
+
+<!-- Changed by: Gabriele Cosmo, 18-Apr-2005 -->
+<!-- $Id: geomTouch.html,v 1.2 2006/06/09 13:55:26 gcosmo Exp $ -->
+<!-- $Name:  $ -->
+<body>
+<table WIDTH="100%"><TR>
+<td>
+<a href="../../../../Overview/html/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></a>
+<a href="geometry.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></a>
+<a href="geomPhysical.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></a>
+<a href="geomAssembly.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></a>
+</td>
+<td ALIGN="Right">
+<font SIZE="-1" COLOR="#238E23">
+<b>Geant4 User's Guide</b>
+<br>
+<b>For Application Developers</b>
+<br>
+<b>Geometry</b>
+</font>
+</td>
+</tr></table>
+<br><br>
+
+<a name="4.1.5">
+<h2>4.1.5 Touchables: Uniquely Identifying a Volume</h2></a>
+
+<b>Introduction to Touchables</b>
+<p>
+ A <i>touchable</i> 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 <i>touchable volume</i>, 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>
+
+<br>
+
+<b>What can a Touchable do ?</b>
+<p>
+ All <tt>G4VTouchable</tt> implementations must respond to the two following
+ "requests", where in all cases, by <tt>depth</tt> it is meant the number of
+ levels <i>up</i> in the tree to be considered (the default and current one
+ is <tt>0</tt>):
+<P>
+ <ol>
+  <li><tt>GetTranslation(depth)</tt></li>
+  <li><tt>GetRotation(depth)</tt></li>
+ </ol>
+ that return the components of the volume's transformation.
+<P>
+ Additional capabilities are available from implementations with more
+ information. These have a default implementation that causes an exception.
+<P>
+ Several capabilities are available from touchables with physical volumes:
+<P>
+ <ol start=3>
+  <li><tt>GetSolid(depth)</tt> gives the solid associated to the touchable.
+  <li><tt>GetVolume(depth)</tt> gives the physical volume.
+  <li><tt>GetReplicaNumber(depth)</tt> or <tt>GetCopyNumber(depth)</tt> which
+    return the copy number of the physical volume (replicated or not).
+ </ol>
+<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>
+ The top of the history tree is, by convention, the world volume.
+<P>
+ <ol start=6>
+  <li><tt>GetHistoryDepth()</tt> gives the depth of the history tree.
+  <li><tt>MoveUpHistory(num)</tt> moves the current pointer inside the
+   touchable to point <tt>num</tt> levels up the history tree. Thus, e.g., calling
+   it with <tt>num=1</tt> will cause the internal pointer to move to the mother
+   of the current volume.<br>
+   WARNING: this function changes the state of the touchable and can cause
+            errors in tracking if applied to Pre/Post step touchables.
+ </ol>
+ These methods are valid only for the <i>touchable-history</i> type, as
+ specified also below.
+<P>
+ An update method, with different arguments is available, so
+ that the information in a touchable can be updated:
+<P>
+ <ol start=8>
+  <li><tt>UpdateYourself(vol, history)</tt> takes a physical volume pointer
+   and can additionally take a <tt>NavigationHistory</tt> pointer.
+ </ol>
+<P>
+
+<b>Touchable history holds stack of geometry data</b>
+<p>
+ As shown in Sections <a href="geomLogical.html#4.1.3">4.1.3</a> and
+ <a href="geomPhysical.html#4.1.4">4.1.4</a>, a logical volume represents
+ unpositioned detector elements, and a physical volume can represent multiple
+ detector elements.  On the other hand, touchables provide a unique
+ identification for a detector element.  In particular, the Geant4
+ transportation process and the tracking system exploit touchables as
+ implemented in <tt>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>G4VUserSteppingAction</tt>.
+</p>
+
+<p>
+ To create/access a <tt>G4TouchableHistory</tt> the user must message
+ <tt>G4Navigator</tt> which provides the method <tt>CreateTouchableHistoryHandle()</tt>:
+ <PRE>
+  G4TouchableHistoryHandle CreateTouchableHistoryHandle() const;
+ </PRE>
+ this will return a handle to the touchable.
+<p>
+ The methods that differentiate the touchable-history from other touchables
+ (since they have meaning only for this type...), are:
+ <pre>
+  G4int GetHistoryDepth()  const;
+  G4int MoveUpHistory( G4int num_levels = 1 );
+ </pre>
+</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>MoveUpHistory(num)</tt> significantly modifies the
+ state of a touchable.
+</p>
+
+<hr><a href="../../../../Authors/html/subjectsToAuthors.html">
+<i>About the authors</a></i> </P>
+
+</body>
+</html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomXML.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomXML.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geomXML.html	(revision 1208)
@@ -0,0 +1,61 @@
+<html>
+<head>
+<title>ADG: Geometry</title>
+</head>
+
+<!-- Changed by: Gabriele Cosmo, 18-Apr-2005 -->
+<!-- $Id: geomXML.html,v 1.2 2006/06/09 13:54:56 gcosmo Exp $ -->
+<!-- $Name:  $ -->
+<body>
+<table WIDTH="100%"><TR>
+<td>
+<a href="../../../../Overview/html/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></a>
+<a href="geometry.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></a>
+<a href="geomDynamic.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></a>
+<IMG SRC="../../../../resources/html/IconsGIF/NextGR.gif" ALT="Next"></a>
+</td>
+<td ALIGN="Right">
+<font SIZE="-1" COLOR="#238E23">
+<b>Geant4 User's Guide</b>
+<br>
+<b>For Application Developers</b>
+<br>
+<b>Geometry</b>
+</font>
+</td>
+</tr></table>
+<br><br>
+
+<a name="4.1.13">
+<h2>4.1.13 Importing XML Models Using GDML</h2></a>
+
+<p>
+An example of how to import and export a detector description model based on 
+<b>GDML</b> <a href="#GDML">[3]</a> is provided and can be found in 
+<tt>examples/extended/gdml</tt>. A description on how to describe a geometry
+in GDML together with an annotated example, is provided in 
+<a href="#GDML-howto">[4]</a>.  GDML (Geometry Description Markup Language) 
+<a href="#GDML">[3]</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 "human-readable" XML-based description and structured 
+formatting.
+</p>
+<br>
+<hr>
+<p>
+<table>
+<tr><td valign=top><a name="GDML">[3]</a>
+    <td><a href="http://cern.ch/gdml">http://cern.ch/gdml</a>
+<tr><td valign=top><a name="GDML-howto">[4]</a>
+    <td><a href="http://cern.ch/gdml/g4example.html">http://cern.ch/gdml/g4example.html</a>
+</table>
+</p>
+
+<hr><a href="../../../../Authors/html/subjectsToAuthors.html">
+<i>About the authors</a></i> </P>
+
+</body>
+</html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.html	(revision 1208)
@@ -0,0 +1,64 @@
+<html>
+<head>
+   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+   <title>ADG: Geometry</title>
+</head>
+<body>
+
+<table WIDTH="100%" >
+<tr>
+<td>
+<a href="../../../../Overview/html/index.html">
+
+</a>
+<a href="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59>
+</a>
+<IMG SRC="../../../../resources/html/IconsGIF/PreviousGR.gif" ALT="Previous" HEIGHT=16 WIDTH=59>
+<a href="material.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></a>
+</td>
+
+<td ALIGN="Right"><font COLOR="#238E23"><font SIZE=-1>
+<b>Geant4 User's Guide</b><br>
+<b>For Application Developers</b><br>
+<b>Detector Definition and Response</b>
+</font></font></td>
+</tr>
+</table>
+<p><br>
+
+<center><font color="#238E23"><font SIZE=+3>
+<a name="4.1">
+<b>4.1 Geometry</b></a></font></font>
+</center>
+<br>
+<br>
+
+<hr ALIGN="Center" SIZE="7%">
+<p>
+
+<ol>
+  <li><a href="geomIntro.html">Introduction</a></li>
+  <li><a href="geomSolids.html">Solids</a></li>
+  <li><a href="geomLogical.html">Logical Volumes</a></li>
+  <li><a href="geomPhysical.html">Physical Volumes</a></li>
+  <li><a href="geomTouch.html">Touchables: Uniquely Identifying a Volume</a></li>
+  <li><a href="geomAssembly.html">Creating an Assembly of Volumes</a></li>
+  <li><a href="geomReflection.html">Reflecting Hierarchies of Volumes</a></li>
+  <li><a href="geomNav.html">The Geometry Navigator</a></li>
+  <li><a href="geomEditor.html">A Simple Geometry Editor</a></li>
+  <li><a href="geomG3toG4.html">Converting Geometries from Geant 3.21</a></li>
+  <li><a href="geomOverlap.html">Detecting Overlapping Volumes</a></li>
+  <li><a href="geomDynamic.html">Dynamic Geometry Setups</a></li>
+  <li><a href="geomXML.html">Importing XML Models using GDML</a></li>
+</ol>
+
+</b>
+
+<hr>
+<a href="../../../../Authors/html/subjectsToAuthors.html">
+<i>About the authors</a></i>
+
+</body>
+</html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/CVS/Entries	(revision 1208)
@@ -0,0 +1,70 @@
+/DAVID_SAMPLE.gif/1.1/Wed Nov 21 23:30:54 2001//
+/aBREPSolidPCone.jpg/1.1/Sat Nov 19 19:32:58 2005//
+/aBREPSolidPCone.txt/1.1/Sat Nov 19 19:32:58 2005//
+/aBREPSolidPolyhedra.jpg/1.1/Sat Nov 19 19:32:58 2005//
+/aBREPSolidPolyhedra.txt/1.1/Sat Nov 19 19:32:58 2005//
+/aBox.jpg/1.1/Sat Nov 19 19:32:58 2005//
+/aBox.txt/1.1/Sat Nov 19 19:32:58 2005//
+/aCons.jpg/1.1/Sat Nov 19 19:32:58 2005//
+/aCons.txt/1.1/Sat Nov 19 19:32:58 2005//
+/aEllipsoid.jpg/1.1/Sat Nov 19 19:32:58 2005//
+/aEllipsoid.txt/1.1/Sat Nov 19 19:32:58 2005//
+/aEllipticalCone.jpg/1.1/Sat Nov 19 19:32:58 2005//
+/aEllipticalCone.txt/1.1/Sat Nov 19 19:32:58 2005//
+/aEllipticalTube.jpg/1.1/Sat Nov 19 19:32:58 2005//
+/aEllipticalTube.txt/1.1/Sat Nov 19 19:32:58 2005//
+/aHyperboloid.jpg/1.1/Sat Nov 19 19:32:58 2005//
+/aHyperboloid.txt/1.1/Sat Nov 19 19:32:58 2005//
+/aOrb.jpg/1.1/Sat Nov 19 19:32:58 2005//
+/aOrb.txt/1.1/Sat Nov 19 19:32:58 2005//
+/aPara.jpg/1.1/Sat Nov 19 19:32:58 2005//
+/aPara.txt/1.1/Sat Nov 19 19:32:58 2005//
+/aSphere.jpg/1.1/Sat Nov 19 19:32:58 2005//
+/aSphere.txt/1.1/Sat Nov 19 19:32:58 2005//
+/aTet.jpg/1.1/Sat Nov 19 19:32:58 2005//
+/aTet.txt/1.1/Sat Nov 19 19:32:58 2005//
+/aTorus.jpg/1.1/Sat Nov 19 19:32:58 2005//
+/aTorus.txt/1.1/Sat Nov 19 19:32:58 2005//
+/aTrap.jpg/1.1/Sat Nov 19 19:32:58 2005//
+/aTrap.txt/1.1/Sat Nov 19 19:32:58 2005//
+/aTrd.jpg/1.1/Sat Nov 19 19:32:58 2005//
+/aTrd.txt/1.1/Sat Nov 19 19:32:58 2005//
+/aTubs.jpg/1.1/Sat Nov 19 19:32:58 2005//
+/aTubs.txt/1.1/Sat Nov 19 19:32:58 2005//
+/aTwistedBox.jpg/1.1/Sat Nov 19 19:32:58 2005//
+/aTwistedBox.txt/1.1/Sat Nov 19 19:32:58 2005//
+/aTwistedTrap.jpg/1.1/Sat Nov 19 19:32:58 2005//
+/aTwistedTrap.txt/1.1/Sat Nov 19 19:32:58 2005//
+/aTwistedTrd.jpg/1.1/Sat Nov 19 19:32:58 2005//
+/aTwistedTrd.txt/1.1/Sat Nov 19 19:32:58 2005//
+/aTwistedTubs.jpg/1.1/Sat Nov 19 19:32:58 2005//
+/aTwistedTubs.txt/1.1/Sat Nov 19 19:32:58 2005//
+/avex1.jpg/1.1/Wed Nov 21 00:55:54 2001//
+/avex2.jpg/1.1/Wed Nov 21 00:55:54 2001//
+/avpic.jpg/1.1/Wed Nov 21 00:55:54 2001//
+/cad-tess1.jpg/1.1/Fri Jun  9 13:52:24 2006//
+/cad-tess2.jpg/1.1/Fri Jun  9 13:52:24 2006//
+/diff.txt/1.1/Sat Nov 19 19:32:58 2005//
+/geomtest.gif/1.1/Wed Nov 21 23:30:54 2001//
+/live.jar/1.1/Sat Nov 19 19:32:58 2005//
+/pic1.html/1.1/Sat Nov 19 19:32:58 2005//
+/pic10.html/1.1/Sat Nov 19 19:32:58 2005//
+/pic11.html/1.1/Sat Nov 19 19:32:58 2005//
+/pic12.html/1.1/Sat Nov 19 19:32:58 2005//
+/pic13.html/1.1/Sat Nov 19 19:32:58 2005//
+/pic14.html/1.1/Sat Nov 19 19:32:58 2005//
+/pic15.html/1.1/Sat Nov 19 19:32:58 2005//
+/pic16.html/1.1/Sat Nov 19 19:32:58 2005//
+/pic17.html/1.1/Sat Nov 19 19:32:58 2005//
+/pic18.html/1.1/Sat Nov 19 19:32:58 2005//
+/pic19.html/1.1/Sat Nov 19 19:32:58 2005//
+/pic2.html/1.1/Sat Nov 19 19:32:58 2005//
+/pic20.html/1.1/Sat Nov 19 19:32:58 2005//
+/pic3.html/1.1/Sat Nov 19 19:32:58 2005//
+/pic4.html/1.1/Sat Nov 19 19:32:58 2005//
+/pic5.html/1.1/Sat Nov 19 19:32:58 2005//
+/pic6.html/1.1/Sat Nov 19 19:32:58 2005//
+/pic7.html/1.1/Sat Nov 19 19:32:58 2005//
+/pic8.html/1.1/Sat Nov 19 19:32:58 2005//
+/pic9.html/1.1/Sat Nov 19 19:32:58 2005//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aBREPSolidPCone.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aBREPSolidPCone.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aBREPSolidPCone.txt	(revision 1208)
@@ -0,0 +1,1 @@
+Graphics3D[{{Polygon[{{0., 0., 5.}, {0., 0., 5.}, {2.4416, 0.53743, 5.5}, {2.5, 0., 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {2.2689, 1.0497, 5.5}, {2.4416, 0.53743, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {1.9902, 1.5129, 5.5}, {2.2689, 1.0497, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {1.6185, 1.9054, 5.5}, {1.9902, 1.5129, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {1.171, 2.2088, 5.5}, {1.6185, 1.9054, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {0.66882, 2.4089, 5.5}, {1.171, 2.2088, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {0.13535, 2.4963, 5.5}, {0.66882, 2.4089, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-0.40445, 2.4671, 5.5}, {0.13535, 2.4963, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-0.92535, 2.3224, 5.5}, {-0.40445, 2.4671, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-1.403, 2.0692, 5.5}, {-0.92535, 2.3224, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-1.815, 1.7192, 5.5}, {-1.403, 2.0692, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-2.1421, 1.2889, 5.5}, {-1.815, 1.7192, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-2.3691, 0.79825, 5.5}, {-2.1421, 1.2889, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-2.4853, 0.2703, 5.5}, {-2.3691, 0.79825, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-2.4853, -0.2703, 5.5}, {-2.4853, 0.2703, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-2.3691, -0.79825, 5.5}, {-2.4853, -0.2703, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-2.1421, -1.2889, 5.5}, {-2.3691, -0.79825, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-1.815, -1.7192, 5.5}, {-2.1421, -1.2889, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-1.403, -2.0692, 5.5}, {-1.815, -1.7192, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-0.92535, -2.3224, 5.5}, {-1.403, -2.0692, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-0.40445, -2.4671, 5.5}, {-0.92535, -2.3224, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {0.13535, -2.4963, 5.5}, {-0.40445, -2.4671, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {0.66882, -2.4089, 5.5}, {0.13535, -2.4963, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {1.171, -2.2088, 5.5}, {0.66882, -2.4089, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {1.6185, -1.9054, 5.5}, {1.171, -2.2088, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {1.9902, -1.5129, 5.5}, {1.6185, -1.9054, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {2.2689, -1.0497, 5.5}, {1.9902, -1.5129, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {2.4416, -0.53743, 5.5}, {2.2689, -1.0497, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {2.5, -6.123*^-16, 5.5}, {2.4416, -0.53743, 5.5}}], Polygon[{{2.5, 0., 5.5}, {2.4416, 0.53743, 5.5}, {4.8831, 1.0749, 6.}, {5., 0., 6.}}], Polygon[{{2.4416, 0.53743, 5.5}, {2.2689, 1.0497, 5.5}, {4.5379, 2.0994, 6.}, {4.8831, 1.0749, 6.}}], Polygon[{{2.2689, 1.0497, 5.5}, {1.9902, 1.5129, 5.5}, {3.9805, 3.0259, 6.}, {4.5379, 2.0994, 6.}}], Polygon[{{1.9902, 1.5129, 5.5}, {1.6185, 1.9054, 5.5}, {3.2369, 3.8108, 6.}, {3.9805, 3.0259, 6.}}], Polygon[{{1.6185, 1.9054, 5.5}, {1.171, 2.2088, 5.5}, {2.342, 4.4176, 6.}, {3.2369, 3.8108, 6.}}], Polygon[{{1.171, 2.2088, 5.5}, {0.66882, 2.4089, 5.5}, {1.3376, 4.8177, 6.}, {2.342, 4.4176, 6.}}], Polygon[{{0.66882, 2.4089, 5.5}, {0.13535, 2.4963, 5.5}, {0.27069, 4.9927, 6.}, {1.3376, 4.8177, 6.}}], Polygon[{{0.13535, 2.4963, 5.5}, {-0.40445, 2.4671, 5.5}, {-0.80891, 4.9341, 6.}, {0.27069, 4.9927, 6.}}], Polygon[{{-0.40445, 2.4671, 5.5}, {-0.92535, 2.3224, 5.5}, {-1.8507, 4.6449, 6.}, {-0.80891, 4.9341, 6.}}], Polygon[{{-0.92535, 2.3224, 5.5}, {-1.403, 2.0692, 5.5}, {-2.8059, 4.1384, 6.}, {-1.8507, 4.6449, 6.}}], Polygon[{{-1.403, 2.0692, 5.5}, {-1.815, 1.7192, 5.5}, {-3.63, 3.4385, 6.}, {-2.8059, 4.1384, 6.}}], Polygon[{{-1.815, 1.7192, 5.5}, {-2.1421, 1.2889, 5.5}, {-4.2843, 2.5778, 6.}, {-3.63, 3.4385, 6.}}], Polygon[{{-2.1421, 1.2889, 5.5}, {-2.3691, 0.79825, 5.5}, {-4.7383, 1.5965, 6.}, {-4.2843, 2.5778, 6.}}], Polygon[{{-2.3691, 0.79825, 5.5}, {-2.4853, 0.2703, 5.5}, {-4.9707, 0.5406, 6.}, {-4.7383, 1.5965, 6.}}], Polygon[{{-2.4853, 0.2703, 5.5}, {-2.4853, -0.2703, 5.5}, {-4.9707, -0.5406, 6.}, {-4.9707, 0.5406, 6.}}], Polygon[{{-2.4853, -0.2703, 5.5}, {-2.3691, -0.79825, 5.5}, {-4.7383, -1.5965, 6.}, {-4.9707, -0.5406, 6.}}], Polygon[{{-2.3691, -0.79825, 5.5}, {-2.1421, -1.2889, 5.5}, {-4.2843, -2.5778, 6.}, {-4.7383, -1.5965, 6.}}], Polygon[{{-2.1421, -1.2889, 5.5}, {-1.815, -1.7192, 5.5}, {-3.63, -3.4385, 6.}, {-4.2843, -2.5778, 6.}}], Polygon[{{-1.815, -1.7192, 5.5}, {-1.403, -2.0692, 5.5}, {-2.8059, -4.1384, 6.}, {-3.63, -3.4385, 6.}}], Polygon[{{-1.403, -2.0692, 5.5}, {-0.92535, -2.3224, 5.5}, {-1.8507, -4.6449, 6.}, {-2.8059, -4.1384, 6.}}], Polygon[{{-0.92535, -2.3224, 5.5}, {-0.40445, -2.4671, 5.5}, {-0.80891, -4.9341, 6.}, {-1.8507, -4.6449, 6.}}], Polygon[{{-0.40445, -2.4671, 5.5}, {0.13535, -2.4963, 5.5}, {0.27069, -4.9927, 6.}, {-0.80891, -4.9341, 6.}}], Polygon[{{0.13535, -2.4963, 5.5}, {0.66882, -2.4089, 5.5}, {1.3376, -4.8177, 6.}, {0.27069, -4.9927, 6.}}], Polygon[{{0.66882, -2.4089, 5.5}, {1.171, -2.2088, 5.5}, {2.342, -4.4176, 6.}, {1.3376, -4.8177, 6.}}], Polygon[{{1.171, -2.2088, 5.5}, {1.6185, -1.9054, 5.5}, {3.2369, -3.8108, 6.}, {2.342, -4.4176, 6.}}], Polygon[{{1.6185, -1.9054, 5.5}, {1.9902, -1.5129, 5.5}, {3.9805, -3.0259, 6.}, {3.2369, -3.8108, 6.}}], Polygon[{{1.9902, -1.5129, 5.5}, {2.2689, -1.0497, 5.5}, {4.5379, -2.0994, 6.}, {3.9805, -3.0259, 6.}}], Polygon[{{2.2689, -1.0497, 5.5}, {2.4416, -0.53743, 5.5}, {4.8831, -1.0749, 6.}, {4.5379, -2.0994, 6.}}], Polygon[{{2.4416, -0.53743, 5.5}, {2.5, -6.123*^-16, 5.5}, {5., -1.2246*^-15, 6.}, {4.8831, -1.0749, 6.}}], Polygon[{{5., 0., 6.}, {4.8831, 1.0749, 6.}, {7.3247, 1.6123, 6.5}, {7.5, 0., 6.5}}], Polygon[{{4.8831, 1.0749, 6.}, {4.5379, 2.0994, 6.}, {6.8068, 3.1492, 6.5}, {7.3247, 1.6123, 6.5}}], Polygon[{{4.5379, 2.0994, 6.}, {3.9805, 3.0259, 6.}, {5.9707, 4.5388, 6.5}, {6.8068, 3.1492, 6.5}}], Polygon[{{3.9805, 3.0259, 6.}, {3.2369, 3.8108, 6.}, {4.8554, 5.7162, 6.5}, {5.9707, 4.5388, 6.5}}], Polygon[{{3.2369, 3.8108, 6.}, {2.342, 4.4176, 6.}, {3.5131, 6.6263, 6.5}, {4.8554, 5.7162, 6.5}}], Polygon[{{2.342, 4.4176, 6.}, {1.3376, 4.8177, 6.}, {2.0065, 7.2266, 6.5}, {3.5131, 6.6263, 6.5}}], Polygon[{{1.3376, 4.8177, 6.}, {0.27069, 4.9927, 6.}, {0.40604, 7.489, 6.5}, {2.0065, 7.2266, 6.5}}], Polygon[{{0.27069, 4.9927, 6.}, {-0.80891, 4.9341, 6.}, {-1.2134, 7.4012, 6.5}, {0.40604, 7.489, 6.5}}], Polygon[{{-0.80891, 4.9341, 6.}, {-1.8507, 4.6449, 6.}, {-2.776, 6.9673, 6.5}, {-1.2134, 7.4012, 6.5}}], Polygon[{{-1.8507, 4.6449, 6.}, {-2.8059, 4.1384, 6.}, {-4.2089, 6.2077, 6.5}, {-2.776, 6.9673, 6.5}}], Polygon[{{-2.8059, 4.1384, 6.}, {-3.63, 3.4385, 6.}, {-5.445, 5.1577, 6.5}, {-4.2089, 6.2077, 6.5}}], Polygon[{{-3.63, 3.4385, 6.}, {-4.2843, 2.5778, 6.}, {-6.4264, 3.8667, 6.5}, {-5.445, 5.1577, 6.5}}], Polygon[{{-4.2843, 2.5778, 6.}, {-4.7383, 1.5965, 6.}, {-7.1074, 2.3948, 6.5}, {-6.4264, 3.8667, 6.5}}], Polygon[{{-4.7383, 1.5965, 6.}, {-4.9707, 0.5406, 6.}, {-7.456, 0.81089, 6.5}, {-7.1074, 2.3948, 6.5}}], Polygon[{{-4.9707, 0.5406, 6.}, {-4.9707, -0.5406, 6.}, {-7.456, -0.81089, 6.5}, {-7.456, 0.81089, 6.5}}], Polygon[{{-4.9707, -0.5406, 6.}, {-4.7383, -1.5965, 6.}, {-7.1074, -2.3948, 6.5}, {-7.456, -0.81089, 6.5}}], Polygon[{{-4.7383, -1.5965, 6.}, {-4.2843, -2.5778, 6.}, {-6.4264, -3.8667, 6.5}, {-7.1074, -2.3948, 6.5}}], Polygon[{{-4.2843, -2.5778, 6.}, {-3.63, -3.4385, 6.}, {-5.445, -5.1577, 6.5}, {-6.4264, -3.8667, 6.5}}], Polygon[{{-3.63, -3.4385, 6.}, {-2.8059, -4.1384, 6.}, {-4.2089, -6.2077, 6.5}, {-5.445, -5.1577, 6.5}}], Polygon[{{-2.8059, -4.1384, 6.}, {-1.8507, -4.6449, 6.}, {-2.776, -6.9673, 6.5}, {-4.2089, -6.2077, 6.5}}], Polygon[{{-1.8507, -4.6449, 6.}, {-0.80891, -4.9341, 6.}, {-1.2134, -7.4012, 6.5}, {-2.776, -6.9673, 6.5}}], Polygon[{{-0.80891, -4.9341, 6.}, {0.27069, -4.9927, 6.}, {0.40604, -7.489, 6.5}, {-1.2134, -7.4012, 6.5}}], Polygon[{{0.27069, -4.9927, 6.}, {1.3376, -4.8177, 6.}, {2.0065, -7.2266, 6.5}, {0.40604, -7.489, 6.5}}], Polygon[{{1.3376, -4.8177, 6.}, {2.342, -4.4176, 6.}, {3.5131, -6.6263, 6.5}, {2.0065, -7.2266, 6.5}}], Polygon[{{2.342, -4.4176, 6.}, {3.2369, -3.8108, 6.}, {4.8554, -5.7162, 6.5}, {3.5131, -6.6263, 6.5}}], Polygon[{{3.2369, -3.8108, 6.}, {3.9805, -3.0259, 6.}, {5.9707, -4.5388, 6.5}, {4.8554, -5.7162, 6.5}}], Polygon[{{3.9805, -3.0259, 6.}, {4.5379, -2.0994, 6.}, {6.8068, -3.1492, 6.5}, {5.9707, -4.5388, 6.5}}], Polygon[{{4.5379, -2.0994, 6.}, {4.8831, -1.0749, 6.}, {7.3247, -1.6123, 6.5}, {6.8068, -3.1492, 6.5}}], Polygon[{{4.8831, -1.0749, 6.}, {5., -1.2246*^-15, 6.}, {7.5, -1.8369*^-15, 6.5}, {7.3247, -1.6123, 6.5}}], Polygon[{{7.5, 0., 6.5}, {7.3247, 1.6123, 6.5}, {9.7662, 2.1497, 7.}, {10., 0., 7.}}], Polygon[{{7.3247, 1.6123, 6.5}, {6.8068, 3.1492, 6.5}, {9.0758, 4.1989, 7.}, {9.7662, 2.1497, 7.}}], Polygon[{{6.8068, 3.1492, 6.5}, {5.9707, 4.5388, 6.5}, {7.9609, 6.0517, 7.}, {9.0758, 4.1989, 7.}}], Polygon[{{5.9707, 4.5388, 6.5}, {4.8554, 5.7162, 6.5}, {6.4739, 7.6216, 7.}, {7.9609, 6.0517, 7.}}], Polygon[{{4.8554, 5.7162, 6.5}, {3.5131, 6.6263, 6.5}, {4.6841, 8.8351, 7.}, {6.4739, 7.6216, 7.}}], Polygon[{{3.5131, 6.6263, 6.5}, {2.0065, 7.2266, 6.5}, {2.6753, 9.6355, 7.}, {4.6841, 8.8351, 7.}}], Polygon[{{2.0065, 7.2266, 6.5}, {0.40604, 7.489, 6.5}, {0.54139, 9.9853, 7.}, {2.6753, 9.6355, 7.}}], Polygon[{{0.40604, 7.489, 6.5}, {-1.2134, 7.4012, 6.5}, {-1.6178, 9.8683, 7.}, {0.54139, 9.9853, 7.}}], Polygon[{{-1.2134, 7.4012, 6.5}, {-2.776, 6.9673, 6.5}, {-3.7014, 9.2898, 7.}, {-1.6178, 9.8683, 7.}}], Polygon[{{-2.776, 6.9673, 6.5}, {-4.2089, 6.2077, 6.5}, {-5.6119, 8.2769, 7.}, {-3.7014, 9.2898, 7.}}], Polygon[{{-4.2089, 6.2077, 6.5}, {-5.445, 5.1577, 6.5}, {-7.26, 6.877, 7.}, {-5.6119, 8.2769, 7.}}], Polygon[{{-5.445, 5.1577, 6.5}, {-6.4264, 3.8667, 6.5}, {-8.5686, 5.1555, 7.}, {-7.26, 6.877, 7.}}], Polygon[{{-6.4264, 3.8667, 6.5}, {-7.1074, 2.3948, 6.5}, {-9.4765, 3.193, 7.}, {-8.5686, 5.1555, 7.}}], Polygon[{{-7.1074, 2.3948, 6.5}, {-7.456, 0.81089, 6.5}, {-9.9414, 1.0812, 7.}, {-9.4765, 3.193, 7.}}], Polygon[{{-7.456, 0.81089, 6.5}, {-7.456, -0.81089, 6.5}, {-9.9414, -1.0812, 7.}, {-9.9414, 1.0812, 7.}}], Polygon[{{-7.456, -0.81089, 6.5}, {-7.1074, -2.3948, 6.5}, {-9.4765, -3.193, 7.}, {-9.9414, -1.0812, 7.}}], Polygon[{{-7.1074, -2.3948, 6.5}, {-6.4264, -3.8667, 6.5}, {-8.5686, -5.1555, 7.}, {-9.4765, -3.193, 7.}}], Polygon[{{-6.4264, -3.8667, 6.5}, {-5.445, -5.1577, 6.5}, {-7.26, -6.877, 7.}, {-8.5686, -5.1555, 7.}}], Polygon[{{-5.445, -5.1577, 6.5}, {-4.2089, -6.2077, 6.5}, {-5.6119, -8.2769, 7.}, {-7.26, -6.877, 7.}}], Polygon[{{-4.2089, -6.2077, 6.5}, {-2.776, -6.9673, 6.5}, {-3.7014, -9.2898, 7.}, {-5.6119, -8.2769, 7.}}], Polygon[{{-2.776, -6.9673, 6.5}, {-1.2134, -7.4012, 6.5}, {-1.6178, -9.8683, 7.}, {-3.7014, -9.2898, 7.}}], Polygon[{{-1.2134, -7.4012, 6.5}, {0.40604, -7.489, 6.5}, {0.54139, -9.9853, 7.}, {-1.6178, -9.8683, 7.}}], Polygon[{{0.40604, -7.489, 6.5}, {2.0065, -7.2266, 6.5}, {2.6753, -9.6355, 7.}, {0.54139, -9.9853, 7.}}], Polygon[{{2.0065, -7.2266, 6.5}, {3.5131, -6.6263, 6.5}, {4.6841, -8.8351, 7.}, {2.6753, -9.6355, 7.}}], Polygon[{{3.5131, -6.6263, 6.5}, {4.8554, -5.7162, 6.5}, {6.4739, -7.6216, 7.}, {4.6841, -8.8351, 7.}}], Polygon[{{4.8554, -5.7162, 6.5}, {5.9707, -4.5388, 6.5}, {7.9609, -6.0517, 7.}, {6.4739, -7.6216, 7.}}], Polygon[{{5.9707, -4.5388, 6.5}, {6.8068, -3.1492, 6.5}, {9.0758, -4.1989, 7.}, {7.9609, -6.0517, 7.}}], Polygon[{{6.8068, -3.1492, 6.5}, {7.3247, -1.6123, 6.5}, {9.7662, -2.1497, 7.}, {9.0758, -4.1989, 7.}}], Polygon[{{7.3247, -1.6123, 6.5}, {7.5, -1.8369*^-15, 6.5}, {10., -2.4492*^-15, 7.}, {9.7662, -2.1497, 7.}}]}, {Polygon[{{10., 0., 7.}, {9.7662, 2.1497, 7.}, {9.7662, 2.1497, 7.5}, {10., 0., 7.5}}], Polygon[{{9.7662, 2.1497, 7.}, {9.0758, 4.1989, 7.}, {9.0758, 4.1989, 7.5}, {9.7662, 2.1497, 7.5}}], Polygon[{{9.0758, 4.1989, 7.}, {7.9609, 6.0517, 7.}, {7.9609, 6.0517, 7.5}, {9.0758, 4.1989, 7.5}}], Polygon[{{7.9609, 6.0517, 7.}, {6.4739, 7.6216, 7.}, {6.4739, 7.6216, 7.5}, {7.9609, 6.0517, 7.5}}], Polygon[{{6.4739, 7.6216, 7.}, {4.6841, 8.8351, 7.}, {4.6841, 8.8351, 7.5}, {6.4739, 7.6216, 7.5}}], Polygon[{{4.6841, 8.8351, 7.}, {2.6753, 9.6355, 7.}, {2.6753, 9.6355, 7.5}, {4.6841, 8.8351, 7.5}}], Polygon[{{2.6753, 9.6355, 7.}, {0.54139, 9.9853, 7.}, {0.54139, 9.9853, 7.5}, {2.6753, 9.6355, 7.5}}], Polygon[{{0.54139, 9.9853, 7.}, {-1.6178, 9.8683, 7.}, {-1.6178, 9.8683, 7.5}, {0.54139, 9.9853, 7.5}}], Polygon[{{-1.6178, 9.8683, 7.}, {-3.7014, 9.2898, 7.}, {-3.7014, 9.2898, 7.5}, {-1.6178, 9.8683, 7.5}}], Polygon[{{-3.7014, 9.2898, 7.}, {-5.6119, 8.2769, 7.}, {-5.6119, 8.2769, 7.5}, {-3.7014, 9.2898, 7.5}}], Polygon[{{-5.6119, 8.2769, 7.}, {-7.26, 6.877, 7.}, {-7.26, 6.877, 7.5}, {-5.6119, 8.2769, 7.5}}], Polygon[{{-7.26, 6.877, 7.}, {-8.5686, 5.1555, 7.}, {-8.5686, 5.1555, 7.5}, {-7.26, 6.877, 7.5}}], Polygon[{{-8.5686, 5.1555, 7.}, {-9.4765, 3.193, 7.}, {-9.4765, 3.193, 7.5}, {-8.5686, 5.1555, 7.5}}], Polygon[{{-9.4765, 3.193, 7.}, {-9.9414, 1.0812, 7.}, {-9.9414, 1.0812, 7.5}, {-9.4765, 3.193, 7.5}}], Polygon[{{-9.9414, 1.0812, 7.}, {-9.9414, -1.0812, 7.}, {-9.9414, -1.0812, 7.5}, {-9.9414, 1.0812, 7.5}}], Polygon[{{-9.9414, -1.0812, 7.}, {-9.4765, -3.193, 7.}, {-9.4765, -3.193, 7.5}, {-9.9414, -1.0812, 7.5}}], Polygon[{{-9.4765, -3.193, 7.}, {-8.5686, -5.1555, 7.}, {-8.5686, -5.1555, 7.5}, {-9.4765, -3.193, 7.5}}], Polygon[{{-8.5686, -5.1555, 7.}, {-7.26, -6.877, 7.}, {-7.26, -6.877, 7.5}, {-8.5686, -5.1555, 7.5}}], Polygon[{{-7.26, -6.877, 7.}, {-5.6119, -8.2769, 7.}, {-5.6119, -8.2769, 7.5}, {-7.26, -6.877, 7.5}}], Polygon[{{-5.6119, -8.2769, 7.}, {-3.7014, -9.2898, 7.}, {-3.7014, -9.2898, 7.5}, {-5.6119, -8.2769, 7.5}}], Polygon[{{-3.7014, -9.2898, 7.}, {-1.6178, -9.8683, 7.}, {-1.6178, -9.8683, 7.5}, {-3.7014, -9.2898, 7.5}}], Polygon[{{-1.6178, -9.8683, 7.}, {0.54139, -9.9853, 7.}, {0.54139, -9.9853, 7.5}, {-1.6178, -9.8683, 7.5}}], Polygon[{{0.54139, -9.9853, 7.}, {2.6753, -9.6355, 7.}, {2.6753, -9.6355, 7.5}, {0.54139, -9.9853, 7.5}}], Polygon[{{2.6753, -9.6355, 7.}, {4.6841, -8.8351, 7.}, {4.6841, -8.8351, 7.5}, {2.6753, -9.6355, 7.5}}], Polygon[{{4.6841, -8.8351, 7.}, {6.4739, -7.6216, 7.}, {6.4739, -7.6216, 7.5}, {4.6841, -8.8351, 7.5}}], Polygon[{{6.4739, -7.6216, 7.}, {7.9609, -6.0517, 7.}, {7.9609, -6.0517, 7.5}, {6.4739, -7.6216, 7.5}}], Polygon[{{7.9609, -6.0517, 7.}, {9.0758, -4.1989, 7.}, {9.0758, -4.1989, 7.5}, {7.9609, -6.0517, 7.5}}], Polygon[{{9.0758, -4.1989, 7.}, {9.7662, -2.1497, 7.}, {9.7662, -2.1497, 7.5}, {9.0758, -4.1989, 7.5}}], Polygon[{{9.7662, -2.1497, 7.}, {10., -2.4492*^-15, 7.}, {10., -2.4492*^-15, 7.5}, {9.7662, -2.1497, 7.5}}], Polygon[{{10., 0., 7.5}, {9.7662, 2.1497, 7.5}, {9.7662, 2.1497, 8.}, {10., 0., 8.}}], Polygon[{{9.7662, 2.1497, 7.5}, {9.0758, 4.1989, 7.5}, {9.0758, 4.1989, 8.}, {9.7662, 2.1497, 8.}}], Polygon[{{9.0758, 4.1989, 7.5}, {7.9609, 6.0517, 7.5}, {7.9609, 6.0517, 8.}, {9.0758, 4.1989, 8.}}], Polygon[{{7.9609, 6.0517, 7.5}, {6.4739, 7.6216, 7.5}, {6.4739, 7.6216, 8.}, {7.9609, 6.0517, 8.}}], Polygon[{{6.4739, 7.6216, 7.5}, {4.6841, 8.8351, 7.5}, {4.6841, 8.8351, 8.}, {6.4739, 7.6216, 8.}}], Polygon[{{4.6841, 8.8351, 7.5}, {2.6753, 9.6355, 7.5}, {2.6753, 9.6355, 8.}, {4.6841, 8.8351, 8.}}], Polygon[{{2.6753, 9.6355, 7.5}, {0.54139, 9.9853, 7.5}, {0.54139, 9.9853, 8.}, {2.6753, 9.6355, 8.}}], Polygon[{{0.54139, 9.9853, 7.5}, {-1.6178, 9.8683, 7.5}, {-1.6178, 9.8683, 8.}, {0.54139, 9.9853, 8.}}], Polygon[{{-1.6178, 9.8683, 7.5}, {-3.7014, 9.2898, 7.5}, {-3.7014, 9.2898, 8.}, {-1.6178, 9.8683, 8.}}], Polygon[{{-3.7014, 9.2898, 7.5}, {-5.6119, 8.2769, 7.5}, {-5.6119, 8.2769, 8.}, {-3.7014, 9.2898, 8.}}], Polygon[{{-5.6119, 8.2769, 7.5}, {-7.26, 6.877, 7.5}, {-7.26, 6.877, 8.}, {-5.6119, 8.2769, 8.}}], Polygon[{{-7.26, 6.877, 7.5}, {-8.5686, 5.1555, 7.5}, {-8.5686, 5.1555, 8.}, {-7.26, 6.877, 8.}}], Polygon[{{-8.5686, 5.1555, 7.5}, {-9.4765, 3.193, 7.5}, {-9.4765, 3.193, 8.}, {-8.5686, 5.1555, 8.}}], Polygon[{{-9.4765, 3.193, 7.5}, {-9.9414, 1.0812, 7.5}, {-9.9414, 1.0812, 8.}, {-9.4765, 3.193, 8.}}], Polygon[{{-9.9414, 1.0812, 7.5}, {-9.9414, -1.0812, 7.5}, {-9.9414, -1.0812, 8.}, {-9.9414, 1.0812, 8.}}], Polygon[{{-9.9414, -1.0812, 7.5}, {-9.4765, -3.193, 7.5}, {-9.4765, -3.193, 8.}, {-9.9414, -1.0812, 8.}}], Polygon[{{-9.4765, -3.193, 7.5}, {-8.5686, -5.1555, 7.5}, {-8.5686, -5.1555, 8.}, {-9.4765, -3.193, 8.}}], Polygon[{{-8.5686, -5.1555, 7.5}, {-7.26, -6.877, 7.5}, {-7.26, -6.877, 8.}, {-8.5686, -5.1555, 8.}}], Polygon[{{-7.26, -6.877, 7.5}, {-5.6119, -8.2769, 7.5}, {-5.6119, -8.2769, 8.}, {-7.26, -6.877, 8.}}], Polygon[{{-5.6119, -8.2769, 7.5}, {-3.7014, -9.2898, 7.5}, {-3.7014, -9.2898, 8.}, {-5.6119, -8.2769, 8.}}], Polygon[{{-3.7014, -9.2898, 7.5}, {-1.6178, -9.8683, 7.5}, {-1.6178, -9.8683, 8.}, {-3.7014, -9.2898, 8.}}], Polygon[{{-1.6178, -9.8683, 7.5}, {0.54139, -9.9853, 7.5}, {0.54139, -9.9853, 8.}, {-1.6178, -9.8683, 8.}}], Polygon[{{0.54139, -9.9853, 7.5}, {2.6753, -9.6355, 7.5}, {2.6753, -9.6355, 8.}, {0.54139, -9.9853, 8.}}], Polygon[{{2.6753, -9.6355, 7.5}, {4.6841, -8.8351, 7.5}, {4.6841, -8.8351, 8.}, {2.6753, -9.6355, 8.}}], Polygon[{{4.6841, -8.8351, 7.5}, {6.4739, -7.6216, 7.5}, {6.4739, -7.6216, 8.}, {4.6841, -8.8351, 8.}}], Polygon[{{6.4739, -7.6216, 7.5}, {7.9609, -6.0517, 7.5}, {7.9609, -6.0517, 8.}, {6.4739, -7.6216, 8.}}], Polygon[{{7.9609, -6.0517, 7.5}, {9.0758, -4.1989, 7.5}, {9.0758, -4.1989, 8.}, {7.9609, -6.0517, 8.}}], Polygon[{{9.0758, -4.1989, 7.5}, {9.7662, -2.1497, 7.5}, {9.7662, -2.1497, 8.}, {9.0758, -4.1989, 8.}}], Polygon[{{9.7662, -2.1497, 7.5}, {10., -2.4492*^-15, 7.5}, {10., -2.4492*^-15, 8.}, {9.7662, -2.1497, 8.}}], Polygon[{{10., 0., 8.}, {9.7662, 2.1497, 8.}, {9.7662, 2.1497, 8.5}, {10., 0., 8.5}}], Polygon[{{9.7662, 2.1497, 8.}, {9.0758, 4.1989, 8.}, {9.0758, 4.1989, 8.5}, {9.7662, 2.1497, 8.5}}], Polygon[{{9.0758, 4.1989, 8.}, {7.9609, 6.0517, 8.}, {7.9609, 6.0517, 8.5}, {9.0758, 4.1989, 8.5}}], Polygon[{{7.9609, 6.0517, 8.}, {6.4739, 7.6216, 8.}, {6.4739, 7.6216, 8.5}, {7.9609, 6.0517, 8.5}}], Polygon[{{6.4739, 7.6216, 8.}, {4.6841, 8.8351, 8.}, {4.6841, 8.8351, 8.5}, {6.4739, 7.6216, 8.5}}], Polygon[{{4.6841, 8.8351, 8.}, {2.6753, 9.6355, 8.}, {2.6753, 9.6355, 8.5}, {4.6841, 8.8351, 8.5}}], Polygon[{{2.6753, 9.6355, 8.}, {0.54139, 9.9853, 8.}, {0.54139, 9.9853, 8.5}, {2.6753, 9.6355, 8.5}}], Polygon[{{0.54139, 9.9853, 8.}, {-1.6178, 9.8683, 8.}, {-1.6178, 9.8683, 8.5}, {0.54139, 9.9853, 8.5}}], Polygon[{{-1.6178, 9.8683, 8.}, {-3.7014, 9.2898, 8.}, {-3.7014, 9.2898, 8.5}, {-1.6178, 9.8683, 8.5}}], Polygon[{{-3.7014, 9.2898, 8.}, {-5.6119, 8.2769, 8.}, {-5.6119, 8.2769, 8.5}, {-3.7014, 9.2898, 8.5}}], Polygon[{{-5.6119, 8.2769, 8.}, {-7.26, 6.877, 8.}, {-7.26, 6.877, 8.5}, {-5.6119, 8.2769, 8.5}}], Polygon[{{-7.26, 6.877, 8.}, {-8.5686, 5.1555, 8.}, {-8.5686, 5.1555, 8.5}, {-7.26, 6.877, 8.5}}], Polygon[{{-8.5686, 5.1555, 8.}, {-9.4765, 3.193, 8.}, {-9.4765, 3.193, 8.5}, {-8.5686, 5.1555, 8.5}}], Polygon[{{-9.4765, 3.193, 8.}, {-9.9414, 1.0812, 8.}, {-9.9414, 1.0812, 8.5}, {-9.4765, 3.193, 8.5}}], Polygon[{{-9.9414, 1.0812, 8.}, {-9.9414, -1.0812, 8.}, {-9.9414, -1.0812, 8.5}, {-9.9414, 1.0812, 8.5}}], Polygon[{{-9.9414, -1.0812, 8.}, {-9.4765, -3.193, 8.}, {-9.4765, -3.193, 8.5}, {-9.9414, -1.0812, 8.5}}], Polygon[{{-9.4765, -3.193, 8.}, {-8.5686, -5.1555, 8.}, {-8.5686, -5.1555, 8.5}, {-9.4765, -3.193, 8.5}}], Polygon[{{-8.5686, -5.1555, 8.}, {-7.26, -6.877, 8.}, {-7.26, -6.877, 8.5}, {-8.5686, -5.1555, 8.5}}], Polygon[{{-7.26, -6.877, 8.}, {-5.6119, -8.2769, 8.}, {-5.6119, -8.2769, 8.5}, {-7.26, -6.877, 8.5}}], Polygon[{{-5.6119, -8.2769, 8.}, {-3.7014, -9.2898, 8.}, {-3.7014, -9.2898, 8.5}, {-5.6119, -8.2769, 8.5}}], Polygon[{{-3.7014, -9.2898, 8.}, {-1.6178, -9.8683, 8.}, {-1.6178, -9.8683, 8.5}, {-3.7014, -9.2898, 8.5}}], Polygon[{{-1.6178, -9.8683, 8.}, {0.54139, -9.9853, 8.}, {0.54139, -9.9853, 8.5}, {-1.6178, -9.8683, 8.5}}], Polygon[{{0.54139, -9.9853, 8.}, {2.6753, -9.6355, 8.}, {2.6753, -9.6355, 8.5}, {0.54139, -9.9853, 8.5}}], Polygon[{{2.6753, -9.6355, 8.}, {4.6841, -8.8351, 8.}, {4.6841, -8.8351, 8.5}, {2.6753, -9.6355, 8.5}}], Polygon[{{4.6841, -8.8351, 8.}, {6.4739, -7.6216, 8.}, {6.4739, -7.6216, 8.5}, {4.6841, -8.8351, 8.5}}], Polygon[{{6.4739, -7.6216, 8.}, {7.9609, -6.0517, 8.}, {7.9609, -6.0517, 8.5}, {6.4739, -7.6216, 8.5}}], Polygon[{{7.9609, -6.0517, 8.}, {9.0758, -4.1989, 8.}, {9.0758, -4.1989, 8.5}, {7.9609, -6.0517, 8.5}}], Polygon[{{9.0758, -4.1989, 8.}, {9.7662, -2.1497, 8.}, {9.7662, -2.1497, 8.5}, {9.0758, -4.1989, 8.5}}], Polygon[{{9.7662, -2.1497, 8.}, {10., -2.4492*^-15, 8.}, {10., -2.4492*^-15, 8.5}, {9.7662, -2.1497, 8.5}}], Polygon[{{10., 0., 8.5}, {9.7662, 2.1497, 8.5}, {9.7662, 2.1497, 9.}, {10., 0., 9.}}], Polygon[{{9.7662, 2.1497, 8.5}, {9.0758, 4.1989, 8.5}, {9.0758, 4.1989, 9.}, {9.7662, 2.1497, 9.}}], Polygon[{{9.0758, 4.1989, 8.5}, {7.9609, 6.0517, 8.5}, {7.9609, 6.0517, 9.}, {9.0758, 4.1989, 9.}}], Polygon[{{7.9609, 6.0517, 8.5}, {6.4739, 7.6216, 8.5}, {6.4739, 7.6216, 9.}, {7.9609, 6.0517, 9.}}], Polygon[{{6.4739, 7.6216, 8.5}, {4.6841, 8.8351, 8.5}, {4.6841, 8.8351, 9.}, {6.4739, 7.6216, 9.}}], Polygon[{{4.6841, 8.8351, 8.5}, {2.6753, 9.6355, 8.5}, {2.6753, 9.6355, 9.}, {4.6841, 8.8351, 9.}}], Polygon[{{2.6753, 9.6355, 8.5}, {0.54139, 9.9853, 8.5}, {0.54139, 9.9853, 9.}, {2.6753, 9.6355, 9.}}], Polygon[{{0.54139, 9.9853, 8.5}, {-1.6178, 9.8683, 8.5}, {-1.6178, 9.8683, 9.}, {0.54139, 9.9853, 9.}}], Polygon[{{-1.6178, 9.8683, 8.5}, {-3.7014, 9.2898, 8.5}, {-3.7014, 9.2898, 9.}, {-1.6178, 9.8683, 9.}}], Polygon[{{-3.7014, 9.2898, 8.5}, {-5.6119, 8.2769, 8.5}, {-5.6119, 8.2769, 9.}, {-3.7014, 9.2898, 9.}}], Polygon[{{-5.6119, 8.2769, 8.5}, {-7.26, 6.877, 8.5}, {-7.26, 6.877, 9.}, {-5.6119, 8.2769, 9.}}], Polygon[{{-7.26, 6.877, 8.5}, {-8.5686, 5.1555, 8.5}, {-8.5686, 5.1555, 9.}, {-7.26, 6.877, 9.}}], Polygon[{{-8.5686, 5.1555, 8.5}, {-9.4765, 3.193, 8.5}, {-9.4765, 3.193, 9.}, {-8.5686, 5.1555, 9.}}], Polygon[{{-9.4765, 3.193, 8.5}, {-9.9414, 1.0812, 8.5}, {-9.9414, 1.0812, 9.}, {-9.4765, 3.193, 9.}}], Polygon[{{-9.9414, 1.0812, 8.5}, {-9.9414, -1.0812, 8.5}, {-9.9414, -1.0812, 9.}, {-9.9414, 1.0812, 9.}}], Polygon[{{-9.9414, -1.0812, 8.5}, {-9.4765, -3.193, 8.5}, {-9.4765, -3.193, 9.}, {-9.9414, -1.0812, 9.}}], Polygon[{{-9.4765, -3.193, 8.5}, {-8.5686, -5.1555, 8.5}, {-8.5686, -5.1555, 9.}, {-9.4765, -3.193, 9.}}], Polygon[{{-8.5686, -5.1555, 8.5}, {-7.26, -6.877, 8.5}, {-7.26, -6.877, 9.}, {-8.5686, -5.1555, 9.}}], Polygon[{{-7.26, -6.877, 8.5}, {-5.6119, -8.2769, 8.5}, {-5.6119, -8.2769, 9.}, {-7.26, -6.877, 9.}}], Polygon[{{-5.6119, -8.2769, 8.5}, {-3.7014, -9.2898, 8.5}, {-3.7014, -9.2898, 9.}, {-5.6119, -8.2769, 9.}}], Polygon[{{-3.7014, -9.2898, 8.5}, {-1.6178, -9.8683, 8.5}, {-1.6178, -9.8683, 9.}, {-3.7014, -9.2898, 9.}}], Polygon[{{-1.6178, -9.8683, 8.5}, {0.54139, -9.9853, 8.5}, {0.54139, -9.9853, 9.}, {-1.6178, -9.8683, 9.}}], Polygon[{{0.54139, -9.9853, 8.5}, {2.6753, -9.6355, 8.5}, {2.6753, -9.6355, 9.}, {0.54139, -9.9853, 9.}}], Polygon[{{2.6753, -9.6355, 8.5}, {4.6841, -8.8351, 8.5}, {4.6841, -8.8351, 9.}, {2.6753, -9.6355, 9.}}], Polygon[{{4.6841, -8.8351, 8.5}, {6.4739, -7.6216, 8.5}, {6.4739, -7.6216, 9.}, {4.6841, -8.8351, 9.}}], Polygon[{{6.4739, -7.6216, 8.5}, {7.9609, -6.0517, 8.5}, {7.9609, -6.0517, 9.}, {6.4739, -7.6216, 9.}}], Polygon[{{7.9609, -6.0517, 8.5}, {9.0758, -4.1989, 8.5}, {9.0758, -4.1989, 9.}, {7.9609, -6.0517, 9.}}], Polygon[{{9.0758, -4.1989, 8.5}, {9.7662, -2.1497, 8.5}, {9.7662, -2.1497, 9.}, {9.0758, -4.1989, 9.}}], Polygon[{{9.7662, -2.1497, 8.5}, {10., -2.4492*^-15, 8.5}, {10., -2.4492*^-15, 9.}, {9.7662, -2.1497, 9.}}]}, {Polygon[{{10., 0., 9.}, {9.7662, 2.1497, 9.}, {8.5454, 1.881, 9.5}, {8.75, 0., 9.5}}], Polygon[{{9.7662, 2.1497, 9.}, {9.0758, 4.1989, 9.}, {7.9413, 3.674, 9.5}, {8.5454, 1.881, 9.5}}], Polygon[{{9.0758, 4.1989, 9.}, {7.9609, 6.0517, 9.}, {6.9658, 5.2953, 9.5}, {7.9413, 3.674, 9.5}}], Polygon[{{7.9609, 6.0517, 9.}, {6.4739, 7.6216, 9.}, {5.6646, 6.6689, 9.5}, {6.9658, 5.2953, 9.5}}], Polygon[{{6.4739, 7.6216, 9.}, {4.6841, 8.8351, 9.}, {4.0986, 7.7307, 9.5}, {5.6646, 6.6689, 9.5}}], Polygon[{{4.6841, 8.8351, 9.}, {2.6753, 9.6355, 9.}, {2.3409, 8.4311, 9.5}, {4.0986, 7.7307, 9.5}}], Polygon[{{2.6753, 9.6355, 9.}, {0.54139, 9.9853, 9.}, {0.47372, 8.7372, 9.5}, {2.3409, 8.4311, 9.5}}], Polygon[{{0.54139, 9.9853, 9.}, {-1.6178, 9.8683, 9.}, {-1.4156, 8.6347, 9.5}, {0.47372, 8.7372, 9.5}}], Polygon[{{-1.6178, 9.8683, 9.}, {-3.7014, 9.2898, 9.}, {-3.2387, 8.1285, 9.5}, {-1.4156, 8.6347, 9.5}}], Polygon[{{-3.7014, 9.2898, 9.}, {-5.6119, 8.2769, 9.}, {-4.9104, 7.2423, 9.5}, {-3.2387, 8.1285, 9.5}}], Polygon[{{-5.6119, 8.2769, 9.}, {-7.26, 6.877, 9.}, {-6.3525, 6.0174, 9.5}, {-4.9104, 7.2423, 9.5}}], Polygon[{{-7.26, 6.877, 9.}, {-8.5686, 5.1555, 9.}, {-7.4975, 4.5111, 9.5}, {-6.3525, 6.0174, 9.5}}], Polygon[{{-8.5686, 5.1555, 9.}, {-9.4765, 3.193, 9.}, {-8.292, 2.7939, 9.5}, {-7.4975, 4.5111, 9.5}}], Polygon[{{-9.4765, 3.193, 9.}, {-9.9414, 1.0812, 9.}, {-8.6987, 0.94604, 9.5}, {-8.292, 2.7939, 9.5}}], Polygon[{{-9.9414, 1.0812, 9.}, {-9.9414, -1.0812, 9.}, {-8.6987, -0.94604, 9.5}, {-8.6987, 0.94604, 9.5}}], Polygon[{{-9.9414, -1.0812, 9.}, {-9.4765, -3.193, 9.}, {-8.292, -2.7939, 9.5}, {-8.6987, -0.94604, 9.5}}], Polygon[{{-9.4765, -3.193, 9.}, {-8.5686, -5.1555, 9.}, {-7.4975, -4.5111, 9.5}, {-8.292, -2.7939, 9.5}}], Polygon[{{-8.5686, -5.1555, 9.}, {-7.26, -6.877, 9.}, {-6.3525, -6.0174, 9.5}, {-7.4975, -4.5111, 9.5}}], Polygon[{{-7.26, -6.877, 9.}, {-5.6119, -8.2769, 9.}, {-4.9104, -7.2423, 9.5}, {-6.3525, -6.0174, 9.5}}], Polygon[{{-5.6119, -8.2769, 9.}, {-3.7014, -9.2898, 9.}, {-3.2387, -8.1285, 9.5}, {-4.9104, -7.2423, 9.5}}], Polygon[{{-3.7014, -9.2898, 9.}, {-1.6178, -9.8683, 9.}, {-1.4156, -8.6347, 9.5}, {-3.2387, -8.1285, 9.5}}], Polygon[{{-1.6178, -9.8683, 9.}, {0.54139, -9.9853, 9.}, {0.47372, -8.7372, 9.5}, {-1.4156, -8.6347, 9.5}}], Polygon[{{0.54139, -9.9853, 9.}, {2.6753, -9.6355, 9.}, {2.3409, -8.4311, 9.5}, {0.47372, -8.7372, 9.5}}], Polygon[{{2.6753, -9.6355, 9.}, {4.6841, -8.8351, 9.}, {4.0986, -7.7307, 9.5}, {2.3409, -8.4311, 9.5}}], Polygon[{{4.6841, -8.8351, 9.}, {6.4739, -7.6216, 9.}, {5.6646, -6.6689, 9.5}, {4.0986, -7.7307, 9.5}}], Polygon[{{6.4739, -7.6216, 9.}, {7.9609, -6.0517, 9.}, {6.9658, -5.2953, 9.5}, {5.6646, -6.6689, 9.5}}], Polygon[{{7.9609, -6.0517, 9.}, {9.0758, -4.1989, 9.}, {7.9413, -3.674, 9.5}, {6.9658, -5.2953, 9.5}}], Polygon[{{9.0758, -4.1989, 9.}, {9.7662, -2.1497, 9.}, {8.5454, -1.881, 9.5}, {7.9413, -3.674, 9.5}}], Polygon[{{9.7662, -2.1497, 9.}, {10., -2.4492*^-15, 9.}, {8.75, -2.1431*^-15, 9.5}, {8.5454, -1.881, 9.5}}], Polygon[{{8.75, 0., 9.5}, {8.5454, 1.881, 9.5}, {7.3247, 1.6123, 10.}, {7.5, 0., 10.}}], Polygon[{{8.5454, 1.881, 9.5}, {7.9413, 3.674, 9.5}, {6.8068, 3.1492, 10.}, {7.3247, 1.6123, 10.}}], Polygon[{{7.9413, 3.674, 9.5}, {6.9658, 5.2953, 9.5}, {5.9707, 4.5388, 10.}, {6.8068, 3.1492, 10.}}], Polygon[{{6.9658, 5.2953, 9.5}, {5.6646, 6.6689, 9.5}, {4.8554, 5.7162, 10.}, {5.9707, 4.5388, 10.}}], Polygon[{{5.6646, 6.6689, 9.5}, {4.0986, 7.7307, 9.5}, {3.5131, 6.6263, 10.}, {4.8554, 5.7162, 10.}}], Polygon[{{4.0986, 7.7307, 9.5}, {2.3409, 8.4311, 9.5}, {2.0065, 7.2266, 10.}, {3.5131, 6.6263, 10.}}], Polygon[{{2.3409, 8.4311, 9.5}, {0.47372, 8.7372, 9.5}, {0.40604, 7.489, 10.}, {2.0065, 7.2266, 10.}}], Polygon[{{0.47372, 8.7372, 9.5}, {-1.4156, 8.6347, 9.5}, {-1.2134, 7.4012, 10.}, {0.40604, 7.489, 10.}}], Polygon[{{-1.4156, 8.6347, 9.5}, {-3.2387, 8.1285, 9.5}, {-2.776, 6.9673, 10.}, {-1.2134, 7.4012, 10.}}], Polygon[{{-3.2387, 8.1285, 9.5}, {-4.9104, 7.2423, 9.5}, {-4.2089, 6.2077, 10.}, {-2.776, 6.9673, 10.}}], Polygon[{{-4.9104, 7.2423, 9.5}, {-6.3525, 6.0174, 9.5}, {-5.445, 5.1577, 10.}, {-4.2089, 6.2077, 10.}}], Polygon[{{-6.3525, 6.0174, 9.5}, {-7.4975, 4.5111, 9.5}, {-6.4264, 3.8667, 10.}, {-5.445, 5.1577, 10.}}], Polygon[{{-7.4975, 4.5111, 9.5}, {-8.292, 2.7939, 9.5}, {-7.1074, 2.3948, 10.}, {-6.4264, 3.8667, 10.}}], Polygon[{{-8.292, 2.7939, 9.5}, {-8.6987, 0.94604, 9.5}, {-7.456, 0.81089, 10.}, {-7.1074, 2.3948, 10.}}], Polygon[{{-8.6987, 0.94604, 9.5}, {-8.6987, -0.94604, 9.5}, {-7.456, -0.81089, 10.}, {-7.456, 0.81089, 10.}}], Polygon[{{-8.6987, -0.94604, 9.5}, {-8.292, -2.7939, 9.5}, {-7.1074, -2.3948, 10.}, {-7.456, -0.81089, 10.}}], Polygon[{{-8.292, -2.7939, 9.5}, {-7.4975, -4.5111, 9.5}, {-6.4264, -3.8667, 10.}, {-7.1074, -2.3948, 10.}}], Polygon[{{-7.4975, -4.5111, 9.5}, {-6.3525, -6.0174, 9.5}, {-5.445, -5.1577, 10.}, {-6.4264, -3.8667, 10.}}], Polygon[{{-6.3525, -6.0174, 9.5}, {-4.9104, -7.2423, 9.5}, {-4.2089, -6.2077, 10.}, {-5.445, -5.1577, 10.}}], Polygon[{{-4.9104, -7.2423, 9.5}, {-3.2387, -8.1285, 9.5}, {-2.776, -6.9673, 10.}, {-4.2089, -6.2077, 10.}}], Polygon[{{-3.2387, -8.1285, 9.5}, {-1.4156, -8.6347, 9.5}, {-1.2134, -7.4012, 10.}, {-2.776, -6.9673, 10.}}], Polygon[{{-1.4156, -8.6347, 9.5}, {0.47372, -8.7372, 9.5}, {0.40604, -7.489, 10.}, {-1.2134, -7.4012, 10.}}], Polygon[{{0.47372, -8.7372, 9.5}, {2.3409, -8.4311, 9.5}, {2.0065, -7.2266, 10.}, {0.40604, -7.489, 10.}}], Polygon[{{2.3409, -8.4311, 9.5}, {4.0986, -7.7307, 9.5}, {3.5131, -6.6263, 10.}, {2.0065, -7.2266, 10.}}], Polygon[{{4.0986, -7.7307, 9.5}, {5.6646, -6.6689, 9.5}, {4.8554, -5.7162, 10.}, {3.5131, -6.6263, 10.}}], Polygon[{{5.6646, -6.6689, 9.5}, {6.9658, -5.2953, 9.5}, {5.9707, -4.5388, 10.}, {4.8554, -5.7162, 10.}}], Polygon[{{6.9658, -5.2953, 9.5}, {7.9413, -3.674, 9.5}, {6.8068, -3.1492, 10.}, {5.9707, -4.5388, 10.}}], Polygon[{{7.9413, -3.674, 9.5}, {8.5454, -1.881, 9.5}, {7.3247, -1.6123, 10.}, {6.8068, -3.1492, 10.}}], Polygon[{{8.5454, -1.881, 9.5}, {8.75, -2.1431*^-15, 9.5}, {7.5, -1.8369*^-15, 10.}, {7.3247, -1.6123, 10.}}], Polygon[{{7.5, 0., 10.}, {7.3247, 1.6123, 10.}, {6.1039, 1.3436, 10.5}, {6.25, 0., 10.5}}], Polygon[{{7.3247, 1.6123, 10.}, {6.8068, 3.1492, 10.}, {5.6723, 2.6243, 10.5}, {6.1039, 1.3436, 10.5}}], Polygon[{{6.8068, 3.1492, 10.}, {5.9707, 4.5388, 10.}, {4.9756, 3.7823, 10.5}, {5.6723, 2.6243, 10.5}}], Polygon[{{5.9707, 4.5388, 10.}, {4.8554, 5.7162, 10.}, {4.0462, 4.7635, 10.5}, {4.9756, 3.7823, 10.5}}], Polygon[{{4.8554, 5.7162, 10.}, {3.5131, 6.6263, 10.}, {2.9276, 5.522, 10.5}, {4.0462, 4.7635, 10.5}}], Polygon[{{3.5131, 6.6263, 10.}, {2.0065, 7.2266, 10.}, {1.6721, 6.0222, 10.5}, {2.9276, 5.522, 10.5}}], Polygon[{{2.0065, 7.2266, 10.}, {0.40604, 7.489, 10.}, {0.33837, 6.2408, 10.5}, {1.6721, 6.0222, 10.5}}], Polygon[{{0.40604, 7.489, 10.}, {-1.2134, 7.4012, 10.}, {-1.0111, 6.1677, 10.5}, {0.33837, 6.2408, 10.5}}], Polygon[{{-1.2134, 7.4012, 10.}, {-2.776, 6.9673, 10.}, {-2.3134, 5.8061, 10.5}, {-1.0111, 6.1677, 10.5}}], Polygon[{{-2.776, 6.9673, 10.}, {-4.2089, 6.2077, 10.}, {-3.5074, 5.1731, 10.5}, {-2.3134, 5.8061, 10.5}}], Polygon[{{-4.2089, 6.2077, 10.}, {-5.445, 5.1577, 10.}, {-4.5375, 4.2981, 10.5}, {-3.5074, 5.1731, 10.5}}], Polygon[{{-5.445, 5.1577, 10.}, {-6.4264, 3.8667, 10.}, {-5.3554, 3.2222, 10.5}, {-4.5375, 4.2981, 10.5}}], Polygon[{{-6.4264, 3.8667, 10.}, {-7.1074, 2.3948, 10.}, {-5.9228, 1.9956, 10.5}, {-5.3554, 3.2222, 10.5}}], Polygon[{{-7.1074, 2.3948, 10.}, {-7.456, 0.81089, 10.}, {-6.2134, 0.67574, 10.5}, {-5.9228, 1.9956, 10.5}}], Polygon[{{-7.456, 0.81089, 10.}, {-7.456, -0.81089, 10.}, {-6.2134, -0.67574, 10.5}, {-6.2134, 0.67574, 10.5}}], Polygon[{{-7.456, -0.81089, 10.}, {-7.1074, -2.3948, 10.}, {-5.9228, -1.9956, 10.5}, {-6.2134, -0.67574, 10.5}}], Polygon[{{-7.1074, -2.3948, 10.}, {-6.4264, -3.8667, 10.}, {-5.3554, -3.2222, 10.5}, {-5.9228, -1.9956, 10.5}}], Polygon[{{-6.4264, -3.8667, 10.}, {-5.445, -5.1577, 10.}, {-4.5375, -4.2981, 10.5}, {-5.3554, -3.2222, 10.5}}], Polygon[{{-5.445, -5.1577, 10.}, {-4.2089, -6.2077, 10.}, {-3.5074, -5.1731, 10.5}, {-4.5375, -4.2981, 10.5}}], Polygon[{{-4.2089, -6.2077, 10.}, {-2.776, -6.9673, 10.}, {-2.3134, -5.8061, 10.5}, {-3.5074, -5.1731, 10.5}}], Polygon[{{-2.776, -6.9673, 10.}, {-1.2134, -7.4012, 10.}, {-1.0111, -6.1677, 10.5}, {-2.3134, -5.8061, 10.5}}], Polygon[{{-1.2134, -7.4012, 10.}, {0.40604, -7.489, 10.}, {0.33837, -6.2408, 10.5}, {-1.0111, -6.1677, 10.5}}], Polygon[{{0.40604, -7.489, 10.}, {2.0065, -7.2266, 10.}, {1.6721, -6.0222, 10.5}, {0.33837, -6.2408, 10.5}}], Polygon[{{2.0065, -7.2266, 10.}, {3.5131, -6.6263, 10.}, {2.9276, -5.522, 10.5}, {1.6721, -6.0222, 10.5}}], Polygon[{{3.5131, -6.6263, 10.}, {4.8554, -5.7162, 10.}, {4.0462, -4.7635, 10.5}, {2.9276, -5.522, 10.5}}], Polygon[{{4.8554, -5.7162, 10.}, {5.9707, -4.5388, 10.}, {4.9756, -3.7823, 10.5}, {4.0462, -4.7635, 10.5}}], Polygon[{{5.9707, -4.5388, 10.}, {6.8068, -3.1492, 10.}, {5.6723, -2.6243, 10.5}, {4.9756, -3.7823, 10.5}}], Polygon[{{6.8068, -3.1492, 10.}, {7.3247, -1.6123, 10.}, {6.1039, -1.3436, 10.5}, {5.6723, -2.6243, 10.5}}], Polygon[{{7.3247, -1.6123, 10.}, {7.5, -1.8369*^-15, 10.}, {6.25, -1.5308*^-15, 10.5}, {6.1039, -1.3436, 10.5}}], Polygon[{{6.25, 0., 10.5}, {6.1039, 1.3436, 10.5}, {4.8831, 1.0749, 11.}, {5., 0., 11.}}], Polygon[{{6.1039, 1.3436, 10.5}, {5.6723, 2.6243, 10.5}, {4.5379, 2.0994, 11.}, {4.8831, 1.0749, 11.}}], Polygon[{{5.6723, 2.6243, 10.5}, {4.9756, 3.7823, 10.5}, {3.9805, 3.0259, 11.}, {4.5379, 2.0994, 11.}}], Polygon[{{4.9756, 3.7823, 10.5}, {4.0462, 4.7635, 10.5}, {3.2369, 3.8108, 11.}, {3.9805, 3.0259, 11.}}], Polygon[{{4.0462, 4.7635, 10.5}, {2.9276, 5.522, 10.5}, {2.342, 4.4176, 11.}, {3.2369, 3.8108, 11.}}], Polygon[{{2.9276, 5.522, 10.5}, {1.6721, 6.0222, 10.5}, {1.3376, 4.8177, 11.}, {2.342, 4.4176, 11.}}], Polygon[{{1.6721, 6.0222, 10.5}, {0.33837, 6.2408, 10.5}, {0.27069, 4.9927, 11.}, {1.3376, 4.8177, 11.}}], Polygon[{{0.33837, 6.2408, 10.5}, {-1.0111, 6.1677, 10.5}, {-0.80891, 4.9341, 11.}, {0.27069, 4.9927, 11.}}], Polygon[{{-1.0111, 6.1677, 10.5}, {-2.3134, 5.8061, 10.5}, {-1.8507, 4.6449, 11.}, {-0.80891, 4.9341, 11.}}], Polygon[{{-2.3134, 5.8061, 10.5}, {-3.5074, 5.1731, 10.5}, {-2.8059, 4.1384, 11.}, {-1.8507, 4.6449, 11.}}], Polygon[{{-3.5074, 5.1731, 10.5}, {-4.5375, 4.2981, 10.5}, {-3.63, 3.4385, 11.}, {-2.8059, 4.1384, 11.}}], Polygon[{{-4.5375, 4.2981, 10.5}, {-5.3554, 3.2222, 10.5}, {-4.2843, 2.5778, 11.}, {-3.63, 3.4385, 11.}}], Polygon[{{-5.3554, 3.2222, 10.5}, {-5.9228, 1.9956, 10.5}, {-4.7383, 1.5965, 11.}, {-4.2843, 2.5778, 11.}}], Polygon[{{-5.9228, 1.9956, 10.5}, {-6.2134, 0.67574, 10.5}, {-4.9707, 0.5406, 11.}, {-4.7383, 1.5965, 11.}}], Polygon[{{-6.2134, 0.67574, 10.5}, {-6.2134, -0.67574, 10.5}, {-4.9707, -0.5406, 11.}, {-4.9707, 0.5406, 11.}}], Polygon[{{-6.2134, -0.67574, 10.5}, {-5.9228, -1.9956, 10.5}, {-4.7383, -1.5965, 11.}, {-4.9707, -0.5406, 11.}}], Polygon[{{-5.9228, -1.9956, 10.5}, {-5.3554, -3.2222, 10.5}, {-4.2843, -2.5778, 11.}, {-4.7383, -1.5965, 11.}}], Polygon[{{-5.3554, -3.2222, 10.5}, {-4.5375, -4.2981, 10.5}, {-3.63, -3.4385, 11.}, {-4.2843, -2.5778, 11.}}], Polygon[{{-4.5375, -4.2981, 10.5}, {-3.5074, -5.1731, 10.5}, {-2.8059, -4.1384, 11.}, {-3.63, -3.4385, 11.}}], Polygon[{{-3.5074, -5.1731, 10.5}, {-2.3134, -5.8061, 10.5}, {-1.8507, -4.6449, 11.}, {-2.8059, -4.1384, 11.}}], Polygon[{{-2.3134, -5.8061, 10.5}, {-1.0111, -6.1677, 10.5}, {-0.80891, -4.9341, 11.}, {-1.8507, -4.6449, 11.}}], Polygon[{{-1.0111, -6.1677, 10.5}, {0.33837, -6.2408, 10.5}, {0.27069, -4.9927, 11.}, {-0.80891, -4.9341, 11.}}], Polygon[{{0.33837, -6.2408, 10.5}, {1.6721, -6.0222, 10.5}, {1.3376, -4.8177, 11.}, {0.27069, -4.9927, 11.}}], Polygon[{{1.6721, -6.0222, 10.5}, {2.9276, -5.522, 10.5}, {2.342, -4.4176, 11.}, {1.3376, -4.8177, 11.}}], Polygon[{{2.9276, -5.522, 10.5}, {4.0462, -4.7635, 10.5}, {3.2369, -3.8108, 11.}, {2.342, -4.4176, 11.}}], Polygon[{{4.0462, -4.7635, 10.5}, {4.9756, -3.7823, 10.5}, {3.9805, -3.0259, 11.}, {3.2369, -3.8108, 11.}}], Polygon[{{4.9756, -3.7823, 10.5}, {5.6723, -2.6243, 10.5}, {4.5379, -2.0994, 11.}, {3.9805, -3.0259, 11.}}], Polygon[{{5.6723, -2.6243, 10.5}, {6.1039, -1.3436, 10.5}, {4.8831, -1.0749, 11.}, {4.5379, -2.0994, 11.}}], Polygon[{{6.1039, -1.3436, 10.5}, {6.25, -1.5308*^-15, 10.5}, {5., -1.2246*^-15, 11.}, {4.8831, -1.0749, 11.}}]}, {Polygon[{{5., 0., 11.}, {4.8831, 1.0749, 11.}, {4.8831, 1.0749, 14.5}, {5., 0., 14.5}}], Polygon[{{4.8831, 1.0749, 11.}, {4.5379, 2.0994, 11.}, {4.5379, 2.0994, 14.5}, {4.8831, 1.0749, 14.5}}], Polygon[{{4.5379, 2.0994, 11.}, {3.9805, 3.0259, 11.}, {3.9805, 3.0259, 14.5}, {4.5379, 2.0994, 14.5}}], Polygon[{{3.9805, 3.0259, 11.}, {3.2369, 3.8108, 11.}, {3.2369, 3.8108, 14.5}, {3.9805, 3.0259, 14.5}}], Polygon[{{3.2369, 3.8108, 11.}, {2.342, 4.4176, 11.}, {2.342, 4.4176, 14.5}, {3.2369, 3.8108, 14.5}}], Polygon[{{2.342, 4.4176, 11.}, {1.3376, 4.8177, 11.}, {1.3376, 4.8177, 14.5}, {2.342, 4.4176, 14.5}}], Polygon[{{1.3376, 4.8177, 11.}, {0.27069, 4.9927, 11.}, {0.27069, 4.9927, 14.5}, {1.3376, 4.8177, 14.5}}], Polygon[{{0.27069, 4.9927, 11.}, {-0.80891, 4.9341, 11.}, {-0.80891, 4.9341, 14.5}, {0.27069, 4.9927, 14.5}}], Polygon[{{-0.80891, 4.9341, 11.}, {-1.8507, 4.6449, 11.}, {-1.8507, 4.6449, 14.5}, {-0.80891, 4.9341, 14.5}}], Polygon[{{-1.8507, 4.6449, 11.}, {-2.8059, 4.1384, 11.}, {-2.8059, 4.1384, 14.5}, {-1.8507, 4.6449, 14.5}}], Polygon[{{-2.8059, 4.1384, 11.}, {-3.63, 3.4385, 11.}, {-3.63, 3.4385, 14.5}, {-2.8059, 4.1384, 14.5}}], Polygon[{{-3.63, 3.4385, 11.}, {-4.2843, 2.5778, 11.}, {-4.2843, 2.5778, 14.5}, {-3.63, 3.4385, 14.5}}], Polygon[{{-4.2843, 2.5778, 11.}, {-4.7383, 1.5965, 11.}, {-4.7383, 1.5965, 14.5}, {-4.2843, 2.5778, 14.5}}], Polygon[{{-4.7383, 1.5965, 11.}, {-4.9707, 0.5406, 11.}, {-4.9707, 0.5406, 14.5}, {-4.7383, 1.5965, 14.5}}], Polygon[{{-4.9707, 0.5406, 11.}, {-4.9707, -0.5406, 11.}, {-4.9707, -0.5406, 14.5}, {-4.9707, 0.5406, 14.5}}], Polygon[{{-4.9707, -0.5406, 11.}, {-4.7383, -1.5965, 11.}, {-4.7383, -1.5965, 14.5}, {-4.9707, -0.5406, 14.5}}], Polygon[{{-4.7383, -1.5965, 11.}, {-4.2843, -2.5778, 11.}, {-4.2843, -2.5778, 14.5}, {-4.7383, -1.5965, 14.5}}], Polygon[{{-4.2843, -2.5778, 11.}, {-3.63, -3.4385, 11.}, {-3.63, -3.4385, 14.5}, {-4.2843, -2.5778, 14.5}}], Polygon[{{-3.63, -3.4385, 11.}, {-2.8059, -4.1384, 11.}, {-2.8059, -4.1384, 14.5}, {-3.63, -3.4385, 14.5}}], Polygon[{{-2.8059, -4.1384, 11.}, {-1.8507, -4.6449, 11.}, {-1.8507, -4.6449, 14.5}, {-2.8059, -4.1384, 14.5}}], Polygon[{{-1.8507, -4.6449, 11.}, {-0.80891, -4.9341, 11.}, {-0.80891, -4.9341, 14.5}, {-1.8507, -4.6449, 14.5}}], Polygon[{{-0.80891, -4.9341, 11.}, {0.27069, -4.9927, 11.}, {0.27069, -4.9927, 14.5}, {-0.80891, -4.9341, 14.5}}], Polygon[{{0.27069, -4.9927, 11.}, {1.3376, -4.8177, 11.}, {1.3376, -4.8177, 14.5}, {0.27069, -4.9927, 14.5}}], Polygon[{{1.3376, -4.8177, 11.}, {2.342, -4.4176, 11.}, {2.342, -4.4176, 14.5}, {1.3376, -4.8177, 14.5}}], Polygon[{{2.342, -4.4176, 11.}, {3.2369, -3.8108, 11.}, {3.2369, -3.8108, 14.5}, {2.342, -4.4176, 14.5}}], Polygon[{{3.2369, -3.8108, 11.}, {3.9805, -3.0259, 11.}, {3.9805, -3.0259, 14.5}, {3.2369, -3.8108, 14.5}}], Polygon[{{3.9805, -3.0259, 11.}, {4.5379, -2.0994, 11.}, {4.5379, -2.0994, 14.5}, {3.9805, -3.0259, 14.5}}], Polygon[{{4.5379, -2.0994, 11.}, {4.8831, -1.0749, 11.}, {4.8831, -1.0749, 14.5}, {4.5379, -2.0994, 14.5}}], Polygon[{{4.8831, -1.0749, 11.}, {5., -1.2246*^-15, 11.}, {5., -1.2246*^-15, 14.5}, {4.8831, -1.0749, 14.5}}], Polygon[{{5., 0., 14.5}, {4.8831, 1.0749, 14.5}, {4.8831, 1.0749, 18.}, {5., 0., 18.}}], Polygon[{{4.8831, 1.0749, 14.5}, {4.5379, 2.0994, 14.5}, {4.5379, 2.0994, 18.}, {4.8831, 1.0749, 18.}}], Polygon[{{4.5379, 2.0994, 14.5}, {3.9805, 3.0259, 14.5}, {3.9805, 3.0259, 18.}, {4.5379, 2.0994, 18.}}], Polygon[{{3.9805, 3.0259, 14.5}, {3.2369, 3.8108, 14.5}, {3.2369, 3.8108, 18.}, {3.9805, 3.0259, 18.}}], Polygon[{{3.2369, 3.8108, 14.5}, {2.342, 4.4176, 14.5}, {2.342, 4.4176, 18.}, {3.2369, 3.8108, 18.}}], Polygon[{{2.342, 4.4176, 14.5}, {1.3376, 4.8177, 14.5}, {1.3376, 4.8177, 18.}, {2.342, 4.4176, 18.}}], Polygon[{{1.3376, 4.8177, 14.5}, {0.27069, 4.9927, 14.5}, {0.27069, 4.9927, 18.}, {1.3376, 4.8177, 18.}}], Polygon[{{0.27069, 4.9927, 14.5}, {-0.80891, 4.9341, 14.5}, {-0.80891, 4.9341, 18.}, {0.27069, 4.9927, 18.}}], Polygon[{{-0.80891, 4.9341, 14.5}, {-1.8507, 4.6449, 14.5}, {-1.8507, 4.6449, 18.}, {-0.80891, 4.9341, 18.}}], Polygon[{{-1.8507, 4.6449, 14.5}, {-2.8059, 4.1384, 14.5}, {-2.8059, 4.1384, 18.}, {-1.8507, 4.6449, 18.}}], Polygon[{{-2.8059, 4.1384, 14.5}, {-3.63, 3.4385, 14.5}, {-3.63, 3.4385, 18.}, {-2.8059, 4.1384, 18.}}], Polygon[{{-3.63, 3.4385, 14.5}, {-4.2843, 2.5778, 14.5}, {-4.2843, 2.5778, 18.}, {-3.63, 3.4385, 18.}}], Polygon[{{-4.2843, 2.5778, 14.5}, {-4.7383, 1.5965, 14.5}, {-4.7383, 1.5965, 18.}, {-4.2843, 2.5778, 18.}}], Polygon[{{-4.7383, 1.5965, 14.5}, {-4.9707, 0.5406, 14.5}, {-4.9707, 0.5406, 18.}, {-4.7383, 1.5965, 18.}}], Polygon[{{-4.9707, 0.5406, 14.5}, {-4.9707, -0.5406, 14.5}, {-4.9707, -0.5406, 18.}, {-4.9707, 0.5406, 18.}}], Polygon[{{-4.9707, -0.5406, 14.5}, {-4.7383, -1.5965, 14.5}, {-4.7383, -1.5965, 18.}, {-4.9707, -0.5406, 18.}}], Polygon[{{-4.7383, -1.5965, 14.5}, {-4.2843, -2.5778, 14.5}, {-4.2843, -2.5778, 18.}, {-4.7383, -1.5965, 18.}}], Polygon[{{-4.2843, -2.5778, 14.5}, {-3.63, -3.4385, 14.5}, {-3.63, -3.4385, 18.}, {-4.2843, -2.5778, 18.}}], Polygon[{{-3.63, -3.4385, 14.5}, {-2.8059, -4.1384, 14.5}, {-2.8059, -4.1384, 18.}, {-3.63, -3.4385, 18.}}], Polygon[{{-2.8059, -4.1384, 14.5}, {-1.8507, -4.6449, 14.5}, {-1.8507, -4.6449, 18.}, {-2.8059, -4.1384, 18.}}], Polygon[{{-1.8507, -4.6449, 14.5}, {-0.80891, -4.9341, 14.5}, {-0.80891, -4.9341, 18.}, {-1.8507, -4.6449, 18.}}], Polygon[{{-0.80891, -4.9341, 14.5}, {0.27069, -4.9927, 14.5}, {0.27069, -4.9927, 18.}, {-0.80891, -4.9341, 18.}}], Polygon[{{0.27069, -4.9927, 14.5}, {1.3376, -4.8177, 14.5}, {1.3376, -4.8177, 18.}, {0.27069, -4.9927, 18.}}], Polygon[{{1.3376, -4.8177, 14.5}, {2.342, -4.4176, 14.5}, {2.342, -4.4176, 18.}, {1.3376, -4.8177, 18.}}], Polygon[{{2.342, -4.4176, 14.5}, {3.2369, -3.8108, 14.5}, {3.2369, -3.8108, 18.}, {2.342, -4.4176, 18.}}], Polygon[{{3.2369, -3.8108, 14.5}, {3.9805, -3.0259, 14.5}, {3.9805, -3.0259, 18.}, {3.2369, -3.8108, 18.}}], Polygon[{{3.9805, -3.0259, 14.5}, {4.5379, -2.0994, 14.5}, {4.5379, -2.0994, 18.}, {3.9805, -3.0259, 18.}}], Polygon[{{4.5379, -2.0994, 14.5}, {4.8831, -1.0749, 14.5}, {4.8831, -1.0749, 18.}, {4.5379, -2.0994, 18.}}], Polygon[{{4.8831, -1.0749, 14.5}, {5., -1.2246*^-15, 14.5}, {5., -1.2246*^-15, 18.}, {4.8831, -1.0749, 18.}}], Polygon[{{5., 0., 18.}, {4.8831, 1.0749, 18.}, {4.8831, 1.0749, 21.5}, {5., 0., 21.5}}], Polygon[{{4.8831, 1.0749, 18.}, {4.5379, 2.0994, 18.}, {4.5379, 2.0994, 21.5}, {4.8831, 1.0749, 21.5}}], Polygon[{{4.5379, 2.0994, 18.}, {3.9805, 3.0259, 18.}, {3.9805, 3.0259, 21.5}, {4.5379, 2.0994, 21.5}}], Polygon[{{3.9805, 3.0259, 18.}, {3.2369, 3.8108, 18.}, {3.2369, 3.8108, 21.5}, {3.9805, 3.0259, 21.5}}], Polygon[{{3.2369, 3.8108, 18.}, {2.342, 4.4176, 18.}, {2.342, 4.4176, 21.5}, {3.2369, 3.8108, 21.5}}], Polygon[{{2.342, 4.4176, 18.}, {1.3376, 4.8177, 18.}, {1.3376, 4.8177, 21.5}, {2.342, 4.4176, 21.5}}], Polygon[{{1.3376, 4.8177, 18.}, {0.27069, 4.9927, 18.}, {0.27069, 4.9927, 21.5}, {1.3376, 4.8177, 21.5}}], Polygon[{{0.27069, 4.9927, 18.}, {-0.80891, 4.9341, 18.}, {-0.80891, 4.9341, 21.5}, {0.27069, 4.9927, 21.5}}], Polygon[{{-0.80891, 4.9341, 18.}, {-1.8507, 4.6449, 18.}, {-1.8507, 4.6449, 21.5}, {-0.80891, 4.9341, 21.5}}], Polygon[{{-1.8507, 4.6449, 18.}, {-2.8059, 4.1384, 18.}, {-2.8059, 4.1384, 21.5}, {-1.8507, 4.6449, 21.5}}], Polygon[{{-2.8059, 4.1384, 18.}, {-3.63, 3.4385, 18.}, {-3.63, 3.4385, 21.5}, {-2.8059, 4.1384, 21.5}}], Polygon[{{-3.63, 3.4385, 18.}, {-4.2843, 2.5778, 18.}, {-4.2843, 2.5778, 21.5}, {-3.63, 3.4385, 21.5}}], Polygon[{{-4.2843, 2.5778, 18.}, {-4.7383, 1.5965, 18.}, {-4.7383, 1.5965, 21.5}, {-4.2843, 2.5778, 21.5}}], Polygon[{{-4.7383, 1.5965, 18.}, {-4.9707, 0.5406, 18.}, {-4.9707, 0.5406, 21.5}, {-4.7383, 1.5965, 21.5}}], Polygon[{{-4.9707, 0.5406, 18.}, {-4.9707, -0.5406, 18.}, {-4.9707, -0.5406, 21.5}, {-4.9707, 0.5406, 21.5}}], Polygon[{{-4.9707, -0.5406, 18.}, {-4.7383, -1.5965, 18.}, {-4.7383, -1.5965, 21.5}, {-4.9707, -0.5406, 21.5}}], Polygon[{{-4.7383, -1.5965, 18.}, {-4.2843, -2.5778, 18.}, {-4.2843, -2.5778, 21.5}, {-4.7383, -1.5965, 21.5}}], Polygon[{{-4.2843, -2.5778, 18.}, {-3.63, -3.4385, 18.}, {-3.63, -3.4385, 21.5}, {-4.2843, -2.5778, 21.5}}], Polygon[{{-3.63, -3.4385, 18.}, {-2.8059, -4.1384, 18.}, {-2.8059, -4.1384, 21.5}, {-3.63, -3.4385, 21.5}}], Polygon[{{-2.8059, -4.1384, 18.}, {-1.8507, -4.6449, 18.}, {-1.8507, -4.6449, 21.5}, {-2.8059, -4.1384, 21.5}}], Polygon[{{-1.8507, -4.6449, 18.}, {-0.80891, -4.9341, 18.}, {-0.80891, -4.9341, 21.5}, {-1.8507, -4.6449, 21.5}}], Polygon[{{-0.80891, -4.9341, 18.}, {0.27069, -4.9927, 18.}, {0.27069, -4.9927, 21.5}, {-0.80891, -4.9341, 21.5}}], Polygon[{{0.27069, -4.9927, 18.}, {1.3376, -4.8177, 18.}, {1.3376, -4.8177, 21.5}, {0.27069, -4.9927, 21.5}}], Polygon[{{1.3376, -4.8177, 18.}, {2.342, -4.4176, 18.}, {2.342, -4.4176, 21.5}, {1.3376, -4.8177, 21.5}}], Polygon[{{2.342, -4.4176, 18.}, {3.2369, -3.8108, 18.}, {3.2369, -3.8108, 21.5}, {2.342, -4.4176, 21.5}}], Polygon[{{3.2369, -3.8108, 18.}, {3.9805, -3.0259, 18.}, {3.9805, -3.0259, 21.5}, {3.2369, -3.8108, 21.5}}], Polygon[{{3.9805, -3.0259, 18.}, {4.5379, -2.0994, 18.}, {4.5379, -2.0994, 21.5}, {3.9805, -3.0259, 21.5}}], Polygon[{{4.5379, -2.0994, 18.}, {4.8831, -1.0749, 18.}, {4.8831, -1.0749, 21.5}, {4.5379, -2.0994, 21.5}}], Polygon[{{4.8831, -1.0749, 18.}, {5., -1.2246*^-15, 18.}, {5., -1.2246*^-15, 21.5}, {4.8831, -1.0749, 21.5}}], Polygon[{{5., 0., 21.5}, {4.8831, 1.0749, 21.5}, {4.8831, 1.0749, 25.}, {5., 0., 25.}}], Polygon[{{4.8831, 1.0749, 21.5}, {4.5379, 2.0994, 21.5}, {4.5379, 2.0994, 25.}, {4.8831, 1.0749, 25.}}], Polygon[{{4.5379, 2.0994, 21.5}, {3.9805, 3.0259, 21.5}, {3.9805, 3.0259, 25.}, {4.5379, 2.0994, 25.}}], Polygon[{{3.9805, 3.0259, 21.5}, {3.2369, 3.8108, 21.5}, {3.2369, 3.8108, 25.}, {3.9805, 3.0259, 25.}}], Polygon[{{3.2369, 3.8108, 21.5}, {2.342, 4.4176, 21.5}, {2.342, 4.4176, 25.}, {3.2369, 3.8108, 25.}}], Polygon[{{2.342, 4.4176, 21.5}, {1.3376, 4.8177, 21.5}, {1.3376, 4.8177, 25.}, {2.342, 4.4176, 25.}}], Polygon[{{1.3376, 4.8177, 21.5}, {0.27069, 4.9927, 21.5}, {0.27069, 4.9927, 25.}, {1.3376, 4.8177, 25.}}], Polygon[{{0.27069, 4.9927, 21.5}, {-0.80891, 4.9341, 21.5}, {-0.80891, 4.9341, 25.}, {0.27069, 4.9927, 25.}}], Polygon[{{-0.80891, 4.9341, 21.5}, {-1.8507, 4.6449, 21.5}, {-1.8507, 4.6449, 25.}, {-0.80891, 4.9341, 25.}}], Polygon[{{-1.8507, 4.6449, 21.5}, {-2.8059, 4.1384, 21.5}, {-2.8059, 4.1384, 25.}, {-1.8507, 4.6449, 25.}}], Polygon[{{-2.8059, 4.1384, 21.5}, {-3.63, 3.4385, 21.5}, {-3.63, 3.4385, 25.}, {-2.8059, 4.1384, 25.}}], Polygon[{{-3.63, 3.4385, 21.5}, {-4.2843, 2.5778, 21.5}, {-4.2843, 2.5778, 25.}, {-3.63, 3.4385, 25.}}], Polygon[{{-4.2843, 2.5778, 21.5}, {-4.7383, 1.5965, 21.5}, {-4.7383, 1.5965, 25.}, {-4.2843, 2.5778, 25.}}], Polygon[{{-4.7383, 1.5965, 21.5}, {-4.9707, 0.5406, 21.5}, {-4.9707, 0.5406, 25.}, {-4.7383, 1.5965, 25.}}], Polygon[{{-4.9707, 0.5406, 21.5}, {-4.9707, -0.5406, 21.5}, {-4.9707, -0.5406, 25.}, {-4.9707, 0.5406, 25.}}], Polygon[{{-4.9707, -0.5406, 21.5}, {-4.7383, -1.5965, 21.5}, {-4.7383, -1.5965, 25.}, {-4.9707, -0.5406, 25.}}], Polygon[{{-4.7383, -1.5965, 21.5}, {-4.2843, -2.5778, 21.5}, {-4.2843, -2.5778, 25.}, {-4.7383, -1.5965, 25.}}], Polygon[{{-4.2843, -2.5778, 21.5}, {-3.63, -3.4385, 21.5}, {-3.63, -3.4385, 25.}, {-4.2843, -2.5778, 25.}}], Polygon[{{-3.63, -3.4385, 21.5}, {-2.8059, -4.1384, 21.5}, {-2.8059, -4.1384, 25.}, {-3.63, -3.4385, 25.}}], Polygon[{{-2.8059, -4.1384, 21.5}, {-1.8507, -4.6449, 21.5}, {-1.8507, -4.6449, 25.}, {-2.8059, -4.1384, 25.}}], Polygon[{{-1.8507, -4.6449, 21.5}, {-0.80891, -4.9341, 21.5}, {-0.80891, -4.9341, 25.}, {-1.8507, -4.6449, 25.}}], Polygon[{{-0.80891, -4.9341, 21.5}, {0.27069, -4.9927, 21.5}, {0.27069, -4.9927, 25.}, {-0.80891, -4.9341, 25.}}], Polygon[{{0.27069, -4.9927, 21.5}, {1.3376, -4.8177, 21.5}, {1.3376, -4.8177, 25.}, {0.27069, -4.9927, 25.}}], Polygon[{{1.3376, -4.8177, 21.5}, {2.342, -4.4176, 21.5}, {2.342, -4.4176, 25.}, {1.3376, -4.8177, 25.}}], Polygon[{{2.342, -4.4176, 21.5}, {3.2369, -3.8108, 21.5}, {3.2369, -3.8108, 25.}, {2.342, -4.4176, 25.}}], Polygon[{{3.2369, -3.8108, 21.5}, {3.9805, -3.0259, 21.5}, {3.9805, -3.0259, 25.}, {3.2369, -3.8108, 25.}}], Polygon[{{3.9805, -3.0259, 21.5}, {4.5379, -2.0994, 21.5}, {4.5379, -2.0994, 25.}, {3.9805, -3.0259, 25.}}], Polygon[{{4.5379, -2.0994, 21.5}, {4.8831, -1.0749, 21.5}, {4.8831, -1.0749, 25.}, {4.5379, -2.0994, 25.}}], Polygon[{{4.8831, -1.0749, 21.5}, {5., -1.2246*^-15, 21.5}, {5., -1.2246*^-15, 25.}, {4.8831, -1.0749, 25.}}]}, {Polygon[{{5., 0., 25.}, {4.8831, 1.0749, 25.}, {6.1039, 1.3436, 25.5}, {6.25, 0., 25.5}}], Polygon[{{4.8831, 1.0749, 25.}, {4.5379, 2.0994, 25.}, {5.6723, 2.6243, 25.5}, {6.1039, 1.3436, 25.5}}], Polygon[{{4.5379, 2.0994, 25.}, {3.9805, 3.0259, 25.}, {4.9756, 3.7823, 25.5}, {5.6723, 2.6243, 25.5}}], Polygon[{{3.9805, 3.0259, 25.}, {3.2369, 3.8108, 25.}, {4.0462, 4.7635, 25.5}, {4.9756, 3.7823, 25.5}}], Polygon[{{3.2369, 3.8108, 25.}, {2.342, 4.4176, 25.}, {2.9276, 5.522, 25.5}, {4.0462, 4.7635, 25.5}}], Polygon[{{2.342, 4.4176, 25.}, {1.3376, 4.8177, 25.}, {1.6721, 6.0222, 25.5}, {2.9276, 5.522, 25.5}}], Polygon[{{1.3376, 4.8177, 25.}, {0.27069, 4.9927, 25.}, {0.33837, 6.2408, 25.5}, {1.6721, 6.0222, 25.5}}], Polygon[{{0.27069, 4.9927, 25.}, {-0.80891, 4.9341, 25.}, {-1.0111, 6.1677, 25.5}, {0.33837, 6.2408, 25.5}}], Polygon[{{-0.80891, 4.9341, 25.}, {-1.8507, 4.6449, 25.}, {-2.3134, 5.8061, 25.5}, {-1.0111, 6.1677, 25.5}}], Polygon[{{-1.8507, 4.6449, 25.}, {-2.8059, 4.1384, 25.}, {-3.5074, 5.1731, 25.5}, {-2.3134, 5.8061, 25.5}}], Polygon[{{-2.8059, 4.1384, 25.}, {-3.63, 3.4385, 25.}, {-4.5375, 4.2981, 25.5}, {-3.5074, 5.1731, 25.5}}], Polygon[{{-3.63, 3.4385, 25.}, {-4.2843, 2.5778, 25.}, {-5.3554, 3.2222, 25.5}, {-4.5375, 4.2981, 25.5}}], Polygon[{{-4.2843, 2.5778, 25.}, {-4.7383, 1.5965, 25.}, {-5.9228, 1.9956, 25.5}, {-5.3554, 3.2222, 25.5}}], Polygon[{{-4.7383, 1.5965, 25.}, {-4.9707, 0.5406, 25.}, {-6.2134, 0.67574, 25.5}, {-5.9228, 1.9956, 25.5}}], Polygon[{{-4.9707, 0.5406, 25.}, {-4.9707, -0.5406, 25.}, {-6.2134, -0.67574, 25.5}, {-6.2134, 0.67574, 25.5}}], Polygon[{{-4.9707, -0.5406, 25.}, {-4.7383, -1.5965, 25.}, {-5.9228, -1.9956, 25.5}, {-6.2134, -0.67574, 25.5}}], Polygon[{{-4.7383, -1.5965, 25.}, {-4.2843, -2.5778, 25.}, {-5.3554, -3.2222, 25.5}, {-5.9228, -1.9956, 25.5}}], Polygon[{{-4.2843, -2.5778, 25.}, {-3.63, -3.4385, 25.}, {-4.5375, -4.2981, 25.5}, {-5.3554, -3.2222, 25.5}}], Polygon[{{-3.63, -3.4385, 25.}, {-2.8059, -4.1384, 25.}, {-3.5074, -5.1731, 25.5}, {-4.5375, -4.2981, 25.5}}], Polygon[{{-2.8059, -4.1384, 25.}, {-1.8507, -4.6449, 25.}, {-2.3134, -5.8061, 25.5}, {-3.5074, -5.1731, 25.5}}], Polygon[{{-1.8507, -4.6449, 25.}, {-0.80891, -4.9341, 25.}, {-1.0111, -6.1677, 25.5}, {-2.3134, -5.8061, 25.5}}], Polygon[{{-0.80891, -4.9341, 25.}, {0.27069, -4.9927, 25.}, {0.33837, -6.2408, 25.5}, {-1.0111, -6.1677, 25.5}}], Polygon[{{0.27069, -4.9927, 25.}, {1.3376, -4.8177, 25.}, {1.6721, -6.0222, 25.5}, {0.33837, -6.2408, 25.5}}], Polygon[{{1.3376, -4.8177, 25.}, {2.342, -4.4176, 25.}, {2.9276, -5.522, 25.5}, {1.6721, -6.0222, 25.5}}], Polygon[{{2.342, -4.4176, 25.}, {3.2369, -3.8108, 25.}, {4.0462, -4.7635, 25.5}, {2.9276, -5.522, 25.5}}], Polygon[{{3.2369, -3.8108, 25.}, {3.9805, -3.0259, 25.}, {4.9756, -3.7823, 25.5}, {4.0462, -4.7635, 25.5}}], Polygon[{{3.9805, -3.0259, 25.}, {4.5379, -2.0994, 25.}, {5.6723, -2.6243, 25.5}, {4.9756, -3.7823, 25.5}}], Polygon[{{4.5379, -2.0994, 25.}, {4.8831, -1.0749, 25.}, {6.1039, -1.3436, 25.5}, {5.6723, -2.6243, 25.5}}], Polygon[{{4.8831, -1.0749, 25.}, {5., -1.2246*^-15, 25.}, {6.25, -1.5308*^-15, 25.5}, {6.1039, -1.3436, 25.5}}], Polygon[{{6.25, 0., 25.5}, {6.1039, 1.3436, 25.5}, {7.3247, 1.6123, 26.}, {7.5, 0., 26.}}], Polygon[{{6.1039, 1.3436, 25.5}, {5.6723, 2.6243, 25.5}, {6.8068, 3.1492, 26.}, {7.3247, 1.6123, 26.}}], Polygon[{{5.6723, 2.6243, 25.5}, {4.9756, 3.7823, 25.5}, {5.9707, 4.5388, 26.}, {6.8068, 3.1492, 26.}}], Polygon[{{4.9756, 3.7823, 25.5}, {4.0462, 4.7635, 25.5}, {4.8554, 5.7162, 26.}, {5.9707, 4.5388, 26.}}], Polygon[{{4.0462, 4.7635, 25.5}, {2.9276, 5.522, 25.5}, {3.5131, 6.6263, 26.}, {4.8554, 5.7162, 26.}}], Polygon[{{2.9276, 5.522, 25.5}, {1.6721, 6.0222, 25.5}, {2.0065, 7.2266, 26.}, {3.5131, 6.6263, 26.}}], Polygon[{{1.6721, 6.0222, 25.5}, {0.33837, 6.2408, 25.5}, {0.40604, 7.489, 26.}, {2.0065, 7.2266, 26.}}], Polygon[{{0.33837, 6.2408, 25.5}, {-1.0111, 6.1677, 25.5}, {-1.2134, 7.4012, 26.}, {0.40604, 7.489, 26.}}], Polygon[{{-1.0111, 6.1677, 25.5}, {-2.3134, 5.8061, 25.5}, {-2.776, 6.9673, 26.}, {-1.2134, 7.4012, 26.}}], Polygon[{{-2.3134, 5.8061, 25.5}, {-3.5074, 5.1731, 25.5}, {-4.2089, 6.2077, 26.}, {-2.776, 6.9673, 26.}}], Polygon[{{-3.5074, 5.1731, 25.5}, {-4.5375, 4.2981, 25.5}, {-5.445, 5.1577, 26.}, {-4.2089, 6.2077, 26.}}], Polygon[{{-4.5375, 4.2981, 25.5}, {-5.3554, 3.2222, 25.5}, {-6.4264, 3.8667, 26.}, {-5.445, 5.1577, 26.}}], Polygon[{{-5.3554, 3.2222, 25.5}, {-5.9228, 1.9956, 25.5}, {-7.1074, 2.3948, 26.}, {-6.4264, 3.8667, 26.}}], Polygon[{{-5.9228, 1.9956, 25.5}, {-6.2134, 0.67574, 25.5}, {-7.456, 0.81089, 26.}, {-7.1074, 2.3948, 26.}}], Polygon[{{-6.2134, 0.67574, 25.5}, {-6.2134, -0.67574, 25.5}, {-7.456, -0.81089, 26.}, {-7.456, 0.81089, 26.}}], Polygon[{{-6.2134, -0.67574, 25.5}, {-5.9228, -1.9956, 25.5}, {-7.1074, -2.3948, 26.}, {-7.456, -0.81089, 26.}}], Polygon[{{-5.9228, -1.9956, 25.5}, {-5.3554, -3.2222, 25.5}, {-6.4264, -3.8667, 26.}, {-7.1074, -2.3948, 26.}}], Polygon[{{-5.3554, -3.2222, 25.5}, {-4.5375, -4.2981, 25.5}, {-5.445, -5.1577, 26.}, {-6.4264, -3.8667, 26.}}], Polygon[{{-4.5375, -4.2981, 25.5}, {-3.5074, -5.1731, 25.5}, {-4.2089, -6.2077, 26.}, {-5.445, -5.1577, 26.}}], Polygon[{{-3.5074, -5.1731, 25.5}, {-2.3134, -5.8061, 25.5}, {-2.776, -6.9673, 26.}, {-4.2089, -6.2077, 26.}}], Polygon[{{-2.3134, -5.8061, 25.5}, {-1.0111, -6.1677, 25.5}, {-1.2134, -7.4012, 26.}, {-2.776, -6.9673, 26.}}], Polygon[{{-1.0111, -6.1677, 25.5}, {0.33837, -6.2408, 25.5}, {0.40604, -7.489, 26.}, {-1.2134, -7.4012, 26.}}], Polygon[{{0.33837, -6.2408, 25.5}, {1.6721, -6.0222, 25.5}, {2.0065, -7.2266, 26.}, {0.40604, -7.489, 26.}}], Polygon[{{1.6721, -6.0222, 25.5}, {2.9276, -5.522, 25.5}, {3.5131, -6.6263, 26.}, {2.0065, -7.2266, 26.}}], Polygon[{{2.9276, -5.522, 25.5}, {4.0462, -4.7635, 25.5}, {4.8554, -5.7162, 26.}, {3.5131, -6.6263, 26.}}], Polygon[{{4.0462, -4.7635, 25.5}, {4.9756, -3.7823, 25.5}, {5.9707, -4.5388, 26.}, {4.8554, -5.7162, 26.}}], Polygon[{{4.9756, -3.7823, 25.5}, {5.6723, -2.6243, 25.5}, {6.8068, -3.1492, 26.}, {5.9707, -4.5388, 26.}}], Polygon[{{5.6723, -2.6243, 25.5}, {6.1039, -1.3436, 25.5}, {7.3247, -1.6123, 26.}, {6.8068, -3.1492, 26.}}], Polygon[{{6.1039, -1.3436, 25.5}, {6.25, -1.5308*^-15, 25.5}, {7.5, -1.8369*^-15, 26.}, {7.3247, -1.6123, 26.}}], Polygon[{{7.5, 0., 26.}, {7.3247, 1.6123, 26.}, {8.5454, 1.881, 26.5}, {8.75, 0., 26.5}}], Polygon[{{7.3247, 1.6123, 26.}, {6.8068, 3.1492, 26.}, {7.9413, 3.674, 26.5}, {8.5454, 1.881, 26.5}}], Polygon[{{6.8068, 3.1492, 26.}, {5.9707, 4.5388, 26.}, {6.9658, 5.2953, 26.5}, {7.9413, 3.674, 26.5}}], Polygon[{{5.9707, 4.5388, 26.}, {4.8554, 5.7162, 26.}, {5.6646, 6.6689, 26.5}, {6.9658, 5.2953, 26.5}}], Polygon[{{4.8554, 5.7162, 26.}, {3.5131, 6.6263, 26.}, {4.0986, 7.7307, 26.5}, {5.6646, 6.6689, 26.5}}], Polygon[{{3.5131, 6.6263, 26.}, {2.0065, 7.2266, 26.}, {2.3409, 8.4311, 26.5}, {4.0986, 7.7307, 26.5}}], Polygon[{{2.0065, 7.2266, 26.}, {0.40604, 7.489, 26.}, {0.47372, 8.7372, 26.5}, {2.3409, 8.4311, 26.5}}], Polygon[{{0.40604, 7.489, 26.}, {-1.2134, 7.4012, 26.}, {-1.4156, 8.6347, 26.5}, {0.47372, 8.7372, 26.5}}], Polygon[{{-1.2134, 7.4012, 26.}, {-2.776, 6.9673, 26.}, {-3.2387, 8.1285, 26.5}, {-1.4156, 8.6347, 26.5}}], Polygon[{{-2.776, 6.9673, 26.}, {-4.2089, 6.2077, 26.}, {-4.9104, 7.2423, 26.5}, {-3.2387, 8.1285, 26.5}}], Polygon[{{-4.2089, 6.2077, 26.}, {-5.445, 5.1577, 26.}, {-6.3525, 6.0174, 26.5}, {-4.9104, 7.2423, 26.5}}], Polygon[{{-5.445, 5.1577, 26.}, {-6.4264, 3.8667, 26.}, {-7.4975, 4.5111, 26.5}, {-6.3525, 6.0174, 26.5}}], Polygon[{{-6.4264, 3.8667, 26.}, {-7.1074, 2.3948, 26.}, {-8.292, 2.7939, 26.5}, {-7.4975, 4.5111, 26.5}}], Polygon[{{-7.1074, 2.3948, 26.}, {-7.456, 0.81089, 26.}, {-8.6987, 0.94604, 26.5}, {-8.292, 2.7939, 26.5}}], Polygon[{{-7.456, 0.81089, 26.}, {-7.456, -0.81089, 26.}, {-8.6987, -0.94604, 26.5}, {-8.6987, 0.94604, 26.5}}], Polygon[{{-7.456, -0.81089, 26.}, {-7.1074, -2.3948, 26.}, {-8.292, -2.7939, 26.5}, {-8.6987, -0.94604, 26.5}}], Polygon[{{-7.1074, -2.3948, 26.}, {-6.4264, -3.8667, 26.}, {-7.4975, -4.5111, 26.5}, {-8.292, -2.7939, 26.5}}], Polygon[{{-6.4264, -3.8667, 26.}, {-5.445, -5.1577, 26.}, {-6.3525, -6.0174, 26.5}, {-7.4975, -4.5111, 26.5}}], Polygon[{{-5.445, -5.1577, 26.}, {-4.2089, -6.2077, 26.}, {-4.9104, -7.2423, 26.5}, {-6.3525, -6.0174, 26.5}}], Polygon[{{-4.2089, -6.2077, 26.}, {-2.776, -6.9673, 26.}, {-3.2387, -8.1285, 26.5}, {-4.9104, -7.2423, 26.5}}], Polygon[{{-2.776, -6.9673, 26.}, {-1.2134, -7.4012, 26.}, {-1.4156, -8.6347, 26.5}, {-3.2387, -8.1285, 26.5}}], Polygon[{{-1.2134, -7.4012, 26.}, {0.40604, -7.489, 26.}, {0.47372, -8.7372, 26.5}, {-1.4156, -8.6347, 26.5}}], Polygon[{{0.40604, -7.489, 26.}, {2.0065, -7.2266, 26.}, {2.3409, -8.4311, 26.5}, {0.47372, -8.7372, 26.5}}], Polygon[{{2.0065, -7.2266, 26.}, {3.5131, -6.6263, 26.}, {4.0986, -7.7307, 26.5}, {2.3409, -8.4311, 26.5}}], Polygon[{{3.5131, -6.6263, 26.}, {4.8554, -5.7162, 26.}, {5.6646, -6.6689, 26.5}, {4.0986, -7.7307, 26.5}}], Polygon[{{4.8554, -5.7162, 26.}, {5.9707, -4.5388, 26.}, {6.9658, -5.2953, 26.5}, {5.6646, -6.6689, 26.5}}], Polygon[{{5.9707, -4.5388, 26.}, {6.8068, -3.1492, 26.}, {7.9413, -3.674, 26.5}, {6.9658, -5.2953, 26.5}}], Polygon[{{6.8068, -3.1492, 26.}, {7.3247, -1.6123, 26.}, {8.5454, -1.881, 26.5}, {7.9413, -3.674, 26.5}}], Polygon[{{7.3247, -1.6123, 26.}, {7.5, -1.8369*^-15, 26.}, {8.75, -2.1431*^-15, 26.5}, {8.5454, -1.881, 26.5}}], Polygon[{{8.75, 0., 26.5}, {8.5454, 1.881, 26.5}, {9.7662, 2.1497, 27.}, {10., 0., 27.}}], Polygon[{{8.5454, 1.881, 26.5}, {7.9413, 3.674, 26.5}, {9.0758, 4.1989, 27.}, {9.7662, 2.1497, 27.}}], Polygon[{{7.9413, 3.674, 26.5}, {6.9658, 5.2953, 26.5}, {7.9609, 6.0517, 27.}, {9.0758, 4.1989, 27.}}], Polygon[{{6.9658, 5.2953, 26.5}, {5.6646, 6.6689, 26.5}, {6.4739, 7.6216, 27.}, {7.9609, 6.0517, 27.}}], Polygon[{{5.6646, 6.6689, 26.5}, {4.0986, 7.7307, 26.5}, {4.6841, 8.8351, 27.}, {6.4739, 7.6216, 27.}}], Polygon[{{4.0986, 7.7307, 26.5}, {2.3409, 8.4311, 26.5}, {2.6753, 9.6355, 27.}, {4.6841, 8.8351, 27.}}], Polygon[{{2.3409, 8.4311, 26.5}, {0.47372, 8.7372, 26.5}, {0.54139, 9.9853, 27.}, {2.6753, 9.6355, 27.}}], Polygon[{{0.47372, 8.7372, 26.5}, {-1.4156, 8.6347, 26.5}, {-1.6178, 9.8683, 27.}, {0.54139, 9.9853, 27.}}], Polygon[{{-1.4156, 8.6347, 26.5}, {-3.2387, 8.1285, 26.5}, {-3.7014, 9.2898, 27.}, {-1.6178, 9.8683, 27.}}], Polygon[{{-3.2387, 8.1285, 26.5}, {-4.9104, 7.2423, 26.5}, {-5.6119, 8.2769, 27.}, {-3.7014, 9.2898, 27.}}], Polygon[{{-4.9104, 7.2423, 26.5}, {-6.3525, 6.0174, 26.5}, {-7.26, 6.877, 27.}, {-5.6119, 8.2769, 27.}}], Polygon[{{-6.3525, 6.0174, 26.5}, {-7.4975, 4.5111, 26.5}, {-8.5686, 5.1555, 27.}, {-7.26, 6.877, 27.}}], Polygon[{{-7.4975, 4.5111, 26.5}, {-8.292, 2.7939, 26.5}, {-9.4765, 3.193, 27.}, {-8.5686, 5.1555, 27.}}], Polygon[{{-8.292, 2.7939, 26.5}, {-8.6987, 0.94604, 26.5}, {-9.9414, 1.0812, 27.}, {-9.4765, 3.193, 27.}}], Polygon[{{-8.6987, 0.94604, 26.5}, {-8.6987, -0.94604, 26.5}, {-9.9414, -1.0812, 27.}, {-9.9414, 1.0812, 27.}}], Polygon[{{-8.6987, -0.94604, 26.5}, {-8.292, -2.7939, 26.5}, {-9.4765, -3.193, 27.}, {-9.9414, -1.0812, 27.}}], Polygon[{{-8.292, -2.7939, 26.5}, {-7.4975, -4.5111, 26.5}, {-8.5686, -5.1555, 27.}, {-9.4765, -3.193, 27.}}], Polygon[{{-7.4975, -4.5111, 26.5}, {-6.3525, -6.0174, 26.5}, {-7.26, -6.877, 27.}, {-8.5686, -5.1555, 27.}}], Polygon[{{-6.3525, -6.0174, 26.5}, {-4.9104, -7.2423, 26.5}, {-5.6119, -8.2769, 27.}, {-7.26, -6.877, 27.}}], Polygon[{{-4.9104, -7.2423, 26.5}, {-3.2387, -8.1285, 26.5}, {-3.7014, -9.2898, 27.}, {-5.6119, -8.2769, 27.}}], Polygon[{{-3.2387, -8.1285, 26.5}, {-1.4156, -8.6347, 26.5}, {-1.6178, -9.8683, 27.}, {-3.7014, -9.2898, 27.}}], Polygon[{{-1.4156, -8.6347, 26.5}, {0.47372, -8.7372, 26.5}, {0.54139, -9.9853, 27.}, {-1.6178, -9.8683, 27.}}], Polygon[{{0.47372, -8.7372, 26.5}, {2.3409, -8.4311, 26.5}, {2.6753, -9.6355, 27.}, {0.54139, -9.9853, 27.}}], Polygon[{{2.3409, -8.4311, 26.5}, {4.0986, -7.7307, 26.5}, {4.6841, -8.8351, 27.}, {2.6753, -9.6355, 27.}}], Polygon[{{4.0986, -7.7307, 26.5}, {5.6646, -6.6689, 26.5}, {6.4739, -7.6216, 27.}, {4.6841, -8.8351, 27.}}], Polygon[{{5.6646, -6.6689, 26.5}, {6.9658, -5.2953, 26.5}, {7.9609, -6.0517, 27.}, {6.4739, -7.6216, 27.}}], Polygon[{{6.9658, -5.2953, 26.5}, {7.9413, -3.674, 26.5}, {9.0758, -4.1989, 27.}, {7.9609, -6.0517, 27.}}], Polygon[{{7.9413, -3.674, 26.5}, {8.5454, -1.881, 26.5}, {9.7662, -2.1497, 27.}, {9.0758, -4.1989, 27.}}], Polygon[{{8.5454, -1.881, 26.5}, {8.75, -2.1431*^-15, 26.5}, {10., -2.4492*^-15, 27.}, {9.7662, -2.1497, 27.}}]}, {Polygon[{{10., 0., 27.}, {9.7662, 2.1497, 27.}, {9.7662, 2.1497, 27.5}, {10., 0., 27.5}}], Polygon[{{9.7662, 2.1497, 27.}, {9.0758, 4.1989, 27.}, {9.0758, 4.1989, 27.5}, {9.7662, 2.1497, 27.5}}], Polygon[{{9.0758, 4.1989, 27.}, {7.9609, 6.0517, 27.}, {7.9609, 6.0517, 27.5}, {9.0758, 4.1989, 27.5}}], Polygon[{{7.9609, 6.0517, 27.}, {6.4739, 7.6216, 27.}, {6.4739, 7.6216, 27.5}, {7.9609, 6.0517, 27.5}}], Polygon[{{6.4739, 7.6216, 27.}, {4.6841, 8.8351, 27.}, {4.6841, 8.8351, 27.5}, {6.4739, 7.6216, 27.5}}], Polygon[{{4.6841, 8.8351, 27.}, {2.6753, 9.6355, 27.}, {2.6753, 9.6355, 27.5}, {4.6841, 8.8351, 27.5}}], Polygon[{{2.6753, 9.6355, 27.}, {0.54139, 9.9853, 27.}, {0.54139, 9.9853, 27.5}, {2.6753, 9.6355, 27.5}}], Polygon[{{0.54139, 9.9853, 27.}, {-1.6178, 9.8683, 27.}, {-1.6178, 9.8683, 27.5}, {0.54139, 9.9853, 27.5}}], Polygon[{{-1.6178, 9.8683, 27.}, {-3.7014, 9.2898, 27.}, {-3.7014, 9.2898, 27.5}, {-1.6178, 9.8683, 27.5}}], Polygon[{{-3.7014, 9.2898, 27.}, {-5.6119, 8.2769, 27.}, {-5.6119, 8.2769, 27.5}, {-3.7014, 9.2898, 27.5}}], Polygon[{{-5.6119, 8.2769, 27.}, {-7.26, 6.877, 27.}, {-7.26, 6.877, 27.5}, {-5.6119, 8.2769, 27.5}}], Polygon[{{-7.26, 6.877, 27.}, {-8.5686, 5.1555, 27.}, {-8.5686, 5.1555, 27.5}, {-7.26, 6.877, 27.5}}], Polygon[{{-8.5686, 5.1555, 27.}, {-9.4765, 3.193, 27.}, {-9.4765, 3.193, 27.5}, {-8.5686, 5.1555, 27.5}}], Polygon[{{-9.4765, 3.193, 27.}, {-9.9414, 1.0812, 27.}, {-9.9414, 1.0812, 27.5}, {-9.4765, 3.193, 27.5}}], Polygon[{{-9.9414, 1.0812, 27.}, {-9.9414, -1.0812, 27.}, {-9.9414, -1.0812, 27.5}, {-9.9414, 1.0812, 27.5}}], Polygon[{{-9.9414, -1.0812, 27.}, {-9.4765, -3.193, 27.}, {-9.4765, -3.193, 27.5}, {-9.9414, -1.0812, 27.5}}], Polygon[{{-9.4765, -3.193, 27.}, {-8.5686, -5.1555, 27.}, {-8.5686, -5.1555, 27.5}, {-9.4765, -3.193, 27.5}}], Polygon[{{-8.5686, -5.1555, 27.}, {-7.26, -6.877, 27.}, {-7.26, -6.877, 27.5}, {-8.5686, -5.1555, 27.5}}], Polygon[{{-7.26, -6.877, 27.}, {-5.6119, -8.2769, 27.}, {-5.6119, -8.2769, 27.5}, {-7.26, -6.877, 27.5}}], Polygon[{{-5.6119, -8.2769, 27.}, {-3.7014, -9.2898, 27.}, {-3.7014, -9.2898, 27.5}, {-5.6119, -8.2769, 27.5}}], Polygon[{{-3.7014, -9.2898, 27.}, {-1.6178, -9.8683, 27.}, {-1.6178, -9.8683, 27.5}, {-3.7014, -9.2898, 27.5}}], Polygon[{{-1.6178, -9.8683, 27.}, {0.54139, -9.9853, 27.}, {0.54139, -9.9853, 27.5}, {-1.6178, -9.8683, 27.5}}], Polygon[{{0.54139, -9.9853, 27.}, {2.6753, -9.6355, 27.}, {2.6753, -9.6355, 27.5}, {0.54139, -9.9853, 27.5}}], Polygon[{{2.6753, -9.6355, 27.}, {4.6841, -8.8351, 27.}, {4.6841, -8.8351, 27.5}, {2.6753, -9.6355, 27.5}}], Polygon[{{4.6841, -8.8351, 27.}, {6.4739, -7.6216, 27.}, {6.4739, -7.6216, 27.5}, {4.6841, -8.8351, 27.5}}], Polygon[{{6.4739, -7.6216, 27.}, {7.9609, -6.0517, 27.}, {7.9609, -6.0517, 27.5}, {6.4739, -7.6216, 27.5}}], Polygon[{{7.9609, -6.0517, 27.}, {9.0758, -4.1989, 27.}, {9.0758, -4.1989, 27.5}, {7.9609, -6.0517, 27.5}}], Polygon[{{9.0758, -4.1989, 27.}, {9.7662, -2.1497, 27.}, {9.7662, -2.1497, 27.5}, {9.0758, -4.1989, 27.5}}], Polygon[{{9.7662, -2.1497, 27.}, {10., -2.4492*^-15, 27.}, {10., -2.4492*^-15, 27.5}, {9.7662, -2.1497, 27.5}}], Polygon[{{10., 0., 27.5}, {9.7662, 2.1497, 27.5}, {9.7662, 2.1497, 28.}, {10., 0., 28.}}], Polygon[{{9.7662, 2.1497, 27.5}, {9.0758, 4.1989, 27.5}, {9.0758, 4.1989, 28.}, {9.7662, 2.1497, 28.}}], Polygon[{{9.0758, 4.1989, 27.5}, {7.9609, 6.0517, 27.5}, {7.9609, 6.0517, 28.}, {9.0758, 4.1989, 28.}}], Polygon[{{7.9609, 6.0517, 27.5}, {6.4739, 7.6216, 27.5}, {6.4739, 7.6216, 28.}, {7.9609, 6.0517, 28.}}], Polygon[{{6.4739, 7.6216, 27.5}, {4.6841, 8.8351, 27.5}, {4.6841, 8.8351, 28.}, {6.4739, 7.6216, 28.}}], Polygon[{{4.6841, 8.8351, 27.5}, {2.6753, 9.6355, 27.5}, {2.6753, 9.6355, 28.}, {4.6841, 8.8351, 28.}}], Polygon[{{2.6753, 9.6355, 27.5}, {0.54139, 9.9853, 27.5}, {0.54139, 9.9853, 28.}, {2.6753, 9.6355, 28.}}], Polygon[{{0.54139, 9.9853, 27.5}, {-1.6178, 9.8683, 27.5}, {-1.6178, 9.8683, 28.}, {0.54139, 9.9853, 28.}}], Polygon[{{-1.6178, 9.8683, 27.5}, {-3.7014, 9.2898, 27.5}, {-3.7014, 9.2898, 28.}, {-1.6178, 9.8683, 28.}}], Polygon[{{-3.7014, 9.2898, 27.5}, {-5.6119, 8.2769, 27.5}, {-5.6119, 8.2769, 28.}, {-3.7014, 9.2898, 28.}}], Polygon[{{-5.6119, 8.2769, 27.5}, {-7.26, 6.877, 27.5}, {-7.26, 6.877, 28.}, {-5.6119, 8.2769, 28.}}], Polygon[{{-7.26, 6.877, 27.5}, {-8.5686, 5.1555, 27.5}, {-8.5686, 5.1555, 28.}, {-7.26, 6.877, 28.}}], Polygon[{{-8.5686, 5.1555, 27.5}, {-9.4765, 3.193, 27.5}, {-9.4765, 3.193, 28.}, {-8.5686, 5.1555, 28.}}], Polygon[{{-9.4765, 3.193, 27.5}, {-9.9414, 1.0812, 27.5}, {-9.9414, 1.0812, 28.}, {-9.4765, 3.193, 28.}}], Polygon[{{-9.9414, 1.0812, 27.5}, {-9.9414, -1.0812, 27.5}, {-9.9414, -1.0812, 28.}, {-9.9414, 1.0812, 28.}}], Polygon[{{-9.9414, -1.0812, 27.5}, {-9.4765, -3.193, 27.5}, {-9.4765, -3.193, 28.}, {-9.9414, -1.0812, 28.}}], Polygon[{{-9.4765, -3.193, 27.5}, {-8.5686, -5.1555, 27.5}, {-8.5686, -5.1555, 28.}, {-9.4765, -3.193, 28.}}], Polygon[{{-8.5686, -5.1555, 27.5}, {-7.26, -6.877, 27.5}, {-7.26, -6.877, 28.}, {-8.5686, -5.1555, 28.}}], Polygon[{{-7.26, -6.877, 27.5}, {-5.6119, -8.2769, 27.5}, {-5.6119, -8.2769, 28.}, {-7.26, -6.877, 28.}}], Polygon[{{-5.6119, -8.2769, 27.5}, {-3.7014, -9.2898, 27.5}, {-3.7014, -9.2898, 28.}, {-5.6119, -8.2769, 28.}}], Polygon[{{-3.7014, -9.2898, 27.5}, {-1.6178, -9.8683, 27.5}, {-1.6178, -9.8683, 28.}, {-3.7014, -9.2898, 28.}}], Polygon[{{-1.6178, -9.8683, 27.5}, {0.54139, -9.9853, 27.5}, {0.54139, -9.9853, 28.}, {-1.6178, -9.8683, 28.}}], Polygon[{{0.54139, -9.9853, 27.5}, {2.6753, -9.6355, 27.5}, {2.6753, -9.6355, 28.}, {0.54139, -9.9853, 28.}}], Polygon[{{2.6753, -9.6355, 27.5}, {4.6841, -8.8351, 27.5}, {4.6841, -8.8351, 28.}, {2.6753, -9.6355, 28.}}], Polygon[{{4.6841, -8.8351, 27.5}, {6.4739, -7.6216, 27.5}, {6.4739, -7.6216, 28.}, {4.6841, -8.8351, 28.}}], Polygon[{{6.4739, -7.6216, 27.5}, {7.9609, -6.0517, 27.5}, {7.9609, -6.0517, 28.}, {6.4739, -7.6216, 28.}}], Polygon[{{7.9609, -6.0517, 27.5}, {9.0758, -4.1989, 27.5}, {9.0758, -4.1989, 28.}, {7.9609, -6.0517, 28.}}], Polygon[{{9.0758, -4.1989, 27.5}, {9.7662, -2.1497, 27.5}, {9.7662, -2.1497, 28.}, {9.0758, -4.1989, 28.}}], Polygon[{{9.7662, -2.1497, 27.5}, {10., -2.4492*^-15, 27.5}, {10., -2.4492*^-15, 28.}, {9.7662, -2.1497, 28.}}], Polygon[{{10., 0., 28.}, {9.7662, 2.1497, 28.}, {9.7662, 2.1497, 28.5}, {10., 0., 28.5}}], Polygon[{{9.7662, 2.1497, 28.}, {9.0758, 4.1989, 28.}, {9.0758, 4.1989, 28.5}, {9.7662, 2.1497, 28.5}}], Polygon[{{9.0758, 4.1989, 28.}, {7.9609, 6.0517, 28.}, {7.9609, 6.0517, 28.5}, {9.0758, 4.1989, 28.5}}], Polygon[{{7.9609, 6.0517, 28.}, {6.4739, 7.6216, 28.}, {6.4739, 7.6216, 28.5}, {7.9609, 6.0517, 28.5}}], Polygon[{{6.4739, 7.6216, 28.}, {4.6841, 8.8351, 28.}, {4.6841, 8.8351, 28.5}, {6.4739, 7.6216, 28.5}}], Polygon[{{4.6841, 8.8351, 28.}, {2.6753, 9.6355, 28.}, {2.6753, 9.6355, 28.5}, {4.6841, 8.8351, 28.5}}], Polygon[{{2.6753, 9.6355, 28.}, {0.54139, 9.9853, 28.}, {0.54139, 9.9853, 28.5}, {2.6753, 9.6355, 28.5}}], Polygon[{{0.54139, 9.9853, 28.}, {-1.6178, 9.8683, 28.}, {-1.6178, 9.8683, 28.5}, {0.54139, 9.9853, 28.5}}], Polygon[{{-1.6178, 9.8683, 28.}, {-3.7014, 9.2898, 28.}, {-3.7014, 9.2898, 28.5}, {-1.6178, 9.8683, 28.5}}], Polygon[{{-3.7014, 9.2898, 28.}, {-5.6119, 8.2769, 28.}, {-5.6119, 8.2769, 28.5}, {-3.7014, 9.2898, 28.5}}], Polygon[{{-5.6119, 8.2769, 28.}, {-7.26, 6.877, 28.}, {-7.26, 6.877, 28.5}, {-5.6119, 8.2769, 28.5}}], Polygon[{{-7.26, 6.877, 28.}, {-8.5686, 5.1555, 28.}, {-8.5686, 5.1555, 28.5}, {-7.26, 6.877, 28.5}}], Polygon[{{-8.5686, 5.1555, 28.}, {-9.4765, 3.193, 28.}, {-9.4765, 3.193, 28.5}, {-8.5686, 5.1555, 28.5}}], Polygon[{{-9.4765, 3.193, 28.}, {-9.9414, 1.0812, 28.}, {-9.9414, 1.0812, 28.5}, {-9.4765, 3.193, 28.5}}], Polygon[{{-9.9414, 1.0812, 28.}, {-9.9414, -1.0812, 28.}, {-9.9414, -1.0812, 28.5}, {-9.9414, 1.0812, 28.5}}], Polygon[{{-9.9414, -1.0812, 28.}, {-9.4765, -3.193, 28.}, {-9.4765, -3.193, 28.5}, {-9.9414, -1.0812, 28.5}}], Polygon[{{-9.4765, -3.193, 28.}, {-8.5686, -5.1555, 28.}, {-8.5686, -5.1555, 28.5}, {-9.4765, -3.193, 28.5}}], Polygon[{{-8.5686, -5.1555, 28.}, {-7.26, -6.877, 28.}, {-7.26, -6.877, 28.5}, {-8.5686, -5.1555, 28.5}}], Polygon[{{-7.26, -6.877, 28.}, {-5.6119, -8.2769, 28.}, {-5.6119, -8.2769, 28.5}, {-7.26, -6.877, 28.5}}], Polygon[{{-5.6119, -8.2769, 28.}, {-3.7014, -9.2898, 28.}, {-3.7014, -9.2898, 28.5}, {-5.6119, -8.2769, 28.5}}], Polygon[{{-3.7014, -9.2898, 28.}, {-1.6178, -9.8683, 28.}, {-1.6178, -9.8683, 28.5}, {-3.7014, -9.2898, 28.5}}], Polygon[{{-1.6178, -9.8683, 28.}, {0.54139, -9.9853, 28.}, {0.54139, -9.9853, 28.5}, {-1.6178, -9.8683, 28.5}}], Polygon[{{0.54139, -9.9853, 28.}, {2.6753, -9.6355, 28.}, {2.6753, -9.6355, 28.5}, {0.54139, -9.9853, 28.5}}], Polygon[{{2.6753, -9.6355, 28.}, {4.6841, -8.8351, 28.}, {4.6841, -8.8351, 28.5}, {2.6753, -9.6355, 28.5}}], Polygon[{{4.6841, -8.8351, 28.}, {6.4739, -7.6216, 28.}, {6.4739, -7.6216, 28.5}, {4.6841, -8.8351, 28.5}}], Polygon[{{6.4739, -7.6216, 28.}, {7.9609, -6.0517, 28.}, {7.9609, -6.0517, 28.5}, {6.4739, -7.6216, 28.5}}], Polygon[{{7.9609, -6.0517, 28.}, {9.0758, -4.1989, 28.}, {9.0758, -4.1989, 28.5}, {7.9609, -6.0517, 28.5}}], Polygon[{{9.0758, -4.1989, 28.}, {9.7662, -2.1497, 28.}, {9.7662, -2.1497, 28.5}, {9.0758, -4.1989, 28.5}}], Polygon[{{9.7662, -2.1497, 28.}, {10., -2.4492*^-15, 28.}, {10., -2.4492*^-15, 28.5}, {9.7662, -2.1497, 28.5}}], Polygon[{{10., 0., 28.5}, {9.7662, 2.1497, 28.5}, {9.7662, 2.1497, 29.}, {10., 0., 29.}}], Polygon[{{9.7662, 2.1497, 28.5}, {9.0758, 4.1989, 28.5}, {9.0758, 4.1989, 29.}, {9.7662, 2.1497, 29.}}], Polygon[{{9.0758, 4.1989, 28.5}, {7.9609, 6.0517, 28.5}, {7.9609, 6.0517, 29.}, {9.0758, 4.1989, 29.}}], Polygon[{{7.9609, 6.0517, 28.5}, {6.4739, 7.6216, 28.5}, {6.4739, 7.6216, 29.}, {7.9609, 6.0517, 29.}}], Polygon[{{6.4739, 7.6216, 28.5}, {4.6841, 8.8351, 28.5}, {4.6841, 8.8351, 29.}, {6.4739, 7.6216, 29.}}], Polygon[{{4.6841, 8.8351, 28.5}, {2.6753, 9.6355, 28.5}, {2.6753, 9.6355, 29.}, {4.6841, 8.8351, 29.}}], Polygon[{{2.6753, 9.6355, 28.5}, {0.54139, 9.9853, 28.5}, {0.54139, 9.9853, 29.}, {2.6753, 9.6355, 29.}}], Polygon[{{0.54139, 9.9853, 28.5}, {-1.6178, 9.8683, 28.5}, {-1.6178, 9.8683, 29.}, {0.54139, 9.9853, 29.}}], Polygon[{{-1.6178, 9.8683, 28.5}, {-3.7014, 9.2898, 28.5}, {-3.7014, 9.2898, 29.}, {-1.6178, 9.8683, 29.}}], Polygon[{{-3.7014, 9.2898, 28.5}, {-5.6119, 8.2769, 28.5}, {-5.6119, 8.2769, 29.}, {-3.7014, 9.2898, 29.}}], Polygon[{{-5.6119, 8.2769, 28.5}, {-7.26, 6.877, 28.5}, {-7.26, 6.877, 29.}, {-5.6119, 8.2769, 29.}}], Polygon[{{-7.26, 6.877, 28.5}, {-8.5686, 5.1555, 28.5}, {-8.5686, 5.1555, 29.}, {-7.26, 6.877, 29.}}], Polygon[{{-8.5686, 5.1555, 28.5}, {-9.4765, 3.193, 28.5}, {-9.4765, 3.193, 29.}, {-8.5686, 5.1555, 29.}}], Polygon[{{-9.4765, 3.193, 28.5}, {-9.9414, 1.0812, 28.5}, {-9.9414, 1.0812, 29.}, {-9.4765, 3.193, 29.}}], Polygon[{{-9.9414, 1.0812, 28.5}, {-9.9414, -1.0812, 28.5}, {-9.9414, -1.0812, 29.}, {-9.9414, 1.0812, 29.}}], Polygon[{{-9.9414, -1.0812, 28.5}, {-9.4765, -3.193, 28.5}, {-9.4765, -3.193, 29.}, {-9.9414, -1.0812, 29.}}], Polygon[{{-9.4765, -3.193, 28.5}, {-8.5686, -5.1555, 28.5}, {-8.5686, -5.1555, 29.}, {-9.4765, -3.193, 29.}}], Polygon[{{-8.5686, -5.1555, 28.5}, {-7.26, -6.877, 28.5}, {-7.26, -6.877, 29.}, {-8.5686, -5.1555, 29.}}], Polygon[{{-7.26, -6.877, 28.5}, {-5.6119, -8.2769, 28.5}, {-5.6119, -8.2769, 29.}, {-7.26, -6.877, 29.}}], Polygon[{{-5.6119, -8.2769, 28.5}, {-3.7014, -9.2898, 28.5}, {-3.7014, -9.2898, 29.}, {-5.6119, -8.2769, 29.}}], Polygon[{{-3.7014, -9.2898, 28.5}, {-1.6178, -9.8683, 28.5}, {-1.6178, -9.8683, 29.}, {-3.7014, -9.2898, 29.}}], Polygon[{{-1.6178, -9.8683, 28.5}, {0.54139, -9.9853, 28.5}, {0.54139, -9.9853, 29.}, {-1.6178, -9.8683, 29.}}], Polygon[{{0.54139, -9.9853, 28.5}, {2.6753, -9.6355, 28.5}, {2.6753, -9.6355, 29.}, {0.54139, -9.9853, 29.}}], Polygon[{{2.6753, -9.6355, 28.5}, {4.6841, -8.8351, 28.5}, {4.6841, -8.8351, 29.}, {2.6753, -9.6355, 29.}}], Polygon[{{4.6841, -8.8351, 28.5}, {6.4739, -7.6216, 28.5}, {6.4739, -7.6216, 29.}, {4.6841, -8.8351, 29.}}], Polygon[{{6.4739, -7.6216, 28.5}, {7.9609, -6.0517, 28.5}, {7.9609, -6.0517, 29.}, {6.4739, -7.6216, 29.}}], Polygon[{{7.9609, -6.0517, 28.5}, {9.0758, -4.1989, 28.5}, {9.0758, -4.1989, 29.}, {7.9609, -6.0517, 29.}}], Polygon[{{9.0758, -4.1989, 28.5}, {9.7662, -2.1497, 28.5}, {9.7662, -2.1497, 29.}, {9.0758, -4.1989, 29.}}], Polygon[{{9.7662, -2.1497, 28.5}, {10., -2.4492*^-15, 28.5}, {10., -2.4492*^-15, 29.}, {9.7662, -2.1497, 29.}}]}, {Polygon[{{10., 0., 29.}, {9.7662, 2.1497, 29.}, {7.813, 1.7198, 29.5}, {8., 0., 29.5}}], Polygon[{{9.7662, 2.1497, 29.}, {9.0758, 4.1989, 29.}, {7.2606, 3.3591, 29.5}, {7.813, 1.7198, 29.5}}], Polygon[{{9.0758, 4.1989, 29.}, {7.9609, 6.0517, 29.}, {6.3687, 4.8414, 29.5}, {7.2606, 3.3591, 29.5}}], Polygon[{{7.9609, 6.0517, 29.}, {6.4739, 7.6216, 29.}, {5.1791, 6.0973, 29.5}, {6.3687, 4.8414, 29.5}}], Polygon[{{6.4739, 7.6216, 29.}, {4.6841, 8.8351, 29.}, {3.7473, 7.0681, 29.5}, {5.1791, 6.0973, 29.5}}], Polygon[{{4.6841, 8.8351, 29.}, {2.6753, 9.6355, 29.}, {2.1402, 7.7084, 29.5}, {3.7473, 7.0681, 29.5}}], Polygon[{{2.6753, 9.6355, 29.}, {0.54139, 9.9853, 29.}, {0.43311, 7.9883, 29.5}, {2.1402, 7.7084, 29.5}}], Polygon[{{0.54139, 9.9853, 29.}, {-1.6178, 9.8683, 29.}, {-1.2943, 7.8946, 29.5}, {0.43311, 7.9883, 29.5}}], Polygon[{{-1.6178, 9.8683, 29.}, {-3.7014, 9.2898, 29.}, {-2.9611, 7.4318, 29.5}, {-1.2943, 7.8946, 29.5}}], Polygon[{{-3.7014, 9.2898, 29.}, {-5.6119, 8.2769, 29.}, {-4.4895, 6.6215, 29.5}, {-2.9611, 7.4318, 29.5}}], Polygon[{{-5.6119, 8.2769, 29.}, {-7.26, 6.877, 29.}, {-5.808, 5.5016, 29.5}, {-4.4895, 6.6215, 29.5}}], Polygon[{{-7.26, 6.877, 29.}, {-8.5686, 5.1555, 29.}, {-6.8549, 4.1244, 29.5}, {-5.808, 5.5016, 29.5}}], Polygon[{{-8.5686, 5.1555, 29.}, {-9.4765, 3.193, 29.}, {-7.5812, 2.5544, 29.5}, {-6.8549, 4.1244, 29.5}}], Polygon[{{-9.4765, 3.193, 29.}, {-9.9414, 1.0812, 29.}, {-7.9531, 0.86495, 29.5}, {-7.5812, 2.5544, 29.5}}], Polygon[{{-9.9414, 1.0812, 29.}, {-9.9414, -1.0812, 29.}, {-7.9531, -0.86495, 29.5}, {-7.9531, 0.86495, 29.5}}], Polygon[{{-9.9414, -1.0812, 29.}, {-9.4765, -3.193, 29.}, {-7.5812, -2.5544, 29.5}, {-7.9531, -0.86495, 29.5}}], Polygon[{{-9.4765, -3.193, 29.}, {-8.5686, -5.1555, 29.}, {-6.8549, -4.1244, 29.5}, {-7.5812, -2.5544, 29.5}}], Polygon[{{-8.5686, -5.1555, 29.}, {-7.26, -6.877, 29.}, {-5.808, -5.5016, 29.5}, {-6.8549, -4.1244, 29.5}}], Polygon[{{-7.26, -6.877, 29.}, {-5.6119, -8.2769, 29.}, {-4.4895, -6.6215, 29.5}, {-5.808, -5.5016, 29.5}}], Polygon[{{-5.6119, -8.2769, 29.}, {-3.7014, -9.2898, 29.}, {-2.9611, -7.4318, 29.5}, {-4.4895, -6.6215, 29.5}}], Polygon[{{-3.7014, -9.2898, 29.}, {-1.6178, -9.8683, 29.}, {-1.2943, -7.8946, 29.5}, {-2.9611, -7.4318, 29.5}}], Polygon[{{-1.6178, -9.8683, 29.}, {0.54139, -9.9853, 29.}, {0.43311, -7.9883, 29.5}, {-1.2943, -7.8946, 29.5}}], Polygon[{{0.54139, -9.9853, 29.}, {2.6753, -9.6355, 29.}, {2.1402, -7.7084, 29.5}, {0.43311, -7.9883, 29.5}}], Polygon[{{2.6753, -9.6355, 29.}, {4.6841, -8.8351, 29.}, {3.7473, -7.0681, 29.5}, {2.1402, -7.7084, 29.5}}], Polygon[{{4.6841, -8.8351, 29.}, {6.4739, -7.6216, 29.}, {5.1791, -6.0973, 29.5}, {3.7473, -7.0681, 29.5}}], Polygon[{{6.4739, -7.6216, 29.}, {7.9609, -6.0517, 29.}, {6.3687, -4.8414, 29.5}, {5.1791, -6.0973, 29.5}}], Polygon[{{7.9609, -6.0517, 29.}, {9.0758, -4.1989, 29.}, {7.2606, -3.3591, 29.5}, {6.3687, -4.8414, 29.5}}], Polygon[{{9.0758, -4.1989, 29.}, {9.7662, -2.1497, 29.}, {7.813, -1.7198, 29.5}, {7.2606, -3.3591, 29.5}}], Polygon[{{9.7662, -2.1497, 29.}, {10., -2.4492*^-15, 29.}, {8., -1.9594*^-15, 29.5}, {7.813, -1.7198, 29.5}}], Polygon[{{8., 0., 29.5}, {7.813, 1.7198, 29.5}, {5.8597, 1.2898, 30.}, {6., 0., 30.}}], Polygon[{{7.813, 1.7198, 29.5}, {7.2606, 3.3591, 29.5}, {5.4455, 2.5193, 30.}, {5.8597, 1.2898, 30.}}], Polygon[{{7.2606, 3.3591, 29.5}, {6.3687, 4.8414, 29.5}, {4.7766, 3.631, 30.}, {5.4455, 2.5193, 30.}}], Polygon[{{6.3687, 4.8414, 29.5}, {5.1791, 6.0973, 29.5}, {3.8843, 4.573, 30.}, {4.7766, 3.631, 30.}}], Polygon[{{5.1791, 6.0973, 29.5}, {3.7473, 7.0681, 29.5}, {2.8105, 5.3011, 30.}, {3.8843, 4.573, 30.}}], Polygon[{{3.7473, 7.0681, 29.5}, {2.1402, 7.7084, 29.5}, {1.6052, 5.7813, 30.}, {2.8105, 5.3011, 30.}}], Polygon[{{2.1402, 7.7084, 29.5}, {0.43311, 7.9883, 29.5}, {0.32483, 5.9912, 30.}, {1.6052, 5.7813, 30.}}], Polygon[{{0.43311, 7.9883, 29.5}, {-1.2943, 7.8946, 29.5}, {-0.97069, 5.921, 30.}, {0.32483, 5.9912, 30.}}], Polygon[{{-1.2943, 7.8946, 29.5}, {-2.9611, 7.4318, 29.5}, {-2.2208, 5.5739, 30.}, {-0.97069, 5.921, 30.}}], Polygon[{{-2.9611, 7.4318, 29.5}, {-4.4895, 6.6215, 29.5}, {-3.3671, 4.9661, 30.}, {-2.2208, 5.5739, 30.}}], Polygon[{{-4.4895, 6.6215, 29.5}, {-5.808, 5.5016, 29.5}, {-4.356, 4.1262, 30.}, {-3.3671, 4.9661, 30.}}], Polygon[{{-5.808, 5.5016, 29.5}, {-6.8549, 4.1244, 29.5}, {-5.1411, 3.0933, 30.}, {-4.356, 4.1262, 30.}}], Polygon[{{-6.8549, 4.1244, 29.5}, {-7.5812, 2.5544, 29.5}, {-5.6859, 1.9158, 30.}, {-5.1411, 3.0933, 30.}}], Polygon[{{-7.5812, 2.5544, 29.5}, {-7.9531, 0.86495, 29.5}, {-5.9648, 0.64871, 30.}, {-5.6859, 1.9158, 30.}}], Polygon[{{-7.9531, 0.86495, 29.5}, {-7.9531, -0.86495, 29.5}, {-5.9648, -0.64871, 30.}, {-5.9648, 0.64871, 30.}}], Polygon[{{-7.9531, -0.86495, 29.5}, {-7.5812, -2.5544, 29.5}, {-5.6859, -1.9158, 30.}, {-5.9648, -0.64871, 30.}}], Polygon[{{-7.5812, -2.5544, 29.5}, {-6.8549, -4.1244, 29.5}, {-5.1411, -3.0933, 30.}, {-5.6859, -1.9158, 30.}}], Polygon[{{-6.8549, -4.1244, 29.5}, {-5.808, -5.5016, 29.5}, {-4.356, -4.1262, 30.}, {-5.1411, -3.0933, 30.}}], Polygon[{{-5.808, -5.5016, 29.5}, {-4.4895, -6.6215, 29.5}, {-3.3671, -4.9661, 30.}, {-4.356, -4.1262, 30.}}], Polygon[{{-4.4895, -6.6215, 29.5}, {-2.9611, -7.4318, 29.5}, {-2.2208, -5.5739, 30.}, {-3.3671, -4.9661, 30.}}], Polygon[{{-2.9611, -7.4318, 29.5}, {-1.2943, -7.8946, 29.5}, {-0.97069, -5.921, 30.}, {-2.2208, -5.5739, 30.}}], Polygon[{{-1.2943, -7.8946, 29.5}, {0.43311, -7.9883, 29.5}, {0.32483, -5.9912, 30.}, {-0.97069, -5.921, 30.}}], Polygon[{{0.43311, -7.9883, 29.5}, {2.1402, -7.7084, 29.5}, {1.6052, -5.7813, 30.}, {0.32483, -5.9912, 30.}}], Polygon[{{2.1402, -7.7084, 29.5}, {3.7473, -7.0681, 29.5}, {2.8105, -5.3011, 30.}, {1.6052, -5.7813, 30.}}], Polygon[{{3.7473, -7.0681, 29.5}, {5.1791, -6.0973, 29.5}, {3.8843, -4.573, 30.}, {2.8105, -5.3011, 30.}}], Polygon[{{5.1791, -6.0973, 29.5}, {6.3687, -4.8414, 29.5}, {4.7766, -3.631, 30.}, {3.8843, -4.573, 30.}}], Polygon[{{6.3687, -4.8414, 29.5}, {7.2606, -3.3591, 29.5}, {5.4455, -2.5193, 30.}, {4.7766, -3.631, 30.}}], Polygon[{{7.2606, -3.3591, 29.5}, {7.813, -1.7198, 29.5}, {5.8597, -1.2898, 30.}, {5.4455, -2.5193, 30.}}], Polygon[{{7.813, -1.7198, 29.5}, {8., -1.9594*^-15, 29.5}, {6., -1.4695*^-15, 30.}, {5.8597, -1.2898, 30.}}], Polygon[{{6., 0., 30.}, {5.8597, 1.2898, 30.}, {3.9065, 0.85988, 30.5}, {4., 0., 30.5}}], Polygon[{{5.8597, 1.2898, 30.}, {5.4455, 2.5193, 30.}, {3.6303, 1.6796, 30.5}, {3.9065, 0.85988, 30.5}}], Polygon[{{5.4455, 2.5193, 30.}, {4.7766, 3.631, 30.}, {3.1844, 2.4207, 30.5}, {3.6303, 1.6796, 30.5}}], Polygon[{{4.7766, 3.631, 30.}, {3.8843, 4.573, 30.}, {2.5895, 3.0486, 30.5}, {3.1844, 2.4207, 30.5}}], Polygon[{{3.8843, 4.573, 30.}, {2.8105, 5.3011, 30.}, {1.8736, 3.534, 30.5}, {2.5895, 3.0486, 30.5}}], Polygon[{{2.8105, 5.3011, 30.}, {1.6052, 5.7813, 30.}, {1.0701, 3.8542, 30.5}, {1.8736, 3.534, 30.5}}], Polygon[{{1.6052, 5.7813, 30.}, {0.32483, 5.9912, 30.}, {0.21656, 3.9941, 30.5}, {1.0701, 3.8542, 30.5}}], Polygon[{{0.32483, 5.9912, 30.}, {-0.97069, 5.921, 30.}, {-0.64713, 3.9473, 30.5}, {0.21656, 3.9941, 30.5}}], Polygon[{{-0.97069, 5.921, 30.}, {-2.2208, 5.5739, 30.}, {-1.4806, 3.7159, 30.5}, {-0.64713, 3.9473, 30.5}}], Polygon[{{-2.2208, 5.5739, 30.}, {-3.3671, 4.9661, 30.}, {-2.2447, 3.3108, 30.5}, {-1.4806, 3.7159, 30.5}}], Polygon[{{-3.3671, 4.9661, 30.}, {-4.356, 4.1262, 30.}, {-2.904, 2.7508, 30.5}, {-2.2447, 3.3108, 30.5}}], Polygon[{{-4.356, 4.1262, 30.}, {-5.1411, 3.0933, 30.}, {-3.4274, 2.0622, 30.5}, {-2.904, 2.7508, 30.5}}], Polygon[{{-5.1411, 3.0933, 30.}, {-5.6859, 1.9158, 30.}, {-3.7906, 1.2772, 30.5}, {-3.4274, 2.0622, 30.5}}], Polygon[{{-5.6859, 1.9158, 30.}, {-5.9648, 0.64871, 30.}, {-3.9766, 0.43248, 30.5}, {-3.7906, 1.2772, 30.5}}], Polygon[{{-5.9648, 0.64871, 30.}, {-5.9648, -0.64871, 30.}, {-3.9766, -0.43248, 30.5}, {-3.9766, 0.43248, 30.5}}], Polygon[{{-5.9648, -0.64871, 30.}, {-5.6859, -1.9158, 30.}, {-3.7906, -1.2772, 30.5}, {-3.9766, -0.43248, 30.5}}], Polygon[{{-5.6859, -1.9158, 30.}, {-5.1411, -3.0933, 30.}, {-3.4274, -2.0622, 30.5}, {-3.7906, -1.2772, 30.5}}], Polygon[{{-5.1411, -3.0933, 30.}, {-4.356, -4.1262, 30.}, {-2.904, -2.7508, 30.5}, {-3.4274, -2.0622, 30.5}}], Polygon[{{-4.356, -4.1262, 30.}, {-3.3671, -4.9661, 30.}, {-2.2447, -3.3108, 30.5}, {-2.904, -2.7508, 30.5}}], Polygon[{{-3.3671, -4.9661, 30.}, {-2.2208, -5.5739, 30.}, {-1.4806, -3.7159, 30.5}, {-2.2447, -3.3108, 30.5}}], Polygon[{{-2.2208, -5.5739, 30.}, {-0.97069, -5.921, 30.}, {-0.64713, -3.9473, 30.5}, {-1.4806, -3.7159, 30.5}}], Polygon[{{-0.97069, -5.921, 30.}, {0.32483, -5.9912, 30.}, {0.21656, -3.9941, 30.5}, {-0.64713, -3.9473, 30.5}}], Polygon[{{0.32483, -5.9912, 30.}, {1.6052, -5.7813, 30.}, {1.0701, -3.8542, 30.5}, {0.21656, -3.9941, 30.5}}], Polygon[{{1.6052, -5.7813, 30.}, {2.8105, -5.3011, 30.}, {1.8736, -3.534, 30.5}, {1.0701, -3.8542, 30.5}}], Polygon[{{2.8105, -5.3011, 30.}, {3.8843, -4.573, 30.}, {2.5895, -3.0486, 30.5}, {1.8736, -3.534, 30.5}}], Polygon[{{3.8843, -4.573, 30.}, {4.7766, -3.631, 30.}, {3.1844, -2.4207, 30.5}, {2.5895, -3.0486, 30.5}}], Polygon[{{4.7766, -3.631, 30.}, {5.4455, -2.5193, 30.}, {3.6303, -1.6796, 30.5}, {3.1844, -2.4207, 30.5}}], Polygon[{{5.4455, -2.5193, 30.}, {5.8597, -1.2898, 30.}, {3.9065, -0.85988, 30.5}, {3.6303, -1.6796, 30.5}}], Polygon[{{5.8597, -1.2898, 30.}, {6., -1.4695*^-15, 30.}, {4., -9.7969*^-16, 30.5}, {3.9065, -0.85988, 30.5}}], Polygon[{{4., 0., 30.5}, {3.9065, 0.85988, 30.5}, {1.9532, 0.42994, 31.}, {2., 0., 31.}}], Polygon[{{3.9065, 0.85988, 30.5}, {3.6303, 1.6796, 30.5}, {1.8152, 0.83978, 31.}, {1.9532, 0.42994, 31.}}], Polygon[{{3.6303, 1.6796, 30.5}, {3.1844, 2.4207, 30.5}, {1.5922, 1.2103, 31.}, {1.8152, 0.83978, 31.}}], Polygon[{{3.1844, 2.4207, 30.5}, {2.5895, 3.0486, 30.5}, {1.2948, 1.5243, 31.}, {1.5922, 1.2103, 31.}}], Polygon[{{2.5895, 3.0486, 30.5}, {1.8736, 3.534, 30.5}, {0.93682, 1.767, 31.}, {1.2948, 1.5243, 31.}}], Polygon[{{1.8736, 3.534, 30.5}, {1.0701, 3.8542, 30.5}, {0.53506, 1.9271, 31.}, {0.93682, 1.767, 31.}}], Polygon[{{1.0701, 3.8542, 30.5}, {0.21656, 3.9941, 30.5}, {0.10828, 1.9971, 31.}, {0.53506, 1.9271, 31.}}], Polygon[{{0.21656, 3.9941, 30.5}, {-0.64713, 3.9473, 30.5}, {-0.32356, 1.9737, 31.}, {0.10828, 1.9971, 31.}}], Polygon[{{-0.64713, 3.9473, 30.5}, {-1.4806, 3.7159, 30.5}, {-0.74028, 1.858, 31.}, {-0.32356, 1.9737, 31.}}], Polygon[{{-1.4806, 3.7159, 30.5}, {-2.2447, 3.3108, 30.5}, {-1.1224, 1.6554, 31.}, {-0.74028, 1.858, 31.}}], Polygon[{{-2.2447, 3.3108, 30.5}, {-2.904, 2.7508, 30.5}, {-1.452, 1.3754, 31.}, {-1.1224, 1.6554, 31.}}], Polygon[{{-2.904, 2.7508, 30.5}, {-3.4274, 2.0622, 30.5}, {-1.7137, 1.0311, 31.}, {-1.452, 1.3754, 31.}}], Polygon[{{-3.4274, 2.0622, 30.5}, {-3.7906, 1.2772, 30.5}, {-1.8953, 0.6386, 31.}, {-1.7137, 1.0311, 31.}}], Polygon[{{-3.7906, 1.2772, 30.5}, {-3.9766, 0.43248, 30.5}, {-1.9883, 0.21624, 31.}, {-1.8953, 0.6386, 31.}}], Polygon[{{-3.9766, 0.43248, 30.5}, {-3.9766, -0.43248, 30.5}, {-1.9883, -0.21624, 31.}, {-1.9883, 0.21624, 31.}}], Polygon[{{-3.9766, -0.43248, 30.5}, {-3.7906, -1.2772, 30.5}, {-1.8953, -0.6386, 31.}, {-1.9883, -0.21624, 31.}}], Polygon[{{-3.7906, -1.2772, 30.5}, {-3.4274, -2.0622, 30.5}, {-1.7137, -1.0311, 31.}, {-1.8953, -0.6386, 31.}}], Polygon[{{-3.4274, -2.0622, 30.5}, {-2.904, -2.7508, 30.5}, {-1.452, -1.3754, 31.}, {-1.7137, -1.0311, 31.}}], Polygon[{{-2.904, -2.7508, 30.5}, {-2.2447, -3.3108, 30.5}, {-1.1224, -1.6554, 31.}, {-1.452, -1.3754, 31.}}], Polygon[{{-2.2447, -3.3108, 30.5}, {-1.4806, -3.7159, 30.5}, {-0.74028, -1.858, 31.}, {-1.1224, -1.6554, 31.}}], Polygon[{{-1.4806, -3.7159, 30.5}, {-0.64713, -3.9473, 30.5}, {-0.32356, -1.9737, 31.}, {-0.74028, -1.858, 31.}}], Polygon[{{-0.64713, -3.9473, 30.5}, {0.21656, -3.9941, 30.5}, {0.10828, -1.9971, 31.}, {-0.32356, -1.9737, 31.}}], Polygon[{{0.21656, -3.9941, 30.5}, {1.0701, -3.8542, 30.5}, {0.53506, -1.9271, 31.}, {0.10828, -1.9971, 31.}}], Polygon[{{1.0701, -3.8542, 30.5}, {1.8736, -3.534, 30.5}, {0.93682, -1.767, 31.}, {0.53506, -1.9271, 31.}}], Polygon[{{1.8736, -3.534, 30.5}, {2.5895, -3.0486, 30.5}, {1.2948, -1.5243, 31.}, {0.93682, -1.767, 31.}}], Polygon[{{2.5895, -3.0486, 30.5}, {3.1844, -2.4207, 30.5}, {1.5922, -1.2103, 31.}, {1.2948, -1.5243, 31.}}], Polygon[{{3.1844, -2.4207, 30.5}, {3.6303, -1.6796, 30.5}, {1.8152, -0.83978, 31.}, {1.5922, -1.2103, 31.}}], Polygon[{{3.6303, -1.6796, 30.5}, {3.9065, -0.85988, 30.5}, {1.9532, -0.42994, 31.}, {1.8152, -0.83978, 31.}}], Polygon[{{3.9065, -0.85988, 30.5}, {4., -9.7969*^-16, 30.5}, {2., -4.8984*^-16, 31.}, {1.9532, -0.42994, 31.}}]}, {Polygon[{{2., 0., 31.}, {1.9532, 0.42994, 31.}, {1.9532, 0.42994, 32.}, {2., 0., 32.}}], Polygon[{{1.9532, 0.42994, 31.}, {1.8152, 0.83978, 31.}, {1.8152, 0.83978, 32.}, {1.9532, 0.42994, 32.}}], Polygon[{{1.8152, 0.83978, 31.}, {1.5922, 1.2103, 31.}, {1.5922, 1.2103, 32.}, {1.8152, 0.83978, 32.}}], Polygon[{{1.5922, 1.2103, 31.}, {1.2948, 1.5243, 31.}, {1.2948, 1.5243, 32.}, {1.5922, 1.2103, 32.}}], Polygon[{{1.2948, 1.5243, 31.}, {0.93682, 1.767, 31.}, {0.93682, 1.767, 32.}, {1.2948, 1.5243, 32.}}], Polygon[{{0.93682, 1.767, 31.}, {0.53506, 1.9271, 31.}, {0.53506, 1.9271, 32.}, {0.93682, 1.767, 32.}}], Polygon[{{0.53506, 1.9271, 31.}, {0.10828, 1.9971, 31.}, {0.10828, 1.9971, 32.}, {0.53506, 1.9271, 32.}}], Polygon[{{0.10828, 1.9971, 31.}, {-0.32356, 1.9737, 31.}, {-0.32356, 1.9737, 32.}, {0.10828, 1.9971, 32.}}], Polygon[{{-0.32356, 1.9737, 31.}, {-0.74028, 1.858, 31.}, {-0.74028, 1.858, 32.}, {-0.32356, 1.9737, 32.}}], Polygon[{{-0.74028, 1.858, 31.}, {-1.1224, 1.6554, 31.}, {-1.1224, 1.6554, 32.}, {-0.74028, 1.858, 32.}}], Polygon[{{-1.1224, 1.6554, 31.}, {-1.452, 1.3754, 31.}, {-1.452, 1.3754, 32.}, {-1.1224, 1.6554, 32.}}], Polygon[{{-1.452, 1.3754, 31.}, {-1.7137, 1.0311, 31.}, {-1.7137, 1.0311, 32.}, {-1.452, 1.3754, 32.}}], Polygon[{{-1.7137, 1.0311, 31.}, {-1.8953, 0.6386, 31.}, {-1.8953, 0.6386, 32.}, {-1.7137, 1.0311, 32.}}], Polygon[{{-1.8953, 0.6386, 31.}, {-1.9883, 0.21624, 31.}, {-1.9883, 0.21624, 32.}, {-1.8953, 0.6386, 32.}}], Polygon[{{-1.9883, 0.21624, 31.}, {-1.9883, -0.21624, 31.}, {-1.9883, -0.21624, 32.}, {-1.9883, 0.21624, 32.}}], Polygon[{{-1.9883, -0.21624, 31.}, {-1.8953, -0.6386, 31.}, {-1.8953, -0.6386, 32.}, {-1.9883, -0.21624, 32.}}], Polygon[{{-1.8953, -0.6386, 31.}, {-1.7137, -1.0311, 31.}, {-1.7137, -1.0311, 32.}, {-1.8953, -0.6386, 32.}}], Polygon[{{-1.7137, -1.0311, 31.}, {-1.452, -1.3754, 31.}, {-1.452, -1.3754, 32.}, {-1.7137, -1.0311, 32.}}], Polygon[{{-1.452, -1.3754, 31.}, {-1.1224, -1.6554, 31.}, {-1.1224, -1.6554, 32.}, {-1.452, -1.3754, 32.}}], Polygon[{{-1.1224, -1.6554, 31.}, {-0.74028, -1.858, 31.}, {-0.74028, -1.858, 32.}, {-1.1224, -1.6554, 32.}}], Polygon[{{-0.74028, -1.858, 31.}, {-0.32356, -1.9737, 31.}, {-0.32356, -1.9737, 32.}, {-0.74028, -1.858, 32.}}], Polygon[{{-0.32356, -1.9737, 31.}, {0.10828, -1.9971, 31.}, {0.10828, -1.9971, 32.}, {-0.32356, -1.9737, 32.}}], Polygon[{{0.10828, -1.9971, 31.}, {0.53506, -1.9271, 31.}, {0.53506, -1.9271, 32.}, {0.10828, -1.9971, 32.}}], Polygon[{{0.53506, -1.9271, 31.}, {0.93682, -1.767, 31.}, {0.93682, -1.767, 32.}, {0.53506, -1.9271, 32.}}], Polygon[{{0.93682, -1.767, 31.}, {1.2948, -1.5243, 31.}, {1.2948, -1.5243, 32.}, {0.93682, -1.767, 32.}}], Polygon[{{1.2948, -1.5243, 31.}, {1.5922, -1.2103, 31.}, {1.5922, -1.2103, 32.}, {1.2948, -1.5243, 32.}}], Polygon[{{1.5922, -1.2103, 31.}, {1.8152, -0.83978, 31.}, {1.8152, -0.83978, 32.}, {1.5922, -1.2103, 32.}}], Polygon[{{1.8152, -0.83978, 31.}, {1.9532, -0.42994, 31.}, {1.9532, -0.42994, 32.}, {1.8152, -0.83978, 32.}}], Polygon[{{1.9532, -0.42994, 31.}, {2., -4.8984*^-16, 31.}, {2., -4.8984*^-16, 32.}, {1.9532, -0.42994, 32.}}], Polygon[{{2., 0., 32.}, {1.9532, 0.42994, 32.}, {1.9532, 0.42994, 33.}, {2., 0., 33.}}], Polygon[{{1.9532, 0.42994, 32.}, {1.8152, 0.83978, 32.}, {1.8152, 0.83978, 33.}, {1.9532, 0.42994, 33.}}], Polygon[{{1.8152, 0.83978, 32.}, {1.5922, 1.2103, 32.}, {1.5922, 1.2103, 33.}, {1.8152, 0.83978, 33.}}], Polygon[{{1.5922, 1.2103, 32.}, {1.2948, 1.5243, 32.}, {1.2948, 1.5243, 33.}, {1.5922, 1.2103, 33.}}], Polygon[{{1.2948, 1.5243, 32.}, {0.93682, 1.767, 32.}, {0.93682, 1.767, 33.}, {1.2948, 1.5243, 33.}}], Polygon[{{0.93682, 1.767, 32.}, {0.53506, 1.9271, 32.}, {0.53506, 1.9271, 33.}, {0.93682, 1.767, 33.}}], Polygon[{{0.53506, 1.9271, 32.}, {0.10828, 1.9971, 32.}, {0.10828, 1.9971, 33.}, {0.53506, 1.9271, 33.}}], Polygon[{{0.10828, 1.9971, 32.}, {-0.32356, 1.9737, 32.}, {-0.32356, 1.9737, 33.}, {0.10828, 1.9971, 33.}}], Polygon[{{-0.32356, 1.9737, 32.}, {-0.74028, 1.858, 32.}, {-0.74028, 1.858, 33.}, {-0.32356, 1.9737, 33.}}], Polygon[{{-0.74028, 1.858, 32.}, {-1.1224, 1.6554, 32.}, {-1.1224, 1.6554, 33.}, {-0.74028, 1.858, 33.}}], Polygon[{{-1.1224, 1.6554, 32.}, {-1.452, 1.3754, 32.}, {-1.452, 1.3754, 33.}, {-1.1224, 1.6554, 33.}}], Polygon[{{-1.452, 1.3754, 32.}, {-1.7137, 1.0311, 32.}, {-1.7137, 1.0311, 33.}, {-1.452, 1.3754, 33.}}], Polygon[{{-1.7137, 1.0311, 32.}, {-1.8953, 0.6386, 32.}, {-1.8953, 0.6386, 33.}, {-1.7137, 1.0311, 33.}}], Polygon[{{-1.8953, 0.6386, 32.}, {-1.9883, 0.21624, 32.}, {-1.9883, 0.21624, 33.}, {-1.8953, 0.6386, 33.}}], Polygon[{{-1.9883, 0.21624, 32.}, {-1.9883, -0.21624, 32.}, {-1.9883, -0.21624, 33.}, {-1.9883, 0.21624, 33.}}], Polygon[{{-1.9883, -0.21624, 32.}, {-1.8953, -0.6386, 32.}, {-1.8953, -0.6386, 33.}, {-1.9883, -0.21624, 33.}}], Polygon[{{-1.8953, -0.6386, 32.}, {-1.7137, -1.0311, 32.}, {-1.7137, -1.0311, 33.}, {-1.8953, -0.6386, 33.}}], Polygon[{{-1.7137, -1.0311, 32.}, {-1.452, -1.3754, 32.}, {-1.452, -1.3754, 33.}, {-1.7137, -1.0311, 33.}}], Polygon[{{-1.452, -1.3754, 32.}, {-1.1224, -1.6554, 32.}, {-1.1224, -1.6554, 33.}, {-1.452, -1.3754, 33.}}], Polygon[{{-1.1224, -1.6554, 32.}, {-0.74028, -1.858, 32.}, {-0.74028, -1.858, 33.}, {-1.1224, -1.6554, 33.}}], Polygon[{{-0.74028, -1.858, 32.}, {-0.32356, -1.9737, 32.}, {-0.32356, -1.9737, 33.}, {-0.74028, -1.858, 33.}}], Polygon[{{-0.32356, -1.9737, 32.}, {0.10828, -1.9971, 32.}, {0.10828, -1.9971, 33.}, {-0.32356, -1.9737, 33.}}], Polygon[{{0.10828, -1.9971, 32.}, {0.53506, -1.9271, 32.}, {0.53506, -1.9271, 33.}, {0.10828, -1.9971, 33.}}], Polygon[{{0.53506, -1.9271, 32.}, {0.93682, -1.767, 32.}, {0.93682, -1.767, 33.}, {0.53506, -1.9271, 33.}}], Polygon[{{0.93682, -1.767, 32.}, {1.2948, -1.5243, 32.}, {1.2948, -1.5243, 33.}, {0.93682, -1.767, 33.}}], Polygon[{{1.2948, -1.5243, 32.}, {1.5922, -1.2103, 32.}, {1.5922, -1.2103, 33.}, {1.2948, -1.5243, 33.}}], Polygon[{{1.5922, -1.2103, 32.}, {1.8152, -0.83978, 32.}, {1.8152, -0.83978, 33.}, {1.5922, -1.2103, 33.}}], Polygon[{{1.8152, -0.83978, 32.}, {1.9532, -0.42994, 32.}, {1.9532, -0.42994, 33.}, {1.8152, -0.83978, 33.}}], Polygon[{{1.9532, -0.42994, 32.}, {2., -4.8984*^-16, 32.}, {2., -4.8984*^-16, 33.}, {1.9532, -0.42994, 33.}}], Polygon[{{2., 0., 33.}, {1.9532, 0.42994, 33.}, {1.9532, 0.42994, 34.}, {2., 0., 34.}}], Polygon[{{1.9532, 0.42994, 33.}, {1.8152, 0.83978, 33.}, {1.8152, 0.83978, 34.}, {1.9532, 0.42994, 34.}}], Polygon[{{1.8152, 0.83978, 33.}, {1.5922, 1.2103, 33.}, {1.5922, 1.2103, 34.}, {1.8152, 0.83978, 34.}}], Polygon[{{1.5922, 1.2103, 33.}, {1.2948, 1.5243, 33.}, {1.2948, 1.5243, 34.}, {1.5922, 1.2103, 34.}}], Polygon[{{1.2948, 1.5243, 33.}, {0.93682, 1.767, 33.}, {0.93682, 1.767, 34.}, {1.2948, 1.5243, 34.}}], Polygon[{{0.93682, 1.767, 33.}, {0.53506, 1.9271, 33.}, {0.53506, 1.9271, 34.}, {0.93682, 1.767, 34.}}], Polygon[{{0.53506, 1.9271, 33.}, {0.10828, 1.9971, 33.}, {0.10828, 1.9971, 34.}, {0.53506, 1.9271, 34.}}], Polygon[{{0.10828, 1.9971, 33.}, {-0.32356, 1.9737, 33.}, {-0.32356, 1.9737, 34.}, {0.10828, 1.9971, 34.}}], Polygon[{{-0.32356, 1.9737, 33.}, {-0.74028, 1.858, 33.}, {-0.74028, 1.858, 34.}, {-0.32356, 1.9737, 34.}}], Polygon[{{-0.74028, 1.858, 33.}, {-1.1224, 1.6554, 33.}, {-1.1224, 1.6554, 34.}, {-0.74028, 1.858, 34.}}], Polygon[{{-1.1224, 1.6554, 33.}, {-1.452, 1.3754, 33.}, {-1.452, 1.3754, 34.}, {-1.1224, 1.6554, 34.}}], Polygon[{{-1.452, 1.3754, 33.}, {-1.7137, 1.0311, 33.}, {-1.7137, 1.0311, 34.}, {-1.452, 1.3754, 34.}}], Polygon[{{-1.7137, 1.0311, 33.}, {-1.8953, 0.6386, 33.}, {-1.8953, 0.6386, 34.}, {-1.7137, 1.0311, 34.}}], Polygon[{{-1.8953, 0.6386, 33.}, {-1.9883, 0.21624, 33.}, {-1.9883, 0.21624, 34.}, {-1.8953, 0.6386, 34.}}], Polygon[{{-1.9883, 0.21624, 33.}, {-1.9883, -0.21624, 33.}, {-1.9883, -0.21624, 34.}, {-1.9883, 0.21624, 34.}}], Polygon[{{-1.9883, -0.21624, 33.}, {-1.8953, -0.6386, 33.}, {-1.8953, -0.6386, 34.}, {-1.9883, -0.21624, 34.}}], Polygon[{{-1.8953, -0.6386, 33.}, {-1.7137, -1.0311, 33.}, {-1.7137, -1.0311, 34.}, {-1.8953, -0.6386, 34.}}], Polygon[{{-1.7137, -1.0311, 33.}, {-1.452, -1.3754, 33.}, {-1.452, -1.3754, 34.}, {-1.7137, -1.0311, 34.}}], Polygon[{{-1.452, -1.3754, 33.}, {-1.1224, -1.6554, 33.}, {-1.1224, -1.6554, 34.}, {-1.452, -1.3754, 34.}}], Polygon[{{-1.1224, -1.6554, 33.}, {-0.74028, -1.858, 33.}, {-0.74028, -1.858, 34.}, {-1.1224, -1.6554, 34.}}], Polygon[{{-0.74028, -1.858, 33.}, {-0.32356, -1.9737, 33.}, {-0.32356, -1.9737, 34.}, {-0.74028, -1.858, 34.}}], Polygon[{{-0.32356, -1.9737, 33.}, {0.10828, -1.9971, 33.}, {0.10828, -1.9971, 34.}, {-0.32356, -1.9737, 34.}}], Polygon[{{0.10828, -1.9971, 33.}, {0.53506, -1.9271, 33.}, {0.53506, -1.9271, 34.}, {0.10828, -1.9971, 34.}}], Polygon[{{0.53506, -1.9271, 33.}, {0.93682, -1.767, 33.}, {0.93682, -1.767, 34.}, {0.53506, -1.9271, 34.}}], Polygon[{{0.93682, -1.767, 33.}, {1.2948, -1.5243, 33.}, {1.2948, -1.5243, 34.}, {0.93682, -1.767, 34.}}], Polygon[{{1.2948, -1.5243, 33.}, {1.5922, -1.2103, 33.}, {1.5922, -1.2103, 34.}, {1.2948, -1.5243, 34.}}], Polygon[{{1.5922, -1.2103, 33.}, {1.8152, -0.83978, 33.}, {1.8152, -0.83978, 34.}, {1.5922, -1.2103, 34.}}], Polygon[{{1.8152, -0.83978, 33.}, {1.9532, -0.42994, 33.}, {1.9532, -0.42994, 34.}, {1.8152, -0.83978, 34.}}], Polygon[{{1.9532, -0.42994, 33.}, {2., -4.8984*^-16, 33.}, {2., -4.8984*^-16, 34.}, {1.9532, -0.42994, 34.}}], Polygon[{{2., 0., 34.}, {1.9532, 0.42994, 34.}, {1.9532, 0.42994, 35.}, {2., 0., 35.}}], Polygon[{{1.9532, 0.42994, 34.}, {1.8152, 0.83978, 34.}, {1.8152, 0.83978, 35.}, {1.9532, 0.42994, 35.}}], Polygon[{{1.8152, 0.83978, 34.}, {1.5922, 1.2103, 34.}, {1.5922, 1.2103, 35.}, {1.8152, 0.83978, 35.}}], Polygon[{{1.5922, 1.2103, 34.}, {1.2948, 1.5243, 34.}, {1.2948, 1.5243, 35.}, {1.5922, 1.2103, 35.}}], Polygon[{{1.2948, 1.5243, 34.}, {0.93682, 1.767, 34.}, {0.93682, 1.767, 35.}, {1.2948, 1.5243, 35.}}], Polygon[{{0.93682, 1.767, 34.}, {0.53506, 1.9271, 34.}, {0.53506, 1.9271, 35.}, {0.93682, 1.767, 35.}}], Polygon[{{0.53506, 1.9271, 34.}, {0.10828, 1.9971, 34.}, {0.10828, 1.9971, 35.}, {0.53506, 1.9271, 35.}}], Polygon[{{0.10828, 1.9971, 34.}, {-0.32356, 1.9737, 34.}, {-0.32356, 1.9737, 35.}, {0.10828, 1.9971, 35.}}], Polygon[{{-0.32356, 1.9737, 34.}, {-0.74028, 1.858, 34.}, {-0.74028, 1.858, 35.}, {-0.32356, 1.9737, 35.}}], Polygon[{{-0.74028, 1.858, 34.}, {-1.1224, 1.6554, 34.}, {-1.1224, 1.6554, 35.}, {-0.74028, 1.858, 35.}}], Polygon[{{-1.1224, 1.6554, 34.}, {-1.452, 1.3754, 34.}, {-1.452, 1.3754, 35.}, {-1.1224, 1.6554, 35.}}], Polygon[{{-1.452, 1.3754, 34.}, {-1.7137, 1.0311, 34.}, {-1.7137, 1.0311, 35.}, {-1.452, 1.3754, 35.}}], Polygon[{{-1.7137, 1.0311, 34.}, {-1.8953, 0.6386, 34.}, {-1.8953, 0.6386, 35.}, {-1.7137, 1.0311, 35.}}], Polygon[{{-1.8953, 0.6386, 34.}, {-1.9883, 0.21624, 34.}, {-1.9883, 0.21624, 35.}, {-1.8953, 0.6386, 35.}}], Polygon[{{-1.9883, 0.21624, 34.}, {-1.9883, -0.21624, 34.}, {-1.9883, -0.21624, 35.}, {-1.9883, 0.21624, 35.}}], Polygon[{{-1.9883, -0.21624, 34.}, {-1.8953, -0.6386, 34.}, {-1.8953, -0.6386, 35.}, {-1.9883, -0.21624, 35.}}], Polygon[{{-1.8953, -0.6386, 34.}, {-1.7137, -1.0311, 34.}, {-1.7137, -1.0311, 35.}, {-1.8953, -0.6386, 35.}}], Polygon[{{-1.7137, -1.0311, 34.}, {-1.452, -1.3754, 34.}, {-1.452, -1.3754, 35.}, {-1.7137, -1.0311, 35.}}], Polygon[{{-1.452, -1.3754, 34.}, {-1.1224, -1.6554, 34.}, {-1.1224, -1.6554, 35.}, {-1.452, -1.3754, 35.}}], Polygon[{{-1.1224, -1.6554, 34.}, {-0.74028, -1.858, 34.}, {-0.74028, -1.858, 35.}, {-1.1224, -1.6554, 35.}}], Polygon[{{-0.74028, -1.858, 34.}, {-0.32356, -1.9737, 34.}, {-0.32356, -1.9737, 35.}, {-0.74028, -1.858, 35.}}], Polygon[{{-0.32356, -1.9737, 34.}, {0.10828, -1.9971, 34.}, {0.10828, -1.9971, 35.}, {-0.32356, -1.9737, 35.}}], Polygon[{{0.10828, -1.9971, 34.}, {0.53506, -1.9271, 34.}, {0.53506, -1.9271, 35.}, {0.10828, -1.9971, 35.}}], Polygon[{{0.53506, -1.9271, 34.}, {0.93682, -1.767, 34.}, {0.93682, -1.767, 35.}, {0.53506, -1.9271, 35.}}], Polygon[{{0.93682, -1.767, 34.}, {1.2948, -1.5243, 34.}, {1.2948, -1.5243, 35.}, {0.93682, -1.767, 35.}}], Polygon[{{1.2948, -1.5243, 34.}, {1.5922, -1.2103, 34.}, {1.5922, -1.2103, 35.}, {1.2948, -1.5243, 35.}}], Polygon[{{1.5922, -1.2103, 34.}, {1.8152, -0.83978, 34.}, {1.8152, -0.83978, 35.}, {1.5922, -1.2103, 35.}}], Polygon[{{1.8152, -0.83978, 34.}, {1.9532, -0.42994, 34.}, {1.9532, -0.42994, 35.}, {1.8152, -0.83978, 35.}}], Polygon[{{1.9532, -0.42994, 34.}, {2., -4.8984*^-16, 34.}, {2., -4.8984*^-16, 35.}, {1.9532, -0.42994, 35.}}]}, {Polygon[{{0., 0., 35.}, {0., 0., 35.}, {0.48831, 0.10749, 35.}, {0.5, 0., 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {0.45379, 0.20994, 35.}, {0.48831, 0.10749, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {0.39805, 0.30259, 35.}, {0.45379, 0.20994, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {0.32369, 0.38108, 35.}, {0.39805, 0.30259, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {0.2342, 0.44176, 35.}, {0.32369, 0.38108, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {0.13376, 0.48177, 35.}, {0.2342, 0.44176, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {0.027069, 0.49927, 35.}, {0.13376, 0.48177, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.080891, 0.49341, 35.}, {0.027069, 0.49927, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.18507, 0.46449, 35.}, {-0.080891, 0.49341, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.28059, 0.41384, 35.}, {-0.18507, 0.46449, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.363, 0.34385, 35.}, {-0.28059, 0.41384, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.42843, 0.25778, 35.}, {-0.363, 0.34385, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.47383, 0.15965, 35.}, {-0.42843, 0.25778, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.49707, 0.05406, 35.}, {-0.47383, 0.15965, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.49707, -0.05406, 35.}, {-0.49707, 0.05406, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.47383, -0.15965, 35.}, {-0.49707, -0.05406, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.42843, -0.25778, 35.}, {-0.47383, -0.15965, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.363, -0.34385, 35.}, {-0.42843, -0.25778, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.28059, -0.41384, 35.}, {-0.363, -0.34385, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.18507, -0.46449, 35.}, {-0.28059, -0.41384, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.080891, -0.49341, 35.}, {-0.18507, -0.46449, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {0.027069, -0.49927, 35.}, {-0.080891, -0.49341, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {0.13376, -0.48177, 35.}, {0.027069, -0.49927, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {0.2342, -0.44176, 35.}, {0.13376, -0.48177, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {0.32369, -0.38108, 35.}, {0.2342, -0.44176, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {0.39805, -0.30259, 35.}, {0.32369, -0.38108, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {0.45379, -0.20994, 35.}, {0.39805, -0.30259, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {0.48831, -0.10749, 35.}, {0.45379, -0.20994, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {0.5, -1.2246*^-16, 35.}, {0.48831, -0.10749, 35.}}], Polygon[{{0.5, 0., 35.}, {0.48831, 0.10749, 35.}, {0.97662, 0.21497, 35.}, {1., 0., 35.}}], Polygon[{{0.48831, 0.10749, 35.}, {0.45379, 0.20994, 35.}, {0.90758, 0.41989, 35.}, {0.97662, 0.21497, 35.}}], Polygon[{{0.45379, 0.20994, 35.}, {0.39805, 0.30259, 35.}, {0.79609, 0.60517, 35.}, {0.90758, 0.41989, 35.}}], Polygon[{{0.39805, 0.30259, 35.}, {0.32369, 0.38108, 35.}, {0.64739, 0.76216, 35.}, {0.79609, 0.60517, 35.}}], Polygon[{{0.32369, 0.38108, 35.}, {0.2342, 0.44176, 35.}, {0.46841, 0.88351, 35.}, {0.64739, 0.76216, 35.}}], Polygon[{{0.2342, 0.44176, 35.}, {0.13376, 0.48177, 35.}, {0.26753, 0.96355, 35.}, {0.46841, 0.88351, 35.}}], Polygon[{{0.13376, 0.48177, 35.}, {0.027069, 0.49927, 35.}, {0.054139, 0.99853, 35.}, {0.26753, 0.96355, 35.}}], Polygon[{{0.027069, 0.49927, 35.}, {-0.080891, 0.49341, 35.}, {-0.16178, 0.98683, 35.}, {0.054139, 0.99853, 35.}}], Polygon[{{-0.080891, 0.49341, 35.}, {-0.18507, 0.46449, 35.}, {-0.37014, 0.92898, 35.}, {-0.16178, 0.98683, 35.}}], Polygon[{{-0.18507, 0.46449, 35.}, {-0.28059, 0.41384, 35.}, {-0.56119, 0.82769, 35.}, {-0.37014, 0.92898, 35.}}], Polygon[{{-0.28059, 0.41384, 35.}, {-0.363, 0.34385, 35.}, {-0.726, 0.6877, 35.}, {-0.56119, 0.82769, 35.}}], Polygon[{{-0.363, 0.34385, 35.}, {-0.42843, 0.25778, 35.}, {-0.85686, 0.51555, 35.}, {-0.726, 0.6877, 35.}}], Polygon[{{-0.42843, 0.25778, 35.}, {-0.47383, 0.15965, 35.}, {-0.94765, 0.3193, 35.}, {-0.85686, 0.51555, 35.}}], Polygon[{{-0.47383, 0.15965, 35.}, {-0.49707, 0.05406, 35.}, {-0.99414, 0.10812, 35.}, {-0.94765, 0.3193, 35.}}], Polygon[{{-0.49707, 0.05406, 35.}, {-0.49707, -0.05406, 35.}, {-0.99414, -0.10812, 35.}, {-0.99414, 0.10812, 35.}}], Polygon[{{-0.49707, -0.05406, 35.}, {-0.47383, -0.15965, 35.}, {-0.94765, -0.3193, 35.}, {-0.99414, -0.10812, 35.}}], Polygon[{{-0.47383, -0.15965, 35.}, {-0.42843, -0.25778, 35.}, {-0.85686, -0.51555, 35.}, {-0.94765, -0.3193, 35.}}], Polygon[{{-0.42843, -0.25778, 35.}, {-0.363, -0.34385, 35.}, {-0.726, -0.6877, 35.}, {-0.85686, -0.51555, 35.}}], Polygon[{{-0.363, -0.34385, 35.}, {-0.28059, -0.41384, 35.}, {-0.56119, -0.82769, 35.}, {-0.726, -0.6877, 35.}}], Polygon[{{-0.28059, -0.41384, 35.}, {-0.18507, -0.46449, 35.}, {-0.37014, -0.92898, 35.}, {-0.56119, -0.82769, 35.}}], Polygon[{{-0.18507, -0.46449, 35.}, {-0.080891, -0.49341, 35.}, {-0.16178, -0.98683, 35.}, {-0.37014, -0.92898, 35.}}], Polygon[{{-0.080891, -0.49341, 35.}, {0.027069, -0.49927, 35.}, {0.054139, -0.99853, 35.}, {-0.16178, -0.98683, 35.}}], Polygon[{{0.027069, -0.49927, 35.}, {0.13376, -0.48177, 35.}, {0.26753, -0.96355, 35.}, {0.054139, -0.99853, 35.}}], Polygon[{{0.13376, -0.48177, 35.}, {0.2342, -0.44176, 35.}, {0.46841, -0.88351, 35.}, {0.26753, -0.96355, 35.}}], Polygon[{{0.2342, -0.44176, 35.}, {0.32369, -0.38108, 35.}, {0.64739, -0.76216, 35.}, {0.46841, -0.88351, 35.}}], Polygon[{{0.32369, -0.38108, 35.}, {0.39805, -0.30259, 35.}, {0.79609, -0.60517, 35.}, {0.64739, -0.76216, 35.}}], Polygon[{{0.39805, -0.30259, 35.}, {0.45379, -0.20994, 35.}, {0.90758, -0.41989, 35.}, {0.79609, -0.60517, 35.}}], Polygon[{{0.45379, -0.20994, 35.}, {0.48831, -0.10749, 35.}, {0.97662, -0.21497, 35.}, {0.90758, -0.41989, 35.}}], Polygon[{{0.48831, -0.10749, 35.}, {0.5, -1.2246*^-16, 35.}, {1., -2.4492*^-16, 35.}, {0.97662, -0.21497, 35.}}], Polygon[{{1., 0., 35.}, {0.97662, 0.21497, 35.}, {1.4649, 0.32246, 35.}, {1.5, 0., 35.}}], Polygon[{{0.97662, 0.21497, 35.}, {0.90758, 0.41989, 35.}, {1.3614, 0.62983, 35.}, {1.4649, 0.32246, 35.}}], Polygon[{{0.90758, 0.41989, 35.}, {0.79609, 0.60517, 35.}, {1.1941, 0.90776, 35.}, {1.3614, 0.62983, 35.}}], Polygon[{{0.79609, 0.60517, 35.}, {0.64739, 0.76216, 35.}, {0.97108, 1.1432, 35.}, {1.1941, 0.90776, 35.}}], Polygon[{{0.64739, 0.76216, 35.}, {0.46841, 0.88351, 35.}, {0.70261, 1.3253, 35.}, {0.97108, 1.1432, 35.}}], Polygon[{{0.46841, 0.88351, 35.}, {0.26753, 0.96355, 35.}, {0.40129, 1.4453, 35.}, {0.70261, 1.3253, 35.}}], Polygon[{{0.26753, 0.96355, 35.}, {0.054139, 0.99853, 35.}, {0.081208, 1.4978, 35.}, {0.40129, 1.4453, 35.}}], Polygon[{{0.054139, 0.99853, 35.}, {-0.16178, 0.98683, 35.}, {-0.24267, 1.4802, 35.}, {0.081208, 1.4978, 35.}}], Polygon[{{-0.16178, 0.98683, 35.}, {-0.37014, 0.92898, 35.}, {-0.55521, 1.3935, 35.}, {-0.24267, 1.4802, 35.}}], Polygon[{{-0.37014, 0.92898, 35.}, {-0.56119, 0.82769, 35.}, {-0.84178, 1.2415, 35.}, {-0.55521, 1.3935, 35.}}], Polygon[{{-0.56119, 0.82769, 35.}, {-0.726, 0.6877, 35.}, {-1.089, 1.0315, 35.}, {-0.84178, 1.2415, 35.}}], Polygon[{{-0.726, 0.6877, 35.}, {-0.85686, 0.51555, 35.}, {-1.2853, 0.77333, 35.}, {-1.089, 1.0315, 35.}}], Polygon[{{-0.85686, 0.51555, 35.}, {-0.94765, 0.3193, 35.}, {-1.4215, 0.47895, 35.}, {-1.2853, 0.77333, 35.}}], Polygon[{{-0.94765, 0.3193, 35.}, {-0.99414, 0.10812, 35.}, {-1.4912, 0.16218, 35.}, {-1.4215, 0.47895, 35.}}], Polygon[{{-0.99414, 0.10812, 35.}, {-0.99414, -0.10812, 35.}, {-1.4912, -0.16218, 35.}, {-1.4912, 0.16218, 35.}}], Polygon[{{-0.99414, -0.10812, 35.}, {-0.94765, -0.3193, 35.}, {-1.4215, -0.47895, 35.}, {-1.4912, -0.16218, 35.}}], Polygon[{{-0.94765, -0.3193, 35.}, {-0.85686, -0.51555, 35.}, {-1.2853, -0.77333, 35.}, {-1.4215, -0.47895, 35.}}], Polygon[{{-0.85686, -0.51555, 35.}, {-0.726, -0.6877, 35.}, {-1.089, -1.0315, 35.}, {-1.2853, -0.77333, 35.}}], Polygon[{{-0.726, -0.6877, 35.}, {-0.56119, -0.82769, 35.}, {-0.84178, -1.2415, 35.}, {-1.089, -1.0315, 35.}}], Polygon[{{-0.56119, -0.82769, 35.}, {-0.37014, -0.92898, 35.}, {-0.55521, -1.3935, 35.}, {-0.84178, -1.2415, 35.}}], Polygon[{{-0.37014, -0.92898, 35.}, {-0.16178, -0.98683, 35.}, {-0.24267, -1.4802, 35.}, {-0.55521, -1.3935, 35.}}], Polygon[{{-0.16178, -0.98683, 35.}, {0.054139, -0.99853, 35.}, {0.081208, -1.4978, 35.}, {-0.24267, -1.4802, 35.}}], Polygon[{{0.054139, -0.99853, 35.}, {0.26753, -0.96355, 35.}, {0.40129, -1.4453, 35.}, {0.081208, -1.4978, 35.}}], Polygon[{{0.26753, -0.96355, 35.}, {0.46841, -0.88351, 35.}, {0.70261, -1.3253, 35.}, {0.40129, -1.4453, 35.}}], Polygon[{{0.46841, -0.88351, 35.}, {0.64739, -0.76216, 35.}, {0.97108, -1.1432, 35.}, {0.70261, -1.3253, 35.}}], Polygon[{{0.64739, -0.76216, 35.}, {0.79609, -0.60517, 35.}, {1.1941, -0.90776, 35.}, {0.97108, -1.1432, 35.}}], Polygon[{{0.79609, -0.60517, 35.}, {0.90758, -0.41989, 35.}, {1.3614, -0.62983, 35.}, {1.1941, -0.90776, 35.}}], Polygon[{{0.90758, -0.41989, 35.}, {0.97662, -0.21497, 35.}, {1.4649, -0.32246, 35.}, {1.3614, -0.62983, 35.}}], Polygon[{{0.97662, -0.21497, 35.}, {1., -2.4492*^-16, 35.}, {1.5, -3.6738*^-16, 35.}, {1.4649, -0.32246, 35.}}], Polygon[{{1.5, 0., 35.}, {1.4649, 0.32246, 35.}, {1.9532, 0.42994, 35.}, {2., 0., 35.}}], Polygon[{{1.4649, 0.32246, 35.}, {1.3614, 0.62983, 35.}, {1.8152, 0.83978, 35.}, {1.9532, 0.42994, 35.}}], Polygon[{{1.3614, 0.62983, 35.}, {1.1941, 0.90776, 35.}, {1.5922, 1.2103, 35.}, {1.8152, 0.83978, 35.}}], Polygon[{{1.1941, 0.90776, 35.}, {0.97108, 1.1432, 35.}, {1.2948, 1.5243, 35.}, {1.5922, 1.2103, 35.}}], Polygon[{{0.97108, 1.1432, 35.}, {0.70261, 1.3253, 35.}, {0.93682, 1.767, 35.}, {1.2948, 1.5243, 35.}}], Polygon[{{0.70261, 1.3253, 35.}, {0.40129, 1.4453, 35.}, {0.53506, 1.9271, 35.}, {0.93682, 1.767, 35.}}], Polygon[{{0.40129, 1.4453, 35.}, {0.081208, 1.4978, 35.}, {0.10828, 1.9971, 35.}, {0.53506, 1.9271, 35.}}], Polygon[{{0.081208, 1.4978, 35.}, {-0.24267, 1.4802, 35.}, {-0.32356, 1.9737, 35.}, {0.10828, 1.9971, 35.}}], Polygon[{{-0.24267, 1.4802, 35.}, {-0.55521, 1.3935, 35.}, {-0.74028, 1.858, 35.}, {-0.32356, 1.9737, 35.}}], Polygon[{{-0.55521, 1.3935, 35.}, {-0.84178, 1.2415, 35.}, {-1.1224, 1.6554, 35.}, {-0.74028, 1.858, 35.}}], Polygon[{{-0.84178, 1.2415, 35.}, {-1.089, 1.0315, 35.}, {-1.452, 1.3754, 35.}, {-1.1224, 1.6554, 35.}}], Polygon[{{-1.089, 1.0315, 35.}, {-1.2853, 0.77333, 35.}, {-1.7137, 1.0311, 35.}, {-1.452, 1.3754, 35.}}], Polygon[{{-1.2853, 0.77333, 35.}, {-1.4215, 0.47895, 35.}, {-1.8953, 0.6386, 35.}, {-1.7137, 1.0311, 35.}}], Polygon[{{-1.4215, 0.47895, 35.}, {-1.4912, 0.16218, 35.}, {-1.9883, 0.21624, 35.}, {-1.8953, 0.6386, 35.}}], Polygon[{{-1.4912, 0.16218, 35.}, {-1.4912, -0.16218, 35.}, {-1.9883, -0.21624, 35.}, {-1.9883, 0.21624, 35.}}], Polygon[{{-1.4912, -0.16218, 35.}, {-1.4215, -0.47895, 35.}, {-1.8953, -0.6386, 35.}, {-1.9883, -0.21624, 35.}}], Polygon[{{-1.4215, -0.47895, 35.}, {-1.2853, -0.77333, 35.}, {-1.7137, -1.0311, 35.}, {-1.8953, -0.6386, 35.}}], Polygon[{{-1.2853, -0.77333, 35.}, {-1.089, -1.0315, 35.}, {-1.452, -1.3754, 35.}, {-1.7137, -1.0311, 35.}}], Polygon[{{-1.089, -1.0315, 35.}, {-0.84178, -1.2415, 35.}, {-1.1224, -1.6554, 35.}, {-1.452, -1.3754, 35.}}], Polygon[{{-0.84178, -1.2415, 35.}, {-0.55521, -1.3935, 35.}, {-0.74028, -1.858, 35.}, {-1.1224, -1.6554, 35.}}], Polygon[{{-0.55521, -1.3935, 35.}, {-0.24267, -1.4802, 35.}, {-0.32356, -1.9737, 35.}, {-0.74028, -1.858, 35.}}], Polygon[{{-0.24267, -1.4802, 35.}, {0.081208, -1.4978, 35.}, {0.10828, -1.9971, 35.}, {-0.32356, -1.9737, 35.}}], Polygon[{{0.081208, -1.4978, 35.}, {0.40129, -1.4453, 35.}, {0.53506, -1.9271, 35.}, {0.10828, -1.9971, 35.}}], Polygon[{{0.40129, -1.4453, 35.}, {0.70261, -1.3253, 35.}, {0.93682, -1.767, 35.}, {0.53506, -1.9271, 35.}}], Polygon[{{0.70261, -1.3253, 35.}, {0.97108, -1.1432, 35.}, {1.2948, -1.5243, 35.}, {0.93682, -1.767, 35.}}], Polygon[{{0.97108, -1.1432, 35.}, {1.1941, -0.90776, 35.}, {1.5922, -1.2103, 35.}, {1.2948, -1.5243, 35.}}], Polygon[{{1.1941, -0.90776, 35.}, {1.3614, -0.62983, 35.}, {1.8152, -0.83978, 35.}, {1.5922, -1.2103, 35.}}], Polygon[{{1.3614, -0.62983, 35.}, {1.4649, -0.32246, 35.}, {1.9532, -0.42994, 35.}, {1.8152, -0.83978, 35.}}], Polygon[{{1.4649, -0.32246, 35.}, {1.5, -3.6738*^-16, 35.}, {2., -4.8984*^-16, 35.}, {1.9532, -0.42994, 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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aBREPSolidPolyhedra.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aBREPSolidPolyhedra.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aBREPSolidPolyhedra.txt	(revision 1208)
@@ -0,0 +1,1 @@
+Graphics3D[{Polygon[{{0., 0., 0.}, {15., 0., 5.}, {4.6353, 14.266, 5.}, {0., 0., 0.}}], Polygon[{{0., 0., 0.}, {4.6353, 14.266, 5.}, {-12.135, 8.8168, 5.}, {0., 0., 0.}}], Polygon[{{0., 0., 0.}, {-12.135, 8.8168, 5.}, {-12.135, -8.8168, 5.}, {0., 0., 0.}}], Polygon[{{0., 0., 0.}, {-12.135, -8.8168, 5.}, {4.6353, -14.266, 5.}, {0., 0., 0.}}], Polygon[{{0., 0., 0.}, {4.6353, -14.266, 5.}, {15., 0., 5.}, {0., 0., 0.}}], Polygon[{{15., 0., 5.}, {4.6353, 14.266, 5.}, {4.6353, 14.266, 8.}, {15., 0., 8.}}], Polygon[{{4.6353, 14.266, 5.}, {-12.135, 8.8168, 5.}, {-12.135, 8.8168, 8.}, {4.6353, 14.266, 8.}}], Polygon[{{-12.135, 8.8168, 5.}, {-12.135, -8.8168, 5.}, {-12.135, -8.8168, 8.}, {-12.135, 8.8168, 8.}}], Polygon[{{-12.135, -8.8168, 5.}, {4.6353, -14.266, 5.}, {4.6353, -14.266, 8.}, {-12.135, -8.8168, 8.}}], Polygon[{{4.6353, -14.266, 5.}, {15., 0., 5.}, {15., 0., 8.}, {4.6353, -14.266, 8.}}], Polygon[{{15., 0., 8.}, {4.6353, 14.266, 8.}, {1.2361, 3.8042, 13.}, {4., 0., 13.}}], Polygon[{{4.6353, 14.266, 8.}, {-12.135, 8.8168, 8.}, {-3.2361, 2.3511, 13.}, {1.2361, 3.8042, 13.}}], Polygon[{{-12.135, 8.8168, 8.}, {-12.135, -8.8168, 8.}, {-3.2361, -2.3511, 13.}, {-3.2361, 2.3511, 13.}}], Polygon[{{-12.135, -8.8168, 8.}, {4.6353, -14.266, 8.}, {1.2361, -3.8042, 13.}, {-3.2361, -2.3511, 13.}}], Polygon[{{4.6353, -14.266, 8.}, {15., 0., 8.}, {4., 0., 13.}, {1.2361, -3.8042, 13.}}], Polygon[{{4., 0., 13.}, {1.2361, 3.8042, 13.}, {1.2361, 3.8042, 30.}, {4., 0., 30.}}], Polygon[{{1.2361, 3.8042, 13.}, {-3.2361, 2.3511, 13.}, {-3.2361, 2.3511, 30.}, {1.2361, 3.8042, 30.}}], Polygon[{{-3.2361, 2.3511, 13.}, {-3.2361, -2.3511, 13.}, {-3.2361, -2.3511, 30.}, {-3.2361, 2.3511, 30.}}], Polygon[{{-3.2361, -2.3511, 13.}, {1.2361, -3.8042, 13.}, {1.2361, -3.8042, 30.}, {-3.2361, -2.3511, 30.}}], Polygon[{{1.2361, -3.8042, 13.}, {4., 0., 13.}, {4., 0., 30.}, {1.2361, -3.8042, 30.}}], Polygon[{{4., 0., 30.}, {1.2361, 3.8042, 30.}, {3.0902, 9.5106, 32.}, {10., 0., 32.}}], Polygon[{{1.2361, 3.8042, 30.}, {-3.2361, 2.3511, 30.}, {-8.0902, 5.8779, 32.}, {3.0902, 9.5106, 32.}}], Polygon[{{-3.2361, 2.3511, 30.}, {-3.2361, -2.3511, 30.}, {-8.0902, -5.8779, 32.}, {-8.0902, 5.8779, 32.}}], Polygon[{{-3.2361, -2.3511, 30.}, {1.2361, -3.8042, 30.}, {3.0902, -9.5106, 32.}, {-8.0902, -5.8779, 32.}}], Polygon[{{1.2361, -3.8042, 30.}, {4., 0., 30.}, {10., 0., 32.}, {3.0902, -9.5106, 32.}}], Polygon[{{10., 0., 32.}, {3.0902, 9.5106, 32.}, {3.0902, 9.5106, 35.}, {10., 0., 35.}}], Polygon[{{3.0902, 9.5106, 32.}, {-8.0902, 5.8779, 32.}, {-8.0902, 5.8779, 35.}, {3.0902, 9.5106, 35.}}], Polygon[{{-8.0902, 5.8779, 32.}, {-8.0902, -5.8779, 32.}, {-8.0902, -5.8779, 35.}, {-8.0902, 5.8779, 35.}}], Polygon[{{-8.0902, -5.8779, 32.}, {3.0902, -9.5106, 32.}, {3.0902, -9.5106, 35.}, {-8.0902, -5.8779, 35.}}], Polygon[{{3.0902, -9.5106, 32.}, {10., 0., 32.}, {10., 0., 35.}, {3.0902, -9.5106, 35.}}], Polygon[{{10., 0., 35.}, {3.0902, 9.5106, 35.}, {-8.0902, 5.8779, 35.}, {-8.0902, -5.8779, 35.}, {3.0902, -9.5106, 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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aBox.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aBox.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aBox.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aCons.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aCons.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aCons.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aEllipsoid.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aEllipsoid.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aEllipsoid.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aEllipticalCone.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aEllipticalCone.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aEllipticalCone.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aEllipticalTube.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aEllipticalTube.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aEllipticalTube.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aHyperboloid.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aHyperboloid.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aHyperboloid.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aOrb.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aOrb.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aOrb.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aPara.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aPara.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aPara.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aSphere.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aSphere.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aSphere.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTet.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTet.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTet.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTorus.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTorus.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTorus.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTrap.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTrap.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTrap.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTrd.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTrd.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTrd.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTubs.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTubs.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTubs.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTwistedBox.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTwistedBox.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTwistedBox.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTwistedTrap.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTwistedTrap.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTwistedTrap.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTwistedTrd.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTwistedTrd.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTwistedTrd.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTwistedTubs.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTwistedTubs.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/aTwistedTubs.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/diff.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/diff.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/diff.txt	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic1.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic1.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic1.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic10.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic10.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic10.html	(revision 1208)
@@ -0,0 +1,8 @@
+<HTML>
+<TITLE>G4Polycone</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="aBREPSolidPCone.txt">
+</APPLET>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic11.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic11.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic11.html	(revision 1208)
@@ -0,0 +1,8 @@
+<HTML>
+<TITLE>G4Polyhedra</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="aBREPSolidPolyhedra.txt">
+</APPLET>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic12.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic12.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic12.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic13.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic13.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic13.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic14.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic14.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic14.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic15.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic15.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic15.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic16.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic16.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic16.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic17.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic17.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic17.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic18.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic18.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic18.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic19.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic19.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic19.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic2.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic2.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic2.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic20.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic20.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic20.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic3.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic3.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic3.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic4.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic4.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic4.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic5.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic5.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic5.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic6.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic6.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic6.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic7.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic7.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic7.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic8.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic8.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic8.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic9.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic9.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/geometry.src/pic9.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Detector/hit.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/hit.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/hit.html	(revision 1208)
@@ -0,0 +1,775 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- 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 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+
+
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="electroMagneticField.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A HREF="digitization.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>For Application Developers</B>
+<BR>
+<B>Detector Definition and Response</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>4.4 Hits</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<p>
+
+<a name="4.4.1">
+<H2>4.4.1 Hit</H2></a>
+
+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 
+<i>G4Step</i> object. This information can be
+ <ul>
+  <li>the position and time of the step,
+  <li>the momentum and energy of the track,
+  <li>the energy deposition of the step,
+  <li>geometrical information,
+ </ul>
+or any combination of the above.
+<p>
+
+<b><i>G4VHit</i></b>
+<p>
+<i>G4VHit</i> 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>
+<i>G4VHit</i> has two virtual methods, <tt>Draw()</tt> and <tt>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="../Visualization/markertext.html">Section 8.9</a>.
+</p>
+
+<br>
+<b><i>G4THitsCollection</i></b>
+<p>
+<i>G4VHit</i> is an abstract class from which you derive your own concrete 
+classes.  During the processing of a given event, represented by a 
+<i>G4Event</i> 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 
+<i>G4VHitsCollection</i>, an abstract class which represents a vector 
+collection of user defined hits. 
+</p>
+<p>
+<i>G4THitsCollection</i> is a template class derived from
+<i>G4VHitsCollection</i>, and the concrete hit collection class of a 
+particular <i>G4VHit</i> 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>
+<i>G4Event</i> has a <i>G4HCofThisEvent</i> 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>
+
+<b>An example of a concrete hit class</b>
+<p>
+ Source listing 4.4.1 shows an example of a concrete hit class.
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+ <pre>
+#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 &right);
+      const ExN04TrackerHit& operator=(const ExN04TrackerHit &right);
+      int operator==(const ExN04TrackerHit &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>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 4.4.1<BR>
+ An example of a concrete hit class.
+</td>
+</tr>
+</table></center>
+<p>
+<i>G4Allocator</i> is a class for fast allocation of objects to the heap 
+through the paging mechanism.  For details of <i>G4Allocator</i>,
+refer to <a href="../Fundamentals/global.html">3.2.4</a>.  Use of
+<i>G4Allocator</i> 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 <i>G4Allocator</i> is to be used <b>only</b> for the concrete class 
+that is <b>not</b> used as a base class of any other classes.  For example, 
+do <b>not</b> use the <i>G4Trajectory</i> class as a base class for a 
+customized trajectory class, since <i>G4Trajectory</i> uses <i>G4Allocator</i>.
+</p>
+<p>
+
+<b>G4THitsMap</b>
+<p>
+<i>G4THitsMap</i> is an alternative to <i>G4THitsCollection</i>. 
+<i>G4THitsMap</i> does not demand <i>G4VHit</i>, 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. <i>G4THitsMap</i> is convenient for 
+applications which do not need to output event-by-event data but instead just 
+accumulate them.  All the <i>G4VPrimitiveScorer</i> classes discussed in 
+<a href="#4.4.5">section 4.4.5</a> use <i>G4THitsMap</i>.
+</p>
+<p>
+<i>G4THitsMap</i> is derived from the <i>G4VHitsCollection</i> abstract base
+class and all objects of this class are also stored in <i>G4HCofThisEvent</i>
+at the end of an event. How to access a <i>G4THitsMap</i> object
+is discussed in the <a href="#4.4.5">following section</a>.
+
+<hr>
+<a name="4.4.2">
+<H2>4.4.2 Sensitive detector</H2></a>
+
+<b><i>G4VSensitiveDetector</i></b>
+<p>
+<i>G4VSensitiveDetector</i> 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>ProcessHits()</tt> method of <i>G4VSensitiveDetector</i>
+performs this task using <i>G4Step</i> objects as input.  In the case of a
+"Readout" geometry (see <a href="#4.4.3">Section 4.4.3</a>), objects of
+the <i>G4TouchableHistory</i> class may be used as an optional input.
+
+<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 
+ <pre>
+     myEMcal = new MyEMcal("/myDet/myCal/myEMcal");
+ </pre>
+where <tt>myEMcal</tt> is the name of your detector. The pointer to your
+sensitive detector must be set to one or more <i>G4LogicalVolume</i>
+objects to set the sensitivity of these volumes. The pointer should
+also be registered to <i>G4SDManager</i>, as described in 
+<a href="#4.4.4">Section 4.4.4</a>.
+<p>
+ <i>G4VSensitiveDetector</i> has three major virtual methods.
+<p>
+ <dl>
+ <dt><tt>ProcessHits()</tt>
+  <dd>This method is invoked by <i>G4SteppingManager</i> when a step is
+  composed in the <i>G4LogicalVolume</i> which has the pointer to this
+  sensitive detector. The first argument of this method is a <i>G4Step</i>
+  object of the current step. The second argument is a 
+  <i>G4TouchableHistory</i> object for the ``Readout geometry'' described
+  in the next section. The second argument is <tt>NULL</tt> if
+  ``Readout geometry'' is not assigned to this sensitive detector.
+  In this method, one or more <i>G4VHit</i> objects should be
+  constructed if the current step is meaningful for your detector.<p>
+ <dt><tt>Initialize()</tt>
+  <dd>This method is invoked at the beginning of each event. The argument
+  of this method is an object of the <i>G4HCofThisEvent</i> class. Hit
+  collections, where hits produced in this particular event are stored,
+  can be associated with the <i>G4HCofThisEvent</i> object in this
+  method. The hit collections associated with the <i>G4HCofThisEvent</i>
+  object during this method can be used for ``during the event processing''
+  digitization.<p>
+ <dt><tt>EndOfEvent()</tt>
+  <dd>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 <i>G4HCofThisEvent</i> object.
+ </dl>
+<p>
+
+<HR>
+<a name="4.4.3">
+<H2>4.4.3 Readout geometry</H2></a>
+
+This section describes how a ``Readout geometry'' can be defined.
+A Readout geometry is a virtual, parallel geometry for obtaining the
+channel number. 
+<p>
+ As an example, the accordion calorimeter of <b>ATLAS</b> 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.
+ <center><img src="hit.src/RO.gif"></center>
+<p>
+The picture 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="#4.4.2">Section 4.4.2</a>). The next step is to
+associate your <i>G4VReadoutGeometry</i> object to the sensitive detector.
+</p>
+<p>
+At tracking time, the base class <i>G4VReadoutGeometry</i> will provide to 
+your sensitive detector code the <i>G4TouchableHistory</i> in the Readout
+geometry at the beginning of the step position (position of
+<i>PreStepPoint</i> of <i>G4Step</i>) and at this position only.
+</p>
+<p>
+This <i>G4TouchableHistory</i> is given to your sensitive detector code 
+through the <i>G4VSensitiveDetector</i> virtual method:
+ <pre>
+	G4bool processHits(G4Step* aStep, G4TouchableHistory* ROhist);
+ </pre>
+ by the <tt>ROhist</tt> argument.
+<p>
+Thus, you will be able to use information from both the <i>G4Step</i> and
+the <i>G4TouchableHistory</i> 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>
+
+<b>Definition of a virtual geometry setup</b>
+<p>
+The base class for the implementation of a Readout geometry is
+<i>G4VReadoutGeometry</i>. This class has a single pure virtual protected
+method:
+ <pre>
+	virtual G4VPhysicalVolume* build() = 0;
+ </pre>
+which you must override in your concrete class. The <i>G4VPhysicalVolume</i> 
+pointer you will have to return is of the physical world of the Readout 
+geometry.
+<p>
+The step by step procedure for constructing a Readout geometry is:
+ <ul>
+  <li>inherit from <i>G4VReadoutGeometry</i> to define a <i>MyROGeom</i> 
+      class;<p>
+  <li>implement the Readout geometry in the <tt>build()</tt> method,
+      returning the physical world of this geometry.<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>
+      In this geometry you need to declare the sensitive parts
+      in the same way as in the tracking geometry: by setting a
+      non-<tt>NULL</tt> <i>G4VSensitiveDetector</i> pointer in, say, the 
+      relevant <i>G4LogicalVolume</i> objects.  This sensitive class needs 
+      to be there, but will not be used.<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>NULL</tt> pointer in this case of the parallel geometry.<p>
+  <li>in the <tt>construct()</tt> method of your concrete
+      <i>G4VUserDetectorConstruction</i> class:<p>
+      <ul>
+        <li>instantiate your Readout geometry:
+            <pre>
+      MyROGeom* ROgeom = new MyROGeom("ROName");
+            </pre>
+        <li>build it:
+            <pre>
+      ROgeom-&gt;buildROGeometry();
+            </pre>
+            That will invoke your <tt>build()</tt> method.<p>
+        <li>Instantiate the sensitive detector which will
+            receive the <tt>ROGeom</tt> pointer, <tt>MySensitive</tt>, and 
+            add this sensitive to the <i>G4SDManager</i>. Associate this 
+            sensitive to the volume(s) of the tracking geometry as usual.<p>
+        <li>Associate the sensitive to the Readout geometry:
+            <pre>
+      MySensitive-&gt;SetROgeometry(ROgeom);
+            </pre>
+      </ul>
+ </ul>
+<p>
+
+<HR>
+<a name="4.4.4">
+<H2>4.4.4 <i>G4SDManager</i></H2></a>
+
+ <i>G4SDManager</i> is the singleton manager class for sensitive detectors.
+<p>
+
+<B>Activation / inactivation of sensitive detectors</B>
+<P>
+ The user interface commands <tt>activate</tt> and <tt>inactivate</tt>
+ are available to control your sensitive detectors. For example:
+ <p>
+ <tt>/hits/activate detector_name</tt><br>
+ <tt>/hits/inactivate detector_name</tt>
+ <p>
+ where <tt>detector_name</tt> can be the detector name or the category
+ name. For example, if your EM calorimeter is named <tt>/myDet/myCal/myEMcal</tt>,
+ <pre>
+     /hits/inactivate myCal
+ </pre>
+ will inactivate all detectors belonging to the <tt>myCal</tt> category.
+<p>
+
+<B>Access to the hit collections</B>
+<p>
+ Hit collections are accessed for various cases.
+ <p>
+ <ul>
+  <li>Digitization
+  <li>Event filtering in <i>G4VUserStackingAction</i>
+  <li>``End of event'' simple analysis
+  <li>Drawing / printing hits
+ </ul>
+ <p>
+The following is an example of how to access the hit collection of a 
+particular concrete type:
+ <pre>
+  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();
+  <i>MyHitsCollection</i>* myCollection = (<i>MyHitsCollection</i>*)(HC0fEvent-&gt;GetHC(collectionID));
+ </pre>
+<p>
+
+<hr>
+<a name="4.4.5">
+<h2>4.4.5 <i>G4MultiFunctionalDetector</i> and 
+<i>G4VPrimitiveScorer</i></h2></a>
+
+<i>G4MultiFunctionalDetector</i> is a concrete class derived from 
+<i>G4VSensitiveDetector</i>.  Instead of implementing a user-specific detector 
+class, <i>G4MultiFunctionalDetector</i> allows the user to register 
+<i>G4VPrimitiveScorer</i> classes to build up the sensitivity. 
+<i>G4MultiFunctionalDetector</i> should be instantiated in the users detector 
+construction with its unique name and should be assigned to one or more 
+<i>G4LogicalVolume</i>s.
+<p>
+
+<i>G4VPrimitiveScorer</i> is an abstract base class representing a class to be 
+registered to <i>G4MultiFunctionalDetector</i> that creates a 
+<i>G4THitsMap</i> object of one physics quantity for an event. Geant4 provides 
+many concrete primitive scorer classes listed in the 
+<a href="#4.4.6">next section</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 
+<i>G4MultiFunctionalDetector</i>. Please note that a primitive scorer object 
+must <b>not</b> be shared by more than one <i>G4MultiFunctionalDetector</i>
+object.
+<p>
+
+As mentioned in <a href="#4.4.1>4.4.1</a>, each <i>G4VPrimitiveScorer</i> 
+generates one <i>G4THitsMap</i> 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 the <a href="#4.4.6">next section</a>
+generates a <i>G4THitsMap&lt;G4double&gt;</i> that maps a <i>G4double</i> 
+value to its key integer number.  By default, the key is taken as the copy 
+number of the <i>G4LogicalVolume</i> to which <i>G4MultiFunctionalDetector</i> 
+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 <i>G4VPrimitiveScorer</i> 
+constructor, "<i>depth</i>" 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 <i>GetIndex(G4Step*)</i> virtual method to return the 
+unique key.
+
+<P>
+Source listing 4.4.2 shows an example of primitive sensitivity class 
+definitions.
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+ <pre>
+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>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 4.4.2<BR>
+ An example of defining primitive sensitivity classes taken from <i>ExN07DetectorConstruction</i>.
+</td>
+</tr>
+</table></center>
+<p>
+
+Each <i>G4THitsMap</i> object can be accessed from <i>G4HCofThisEvent</i> with 
+a unique collection ID number. This ID number can be obtained from 
+<i>G4SDManager::GetCollectionID()</i> with a name of
+<i>G4MultiFunctionalDetector</i> and <i>G4VPrimitiveScorer</i> connected 
+with a slush ("/").
+<i>G4THitsMap</i> has a [] operator taking the key value as an argument and 
+returning <b>the pointer</b> of the value.  Please note that the [] operator 
+returns <b>the pointer</b> of the value.  If you get zero from the []
+operator, it does <b>not</b> 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.  <i>G4THitsMap</i> also has a += operator in order to accumulate
+event data into run data. Source listing 4.4.3 shows the use of 
+<i>G4THitsMap</i>.
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+ <pre>
+#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 && (val&gt;*mapP) ) continue;
+        mapMin[i][k].set(key,val);
+      }
+    }
+  }
+}
+</pre>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 4.4.3<BR>
+ An example of accessing to <i>G4THitsMap</i> objects.
+</td>
+</tr>
+</table></center>
+<p>
+  
+<HR>
+<a name="4.4.6">
+<H2>4.4.6 Concrete classes of <i>G4VPrimitiveScorer</i></H2></a>
+
+With Geant4 version 8.0, several concrete primitive scorer classes are 
+provided, all of which are derived from the <i>G4VPrimitiveScorer</i> abstract 
+base class and which are to be registered to <i>G4MultiFunctionalDetector</i>.
+Each of them contains one <i>G4THitsMap</i> object and scores a simple double 
+value for each key. 
+
+<p>
+<b>Track length scorers</b><p>
+
+<DL>
+<DT>G4PSTrackLength</DT>
+<DD>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 
+<i>Weighted()</i> method of this class object is invoked.</DD>
+<p>
+<DT>G4PSPassageTrackLength</DT>
+<DD>The passage track length is the same as the track length in 
+<i>G4PSTrackLength</i>, 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 <i>Weighted()</i> method of this class object is invoked.</DD>
+</DL>
+
+<p>
+<b>Deposited energy scorers</b><p>
+
+<DL>
+<DT>G4PSEnergyDeposit</DT>
+<DD>This scorer stores a sum of particles' energy deposits at each step in the 
+cell. The particle weight is multiplied at each step.</DD>
+<p>
+<DT>G4PSDoseDeposit</DT>
+<DD>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 <i>G4VSolid</i> and <i>G4LogicalVolume</i>. 
+The particle weight is multiplied at each step.</DD>
+</DL>
+
+<p>
+<b>Current and flux scorers</b><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>
+<DL>
+<DT>G4PSFlatSurfaceCurrent</DT>
+<DD>Flat surface current is a surface based scorer. The present implementation 
+is limited to scoring only at the -Z surface of a <i>G4Box</i> 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.</DD><p>
+<DT>G4PSSphereSurfaceCurrent</DT>
+<DD>Sphere surface current is a surface based scorer, and similar to the 
+G4PSFlatSurfaceCurrent. The only difference is that the surface is defined at 
+the <b>inner surface</b> of a G4Sphere solid.</DD><p>
+<DT>G4PSPassageCurrent</DT>
+<DD>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.</DD><p>
+
+<DT>G4PSFlatSurfaceFlux</DT>
+<DD>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.</DD><p>
+<DT>G4PSCellFlux</DT>
+<DD>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.</DD><p>
+<DT>G4PSPassageCellFlux</DT>
+<DD>Passage cell flux is a volume based scorer similar to <i>G4PSCellFlux</i>. 
+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.</DD>
+</DL>
+
+<p>
+<b>Other scorers</b><p>
+<DL>
+<DT>G4PSMinKinEAtGeneration</DT>
+<DD>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. </DD><p>
+<DT>G4PSNofSecondary</DT>
+<DD>This class scores the number of secondary particles generated in the 
+volume. The weight of the secondary track is taken into account. </DD><p>
+<DT>G4PSNofStep</DT>
+<DD>This class scores the number of steps in the cell. A particle weight is 
+    not applied.</DD>
+<DT>G4PSCellCharge</DT>
+<DD>This class scored the total charge of particles which has stoped in the 
+volume.</DD>
+</DL>
+
+<hr>
+<a name="4.4.7">
+<H2>4.4.7 <i>G4VSDFilter</i> and its derived classes</H2></a>
+
+<i>G4VSDFilter</i> is an abstract class that represents a track filter to be 
+associated with <i>G4VSensitiveDetector</i> or <i>G4VPrimitiveScorer</i>. It 
+defines a virtual method 
+<DL><DD><i>G4bool Accept(const G4Step*)</i></DD></DL>
+that should return <i>true</i> if this particular step should be scored by 
+the <i>G4VSensitiveDetector</i> or <i>G4VPrimitiveScorer</i>.
+
+<p>
+While the user can implement his/her own filter class, Geant4 version 8.0 
+provides the following concrete filter classes:
+<p>
+<DL>
+<DT>G4SDChargedFilter</DL>
+<DD>All charged particles are accepted.</DD><p>
+<DT>G4SDNeutralFilter</DL>
+<DD>All neutral particles are accepted.</DD><p>
+<DT>G4SDParticleFilter</DL>
+<DD>Particle species which are registered to this filter object by 
+   <i>Add("particle_name")</i> are accepted.  More than one species can be 
+   registered.</DD><p>
+<DT>G4SDKineticEnergyFilter</DT>
+<DD>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.</DD><p>
+<DT>G4SDParticleWithEnergyFilter</DT>
+<DD>Combination of <i>G4SDParticleFilter</i> and 
+   <i>G4SDParticleWithEnergyFilter</i>.</DD><p>
+</DL>
+
+The use of the <i>G4SDParticleFilter</i> class is demonstrated in the Source 
+Listing 4.4.2, where filters which accept gamma, electron, positron and 
+electron/positron are defined.
+
+<br><br>
+<hr>
+<a href="../../../../Authors/html/subjectsToAuthors.html">
+<i>About the authors</i></a>
+
+</body>
+</html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/hit.src/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/hit.src/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/hit.src/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/RO.gif/1.1/Wed Nov 21 01:38:27 2001//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/hit.src/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/hit.src/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/hit.src/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/hit.src
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/hit.src/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/hit.src/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/hit.src/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/index.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/index.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/index.html	(revision 1208)
@@ -0,0 +1,94 @@
+<HTML>
+<HEAD>
+   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+</HEAD>
+<TITLE>ADG: Detector</TITLE>
+<BODY>
+<BR>
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+
+
+</A>
+<A HREF="../index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59>
+</A>
+<A HREF="../Fundamentals/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<A HREF="../TrackingAndPhysics/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></A>
+</TD>
+
+<TD></TD>
+<TD ALIGN=RIGHT><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Documents</B>
+<BR>
+
+<B>Geant4 User's Guide</B>
+<BR>
+
+<B>For Application Developers</B>
+<BR>
+
+</FONT></FONT>
+</TD>
+</TR>
+</TABLE>
+<P>
+<BR>
+
+<CENTER><B><FONT COLOR="#238E23"><FONT SIZE=+4>
+</FONT></FONT></B>
+</CENTER>
+
+<CENTER><B><FONT COLOR="#238E23"><FONT SIZE=+2>
+<B>4. Detector Definition and Response</B>
+</FONT></FONT></B>
+</CENTER>
+<P>
+<BR>
+
+<HR ALIGN="Center" SIZE="7%">
+
+<!-- ============================================== Section -->
+<BR><BR>
+<B>
+   <OL>
+   <LI>
+   <A HREF="geometry.html">
+   Geometry</A></LI>
+   <LI>
+   <A HREF="material.html">
+   Materials</A></LI>
+   <LI>
+   <A HREF="electroMagneticField.html">
+   Electromagnetic Field</A></LI>
+   <LI>
+   <A HREF="hit.html">
+   Hits</A></LI>
+   <LI>
+   <A HREF="digitization.html">
+   Digitization</A></LI>
+   <LI>
+   <A HREF="persistency.html">
+   Object Persistency</A></LI>
+   <LI>
+   <A HREF="parallelWorld.html">
+   Parallel Geometries</A></LI>
+   </OL>
+
+
+</B>
+
+
+<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
+
+<!-- ============================================== Section -->
+<P><HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</A></I>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/material.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/material.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/material.html	(revision 1208)
@@ -0,0 +1,497 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+<META NAME="GENERATOR" CONTENT="Mozilla/3.0Gold (X11; I; OSF1 V4.0 alpha) [Netscape]">
+</HEAD>
+<BODY>
+
+<!-- Changed by: Katsuya Amako, 14-Jul-1998 -->
+<!-- Proof read by: Joe Chuma,  29-Jun-1999 -->
+
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+</A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A>
+<A HREF="geometry.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<A HREF="electroMagneticField.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></A>
+</TD>
+
+<TD ALIGN="Right"><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B> <BR>
+<B>For Application Developers</B> <BR>
+<B>Detector Definition and Response</B> </FONT></FONT> </TD>
+</TR>
+</TABLE>
+<P><BR>
+
+<CENTER><FONT COLOR="#238E23"><FONT SIZE=+3>
+<B>4.2 Material</B> </FONT></FONT>
+</CENTER>
+<BR>
+<BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<p>
+
+<a name="4.2.1">
+<H2>4.2.1 General considerations</H2></a>
+
+ 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> 
+ <dl><dl>
+ <dt><i>G4Isotope</i>
+ <dd>This class describes the properties of atoms: atomic number, number of
+ nucleons, mass per mole, etc.
+ </p>
+ <p>
+ <dt><i>G4Element</i>
+ <dd>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>
+ <p> 
+ <dt><i>G4Material</i>
+ <dd>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>
+ </dl></dl>
+ <p> 
+ Only the <i>G4Material</i> 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>
+
+<hr>
+<a name="4.2.2">
+<h2>4.2.2 Introduction to the Classes</h2></a>
+
+<b><i>G4Isotope</i></b>
+<p>
+ A <i>G4Isotope</i> 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>
+<br>
+
+<b><i>G4Element</i></b>
+<p>
+ A <i>G4Element</i> 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 <i>G4Element</i> 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 
+ <i>G4Element</i> 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 <i>G4Isotopes</i> 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 G4Element can be accessed by atomic
+number or by atomic symbol ("Al", "Fe", "Pb"...). In that case 
+G4Element will be found from the list of existing elements or 
+will be constructed using data from the Geant4 database, which is derived 
+from the NIST database of elements and isotope compositions
+ (http://physics.nist.gov/PhysRefData/Compositions/index.html). Thus, 
+the natural isotope composition can be built by default. The same element 
+can be created as using the NIST database with natural composition of isotopes
+and from scratch in user code with user defined isotope composition.
+</p>
+<br>
+
+<b><i>G4Material</i></b>
+<p>
+ A <i>G4Material</i> 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 <i>G4Material</i> 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 
+ <i>G4Material</i> 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 <i>G4Element</i> 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 NIST database of material properties 
+ (http://physics.nist.gov/PhysRefData/Star/Text/method.html). 
+ Additionally a number of materials frequently used in HEP is included
+ in the database.
+ Materials are interrogated or constructed by their <a href="materialNames.html">
+ <i>names</a></i>.  There are UI 
+ commands for the material category, which provide an interactive 
+access to the database. If material is created using the NIST database it will
+consist of elements with natural composition of isotopes.   
+ </p>
+<br>
+
+<b>Final Considerations</b>
+
+ 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>
+ <br>
+
+<hr>
+<a name="4.2.3">
+<h2>4.2.3 Recipes for Building Elements and Materials</h2></a>
+
+ Source listing 4.2.1 illustrates the different ways to define materials.
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+#include &quot;G4Isotope.hh&quot;
+#include &quot;G4Element.hh&quot;
+#include &quot;G4Material.hh&quot;
+#include &quot;G4UnitsTable.hh&quot;
+
+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=&quot;Hydrogen&quot;,symbol=&quot;H&quot; , z= 1., a);
+
+a = 12.01*g/mole;
+G4Element* elC  = new G4Element(name=&quot;Carbon&quot;  ,symbol=&quot;C&quot; , z= 6., a);
+
+a = 14.01*g/mole;
+G4Element* elN  = new G4Element(name=&quot;Nitrogen&quot;,symbol=&quot;N&quot; , z= 7., a);
+
+a = 16.00*g/mole;
+G4Element* elO  = new G4Element(name=&quot;Oxygen&quot;  ,symbol=&quot;O&quot; , z= 8., a);
+
+a = 28.09*g/mole;
+G4Element* elSi = new G4Element(name=&quot;Silicon&quot;, symbol=&quot;Si&quot;, z=14., a);
+
+a = 55.85*g/mole;
+G4Element* elFe = new G4Element(name=&quot;Iron&quot;    ,symbol=&quot;Fe&quot;, z=26., a);
+
+a = 183.84*g/mole;
+G4Element* elW = new G4Element(name=&quot;Tungsten&quot; ,symbol=&quot;W&quot;,  z=74., a);
+
+a = 207.20*g/mole;
+G4Element* elPb = new G4Element(name=&quot;Lead&quot;    ,symbol=&quot;Pb&quot;, z=82., a);
+
+//
+// define an Element from isotopes, by relative abundance 
+//
+
+G4Isotope* U5 = new G4Isotope(name=&quot;U235&quot;, iz=92, n=235, a=235.01*g/mole);
+G4Isotope* U8 = new G4Isotope(name=&quot;U238&quot;, iz=92, n=238, a=238.03*g/mole);
+
+G4Element* elU  = new G4Element(name=&quot;enriched Uranium&quot;, symbol=&quot;U&quot;, 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;
+
+//
+// define simple materials
+//
+
+density = 2.700*g/cm3;
+a = 26.98*g/mole;
+G4Material* Al = new G4Material(name=&quot;Aluminum&quot;, z=13., a, density);
+
+density = 1.390*g/cm3;
+a = 39.95*g/mole;
+G4Material* lAr = new G4Material(name=&quot;liquidArgon&quot;, z=18., a, density);
+
+density = 8.960*g/cm3;
+a = 63.55*g/mole;
+G4Material* Cu = new G4Material(name=&quot;Copper&quot;   , z=29., a, density);
+
+//
+// define a material from elements.   case 1: chemical molecule
+//
+ 
+density = 1.000*g/cm3;
+G4Material* H2O = new G4Material(name=&quot;Water&quot;, 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=&quot;Scintillator&quot;, 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=&quot;quartz&quot;, 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=&quot;PbWO4&quot;, 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=&quot;Air  &quot;  , 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=&quot;Aerogel&quot;, 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);
+
+//
+// examples of gas in non STP conditions
+//
+
+density     = 27.*mg/cm3;
+pressure    = 50.*atmosphere;
+temperature = 325.*kelvin;
+G4Material* CO2 = new G4Material(name=&quot;Carbonic gas&quot;, 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=&quot;Water steam &quot;, 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=&quot;Galactic&quot;, 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=&quot;Beam &quot;, 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>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 4.2.1<BR>
+ A program which illustrates the different ways to define materials.
+</td>
+</tr>
+</table></center>
+ <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>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.
+ Source listing 4.2.2 illustrates how to do this for the same materials 
+ used in 4.2.1.  There are also UI commands which allow the database to
+ be accessed. <a href="materialNames.html">
+<i>The list of currently available material names</a></i> is extended permanently.
+ </p> 
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+#include &quot;globals.hh&quot;
+#include &quot;G4Material.hh&quot;
+#include &quot;G4NistManager.hh&quot;
+
+int main() {
+
+  G4NistManager* man = G4NistManager::Instance();
+  man->SetVerbose(1);
+
+  //
+  // define elements
+  //
+
+  G4Element* C  = man->FindOrBuildElement("C");
+  G4Element* Pb = man->FindOrBuildMaterial("Pb");
+
+  //
+  // define pure NIST materials
+  //
+
+  G4Material* Al = man->FindOrBuildMaterial("G4_Al");
+  G4Material* Cu = man->FindOrBuildMaterial("G4_Cu");
+
+  //
+  // define NIST materials
+  //
+
+  G4Material* H2O  = man->FindOrBuildMaterial("G4_WATER");
+  G4Material* Sci  = man->FindOrBuildMaterial("G4_PLASTIC_SC_VINYLTOLUENE");
+  G4Material* SiO2 = man->FindOrBuildMaterial("G4_SILICON_DIOXIDE");
+  G4Material* Air  = man->FindOrBuildMaterial("G4_AIR");
+
+  //
+  // HEP materials
+  //
+
+  G4Material* PbWO4  = man->FindOrBuildMaterial("G4_PbWO4");
+  G4Material* lAr    = man->FindOrBuildMaterial("G4_lAr");
+  G4Material* vac    = man->FindOrBuildMaterial("G4_Galactic");
+
+  //
+  // define gas material at non STP conditions (T = 120K, P=0.5atm)
+  //
+
+  G4Material* coldAr = man->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>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 4.2.2<BR>
+ A program which shows how to define materials from the internal database.
+</td>
+</tr>
+</table></center>
+
+<hr>
+<a name="4.2.4">
+<h2>4.2.4 The Tables</h2></a>
+
+<b>Print a constituent</b>
+<p>
+ The following shows how to print a constituent:
+
+<PRE>
+  G4cout &lt;&lt; elU &lt;&lt; endl;
+  G4cout &lt;&lt; Air &lt;&lt; endl;
+</PRE>
+<p>
+<b>Print the table of materials</b>
+<p>
+ The following shows how to print the table of materials:
+
+<PRE>
+  G4cout &lt;&lt; *(G4Material::GetMaterialTable()) &lt;&lt; endl;
+</PRE>
+<br>
+<br>
+
+<hr><a href="../../../../Authors/html/subjectsToAuthors.html">
+<i>About the authors</a></i>   
+</p>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/materialNames.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/materialNames.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/materialNames.html	(revision 1208)
@@ -0,0 +1,1008 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+<META NAME="GENERATOR" CONTENT="Mozilla/3.0Gold (X11; I; OSF1 V4.0 alpha) [Netscape]">
+</HEAD>
+<BODY>
+
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+<IMG SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="BACK" HEIGHT=16 WIDTH=59></A>
+<A HREF="material.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="BACK" HEIGHT=16 WIDTH=59></A>
+</TD>
+
+<TD ALIGN="Right"><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B> <BR>
+<B>For Application Developers</B> <BR>
+<B>Detector Definition and Response</B> </FONT></FONT> </TD>
+</TR>
+</TABLE>
+<P><BR>
+
+<CENTER><FONT COLOR="#238E23"><FONT SIZE=+3>
+<B>Geant4 Material Database</B> </FONT></FONT>
+</CENTER>
+<BR>
+<BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<p>
+
+<a name="1">
+<H2>A1.4.2 Pure Materials</H2></a>
+
+
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+ 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>
+</td>
+</tr>
+</table></center>
+<p>
+
+<a name="2">
+<H2>A2.4.2 NIST Compounds</H2></a>
+
+</p> 
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+ 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_33.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_20.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-Polyethylene0.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-Polypropylene0.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_22.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_2O1     75
+              1     0.111894
+              8     0.888106
+2  G4_WATER_VAPOR  H_2O-Gas0.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  Graphite1.7     78
+</td>
+</tr>
+</table></center>
+
+
+<a name="2">
+<H2>A3.4.2 HEP Materials</H2></a>
+
+</p> 
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+ 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
+
+</td>
+</tr>
+</table></center>
+
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/parallelWorld.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/parallelWorld.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/parallelWorld.html	(revision 1208)
@@ -0,0 +1,285 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Created by: Makoto Asai,   24-Nov-2006 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+
+
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="persistency.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>For Application Developers</B>
+<BR>
+<B>Detector Definition and Response</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>4.7 Parallel Geometries</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<p>
+<font color="#ff0000">Notice</font><br>
+As of Geant4 release 8.2, this functionality for defining parallel geometries
+is still in <i>beta</i> release. We appreciate your feedback.
+</p>
+<HR ALIGN="Center" SIZE="7%">
+
+<a name="4.7.1">
+<H2>4.7.1 A parallel world</H2></a>
+<p>
+Occasionally, it is not straightforward to define geometries for sensitive
+detectors, importance geometries or envelopes for shower parameterization to
+be coherently assigned to volumes in the tracking (mass) geometry.
+The new parallel navigation functionality allows the user to define more than
+one worlds simultaneously. The new <tt>G4Transportation</tt> process will see
+all worlds simultaneously; steps will be limited by both boundaries of
+the mass geometry and parallel geometries.<br>
+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:
+<ul>
+<li>Materials, production thresholds and EM field are used only from the mass
+    geometry. Even if such <i>physical</i> quantities are defined in a parallel
+    world, they do not affect to the simulation.</li>
+<li>Although all worlds will be comprehensively taken care by the
+    <tt>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>G4SteppingManager</tt> treats only the detectors in
+    the mass geometry. For this case of detector sensitivity defined in a
+    parallel world, a <tt>G4ParallelWorldScoringProcess</tt> process must be
+    defined in the physics list (see <a href=#4.7.3>section 4.7.3</a>).
+</ul>
+</p>
+
+<a name="4.7.2">
+<H2>4.7.2 Defining a parallel world</H2></a>
+<p>
+A parallel world should be defined in the <tt>Construct()</tt> virtual
+method of the user's class derived from the abstract base class
+<i>G4VUserParallelWorld</i>.
+</p>
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<pre>
+#ifndef MyParallelWorld_h
+#define MyParallelWorld_h 1
+
+#include "globals.hh"
+#include "G4VUserParallelWorld.hh"
+
+class MyParallelWorld : <font color="#ff0000">public G4VUserParallelWorld</font>
+{
+  public:
+    MyParallelWorld(G4String worldName);
+    virtual ~MyParallelWorld();
+
+  public:
+    <font color="#ff0000">virtual void Construct();</font>
+};
+
+#endif
+</pre>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 4.7.1<BR>
+ An example header file of a concrete user parallel world class.
+</td>
+</tr>
+</table></center>
+</p>
+<p>
+A parallel world must have its unique name, which should be set to the 
+<tt>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>G4RunManager</tt> as a clone of the mass geometry.
+In the <tt>Construct()</tt> virtual method of the user's class, the pointer
+to this cloned world physical volume is available through the
+<tt>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>NULL</tt>. Even if specified a valid material pointer, it will not
+be taken into account by any physics process.
+</p>
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<pre>
+
+#include "MyParallelWorld.hh"
+#include "G4LogicalVolume.hh"
+#include "G4VPhysicalVolume.hh"
+#include "G4Box.hh"
+#include "G4PVPlacement.hh"
+
+MyParallelWorld::MyParallelWorld(G4String worldName)
+<font color="#ff0000">:G4VUserParallelWorld(worldName)</font>
+{;}
+
+MyParallelWorld::~MyParallelWorld() 
+{;}
+
+void MyParallelWorld::Construct() 
+{
+  G4VPhysicalVolume* ghostWorld = <font color="#ff0000">GetWorld();</font>
+  G4LogicalVolume* worldLogical = ghostWorld->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>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 4.7.2<BR>
+ An example source code of a concrete user parallel world class.
+</td>
+</tr>
+</table></center>
+</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>RegisterParallelWorld()</tt> available through the class
+<tt>G4VUserDetectorConstruction</tt>. The registration must be done -before-
+the mass world is registed to the <tt>G4RunManager</tt>.
+</p>
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<pre>
+  // RunManager construction
+  //
+  G4RunManager* runManager = new G4RunManager;
+
+  // mass world
+  //
+  MyDetectorConstruction* massWorld = new MyDetectorConstruction;
+
+  // parallel world
+  //
+  massWorld-&gt;<font color="#ff0000">RegisterParallelWorld</font>(new MyParallelWorld("ParallelScoringWorld"));
+
+  // set mass world to run manager
+  //
+  runManager-&gt;SetUserInitialization(massWorld);
+</pre>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 4.7.3<BR>
+ Typical implementation in the <tt>main()</tt> to define a parallel world.
+</td>
+</tr>
+</table></center>
+</p>
+
+<a name="4.7.3">
+<H2>4.7.3 Detector sensitivity in a parallel world</H2></a>
+<p>
+Any kind of <ttG4VSensitiveDetector</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.<br>
+The <tt>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 <font color="#ff0000">just after
+<tt>G4Transporation</tt> and prior to any other physics processes</font>.
+The name of the parallel world where the <tt>G4ParallelWorldScoringProcess</tt>
+is responsible for, must be defined through the method <tt>SetParallelWorld()</tt>
+available from the class <tt>G4ParallelWorldScoringProcess</tt>.
+If the user has more than one parallel worlds with detectors, for each of
+the parallel worlds, dedicated <tt>G4ParallelWorldScoringProcess</tt> objects
+must be instantiated with the name of each parallel world respectively and
+registered to the particles.
+</p>
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<pre>
+  // Add parallel world scoring process
+  //
+  G4ParallelWorldScoringProcess* theParallelWorldScoringProcess 
+      = new <font color="#ff0000">G4ParallelWorldScoringProcess</font>("ParaWorldScoringProc");
+  theParallelWorldScoringProcess-&gt;<font color="#ff0000">SetParallelWorld</font>("ParallelScoringWorld");
+
+  theParticleIterator-&gt;reset();
+  while( (*theParticleIterator)() )
+  {
+    G4ParticleDefinition* particle = theParticleIterator->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>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 4.7.4<BR>
+ Define <tt>G4ParallelWorldScoringProcess</tt>.
+</td>
+</tr>
+</table></center>
+</p>
+<p>
+At the end of processing an event, all hits collections made for the parallel
+world are stored in <tt>G4HCofThisEvent</tt> as well as those for the mass
+geometry.
+</p>
+
+<hr>
+<a href="../../../../Authors/html/subjectsToAuthors.html">
+<i>About the authors</i></a>
+
+</body>
+</html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/persistency.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/persistency.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/persistency.html	(revision 1208)
@@ -0,0 +1,107 @@
+<html><head><title></title><!-- Changed by: Katsuya Amako,  4-Aug-1998 --><!-- Changed by: Dennis Wright, 27-Nov-2001 --><!-- Proof read by: Joe Chuma,  30-Jun-1999 --></head><body>
+<table width="100%"><tbody><tr>
+<td>
+<a href="http://geant4.web.cern.ch/geant4/G4UsersDocuments/Overview/html/index.html">
+<img src="persistency_files/Overview.gif" alt="Overview"></a>
+<a href="http://geant4.web.cern.ch/geant4/G4UsersDocuments/UsersGuides/ForApplicationDeveloper/html/Detector/index.html">
+<img src="persistency_files/Contents.gif" alt="Contents"></a>
+<a href="http://geant4.web.cern.ch/geant4/G4UsersDocuments/UsersGuides/ForApplicationDeveloper/html/Detector/digitization.html">
+<img src="persistency_files/Previous.gif" alt="Previous"></a>
+<a href="http://geant4.web.cern.ch/geant4/G4UsersDocuments/UsersGuides/ForApplicationDeveloper/html/Detector/parallelWorld.html">
+<img src="persistency_files/NextGR.gif" alt="Next"></a>
+</td>
+<td align="right">
+<font color="#238e23" size="-1">
+<b>Geant4 User's Guide</b>
+<br>
+<b>For Application Developers</b>
+<br>
+<b>Detector Definition and Response</b>
+</font>
+</td>
+</tr></tbody></table>
+<br><br>
+
+<p align="center">
+<font color="#238e23" size="+3">
+<b>4.6 Object Persistency</b>
+</font>
+<br><br>
+
+</p><hr align="center" size="7">
+<p>
+
+<a name="4.6.1">
+<h2>4.6.1 Persistency in Geant4</h2></a>
+
+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><center><img src="persistency.src/pobject.gif" height="212" width="290"></center>
+
+
+<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>
+An example which demonstrates an implementation of object persistency using one
+of the tools accessible through the available interface, is provided in
+<tt>examples/extended/persistency</tt>.
+
+</p><p>
+
+<a name="4.6.2">
+<h2>4.6.2 Using Reflex for persistency of Geant4 objects</h2></a>
+<p>
+Object persistency of Geant4 objects is also possible by the mean of the
+<b>Reflex</b> library <a href="#Reflex">[1]</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 ROOT
+<a href="#Root">[2]</a> (since release <tt>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:
+<ol>
+<li>Generate the dictionary for the given classes using the
+    <tt>genreflex</tt> tool from ROOT (this usually is done
+    by adding the appropriate command to the makefile)</li>
+<li>Add initialization of ROOT I/O and loading of the generated
+    dictionary for the given classes in the appropriate part of the
+    code</li>
+<li>Whenever the objects to be persistified are available, call the
+    <tt>WriteObject</tt> method of <tt>TFile</tt> with the pointer to the
+    appropriate object as argument (usually it is some sort of container,
+    like <tt>std::vector</tt> containing the collection of objects to be
+    persistified)</li>
+</ol>
+The example provided in <tt>examples/extended/persistency</tt>
+demonstrates an implementation of object persistency using the Reflex
+mechanism in ROOT I/O.
+
+</p><p>
+
+<hr>
+<p>
+<table>
+<tr><td valign=top><a name="Reflex">[1]</a>
+    <td><a href="http://cern.ch/seal-reflex/">http://cern.ch/seal-reflex</a>
+<tr><td valign=top><a name="Root">[2]</a>
+    <td><a href="http://root.cern.ch/">http://root.cern.ch</a>
+</table>
+</p>
+
+<hr>
+<a href="http://cern.ch/geant4/G4UsersDocuments/Authors/html/subjectsToAuthors.html">
+<i>About the authors</i></a>
+
+
+</body></html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/persistency.src/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/persistency.src/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/persistency.src/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/pobject.gif/1.1/Wed Nov 21 01:58:11 2001//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/persistency.src/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/persistency.src/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/persistency.src/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/persistency.src
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/persistency.src/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/persistency.src/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Detector/persistency.src/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Examples/AdvancedCodes.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Examples/AdvancedCodes.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Examples/AdvancedCodes.html	(revision 1208)
@@ -0,0 +1,151 @@
+<html>
+<head>
+</head>
+
+<body>
+<table WIDTH="100%" >
+<tr>
+<TD><a href="../../../../Overview/html/index.html">
+
+</a><a href="index.html">
+<img SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" height=16 width=59></a>
+<a href="ExtendedCodes.html">
+<img SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" height=16 width=59></a>
+<img SRC="../../../../resources/html/IconsGIF/NextGR.gif" ALT="Next" height=16 width=59></td>
+
+<td ALIGN=RIGHT><b><font color="#238E23"><font size=-1>Geant4 User's Guide</font></font></b>
+<br><b><font color="#238E23"><font size=-1>For Application Developers</font></font></b>
+<br><b><font color="#238E23"><font size=-1>Examples</font></font></b></td>
+</tr>
+</table>
+
+<center>
+<p><b><font color="#238E23"><font size=+3>9.3 Advanced Examples</font></font></b></center>
+
+<p>
+<hr ALIGN="Center" SIZE="7%">
+<h2>
+<a name="9.3.1">
+9.3.1 Advanced Examples</h2></a>
+
+Geant4 advanced examples illustrate realistic applications of Geant4 in
+typical experimental environments. Most of them also show the usage of
+<a href="http://www.ge.infn.it/geant4/examples/analysis.html">analysis
+tools</a> (such as histograms, ntuples and plotting), various visualization
+features and advanced user interface facilities, together with the simulation
+core.<BR>
+<B>Note</B>: 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.
+
+<br>The advanced examples include:
+<ul>
+<li>
+<b><a href="http://www.ge.infn.it/geant4/examples">air_shower</a></b>,
+a simulation of the ULTRA detector with Fresnel lenses for UV and charged
+particles detection in cosmic rays.</li>
+
+<li>
+<b><a href="http://www.ge.infn.it/geant4/examples/brachytherapy">brachytherapy</a></b>,
+illustrating a typical medical physics application simulating energy deposit
+in a Phantom filled with soft tissue.</li>
+
+<li>
+<b><a href="http://www.ge.infn.it/geant4/examples/hadrontherapy">hadrontherapy</a></b>,
+illustrating a application simulating an hadron therapy beam line for
+medical physics.</li>
+
+<li>
+<b><a href="http://www.ge.infn.it/geant4/examples/human_phantom">human_phantom</a></b>,
+implementing an Anthropomorphic Phantom body built importing the description from
+a <A HREF="http://cern.ch/gdml">GDML</A> representation.</li>
+
+<li>
+<b><a href="http://www.ge.infn.it/geant4/examples/medical_linac">medical_linac</a></b>,
+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.</li>
+
+<li>
+<b><a href="http://www.ge.infn.it/geant4/examples/microbeam">microbeam</a></b>,
+simulates the cellular irradiation beam line installed on the AIFIRA electrostatic
+accelerator facility located at CENBG, Bordeaux-Gradignan, France.
+
+<li>
+<b><a href="http://www.ge.infn.it/geant4/examples/purging_magnet">purging_magnet</a></b>,
+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.</li>
+
+<li>
+<b><a href=" http://www.ge.infn.it/~geant4/hep/radmon">radiation_monitor</a></b>,
+illustrating an application for the study of the effects of a chip carrier on silicon
+radiation monitoring devices used in the LHC environment.
+
+<li>
+<b><a href="http://www.ge.infn.it/geant4/examples/radioprotection">radioprotection</a></b>,
+illustrating an application to evaluate the dose in astronauts, in vehicle
+concepts and Moon surface habitat configurations, in a defined interplanetary
+space radiation environment.</li>
+
+<li>
+<b><a href="http://www.ge.infn.it/geant4/examples/gammaray_telescope">gammaray_telescope</a></b>,
+illustrating an application to typical gamma ray telescopes with a flexible
+configuration.</li>
+
+<li>
+<b><a href="http://www.ge.infn.it/geant4/examples/xray_telescope">xray_telescope</a></b>,
+illustrating an application for the study of the radiation background in
+a typical X-ray telescope.</li>
+
+<li>
+<b><a href="http://www.ge.infn.it/geant4/examples/fluorescence">xray_fluorescence</a></b>,
+illustrating the emission of X-ray fluorescence and PIXE.</li>
+
+<li>
+<b><a href="http://www.ge.infn.it/geant4/examples">underground_physics</a></b>,
+illustrating an underground detector for dark matter searches.</li>
+
+<li>
+<b><a href="http://www.ge.infn.it/geant4/examples/cosmicray_charging">cosmicray_charging</a></b>,
+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.</li>
+
+<li>
+<b><a href="http://www.ge.infn.it/geant4/examples/composite_calorimeter">composite_calorimeter</a></b>,
+test-beam simulation of the CMS Hadron calorimeter at LHC.</li>
+
+<li>
+<b><a href="http://www.ge.infn.it/geant4/examples/lAr_calorimeter">lAr_calorimeter</a></b>,
+simulating the Forward Liquid Argon Calorimeter (FCAL) of the ATLAS
+Detector at LHC.
+
+<li>
+<b><a href="http://www.ge.infn.it/geant4/examples/raredecay_calorimetry">raredecay_calorimetry</a></b>,
+illustrating how to estimate importance of photonuclear reactions for photon inefficiency
+of calorimeters and compare effectiveness of different absorbers in order to reduce it.
+
+<li>
+<b><a href="http://www.ge.infn.it/geant4/examples/RICH">Rich</a></b>,
+simulating the TestBeam Setup of the Rich detector at the LHCb experiment,
+testing the performance of the aerogel radiator</li>
+
+<li>
+<b><a href="http://www.ge.infn.it/geant4/examples/Tiara">Tiara</a></b>,
+a simulation of the neutron shielding experiment TIARA providing a
+realistic example for applying geometrical importance sampling</li>
+</ul>
+
+Further documentation about the analysis tools used in these examples is
+available at:<br>
+<a href="http://aida.freehep.org">AIDA</a>(Abstract Interfaces for Data Analysis) and
+<a href="http://cern.ch/PI">AIDA/PI</a>,
+<a href="http://jas.freehep.org">JAS</a> and
+<a href="http://www.lal.in2p3.fr/OpenScientist/">OpenScientist</a>.
+<p>
+<hr><i><a href="../../../../Authors/html/subjectsToAuthors.html">About
+the authors</a></i>
+</body>
+</html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Examples/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Examples/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Examples/CVS/Entries	(revision 1208)
@@ -0,0 +1,6 @@
+/AdvancedCodes.html/1.20/Mon Dec 18 10:28:24 2006//
+/ExtendedCodes.html/1.40/Wed Feb 21 14:45:40 2007//
+/NoviceCodes.html/1.21/Mon Dec 18 10:28:24 2006//
+/index.html/1.5/Mon Dec 18 10:28:24 2006//
+/parallel.html/1.3/Mon Dec 18 10:28:24 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Examples/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Examples/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Examples/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Examples
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Examples/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Examples/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Examples/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Examples/ExtendedCodes.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Examples/ExtendedCodes.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Examples/ExtendedCodes.html	(revision 1208)
@@ -0,0 +1,283 @@
+<html>
+<head>
+</head>
+
+<body>
+
+<table WIDTH="100%" >
+<tr>
+<TD>
+<a href="index.html">
+<img SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" height=16 width=59></a>
+<a href="NoviceCodes.html">
+<img SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" height=16 width=59></a>
+<a href="AdvancedCodes.html">
+<img SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" height=16 width=59></td>
+
+<td ALIGN=RIGHT><b><font color="#238E23"><font size=-1>Geant4 User's Guide</font></font></b>
+<br><b><font color="#238E23"><font size=-1>For Application Developers</font></font></b>
+<br><b><font color="#238E23"><font size=-1>Examples</font></font></b></td>
+</tr>
+</table>
+
+<center>
+<p><b><font color="#238E23"><font size=+3>9.2 Extended Examples</font></font></b></center>
+
+<p>
+<hr ALIGN="Center" SIZE="7%">
+<h2>9.2.1 Extended Example Summary</h2>
+
+Geant4 extended examples serve three purposes:
+<ul>
+  <li> testing and validation of processes and tracking,
+  <li> demonstration of Geant4 tools, and
+  <li> extending the functionality of Geant4.
+</ul>
+
+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.
+
+<ul>
+  <li><h3>Analysis</h3>
+    <ul>
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/analysis/A01/README">A01</a> 
+          - hit-scoring and histogramming using the AIDA interface
+
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/analysis/AnaEx01/README">AnaEx01</a>
+          - histogram and tuple manipulations using an AIDA compliant system
+    </ul> <br>
+    
+  <li><h3>Electromagnetic</h3>
+    <ul>
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm0/README">TestEm0</a>
+          - how to print cross-sections and stopping power used in input by the standard EM package
+	      	  
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm1/README">TestEm1</a>
+          - how to count processes, activate/inactivate them and survey the range of charged particles. How to define a maximum step size
+	  
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm2/README">TestEm2</a>
+          - shower development in an homogeneous material : longitudinal and lateral profiles
+	  
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm3/README">TestEm3</a>
+          - shower development in a sampling calorimeter : collect energy deposited, survey energy flow and print stopping power
+	 
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm4/README">TestEm4</a>
+          - 9 MeV point like photon source: plot spectrum of energy deposited in a single media
+	  
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm5/README">TestEm5</a>
+          - how to study transmission, absorption and reflection of particles through a single, thin or thick, layer.
+	   
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm6/README">TestEm6</a>
+          - physics list for rare, high energy, electromagnetic processes: gamma conversion and e+ annihilation into pair of muons
+	   
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm7/README">TestEm7</a>
+          - how to produce a Bragg curve in water phantom. How to compute dose in tallies
+	  
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm8/README">TestEm8</a>
+          - test of photo-absorption-ionisation model in thin absorbers, and transition radiation
+	  	  
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm9/README">TestEm9</a>
+          - shower development in a crystal calorimeter; cut-per-region
+	  
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm10/README">TestEm10</a>
+          - XTR transition radiation model, investigation of ionisation in thin absorbers     
+
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm11/README">TestEm11</a>
+          - how to plot a depth dose profile in a rectangular box      
+
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm12/README">TestEm12</a>
+          - how to plot a depth dose profile in spherical geometry : point like source 
+	  
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm13/README">TestEm13</a>
+          - how to compute cross sections of EM processes from rate of transmission coefficient
+	  
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm14/README">TestEm14</a>
+          - how to compute cross sections of EM processes from direct evaluation of the mean-free path. How to plot final state
+	  
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm15/README">TestEm15</a>
+          - compute and plot final state of Multiple Scattering as an isolated process
+	  
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm16/README">TestEm16</a>
+          - simulation of synchrotron radiation
+	  	 	  	  	  
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm17/README">TestEm17</a>
+          - check the cross sections of high energy muon processes	  	  
+    </ul> <br>
+<table align="center" border>
+  <caption><font size="+2">TestEm by theme</font></caption>
+  <tr><th colspan=2>Check basic quantities</th></tr>
+  <tr>
+     <td>Total cross sections, mean free paths ...</td>
+     <td>Em0, Em13, Em14</td></tr>        
+  <tr>
+     <td>Stopping power, particle range ...</td>
+     <td>Em0, Em1, Em5, Em11, Em12</td></tr>  
+  <tr rowspan=3>
+     <td>Final state :<br> energy spectra, angular distributions</td>
+     <td>Em14</td></tr>
+  <tr>
+     <td>Energy loss fluctuations</td>
+     <td>Em18</td></tr>           
+  <tr><th colspan=2>Multiple Coulomb scattering</th></tr>
+  <tr>
+     <td>as an isolated mechanism</td>
+     <td>Em15</td></tr>        
+  <tr>
+     <td>as a result of particle transport</td>
+     <td>Em5</td></tr>
+  <tr><th colspan=2>More global verifications</th></tr>
+  <tr>
+     <td>Single layer: transmission, absorption, reflexion</td>
+     <td>Em5</td></tr>        
+  <tr>
+     <td>Bragg curve, tallies</td>
+     <td>Em7</td></tr>
+  <tr>
+     <td>Depth dose distribution</td>
+     <td>Em11, Em12</td></tr>
+  <tr>
+     <td>Shower shapes, Moliere radius</td>
+     <td>Em2</td></tr>
+  <tr>
+     <td>Sampling calorimeters, energy flow</td>
+     <td>Em3</td></tr>
+  <tr>
+     <td>Crystal calorimeters</td>
+     <td>Em9</td></tr>
+  <tr><th colspan=2>Other specialized programs</th></tr>
+  <tr>
+     <td>High energy muon physics</td>
+     <td>Em17</td></tr>        
+  <tr>
+     <td>Other rare, high energy processes</td>
+     <td>Em6</td></tr>
+  <tr>
+     <td>Synchrotron radiation</td>
+     <td>Em16</td></tr>
+  <tr>
+     <td>Transition radiation</td>
+     <td>Em8</td></tr>
+  <tr>
+     <td>Photo-absorption-ionization model</td>
+     <td>Em10</td></tr>
+</table>
+    
+  <li><h3><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/biasing/README">Event Biasing</a></h3>
+  
+  <li><h3>Event Generator</h3>
+    <ul>
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/eventgenerator/HepMC/HepMCEx01/README">HepMCEx01</a>
+          - simplified collider detector using HepMC interface and stacking 
+
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/eventgenerator/HepMC/HepMCEx02/README">HepMCEx02</a>
+          - connecting primary particles in Geant4 with various event generators using the HepMC interface
+
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/eventgenerator/HepMC/MCTruth/README">MCTruth</a>
+          - demonstrating a mechanism for Monte Carlo truth handling using HepMC as the event record
+
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/eventgenerator/exgps/README">exgps</a>
+          - illustrating the usage of the <TT>G4GeneralParticleSource</TT> utility
+    </ul> <br>
+    
+  <li><h3>Fields</h3>
+    <ul>
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/field/BlineTracer/README">BlineTracer</a>
+          - tracing and visualizing magnetic field lines 
+
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/field/field01/README">field01</a>
+          - tracking using magnetic field and field-dependent processes
+
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/field/field02/README">field02</a>
+          - tracking using electric field and field-dependent processes
+
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/field/field03/README">field03</a>
+          - tracking in a magnetic field where field associated with selected logical volumes varies
+    </ul> <br>
+
+  <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/g3tog4/README"><h3>Geant3 to Geant4</h3></a> 
+      - converting simple geometries in Geant3.21 to their Geant4 equivalents
+      <br> <br>
+       
+  <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/gdml/README"><h3>Geometry Definition Markup Language</h3></a>
+      - illustrating import and export of a detector geometry with GDML
+      <br> <br>
+
+  <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/geometry/README"><h3>Geometry</h3></a> 
+   <ul>
+     <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/geometry/olap/README">OLAP</a>
+        - debugging tool for overlapping geometries
+   </ul> <br>
+
+  <li><h3>Hadronic</h3>
+   <ul>
+     <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/hadronic/Hadr01/README">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.
+   </ul> <br>
+
+  <li><h3>Medical Applications</h3>
+    <ul>
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/medical/DICOM/README">DICOM</a>
+          - geometry set-up using the Geant4 interface to the DICOM image format
+
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/medical/GammaTherapy/README">GammaTherapy</a>
+          - gamma radiation field formation in water phantom by electron beam hitting different targets
+	  
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/medical/fanoCavity/README">fanoCavity</a>
+          - ionization chamber test	  
+    </ul> <br>
+
+   <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/optical/README"><h3>Optical Photons</h3></a> 
+     <ul>
+       <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/optical/LXe/README">LXe</a>
+           - optical photons in a liquid xenon scintillator
+     </ul> <br>
+
+   <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/parallel/README"><h3>Parallel Computing</h3></a>
+     <ul>
+       <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/parallel/ExDiane/README">ExDiane</a>
+           - example of a medical application run in a distributed environment using the DIANE framework
+
+       <li><a href="parallel.html">ParGeant4</a>
+           - set of examples derived from 'novice' using parallelism at event level with the TopC application
+     </ul> <br> 
+
+   <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/persistency/README"><h3>Persistency</h3></a> 
+     <ul>
+       <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/persistency/PersEx01/README">PersEx01</a>
+           - storing calorimeter hits using reflection mechanism with Root
+     </ul>
+       
+   <li><h3>Polarisation</h3>
+     <ul>
+       <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/polarisation/Pol01/README">Pol01</a>
+          - example of QED processes including polarization
+     </ul> <br>
+
+   <li><h3>Radioactive Decay</h3>
+     <ul>
+       <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/radioactivedecay/exrdm/README">exrdm</a>
+         - decays of radioactive isotopes as well as induced radioactivity resulted from nuclear interactions
+     </ul> <br>
+
+  <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/runAndEvent/README"><h3>Run & Event</h3></a>
+    <ul>
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/runAndEvent/RE01/README"><h3>RE01</h3></a>
+       - information between primary particles and hits and usage of user-information classes
+
+      <li><a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/runAndEvent/RE02/README"><h3>RE02</h3></a>
+       - simplified fixed target application for demonstration of primitive scorers
+    </ul> <br>
+
+  <li><h3>Visualization</h3>
+    <ul>
+      <li>Examples of customisation for visualization</li>
+    </ul>
+</ul>
+
+<p>
+<hr><i><a href="../../../../Authors/html/subjectsToAuthors.html">About
+the authors</a></i>
+</body>
+</html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Examples/NoviceCodes.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Examples/NoviceCodes.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Examples/NoviceCodes.html	(revision 1208)
@@ -0,0 +1,1097 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+<META NAME="GENERATOR" CONTENT="Mozilla/3.0Gold (X11; I; OSF1 V4.0 alpha) [Netscape]">
+</HEAD>
+<BODY>
+<!-- Changed by: Katsuya Amako,  4-Aug-1998 -->
+<!-- Changed by: Katsuya Amako,  9-Jul-1998 -->
+<!-- Proof read by: Joe Chuma,   5-Jul-1999 -->
+
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+</A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A>
+<A>
+<IMG SRC="../../../../resources/html/IconsGIF/PreviousGR.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<A HREF="ExtendedCodes.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59>
+</TD>
+
+<TD ALIGN="Right"><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B> <BR>
+<B>For Application Developers</B> <BR>
+<B>Examples</B> </FONT></FONT> </TD>
+</TR>
+</TABLE>
+<P><BR>
+
+<CENTER><FONT COLOR="#238E23"><FONT SIZE=+3>
+<b>9.1 Novice Examples</b><BR>
+</FONT></FONT></CENTER>
+<BR>
+
+<HR ALIGN="Center" SIZE="7%">
+
+ 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>
+ 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>*.in</tt>) and reference output files (<tt>*.out</tt>) provided.
+ These examples are run routinely as part of the validation, or testing,
+ of official releases of the Geant4 toolkit.
+
+<a name="9.1.1">
+<h2>9.1.1 Novice Example Summary</h2></a>
+
+ Descriptions of the 7 novice examples are provided here along with links
+ to the code.
+<p>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/README"><tt>ExampleN01</tt></a>
+  <a href="#9.1.2">(Description below)</a>
+ <ul>
+  <li>Mandatory user classes
+  <li>Demonstrates how Geant4 kernel works
+ </ul>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/README"><tt>ExampleN02</tt></a>
+  <a href="#9.1.3">(Description below)</a>
+ <ul>
+  <li>Simplified tracker geometry with uniform magnetic field
+  <li>Electromagnetic processes
+ </ul>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/README"><tt>ExampleN03</tt></a>
+  <a href="#9.1.4">(Description below)</a>
+ <ul>
+  <li>Simplified calorimeter geometry
+  <li>Electromagnetic processes
+  <li>Various materials
+ </ul>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/README"><tt>ExampleN04</tt></a>
+  <a href="#9.1.5">(Description below)</a>
+ <ul>
+  <li>Simplified collider detector with a readout geometry
+  <li>Full ``ordinary'' processes
+  <li>PYTHIA primary events
+  <li>Event filtering by stack
+ </ul>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/README"><tt>ExampleN05</tt></a>
+  <a href="#9.1.6">(Description below)</a>
+ <ul>
+  <li>Simplified BaBar calorimeter
+  <li>EM shower parametrisation
+ </ul>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/README"><tt>ExampleN06</tt></a>
+  <a href="#9.1.7">(Description below)</a>
+ <ul>
+  <li>Optical photon processes
+ </ul>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/README"><tt>ExampleN07</tt></a>
+  <a href="#9.1.8">(Description below)</a>
+ <ul>
+  <li>Geometrical Regions for production thresholds
+  <li>Dynamic geometry setups between runs
+  <li>Primitive scorer and filter
+  <li>Derived run class and run action
+ </ul>
+<p>
+
+
+ Tables 9.1.1, 9.1.2 and 9.1.3 display the ``item charts'' for the examples currently prepared
+ in the novice level. 
+<p>
+<center><table cellpadding=10 border=2>
+<TR>
+ <TD>&nbsp;</TD>
+ <TD><tt>ExampleN01</TD>
+ <TD><tt>ExampleN02</TD>
+ <TD><tt>ExampleN03</TD>
+<TR VALIGN="center">
+ <TD>comments</TD>
+ <TD>minimal set for geantino transportation</TD>
+ <TD>fixed target tracker geometry</TD>
+ <TD>EM shower in calorimeter</TD>
+<TR VALIGN="center">
+ <TD rowspan=2>Run</TD>
+ <TD rowspan=2><tt>main()</tt> for hard coded batch</TD>
+ <TD rowspan=2><tt>main()</tt> for interactive mode</TD>
+ <TD><tt>main()</tt> for interactive mode</TD>
+<TR VALIGN="center">
+ <TD>SetCut and Process On/Off</TD>
+<TR VALIGN="center">
+ <TD rowspan=2>Event</TD>
+ <TD rowspan=2>event generator selection (particleGun)</TD>
+ <TD rowspan=2>event generator selection (particleGun)</TD>
+ <TD>event generator selection (particleGun)</TD>
+<TR VALIGN="center">
+ <TD>``end of event'' simple analysis in <i>UserEventAction</i></TD>
+<TR VALIGN="center">
+ <TD>Tracking</TD>
+ <TD>hard coded verbose level setting</TD>
+ <TD>selecting secondaries</TD>
+ <TD>select trajectories</TD>
+<TR VALIGN="center">
+ <TD rowspan=2>Geometry</TD>
+ <TD rowspan=2>geometry definition (CSG)</TD>
+ <TD>geometry definition (includes Parametrised volume)</TD>
+ <TD>geometry definition (includes replica)</TD>
+<TR VALIGN="center">
+ <TD>uniform magnetic field</TD>
+ <TD>uniform magnetic field</TD>
+<TR VALIGN="center">
+ <TD>Hits/Digi</TD>
+ <TD ALIGN="center">-</TD>
+ <TD>tracker type hits</TD>
+ <TD>calorimeter-type hits</TD>
+<TR VALIGN="center">
+ <TD rowspan=2>PIIM</TD>
+ <TD>minimal particle set</TD>
+ <TD>EM particles set</TD>
+ <TD>EM particles set</TD>
+<TR VALIGN="center">
+ <TD>single element material</FONT></TD>
+ <TD>mixtures and compound elements</FONT></TD>
+ <TD>mixtures and compound elements</FONT></TD>
+<TR VALIGN="center">
+ <TD>Physics</TD>
+ <TD>transportation</TD>
+ <TD>EM physics </TD>
+ <TD>EM physics </TD>
+<TR VALIGN="center">
+ <TD rowspan=2>Vis</TD>
+ <TD ALIGN="center" rowspan=2>-</TD>
+ <TD>detector &amp; trajectory drawing</TD>
+ <TD rowspan=2>detector &amp; trajectory drawing</TD>
+<TR VALIGN="center">
+ <TD>tracker type hits drawing</FONT></TD>
+<TR VALIGN="center">
+ <TD>(G)UI</TD>
+ <TD ALIGN="center">-</TD>
+ <TD>GUI selection</TD>
+ <TD>GUI selection</TD>
+<TR VALIGN="center">
+ <TD>Global</TD>
+ <TD ALIGN="center">-</TD>
+ <TD ALIGN="center">-</TD>
+ <TD ALIGN="center">-</TD>
+<tr>
+<td align=center colspan=4>
+ Table 9.1.1<BR>
+ The ``item chart'' for novice level examples <tt>N01</tt>, <tt>N02</tt> and <tt>N03</tt>. 
+</td>
+</tr>
+</Table></center>
+<p>
+
+<center><Table border=2 cellpadding=10>
+<TR>
+<TD>&nbsp;</TD>
+ <TD><tt>ExampleN04</TD>
+ <TD><tt>ExampleN05</TD>
+ <TD><tt>ExampleN06</TD>
+
+<TR VALIGN="center">
+ <TD>comments</TD>
+ <TD>simplified collider geometry</TD>
+ <TD>parametrised shower example</TD>
+ <TD>Optical photon example</TD>
+
+<TR VALIGN="center">
+ <TD>Run</TD>
+ <TD><tt>main()</tt> for interactive mode</TD>
+ <TD><tt>main()</tt> for interactive mode</TD>
+ <TD><tt>main()</tt> for interactive mode</TD>
+
+<TR VALIGN="center">
+ <TD rowspan=2>Event</TD>
+ <TD>event generator selection (HEPEvtInterface)</TD>
+ <TD rowspan=2>event generator selection (HEPEvtInterface)</TD>
+ <TD rowspan=2>event generator selection (particleGun)</TD>
+<TR VALIGN="center">
+ <TD>Stack control</TD>
+
+<TR VALIGN="center">
+ <TD rowspan=2>Tracking</TD>
+ <TD>select trajectories</TD>
+ <TD align="center" rowspan=2>-</TD>
+ <TD align="center" rowspan=2>-</TD>
+<TR VALIGN="center">
+ <TD>selecting secondaries</TD>
+
+<TR VALIGN="center">
+ <TD rowspan=2>Geometry</TD>
+ <TD>geometry definition (includes Param/Replica)</TD>
+ <TD rowspan=2>Ghost volume for shower parametrisation</TD>
+ <TD rowspan=2>geometry definition (BREP with rotation)</TD>
+<TR VALIGN="center">
+ <TD>non-uniform magnetic field</TD>
+
+<TR VALIGN="center">
+ <TD rowspan=2>Hits/Digi</TD>
+ <TD>Tracker/calorimeter/counter types</TD>
+ <TD rowspan=2>Sensitive detector for shower parametrisation</TD>
+ <TD ALIGN="center" rowspan=2>-</TD>
+<TR VALIGN="center">
+ <TD>ReadOut geometry</TD>
+
+<TR VALIGN="center">
+ <TD rowspan=2>PIIM</TD>
+ <TD>Full particle set</TD>
+ <TD>EM set</TD>
+ <TD>EM set</TD>
+<TR VALIGN="center">
+ <TD>mixtures and compound elements</FONT></TD>
+ <TD>mixtures and compound elements</FONT></TD>
+ <TD>mixtures and compound elements</FONT></TD>
+
+<TR VALIGN="center">
+ <TD>Physics</TD>
+ <TD>Full physics processes</TD>
+ <TD>Parametrized shower</TD>
+ <TD>Optical photon processes</TD>
+
+<TR VALIGN="center">
+ <TD rowspan=2>Vis</TD>
+ <TD>detector &amp; hit drawing</TD>
+ <TD>detector &amp; hit drawing</TD>
+ <TD ALIGN="center">-</TD>
+<TR VALIGN="center">
+ <TD>calorimeter type hits drawing</FONT></TD>
+ <TD ALIGN="center">-</TD>
+ <TD ALIGN="center">-</TD>
+
+<TR VALIGN="center">
+ <TD>(G)UI</TD>
+ <TD>define user commands</TD>
+ <TD>define user commands</TD>
+ <TD>define user commands</TD>
+
+<TR VALIGN="center">
+ <TD>Global</TD>
+ <TD ALIGN="center">-</TD>
+ <TD ALIGN="center">-</TD>
+ <TD>random number engine</TD>
+<tr>
+<td align=center colspan=5>
+ Table 9.1.2<BR>
+ The ``item chart'' for novice level examples <tt>N04</tt>, <tt>N05</tt>, and <tt>N06</tt>. 
+</td>
+</tr>
+</Table></center>
+<p>
+
+
+<center><Table border=2 cellpadding=10>
+<TR>
+<TD>&nbsp;</TD>
+ <TD><tt>ExampleN07</TD>
+</TR>
+<TR VALIGN="center">
+ <TD>comments</TD>
+ <TD>Cuts per region</TD>
+</TR>
+<TR VALIGN="center">
+ <TD rowspan=2>Run</TD>
+ <TD><tt>main()</tt> for interactive mode</TD>
+</TR>
+<TR VALIGN="center">
+ <TD>Customized run class</TD>
+</TR>
+<TR VALIGN="center">
+ <TD>Event</TD>
+ <TD>event generator selection (particleGun)</TD>
+</TR>
+<TR VALIGN="center">
+ <TD>Tracking</TD>
+ <TD align="center">-</TD>
+
+<TR VALIGN="center">
+ <TD rowspan=2>Geometry</TD>
+ <TD>geometry definition (includes Replica)</TD>
+<TR VALIGN="center">
+ <TD>Region</TD>
+
+<TR VALIGN="center">
+ <TD rowspan=2>Hits/Digi</TD>
+ <TD>Primitive scorer</TD>
+<TR VALIGN="center">
+ <TD>Filter</TD>
+
+<TR VALIGN="center">
+ <TD rowspan=2>PIIM</TD>
+ <TD>EM set</TD>
+<TR VALIGN="center">
+ <TD>mixtures and compound elements</FONT></TD>
+
+<TR VALIGN="center">
+ <TD>Physics</TD>
+ <TD>EM processes</TD>
+
+<TR VALIGN="center">
+ <TD>Vis</TD>
+ <TD>detector &amp; trajectory drawing</TD>
+
+<TR VALIGN="center">
+ <TD>(G)UI</TD>
+ <TD>define user commands</TD>
+
+<TR VALIGN="center">
+ <TD>Global</TD>
+ <TD ALIGN="center">-</TD>
+<tr>
+<td align=center colspan=5>
+ Table 9.1.3<BR>
+ The ``item chart'' for novice level example <tt>N07</tt>. 
+</td>
+</tr>
+</Table></center>
+<p>
+
+<hr>
+<a name="9.1.2">
+<h2>9.1.2 Example N01</h2>
+
+ <dl>
+  <dt>Basic concepts
+  <dd>minimal set for geantino transportation
+ </dl>
+
+<h4>Classes</h4>
+
+ <tt>main()</tt> <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/exampleN01.cc">(source file)</a>
+
+ <ul>
+  <li>hard coded batch
+  <li>construction and deletion of <i>G4RunManager</i>
+  <li>hard coded verbose level setting to <i>G4RunManager</i>,
+      <i>G4EventManager</i> and <i>G4TrackingManager</i>
+  <li>construction and set of mandatory user classes
+  <li>hard coded <tt>beamOn()</tt>
+  <li>Hard coded UI command application
+ </ul>
+
+<h4>ExN01DetectorConstruction</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/include/ExN01DetectorConstruction.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/src/ExN01DetectorConstruction.cc">(source file)</a>
+
+ <ul>
+  <li>derived from G4VUserDetectorConstruction
+  <li>definitions of single element materials
+  <li>CSG solids
+  <li><i>G4PVPlacement</i> without rotation
+ </ul>
+
+<h4>ExN01PhysicsList</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/include/ExN01PhysicsList.hh">(header files)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/src/ExN01PhysicsList.cc">(source file)</a>
+
+ <ul>
+  <li>derived from <i>G4VUserPhysicsList</i>
+  <li>definition of geantino
+  <li>assignment of transportation process
+ </ul>
+
+<h4>ExN01PrimaryGeneratorAction</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/include/ExN01PrimaryGeneratorAction.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/src/ExN01PrimaryGeneratorAction.cc">(source file)</a>
+
+ <ul>
+  <li>derived from <i>G4VPrimaryGeneratorAction</i>
+  <li>construction of <i>G4ParticleGun</i>
+  <li>primary event generation via particle gun
+ </ul>
+<p>
+
+<hr>
+<a name="9.1.3">
+<h2>9.1.3 Example N02</h2>
+
+ <DL>
+  <DT>Basic concepts</DT>
+  <DD>Detector: fixed target type</DD>
+  <DD>Processes: EM</DD>
+  <DD>Hits: tracker type hits</DD>
+ </DL>
+
+<H4>Classes</H4>
+
+ <tt>main()</tt> <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/exampleN02.cc">(source file)</a>
+
+ <UL>
+  <LI><tt>main()</tt> for interactive mode (and batch mode via macro file)</LI>
+  <LI>construction and deletion of (G)UI session and <i>VisManager</i> </LI>
+  <LI>random number engine</LI>
+  <LI>construction and deletion of <i>G4RunManager</i> </LI>
+  <LI>construction and set of mandatory user classes</LI>
+ </UL>
+
+<H4>ExN02DetectorConstruction</H4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public//source/geant4/examples/novice/N02/include/ExN02DetectorConstruction.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public//source/geant4/examples/novice/N02/src/ExN02DetectorConstruction.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VUserDetectorConstruction</i> </LI>
+  <LI>definitions of single-element, mixture and compound materials</LI>
+  <LI>CSG solids</LI>
+  <LI>Uniform magnetic field: construction of <i>ExN02MagneticField</i> </LI>
+  <LI>Physical Volumes</LI>
+  <UL>
+   <LI><i>G4Placement</i> volumes with &amp; without rotation.</LI>
+   <LI><i>G4PVParameterised</i> volumes without rotation</LI>
+  </UL>
+ </UL>
+
+<H4>ExN02MagneticField</H4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02MagneticField.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02MagneticField.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4MagneticField</i> </LI>
+  <LI>Uniform field. <i>ExN02MagneticField</i> </LI>
+ </UL>
+
+<H4>ExN02PhysicsList</H4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02PhysicsList.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02PhysicsList.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VUserPhysicsList</i> </LI>
+  <LI>definition of geantinos, electrons, positrons, gammas</LI>
+  <LI>utilisation of transportation and 'standard' EM-processes</LI>
+  <LI>Interactivity: chooses processes interactively (=> messenger class)</LI>
+ </UL>
+
+<H4>ExN02PrimaryGeneratorAction</H4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02PrimaryGeneratorAction.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02PrimaryGeneratorAction.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VPrimaryGeneratorAction</i> </LI>
+  <LI>construction of <i>G4ParticleGun</i> </LI>
+  <LI>primary event generation via particle gun</LI>
+ </UL>
+
+<H4>ExN02RunAction</H4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02RunAction.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02RunAction.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VUserRunAction</i> </LI>
+  <LI>draw detector</LI>
+ </UL>
+
+<H4>ExN02EventAction</H4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02EventAction.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02EventAction.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VUserEventAction</i> </LI>
+  <LI>print time information</LI>
+ </UL>
+
+<H4>ExN02TrackerSD</H4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02TrackerSD.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02TrackerSD.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VSensitiveDetector</i> </LI>
+  <LI>tracker-type hit generation</LI>
+ </UL>
+
+<H4>ExN02TrackerHit</H4>
+ 
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02TrackerHit.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02TrackerHit.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VHit</i> </LI>
+  <LI>draw hit point</LI>
+ </UL>
+
+
+<hr>
+<a name="9.1.4">
+<h2>9.1.4 Example N03</h2>
+
+ <DL>
+  <DT>Basic concepts </DT>
+  <DD>Visualize Em processes.</DD>
+  <DD>Interactivity: build messenger classes. </DD>
+  <DD>Gun: shoot particle randomly.</DD>
+  <DD>Tracking: collect energy deposition, total track length</DD>
+ </DL>
+
+<H4>Classes</H4>
+
+ <tt>main()</tt> <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/exampleN03.cc">(source file)</a>
+
+ <UL>
+  <LI><tt>main()</tt> for interactive mode and batch mode via macro file</LI>
+  <LI>construction and deletion of <i>G4RunManager</i></LI>
+  <LI>construction and deletion of (G)UI session and <i>VisManager</i> </LI>
+  <LI>construction and set of mandatory user classes </LI>
+  <LI>automatic initialization of geometry and visualization via a macro file</LI>
+ </UL>
+
+<H4>ExN03DetectorConstruction</H4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03DetectorConstruction.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03DetectorConstruction.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VUserDetectorConstruction</i> </LI>
+  <LI>definitions of single materials and mixtures</LI>
+  <LI>CSG solids </LI>
+  <LI><i>G4PVPlacement</i> without rotation </LI>
+  <LI>Interactivity: change detector size, material, magnetic field. (=&gt;messenger class)</LI>
+  <LI>visualization</LI>
+ </UL>
+
+<H4>ExN03PhysicsList</H4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03PhysicsList.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03PhysicsList.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VUserPhysicsList</i> </LI>
+  <LI>definition of geantinos, gamma, leptons, light mesons barions and ions</LI>
+  <LI>Transportation process, 'standard' Em processes, Decay</LI>
+  <LI>Interactivity: <i>SetCut</i>, process on/off. (=&gt; messenger class)</LI>
+ </UL>
+
+<H4>ExN03PrimaryGeneratorAction</H4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03PrimaryGeneratorAction.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03PrimaryGeneratorAction.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VPrimaryGeneratorAction</i> </LI>
+  <LI>construction of <i>G4ParticleGun</i> </LI>
+  <LI>primary event generation via particle gun </LI>
+  <LI>Interactivity: shoot particle randomly. (=&gt; messenger class)</LI>
+ </UL>
+
+<H4>ExN03RunAction</H4>
+ 
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03RunAction.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03RunAction.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VUserRunAction</i>
+  <LI>draw detector and tracks</LI>
+  <LI>Interactivity: <i>SetCut,</i> process on/off.</LI>
+  <LI>Interactivity: change detector size, material, magnetic field .</LI>
+ </UL>
+
+<H4>ExN03EventAction</H4>
+ 
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03EventAction.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03EventAction.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VUserEventAction</i> </LI>
+  <LI>store trajectories</LI>
+  <LI>print end of event information (energy deposited, etc.)</LI>
+ </UL>
+
+<H4>ExN03SteppingAction</H4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03SteppingAction.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03SteppingAction.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VUserSteppingAction</i> </LI>
+  <LI>collect energy deposition, etc.</LI>
+ </UL>
+<p>
+
+
+<hr>
+<a name="9.1.5">
+<h2>9.1.5 Example N04</h2>
+ 
+ <dl>
+  <dt>Basic concepts
+  <dd>Simplified collider experiment geometry
+  <dd>Full hits/digits/trigger
+ </dl>
+
+<h4>Classes</h4>
+
+ <tt>main()</tt> <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/exampleN04.cc">(source file)</a>
+
+ <ul>
+  <li>construction and deletion of <i>ExN04RunManager</i>
+  <li>construction and deletion of (G)UI session and <i>VisManager</i> 
+  <li>construction and set of user classes
+ </ul>
+
+<h4>ExN04DetectorConstruction</h4>
+ 
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04DetectorConstruction.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04DetectorConstruction.cc">(source file)</a>
+
+ <ul>
+  <li>derived from <i>G4VUserDetectorConstruction</i> 
+  <li>construction of <i>ExN04MagneticField</i> 
+  <li>definitions of mixture and compound materials
+  <li>material-dependent CutOff
+  <li>simplified collider geometry with Param/Replica
+  <li>tracker/muon -- parametrised
+  <li>calorimeter -- replica
+ </ul>
+
+<h4>ExN04TrackerParametrisation</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04TrackerParametrisation.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04TrackerParametrisation.cc">(source file)</a>
+
+ <ul>
+  <li>derived from <i>G4VPVParametrisation</i> 
+  <li>parametrised sizes
+ </ul>
+
+<h4>ExN04CalorimeterParametrisation</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04CalorimeterParametrisation.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04CalorimeterParametrisation.cc">(source file)</a>
+
+ <ul>
+  <li>derived from <i>G4VPVParametrisation</i> 
+  <li>parametrized position/rotation
+ </ul>
+
+<h4>ExN04MagneticField</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04Field.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04Field.cc">(source file)</a>
+
+ <ul>
+  <li>derived from <i>G4MagneticField</i> 
+  <li>solenoid and toroidal fields
+ </ul>
+
+<h4>ExN04TrackerSD</h4>
+ 
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04TrackerSD.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04TrackerSD.cc">(source file)</a>
+
+ <ul>
+  <li>derived from <i>G4VSensitiveDetector</i> 
+  <li>tracker-type hit generation
+ </ul>
+
+<h4>ExN04TrackerHit</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04TrackerHit.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04TrackerHit.cc">(source file)</a>
+
+ <ul>
+  <li>derived from <i>G4VHit</i>
+  <li>draw hit point
+ </ul>
+
+
+<h4>ExN04CalorimeterSD</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04CalorimeterSD.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04CalorimeterSD.cc">(source file)</a>
+
+ <ul>
+  <li>derived from <i>G4VSensitiveDetector</i> 
+  <li>calorimeter-type hit generation
+ </ul>
+
+<h4>ExN04CalorimeterHit</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04CalorimeterHit.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04CalorimeterHit.cc">(source file)</a>
+
+ <ul>
+  <li>derived from <i>G4VHit</i>
+  <li>draw physical volume with variable color
+ </ul>
+
+<h4>ExN04MuonSD</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04MuonSD.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04MuonSD.cc">(source file)</a>
+
+ <ul>
+  <li>derived from <i>G4VSensitiveDetector</i> 
+  <li>Scintillator-type hit generation
+ </ul>
+
+<h4>ExN04MuonHit</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04MuonHit.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04MuonHit.cc">(source file)</a>
+
+ <ul>
+  <li>derived from <i>G4VHit</i>
+  <li>draw physical volume with variable color
+ </ul>
+
+<h4>ExN04PrimaryGeneratorAction</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04PrimaryGeneratorAction.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04PrimaryGeneratorAction.cc">(source file)</a>
+
+ <ul>
+  <li>derived from <i>G4VPrimaryGeneratorAction</i> 
+  <li>construction of <i>G4HEPEvtInterface</i> 
+  <li>primary event generation with PYTHIA event
+ </ul>
+
+<h4>ExN04EventAction</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04EventAction.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04EventAction.cc">(source file)</a>
+
+ <ul>
+  <li>store the initial seeds
+ </ul>
+
+<h4>ExN04StackingAction</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04StackingAction.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04StackingAction.cc">(source file)</a>
+
+ <ul>
+  <li>derived from <i>G4UserStackingAction</i> 
+  <li>``stage'' control and priority control
+  <li>event abortion
+ </ul>
+
+<h4>ExN04StackingActionMessenger</h4>
+ 
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04StackingActionMessenger.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04StackingActionMessenger.cc">(source file)</a>
+
+ <ul>
+  <li>derived from <i>G4UImessenger</i> 
+  <li>define abortion conditions
+ </ul>
+
+<h4>ExN04TrackingAction</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04TrackingAction.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04TrackingAction.cc">(source file)</a>
+
+ <ul>
+  <li>derived from <i>G4UserTrackingAction</i> 
+  <li>select trajectories
+  <li>select secondaries
+ </ul>
+<p>
+
+<hr>
+<a name="9.1.6">
+<h2>9.1.6 Example N05</h2>
+
+ <DL>
+  <DT>Basic concepts </DT>
+  <DD>Use of shower parameterisation:</DD>
+  <DL>
+   <DD>* definition of an EM shower model</DD>
+   <DD>* assignment to a Logical Volume</DD>
+   <DD>* (definition of ghost volume when ready)</DD>
+  </DL>
+  <DD>Interactivity: build of messengers classes</DD>
+  <DD>Hits/Digi: filled from detailed and parameterised simulation (calorimeter type hits ?)</DD>
+ </DL>
+<P>
+
+<H4>Classes</H4>
+
+ <tt>main()</tt> <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/exampleN05.cc">(source file)</a>
+
+ <UL>
+  <LI><tt>main()</tt> for interactive mode</LI>
+  <LI>construction and deletion of <i>G4RunManager</i> </LI>
+  <LI>construction and set of mandatory user classes</LI>
+  <LI>construction of the <i>G4GlobalFastSimulationmanager</i> </LI>
+  <LI>construction of a <i>G4FastSimulationManager</i> to assign fast simulation
+      model to a logical volume (envelope)</LI>
+  <LI>(definition of ghost volume for parameterisation)</LI>
+  <LI>construction EM physics shower fast simulation model</LI>
+ </UL>
+
+<h4>ExN05EMShowerModel</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05EMShowerModel.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05EMShowerModel.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VFastSimulationModel</i> 
+  <LI>energy deposition in sensitive detector</LI>
+ </UL>
+
+<h4>ExN05PionShowerModel</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05PionShowerModel.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05PionShowerModel.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VFastSimulationModel</i> 
+  <LI>energy deposition in sensitive detector</LI>
+ </UL>
+
+<H4>ExN05DetectorConstruction</H4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05DetectorConstruction.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05DetectorConstruction.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VUserDetectorConstruction</i> </LI>
+  <LI>definitions of single materials and mixtures</LI>
+  <LI>CSG solids </LI>
+  <LI><i>G4PVPlacement</i> </LI>
+ </UL>
+
+<h4>ExN05PhysicsList</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05PhysicsList.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05PhysicsList.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VUserPhysicsList</i> </LI>
+  <LI>assignment of <i>G4FastSimulationManagerProcess</i> </LI>
+ </UL>
+
+<h4>ExN05PrimaryGeneratorAction</h4>
+ 
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05PrimaryGeneratorAction.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05PrimaryGeneratorAction.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VPrimaryGeneratorAction</i> </LI>
+  <LI>construction of <i>G4ParticleGun</i> </LI>
+  <LI>primary event generation via particle gun </LI>
+ </UL>
+
+<h4>ExN05RunAction</h4>
+ 
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05RunAction.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05RunAction.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VUserRunAction</i> </LI>
+  <LI>draw detector</LI>
+  <LI>(activation/deactivation of parameterisation ?)</LI>
+ </UL>
+
+<h4>ExN05EventAction</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05EventAction.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05EventAction.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VUserEventAction</i> </LI>
+  <LI>print time information</LI>
+ </UL>
+<p>
+
+<hr>
+<a name="9.1.7">
+<h2>9.1.7 Example N06</h2>
+
+ <DL>
+  <DT>Basic concepts</DT>
+  <DD>Interactivity : build messenger classes.</DD>
+  <DD>Event : Gun, shoot charge particle at Cerenkov Radiator and Scintillator.</DD>
+  <DD>PIIM : material/mixture with optical and scintillation properties.</DD>
+  <DD>Geometry : volumes filled with optical materials and possessing surface properties.</DD>
+  <DD>Physics : define and initialize optical processes.</DD>
+  <DD>Tracking : generate Cerenkov radiation,
+      collect energy deposition to produce scintillation.</DD>
+  <DD>Hits/Digi : PMT as detector.</DD>
+  <DD>Visualization : geometry, optical photon trajectories.</DD>
+ </DL>
+
+<H4>Classes</H4>
+
+ <tt>main()</tt> <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/exampleN06.cc">(source file)</a>
+
+ <UL>
+  <LI><tt>main()</tt> for interactive mode and batch mode via macro file</LI>
+  <LI>random number engine</LI>
+  <LI>construction and deletion of <i>G4RunManager</i> </LI>
+  <LI>construction and set of mandatory user classes </LI>
+  <LI>hard coded <tt>beamOn</tt></LI>
+ </UL>
+
+<h4>ExN06DetectorConstruction</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/include/ExN06DetectorConstruction.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/src/ExN06DetectorConstruction.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VUserDetectorConstruction</i> </LI>
+  <LI>definitions of single materials and mixtures </LI>
+  <LI>generate and add Material Properties Table to materials
+  <LI>CSG and BREP solids </LI>
+  <LI><i>G4PVPlacement</i> with rotation </LI>
+  <LI>definition of surfaces</LI>
+  <LI>generate and add Material Properties Table to surfaces
+  <LI>visualization</LI>
+ </UL>
+
+<h4>ExN06PhysicsList</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/include/ExN06PhysicsList.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/src/ExN06PhysicsList.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VUserPhysicsList</i> </LI>
+  <LI>definition of gamma, leptons and optical photons </LI>
+  <LI>transportation, 'standard' EM-processes, decay, Cerenkov, 
+      scintillation, 'standard' optical and boundary process </LI>
+  <LI>modify/augment optical process parameters </LI>
+ </UL>
+
+<h4>ExN06PrimaryGeneratorAction</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/include/ExN06PrimaryGeneratorAction.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/src/ExN06PrimaryGeneratorAction.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VPrimaryGeneratorAction</i> </LI>
+  <LI>construction of <i>G4ParticleGun</i> </LI>
+  <LI>primary event generation via particle gun </LI>
+ </UL>
+
+<h4>ExN06RunAction</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/include/ExN06RunAction.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/src/ExN06RunAction.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VUserRunAction</i> </LI>
+  <LI>draw detector</LI>
+ </UL>
+<p>
+
+<hr>
+<a name="9.1.8">
+<h2>9.1.8 Example N07</h2>
+
+ <DL>
+  <DT>Basic concepts</DT>
+  <DD>Geometry : Changing geometry of three simplified sandwitch calorimeters without re-building a world volume.</DD>
+  <DD>Region : Defining geometrical regions ans setting production thresholds for each region.</DD>
+  <DD>Run : Utilizing a concrete run class derived from G4Run base class for
+       accumulating physics quantities and hits as a run.</DD>
+  <DD>Hits : Demonstrating the use of primitive scorer and filter classes without
+       implementing sensitive detector class.</DD>
+ </DL>
+
+<H4>Classes</H4>
+
+ <tt>main()</tt> <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/exampleN07.cc">(source file)</a>
+
+ <UL>
+  <LI><tt>main()</tt> for interactive mode and batch mode via macro file</LI>
+  <LI>construction and deletion of <i>G4RunManager</i> </LI>
+  <LI>construction and deletion of <i>G4VisExective</i> and <i>G4UITerminal</i></LI>
+  <LI>construction and set of mandatory user classes </LI>
+  <LI>construction and set of <i>ExN07RunAction</i> </LI>
+ </UL>
+
+<h4>ExN07DetectorConstruction</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07DetectorConstruction.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07DetectorConstruction.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VUserDetectorConstruction</i> </LI>
+  <LI>definitions of materials and mixtures </LI>
+  <LI><i>G4Box</i> with <i>G4PVPlacement</i> and <i>G4PVReplica</i> </LI>
+  <LI>Dynamic changing of size, position, orientation and number of volumes </LI>
+  <LI><i>G4Region</i> for each calorimeter tower </LI>
+  <LI><i>G4VPrimitiveScorer</i> and <i>G4VSDFilter</i> </LI>
+  <LI>visualization</LI>
+ </UL>
+
+<h4>ExN07DetectorMessenger</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07DetectorMessenger.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07DetectorMessenger.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4UIMessenger</i> </LI>
+  <LI>definition of example-specific geometry commands </LI>
+ </UL>
+
+<h4>ExN07PhysicsList</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07PhysicsList.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07PhysicsList.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VUserPhysicsList</i> </LI>
+  <LI>difine all types of particles </LI>
+  <LI>define standard EM and decay processes </LI>
+  <LI>production thresholds for each region </LI>
+ </UL>
+
+<h4>ExN07PrimaryGeneratorAction</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07PrimaryGeneratorAction.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07PrimaryGeneratorAction.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4VPrimaryGeneratorAction</i> </LI>
+  <LI>construction of <i>G4ParticleGun</i> </LI>
+  <LI>primary event generation via particle gun </LI>
+ </UL>
+
+<h4>ExN07RunAction</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07RunAction.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07RunAction.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4UserRunAction</i> </LI>
+  <LI>constructing <i>ExN07Run</i> class object </LI>
+  <LI>print out a run summary with <i>ExN07Run</i> class object </LI>
+ </UL>
+
+<h4>ExN07Run</h4>
+
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07Run.hh">(header file)</a>
+ <a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07Run.cc">(source file)</a>
+
+ <UL>
+  <LI>derived from <i>G4Run</i> </LI>
+  <LI>uses <i>G4THitsMap</i> template class to accumulate physics quantities </LI>
+  <LI>extracts event data from <i>G4Event</i> and add up to run data </LI>
+ </UL>
+
+
+<BR><BR>
+<HR></FONT></FONT></B><A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</A></I> </P></CENTER>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Examples/index.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Examples/index.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Examples/index.html	(revision 1208)
@@ -0,0 +1,82 @@
+<HTML>
+<HEAD>
+   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+</HEAD>
+<TITLE>ADG: Examples</TITLE>
+<BODY>
+<BR>
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+
+
+</A>
+<A HREF="../index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59>
+</A>
+<A HREF="../Visualization/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<A HREF="../Appendix/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></A>
+</TD>
+
+<TD></TD>
+<TD ALIGN=RIGHT><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Documents</B>
+<BR>
+
+<B>Geant4 User's Guide</B>
+<BR>
+
+<B>For Application Developers</B>
+<BR>
+
+</FONT></FONT>
+</TD>
+</TR>
+</TABLE>
+<P>
+<BR>
+
+<CENTER><B><FONT COLOR="#238E23"><FONT SIZE=+4>
+</FONT></FONT></B>
+</CENTER>
+
+<CENTER><B><FONT COLOR="#238E23"><FONT SIZE=+2>
+<B>9. Examples</B>
+</FONT></FONT></B>
+</CENTER>
+<P>
+<BR>
+
+<HR ALIGN="Center" SIZE="7%">
+
+<!-- ============================================== Section -->
+<BR><BR>
+<B>
+   <OL>
+   <LI>
+   <A HREF="NoviceCodes.html">
+   Novice Examples</A></LI>
+   <LI>
+   <A HREF="ExtendedCodes.html">
+   Extended Examples</A></LI>   
+   <LI>
+   <A HREF="AdvancedCodes.html">
+   Advanced Examples</A></LI>
+   </OL>
+
+
+</B>
+
+
+<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
+
+<!-- ============================================== Section -->
+<P><HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</A></I>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Examples/parallel.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Examples/parallel.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Examples/parallel.html	(revision 1208)
@@ -0,0 +1,191 @@
+<html>
+<head>
+<title>Parallel Geant4 (ParGeant4)</title>
+</head>
+
+<body>
+<table WIDTH="100%" >
+<tr>
+<TD><a href="../../../../Overview/html/index.html">
+
+</a><a href="index.html">
+<img SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" height=16 width=59></a>
+<a href="ExtendedCodes.html">
+<img SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" height=16 width=59></a>
+<img SRC="../../../../resources/html/IconsGIF/NextGR.gif" ALT="Next" height=16 width=59></td>
+
+<td ALIGN=RIGHT><b><font color="#238E23"><font size=-1>Geant4 User's Guide</font></font></b>
+<br><b><font color="#238E23"><font size=-1>For Application Developers</font></font></b>
+<br><b><font color="#238E23"><font size=-1>Examples</font></font></b></td>
+</tr>
+</table>
+
+<center>
+<p><b><font color="#238E23"><font size=+3>Parallel Geant4 (ParGeant4)</font></font></b>
+<address>by Gene Cooperman (gene@ccs.neu.edu)<br>
+	 and Viet Ha Nguyen (vietha@ccs.neu.edu)
+</address>
+</center>
+<p>
+<hr ALIGN="Center" SIZE="7%">
+<h2>What is ParGeant4 ?</h2>
+  <a target="ext" href="http://www.ccs.neu.edu/home/gene/pargeant4.html">ParGeant4</a>
+  is a parallel version of Geant4 that implements event-level
+  parallelism to simulate separate events on remote processors.
+  Typical simulations demonstrate a nearly linear speedup in running
+  time as the number of remote processors increases.  The needed
+  enhancements of Geant4 are included in the
+  examples/extended/parallel directory of the Geant4 distribution.
+</p>
+<p>
+<hr ALIGN="Center" SIZE="7%">
+<h2>Why is ParGeant4 useful?</h2>
+
+  When doing a large Geant4 simulation, one often wishes to run
+  on many processors to reduce the overall time.  Traditionally,
+  this has been done by splitting the events into multiple groups,
+  and running Geant4 independently on each processor for its own
+  group of events.  This requires restarting a run if a processor
+  goes down.  It also requires saving the histogram files from
+  each run, and merging the files prior to using the analysis tool.
+  The human effort in this is considerable.
+<p>
+  ParGeant4 provides a much simpler mechanism.  After setting up
+  ParGeant4 one links and runs the sequential Geant4 application
+  exactly as before, but additionally linking with some parallel libraries.
+  Upon execution, ParGeant4 on the console sends out events to
+  slave processes, collects all hits, and calls any analysis tool --
+  exactly as one would do in the sequential case.
+</p><p>
+  There is no need to split events into separate groups, track
+  whether one of the processors crashed, merge histogram files, etc.
+  If a slave processor crashes, ParGeant automatically re-sends the
+  events of that slave processor to a new slave processor for re-execution.
+</p>
+<p>
+<hr ALIGN="Center" SIZE="7%">
+<h2>What is the performance of ParGeant4?</h2>
+
+  As a rule of thumb, speedup will be nearly linear when each event
+  simulation lasts for at least several milliseconds.
+  ParGeant4 has been tested extensively on parallelizations of
+  examples/novice/N02 and of examples/advanced/underground_physics .
+  On N02, we see a speedup of 27 for 50 nodes and a speedup of
+  33 for 100 nodes.  When using the <code>--aggregated-tasks=50</code>
+  option (see below)
+  the speedup improves to 35 for 50 nodes and 60 for 100 nodes.
+<p>
+  In tests of underground_physics, events are longer and we see nearly
+  linear speedup (94 times speedup with 100 nodes).
+</p>
+<p>
+<hr ALIGN="Center" SIZE="7%">
+<h2>Getting started </h2>
+
+ Detailed information is under extended/parallel/ParN02/docs/000README.
+ There are four steps:
+ <ol>
+ <li> Install <a target="ext" href="http://www.ccs.neu.edu/home/gene/topc.html">TOP-C</a>.</li>
+ <li> Compile ParN02 by running <TT>gmake</TT>.</li>
+ <li> Make sure the "procgroup" file is correct and copy it to
+      directory of the executable binary file (for example,
+      <TT>$G4BIN/Linux-g++</TT>).</li>
+ <li> Run the parallel binary program.</li>
+ </ol> 
+</p>
+<p>
+<hr ALIGN="Center" SIZE="7%">
+<h2>What is involved in setting up ParGeant4?</h2>
+
+  To set up ParGeant4, one needs
+  <a target="ext" href="http://www.ccs.neu.edu/home/gene/topc.html">TOP-C</a> and
+  <a target="ext" href="http://www.ccs.neu.edu/home/gene/marshalgen.html">Marshalgen</a>
+  (free, open source software).
+  If one is parallelizing a new Geant4 application, one must then add/modify
+  approximately 20 lines of annotations (C++ comments
+  to indicate shallow vs. deep copying of pointers, etc.) in the .h files
+  for each hit type being defined
+  by the application. For details of the annotations, refer to the manual of the Marshalgen package.<br>
+
+  Finally, in the main routine of the application,
+  one replaces the call to the <TT>G4RunManager</TT> constructor by a call
+  to the <TT>ParRunManager</TT> constructor.  (<TT>ParRunManger</TT> is a derived class
+  of <TT>G4RunManager</TT>.)</p>
+<p>
+  After this, one invokes the already provided
+  GNUMakefile (a slightly modified version of the Geant4 example GNUMakefile)
+  to create the parallel application.  Finally, one writes a
+  "procgroup" file, which declares the names of the remote hosts
+  to use in the parallel computation.  Optionally, one may also
+  specify filenames (e.g. slave1.out, slave2.out, ...) to store
+  the printout from each slave process.  One then calls the
+  ParGeant4 binary exactly as one would call the Geant4 binary,
+  and the results appear as normal, only faster.
+</p>
+<p>
+<hr ALIGN="Center" SIZE="7%">
+<h2>Are there examples of using ParGeant4?</h2>
+  Yes.  ParGeant4 includes parallelizations of
+  other examples from the Geant4 distribution.  Specifically, ParGeant4
+  includes example parallelizations of novice/N02, novice/N04, and 
+  advanced/underground_physics .
+</p>
+<p>
+<hr ALIGN="Center" SIZE="7%">
+<h2>What are some of the features of ParGeant4?</h2>
+  ParGeant4 includes all of the features of TOP-C.  In particular,
+  after building a binary, "parMySimulation",
+  one might call:<p>
+</p><dl><dt>
+    ./parMySimulation --TOPC-help
+</dt><dd>
+       Display command options, and then exit.
+<p>
+</p></dd><dt>
+    ./parMySimulation --TOPC-trace=0 <geant4 arguments="">
+</geant4></dt><dd>
+       By default, ParGeant4 traces each time a new event is sent to
+       a task.  This turns it off.
+<p>
+</p></dd><dt>
+    ./parMySimulation --TOPC-verbose=0 <geant4 arguments="">
+</geant4></dt><dd>
+       By default, ParGeant4 provides statistics indicating what
+       process was run, when it was run, what machine, the running
+       times and elapsed times of master and the average slave, and
+       other information.  This turns off the statistics.
+<p>
+</p></dd><dt>
+    ./parMySimulation --TOPC-aggregated-tasks=10 <geant4 arguments="">
+</geant4></dt><dd>
+       By default, ParGeant4 sends one event to one remote process before
+       turning to the next process.  This option sends 10 events
+       to a single remote process in one message.  This is useful
+       when events are relatively short, and the network latency
+       of sending a message is starting to dominate the running time.
+<p>
+</p></dd><dt>
+    ./parMySimulation --TOPC-slave-timeout=3600 <geant4 arguments="">
+</geant4></dt><dd>
+       By default, if a remote process has not communicated with the
+       master after 1800 seconds (a half hour), the slave process will
+       kill itself.  This prevents runaway processes that may be in an
+       infinite loop for some event, or may have lost their socket to
+       communicate with the master process.  In this example, we allow
+       7200 seconds (two hours) because we expect simulation of some
+       events to last up to (but not more than) 7200 seconds.
+</dd></dl>
+<p>
+  By default, ParGeant4 uses its own subset implementation of MPI (MPINU).
+  ParGeant4 adds approximately 50 KB to the "footprint" of the binary
+  executable.  By default, ParGeant4 uses "ssh" to set up remote processes.
+  Those who wish to use their own MPI (perhaps if a batch cluster requires
+  a specific MPI) may do so.  (See "Configuring a Different `MPI')"
+  in the <a target="ext" href="http://www.ccs.neu.edu/home/gene/topc/topc_toc.html">
+  TOP-C manual</a>.)
+
+</p>
+<hr><i><a href="../../../../Authors/html/subjectsToAuthors.html">About
+the authors</a></i>
+</body>
+</html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/CVS/Entries	(revision 1208)
@@ -0,0 +1,10 @@
+/biasing.html/1.13/Mon Mar 19 17:51:02 2007//
+/classCategory.html/1.3/Mon Dec 18 10:28:24 2006//
+/event.html/1.5/Mon Dec 18 10:28:24 2006//
+/eventGenerator.html/1.5/Mon Dec 18 10:28:24 2006//
+/global.html/1.5/Mon Dec 18 10:28:24 2006//
+/index.html/1.5/Mon Dec 18 10:28:24 2006//
+/run.html/1.9/Mon Dec 18 10:28:24 2006//
+/unitSystem.html/1.2/Mon Dec 18 10:28:24 2006//
+/wwconcept.gif/1.2/Wed Nov 26 15:47:48 2003//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/biasing.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/biasing.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/biasing.html	(revision 1208)
@@ -0,0 +1,801 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Dennis Wright, 25-Jun-2002 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+
+
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="eventGenerator.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<IMG SRC="../../../../resources/html/IconsGIF/NextGR.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>For Application Developers</B>
+<BR>
+<B>Toolkit Fundamentals</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>3.7 Event Biasing Techniques</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+
+<p>
+<a name="3.7.1">
+<H2>3.7.1 Scoring, Geometrical Importance Sampling and Weight Roulette</H2></a>
+
+Geant4 provides event biasing techniques which may be used to save computing time
+in such applications as the simulation of radiation shielding.  These are
+<I>geometrical splitting</I> and <I>Russian roulette</I> (also called geometrical 
+importance sampling), and <I>weight roulette</I>.  A basic scoring system is also 
+provided in order to monitor the sampling.  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 at
+<a href="#imp-biasing1">[1]</a>.
+A detailed description of different use-cases which employ the sampling and scoring 
+techniques can be found at <a href="#imp-biasing2">[2]</a>.
+<BR>
+The goals of the scoring technique are to:
+<UL>
+  <LI> appraise particle quantities related to special regions or surfaces,
+  <LI> be applicable to all "cells" (physical volumes or replicas) of a given geometry,
+  <LI> be customizable.
+</UL>
+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.
+<BR>
+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.
+<BR>
+The implementation of scoring is independent of the implementation of 
+importance sampling. However both share common concepts. <I>Scoring and
+importance sampling apply to particle types chosen by the user</I>.
+<BR>
+Examples on how to use scoring and importance sampling may be found 
+in <tt>examples/extended/biasing</tt> and <tt>examples/advanced/Tiara</tt>.
+
+<h3><a name="geometries"></a>3.7.1.1 Geometries</h3>
+
+The kind of scoring referred to in this note and the importance sampling
+apply to spatial cells provided by the user.
+<P>
+A <B>cell</B> 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:
+<OL>
+<LI><B>mass geometry</B>: the geometry setup of the experiment to be
+    simulated. Physics processes apply to this geometry.</LI>
+<LI><B>parallel-geometry</B>: a geometry constructed to define the physical
+    volumes according to which scoring and/or importance sampling is applied.</LI>
+</OL>
+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>
+<B><a name="remarkparallel"></a>Limitations of "parallel" geometries</B>
+<UL>
+<LI>A special kind of "transportation" inside the "parallel" geometry has been
+    developed. In the current implementation this does not take fields into 
+    account. Therefore "parallel" geometries can only be used in field-free 
+    simulations.<BR>
+    The world volume of the parallel geometry must overlap the world volume
+    of the mass geometry.<BR>
+    Particles crossing a boundary in the parallel geometry where there is
+    vacuum in the mass geometry are also biased. This may be optimized in
+    later versions.</LI>
+<LI>Scoring cells must not share boundaries with the world volume.</LI>
+</UL>
+
+<h3><a name="sampler"></a>3.7.1.2 Changing the Sampling</h3>
+<p>
+Samplers are higher level tools which perform the necessary changes
+of the Geant4 sampling in order to apply importance sampling and weight
+roulette. The samplers may also be used to apply scoring.</p>
+
+<p>Scoring and variance reduction may be combined arbitrarily
+for chosen particle types and may be applied to the mass or to parallel 
+geometries. The samplers support all combinations.</p>
+
+<p>Different samplers are implemented for the mass and parallel
+geometries. Both implement the interface <tt>G4VSampler</tt>. 
+<tt>G4VSampler</tt> allows the chosen combinations of scoring and variance 
+reduction to be prepared and configures the sampling appropriately.  To this 
+end <tt>G4VSampler</tt> provides <tt>Prepare...</tt> methods and a 
+<tt>Configure</tt> method:</p>
+
+<a name="G4VSampler">
+<PRE>
+ class G4VSampler
+ {
+   public:  
+    G4VSampler();
+    virtual ~G4VSampler();
+    virtual void PrepareScoring(G4VScorer *Scorer) = 0;
+    virtual void PrepareImportanceSampling(G4VIStore *istore,
+                                           const G4VImportanceAlgorithm 
+                                           *ialg = 0) = 0;
+    virtual void PrepareWeightRoulett(G4double wsurvive = 0.5,
+                                      G4double wlimit = 0.25,
+                                      G4double isource = 1) = 0;
+    virtual void PrepareWeightWindow(G4VWeightWindowStore *wwstore,
+                                     G4VWeightWindowAlgorithm *wwAlg = 0,
+                                     G4PlaceOfAction placeOfAction = 
+                                     onBoundary) = 0;
+    virtual void Configure() = 0;
+    virtual void ClearSampling() = 0;
+    virtual G4bool IsConfigured() const = 0;
+ };
+</PRE>
+
+<p>
+The methods for setting up the desired combination need specific information:
+</p>
+<div class="itemizedlist">
+<ul type="disc">
+<li>Scoring: message <tt>PrepareScoring</tt> with a
+    <a href="#G4VScorer"><tt>G4VScorer</tt></a></li>
+<li>Importance sampling: message <tt>PrepareImportanceSampling</tt> with a
+    <a href="#G4VIStore"><tt>G4VIStore</tt></a> and optionally a
+    <tt>G4VImportanceAlgorithm</tt></li>
+<li><p>Weight window: message <tt>PrepareWeightWindow</tt> with the 
+arguments:</p>
+<div class="itemizedlist">
+<ul type="round">
+<li><p><span class="emphasis"><em>*wwstore</em></span>: a
+    <tt>G4VWeightWindowStore</tt> for retrieving the lower weight 
+    bound	s for the energy-space cells</p></li>
+<li><p><span class="emphasis"><em>*wwAlg</em></span>: a 
+    <tt>G4VWeightWindowAlgorithm</tt>
+    if a customized algorithm should be used</p></li>
+<li><p><span class="emphasis"><em>placeOfAction</em></span>: a 
+    <tt>G4PlaceOfAction</tt> specifying where to perform the 
+    biasing</p></li>
+</ul></div></li>
+<li>Weight roulette: message <tt>PrepareWeightRoulett</tt> with the
+    optional parameters:
+    <div class="itemizedlist">
+    <ul type="round">
+    <li><span class="emphasis"><em>wsurvive</em></span>: survival weight</li>
+    <li><span class="emphasis"><em>wlimit</em></span>: minimal allowed value of
+        weight * source importance / cell importance</li>
+    <li><span class="emphasis"><em>isource</em></span>: importance of the 
+        source cell</li>
+    </ul>
+    </div></li>
+</ul>
+</div>
+<p>
+Each object of a sampler class is responsible for one particle type.
+The particle type is given to the constructor of the sampler classes via the
+particle type name, e.g. "neutron". Depending on the specific purpose,
+the <tt>Configure()</tt> of a sampler will set up specialized processes
+(derived from <tt>G4VProcess</tt>) for transportation in the parallel geometry,
+scoring, importance sampling and weight roulette for the given particle type.
+When <tt>Configure()</tt> is invoked the sampler places the processes in the
+correct order independent of the order in which user invoked the
+<tt>Prepare...</tt> methods.</p>
+<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Notes</h3>
+<ul>
+<li>The <tt>Prepare...()</tt> functions may each only be invoked once.</li>
+<li>To configure the sampling the function <tt>Configure()</tt> must be
+    called <span class="emphasis"><em>after</em></span> the
+    <tt>G4RunManager</tt> has been initialized.</li>
+</ul>
+</div></div>
+<p>Two classes implementing the interface
+<a href="#G4VSampler"><tt>G4VSampler</tt></a> are provided for the mass and
+a parallel geometry, respectively:</p>
+<div class="itemizedlist">
+<ul type="disc">
+<li><tt>G4MassGeometrySampler</tt></li>
+<li><tt>G4ParallelGeometrySampler</tt></li>
+</ul>
+</div>
+<p>
+The constructors of both classes take the particle type name (e.g. "neutron")
+as an argument. In addition, the constructor of 
+<tt>G4ParallelGeometrySampler</tt> needs a reference to the physical world 
+volume of the parallel geometry.</p>
+
+<h3><a name="scoring"></a>3.7.1.3 Scoring</h3>
+
+<p>
+Scoring is provided by a framework and is done according to particle type.
+Nevertheless it is also possible to score particles of different 
+types into the same score. The framework may also be easily used for 
+customized scoring.</p>
+<p> Scoring may be applied to a mass or a parallel geometry. It is done with 
+an object genericly called a scorer using a sampler described above. The scorer
+receives the information about every step taken by a particle of chosen type.
+This information consists of an object of the Geant4 kernel class 
+<tt>G4Step</tt> and an object of the class <tt>G4GeometryCellStep</tt> provided
+specifically for the purpose of scoring and importance sampling. 
+<tt>G4GeometryCellStep</tt> provides information about the previous and current
+"cell" of the particle track.
+</p>
+
+<p>
+A "scorer" class derives from the interface <tt>G4VScorer</tt>. Users may 
+create customized "scorers" or use the standard scoring.
+</p>
+<p>
+Classes involved in the framework:</p>
+<div class="itemizedlist">
+<ul type="disc">
+<li><a name="G4VScorer"></a><tt>G4VScorer</tt><br>
+    Classes derived from <tt>G4VScorer</tt> may use the Geant4 framework for
+    scoring. This is the minimum dependence a customized scoring has to have
+    to use the scoring frame. The frame will provide a process messaging a
+    scorer derived from <tt>G4VScorer</tt> and classes for the setup.<br>
+    In particular an object of this type may be given to a <tt>G4VSampler</tt>.
+    In order to score different particle types in one object of <tt>G4VScorer</tt>
+    the object may be given to different sampler objects.<br>
+    The interface:
+<pre class="programlisting">
+ class G4VScorer
+ {
+   public:
+     G4VScorer();
+     virtual ~G4VScorer();
+     virtual void Score(const G4Step &step, const G4GeometryCellStep &gstep) = 0;
+ };
+</pre>
+    The member function
+    <tt>Score(const G4Step &amp;step, const G4GeometryCellStep &amp;gstep)</tt>
+    is invoked for every "PostStep" of a chosen particle before the
+    "<tt>PostStepDoIt()</tt>"-functions of the physical processes are invoked.</li>
+<li><tt>G4GeometryCellStep</tt>:
+<pre class="programlisting">
+ class G4GeometryCellStep
+ {
+   public: 
+     G4GeometryCellStep(const G4GeometryCell &preCell, 
+                        const G4GeometryCell &postCell);
+     ~G4GeometryCellStep();
+     const G4GeometryCell &GetPreGeometryCell() const; 
+     const G4GeometryCell &GetPostGeometryCell() const; 
+     G4bool GetCrossBoundary() const; 
+     void SetPreGeometryCell(const G4GeometryCell &preCell); 
+     void SetPostGeometryCell(const G4GeometryCell &postCell);
+     void SetCrossBoundary(G4bool b);
+   private: ....
+ };
+</pre>
+
+    The classes and fuctions used in <tt>G4GeometryCellStep</tt>:
+    <div class="itemizedlist">
+    <ul type="round">
+    <li><tt>G4GeometryCell()</tt> identifies a "cell" as a physical volume with
+        a replica number. The "cell" is in the "parallel" geometry if a sampler
+        for "parallel" geometries is used, otherwise it is in the mass geometry.</li>
+    <li><p><tt>GetPreGeometryCell()</tt> returns the previous "cell" touched by the 
+        particle, or it is equal to <tt>GetPostGeometryCell()</tt> if the track
+        has not crossed a boundary.</li>
+    <li><tt>GetPostGeometryCell()</tt> refers to the current "cell".</li>
+    <li><tt>GetCrossBoundary()</tt> returns <tt>true</tt> if the particle
+        crosses a boundary in the parallel or mass geometry with respect to the
+        sampler used.</li>
+    </ul>
+    </div></li>
+</ul>
+</div>
+
+<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Note</h3>
+<ul>
+<li>When scoring is done in a "parallel" geometry, special action must be taken 
+    to prevent counting of "collisions" with boundaries of the mass geometry as 
+    interactions. This is handled differently when scoring is done in the mass 
+    geometry.</li>
+</ul>
+</div>
+
+<h3><a name="importancesampling"></a>3.7.1.4 Importance Sampling</h3>
+
+
+<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>G4VIStore</tt> is used 
+to store importance values related to cells. In order to do importance 
+sampling the user has to create an object (e.g. of class <tt>G4IStore</tt>) 
+of type <tt>G4VIStore</tt>. The samplers may be given a <tt>G4VIStore</tt>. 
+The user fills the store with cells and their importance values.</p>
+
+<p>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>G4VIStore</tt>:</p>
+<a name="G4VIStore"></a>
+<pre class="programlisting">
+ class  G4VIStore
+ {
+   public: 
+     G4VIStore();
+     virtual  ~G4VIStore();
+     virtual G4double GetImportance(const G4GeometryCell &gCell) const = 0;
+     virtual G4bool IsKnown(const G4GeometryCell &gCell) const = 0;
+     virtual const G4VPhysicalVolume &GetWorldVolume() const = 0;
+ };
+</pre>
+
+<p>
+A concrete implementation of an importance store is provided by the class 
+<tt>G4VStore</tt>. The <span class="emphasis"><em>public</em></span>
+part of the class is:</p>
+<pre class="programlisting">
+ class G4IStore : public G4VIStore
+ {
+   public:
+     explicit G4IStore(const G4VPhysicalVolume &worldvolume);
+     virtual ~G4IStore();
+     virtual G4double GetImportance(const G4GeometryCell &gCell) const;
+     virtual G4bool IsKnown(const G4GeometryCell &gCell) const;
+     virtual const G4VPhysicalVolume &GetWorldVolume() const;
+     void AddImportanceGeometryCell(G4double importance,
+                              const G4GeometryCell &gCell);
+     void AddImportanceGeometryCell(G4double importance,
+                              const G4VPhysicalVolume &,
+                                    G4int aRepNum = 0);
+     void ChangeImportance(G4double importance,
+                           const G4GeometryCell &gCell);
+     void ChangeImportance(G4double importance,
+                           const G4VPhysicalVolume &,
+                                 G4int aRepNum = 0);
+     G4double GetImportance(const G4VPhysicalVolume &,
+                                  G4int aRepNum = 0) const ;
+   private: .....
+ };
+</pre>
+<p>
+The member function <tt>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>G4GeometryCell</tt>. The user mus be aware of the 
+interpretation of assigning importance values to a cell.</p>
+
+<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Notes</h3>
+<ul>
+<li>An importance value must be assigned to every cell.</li>
+</ul>
+</div>
+
+<p>The different cases:</p>
+<div class="itemizedlist">
+<ul type="disc">
+<li><span class="emphasis"><em>Cell is not in store</em></span><br>
+    Not filling a certain cell in the store will cause an exception.</li>
+<li><span class="emphasis"><em>Importance value = zero</em></span><br>
+    Tracks of the chosen particle type will be killed.</li>
+<li><span class="emphasis"><em>importance values &gt; 0</em></span><br>
+    Normal allowed values</li>
+<li><span class="emphasis"><em>Importance value smaller zero</em></span><br>
+    Not allowed!</li>
+</ul>
+</div></div>
+
+<h3><a name="importancealgorithm"></a>3.7.1.5 The Importance Sampling Algorithm</h3>
+
+<p>
+Importance sampling supports using a customized importance sampling algorithm. 
+To this end, the sampler interface
+<a href="#G4VSampler"><tt>G4VSampler</tt></a> may be given a pointer to
+the interface <tt>G4VImportanceAlgorithm</tt>:</p>
+<a name="G4VImportanceAlgorithm"></a>
+<pre class="programlisting">      
+ class G4VImportanceAlgorithm
+ {
+   public:  
+     G4VImportanceAlgorithm();
+     virtual ~G4VImportanceAlgorithm();
+     virtual G4Nsplit_Weight Calculate(G4double ipre,
+                                       G4double ipost,
+                                       G4double init_w) const = 0;
+ };
+</pre>
+
+<p>The method <tt>Calculate()</tt> takes the arguments:</p>
+<div class="itemizedlist">
+<ul type="disc">
+<li><span class="emphasis"><em>ipre, ipost</em></span>: importance
+    of the previous cell and the importance of the current cell, respectively.
+</li>
+<li><span class="emphasis"><em>init_w</em></span>: the particles weight</li>
+</ul>
+</div>
+
+<p>It returns the struct:</p>
+<pre class="programlisting">
+ class G4Nsplit_Weight
+ {
+   public:
+
+   G4int fN;
+   G4double fW;
+ };
+</pre>
+
+<div class="itemizedlist">
+<ul type="disc">
+<li><span class="emphasis"><em>fN</em></span>: the calculated number of 
+    particles to exit the importance sampling</li>
+<li><span class="emphasis"><em>fW</em></span>: the weight of the particles</li>
+</ul>
+</div>
+
+<p>
+The user may have a customized algorithm used by providing a class
+inheriting from <tt>G4VImportanceAlgorithm</tt>. <br>
+If no customized algorithm is given to the sampler the default importance sampling
+algorithm is used. This algorithm is implemented in <tt>G4ImportanceAlgorithm</tt>.</p>
+
+<h3><a name="weighwindow"></a>3.7.1.6 The Weight Window Technique</h3>
+
+<p> The weight window technique is a weight-based alternative to 
+importance sampling:</p>
+<ul type="disc">
+<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>
+<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="informalfigure"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td><img src="wwconcept.gif" alt="Weight window concept&#xA;"></td></tr></table><div class="caption"><p>Weight window concept</p></div></div></div>
+<p>The user specifies a <span class="emphasis"><em>lower weight bound W_L 
+</em></span> for every space-energy cell.</p>
+<ul type="disc"><li><p>The upper weight bound W_U  and the survival weight
+    W_S are calculated as: </p><p>W_U = C_U <span class="emphasis"><em>W_L
+    </em></span></p><p>and</p><p>W_S = C_S   <span class="emphasis">
+    <em>W_L</em></span>.</p></li>
+<li><p>The user specifies C_S and C_U once for the whole problem.</p></li>
+<li><p>The user may give different sets of energy bounds for 
+    every cell or one set for all geometrical cells </p></li>
+<li><p>Special case: if C_S = C_U = 1 for all energies 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>
+
+
+<p>
+The energy-space cells are realized by <tt>G4GeometryCell</tt> as in importance 
+sampling. The cells are stored in a weight window store defined by 
+<tt>G4VWeightWindowStore</tt>:</p>
+
+<a name="G4VWeightWindowStore"></a><pre class="programlisting">
+ class  G4VWeightWindowStore {
+  public:  
+    G4VWeightWindowStore();
+    virtual  ~G4VWeightWindowStore();
+    virtual G4double GetLowerWeitgh(const G4GeometryCell &amp;gCell, 
+			          G4double partEnergy) const = 0;
+    virtual G4bool IsKnown(const G4GeometryCell &amp;gCell) const = 0;
+    virtual const G4VPhysicalVolume &amp;GetWorldVolume() const = 0;
+ };
+</pre>
+<p>A concrete implementation is provided:</p><a name="G4WeightWindowStore"></a><pre class="programlisting">
+  class G4WeightWindowStore: public G4VWeightWindowStore {
+   public:  
+     explicit G4WeightWindowStore(const G4VPhysicalVolume &amp;worldvolume);
+     virtual ~G4WeightWindowStore();
+     virtual G4double GetLowerWeitgh(const G4GeometryCell &amp;gCell, 
+			             G4double partEnergy) const;
+     virtual G4bool IsKnown(const G4GeometryCell &amp;gCell) const;
+     virtual const G4VPhysicalVolume &amp;GetWorldVolume() const;
+     void AddLowerWeights(const G4GeometryCell &amp;gCell,
+		          const std::vector&lt;G4double&gt; &amp;lowerWeights);
+     void AddUpperEboundLowerWeightPairs(const G4GeometryCell &amp;gCell,
+				         const G4UpperEnergyToLowerWeightMap&amp;
+				         enWeMap);
+     void SetGeneralUpperEnergyBounds(const 
+         std::set&lt;G4double, std::less&lt;G4double&gt; &gt; &amp; enBounds);
+  
+   private::
+   ...  
+  };
+</pre>
+<p>
+The user may 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>SetGeneralUpperEnergyBounds</tt>.  If a general set of energy bounds have 
+been set <tt>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>AddUpperEboundLowerWeightPairs</tt>.</p>
+<p>
+Weight window algorithms implementing the interface class 
+<tt>G4VWeightWindowAlgorithm</tt> can be used to define a customized algorithm:</p>
+<a name="G4VWeightWindowAlgorithm"></a><pre class="programlisting">
+ class G4VWeightWindowAlgorithm {
+  public:  
+    G4VWeightWindowAlgorithm();
+    virtual ~G4VWeightWindowAlgorithm();
+    virtual G4Nsplit_Weight Calculate(G4double init_w,
+				      G4double lowerWeightBound) const = 0;
+ };
+</pre>
+<p>
+A concrete implementation is provided and used as a default:</p>
+<a name="G4WeightWindowAlgorithm"></a><pre class="programlisting">
+ class G4WeightWindowAlgorithm : public G4VWeightWindowAlgorithm {
+  public:  
+    G4WeightWindowAlgorithm(G4double upperLimitFaktor = 5,
+			    G4double survivalFaktor = 3,
+			    G4int maxNumberOfSplits = 5);
+    virtual ~G4WeightWindowAlgorithm();
+    virtual G4Nsplit_Weight Calculate(G4double init_w,
+				      G4double lowerWeightBound) const;
+  private:
+   ...
+};
+</pre>
+<p>
+The constructor takes three parameters 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>
+
+<h3><a name="weightroulette"></a>3.7.1.7 The Weight Roulette Technique</h3>
+
+<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>
+
+<b>The weight roulette concept</b>
+<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">
+<li><p><span class="emphasis"><em>wsurvival</em></span>: 0.5</p></li>
+<li><p><span class="emphasis"><em>wlimit</em></span>: 0.25</p></li>
+<li><p><span class="emphasis"><em>isource</em></span>: 1</p></li>
+</ul>
+</div>
+<p>The following algorithm is applied:</p>
+<p>If a particle weight "w" is lower than R*wlimit:</p>
+<div class="itemizedlist">
+<ul type="disc">
+<li>
+<p>the weight of the particle will be changed to "ws = wsurvival*R"</p>
+</li>
+<li>
+<p>the probability for the particle to survive is "p = w/ws"</p>
+</li>
+</ul>
+</div>
+
+<p>
+<a name="3.7.2">
+<H2>3.7.2 Physics Based Biasing</H2></a>
+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.
+
+<h3><a name="3.7.2.1"></a>3.7.2.1 Built in Biasing Options</h3>
+<p>
+<h3><a name="3.7.2.1.1"></a>3.7.2.1.1 Primary Particle Biasing</h3>
+<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>
+G4GeneralParticleSource is a concrete implementation of G4VPrimaryGenerator. To use, instantiate G4GeneralParticleSource in the G4VUserPrimaryGeneratorAction class, as demonstrated below.
+
+<PRE>
+   MyPrimaryGeneratorAction::MyPrimaryGeneratorAction() { 
+      generator = new G4GeneralParticleSource; 
+   } 
+
+   void 
+   MyPrimaryGeneratorAction::GeneratePrimaries(G4Event*anEvent){ 
+      generator->GeneratePrimaryVertex(anEvent); 
+   }
+
+</PRE>
+The biasing can be configured through interactive commands. Extensive documentation can be found in <a href="#primary-particle-biasing">[3]</a>. Examples are also distributed with the Geant4 distribution in <B>examples/extended/eventgenerator/exgps</B>.
+
+<h3><a name="3.7.2.1.2"></a>3.7.2.1.2 Radioactive Decay Biasing</h3>
+<p>
+The G4RadioactiveDecay class simulates the decay of radioactive nuclei and implements the following biasing options:
+<UL>
+  <LI> Increase the sampling rate of radionuclides within observation times through a user defined probability distribution function
+  <LI> Nuclear splitting, where the parent nuclide is split into a user defined number of nuclides
+  <LI> Branching ratio biasing where branching ratios are sampled with equal probability
+</UL>
+G4RadioactiveDecay is a process which must be registered with a process manager, as demonstrated below.
+
+<PRE>
+   void MyPhysicsList::ConstructProcess() 
+   { 
+      ... 
+      G4RadioactiveDecay* theRadioactiveDecay = 
+         new  G4RadioactiveDecay(); 
+
+      G4ProcessManager* pmanager = ... 
+      pmanager ->AddProcess(theRadioactiveDecay); 
+      ... 
+   }
+</PRE>
+<p>
+ The biasing can be controlled either in compiled code or through interactive commands. Extensive documentation can be found in <a href="#exrdm">[4]</a> and <a href="#rdm">[5]</a>. Radioactive decay biasing examples are also distributed with the Geant4 distribution in <B>examples/extended/radioactivedecay/exrdm</B>.
+
+<h3><a name="3.7.2.1.3"></a>3.7.2.1.3 Hadronic Leading Particle Biasing</h3>
+<p>Two built in hadronic leading particle techniques are available. One is through G4Mars5GeV. This is an inclusive event generator for hadron interactions with nuclei. It is translated from the Mars23(98) version of the MARS code system <a href="#mars">[6]</a>. A fixed number of particles are generated at each vertex, with weights assigned as appropriate. G4Mars5GeV is valid with energies less than 5 GeV with these particle types: pi-, pi+, K+, K-, K0L, K0S, proton, anti-proton and gamma. To use this generator, create and register a G4Mars5GeV object with an appropriate inelastic process, as demonstrated below.
+
+<a name="G4Mars5GeV">
+<PRE>
+    MyPhysicsList::ConstructProcess() 
+    { 
+       ... 
+       G4Mars5Gev* leadModel = new G4Mars5GeV();
+
+       G4ProtonInelasticProcess* inelProcess = 
+       new G4ProtonInelasticProcess(); 
+       inelProcess->RegisterMe(leadModel); 
+
+       processManager->AdddiscreteProcess(inelProcess); 
+    }
+
+</PRE>
+
+<p>
+More examples can be found in the LHEP_LEAD, LHEP_LEAD_HP, QGSC_LEAD and QGSC_LEAD_HP physics 
+lists. Additional documentation can be found in <a href="#g4mars5gev">[7]</a>.
+
+<P>
+Another 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 <B>SwitchLeadBiasOn</B> environmental variable will activate this utility.
+
+<h3><a name="3.7.2.1.4"></a>3.7.2.1.4 Hadronic Cross Section Biasing</h3>
+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 <B>BiasCrossSectionByFactor</B> method in G4HadronicProcess, as demonstrated below.
+
+<a name="G4Mars5GeV">
+<PRE>
+   void MyPhysicsList::ConstructProcess() 
+   { 
+      ... 
+      G4ElectroNuclearReaction * theElectroReaction = 
+         new G4ElectroNuclearReaction; 
+
+      G4ElectronNuclearProcess theElectronNuclearProcess;    
+      theElectronNuclearProcess.RegisterMe(theElectroReaction); 
+      theElectronNuclearProcess.BiasCrossSectionByFactor(100);
+  
+      pManager->AddDiscreteProcess(&theElectronNuclearProcess); 
+      ...  
+   }
+</PRE>
+
+<p>More details can be found in <a href="#hadronicscrosssection">[8]</a>.
+
+<h3><a name="3.7.2.1"></a>3.7.2.2 G4WrapperProcess</h3>
+<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> 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.
+
+
+<PRE>
+   class MyWrapperProcess  : public G4WrapperProcess { 
+   ... 
+    G4VParticleChange* PostStepDoIt(const G4Track& track, 
+                                    const G4Step& step) { 
+       // Do something interesting 
+    } 
+   }; 
+
+</PRE>
+
+<PRE>
+   void MyPhysicsList::ConstructProcess() 
+   { 
+   ... 
+      G4LowEnergyBremsstrahlung* bremProcess = 
+         new G4LowEnergyBremsstrahlung(); 
+
+      MyWrapperProcess* wrapper = new MyWrapperProcess(); 
+      wrapper->RegisterProcess(bremProcess); 
+
+      processManager->AddProcess(wrapper, -1, -1, 3); 
+   } 
+
+</PRE>
+<P>
+<table>
+<tr><td valign=top><a name="imp-biasing1">[1]</a>
+<td><a href="http://cern.ch/geant4/collaboration/working_groups/geometry/biasing/Sampling.html">Scoring,
+    geometrical importance sampling and weight roulette in Geant4</a>
+<tr><td valign=top><a name="imp-biasing2">[2]</a>
+<td><a href="http://cern.ch/geant4/collaboration/working_groups/geometry/biasing/BiasScoreUseCases.html">Use cases for
+    importance biasing and scoring technique</a>
+<tr><td valign=top><a name="primary-particle-biasing">[3]</a>
+<td><a href="http://reat.space.qinetiq.com/gps/">Primary particle biasing</a>
+<tr><td valign=top><a name="exrdm">[4]</a>
+<td><a href="http://reat.space.qinetiq.com/septimess/exrdm/">Radioactive decay biasing example</a>
+<tr><td valign=top><a name="rdm">[5]</a>
+<td><a href="http://www.space.qinetiq.com/geant4/rdm.html">Radioactive decay biasing</a>
+
+<tr><td valign=top><a name="mars">[6]</a>
+<td><a href="http://www-ap.fnal.gov/MARS">MARS code system</a>
+
+<tr><td valign=top><a name="g4mars5gev">[7]</a>
+<td><a href="http://geant4.web.cern.ch/geant4/support/proc_mod_catalog/models/hadronic/LeadParticleBias.html">G4Mars5GeV</a>
+
+<tr><td valign=top><a name="hadronicscrosssection">[8]</a>
+<td><a href="http://www.triumf.ca/geant4-03/talks/03-Wednesday-AM-1/03-J.Wellisch/biasing.hadronics.pdf">Hadronic cross section biasing</a>
+
+</table>
+<P>
+
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/classCategory.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/classCategory.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/classCategory.html	(revision 1208)
@@ -0,0 +1,180 @@
+<HTML>
+<HEAD>
+   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+   <META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (X11; I; AIX 4.1) [Netscape]">
+<!-- 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 -->
+</HEAD>
+
+<BODY>
+<BR>
+
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+
+</A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A>
+<A>
+<IMG SRC="../../../../resources/html/IconsGIF/PreviousGR.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<A HREF="global.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></A>
+</TD>
+
+<TD ALIGN=RIGHT>
+<FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B></FONT></FONT>
+<BR><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>For Application Developers</B>&nbsp;</FONT></FONT>
+<BR><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Toolkit Fundamentals</B>&nbsp;</FONT></FONT></TD>
+</TR>
+</TABLE>
+<P><BR>
+
+<CENTER>
+<FONT COLOR="#238E23"><FONT SIZE=+3>
+<B>3.1 Class Categories and Domains</B></FONT></FONT>
+</CENTER>
+<P><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+
+<P>
+<a name="3.1.1">
+<H2>3.1.1 What is a class category?</H2></a>
+
+ 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>
+ In object-oriented analysis and design methodology by Grady Booch <a href="#GBooch">[1]</a>,
+ 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>
+ <center>
+ <IMG SRC="../../../../Welcome/IntroductionToGeant4/html/introductionToGeant4.src/classCategory.gif">
+ </center>
+<P>
+ The file organization of the Geant4 codes follows basically the structure
+ of this class cateogory. This <i>User's Manual</i> is also organized according
+ to class categories.
+<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.
+<BR>
+<P>
+
+<HR>
+<a name="3.1.2">
+<H2>3.1.2 Class categories in Geant4</H2></a>
+
+ The following is a brief summary of the role of each class category in Geant4.
+<P>
+<ol>
+ <li><b>Run and Event</b>
+ <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>
+ <li><b>Tracking and Track</b>
+ <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>
+ <li><b>Geometry and Magnetic Field</b>
+ <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>
+ <li><b>Particle Definition and Matter</b>
+ <p>
+ These two categories manage the the definition of materials and particles.
+ <p>
+ <li><b>Physics</b>
+ <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>
+ <li><b>Hits and Digitization</b>
+ <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>
+ <li><b>Visualization</b>
+ <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>
+ <li><b>Interfaces</b>
+ <p>
+ This category handles the production of the graphical user interface
+ (GUI) and the interactions with external software (OODBMS, reconstruction
+ etc.).
+ <p>
+</ol>
+<P>
+<hr>
+<p>
+<table>
+<tr><td valign=top><a name="GBooch">[1]</a>
+<td>Grady Booch, Object-Oriented Analysis and Design with Applications
+The Benjamin/Cummings Publishing Co. Inc, 1994, ISBN 0-8053-5340-2
+</table>
+<P>
+<HR><A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</A></I>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/event.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/event.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/event.html	(revision 1208)
@@ -0,0 +1,143 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako, 21-Sep-1998 -->
+<!-- Changed by: Dennis Wright, 29-Nov-2001 -->
+<!-- Proof read by: Joe Chuma,  28-Jun-1999 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+
+
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="run.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A HREF="eventGenerator.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>For Application Developers</B>
+<BR>
+<B>Toolkit Fundamentals</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>3.5 Event</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+
+<p>
+<a name="3.5.1">
+<H2>3.5.1 Representation of an event</H2></a>
+
+ <i>G4Event</i> represents an event. An object of this class
+ contains all inputs and outputs of the simulated event. This
+ class object is constructed in <i>G4RunManager</i> and
+ sent to <i>G4EventManager</i>. The event currently being
+ processed can be obtained via the <tt>getCurrentEvent()</tt> method
+ of <i>G4RunManager</i>.
+
+<a name="3.5.2">
+<H2>3.5.2 Structure of an event</H2></a>
+
+ A <i>G4Event</i> object has four major types of information. Get methods
+ for this information are available in <i>G4Event</i>.
+ <dl><dl>
+ <dt>Primary vertexes and primary particles
+ <dd>Details are given in 
+ <a href="eventGenerator.html">Section 3.6</a>.
+<p>
+ <dt>Trajectories 
+ <dd>Trajectories are stored in G4TrajectoryContainer class
+  objects and the pointer to this container is stored in <i>G4Event</i>.
+  The contents of a trajectory are given in 
+ <a href="../TrackingAndPhysics/tracking.html#5.1.6">5.1.6</a>.<p>
+ <dt>Hits collections
+ <dd>Collections of hits generated by <i>sensitive detectors</i>
+  are kept in <i>G4HCofThisEvent</i> class object and the pointer to
+  this container class object is stored in <i>G4Event</i>. See
+  <a href="../Detector/hit.html">Section 4.4</a> for the details.<p>
+ <dt>Digits collections
+ <dd>Collections of digits generated by <i>digitizer modules</i>
+  are kept in <i>G4DCofThisEvent</i> class object and the pointer to
+  this container class object is stored in <i>G4Event</i>. See
+  <a href="../Detector/digitization.html">Section 4.5</a> for the details.
+ </dl></dl>
+
+<a name="3.5.3">
+<H2>3.5.3 Mandates of <i>G4EventManager</i></H2></a>
+
+ <i>G4EventManager</i> is the manager class to take care of
+ one event. It is responsible for:
+ <ul>
+ <li>converting <i>G4PrimaryVertex</i> and <i>G4PrimaryParticle</i>
+  objects associated with the current <i>G4Event</i> object to
+  <i>G4Track</i> objects. All of <i>G4Track</i> objects representing
+  the primary particles are sent to <i>G4StackManager</i>.
+ <li>Pop one <i>G4Track</i> object from <i>G4StackManager</i>
+  and send it to <i>G4TrackingManager</i>. The current <i>G4Track</i>
+  object is deleted by <i>G4EventManager</i> after the track is
+  simulated by <i>G4TrackingManager</i>, if the track is marked as
+  "killed". 
+ <li>In case the primary track is "suspended" or "postponed to next event"
+  by <i>G4TrackingManager</i>, it is sent back to the 
+  <i>G4StackManager</i>. Secondary <i>G4Track</i> objects returned by 
+  <i>G4TrackingManager</i> are also sent to <i>G4StackManager</i>.
+ <li>When <i>G4StackManager</i> returns <tt>NULL</tt> for the "pop"
+  request, <i>G4EventManager</i> terminates the current processing
+  event.
+ <li> invokes the user-defined methods <tt>beginOfEventAction()</tt> and 
+  <tt>endOfEventAction()</tt> from the <i>G4UserEventAction</i> class.  See
+ <a href="../UserActions/OptionalActions.html">Section 6.2</a> for details.
+<p>
+ </ul>
+
+
+<a name="3.5.4">
+<H2>3.5.4. Stacking mechanism</H2></a>
+
+ <i>G4StackManager</i> has three stacks, named <i>urgent</i>, <i>waiting</i>
+ and <i>postpone-to-next-event</i>, which are objects of the 
+ <i>G4TrackStack</i> class.  By default, all <i>G4Track</i> objects are 
+ stored in the <i>urgent</i> 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 
+ <i>G4UserStackingAction</i> concrete class.  
+ <p>
+ If the methods of <i>G4UserStackingAction</i> have been overridden by the
+ user, the <i>postpone-to-next-event</i> and <i>waiting</i> stacks may 
+ contain tracks.  At the beginning of an event, <i>G4StackManager</i> checks
+ to see if any tracks left over from the previous event are stored in the 
+ <i>postpone-to-next-event stack</i>.  If so, it attemps to move them to the
+ <i>urgent</i> stack.  But first the <tt>PrepareNewEvent()</tt> method of 
+ <i>G4UserStackingAction</i> is called.  Here tracks may be re-classified by 
+ the user and sent to the <i>urgent</i> or <i>waiting</i> stacks, or 
+ deferred again to the <i>postpone-to-next-event</i> stack.  As the event is
+ processed <i>G4StackManager</i> pops tracks from the <i>urgent</i> stack 
+ until it is empty.  At this point the <tt>NewStage()</tt> method of 
+ <i>G4UserStackingAction</i> is called.  In this method tracks from the 
+ <i>waiting</i> stack may be sent to the <i>urgent</i> stack, retained in 
+ the <i>waiting</i> stack or postponed to the next event.
+ <p>
+ Details of the user-defined methods of <i>G4UserStackingAction</i> and how
+ they affect track stack management are given in
+ <a href="../UserActions/OptionalActions.html">Section 6.2</a>.
+
+<BR><BR>
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/eventGenerator.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/eventGenerator.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/eventGenerator.html	(revision 1208)
@@ -0,0 +1,296 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako, 21-Sep-1998 -->
+<!-- Changed by: Dennis Wright, 25-Jun-2002 -->
+<!-- Proof read by: Joe Chuma,  28-Jun-1999 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+
+
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="event.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A HREF="biasing.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>For Application Developers</B>
+<BR>
+<B>Toolkit Fundamentals</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>3.6 Event Generator Interface</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<p>
+
+<a name="3.6.1">
+<H2>3.6.1 Structure of a primary event</H2></a>
+
+<b>Primary vertex and primary particle</b>
+<p>
+ The <i>G4Event</i> class object should have a set of primary particles
+ when it is sent to <i>G4EventManager</i> via <tt>processOneEvent()</tt>
+ method. It is the mandate of your <i>G4VUserPrimaryGeneratorAction</i>
+ concrete class to send primary particles to the <i>G4Event</i>
+ object. 
+ <p>
+ The <i>G4PrimaryParticle</i> 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 <i>G4PrimaryVertex</i> class object and, thus, this class object
+ can have one or more <i>G4PrimaryParticle</i> class objects which
+ share the same vertex. As shown in Fig.?.?, primary vertexes and 
+ primary particles are associated with the <i>G4Event</i> object by
+ a form of linked list.
+ <p>
+ A concrete class of <i>G4VPrimaryGenerator</i>, the
+ <i>G4PrimaryParticle</i> object is constructed with either
+ a pointer to <i>G4ParticleDefinition</i> 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 <i>G4PrimaryParticle</i> should be constructed
+ by <i>G4ParticleDefinition</i> pointer. On the other hand,
+ elementary particles with very short life time, e.g., weak
+ bosons, or quarks/gluons, can be instantiated as <i>G4PrimaryParticle</i>
+ 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 <i>G4ParticleDefinition</i> class objects. Other
+ primary particles will be simply ignored by <i>G4EventManager</i>.
+ But it may still be useful to construct such "intermediate"
+ particles for recording the origin of the primary event.
+<p>
+<b>Forced decay channel</b>
+<p> 
+ The <i>G4PrimaryParticle</i> 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 <i>G4ParticleDefinition</i>,
+ 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>
+ 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 <i>G4ParticleDefinition</i>,
+ 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>
+
+<HR>
+<a name="3.6.2">
+<H2>3.6.2 Interface to a primary generator</H2></a>
+
+<b><i>G4HEPEvtInterface</i></b>
+<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>
+ <i>G4HEPEvtInterface</i> is one of <i>G4VPrimaryGenerator</i>
+ concrete class and thus it can be used in your 
+ <i>G4VUserPrimaryGeneratorAction</i> concrete class.
+ <i>G4HEPEvtInterface</i> reads an ASCII file produced by
+ an event generator and reproduces <i>G4PrimaryParticle</i> objects
+ associated with a <i>G4PrimaryVertex</i> object. It reproduces
+ a full production chain of the event generator, starting with
+ primary quarks, etc. In other words, <i>G4HEPEvtInterface</i>
+ converts information stored in the <tt>/HEPEVT/</tt> common block to
+ an object-oriented data structure. Because the <tt>/HEPEVT/</tt> common block
+ is commonly used by almost all event generators written in
+ FORTRAN, <i>G4HEPEvtInterface</i> can interface to almost
+ all event generators currently used in the HEP community.
+ The constructor of <i>G4HEPEvtInterface</i> takes the file name.
+ Source listing 3.6.1 shows an example how to use <i>G4HEPEvtInterface</i>.
+ Note that an event generator is not assumed to give a place of the
+ primary particles, the interaction point must be set before  
+ invoking <i>GeneratePrimaryVertex()</i> method.
+ <p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+<FONT FACE="Courier New">
+#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->SetParticlePosition(G4ThreeVector(0.*cm,0.*cm,0.*cm));
+  HEPEvt->GeneratePrimaryVertex(anEvent);
+}
+</font>
+</pre>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 3.6.1<BR>
+ An example code for <i>G4HEPEvtInterface</i>.
+</td>
+</tr>
+</table></center>
+
+
+<p>
+<b>Format of the ASCII file</b>
+<p>
+ An ASCII file, which will be fed by <i>G4HEPEvtInterface</i>
+ should have the following format.
+ <ul>
+ <li>The first line of each primary event should be an integer
+  which represents the number of the following lines of primary
+  particles.
+ <li>Each line in an event corresponds to a particle in the
+  <tt>/HEPEVT/</tt> common. Each line has <tt>ISTHEP, IDHEP, JDAHEP(1), JDAHEP(2),
+  PHEP(1), PHEP(2), PHEP(3), PHEP(5).</tt> Refer to the <tt>/HEPEVT/</tt> manual for
+  the meanings of these variables.
+ </ul>
+ Source listing 3.6.2 shows an example FORTRAN code to generate an ASCII file.
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<pre>
+***********************************************************
+      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),
+     >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) 
+     >  ISTHEP(IHEP),IDHEP(IHEP),JDAHEP(1,IHEP),JDAHEP(2,IHEP),
+     >  PHEP(1,IHEP),PHEP(2,IHEP),PHEP(3,IHEP),PHEP(5,IHEP)
+10     FORMAT(4I10,4(1X,D15.8))
+      ENDDO
+*
+      RETURN
+      END
+</pre>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 3.6.2<BR>
+ A FORTRAN example using the <tt>/HEPEVT/</tt> common. 
+</td>
+</tr>
+</table></center>
+<p>
+<b>Future interface to the new generation generators</b>
+<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 
+ <i>G4VProcess</i>.
+<p>
+
+<HR>
+<a name="3.6.3">
+<H2>3.6.3 Event overlap using multiple generators</H2></a>
+
+ Your <i>G4VUserPrimaryGeneratorAction</i> concrete class can
+ have more than one <i>G4VPrimaryGenerator</i> concrete class.
+ Each <i>G4VPrimaryGenerator</i> concrete class can be accessed
+ more than once per event. Using these class objects, one
+ event can have more than one primary event.
+ <p>
+ One possible use is the following. Within an event, 
+ a <i>G4HEPEvtInterface</i> class object instantiated with a 
+ minimum bias event file is accessed 20 times and another 
+ <i>G4HEPEvtInterface</i> 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="../Detector/digitization.html">Section 4.5</a>.
+
+<BR><BR>
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/global.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/global.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/global.html	(revision 1208)
@@ -0,0 +1,442 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<html>
+
+<head>
+<title></title>
+<!-- Changed by: Katsuya Amako, 21-Sep-1998 -->
+<!-- Changed by: Katsuya Amako,  9-Jul-1998 -->
+<!-- Changed by: Katsuya Dosanjh, 15-Jul-2000 -->
+<!-- Changed by: Dennis Wright, 29-Nov-2001 -->
+<!-- Proof read by: Joe Chuma,   2-Jul-1999 -->
+<meta NAME="GENERATOR" CONTENT="Microsoft FrontPage 3.0">
+</head>
+
+<body>
+
+<table WIDTH="100%">
+<tr>
+<td>
+
+ 
+<a HREF="index.html">
+<img SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT="16" WIDTH="59"></a> 
+<a HREF="classCategory.html">
+<img SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT="16" WIDTH="59"></a> 
+<a HREF="unitSystem.html">
+<img SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT="16" WIDTH="59"></a> 
+</td>
+<td ALIGN="Right"><font SIZE="-1" COLOR="#238E23"><b>Geant4 User's Guide</b> 
+<br>
+<b>For Application Developers</b> <br>
+<b>Toolkit Fundamentals</b> </font></td>
+</tr>
+</table>
+<font SIZE="+3" COLOR="#238E23">
+<b><p align="center">3.2 Global Usage Classes</b> </font><br>
+<br>
+</p>
+
+<hr ALIGN="Center" SIZE="7%">
+
+<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>typedef</tt>s according to the
+Geant4 code conventions. </p>
+
+<a name="3.2.1">
+
+<h2>3.2.1 Signature of Geant4 classes</h2>
+</a>
+
+<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 <i>G4</i>, e.g., <i>G4VHit,
+G4GeometryManager, G4ProcessVector,</i> etc. Instead of the raw C types, <i>G4</i> types
+are used within the Geant4 code. For the basic numeric types (<tt>int, float, double,</tt>
+etc.), different compilers and different platforms provide different value ranges. In
+order to assure portability, the use of <i>G4int, G4float, G4double,</i> which are base
+classes globally defined, is preferable. <i>G4</i> types implement the right generic type
+for a given architecture. </p>
+
+<b>Basic types</b>
+
+<p>The basic types in Geant4 are considered to be the following: </p>
+
+<p><i>G4int, G4long, G4float, G4double, G4bool, G4complex</i> and <i>G4String</i> </p>
+
+<p>which currently consist of simple <tt>typedef</tt>s to respective types defined in the
+<b>CLHEP</b>, <b>STL</b> or system libraries.
+Most definitions of these basic types come with the inclusion of a
+single header file, <tt>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>
+
+<b>Typedefs to CLHEP classes and their usage</b>
+
+<p>The following classes are <tt>typedef</tt>s to the corresponding classes of the <b>CLHEP</b>
+(<b>Computing Library for High Energy Physics</b>) distribution. For more detailed
+documentation please refer to the
+<a href="http://cern.ch/clhep/manual/RefGuide"><b>CLHEP reference guide</b></a>
+<a href="#CLHEP-ref">[1]</a> and the
+<a href="http://cern.ch/clhep/manual/UserGuide"><b>CLHEP user manual</b></a>
+<a href="#CLHEP-use">[2]</a>. 
+
+<ul>
+  <li><i>G4ThreeVector, G4RotationMatrix, G4LorentzVector</i> and <i>G4LorentzRotation</i><p>Vector
+    classes: defining 3-component (x,y,z) vector entities, rotation of such objects as 3x3
+    matrices,<br>
+    4-component (x,y,z,t) vector entities and their rotation as 4x4 matrices.</p>
+  </li>
+  <li><i>G4Plane3D, G4Transform3D, G4Normal3D, G4Point3D</i>, and <i>G4Vector3D</i><p>Geometrical
+    classes: defining geometrical entities and transformations in 3D space. </p>
+  </li>
+</ul>
+
+<hr>
+<a name="3.2.2">
+
+<h2>3.2.2 The <i>HEPRandom</i> module in CLHEP</h2>
+</a>
+
+<p>The <i>HEPRandom</i> module, originally part of the Geant4 kernel, and now distributed
+as a module of <b>CLHEP</b>, has been designed and developed starting from the <i>Random</i>
+class of MC++, the original <b>CLHEP</b>'s <i>HepRandom</i> module and the <b>Rogue Wave</b>
+approach in the <b>Math.h++</b> package. For detailed documentation on the <i>HEPRandom</i>
+classes see the
+<a href="http://cern.ch/clhep/manual/RefGuide"><b>CLHEP Reference Guide</b></a>
+<a href="#CLHEP-ref">[1]</a> or the
+<a href="http://cern.ch/clhep/manual/UserGuide"><b>CLHEP User Manual</b></a>
+<a href="#CLHEP-use">[2]</a>. </p>
+
+<p>Information written in this manual is extracted from the original <a
+href="http://cern.ch/wwwasd/geant/geant4_public/Random.html">manifesto</a>
+<a href="#Random-doc">[3]</a> distributed with the <i>HEPRandom</i> package. </p>
+
+<p>The <i>HEPRandom</i> 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: 
+
+<ol>
+  <li>Using the static generator defined in the <i>HepRandom</i> class: random values are shot
+    using static methods <tt>shoot()</tt> defined for each distribution class. The static
+    generator will use, as default engine, a <i>HepJamesRandom</i> 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 <i>HepRandom</i> class.</li>
+  <li>Skipping the static generator and specifying an engine object: random values are shot
+    using static methods <tt>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>flat()</tt> method
+    of the specified engine. The user must take care of the engine objects he/she
+    instantiates.</li>
+  <li>Skipping the static generator and instantiating a distribution object: random values are
+    shot using <tt>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>flat()</tt>
+    method of that engine. </li>
+</ol>
+
+<p>In this guide, we'll only focus on the static generator (point 1.), since the static
+interface of <i>HEPRandom</i> is the only one used within the Geant4 toolkit. </p>
+
+<b><i>HEPRandom</i> engines</b>
+
+<p>The class <i>HepRandomEngine</i> is the abstract class defining the interface for each
+random engine. It implements the <tt>getSeed()</tt> and <tt>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 <i>HepRandomEngine</i>. Several different engines are currently
+implemented in <i>HepRandom</i>, we describe here five of them: 
+
+<ul>
+  <li><i>HepJamesRandom</i><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>
+  </li>
+  <li><i>DRand48Engine</i><p>Random engine using the <tt>drand48()</tt> and <tt>srand48()</tt>
+    system functions from C standard library to implement the <tt>flat()</tt> basic
+    distribution and for setting seeds respectively. <i>DRand48Engine</i> uses the <tt>seed48()</tt>
+    function from C standard library to retrieve the current internal status of the generator,
+    which is represented by 3 short values. <i>DRand48Engine</i> is the only engine defined in
+    <i>HEPRandom</i> which intrinsically works in 32 bits precision. Copies of an object of
+    this kind are not allowed. </p>
+  </li>
+  <li><i>RandEngine</i><p>Simple random engine using the <tt>rand()</tt> and <tt>srand()</tt>
+    system functions from the C standard library to implement the <tt>flat()</tt> basic
+    distribution and for setting seeds respectively. Please note that it's well known that the
+    spectral properties of <tt>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>
+  </li>
+  <li><i>RanluxEngine</i><p>The algorithm for <i>RanluxEngine</i> has been taken from the
+    original implementation in FORTRAN77 by Fred James, part of the <b>MATHLIB HEP</b>
+    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 <i>RanluxEngine</i>, the user can specify the luxury
+    level to the constructor (if not, the default value 3 is taken). For example: </p>
+    <pre>
+      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>
+    <p>The class provides a <tt>getLuxury()</tt> method to get the engine luxury level. </p>
+    <p>The <tt>SetSeed()</tt> and <tt>SetSeeds()</tt> methods to set the initial seeds for the
+    engine, can be invoked specifying the luxury level. For example: </p>
+    <pre>
+      // 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>
+  </li>
+  <li><i>RanecuEngine</i><p>The algorithm for <i>RanecuEngine</i> is taken from the one
+    originally written in FORTRAN77 as part of the <b>MATHLIB HEP</b> 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 <i>HEPRandom</i>.
+    Seeds are taken from a seed table given an index, the <tt>getSeed()</tt> method returns
+    the current index of seed table. The <tt>setSeeds()</tt> method will set seeds in the
+    local <tt>SeedTable</tt> at a given position index (if the index number specified exceeds
+    the table's size, <tt>[index%size]</tt> is taken). For example: </p>
+    <pre>
+      // 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>
+    <p>The <tt>setSeed()</tt> method resets the current `status' of the engine to the original
+    seeds stored in the static table of seeds in <i>HepRandom</i>, at the specified index. </p>
+  </li>
+</ul>
+
+<p>Except for the <i>RanecuEngine</i>, 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>saveStatus()</tt>,
+<tt>restoreStatus()</tt> and <tt>showStatus()</tt>, which can also be statically called
+from <i>HepRandom</i>. 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><i>RanecuEngine</i> is probably the most suitable engine for this kind of operation,
+since its internal status can be fetched/reset by simply using <tt>getSeeds()</tt>/<tt>setSeeds()</tt>
+(<tt>getTheSeeds()</tt>/<tt>setTheSeeds()</tt> for the static interface in <i>HepRandom</i>).
+</p>
+
+<b>The static interface in the <i>HepRandom</i> class</b>
+<i>
+
+<p>HepRandom</i> a singleton class and using a <i>HepJamesRandom</i> engine as default
+algorithm for pseudo-random number generation. <i>HepRandom</i> defines a static private
+data member, <tt>theGenerator</tt>, and a set of static methods to manipulate it. By means
+of <tt>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>setTheSeed()</tt>
+and <tt>getTheSeed()</tt> will set and get respectively the `initial' seed to the main
+engine used by the static generator. For example: </p>
+
+<pre>
+      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>
+
+<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>
+
+<pre>
+      RanecuEngine theNewEngine;
+      HepRandom::setTheEngine(&amp;theNewEngine);
+       ...
+ </pre>
+
+<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>
+
+<pre>
+      HepRandom::setTheEngine(&amp;myOldEngine);
+ </pre>
+
+<p>Other static methods defined in this class are: 
+
+<ul>
+  <li><tt>void setTheSeeds(const G4long* seeds, G4int)</tt> </li>
+  <li><tt>const G4long* getTheSeeds()</tt><p>To set/get an array of seeds for the generator,
+    in the case of a <i>RanecuEngine</i> this corresponds also to set/get the current status
+    of the engine. </p>
+  </li>
+  <li><tt>HepRandomEngine* getTheEngine()</tt><p>To get a pointer to the current engine used
+    by the static generator. </p>
+  </li>
+</ul>
+
+<b><i>HEPRandom</i> distributions</b>
+
+<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 <i>HEPRandom</i>. Here is the description of some of
+them: 
+
+<ul>
+  <li><i>RandFlat</i><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>
+  </li>
+  <li><i>RandExponential</i><p>Class to shoot exponential distributed random values, given a
+    mean (default mean = 1) </p>
+  </li>
+  <li><i>RandGauss</i><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>
+  </li>
+  <li><i>RandBreitWigner</i><p>Class to shoot numbers according to the Breit-Wigner
+    distribution algorithms (plain or mean^2). </p>
+  </li>
+  <li><i>RandPoisson</i><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>
+  </li>
+</ul>
+
+<hr>
+<a name="3.2.3">
+
+<h2>3.2.3 The <i>HEPNumerics</i> module</h2>
+</a>
+
+<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: 
+
+<ul>
+  <li>B.H. Flowers, ``An introduction to Numerical Methods In C++'', Claredon Press, Oxford
+    1995. </li>
+  <li>M. Abramowitz, I. Stegun, ``Handbook of mathematical functions'', DOVER Publications
+    INC, New York 1965 ; chapters 9, 10, and 22. </li>
+</ul>
+
+<p>This set of classes includes: 
+
+<ul>
+  <li><i>G4ChebyshevApproximation</i><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>
+  </li>
+  <li><i>G4DataInterpolation</i><p>Class providing methods for data interpolations and
+    extrapolations: Polynomial, Cubic Spline, ... </p>
+  </li>
+  <li><i>G4GaussChebyshevQ</i> </li>
+  <li><i>G4GaussHermiteQ</i> </li>
+  <li><i>G4GaussJacobiQ</i> </li>
+  <li><i>G4GaussLaguerreQ</i><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>
+  </li>
+  <li><i>G4Integrator</i><p>Template class collecting integrator methods for
+    generic functions (Legendre, Simpson, Adaptive Gauss, Laguerre, Hermite,
+    Jacobi). </p>
+  </li>
+  <li><i>G4SimpleIntegration</i><p>Class implementing simple numerical methods (Trapezoidal,
+    MidPoint, Gauss, Simpson, Adaptive Gauss, for integration of functions with signature:
+    double f(double). </p>
+  </li>
+</ul>
+
+<hr>
+<a name="3.2.4">
+
+<h2>3.2.4 General management classes</h2>
+</a>
+
+<p>The `global' category defines also a set of `utility' classes generally used within the
+kernel of Geant4. These classes include: 
+
+<ul>
+  <li><i>G4Allocator</i><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>new</tt> and <tt>delete</tt> operators via <tt>MallocSingle()</tt> and
+    <tt>FreeSingle()</tt> methods of <i>G4Allocator</i>. </p>
+  </li>
+  <li><i>G4ReferenceCountedHandle</i><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>
+  </li>
+  <li><i>G4FastVector</i><p>Template class defining a vector of pointers, not performing
+    boundary checking.</p>
+  </li>
+  <li><i>G4PhysicsVector</i><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' (<i>G4PhysicsLogVector</i>) 'linear' (<i>G4PhysicsLinearVector</i>),
+    'free' (<i>G4PhysicsFreeVector</i>), etc. </p>
+  </li>
+  <li><i>G4LPhysicsFreeVector</i><p>Implements a free vector for low energy physics
+    cross-section data. A subdivision method is used to find the energy|momentum bin. </p>
+  </li>
+  <li><i>G4PhysicsOrderedFreeVector</i><p>A physics ordered free vector inherits from <i>G4PhysicsVector</i>.
+    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>
+  </li>
+  <li><i>G4Timer</i><p>Utility class providing methods to measure elapsed user/system process
+    time.<br>
+    Uses <tt>&lt;sys/times.h&gt;</tt> and <tt>&lt;unistd.h&gt;</tt> - POSIX.1. </p>
+  </li>
+  <li><i>G4UserLimits</i><p>Class collecting methods for get and set any kind of step
+    limitation allowed in Geant4. </p>
+  </li>
+  <li><i>G4UnitsTable</i><p>Placeholder for the system of units in Geant4. </p>
+  </li>
+</ul>
+
+<p>
+<table>
+<tr><td valign=top><a name="CLHEP-ref">[1]</a>
+<td><a href="http://cern.ch/clhep/manual/RefGuide">
+    cern.ch/clhep/manual/RefGuide</a>.
+<tr><td valign=top><a name="CLHEP-use">[2]</a>
+<td><a href="http://cern.ch/clhep/manual/UserGuide">
+    cern.ch/clhep/manual/UserGuide</a>.
+<tr><td valign=top><a name="Random-doc">[3]</a>
+<td><a href="http://cern.ch/wwwasd/geant/geant4_public/Random.html">
+    cern.ch/wwwasd/geant/geant4_public/Random.html</a>.
+</table>
+<P>
+
+<hr>
+<i><a HREF="../../../../Authors/html/subjectsToAuthors.html">
+
+<p>About the authors</a></i> </p>
+</body>
+</html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/index.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/index.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/index.html	(revision 1208)
@@ -0,0 +1,94 @@
+<HTML>
+<HEAD>
+   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+</HEAD>
+<TITLE>ADG: Fundamentals</TITLE>
+<BODY>
+<BR>
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+
+
+</A>
+<A HREF="../index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59>
+</A>
+<A HREF="../GettingStarted/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<A HREF="../Detector/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></A>
+</TD>
+
+<TD></TD>
+<TD ALIGN=RIGHT><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Documents</B>
+<BR>
+
+<B>Geant4 User's Guide</B>
+<BR>
+
+<B>For Application Developers</B>
+<BR>
+
+</FONT></FONT>
+</TD>
+</TR>
+</TABLE>
+<P>
+<BR>
+
+<CENTER><B><FONT COLOR="#238E23"><FONT SIZE=+4>
+</FONT></FONT></B>
+</CENTER>
+
+<CENTER><B><FONT COLOR="#238E23"><FONT SIZE=+2>
+<B>3. Toolkit Fundamentals</B>
+</FONT></FONT></B>
+</CENTER>
+<P>
+<BR>
+
+<HR ALIGN="Center" SIZE="7%">
+
+<!-- ============================================== Section -->
+<BR><BR>
+<B>
+   <OL>
+   <LI>
+   <A HREF="classCategory.html">
+   Class Categories and Domains</A></LI>
+   <LI>
+   <A HREF="global.html">
+   Global Usage Classes</A></LI>
+   <LI>
+   <A HREF="unitSystem.html">
+   System of Units</A></LI>
+   <LI>
+   <A HREF="run.html">
+   Run</A></LI>
+   <LI>
+   <A HREF="event.html">
+   Event</A></LI>
+   <LI>
+   <A HREF="eventGenerator.html">
+   Event Generator Interface</A></LI>
+   <LI>
+   <A HREF="biasing.html">
+   Event Biasing Techniques</A></LI>
+   </OL>
+
+
+</B>
+
+
+<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
+
+<!-- ============================================== Section -->
+<P><HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</A></I>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/run.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/run.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/run.html	(revision 1208)
@@ -0,0 +1,465 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+<TITLE></TITLE>
+<!-- Changed by: Dennis Wright, 29-Nov-2001 -->
+<META NAME="GENERATOR" CONTENT="Mozilla/3.0Gold (X11; I; OSF1 V4.0 alpha) [Netscape]">
+</HEAD>
+<BODY>
+
+<!-- Changed by: Katsuya Amako,  9-Jul-1998 -->
+<!-- Changed by: Katsuya Amako, 30-Nov-1998 -->
+<!-- Proof read by: Joe Chuma,  28-Jun-1999 -->
+
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+
+</A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A>
+<A HREF="unitSystem.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<A HREF="event.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></A>
+</TD>
+
+<TD ALIGN="Right"><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B> 
+<BR>
+<B>For Application Developers</B> <BR>
+<B>Toolkit Fundamentals</B> </FONT></FONT> </TD>
+</TR>
+</TABLE>
+<P><BR>
+
+<CENTER><P><FONT COLOR="#238E23"><FONT SIZE=+3>
+<B>3.4 Run</B> </FONT></FONT>
+</CENTER>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<P>
+
+<a name="3.4.1">
+<H2>3.4.1 Basic concept of <i>Run</i></H2></a>
+
+ In Geant4, <i>Run</i> 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 <i>G4Run</i> class object. A run starts with <tt>BeamOn()</tt> method
+ of <i>G4RunManager</i>.
+<p>
+<b>Representation of a run</b>
+<p>
+ <i>G4Run</i> 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>
+ <i>G4Run</i> has pointers to the tables <i>G4VHitsCollection</i> and
+ <i>G4VDigiCollection</i>. These tables are associated in case
+ <i>sensitive detectors</i> and <i>digitizer modules</i> are simulated,
+ respectively. The usage of these tables will be mentioned in Sections
+ <a href="../Detector/hit.html">4.4</a> and 
+ <a href="../Detector/digitization.html">4.5</a>.
+<p>
+<b>Manage the run procedures</b>
+<p> 
+ <i>G4RunManager</i> manages the procedures of a run. In the
+ constructor of <i>G4RunManager</i>, all of the manager classes
+ in Geant4 kernel, except for some static managers, are constructed. 
+ These managers are deleted in the destructor of <i>G4RunManager</i>.
+ <i>G4RunManager</i> must be a singleton, and the pointer to this
+ singleton object can be obtained by the <tt>getRunManager()</tt>
+ static method.
+ <p>
+ As already mentioned in 
+ <a href="../GettingStarted/mainProgram.html">Section 2.1</a>,
+ all of the <i>user initialization</i> classes and <i>user action</i> classes 
+ defined by the user should be assigned to <i>G4RunManager</i> before starting 
+ initialization of the Geant4 kernel. The assignments of these user classes 
+ are done by <tt>SetUserInitialization()</tt> and
+ <tt>SetUserAction()</tt> methods.  All user classes defined by the Geant4 
+ kernel will be summarized in 
+ <a href="../UserActions/index.html">Section 6</a>.
+ <p>
+ <i>G4RunManager</i> has several public methods, which are listed below.
+ <dl>
+ <dl>
+    <dt><tt>Initialize()</tt>
+    <dd>All initializations required by the Geant4 kernel are triggered by
+    this method. Initializations are:
+    <ul>
+     <li>construction of the detector geometry and set up of sensitive
+     detectors and/or digitizer modules,
+     <li>construction of particles and physics processes,
+     <li>calculation of cross-section tables.
+    </ul>
+    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.
+    <p>
+    <dt><tt>BeamOn(G4int numberOfEvent)</tt>
+    <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.
+    <p>
+    <dt><tt>GetRunManager()</tt>
+    <dd>This static method returns the pointer to the <i>G4RunManager</i>
+    singleton object.
+    <p>
+    <dt><tt>GetCurrentEvent()</tt>
+    <dd>This method returns the pointer to the <i>G4Event</i> 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 <i>"EventProc"</i>.
+    When Geant4 is in a state other than <i>"EventProc"</I>, this
+    method returns <tt>null</tt>. Please note that the return value of
+    this method is <tt>const G4Event *</tt> and thus you cannot modify
+    the contents of the object.
+    <p>
+    <dt><tt>SetNumberOfEventsToBeStored(G4int nPrevious)</tt>
+    <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, 
+    <i>G4RunManager</i> keeps 
+    <tt>nPrevious G4Event</tt> objects. This method must be invoked
+    before proceeding to <tt>BeamOn()</tt>.
+    <p>
+    <dt><tt>GetPreviousEvent(G4int i_thPrevious)</tt>
+    <dd>The pointer to the <tt>i_thPrevious G4Event</tt> object can be
+    obtained through this method. A pointer to a <tt>const</tt> object
+    is returned. It is inevitable that <tt>i_thPrevious</tt> events
+    must have already been simulated in the same run for getting
+    the <tt>i_thPrevious</tt> event. Otherwise, this method returns 
+    <tt>null</tt>.
+    <p>
+    <dt><tt>AbortRun()</tt>
+    <dd>This method should be invoked whenever the processing of a run
+    must be stopped.  It is valid for <i>GeomClosed</i> and <i>EventProc</i>
+    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.
+  </dl>
+</dl>
+<p>
+<b><i>G4UserRunAction</i></b>
+<p>
+ <i>G4UserRunAction</i> is one of the <i>user action</i> classes
+ from which you can derive your own concrete class. This base class has
+ two virtual methods, as follows:
+ <dl><dd>
+ <dl>
+ <dt><tt>BeginOfRunAction()</tt>
+ <dd>This method is invoked at the beginning of the <tt>BeamOn()</tt>
+  method but after confirmation of the conditions of the Geant4 kernel. 
+  Likely uses of this method include:
+  <ul>
+   <li>setting a run identification number,
+   <li>booking histograms,
+   <li>setting run specific conditions of the sensitive detectors
+    and/or digitizer modules (e.g., dead channels).
+  </ul>
+  <p>
+ <dt><tt>EndOfRunAction()</tt> method
+ <dd>This method is invoked at the very end of the <tt>BeamOn()</tt>
+  method. Typical use cases of this method are
+ <ul>
+  <li>store/print histograms,
+  <li>manipulate run summaries.
+ </ul>
+ </dl></dl>
+ <p>
+
+<HR>
+<a name="3.4.2">
+<H2>3.4.2 Geant4 as a state machine</H2></a>
+
+ Geant4 is designed as a state machine. Some methods in Geant4
+ are available for only a certain state(s). <i>G4RunManager</i>
+ controls the state changes of the Geant4 application. States of Geant4
+ are represented by the enumeration <i>G4ApplicationState</i>.
+ It has six states through the life cycle of a Geant4 application. 
+ <dl><dl>
+ <dt><i>G4State_PreInit</i> state
+ <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.
+  <p>
+ <dt><i>G4State_Init</i> state
+ <dd>The application is in this state while the <tt>Initialize()</tt> method
+  of <i>G4RunManager</i> is being invoked. Methods defined in 
+  any <i>user initialization</i> classes are invoked during this state.
+  <p>
+ <dt><i>G4State_Idle</i> state
+ <dd>The application is ready for starting a run.
+  <p>
+ <dt><i>G4State_GeomClosed</i> state
+ <dd>When <tt>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.
+  <p>
+ <dt><i>G4State_EventProc</i> state
+ <dd>A Geant4 application is in this state when a particular event
+ is being processed. <tt>GetCurrentEvent()</tt> and 
+ <tt>GetPreviousEvent()</tt> methods of <i>G4RunManager</i> are
+ available only at this state.
+ <p>
+ <dt><i>G4State_Quit</i> state
+ <dd>When the destructor of <i>G4RunManager</i> 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.
+ <p>
+ <dt><i>G4State_Abort</i> state
+ <dd>When a <i>G4Exception</i> 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 <i>G4VStateDependent</i>.
+ The user also has a choice to suppress the occurence of <i>G4Exception</i>
+ by a UI command <i>/control/suppressAbortion</i>. 
+ 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.
+ <p>
+ </dl></dl>
+<i>G4StateManager</i> belongs to the <i>intercoms</i> category.
+<p>
+
+
+<HR>
+<a name="3.4.3">
+<H2>3.4.3 User's hook for state change</H2></a>
+
+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 <i>G4VStateDependent</i>
+base class. For example, the user can store histograms when G4Exception
+occurs and Geant4 comes to the <i>Abort</i> state, but before the actual
+core dump.
+<p>
+The following is an example user code which stores histograms when
+Geant4 becomes to the <i>Abort</i> state. This class object should be 
+mabe in, for example <i>main()</i>, by the user code. This object will
+be automatically registered to <i>G4StateManager</i> at its construction.
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+
+#ifndef UserHookForAbortState_H
+#define UserHookForAbortState_H 1
+
+#include "G4VStateDependent.hh"
+
+class UserHookForAbortState : public G4VStateDependent
+{
+ public:
+  UserHookForAbortState();   // constructor
+  ~UserHookForAbortState();  // destructor
+
+  virtual G4bool Notify(G4ApplicationState requiredState);
+};
+
+#endif
+</PRE>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 3.4.3.1<BR>
+Header file of UserHookForAbortState
+</td>
+</tr>
+</table></center>
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+
+#include "UserHookForAbortState.hh"
+
+UserHookForAbortState::UserHookForAbortState() {;}
+UserHookForAbortState::~UserHookForAbortState() {;}
+
+G4bool UserHookForAbortState::Notify(G4ApplicationState requiredState)
+{
+  if(requiredState!=Abort) return true;
+  
+  // Do book keeping here
+
+  return true;
+}
+</PRE>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 3.4.3.2<BR>
+Source file of UserHookForAbortState
+</td>
+</tr>
+</table></center>
+<p>
+<p>
+<HR>
+<a name="3.4.4">
+<H2>3.4.4 Customizing the Run Manager</H2></a>
+
+<b>Virtual Methods in the Run Manager</b>
+<p>
+ <tt>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>main()</tt> method of the user's application.  Thus, instead of 
+ constructing the <tt>G4RunManager</tt> provided by Geant4, you are free 
+ to construct your own <tt>RunManager</tt>. It is recommended, however, 
+ that your <tt>RunManager</tt> inherit <tt>G4RunManager</tt>.  For this 
+ purpose, <tt>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>G4RunManager</tt> base class 
+ can still be used. 
+ A summary of the available methods is presented here:
+
+ <dl><dl>
+ <dt><tt>public: virtual void Initialize();</tt>
+ <dd>main entry point of Geant4 kernel initialization<p>
+ <dt><tt>protected: virtual void InitializeGeometry();</tt>
+ <dd>geometry construction<p>
+ <dt><tt>protected: virtual void InitializePhysics();</tt>
+ <dd>physics processes construction<p>
+ <dt><tt>public: virtual void BeamOn(G4int n_event);</tt>
+ <dd>main entry point of the event loop<p>
+ <dt><tt>protected: virtual G4bool ConfirmBeamOnCondition();</tt>
+ <dd>check the kernel conditions for the event loop<p>
+ <dt><tt>protected: virtual void RunInitialization();</tt>
+ <dd>prepare a run<p>
+ <dt><tt>protected: virtual void DoEventLoop(G4int n_events);</tt>
+ <dd>manage an event loop<p>
+ <dt><tt>protected: virtual G4Event* GenerateEvent(G4int i_event);</tt>
+ <dd>generation of <i>G4Event</i> object<p>
+ <dt><tt>protected: virtual void AnalyzeEvent(G4Event* anEvent);</tt>
+ <dd>storage/analysis of an event<p>
+ <dt><tt>protected: virtual void RunTermination();</tt>
+ <dd>terminate a run<p><p>
+ <dt><tt>public: virtual void DefineWorldVolume(G4VPhysicalVolume * worldVol);</tt>
+ <dd>set the world volume to <i>G4Navigator</i><p>
+ <dt><tt>public: virtual void AbortRun();</tt>
+ <dd>abort the run
+ </dl></dl>
+<p>
+<b>Customizing the Event Loop</b>
+<p>
+ In <tt>G4RunManager</tt> the event loop is handled by the virtual method
+ <tt>DoEventLoop()</tt>.  This method is implemented by a <tt>for</tt> loop 
+ consisting of the following steps:
+ <ol>
+ <li>construct a <tt>G4Event</tt> object and assign to it primary vertex(es) 
+     and primary particles.  This is done by the virtual
+     <tt>GeneratePrimaryEvent()</tt> method.
+ <li>send the <tt>G4Event</tt> object to <tt>G4EventManager</tt> for the 
+     detector simulation. <i>Hits</i> and <i>trajectories</i> will be 
+     associated with the <tt>G4Event</tt> object as a consequence.
+ <li>perform bookkeeping for the current <tt>G4Event</tt> object.  This is 
+     done by the virtual <tt>AnalyzeEvent()</tt> method.
+ </ol>
+ <p>
+ <tt>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>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>G4Event</tt>s.
+ 
+ <p>
+<b>Changing the Detector Geometry</b>
+<p>
+ The detector geometry defined in your <i>G4VUserDetectorConstruction</i>
+ concrete class can be changed during a run break (between two runs).
+ Two different cases are considered.
+ <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 <i>RunManager</i>. Thus, you should proceed in
+ the following way.
+<pre>
+  G4RunManager* runManager = G4RunManager::GetRunManager();
+  runManager->DefineWorldVolume( newWorldPhys );
+</pre>
+ Presumably this case is rather rare. The second case is more
+ frequent for the user.
+ <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>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 <i>RunManager</i>.
+ <p>
+ If you want to change your geometry for every run, you can
+ implement it in the <tt>BeginOfRunAction()</tt> method of
+ <i>G4UserRunAction</i> class, which will be invoked at the beginning of
+ each run, or, derive the <tt>RunInitialization()</tt> method. Please note that,
+ for both of the above mentioned cases, you need to let <i>RunManager</i>
+ know "the geometry needs to be closed again". Thus, you need to invoke 
+<pre>
+  runManager->GeometryHasBeenModified();
+</pre>
+ before proceeding to the next run. An example of changing geometry
+ is given in a Geant4 tutorial in Geant4 Training kit #2.
+<p>
+<b>Switch physics processes</b>
+<p>
+ In the <tt>InitializePhysics()</tt> method, 
+ <tt>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 Sections
+ <a href="../GettingStarted/particleDef.html">2.4</a>
+ and <a href="../TrackingAndPhysics/particle.html">5.3</a> for details).
+ In addition, it is very difficult to add and/or remove physics 
+ processes during execution, because registration procedures are 
+ very complex, except for experts (see Sections
+ <a href="../GettingStarted/physicsDef.html">2.5</a> and
+ <a href="../TrackingAndPhysics/physicsProcess.html">5.2</a>).
+ This is why the <tt>initializePhysics()</tt> method is assumed to be invoked 
+ at once in Geant4 kernel initialization. 
+ <p>
+ However, you can switch on/off physics processes defined in your 
+ <i>G4VUserPhysicsList</i> concrete class and also change parameters 
+ in physics processes during the run break. 
+ <p>
+ You can use <tt>ActivateProcess()</tt> and <tt>InActivateProcess()</tt> methods of 
+ <i>G4ProcessManager</i> 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 <i>EventProc</i> state.
+ <p>
+ It is a likely case to change cut-off values in a run.
+ You can change <tt>defaultCutValue</tt> in <i>G4VUserPhysicsList</i> during 
+ the <i>Idle</i> state. In this case, all cross section tables need to be 
+ recalculated before the event loop. You should use the <tt>CutOffHasBeenModified()</tt> 
+ method when you change cut-off values so that the <tt>SetCuts</tt> method of your 
+ <i>PhysicsList</i> concrete class will be invoked.
+
+<BR><BR>
+<HR><A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</A></I>   </P>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/unitSystem.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/unitSystem.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Fundamentals/unitSystem.html	(revision 1208)
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+<TITLE></TITLE>
+<!-- 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 -->
+
+<META NAME="GENERATOR" CONTENT="Mozilla/3.0Gold (X11; I; OSF1 V4.0 alpha) [Netscape]">
+</HEAD>
+<BODY>
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+
+</A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A>
+<A HREF="global.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59>
+<A HREF="run.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></A>
+</TD>
+
+<TD ALIGN="Right"><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B> <BR>
+<B>For Application Developers</B> <BR>
+<B>Toolkit Fundamentals</B> </FONT></FONT> 
+</TD>
+</TR>
+</TABLE>
+
+<P><BR>
+<CENTER><FONT COLOR="#238E23"><FONT SIZE=+3>
+<B>3.3 System of units </B>
+</FONT></FONT> <BR>
+</CENTER>
+<BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<P>
+
+<a name="3.3.1">
+<H2>3.3.1 Basic units</h2></a>
+
+<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>HepSystemOfUnits</tt>:
+<P> 
+<PRE>
+                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>
+<P>
+ All other units are defined from the basic ones.
+<P> 
+ For instance: 
+<PRE>
+                 millimeter = mm = 1;
+                 meter = m = 1000*mm;
+                 ...
+                 m3 = m*m*m;
+                 ...
+</PRE>
+<P>
+ In the file <TT>source/global/management/include/SystemOfUnits.h</TT>
+ you will find all of these definitions. That file is part of CLHEP.
+<P>
+ Moreover, the user is free to change the system of units to be used by the
+ kernel. 
+<p>
+
+<HR>
+<a name="3.3.2">
+<H2>3.3.2 Input your data</H2></a>
+
+<b>Avoid 'hard coded' data</b>
+<P>
+ You <B>must</B> give the units for the data you are going to introduce:
+<PRE>
+ G4double Size = 15*km, KineticEnergy = 90.3*GeV, density = 11*mg/cm3;
+</PRE>
+<P>
+ Indeed, the full Geant4 code is written respecting these specifications,
+ and this makes it independent of the units chosen by the user.
+<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> 
+ 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>
+<PRE>
+  for (int j=0, j&lt;jmax, j++) CrossSection[j] *= millibarn;
+  ...
+  my calculations
+  ...
+</PRE>
+<P><BR>
+
+<b>Interactive commands</b>
+
+<P>
+ Some built-in commands from the User Interface (UI) also require the units
+ to be specified.
+<P> 
+ For instance: 
+<PRE>
+    /gun/energy 15.2 keV
+    /gun/position 3 2 -7 meter
+</PRE>
+<P>
+ If the units are not specified, or are not valid, the command is refused. 
+<P>
+
+<HR>
+<a name="3.3.3">
+<H2>3.3.3 Output your data</H2></a>
+
+ You can output your data with the units you wish. To do so, it
+ is sufficient to <b>divide</b> the data by the corresponding unit:
+ <PRE>     
+      G4cout << KineticEnergy/keV << " keV";
+      G4cout << density/(g/cm3)   << " g/cm3";
+ </PRE>
+ <P>
+ Of course, <tt>G4cout << KineticEnergy</tt> will print the energy in the
+  internal units system.
+ <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
+ <PRE>
+      G4cout << G4BestUnit(StepSize, "Length");
+ </PRE>
+ <P>
+ <tt>StepSize</tt> will be printed in km, m, mm, fermi, etc. depending of
+ its actual value. 
+<P>
+
+<HR>
+<a name="3.3.4">
+<H2>3.3.4 Introduce new units</H2></a>
+
+<P>
+ If you wish to introduce new units, there are two methods: 
+
+<UL>
+ <P>
+ <LI> You can complete the file <tt>SystemOfUnits.h</tt> </LI>
+ 
+ <PRE>  
+      #include "SystemOfUnits.h"
+      
+      static const G4double inch = 2.54*cm;
+ </PRE>
+ <P>
+ Using this method, it is not easy to define composed units. It is better
+ to do the following:
+ <P>
+ <LI> You can instantiate an object of the class <i>G4UnitDefinition</i> </LI>
+
+ <PRE>    
+      G4UnitDefinition ( name, symbol, category, value )
+ </PRE>
+ <P>
+ For example: define a few units for speed 
+
+ <PRE> 
+      G4UnitDefinition ( "km/hour" , "km/h", "Speed", km/(3600*s) );
+      G4UnitDefinition ( "meter/ns", "m/ns", "Speed", m/ns );
+ </PRE>
+ <P>
+ The category "Speed" does not exist by default in <i>G4UnitsTable</i>,
+ but it will be created automatically. 
+ <P> 
+ The class <i>G4UnitDefinition</i> is located in <tt>source/global/management</tt>.
+</UL>
+<P>
+
+<HR>
+<a name="3.3.5">
+<H2>3.3.5 Print the list of units</H2></a>
+
+<P>
+ You can print the list of units with the static function: 
+ <tt>G4UnitDefinition::PrintUnitsTable();</tt>
+<P>
+ or with the interactive command: <TT>/units/list</TT>
+
+<P><BR><BR>
+
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</A></I>   
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/CVS/Entries	(revision 1208)
@@ -0,0 +1,12 @@
+/eventDef.html/1.6/Mon Dec 18 10:28:24 2006//
+/executeProgram.html/1.11/Mon Dec 18 10:28:24 2006//
+/geometryDef.html/1.9/Mon Dec 18 10:28:24 2006//
+/index.html/1.11/Mon Dec 18 10:28:24 2006//
+/mainProgram.html/1.14/Mon Dec 18 10:28:24 2006//
+/makeFile.html/1.9/Mon Dec 18 10:28:24 2006//
+/materialDef.html/1.8/Mon Dec 18 10:28:24 2006//
+/particleDef.html/1.15/Thu Jan 18 02:24:27 2007//
+/physicsDef.html/1.10/Mon Dec 18 10:28:24 2006//
+/visualization.html/1.31/Mon Dec 18 10:28:24 2006//
+D/graphicalUserInterface.src////
+/graphicalUserInterface.html/1.10/Mon Feb  9 14:05:24 2009//
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/eventDef.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/eventDef.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/eventDef.html	(revision 1208)
@@ -0,0 +1,217 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako,  4-Aug-1998 -->
+<!-- Changed by: Dennis Wright, 29-Nov-2001 -->
+<!-- Proof read by: Joe Chuma,  15-Jun-1999 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+
+
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="physicsDef.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A HREF="makeFile.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>For Application Developers</B>
+<BR>
+<B>Getting Started with Geant4</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>2.6 How to Generate a Primary Event</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<P>
+
+<a name="2.6.1">
+<H2>2.6.1 Generating Primary Events</H2></a>
+
+ <I>G4VuserPrimaryGeneratorAction</I> 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 
+ <I>G4VPrimaryGenerator</I>, explained in the following sub-section. 
+ Your <I>G4VUserPrimaryGeneratorAction</I> concrete class just arranges
+ the way primary particles are generated.
+<P>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+<FONT FACE="Courier New">
+#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->SetParticleDefinition(G4Geantino::GeantinoDefinition());
+  particleGun->SetParticleEnergy(1.0*GeV);
+  particleGun->SetParticlePosition(G4ThreeVector(-2.0*m,0.0*m,0.0*m));
+}
+
+ExN01PrimaryGeneratorAction::~ExN01PrimaryGeneratorAction()
+{
+  delete particleGun;
+}
+
+void ExN01PrimaryGeneratorAction::generatePrimaries(G4Event* anEvent)
+{
+  G4int i = anEvent->get_eventID() % 3;
+  switch(i)
+  {
+    case 0:
+      particleGun->SetParticleMomentumDirection(G4ThreeVector(1.0,0.0,0.0));
+      break;
+    case 1:
+      particleGun->SetParticleMomentumDirection(G4ThreeVector(1.0,0.1,0.0));
+      break;
+    case 2:
+      particleGun->SetParticleMomentumDirection(G4ThreeVector(1.0,0.0,0.1));
+      break;
+  }
+
+  particleGun->generatePrimaryVertex(anEvent);
+}
+</PRE>
+</FONT>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 2.6.1<BR>
+ An example of a <I>G4VUserPrimaryGeneratorAction</I> 
+ concrete class using <I>G4ParticleGun</I>. For the usage of <I>G4ParticleGun</I>
+ refer to 2.6.2.
+</td>
+</tr>
+</table></center>
+<P>
+
+<h4>2.6.1.1 Selection of the generator</h4>
+
+ In the constructor of your <I>G4VUserPrimaryGeneratorAction</I>, 
+ you should instantiate the primary generator(s). If necessary, you need to 
+ set some initial conditions for the generator(s).
+<P>
+ In Source listing 2.6.1, <I>G4ParticleGun</I> is constructed to use
+ as the actual primary particle generator. Methods of <I>G4ParticleGun</I> 
+ are described in the following section. Please note that the primary 
+ generator object(s) you construct in your <I>G4VUserPrimaryGeneratorAction</I>
+ concrete class must be deleted in your destructor.
+<P>
+
+<h4>2.6.1.2 Generation of an event</h4>
+
+ <I>G4VUserPrimaryGeneratorAction</I> has a pure virtual method 
+ named <tt>generatePrimaries()</tt>. This method is invoked at the 
+ beginning of each event. In this method, you have to invoke the 
+ <I>G4VPrimaryGenerator</I> concrete class you instantiated via 
+ the <tt>generatePrimaryVertex()</tt> method.
+<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>
+
+<HR>
+<a name="2.6.2">
+<H2>2.6.2 <i>G4VPrimaryGenerator</i></H2></a>
+
+Geant4 provides two <I>G4VPrimaryGenerator</I> concrete classes.  One is 
+<I>G4ParticleGun</I>, which will be discussed here, and the other is 
+<I>G4HEPEvtInterface</I>, which will be discussed in
+ <a href="../Fundamentals/eventGenerator.html">Section 3.6</a>.
+<P>
+<h4>2.6.2.1 <i>G4ParticleGun</i></h4>
+
+<I>G4ParticleGun</I> 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 <I>G4ParticleGun</I> 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 <I>G4ParticleGun</I>.
+The invocation of these methods should be implemented in the
+<tt>generatePrimaries()</tt> method of your concrete  
+<I>G4VUserPrimaryGeneratorAction</I> class before invoking 
+<tt>generatePrimaryVertex()</tt> of <I>G4ParticleGun</I>.  Geant4 provides 
+various random number generation methods with various distributions (see 
+<a href="../Fundamentals/global.html">Section 3.2</a>).
+<P>
+
+<h4>2.6.2.2 Public methods of <I>G4ParticleGun</I></h4>
+
+ The following methods are provided by <I>G4ParticleGun</I>, and all of 
+ them can be invoked from the <tt>generatePrimaries()</tt> method in your 
+ concrete <I>G4VUserPrimaryGeneratorAction</I> class.
+<UL>
+ <li><tt>void SetParticleDefinition(G4ParticleDefinition*)</tt>
+ <li><tt>void SetParticleMomentum(G4ParticleMomentum)</tt>
+ <li><tt>void SetParticleMomentumDirection(G4ThreeVector)</tt>
+ <li><tt>void SetParticleEnergy(G4double)</tt>
+ <li><tt>void SetParticleTime(G4double)</tt>
+ <li><tt>void SetParticlePosition(G4ThreeVector)</tt>
+ <li><tt>void SetParticlePolarization(G4ThreeVector)</tt>
+ <li><tt>void SetNumberOfParticles(G4int)</tt>
+</UL>
+<p>
+
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
+
+
+
+
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/executeProgram.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/executeProgram.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/executeProgram.html	(revision 1208)
@@ -0,0 +1,460 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- 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 -->
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+
+
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="graphicalUserInterface.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A HREF="visualization.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>For Application Developers</B>
+<BR>
+<B>Getting Started with Geant4</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>2.9 How to Execute a Program</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<p>
+
+<a name="2.9.1">
+<H2>2.9.1 Introduction</H2></a>
+
+ A Geant4 application can be run either in
+<UL>
+ <LI>`purely hard-coded` batch mode
+ <LI>batch mode, but reading a macro of commands
+ <LI>interactive mode, driven by command lines
+ <LI>interactive mode via a Graphical User Interface
+</UL>				   
+ The last mode will be covered in <a href="graphicalUserInterface.html">Section 2.8</a>.  The first three modes are explained here.
+<P>
+
+<hr>
+<a name="2.9.2">
+<H2>2.9.2 'Hard-coded' Batch Mode</H2></a>
+
+ Below is an example of the main program for an application which will run
+ in batch mode.
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>					   
+int main()
+{
+  // Construct the default run manager
+  G4RunManager* runManager = new G4RunManager;
+
+  // set mandatory initialization classes
+  runManager->SetUserInitialization(new ExN01DetectorConstruction);
+  runManager->SetUserInitialization(new ExN01PhysicsList);
+
+  // set mandatory user action class
+  runManager->SetUserAction(new ExN01PrimaryGeneratorAction);
+
+  // Initialize G4 kernel
+  runManager->Initialize();
+
+  // start a run
+  int numberOfEvent = 1000;
+  runManager->BeamOn(numberOfEvent);
+
+  // job termination
+  delete runManager;
+  return 0;
+}
+</PRE>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 2.9.1<BR>
+ An example of the <tt>main()</tt> routine for an application
+ which will run in batch mode.
+</td>
+</tr>
+</table></center>
+<p>
+ Even the number of events in the run is `frozen`.  To change this number
+ you must at least recompile <tt>main()</tt>.
+<P>
+
+<HR> 
+<a name="2.9.3">
+<H2>2.9.3 Batch Mode with Macro File</H2></a>
+ 
+Below is an example of the main program for an application which will run
+in batch mode, but reading a file of commands.
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>  
+int main(int argc,char** argv) {
+
+   // Construct the default run manager
+  G4RunManager * runManager = new G4RunManager;
+  
+  // set mandatory initialization classes
+  runManager->SetUserInitialization(new MyDetectorConstruction);
+  runManager->SetUserInitialization(new MyPhysicsList);
+  
+  // set mandatory user action class
+  runManager->SetUserAction(new MyPrimaryGeneratorAction);
+  
+  // Initialize G4 kernel
+  runManager->Initialize();
+
+  //read a macro file of commands
+  G4UImanager * UI = G4UImanager::getUIpointer();
+  G4String command = "/control/execute ";
+  G4String fileName = argv[1];
+  UI->applyCommand(command+fileName); 
+
+  delete runManager;
+  return 0;
+}
+</PRE>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 2.9.2<BR>
+ An example of the <tt>main()</tt> routine for an application which will run
+ in batch mode, but reading a file of commands.
+</td>
+</tr>
+</table></center>
+<p>
+ This example will be executed with the command:
+<PRE>
+    > myProgram  run1.mac
+</PRE>
+<p>                  
+ where <tt>myProgram</tt> is the name of your executable and <TT>run1.mac</TT>
+ is a macro of commands located in the current directory, which could 
+ look like:
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE> 
+#
+# 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>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 2.9.3<BR>
+ A typical command macro.
+</td>
+</tr>
+</table></center>
+<p>
+ Indeed, you can re-execute your program with different run conditions without
+ recompiling anything.
+<P> 
+<table>
+<tr>
+<td valign=top>Digression:
+<td>many G4 category of classes have a verbose flag which controls
+ the level of 'verbosity'.<br>
+ Usually <TT>verbose=0</TT> means silent. For instance 
+<UL>
+<LI><t>/run/verbose</t> is for the <t>RunManager</t>
+<LI><t>/event/verbose</t> is for the <t>EventManager</t>
+<LI><t>/tracking/verbose</t> is for the <t>TrackingManager</t>
+<LI>...etc...
+</UL>                           
+</table>
+<P>
+
+<HR>                           
+<a name="2.9.4">
+<H2>2.9.4 Interactive Mode Driven by Command Lines</H2></a>
+
+ Below is an example of the main program for an application which will run
+ interactively, waiting for command lines entered from the keyboard.
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>                           
+int main(int argc,char** argv) {
+
+  // Construct the default run manager
+  G4RunManager * runManager = new G4RunManager;
+
+  // set mandatory initialization classes
+  runManager->SetUserInitialization(new MyDetectorConstruction);
+  runManager->SetUserInitialization(new MyPhysicsList);
+  
+  // visualization manager
+  G4VisManager* visManager = new G4VisExecutive;
+  visManager->Initialize();
+    
+  // set user action classes
+  runManager->SetUserAction(new MyPrimaryGeneratorAction);
+  runManager->SetUserAction(new MyRunAction);
+  runManager->SetUserAction(new MyEventAction);
+  runManager->SetUserAction(new MySteppingAction);
+  
+  // Initialize G4 kernel
+  runManager->Initialize();
+  
+  // Define UI terminal for interactive mode   
+  G4UIsession * session = new G4UIterminal;    
+  session->SessionStart();
+  delete session;
+
+  // job termination
+  delete visManager;
+  delete runManager;
+
+  return 0;
+}
+</PRE>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 2.9.4<BR>
+ An example of the <tt>main()</tt> routine for an application which will run
+ interactively, waiting for commands from the keyboard.
+</td>
+</tr>
+</table></center>
+<p>
+ This example will be executed with the command:
+<PRE>
+  > myProgram                  
+</PRE>
+ where <TT>myProgram</TT> is the name of your executable.
+<P> 
+ The G4 kernel will prompt:  
+<PRE>
+  Idle>
+</PRE>
+ and you can start your session. An example session could be:
+<p>
+ Create an empty scene ("world" is default):
+<PRE> 
+  Idle> /vis/scene/create
+</PRE>
+ Add a volume to the scene:
+<PRE> 
+  Idle> /vis/scene/add/volume
+</PRE>
+ Create a scene handler for a specific graphics system.
+ Change the next line to choose another graphic system:
+<PRE> 
+  Idle> /vis/sceneHandler/create OGLIX
+</PRE>
+ Create a viewer:
+<PRE> 
+  Idle> /vis/viewer/create
+</PRE>
+ Draw the scene, etc.:
+<PRE> 
+  Idle> /vis/scene/notifyHandlers
+  Idle> /run/verbose      0
+  Idle> /event/verbose    0
+  Idle> /tracking/verbose 1
+  Idle> /gun/particle mu+
+  Idle> /gun/energy 10 GeV
+  Idle> /run/beamOn 1
+  Idle> /gun/particle proton
+  Idle> /gun/energy 100 MeV
+  Idle> /run/beamOn 3		
+  Idle> exit                  
+</PRE>
+<p>
+ For the meaning of the machine state <TT>Idle</TT>, see
+ <a href="../Fundamentals/run.html#3.4.2">Section 3.4.2</a>.
+<P>
+This mode is useful for running a few events in debug mode and visualizing 
+them.  Notice that the <i>VisManager</I> is created in the <tt>main()</tt>, 
+and the visualization system is choosen via the command: 
+<PRE>
+  /vis/sceneHandler/create OGLIX
+</PRE>
+<P>
+                  
+<HR>
+<a name="2.9.5">
+<H2>2.9.5 General Case</H2></a>
+
+ Most of the examples in the <TT>$G4INSTALL/examples/</TT> directory
+ have the following <TT>main()</TT>, which covers cases 2 and 3 above. 
+ Thus, the application can be run either in batch or interactive mode.
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+int main(int argc,char** argv) {
+
+  // Construct the default run manager
+  G4RunManager * runManager = new G4RunManager;
+
+  // set mandatory initialization classes
+  N03DetectorConstruction* detector = new N03DetectorConstruction;
+  runManager->SetUserInitialization(detector);
+  runManager->SetUserInitialization(new N03PhysicsList);
+  
+#ifdef G4VIS_USE
+  // visualization manager
+  G4VisManager* visManager = new G4VisExecutive;
+  visManager->Initialize();
+#endif
+    
+  // set user action classes
+  runManager->SetUserAction(new N03PrimaryGeneratorAction(detector));
+  runManager->SetUserAction(new N03RunAction);
+  runManager->SetUserAction(new N03EventAction);
+  runManager->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->ApplyCommand("/control/execute prerunN03.mac");    
+     session->SessionStart();
+     delete session;
+    }
+  else           // Batch mode
+    { 
+     G4String command = "/control/execute ";
+     G4String fileName = argv[1];
+     UI->ApplyCommand(command+fileName);
+    }
+
+  // job termination
+#ifdef G4VIS_USE
+  delete visManager;
+#endif
+  delete runManager;
+
+  return 0;
+}
+</PRE>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 2.9.5<BR>
+ The typical <tt>main()</tt> routine from the examples directory.
+</td>
+</tr>
+</table></center>
+<p>
+ Notice that the visualization system is under the control of the precompiler
+ variable <TT>G4VIS_USE</TT>.
+ Notice also that, in interactive mode, few intializations have been put in the
+ macro <TT>prerunN03.mac</TT> which is executed before the session start.
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE> 
+ # 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 => storeTrajectory 0
+ /tracking/storeTrajectory 1
+ #/vis/scene/include/trajectories
+</PRE>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 2.9.6<BR>
+ The <tt>prerunN03.mac</tt> macro.
+</td>
+</tr>
+</table></center>
+<P>
+ Also, this example demonstrates that you can read and execute a macro interactively:
+<PRE> 
+  Idle> /control/execute  mySubMacro.mac
+</PRE>
+<p>
+
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/geometryDef.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/geometryDef.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/geometryDef.html	(revision 1208)
@@ -0,0 +1,287 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako,  6-Aug-1998 -->
+<!-- Changed by: Dennis Wright, 28-Nov-2001 -->
+<!-- Proof read by: Joe Chuma,  14-Jun-1999 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+
+
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="mainProgram.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A HREF="materialDef.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>For Application Developers</B>
+<BR>
+<B>Getting Started with Geant4</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>2.2 How to Define a Detector Geometry</B>
+</FONT>
+<P><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<p>
+
+<A NAME="2.2.1">
+<h2>2.2.1 Basic Concepts</H2></A>
+
+ A detector geometry in Geant4 is made of a number of volumes.  The largest
+ volume is called the <b>World</b> 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>
+ Each volume is created by describing its shape and its physical
+ characteristics, and then placing it inside a containing volume.
+<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>
+ 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>
+ 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>
+ 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>
+
+<HR>
+<A NAME="2.2.2">
+<H2>2.2.2 Create a Simple Volume</H2></A>
+
+   What do you need to do to create a volume?
+<P>
+<UL>
+<LI> Create a solid.
+<LI> Create a logical volume, using this solid, and adding other attributes.
+</UL>
+<p>
+
+<HR>
+<A NAME="2.2.3">
+<H2>2.2.3 Choose a Solid</H2></A>
+
+ 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>
+ In the detector description in the source file <tt>ExN01DetectorConstruction.cc</tt>,
+ you will find the following box definition:
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+  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>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 2.2.1<BR>
+ Creating a box.
+</td>
+</tr>
+</table></center>
+<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>
+ It is also very simple to create a cylinder. To do this, you can use the
+ <i>G4Tubs</i> class.
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+  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>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 2.2.2<BR>
+ Creating a cylinder.
+</td>
+</tr>
+</table></center>
+<p>
+ This creates a full cylinder, named "tracker_tube",
+ of radius 60 centimeters and length 50 cm.
+<P>
+
+<HR>
+<A NAME="2.2.4">
+<H2>2.2.4 Create a Logical Volume</H2></A>
+
+ 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:
+<PRE>
+ G4LogicalVolume* experimentalHall_log
+    = new G4LogicalVolume(experimentalHall_box,Ar,"expHall_log");
+</PRE>
+ This logical volume is named "expHall_log".
+<P>
+ Similarly we create a logical volume with the cylindrical solid filled with
+ aluminium
+<PRE>
+  G4LogicalVolume* tracker_log
+    = new G4LogicalVolume(tracker_tube,Al,"tracker_log");
+</PRE>
+ and named "tracker_log"
+<P>
+
+<HR>
+<A NAME="2.2.5">
+<H2>2.2.5 Place a Volume</H2></A>
+
+ 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>
+
+<HR>
+<A NAME="2.2.6">
+<H2>2.2.6 Create a Physical Volume</H2></A>
+<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>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+  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>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 2.2.3<BR>
+ A simple physical volume.
+</td>
+</tr>
+</table></center>
+<p>
+ This places the logical volume <tt>tracker_log</tt> at the origin of the
+ mother volume <tt>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>
+ 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
+ <i>G4PVPlacement</i> with a null mother pointer.  It also must be
+ unrotated, and it must be placed at the origin of the global coordinate system.
+<P>
+ Generally, it is best to choose a simple solid as the World volume, and in
+ Example N01, we use the experimental hall:
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+  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>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 2.2.4<BR>
+ The World volume from Example N01.
+</td>
+</tr>
+</table></center>
+<p>
+
+<HR>
+<A NAME="2.2.7">
+<H2>2.2.7 Coordinate Systems and Rotations</H2></A>
+
+ 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>
+ 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>
+
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/graphicalUserInterface.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/graphicalUserInterface.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/graphicalUserInterface.html	(revision 1208)
@@ -0,0 +1,380 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+  <title>2.8 How to specify a user interface</title>
+    
+  <style>
+v\:* {behavior:url(#default#VML);}
+o\:* {behavior:url(#default#VML);}
+w\:* {behavior:url(#default#VML);}
+.shape {behavior:url(#default#VML);}
+</style>  <!-- Changed by: Katsuya Amako, 16-Nov-1998 --> <!-- Proof read by: Joe Chuma,   9-Jun-1999 -->
+ <!-- Changed by: Hajime Yoshida 15-Nov-2001 --> <!-- Changed by: Dennis Wright, 29-Nov-2001 -->
+ <!-- Changed by: Hajime Yoshida 15-Jun-2002 -->
+</head>
+  <body>
+ 
+<table width="100%">
+  <tbody>
+    <tr>
+ <td> <a href="../../../../Overview/html/index.html"> <img src="../../../../resources/html/IconsGIF/Overview.gif" alt="Overview">
+      </a> <a href="index.html"> <img src="../../../../resources/html/IconsGIF/Contents.gif" alt="Contents">
+      </a> <a href="makeFile.html"> <img src="../../../../resources/html/IconsGIF/Previous.gif" alt="Previous">
+      </a> <a href="executeProgram.html"> <img src="../../../../resources/html/IconsGIF/Next.gif" alt="Next">
+      </a> </td>
+ <td align="Right"> <font size="-1" color="#238e23"> <b>Geant4 User's Guide</b>
+ <br>
+ <b>For Application Developers</b> <br>
+ <b>Getting Started with Geant4</b> </font> </td>
+ </tr>
+  </tbody>
+</table>
+ <br>
+<br>
+  
+<p align="Center"> <font size="+3" color="#238e23"> <b> 2.8 How to Set Up
+an Interactive Session  </b> </font> <br>
+<br>
+  </p>
+<hr align="Center" size="7"> 
+<p>  <a name="2.8.1"> 
+<h2>2.8.1 Introduction</h2>
+</a> </p>
+<p> <b>Roles of the "intercoms" category</b>  </p>
+<div class="MsoNormal">&nbsp;The&nbsp; "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.</div>
+ 
+<p>  <b>User Interfaces to steer the simulation</b>  </p>
+<div class="MsoNormal">&nbsp;To avoid too much programming, the "intercoms" 
+category provides the abstract class <i>G4UIsession </i>that captures interactive 
+commands . The concrete implementation of the user interface and Graphical 
+User Interfaces (GUI) is left to the&nbsp; 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; 
+<ol>
+ 
+  <li> Character terminal (dumb terminal and tcsh(bash)-like terminal), the
+default user&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; interface of Geant4,</li>
+  
+  <li> Xm, Xaw, Qt, Win32, variations of the upper terminal by using a Motif,
+Athena, Qt or Windows widget to retrieve commands, and</li>
+  
+  <li> GAG, a fully Graphical User Interface and its extension GainServer
+ of the client/server type.</li>
+ 
+</ol>
+ </div>
+  
+<div class="MsoNormal">Full implementation of the character terminals (1 and
+2) is included in the standard Geant4 distribution in the  <tt>source/interfaces/basic</tt>
+directory.&nbsp; 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>environments/MOMO</tt>
+directory.</div>
+  
+<table border="0" cellpadding="0" style="mso-cellspacing:1.5pt;mso-padding-alt:
+ 0cm 0cm 0cm 0cm">
+ <caption>&nbsp;</caption>  <tbody>
+    <tr>
+ <td valign="Top" style="padding-top: 0.75pt; padding-right: 0.75pt; padding-bottom: 0.75pt; padding-left: 0.75pt; ">
+ 
+      <div class="MsoNormal"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+GAG, GainServer's client GUI Gain&nbsp;</tt></div>
+ </td>
+  <td style="padding-top: 0.75pt; padding-right: 0.75pt; padding-bottom: 0.75pt; padding-left: 0.75pt; ">
+ 
+      <div class="MsoNormal"><a href="http://erpc1.naruto-u.ac.jp/%7Egeant4">
+http://erpc1.naruto-u.ac.jp/~geant4</a></div>
+ </td>
+ </tr>
+ 
+  </tbody>
+</table>
+  
+<div class="MsoNormal" style="text-align: center; "> 
+<center> 
+<hr size="2" width="100%" align="Center"></center>
+ </div>
+  <a name="2.8.2"> 
+<h2>2.8.2 A Short Description of Available Interface Classes</h2>
+</a> 
+<p> </p>
+<h3 style="margin-left: 36pt; text-indent: -18pt; "> 1. <i>G4U<b>I</b>terminal</i>
+ and <i>G4UItcsh </i>classes</h3>
+  
+<div class="MsoNormal" style="margin-left: 36pt; text-indent: 3pt; ">&nbsp;These 
+interfaces open a session on the character terminal. <i>G4UIterminal</i> runs
+on all platform supported by Geant4, including <i>cygwin</i> on Windows, while
+<i>G4UItcsh</i> runs on Solaris and Linux. G4UItcsh supports user-friendly 
+key bindings a-la-tcsh (or bash);</div>
+  
+<div class="MsoNormal" style="margin-left: 36pt; text-indent: 3pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+^A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; move cursor to the top</div>
+  
+<div class="MsoNormal" style="margin-left: 36pt; text-indent: 3pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+^B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; backward cursor ([LEFT] 
+cursor)</div>
+  
+<div class="MsoNormal" style="margin-left: 36pt; text-indent: 3pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+^D&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delete/exit/show matched list</div>
+  
+<div class="MsoNormal" style="margin-left: 36pt; text-indent: 3pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+^E&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; move cursor to the end</div>
+  
+<div class="MsoNormal" style="margin-left: 36pt; text-indent: 3pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+^F&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; forward 
+cursor ([RIGHT] cursor)</div>
+  
+<div class="MsoNormal" style="margin-left: 36pt; text-indent: 3pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+^K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; clear after the cursor</div>
+  
+<div class="MsoNormal" style="margin-left: 36pt; text-indent: 3pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+^N&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; next command ([DOWN] cursor)</div>
+  
+<div class="MsoNormal" style="margin-left: 36pt; text-indent: 3pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+^P&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; previous command 
+([UP] cursor)</div>
+  
+<div class="MsoNormal" style="margin-left: 36pt; text-indent: 3pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+TAB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; command completion</div>
+  
+<div class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DEL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+backspace</div>
+  
+<div class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; BS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+backspace</div>
+  
+<div class="MsoNormal">&nbsp; In addition, the following string substitutions 
+are supported;</div>
+  
+<div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+%s&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; current application status</div>
+  
+<div class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+%/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; current working directory</div>
+  
+<div class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+%h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; history number</div>
+  
+<h3 style="margin-left: 36pt; text-indent: -18pt; "> <b>2. <i>G4UIXm</i>, 
+<i>G4UIXaw</i>, <i>G4UIQt</i> and <i>G4UIWin32</i> classes</b></h3>
+  
+<div class="MsoNormal" style="margin-left: 36pt; ">&nbsp; These interfaces 
+are versions of <i>G4UIterminal</i> implemented over libraries Motif, Athena 
+and WIN32 respectively. <i>G4UIXm</i> uses the Motif XmCommand widget, <i>
+G4UIXaw</i> the Athena dialog widget, <i>G4UIQt</i> the Qt toolkit and <i>G4UIWin32</i> 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.</div>
+  
+<div class="MsoNormal" style="margin-left: 36pt; ">&nbsp; 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&nbsp; shellcommands "exit, cont, help, ls, cd..." are also supported. 
+A menu bar could be customized through the <i>AddMenu</i> and <i>AddButton</i>
+ method.</div>
+  
+<div class="MsoNormal" style="margin-left: 36pt; ">&nbsp; Ex:</div>
+  
+<div class="MsoNormal" style="margin-left: 36pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+/gui/addMenu&nbsp;&nbsp;&nbsp; test Test</div>
+  
+<div class="MsoNormal" style="margin-left: 36pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+/gui/addButton&nbsp;&nbsp;&nbsp; test Init /run/initialize</div>
+  
+<div class="MsoNormal" style="margin-left: 36pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+/gui/addButton&nbsp;&nbsp;&nbsp; test&nbsp;&nbsp;&nbsp;&nbsp; "Set gun"&nbsp;&nbsp;&nbsp;&nbsp; 
+"/control/execute gun.g4m"</div>
+  
+<div class="MsoNormal" style="margin-left: 36pt; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+/gui/addButton&nbsp;&nbsp;&nbsp;&nbsp; test&nbsp;&nbsp;&nbsp;&nbsp; "Run one
+event"&nbsp;&nbsp;&nbsp; "/run/beamOn 1"</div>
+  
+<div class="MsoNormal" style="margin-left: 36pt; "><i>&nbsp; G4UIXm </i>runs 
+on Unix/Linux with Motif. <i>G4UIXaw</i>, less user friendly, runs on Unix 
+with Athena widgets. <i>G4UIQt</i> run everywhere and <i>G4UIWin32</i> runs on Windows.</div>
+  
+<h3 style="margin-left: 36pt; text-indent: -18pt; "> <b>3. <i>G4UIGAG</i>
+ and G4UIGainServer classes</b></h3>
+ 
+<div style="margin-left: 36pt; text-indent: -18pt; ">They are the front-end
+classes of Geant4 which interface with their respective<br>
+graphical user interfaces, GAG (Geant4 Adaptive GUI) and Gain (Geant4 adaptive<br>
+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.<br>
+<br>
+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.<br>
+<br>
+&nbsp; GAG is a Graphical User&nbsp; 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 <i>G4UIGAG </i>must be instantiated to communicate
+with GAG. This runs on Linux and Windows 2000.</div>
+  
+<div style="margin-left: 36pt; ">&nbsp;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.</div>
+  
+<p><br>
+&nbsp;&nbsp;&nbsp;&nbsp; GAG has following functions. </p>
+<div class="MsoNormal" style="margin-left: 72pt; text-indent: -18pt; "> 
+<ul>
+  <li> GAG Menu:&nbsp;&nbsp;<b>&nbsp;&nbsp; </b>The menus are to choose and
+run a GEANT4 executable file, to kill or exit&nbsp; a&nbsp; 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.</li>
+  
+  <li> GEANT4 Command tree:&nbsp;<b>&nbsp;&nbsp;&nbsp;&nbsp; </b>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 .&nbsp; 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.</li>
+  
+  <li> Command Parameter panel:<b> </b>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&nbsp; 
+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.</li>
+  
+  <li> Logging:<b> </b>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.</li>
+ 
+</ul>
+ </div>
+  
+<div class="MsoNormal" style="text-align: center; "> 
+<center> 
+<hr size="2" width="100%" align="Center"></center>
+ </div>
+  <a name="2.8.3"> 
+<h2>2.8.3 Building the Interface Libraries</h2>
+</a> 
+<p> &nbsp; The libraries that don't depend on external packages are made
+by default. They include <i>G4UIterminal</i>, <i>G4UItcsh</i> and <i>G4UIGAG</i>
+ in libraries <i>libG4UIbasic.a/so </i>and <i>libG4UIGAG.a/so</i>. &nbsp;<i>
+G4UIGainServer.o</i> is packed in the <i>libG4UIGAG</i>.<br>
+&nbsp; To make the libraries of <i>G4UIXm</i>, <i>G4UIXaw</i>, <i>G4UIQt</i> and <i>G4UIWin32</i>
+, respective environment variables <b>G4UI_BUILD_XM_SESSION</b> , <b>G4UI_BUILD_XAW_SESSION</b>, <b>G4UI_BUILD_QT_SESSION</b> or <b>G4UI_BUILD_WIN32_SESSION</b> must be set explicitly. </p>
+<p>&nbsp; However, if the environment variable <b>G4UI_NONE</b> is set, no
+interface libraries are built at all. </p>
+<p>&nbsp;&nbsp; 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&nbsp; "$G4INSTALL/config/interactivity.gmk". 
+</p>
+<div class="MsoNormal" style="text-align: center; "> 
+<center> 
+<hr size="2" width="100%" align="Center"></center>
+ </div>
+  <a name="2.8.4"> 
+<h2>2.8.4 How to Use the Interface</h2>
+</a> 
+<p> </p>
+<div class="MsoNormal">&nbsp;To use a given interface (<tt>G4UIxxx</tt> where&nbsp;
+<tt>xxx = terminal,Xm, Xaw, Qt, Win32, GAG, GainServer</tt>) in a user's program,
+he has the following lines in his main program;</div>
+  
+<ul type="Disc">
+ 
+  <li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+     mso-list:l0 level1 lfo9;tab-stops:list 36.0pt">
+ // to include the class definition in his main&nbsp; program:</li>
+  
+  <li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+     mso-list:l0 level1 lfo9;tab-stops:list 36.0pt">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #include 
+"G4Uixxx.hh"</li>
+  
+  <li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+     mso-list:l0 level1 lfo9;tab-stops:list 36.0pt">
+ // to instantiate a session of his choice and start the session</li>
+  
+  <li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+     mso-list:l0 level1 lfo9;tab-stops:list 36.0pt">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4UIsession* 
+session = new G4UIxxx;</li>
+  
+  <li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+     mso-list:l0 level1 lfo9;tab-stops:list 36.0pt">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; session-&gt;SessionStart();</li>
+  
+  <li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+     mso-list:l0 level1 lfo9;tab-stops:list 36.0pt">
+ / /the line next to the "SessionStart" is usually to finish the session</li>
+  
+  <li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+     mso-list:l0 level1 lfo9;tab-stops:list 36.0pt">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delete 
+session;</li>
+ 
+</ul>
+  
+<div style="margin-left: 36pt; text-indent: -18pt; ">&nbsp;For a tcsh session, 
+the second line must be :</div>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4UIsession* 
+session = new G4UIterminal(new G4UItcsh);  
+<p style="tab-stops:list 36.0pt">See the examples in&nbsp; "examples/novice/N0x" 
+in which the terminal session is used.  </p>
+<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+tab-stops:list 36.0pt">
+Again, environment variable selects a given interface. But for your convenience, 
+some of them are set defaults. </p>
+<ul>
+ 
+  <li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">
+ <i>G4UIterminal</i>, <i>G4UItcsh</i>, <i>G4UIGAG </i>and <i>G4UIGainServer</i>
+ 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., <b>G4UI_USE_TERMINAL</b>, <b>G4UI_USE_TCSH</b> and <b>G4UI_USE_GAG</b>
+) are set. However, if he/she sets no environment variables, then the C-pre-processor 
+variable <b>G4UI_USE_TERMINAL</b> is set by default, although there is no
+need to use it.</li>
+  
+  <li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">
+ The environment variable <b>G4UI_USE_XM</b>, <b>G4UI_USE_XAW</b>, <b>G4UI_USE_QT</b> or <b>G4UI_USE_WIN32</b>
+ must be set to use the respective interface. The file
+"$G4INSTALL/config/interactivity.gmk" resolves their dependencies on external
+packages.</li>
+  
+  <li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">
+ If the environment variable <b>G4UI_NONE</b> is set, no externa ibraries 
+are selected. Also, for your convenience, if any <b>G4UI_USE_XXX</b> environment 
+variable is set, then the corresponding C-pre-processor flag is also set. 
+However, if the environment variable <b>G4UI_NONE</b> is set, no C-pre-processor 
+flags are set.</li>
+ 
+</ul>
+  <a href="../../../../Authors/html/subjectsToAuthors.html"> <i>About the
+authors</i></a>  
+</body>
+</html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/graphicalUserInterface.src/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/graphicalUserInterface.src/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/graphicalUserInterface.src/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/img1.gif/1.1/Tue Sep 29 13:42:01 1998/-kb/
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/graphicalUserInterface.src/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/graphicalUserInterface.src/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/graphicalUserInterface.src/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/graphicalUserInterface.src
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/graphicalUserInterface.src/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/graphicalUserInterface.src/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/graphicalUserInterface.src/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/index.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/index.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/index.html	(revision 1208)
@@ -0,0 +1,138 @@
+<!-- Proof read by: Joe Chuma, 16-Jun-1999 -->
+
+<HTML>
+<HEAD>
+   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+</HEAD>
+<TITLE>ADG: Getting Started</TITLE>
+<BODY>
+<BR>
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+
+
+</A>
+<A HREF="../index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59>
+</A>
+<A HREF="../Introduction/introduction.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59>
+<A HREF="../Fundamentals/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></A>
+</TD>
+
+<TD></TD>
+<TD ALIGN=RIGHT><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Documents</B>
+<BR>
+
+<B>Geant4 User's Guide</B>
+<BR>
+
+<B>For Application Developers</B>
+<BR>
+
+</FONT></FONT>
+</TD>
+</TR>
+</TABLE>
+<P>
+<BR>
+
+<CENTER><B><FONT COLOR="#238E23"><FONT SIZE=+4>
+</FONT></FONT></B>
+</CENTER>
+
+<CENTER><B><FONT COLOR="#238E23"><FONT SIZE=+2>
+<B>2. Getting Started with Geant4 - Running a Simple Example</B>
+</FONT></FONT></B>
+</CENTER>
+<P>
+<BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<p>
+
+<B>
+   <OL>
+   <LI><A HREF="mainProgram.html">How to Define the main() Program</A></LI>
+     <ol>
+       <li><a href="mainProgram.html#2.1.1">A Sample main() Method</A></LI>
+       <li><a href="mainProgram.html#2.1.2">G4RunManager</A></LI>
+       <li><a href="mainProgram.html#2.1.3">User Initialization and Action Classes</A></LI>
+       <li><a href="mainProgram.html#2.1.4">G4UImanager and UI Command Submission</A></LI>
+       <li><a href="mainProgram.html#2.1.5">G4cout and G4cerr</A></LI>
+     </ol>
+   <LI><A HREF="geometryDef.html">How to Define a Detector Geometry</A></LI>
+     <ol>
+       <li><a href="geometryDef.html#2.2.1">Basic Concepts</A></LI>
+       <li><a href="geometryDef.html#2.2.2">Create a Simple Volume</A></LI>
+       <li><a href="geometryDef.html#2.2.3">Choose a Solid</A></LI>
+       <li><a href="geometryDef.html#2.2.4">Create a Logical Volume</A></LI>
+       <li><a href="geometryDef.html#2.2.5">Place a Volume</A></LI>
+       <li><a href="geometryDef.html#2.2.6">Create a Physical Volume</A></LI>
+       <li><a href="geometryDef.html#2.2.7">Coordinate Systems and Rotations</A></LI>
+     </ol>
+   <LI><A HREF="materialDef.html">How to Specify Materials in the Detector</A></LI>
+     <ol>
+       <li><a href="materialDef.html#2.3.1">General Considerations</A></LI>
+       <li><a href="materialDef.html#2.3.2">Define a Simple material</A></LI>
+       <li><a href="materialDef.html#2.3.3">Define a Molecule</A></LI>
+       <li><a href="materialDef.html#2.3.4">Define a Mixture by Fractional Mass</A></LI>
+       <li><a href="materialDef.html#2.3.5">Print Material Information</A></LI>
+     </ol>
+   <LI><A HREF="particleDef.html">How to Specify Particles</A></LI>
+     <ol>
+       <li><a href="particleDef.html#2.4.1">Particle Definition</A></LI>
+       <li><a href="particleDef.html#2.4.2">Range Cuts</A></LI>
+     </ol>
+   <LI><A HREF="physicsDef.html">How to Specify Physics Processes</A></LI>
+     <ol>
+       <li><a href="physicsDef.html#2.5.1">Physics Processes</A></LI>
+       <li><a href="physicsDef.html#2.5.2">Managing Processes</A></LI>
+       <li><a href="physicsDef.html#2.5.3">Specifying Physics Processes</A></LI>
+     </ol>
+   <LI><A HREF="eventDef.html">How to Generate a Primary Event</A></LI>
+     <ol>
+       <li><a href="eventDef.html#2.6.1">Generating Primary Events</A></LI>
+       <li><a href="eventDef.html#2.6.2">G4VPrimaryGenerator</A></LI>
+     </ol>
+   <LI><A HREF="makeFile.html">How to Make an Executable Program</A></LI>
+     <ol>
+       <li><a href="makeFile.html#2.7.1">Building ExampleN01 in a UNIX environment</A></LI>
+       <li><a href="makeFile.html#2.7.2">Building ExampleN01 in a Windows Environment</A></LI>
+     </ol>
+   <LI><A HREF="graphicalUserInterface.html">How to Set Up an Interactive Session</A></LI>
+     <ol>
+       <li><a href="graphicalUserInterface.html#2.8.1">Introduction</A></LI>
+       <li><a href="graphicalUserInterface.html#2.8.2">A Short Description of Available Interface Classes</A></LI>
+       <li><a href="graphicalUserInterface.html#2.8.3">Building the Interface Libraries</A></LI>
+       <li><a href="graphicalUserInterface.html#2.8.4">How to Use the Interface</A></LI>
+     </ol>
+   <li><a href="executeProgram.html">How to Execute a Program</a></li>
+     <ol>
+       <li><a href="executeProgram.html#2.9.1">Introduction</a></li>
+       <li><a href="executeProgram.html#2.9.2">'Hard-coded' Batch Mode</a></li>
+       <li><a href="executeProgram.html#2.9.3">Batch Mode with Macro File</a></li>
+       <li><a href="executeProgram.html#2.9.4">Interactive Mode Driven by Command Lines</a></li>
+       <li><a href="executeProgram.html#2.9.5">General Case</a></li>
+     </ol>
+   <li><a href="visualization.html">How to Visualize the Detector and Events</a></li>
+     <ol>
+       <li><a href="visualization.html#2.10.1">Introduction</a></li>
+       <li><a href="visualization.html#2.10.2">Visualization Drivers</a></li>
+       <li><a href="visualization.html#2.10.3">How to Incorporate Visualization Drivers into an Executable</a></li>
+       <li><a href="visualization.html#2.10.4">Writing the main() Method to Include Visualization</a></li>
+       <li><a href="visualization.html#2.10.5">Sample Visualization Sessions</a></li>
+       <li><a href="visualization.html#2.10.6">More Information on Geant4 Visualization</a></li>
+     </ol>
+   </ol>
+</B>
+<P>
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</A></I>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/mainProgram.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/mainProgram.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/mainProgram.html	(revision 1208)
@@ -0,0 +1,350 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako,  4-Aug-1998 -->
+<!-- Changed by: Dennis Wright, 29-Nov-2001 -->
+<!-- Proof read by: Joe Chuma,  14-Jun-1999 -->
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+
+
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<IMG SRC="../../../../resources/html/IconsGIF/PreviousGR.gif" ALT="Previous">
+<A HREF="geometryDef.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>For Application Developers</B>
+<BR>
+<B>Getting Started with Geant4</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>2.1 How to Define the main() Program</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<p>
+
+<a name="2.1.1">
+<H2>2.1.1 A Sample <tt>main()</tt> Method</H2></a>
+
+ The contents of <tt>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>main()</tt> 
+ method, but a sample is provided here as a guide to the beginning
+ user.  Source listing 2.1.1 is the simplest example of <tt>main()</tt> 
+ required to build a simulation program.
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+#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->SetUserInitialization(new ExN01DetectorConstruction);
+  runManager->SetUserInitialization(new ExN01PhysicsList);
+
+  // set mandatory user action class
+  runManager->SetUserAction(new ExN01PrimaryGeneratorAction);
+
+  // initialize G4 kernel
+  runManager->initialize();
+
+  // get the pointer to the UI manager and set verbosities
+  G4UImanager* UI = G4UImanager::GetUIpointer();
+  UI->ApplyCommand("/run/verbose 1");
+  UI->ApplyCommand("/event/verbose 1");
+  UI->ApplyCommand("/tracking/verbose 1");
+
+  // start a run
+  int numberOfEvent = 3;
+  runManager->BeamOn(numberOfEvent);
+
+  // job termination
+  delete runManager;
+  return 0;
+}
+</PRE>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 2.1.1<BR>
+</td>
+</tr>
+</table></center>
+<p>
+ The <tt>main()</tt> method is implemented by two toolkit classes,
+ <i>G4RunManager</i> and <i>G4UImanager</i>, and three classes, 
+ <i>ExN01DetectorConstruction</i>, <i>ExN01PhysicsList</i> and
+ <i>ExN01PrimaryGeneratorAction</i>, which are derived from toolkit 
+ classes.  Each of these are explained in the following sections.
+
+<HR>
+<a name="2.1.2">
+<H2>2.1.2 <i>G4RunManager</i></H2></a>
+
+ The first thing <tt>main()</tt> must do is create an instance of 
+ the <i>G4RunManager</i> class.  This is the only manager class in the Geant4
+ kernel which should be explicitly constructed in the user's 
+ <tt>main()</tt>.  It controls the flow of the program and manages the event
+ loop(s) within a run.  When <i>G4RunManager</i> is created, the other major
+ manager classes are also created.  They are deleted automatically when
+ <i>G4RunManager</i> 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
+ <OL>
+  <LI>how the detector should be constructed,
+  <LI>all the particles and all the physics processes to be simulated,
+  <LI>how the primary particle(s) in an event should be produced and
+  <LI>any additional requirements of the simulation.
+ </OL>
+ <p>
+ In the sample <tt>main()</tt> the lines
+ <pre>
+       runManager->SetUserInitialization(new ExN01DetectorConstruction);
+       runManager->SetUserInitialization(new ExN01PhysicsList);
+ </pre>
+ create objects which specify the detector geometry and physics processes, 
+ respectively, and pass their pointers to the run manager.
+ <i>ExN01DetectorConstruction</i> is an example of a user initialization
+ class which is derived from <i>G4VUserDetectorConstruction</i>.  This is 
+ where the user describes the entire detector setup, including
+ <UL>
+  <LI>its geometry,
+  <LI>the materials used in its construction,
+  <LI>a definition of its sensitive regions and
+  <LI>the readout schemes of the sensitive regions.
+ </UL>
+ 
+ Similarly <i>ExN01PhysicsList</i> is derived from <i>G4VUserPhysicsList</i>
+ and requires the user to define 
+ <UL>
+  <LI>the particles to be used in the simulation,
+  <LI>the range cuts for these particles and 
+  <LI>all the physics processes to be simulated.
+ </UL>
+
+ The next instruction in <tt>main()</tt>
+ <pre>
+       runManager->SetUserAction(new ExN01PrimaryGeneratorAction);
+ </pre>
+ creates an instance of a particle generator and passes its pointer to the 
+ run manager.  
+
+ <i>ExN01PrimaryGeneratorAction</i> is an example of a user action class 
+ which is derived from <i>G4VUserPrimaryGeneratorAction</i>.  In this class 
+ the user must describe the initial state of the primary event.  This class 
+ has a public virtual method named <tt>generatePrimaries()</tt> which will 
+ be invoked at the beginning of each event.  Details will be given in 
+ <a href="eventDef.html">Section 2.6</a>.  Note that Geant4 does not provide 
+ any default behavior for generating a primary event.
+ <p>
+ The next instruction
+ <pre>
+       runManager->initialize();
+ </pre>
+ performs the detector construction, creates the physics processes, calculates
+ cross sections and otherwise sets up the run.  The final run manager method 
+ in <tt>main()</tt>
+ <pre>
+       int numberOfEvent = 3;
+       runManager->beamOn(numberOfEvent);
+ </pre>
+ begins a run of three sequentially processed events.  The <tt>beamOn()</tt>
+ method may be invoked any number of times within <tt>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="../Fundamentals/run.html#3.4.4">Section 3.4.4</a>.  More information
+ on <i>G4RunManager</i> in general is found in 
+ <a href="../Fundamentals/run.html">Section 3.4</a>.  
+ <p>
+ As mentioned above, other manager classes are created when the run manager 
+ is created.  One of these is the user interface manager, <i>G4UImanager</i>.
+ In <tt>main()</tt> a pointer to the interface manager must be obtained 
+ <pre>
+      G4UImanager* UI = G4UImanager::getUIpointer();
+ </pre>
+ in order for the user to issue commands to the program.  In the present
+ example the <tt>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="../Control/commands.html">Section 7.1</a>.
+
+<HR>
+<a name="2.1.3">
+<H2>2.1.3 User Initialization and Action Classes</H2></a>
+
+<B>Mandatory User Classes</B>
+<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:
+ <i>G4VUserDetectorConstruction</i>, <i>G4VuserPhysicsList</i></h4> and 
+ <i>G4VuserPrimaryGeneratorAction</i>.  Geant4 does not provide default 
+ behavior for these classes.  <i>G4RunManager</i> checks for the existence 
+ of these mandatory classes when the <tt>initialize()</tt> and 
+ <tt>BeamOn()</tt> methods are invoked.</P> 
+<P>
+ As mentioned in the previous section, <i>G4VUserDetectorConstruction</i>
+ requires the user to define the detector and <i>G4VUserPhysicsList</i>
+ requires the user to define the physics.  Detector definition will be 
+ discussed in Sections <a href="geometryDef.html">2.2</a> and 
+ <a href="materialDef.html">2.3</a>.  Physics definition will be discussed
+ in Sections <a href="particleDef.html">2.4</a> and 
+ <a href="physicsDef.html">2.5</a>.  The user action class
+ <i>G4VuserPrimaryGeneratorAction</i> requires that the initial event
+ state be defined.  Primary event generation will be discussed in
+ <a href="eventDef.html">Section 2.6</a>.
+<p>
+
+<B>Optional User Action Classes</B>
+<p>
+ Geant4 provides five user hook classes:
+<UL>
+ <LI><i>G4UserRunAction</i>
+ <LI><i>G4UserEventAction</i>
+ <LI><i>G4UserStackingAction</i>
+ <LI><i>G4UserTrackingAction</i>
+ <LI><i>G4UserSteppingAction</i>
+</UL>
+<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="../UserActions/index.html">Section 6</a>.
+
+<HR>
+<a name="2.1.4">
+<H2>2.1.4. <i>G4UImanager</i> and UI Command Submission</H2></a>
+
+ Geant4 provides a category named <b>intercoms</b>. <i>G4UImanager</i> 
+ is the manager class of this category. Using the functionalities of this 
+ category, you can invoke <b>set</b> methods of class objects of which you 
+ do not know the pointer. In Source listing 2.1.1, the verbosities of various
+ Geant4 manager classes are set. Detailed mechanism description and usage of
+ <b>intercoms</b> will be given in the next chapter, with a list of available
+ commands. Command submission can be done all through the application.
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+#include "G4RunManager.hh"
+#include "G4UImanager.hh"
+<font color="#0000ff">#include "G4UIterminal.hh"</font>
+#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->SetUserInitialization(detector);
+  runManager->SetUserInitialization(new N02PhysicsList);
+  
+  // visualization manager
+  G4VisManager* visManager = new G4VisExecutive;
+  visManager->initialize();
+    
+  // set user action classes
+  runManager->SetUserAction(new N02PrimaryGeneratorAction(detector));
+  runManager->SetUserAction(new N02RunAction);
+  runManager->SetUserAction(new N02EventAction);
+  runManager->SetUserAction(new N02SteppingAction);
+    
+  // get the pointer to the User Interface manager
+  G4UImanager* UI = G4UImanager::GetUIpointer();
+
+<font color="#0000ff">  if(argc==1)
+  // Define (G)UI terminal for interactive mode
+  {
+    G4UIsession * session = new G4UIterminal;
+    UI->ApplyCommand("/control/execute prerun.g4mac");
+    session->sessionStart();
+    delete session;
+  }
+  else
+  // Batch mode
+  {
+    G4String command = "/control/execute ";
+    G4String fileName = argv[1];
+    UI->ApplyCommand(command+fileName);
+  }</font>
+
+  // job termination
+  delete visManager;
+  delete runManager;
+
+  return 0;
+}
+</pre>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source list 2.1.2<br>
+ An example of <tt>main()</tt> using interactive 
+ terminal and visualization. Code modified from 2.1.1. are shown in blue.
+</td>
+</tr>
+</table></center>
+<p>
+
+<HR>
+<a name="2.1.5">
+<H2>2.1.5 <i>G4cout</i> and <i>G4cerr</i></H2></a>
+
+Although not yet included in the above examples, output streams will be
+needed.  <i>G4cout</i> and <i>G4cerr</i> are <b>iostream</b> objects defined 
+by Geant4.  The usage of these objects is exactly the same as the ordinary 
+<i>cout</i> and <i>cerr</i>, except that the output streams will be handled by 
+<i>G4UImanager</i>.  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="../Control/userInterfaceCommand.html#7.2.4">Section 7.2.4</a>.  
+These objects should be used instead of the ordinary <i>cout</i> and 
+<i>cerr</i>.
+<P>
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/makeFile.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/makeFile.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/makeFile.html	(revision 1208)
@@ -0,0 +1,128 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako, 16-Nov-1998 -->
+<!-- Changed by: Dennis Wright, 28-Nov-2001 -->
+<!-- Proof read by: Joe Chuma,  16-Jun-1999 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+
+
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="eventDef.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A HREF="graphicalUserInterface.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>For Application Developers</B>
+<BR>
+<B>Getting Started with Geant4</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>2.7 How to Make an Executable Program</B>
+</FONT>
+<BR><br>
+
+<HR ALIGN="Center" SIZE="7%">
+<p>
+
+<a name="2.7.1">
+<H2>2.7.1 Building ExampleN01 in a UNIX Environment</H2></a>
+
+ The code for the user examples in Geant4 is placed in the 
+ directory <TT>$G4INSTALL/examples</TT>, where <TT>$G4INSTALL</TT> 
+ is the environment variable set to the place where the Geant4 distribution
+ is installed (set by default to <TT>$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>
+
+<H4>2.7.1.1 How GNUmake works in Geant4</H4>
+
+ The GNUmake process in Geant4 is mainly controlled by the following
+ GNUmake script files<br>
+ (<TT>*.gmk</TT> scripts are placed in <TT>$G4INSTALL/config</TT>):
+<table>
+<tr>
+<td valign=top><TT>architecture.gmk</TT>
+<td>invoking and defining all the architecture specific settings and paths
+ which are stored in <TT>$G4INSTALL/config/sys<TT>.
+<tr>
+<td valign=top><TT>common.gmk</TT>
+<td>defining all general GNUmake rules for building objects and libraries
+<tr>
+<td valign=top><TT>globlib.gmk</TT>
+<td>defining all general GNUmake rules for building compound libraries
+<tr>
+<td valign=top><TT>binmake.gmk</TT>
+<td>defining the general GNUmake rules for building executables
+<tr>
+<td valign=top><tt>GNUmakefile</tt>
+<td>placed inside each directory in the Geant4 distribution and defining
+ directives specific to build a library, a set of sub-libraries, or an executable.
+</table>
+<p>
+ Kernel libraries are placed by default in <TT>$G4INSTALL/lib/$G4SYSTEM</TT>,
+ where <TT>$G4SYSTEM</TT> specifies the system architecture and compiler in
+ use. Executable binaries are placed in <TT>$G4WORKDIR/bin/$G4SYSTEM</TT>, 
+ and temporary files (object-files and data products of the compilation
+ process) in <TT>$G4WORKDIR/tmp/$G4SYSTEM</TT>.
+ <TT>$G4WORKDIR</TT> (set by default to <TT>$G4INSTALL</TT>) should be 
+ set by the user to specify the place his/her own workdir for Geant4 in 
+ the user area.
+<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>
+
+<H4>2.7.1.2 Building the executable</H4>
+
+ The compilation process to build an executable, such as an example from
+ <TT>$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>$G4WORKDIR</TT> area, you 
+ should copy the module <TT>$G4INSTALL/examples</TT> to your 
+ <TT>$G4WORKDIR</TT> and do the following actions:
+<PRE>
+  > cd $G4WORKDIR/examples/novice/N01
+  > gmake
+</PRE>
+ This will create, in <TT>$G4WORKDIR/bin/$G4SYSTEM</TT>, the "exampleN01"
+ executable, which you can invoke and run. You should actually add
+ <TT>$G4WORKDIR/bin/$G4SYSTEM</TT> to <TT>$PATH</TT> in your environment.
+<P>
+
+<HR>
+<a name="2.7.2">
+<H2>2.7.2 Building ExampleN01 in a Windows Environment</H2></a>
+
+ 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>
+<H4>2.7.2.1 Building the executable</H4>
+
+ See paragraph 2.7.1.
+<p>
+
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/materialDef.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/materialDef.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/materialDef.html	(revision 1208)
@@ -0,0 +1,238 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako,  4-Aug-1998 -->
+<!-- Changed by: Dennis Wright, 28-Nov-2001 -->
+<!-- Proof read by: Joe Chuma,  15-Jun-1999 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+
+
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="geometryDef.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous">
+<A HREF="particleDef.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>For Application Developers</B>
+<BR>
+<B>Getting Started with Geant4</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>2.3 How to Specify Materials in the Detector</B>
+</FONT>
+<P><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<p>
+
+<a name="2.3.1">
+<H2>2.3.1 General Considerations</H2></a>
+
+ 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>
+ The <i>G4Element</i> class describes the properties of the atoms:
+<ul>
+ <li>atomic number,
+ <li>number of nucleons,
+ <li>atomic mass,
+ <li>shell energy, 
+ <li>as well as quantities such as cross sections per atom, etc.
+</ul>
+<P>
+ The <i>G4Material</i> class describes the macroscopic properties of matter:
+<ul>
+ <li>density,
+ <li>state,
+ <li>temperature,
+ <li>pressure,
+ <li>as well as macroscopic quantities like radiation length, mean free path, dE/dx, etc.
+</ul>
+<P>
+ The <i>G4Material</i> 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>
+
+<HR>
+<a name="2.3.2">
+<H2>2.3.2 Define a Simple Material</H2></a>
+
+ In the example below, liquid argon is created, by specifying its name,
+ density, mass per mole, and atomic number.
+<P>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+  G4double density = 1.390*g/cm3;
+  G4double a = 39.95*g/mole;
+  G4Material* lAr = new G4Material(name="liquidArgon", z=18., a, density);
+</PRE>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 2.3.1<BR>
+ Creating liquid argon.
+</td>
+</tr>
+</table></center>
+<p>
+ The pointer to the material, <i>lAr</i>, will be used to specify the matter of which
+ a given logical volume is made:
+<P>
+<PRE>
+  G4LogicalVolume* myLbox = new G4LogicalVolume(aBox,lAr,"Lbox",0,0,0);
+</PRE>
+<P>
+
+<HR>
+<a name="2.3.3">
+<H2>2.3.3 Define a Molecule</H2></a>
+
+ In the example below, the water, <i>H2O</i>, is built from its components,
+ by specifying the number of atoms in the molecule.
+<P>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+  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->AddElement(elH, natoms=2);
+  H2O->AddElement(elO, natoms=1);
+</PRE>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 2.3.2<BR>
+ Creating water by defining its molecular components.
+</td>
+</tr>
+</table></center>
+<P>
+
+<HR>
+<a name+"2.3.4">
+<H2>2.3.4 Define a Mixture by Fractional Mass</H2></a>
+
+ In the example below, air is built from nitrogen and oxygen, by giving the
+ fractional mass of each component.
+<P>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+  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->AddElement(elN, fractionmass=70*perCent);
+  Air->AddElement(elO, fractionmass=30*perCent);
+</PRE>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 2.3.3<BR>
+ Creating air by defining the fractional mass of its components.
+</td>
+</tr>
+</table></center>
+<P>
+
+<HR>
+<a name+"2.3.5">
+<H2>2.3.5 Define a Material from the Geant4 Material Database</H2></a>
+
+ In the example below, air and water are accessed via the Geant4 material database.
+<P>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+
+  G4NistManager* man = G4NistManager::Instance();
+
+  G4Material* H2O  = man->FindOrBuildMaterial("G4_WATER");
+  G4Material* Air  = man->FindOrBuildMaterial("G4_AIR");
+
+</PRE>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 2.3.4<BR>
+ Defining air and water from the internal Geant4 database.
+</td>
+</tr>
+</table></center>
+<P>
+
+<HR>
+<a name="2.3.6">
+<H2>2.3.6 Print Material Information</H2></a>
+
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+  G4cout << H2O;                                \\ print a given material
+  G4cout << *(G4Material::GetMaterialTable());  \\ print the list of materials
+</PRE>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 2.3.5<BR>
+ Printing information about materials.
+</td>
+</tr>
+</table></center>
+<P>
+ In <tt>examples/novice/N03/N03DetectorConstruction.cc</tt>, you will 
+ find examples of all possible ways to build a material.
+<P>
+
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/particleDef.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/particleDef.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/particleDef.html	(revision 1208)
@@ -0,0 +1,353 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- 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 -->
+<!-- Changed by: Hisaya Kurashige, 18-Jan-2007 -->
+
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+
+
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="materialDef.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A HREF="physicsDef.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>For Application Developers</B>
+<BR>
+<B>Getting Started with Geant4</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>2.4 How to Specify Particles</B>
+</FONT>
+<P><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+ <tt>G4VuserPhysicsList</tt> is one of the mandatory user base classes 
+described in <a href="mainProgram.html">Section 2.1</a> .  Within this class
+all particles and physics processes to be used in your simulation must be 
+defined.  The range cut-off parameter should also be defined in this class.
+<P>
+ The user must create a class derived from <tt>G4VuserPhysicsList</tt> and 
+implement the following pure virtual methods:
+<table>
+<tr>
+<td><TT>ConstructParticle()</TT>: 
+<td>construction of particles
+<tr>
+<td><TT>ConstructProcess()</TT>:
+<td>construct processes and register them to particles
+<tr>
+<td><TT>SetCuts()</TT>:
+<td>setting a range cut value for all particles
+</table>
+<p>
+ This section provides some simple examples of the 
+<tt>ConstructParticle()</tt> and <tt>SetCuts()</tt> methods.
+For infomation on <tt>ConstructProcess()</tt> methods, please see
+ <a href="physicsDef.html">Section 2.5</a>.
+<P>  
+<HR>
+<a name="2.4.1">
+<H2>2.4.1 Particle Definition</H2></a>
+
+ Geant4 provides various types of particles for use in simulations:
+<UL>
+ <LI>ordinary particles, such as electrons, protons, and gammas
+ <LI>resonant particles with very short lifetimes,
+     such as vector mesons and delta baryons
+ <LI>nuclei, such as deuterons, alphas, and heavy ions 
+ <LI>quarks, di-quarks, and gluons
+</UL>
+<p>
+Each particle is represented by its own class, which is derived from 
+<tt>G4ParticleDefinition</tt>.  Particles are organized into six major 
+categories:
+<ul>
+ <li>lepton,
+ <li>meson,
+ <li>baryon,
+ <li>boson,
+ <li>shortlived and 
+ <li>ion,
+</ul>
+each of which is defined in a corresponding sub-directory under
+ <TT>geant4/source/particles</TT>. There is also a corresponding granular
+ library for each particle category.
+</p>
+
+<H4>2.4.1.1 The <tt>G4ParticleDefinition</tt> Class </H4>
+
+ <tt>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 by users without rebuilding 
+the libraries.
+
+<H4>2.4.1.2 How to Access a Particle</H4>
+<P>
+Each particle class type represents an individual particle type, and each 
+class has a single static object.  There are some exceptions to this rule;
+please see <a href="../TrackingAndPhysics/particle.html">Section 5.3</a> for 
+details.
+<P>
+For example, the class <tt>G4Electron</tt> represents the electron and its
+only object is <TT>G4Electron::theElectron</TT>. The object is therefore 
+referred to as a "singleton" of the <i>G4Electron</i> class.  The pointer to 
+this object is available through the static method 
+ <TT>G4Electron::ElectronDefinition()</TT>.
+<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>
+Because particles are static objects of individual particle classes, these 
+objects are instantiated automatically before the <tt>main()</tt> routine is 
+executed.  However, you must explicitly declare the particle classes required
+by your program, otherwise the compiler can not recognize which classes you 
+need, and no particles will be instantiated.
+<P>
+
+<H4>2.4.1.3 Dictionary of Particles</H4>
+ The <tt>G4ParticleTable</tt> class is provided as a dictionary of particles.
+ Various utility methods are provided, such as:
+<center><table>
+<tr>
+<td><tt>FindParticle(G4String name)</tt>:
+<td>find the particle by name
+<tr>
+<td><tt>FindParticle(G4int PDGencoding)</tt>:
+<td>find the particle by PDG encoding .
+</table></center>
+<p>
+<tt>G4ParticleTable</tt> is also defined as a singleton object, and the
+static method <TT>G4ParticleTable::GetParticleTable()</TT> provides its 
+pointer.
+<P>
+ Particles are registered automatically during construction. The user has no
+control over particle registration.
+<p>
+
+<H4>2.4.1.4 Constructing Particles</H4>
+<P>
+<TT>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 will be created.  
+
+<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>
+
+ 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>ConstructParticle()</TT> method is implemented as below:
+
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+ void ExN01PhysicsList::ConstructParticle()
+ {
+   G4Proton::ProtonDefinition();
+   G4Geantino::GeantinoDefinition();
+ }
+</PRE>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 2.4.1<BR>
+ Construct a proton and a geantino.
+</td>
+</tr>
+</table></center>
+<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:
+<UL>
+ <LI><tt>G4BosonConstructor</tt>
+ <LI><tt>G4LeptonConstructor</tt>
+ <LI><tt>G4MesonConstructor</tt>
+ <LI><tt>G4BarionConstructor</tt> 
+ <LI><tt>G4IonConstructor</tt> 
+ <LI><tt>G4ShortlivedConstructor</tt> .
+</UL>
+<P>
+ An example of this is shown in <tt>ExN05PhysicsList</tt>, listed below.
+<P>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+void ExN05PhysicsList::ConstructLeptons()
+{
+  // Construct all leptons
+  G4LeptonConstructor pConstructor;
+  pConstructor.ConstructParticle();
+}
+</PRE>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 2.4.2<BR>
+ Construct all leptons.
+</td>
+</tr>
+</table></center>
+<P>
+
+<HR>
+<a name="2.4.2">
+<H2>2.4.2 Range Cuts</H2></a>
+
+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>SetCuts()</tt> method of <tt>G4VUserPhysicsList</tt>. 
+<a href="../TrackingAndPhysics/thresholdVScut.html">Section 5.4</a> discusses
+threshold and tracking cuts in detail.
+</P>
+
+<H4>2.4.2.1 Setting the cuts</H4>
+
+Production threshold values should be defined in <TT>SetCuts()</TT> which is a 
+pure virtual method of the <tt>G4VUserPhysicsList</tt> class.  
+Construction of particles, materials, and processes should precede the 
+invocation of <TT>SetCuts()</TT>.  <tt>G4RunManager</tt> takes care of this 
+sequence in usual applications.
+
+<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>
+In such a case, the <TT>SetCutsWithDefault()</TT> method may be used.  It
+is provided by the <tt>G4VuserPhysicsList</tt> base class, which has a
+<tt>defaultCutValue</tt> member as the default range cut-off value.
+<TT>SetCutsWithDefault()</TT> uses this value.
+<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>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+void ExN04PhysicsList::SetCuts()
+{
+  //   the G4VUserPhysicsList::SetCutsWithDefault() method sets 
+  //   the default cut value for all particle types 
+  SetCutsWithDefault();   
+}
+</PRE>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 2.4.3<BR>
+ Set cut values by using the default cut value.
+</td>
+</tr>
+</table></center>
+<P>
+ The <tt>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>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+ExN04PhysicsList::ExN04PhysicsList():  G4VUserPhysicsList()
+{
+  // default cut value  (1.0mm) 
+  defaultCutValue = 1.0*mm;
+}
+</PRE>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 2.4.4<BR>
+ Set the default cut value.
+</td>
+</tr>
+</table></center>
+<P>
+The <TT>SetDefaultCutValue() </TT> method in <tt>G4VUserPhysicsList</tt> may
+also be used, and the "/run/setCut" command may be used to change
+the default cut value interactively.
+<P>
+WARNING: DO NOT change cut values inside the event loop. Cut values may 
+however be changed between runs.
+<P>
+ An example implementation of <TT>SetCuts()</TT> is shown below:
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+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>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 2.4.5<BR>
+ Example implementation of the <tt>SetCuts()</tt> method.
+</td>
+</tr>
+</table></center>
+<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="../TrackingAndPhysics/cutsPerRegion.html">Section 5.5</a>.
+<P> 
+
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
+
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/physicsDef.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/physicsDef.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/physicsDef.html	(revision 1208)
@@ -0,0 +1,217 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- 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 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+
+
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="particleDef.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A HREF="eventDef.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>For Application Developers</B>
+<BR>
+<B>Getting Started with Geant4</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>2.5 How to Specify Physics Processes</B>
+</FONT>
+<P><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<p>
+
+<a name="2.5.1">
+<H2>2.5.1 Physics Processes</H2></a>
+
+ Physics processes describe how particles interact with materials.  Geant4
+ provides seven major categories of processes:
+<ul>
+ <li>electromagnetic,
+ <li>hadronic,
+ <li>transportation,
+ <li>decay,
+ <li>optical,
+ <li>photolepton_hadron, and
+ <li>parameterisation.
+</ul>
+<P>
+ All physics processes are derived from the <I>G4VProcess</I> base class.
+ Its virtual methods 
+<ul>
+ <li><TT>AtRestDoIt</TT>,
+ <li><TT>AlongStepDoIt</TT>, and
+ <li><TT>PostStepDoIt</TT>
+</ul>
+ and the corresponding methods
+<ul>
+ <li><TT>AtRestGetPhysicalInteractionLength</TT>,
+ <li><TT>AlongStepGetPhysicalInteractionLength</TT>, and
+ <li><TT>PostStepGetPhysicalInteractionLength</TT>
+</ul>
+ 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="../TrackingAndPhysics/physicsProcess.html"> Section 5.2</a>.
+<P>
+ The following are specialized base classes to be used for simple processes:
+<table>
+<tr>
+<td><i>G4VAtRestProcess</i>
+<td>- processes with only <tt>AtRestDoIt</tt>
+<tr>
+<td><i>G4VContinuousProcess</i>
+<td>- processes with only <tt>AlongStepDoIt</tt>
+<tr>
+<td><i>G4VDiscreteProcess</i>
+<td>- processes with only <tt>PostStepDoIt</tt>
+</table>
+
+ Another 4 virtual classes, such as <I>G4VContinuousDiscreteProcess</I>,
+ are provided for complex processes.
+<P>
+
+<hr>
+<a name="2.5.2">
+<H2>2.5.2 Managing Processes</H2></a>
+
+The <I>G4ProcessManager</I> 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>DoIt</tt> method is valid for each 
+process in the list.  A <I>G4ProcessManager</I> object corresponds to each 
+particle and is attached to the <I>G4ParticleDefiniton</I> class.
+<P>
+In order to validate processes, they should be registered with the particle's
+<I>G4ProcessManager</I>.  Process ordering information is included by using 
+the <TT>AddProcess()</TT> and <TT>SetProcessOrdering()</TT> methods.  For 
+registration of simple processes, the <TT>AddAtRestProcess()</TT>, 
+<TT>AddContinuousProcess()</TT> and <TT>AddDiscreteProcess()</TT> methods may
+be used. 
+<P>
+<I>G4ProcessManager</I> is able to turn some processes on or off during a run 
+by using the <TT>ActivateProcess()</TT> and <TT>InActivateProcess()</TT> 
+methods.  These methods are valid only after process registration is complete,
+so they must not be used in the <i>PreInit</i> phase.
+<P>
+The <I>G4VUserPhysicsList</I> class creates and attaches
+<I>G4ProcessManager</I> objects to all particle classes defined in the 
+<TT>ConstructParticle()</TT> method.
+<P>
+<hr>
+<a name="2.5.3">
+<H2>2.5.3 Specifying Physics Processes</H2></a>
+
+<I>G4VUserPhysicsList</I> is the base class for a "mandatory user class" (see
+ <a href="mainProgram.html">Section 2.1</a>), in which all physics processes 
+and all particles required in a simulation must be registered.  The user must
+create a class derived from <I>G4VUserPhysicsList</I> and implement the pure 
+virtual method <TT>ConstructProcess()</TT>.
+<P>
+For example, if just the <i>G4Geantino</i> particle class is required, only
+the transportation process need be registered.  The 
+<TT>ConstructProcess()</TT> method would then be implemented as follows:
+<P>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+  void ExN01PhysicsList::ConstructProcess()
+  {
+    // Define transportation process
+    AddTransportation();
+  }
+</PRE>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 2.5.1<BR>
+ Register processes for a geantino.
+</td>
+</tr>
+</table></center>
+<P>
+Here, the <TT>AddTransportation()</TT> method is provided in the 
+<I>G4VUserPhysicsList</I> class to register the <I>G4Transportation</I> class
+with all particle classes.  The <I>G4Transportation</I> class (and/or related
+classes) describes the particle motion in space and time.  It is the 
+mandatory process for tracking particles. 
+<P>
+In the <TT>ConstructProcess()</TT> method, physics processes should be 
+created and registered with each particle's instance of 
+<I>G4ProcessManager</I>.
+<P>
+An example of process registration is given in the 
+<I>G4VUserPhysicsList</I>::<TT>AddTransportation()</TT> method.
+<P>
+ Registration in <I>G4ProcessManager</I> is a complex procedure for 
+ other processes and particles because the relations between processes are 
+ crucial for some processes.  Please see 
+<a href="../TrackingAndPhysics/physicsProcess.html"> Section 5.2</a> and the 
+example codes.
+<P>
+An example of electromagnetic process registration for photons is shown below:
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+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->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->AddDiscreteProcess(thePhotoElectricEffect);
+  pmanager->AddDiscreteProcess(theComptonScattering);
+  pmanager->AddDiscreteProcess(theGammaConversion);
+}
+</PRE>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 2.5.2<BR>
+ Register processes for a gamma.
+</td>
+</tr>
+</table></center>
+<p>
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/visualization.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/visualization.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/visualization.html	(revision 1208)
@@ -0,0 +1,424 @@
+<HTML>
+<TITLE>
+</TITLE>
+<HEAD>
+<!-- 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 -->
+
+</HEAD>
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+
+
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="executeProgram.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<IMG SRC="../../../../resources/html/IconsGIF/NextGR.gif" ALT="Next">
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>For Application Developers</B>
+<BR>
+<B>Getting Started with Geant4</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>2.10 How to Visualize the Detector and Events</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<p>
+
+<a name="2.10.1">
+<h2>2.10.1 Introduction</h2></a>
+
+This section briefly explains how to perform Geant4 Visualization.  The 
+description here is based on the sample program <tt>examples/novice/N03</tt>. 
+More details are given in 
+<a href="../Visualization/index.html">Section 8</a> "Visualization".  Example
+macro files can be found in 
+<tt>examples/novice/N03/visTutor/exN03VisX.mac</tt>. 
+<p>
+
+<hr>
+<a name="2.10.2">
+<H2>2.10.2 Visualization Drivers</H2></a>
+ The Geant4 visualization system was developed in response to a diverse set of requirements:
+  <OL>
+  <LI>Quick response to study geometries, trajectories and hits
+  <LI>High-quality output for publications
+  <LI>Flexible camera control to debug complex geometries
+  <LI>Tools to show volume overlap errors in detector geometries
+  <LI>Interactive picking to get more information on visualized objects
+ </OL>
+<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>
+ 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>
+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">http://geant4.kek.jp/GEANT4/vis</a>.
+<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>G4VIS_BUILD_OPENGLX_DRIVER</TT> to <TT>1</TT>
+in building (installing) Genat4 libraries, 
+and also set another environmental variable
+<TT>G4VIS_USE_OPENGLX </TT> to <TT>1</TT> in compiling your Geant4 executable.
+You may also have to set an environmental variable <TT>OGLHOME</TT> to the 
+OpenGL root directory.
+For example, 
+<PRE>
+     setenv G4VIS_BUILD_OPENGLX_DRIVER 1
+     setenv G4VIS_USE_OPENGLX 1
+     setenv OGLHOME /usr/X11R6
+</PRE>
+Some other visualization drivers depending on external libraries are 
+also required to set the similar environmental variables, 
+<tt>G4VIS_BUILD_DRIVERNAME_DRIVER</tt> and <tt>G4VIS_USE_DRIVERNAME</tt>,
+to <tt>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>main()</tt> function, anyway. See below.)
+<P>
+For all visualization drivers available in your Geant4 executable,   
+the C-pre-processor flags <tt>G4VIS_USE_DRIVERNAME</tt> 
+are automatically set by <tt>config/G4VIS_USE.gmk</tt> in compilation.
+Similarly, for all visualization drivers incorporated 
+into the Geant4 libraries,
+the C-pre-processor flags <tt>G4VIS_BUILD_DRIVERNAME_DRIVER</tt> 
+are automatically set by <tt>config/G4VIS_BUILD.gmk</tt> in installation.
+
+<HR>
+<a name="2.10.3">
+<H2>2.10.3 How to Incorporate Visualization Drivers into an Executable</H2></a>
+
+ 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>
+ In order to realize visualization drivers, you must instantiate
+ and initialize a subclass of <tt>G4VisManager</tt> that implements
+ the pure virtual function <tt>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>G4VisExecutive</tt>, a provided class with
+ included implementation.  <tt>G4VisExecutive</tt> is sensitive to the
+ <tt>G4VIS_USE...</tt> variables mentioned above.
+<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>G4VisExecutive.icc</tt>.  A
+typical extract is:
+
+<PRE>
+     ...
+       RegisterGraphicsSystem (new G4DAWNFILE);
+     ...
+     #ifdef G4VIS_USE_OPENGLX
+       RegisterGraphicsSystem (new G4OpenGLImmediateX);
+       RegisterGraphicsSystem (new G4OpenGLStoredX);
+     #endif
+     ...
+</PRE>
+<P>If you wish to use <tt>G4VisExecutive</tt> but register an
+additional graphics system, <tt>XXX</tt> say, you may do so either
+before or after initializing:
+<PRE>
+     visManager->RegisterGraphicsSytem(new XXX);
+     visManager->Initialize();
+</PRE>
+<P>An example of a typical <tt>main()</tt> function is given below.
+
+<HR>
+<a name="2.10.4">
+<H2>2.10.4 Writing the <tt>main()</tt> Method to Include Visualization</H2></a>
+
+ Now we explain how to write a visualization manager and the <tt>main()</tt>
+ function for Geant4 visualization.
+ In order that your Geant4 executable is able to perform visualization,
+ you must instantiate and initialize <I>your</I> Visualization Manager in
+ the <tt>main()</tt> function. 
+ The typical <tt>main()</tt> function available for visualization 
+ is written in the following style:
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+ //----- 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->Initialize();
+ #endif
+
+ .....
+
+   // Job termination
+ #ifdef G4VIS_USE
+   delete visManager;
+ #endif
+
+ .....
+
+   return 0;
+ }
+
+ //----- end of C++
+</PRE>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 2.10.1<BR>
+ The typical <tt>main()</tt> routine available for visualization.
+</td>
+</tr>
+</table></center>
+<p>
+ In the instantiation, initialization, and deletion of the
+ Visualization Manager, the use of the macro <tt>G4VIS_USE</tt> is
+ recommended. This is set unless the environment variable
+ <tt>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>main()</tt> function is
+ described in <tt>examples/novice/N03/exampleN03.cc</tt>.
+<p>
+
+<HR>
+<a name="2.10.5">
+<H2>2.10.5 Sample Visualization Sessions </H2></a>
+
+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>" 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. )
+
+<H2>2.10.5.1 <tt>Visualization of detector components</tt></H2>
+
+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>
+
+<PRE>
+###################################################
+#  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> /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>
+<BR>
+
+<H2>2.10.5.2 <tt>Visualization of events</tt></H2>
+
+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:<BR>
+"examples/novice/N03/src/ExN03RunAction.cc", 
+"examples/novice/N03/src/ExN03EventAction.cc").
+
+<P>
+
+<PRE>
+###################################################
+#  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> /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>
+<BR>
+<HR>
+<a name="2.10.6">
+<H2>2.10.6 For More Information on Geant4 Visualization </H2></a>
+See the <A HREF="../Visualization/index.html">Visualization</a> part of this user guide.
+
+<BR>
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</A></I>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Introduction/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Introduction/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Introduction/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/introduction.html/1.9/Mon Dec 18 10:28:25 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Introduction/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Introduction/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Introduction/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Introduction
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Introduction/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Introduction/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Introduction/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Introduction/introduction.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Introduction/introduction.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Introduction/introduction.html	(revision 1208)
@@ -0,0 +1,122 @@
+<HTML>
+<TITLE>ADG: Introduction</TITLE>
+<!-- Changed by: Katsuya Amako,  4-Aug-1998 -->
+<!-- Changed by: Dennis Wright, 10-Dec-2001 -->
+<!-- Proof read by: Joe Chuma,   9-Jun-1999 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+
+
+<A HREF="../index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<IMG SRC="../../../../resources/html/IconsGIF/PreviousGR.gif" ALT="Previous">
+<A HREF="../GettingStarted/index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next">
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>For Application Developers</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>1. Introduction</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<p>
+
+<H2>1.1 Scope of this manual</H2>
+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:
+<UL>
+<LI>introduce the first-time user to the Geant4 object-oriented detector
+    simulation toolkit,
+<LI>provide a description of the available tools and how to use them, and
+<LI>supply the practical information required to develop and run simulation
+    applications which may be used in real experiments.
+</UL>
+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="../../../PhysicsReferenceManual/html/PhysicsReferenceManual.html">Physics Reference 
+Manual</a>.  Details of the design and functionality of the Geant4 classes 
+can be found in the 
+<a href="../../../ForToolkitDeveloper/html/index.html">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">Software
+Reference Manual</a>.  
+<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>
+
+<HR>
+<H2>1.2 How to use this manual</H2>
+A very basic introduction to Geant4 is presented in <b>Chapter 2, "Getting 
+Started with Geant4 - Running a Simple Example"</b>.  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="../../../InstallationGuide/html/index.html">Installation Guide for
+Setting up Geant4 in Your Computing Environment</a>.
+<P>
+<b>Chapter 3, "Toolkit Fundamentals"</b> discusses general Geant4 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>
+<b>Chapter 4, "Detector Definition and Response"</b> 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>
+How particles are propagated through a material is treated in <b>Chapter
+5, "Tracking and Physics"</b>.  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>
+<b>Chapter 6, "User Actions"</b> is a description of the "user hooks" by which
+the simulation code may be customized to perform special tasks.
+<P>
+<b>Chapter 7, "Communication and Control"</b> 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>
+The display of detector geometry, tracks and events may be incorporated into
+a simulation application by using the tools described in 
+<b>Chapter 8, "Visualization"</b>.
+<P>
+<b>Chapter 9, "Examples"</b> 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.
+
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
+
+
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/CVS/Entries	(revision 1208)
@@ -0,0 +1,9 @@
+/cutsPerRegion.html/1.5/Mon Dec 18 10:28:25 2006//
+/index.html/1.8/Mon Dec 18 10:28:25 2006//
+/particle.html/1.6/Thu Jan 18 02:48:53 2007//
+/physicsProcess.html/1.48/Wed Dec  5 15:17:32 2007//
+/physicsTable.html/1.4/Mon Dec 18 10:28:25 2006//
+/thresholdVScut.html/1.7/Mon Dec 18 10:28:25 2006//
+/tracking.html/1.6/Tue Aug  2 20:28:19 2005//
+/userLimits.html/1.3/Mon Dec 18 10:28:25 2006//
+D/physicsProcessPARAM.src////
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/cutsPerRegion.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/cutsPerRegion.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/cutsPerRegion.html	(revision 1208)
@@ -0,0 +1,148 @@
+<HTML>
+<HEAD>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (X11; I; AIX 4.1) [Netscape]">
+</HEAD>
+
+<BODY>
+<!-- Created by: Makoto Asai,       14-Apr-2003 -->
+
+<BR>
+
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+
+</A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A>
+<A HREF="thresholdVScut.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<A  HREF="physicsTable.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></A>
+</TD>
+<P>
+
+<TD ALIGN=RIGHT><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B></FONT></FONT>
+<BR><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>For Application Developers</B></FONT></FONT>
+<BR><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Tracking and Physics</B></FONT></FONT></TD>
+</TR>
+</TABLE>
+<P><BR>
+
+<CENTER><FONT COLOR="#238E23"><FONT SIZE=+3>
+<B>5.5 Cuts per Region</B></FONT></FONT>
+</CENTER>
+<P><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<P>
+
+<a name="5.5.1">
+<H2>5.5.1 General Concepts</H2></a>
+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="../Detector/geometry.html#4.1.3.1">subsection 4.1.3.1</a>.
+As an example, suppose a user defines three regions, corresponding to the 
+tracking volume, the calorimeter and the bulk structure of a detector.
+For performance reasons, the user may not be interested in the detailed 
+development of electromagnetic showers in the insensitive bulk structure,
+but wishes to maintain the best possible accuracy in the tracking region. 
+In such a use case, Geant4 allows the user to set different production 
+thresholds ("cuts") for each geometrical region.  This ability, referred to as
+"cuts per region", is also a new feature provided by the Geant4 5.1 release.
+The general concepts of production thresholds were presented in the
+<a href="thresholdVScut.html">previous section</a>.
+<p>
+Please note that this new feature is intended only for users who
+<ol>
+<li>are simulating the most complex geometries, such as an LHC detector, and
+<li>are experienced in simulating electromagnetic showers in matter.
+</ol>
+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>
+
+<HR>
+<a name="5.5.2">
+<H2>5.5.2 Default Region</H2></a>
+The world volume is treated as a region by default.  A <i>G4Region</i> 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 <i>UserPhysicsList</i>.  Unless the user defines 
+different cut values for other regions, the cuts in the default region will be
+used for the entire geometry.  
+<p>
+Please note that the default region and its default production cuts are
+created and set automatically by <i>G4RunManager</i>.  The user is <b>not</b> 
+allowed to set a region to the world volume, <b>nor</b> to assign other 
+production cuts to the default region.
+
+<P>
+
+<HR>
+<a name="5.5.3">
+<H2>5.5.3 Assigning Production Cuts to a Region</H2></a>
+In the <tt>SetCuts()</tt> method of the user's physics list, the user must
+first define the default cuts.  Then a <i>G4ProductionCuts</i> 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 <i>G4RegionStore</i>.  An example <tt>SetCuts()</tt> code 
+follows.
+
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<pre>
+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()->GetRegion(regName);
+  cuts = new G4ProductionCuts;
+  cuts->SetProductionCut(0.01*mm); // same cuts for gamma, e- and e+
+  region->SetProductionCuts(cuts);
+
+  regName = "calorimeter";
+  region = G4RegionStore::GetInstance()->GetRegion(regName);
+  cuts = new G4ProductionCuts;
+  cuts->SetProductionCut(0.01*mm,G4ProductionCuts::GetIndex("gamma"));
+  cuts->SetProductionCut(0.1*mm,G4ProductionCuts::GetIndex("e-"));
+  cuts->SetProductionCut(0.1*mm,G4ProductionCuts::GetIndex("e+"));
+  region->SetProductionCuts(cuts);
+}
+</pre>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 5.5.1 <br>
+ <tt>Setting production cuts to a region</tt>
+</td>
+</tr>
+</table></center>
+<p>
+
+<BR><BR>
+<HR><A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</A></I>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/index.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/index.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/index.html	(revision 1208)
@@ -0,0 +1,94 @@
+<HTML>
+<HEAD>
+   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+</HEAD>
+<TITLE>ADG: Tracking and Physics</TITLE>
+<BODY>
+<BR>
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+
+
+</A>
+<A HREF="../index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59>
+</A>
+<A HREF="../Detector/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<A HREF="../UserActions/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></A>
+</TD>
+
+<TD></TD>
+<TD ALIGN=RIGHT><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Documents</B>
+<BR>
+
+<B>Geant4 User's Guide</B>
+<BR>
+
+<B>For Application Developers</B>
+<BR>
+
+</FONT></FONT>
+</TD>
+</TR>
+</TABLE>
+<P>
+<BR>
+
+<CENTER><B><FONT COLOR="#238E23"><FONT SIZE=+4>
+</FONT></FONT></B>
+</CENTER>
+
+<CENTER><B><FONT COLOR="#238E23"><FONT SIZE=+2>
+<B>5. Tracking and Physics</B>
+</FONT></FONT></B>
+</CENTER>
+<P>
+<BR>
+
+<HR ALIGN="Center" SIZE="7%">
+
+<!-- ============================================== Section -->
+<BR><BR>
+<B>
+   <OL>
+   <LI>
+   <A HREF="tracking.html">
+   Tracking</A></LI>
+   <LI>
+   <A HREF="physicsProcess.html">
+   Physics Processes</A></LI>
+   <LI>
+   <A HREF="particle.html">
+   Particles</A></LI>
+   <LI>
+   <A HREF="thresholdVScut.html">
+   Production Threshold vs. Tracking Cut</A></LI>
+   <LI>
+   <A HREF="cutsPerRegion.html">
+   Cuts per Region</A></LI>
+   <LI>
+   <A HREF="physicsTable.html">
+   Physics Table</A></LI>
+   <LI>
+   <A HREF="userLimits.html">
+   User limits</A></LI>
+   </OL>
+
+
+</B>
+
+
+<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
+
+<!-- ============================================== Section -->
+<P><HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</A></I>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/particle.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/particle.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/particle.html	(revision 1208)
@@ -0,0 +1,388 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- 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 -->
+<!-- Changed by: Dennis Wright, 18-Jan-2006 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+
+
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="physicsProcess.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A HREF="thresholdVScut.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>For Application Developers</B>
+<BR>
+<B>Tracking and Physics</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>5.3 Particles</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<p>
+
+<a name="5.3.1">
+<H2>5.3.1 Basic concepts</H2></a>
+
+ There are three levels of classes to describe particles in Geant4. 
+ <p>
+ <table>
+ <tr>
+ <td><i>G4ParticleDefinition</i>
+ <td>defines a particle
+ <tr>
+ <td><i>G4DynamicParticle</i>
+ <td>describes a particle interacting with materials
+ <tr>
+ <td><i>G4Track</i>
+ <td>describes a particle traveling in space and time
+ </table>
+ <p>
+ <i>G4ParticleDefinition</i> aggregates information to characterize 
+ a particle's properties, such as name, mass, spin, life time, and decay modes.
+ <i>G4DynamicParticle</i> aggregates information to describe the dynamics of 
+ particles, such as energy, momentum, polarization, and proper time,
+ as well as ``particle definition'' information.
+ <i>G4Track</i> includes all information necessary for tracking 
+ in a detector simulation, such as time, position, and step,
+ as well as ``dynamic particle'' information.
+ <P>
+ <i>G4Track</i> has all the information necessary for tracking in Geant4.
+ It includes position, time, and step, as well as kinematics.
+ Details of <i>G4Track</i> will be described in 
+ <a href="tracking.html">Section 5.1</a>.
+<P>
+ Besides above three classes, <i>G4ParticleWithCuts</i> class plays
+ an important role. It provides the functionality to convert 
+ the cut value in range into energy thresholds for all materials.
+<HR>
+<a name="5.3.2">
+<H2>5.3.2 Definition of a particle</H2></a>
+
+ There are a large number of elementary particles and nuclei. Geant4 provides the
+ <i>G4ParticleDefinition</i> class to represent particles, and various particles,
+ such as the electron, proton, and gamma have their own classes derived from 
+ <i>G4ParticleDefinition</i>.
+ <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
+ <b>User's Guide: For ToolKit Developers</b>)
+ <P>
+ <BR>
+
+<H4>5.3.2.1 Particle List in Geant4</H4>
+This list includes all particles in Geant4 and you can see 
+properties of particles such as
+<UL>
+<LI> PDG encoding
+<LI> mass and width
+<LI> spin, isospin and parity
+<LI> life time and decay modes
+<LI> quark contents
+</UL>
+Here is  a list of particles in Geant4. This list is generated automatically 
+by using Geant4 functionality, 
+so listed values are same as those in your Geant4 application. 
+(as far as you do not change source codes)
+<P>
+<H5> Categories </H5>
+<UL> 
+<LI><A HREF="../Appendix/particleList.src/quarks/index.html">gluon / quarks / di-quarks </A></TD>
+<LI><A HREF="../Appendix/particleList.src/leptons/index.html">leptons</A></TD>
+<LI><A HREF="../Appendix/particleList.src/mesons/index.html">mesons</A></TD>
+<LI><A HREF="../Appendix/particleList.src/baryons/index.html">baryons</A></TD>
+<LI><A HREF="../Appendix/particleList.src/ions/index.html">ions</A></TD>
+<LI><A HREF="../Appendix/particleList.src/others/index.html">others</A></TD>
+</UL>
+
+<H4>5.3.2.2 Classification of particles</H4>
+
+ <ol type=a>
+ <li>elementary particles which should be tracked in Geant4<BR>
+  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.
+  <ol type=1>
+  <li>stable particles<BR>
+   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.
+  <li>long life (>10<sup>-14</sup>sec) particles<BR>
+   Particles which may travel a finite length, e.g., muon, charged pions.
+  <li>short life particles that need to decay in Geant4<BR>
+   For example, <font face="symbol">p</font><sup>0</sup>,<font face="symbol">h</font>
+  <li>K<sup>0</sup> system<BR>
+   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.
+  <li>optical photons<BR>
+   Gammas and optical photons are distinguished in the simulation view,
+   though both are the same particle (photons with different energies).
+   For example, optical photons are used for Cerenkov light and scintillation light.
+  <li>geantinos/charged geantinos<BR>
+   Geantinos and charged geantinos are virtual particles for simulation
+   which do not interact with materials and undertake transportation processes only.
+ </ol>
+ <li>nuclei<BR>
+   Any kinds of nucleus can be used in Geant4, such as alpha(He-4), uranium-238 and 
+   excited states of carbon-14. Nuclei in Geant4 are divided into two groups from 
+   the viewpoint of implementation.   
+ <ol type=1>
+  <li>light nuclei<BR>
+   Light nuclei frequently used in simulation, e.g.,
+   alpha, deuteron, He3, triton.
+  <li>heavy nuclei<BR>
+   Nuclei other than those defined in the previous category.
+ </ol>
+  Note that G4ParticleDefinition represents nucleus state and G4DynamicParticle 
+  represents atomic state with some nucleus. Both alpha particle with charge of +2 
+  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)
+ <li>short-lived particles<BR>
+  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.
+  <i>G4VShortLivedParticle</i> is provided as the base class for these particles. 
+  All classes related to particles in this category
+  can be found in <tt>shortlived</tt> sub-directory under the
+  <tt>particles</tt> directory.
+ <ol type=1>
+  <li>quarks/di-quarks<BR>
+   For example, all 6 quarks.
+  <li>gluons<BR>
+  <li>baryon excited states with very short life<BR>
+   For example, spin 3/2 baryons and anti-baryons
+  <li>meson excited states with very short life<BR>
+   For example, spin 1 vector bosons
+ </ol>
+ </ol>
+<P>
+ 
+<H4>5.3.2.3 Implementation of particles</H4>
+
+ <table>
+
+ <tr>
+ <td>Dynamic creation by user's physics list:
+ <td>Categories a, b-1
+ <tr>
+ <td colspan=2>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 should be created in the physics list and should be unique.
+ The user can get pointers to these objects by using static methods in their own classes.  
+ <p>
+ WARNING: Beginning with Geant4 version 8.0, all particle definitions are revised to "non-static" objects.
+ <tr><td><td>
+ <tr><td><td>
+ <tr>
+ <td>On-the-fly creation:
+ <td>Category b-2
+ <tr>
+ <td colspan=2>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 dynamic rather than static. Each ion corresponds to one object of the
+ <i>G4Ions</i> class, and it will be created on the fly in the <tt>G4ParticleTable::GetIon()</tt>
+ method.
+ <tr><td><td>
+ <tr><td><td>
+ <tr>
+ <td>: <td>Category c
+ <tr>
+ <td colspan=2>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
+ <i>G4VshortLivedParticle</i>, and it will be created dynamically during 
+ the ``initialization phase''.
+ 
+ </table>
+
+ <P>
+
+<H4>5.3.2.4 <i>G4ParticleDefinition</i></H4>
+
+ The <i>G4ParticleDefinition</i> 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 Table 5.3.1.
+ <p>
+ <center><table border=2 cellpadding=10>
+ <tr>
+ <td><tt>G4String GetParticleName()</tt>
+ <td>particle name
+ <tr>
+ <td><tt>G4double GetPDGMass()</tt>
+ <td>mass
+ <tr>
+ <td><tt>G4double GetPDGWidth()</tt>
+ <td>decay width
+ <tr>
+ <td><tt>G4double GetPDGCharge()</tt>
+ <td>electric charge
+ <tr>
+ <td><tt>G4double GetPDGSpin()</tt>
+ <td>spin
+ <tr>
+ <td><tt>G4int    GetPDGiParity()</tt>
+ <td>parity (0:not defined)
+ <tr>
+ <td><tt>G4int    GetPDGiConjugation()</tt>
+ <td>charge conjugation (0:not defined)
+ <tr>
+ <td><tt>G4double GetPDGIsospin()</tt>
+ <td>iso-spin
+ <tr>
+ <td><tt>G4double GetPDGIsospin3()</tt>
+ <td>3<sup>rd</sup>-component of iso-spin
+ <tr>
+ <td><tt>G4int    GetPDGiGParity()</tt>
+ <td>G-parity (0:not defined)
+ <tr>
+ <td><tt>G4String GetParticleType()</tt>
+ <td>particle type
+ <tr>
+ <td><tt>G4String GetParticleSubType()</tt>
+ <td>particle sub-type
+ <tr>
+ <td><tt>G4int    GetLeptonNumber()</tt>
+ <td>lepton number
+ <tr>
+ <td><tt>G4int    GetBaryonNumber()</tt>
+ <td>baryon number
+ <tr>
+ <td><tt>G4int    GetPDGEncoding()</tt>
+ <td>particle encoding number by PDG 
+ <tr>
+ <td><tt>G4int    GetAntiPDGEncoding()</tt>
+ <td>encoding for anti-particle of this particle
+<tr>
+<td align=center colspan=2>
+ Table 5.3.1<BR>
+ Methods to get particle properties.
+</td>
+</tr>
+</table></center>
+ <P>
+ Table 5.3.2 shows the methods of <i>G4ParticleDefinition</i> for getting information about decay modes
+ and the life time of the particle. 
+ <p>
+ <center><table border=2 cellpadding=10>
+ <tr>
+ <td><tt>G4bool   GetPDGStable()</tt>
+ <td>stable flag
+ <tr>
+ <td><tt>G4double GetPDGLifeTime()</tt>
+ <td>life time
+ <tr>
+ <td><tt>G4DecayTable* GetDecayTable()</tt>
+ <td>decay table
+<tr>
+<td align=center colspan=2>
+ Table 5.3.2<BR>
+ Methods to get particle decay modes and life time.
+</td>
+</tr>
+</table></center>
+ <p>
+ Users can modify these properties, though the other properties listed above can not be change without rebuilding the libraries.
+ <P>
+ <i>G4ParticleDefinition</i> provides methods for setting and/or getting cut off values, as 
+ shown in Table 5.3.3.
+  <p>
+ However, these methods only provide the functionality to set and get values. 
+ Calculation of energy cut-off values from a cut-off value in range 
+ is implemented in the <i>G4ParticleWithCuts</i> class, as described below. 
+ <P>
+ In addition, each particle has its own <i>G4ProcessManger</i> object that manages a list of
+ processes applicable to the particle.      
+ <P>
+
+<HR>
+<a name="5.3.3">
+<H2>5.3.3 Dynamic particle</H2></a>
+
+ The <i>G4DynamicParticle</i> class has kinematics information for the particle 
+ and is used for describing the dynamics of physics processes. 
+ The properties in <i>G4DynamicParticle</i> are listed in Table 5.3.4.
+ <p>
+  <center><table border=2 cellpadding=10>
+ <tr>
+ <td><tt>G4double         theDynamicalMass</tt>
+ <td>dynamical mass
+ <tr>
+ <td><tt>G4ThreeVector         theMomentumDirection</tt>
+ <td>normalized momentum vector
+ <tr>
+ <td><tt>G4ParticleDefinition* theParticleDefinition</tt>
+ <td>definition of particle
+ <tr>
+ <td><tt>G4ThreeVector         thePolarization</tt>
+ <td>polarization vector
+ <tr>
+ <td><tt>G4double              theKineticEnergy</tt>
+ <td>kinetic energy
+ <tr>
+ <td><tt>G4double              theProperTime</tt>
+ <td>proper time
+ <tr>
+ <td><tt>G4ElectronOccupancy*  theElectronOccupancy</tt>
+ <td>electron orbits for ions
+ <tr>
+ <td align=center colspan=2>
+ Table 5.3.4<BR>
+ Methods to set/get cut off values.
+ </td>
+ </tr>
+ </table></center>
+ <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 <i>G4ParticleDefinition</i> class 
+ ( i.e. mass value given by <tt>GetPDGMass()</tt> method). However, there are 
+ two exceptions.
+ <ul>
+ <li> resonace particle
+ <li> ions
+ </ul>
+ Resonace 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>
+ As for ions, <i>G4ParticleDefintion</i> defines a nucleus and <i>G4DynamicParticle</i>
+ defines an atom. <i>G4ElectronOccupancy</i> describes state of orbital electrons.
+ So, the dynaimc mass can be different from the PDG mass by the mass of electrons 
+ (and their binding energy).
+ <p>
+ Decay products of heavy flavor particles are given in many event generators.
+ In such cases, <i>G4VPrimaryGenerator</i> sets this information 
+ in <tt>*thePreAssignedDecayProducts</tt>. In addition, decay time of 
+ the particle can be set arbitrarily time by using <tt>PreAssignedDecayProperTime</tt>.
+ <P>
+
+<BR><BR>
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/physicsProcess.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/physicsProcess.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/physicsProcess.html	(revision 1208)
@@ -0,0 +1,2096 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+  <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1">
+  <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+</head>
+<body>
+<!-- Changed by: Katsuya Amako, 30-Jul-1998 -->
+<!-- Proof read by: Joe Chuma,  29-Jun-1999 --><br>
+<table width="100%">
+  <tbody>
+    <tr>
+      <td>
+      <a href="../../../../Overview/html/index.html"><img
+ src="../../../../resources/html/IconsGIF/Overview.gif" alt="Overview"
+ height="16" width="59"></a>
+      <a href="index.html"><img
+ src="../../../../resources/html/IconsGIF/Contents.gif" alt="Contents"
+ height="16" width="59"></a>
+      <a href="tracking.html"><img
+ src="../../../../resources/html/IconsGIF/Previous.gif" alt="Previous"
+ height="16" width="59"></a>
+      <a href="particle.html"><img
+ src="../../../../resources/html/IconsGIF/Next.gif" alt="Next"
+ height="16" width="59"></a>
+      </td>
+      <td align="right"><font color="#238e23"><font size="-1">
+      <b>Geant4 User's Guide</b>&nbsp;</font></font>
+      <br>
+      <font color="#238e23"><font size="-1">
+      <b>For Application Developers</b></font></font>
+      <br>
+      <font color="#238e23"><font size="-1"><b>Tracking and Physics</b>&nbsp;</font></font></td>
+    </tr>
+  </tbody>
+</table>
+<p>
+</p>
+<center><font color="#238e23"><font size="+3"><b>5.2 Physics Processes</b></font></font>
+</center>
+<p>
+</p>
+<hr align="center" size="7">
+<p> Physics processes describe how particles interact with a material.
+Seven major categories of processes are provided by Geant4: </p>
+<ol>
+  <li> <a href="#5.2.1">electromagnetic</a>, </li>
+  <li> <a href="#5.2.2">hadronic</a>, </li>
+  <li> <a href="#5.2.3">decay</a>, </li>
+  <li> <a href="#5.2.4">photolepton-hadron</a>, </li>
+  <li> <a href="#5.2.5">optical</a>, </li>
+  <li> <a href="#5.2.6">parameterization</a> and </li>
+  <li> <a href="#5.2.7">transportation</a>. </li>
+</ol>
+<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>GetPhysicalInteractionLength</tt> (GPIL) and <tt>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>DoIt</tt> method should
+be invoked. The <tt>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 <i>G4VParticleChange</i> objects(see <a
+ href="#particlechange">Particle Change</a>).</p>
+<b><i>G4VProcess</i></b>
+<p><i>G4VProcess</i> is the base class for all physics processes. Each
+physics
+process must implement virtual methods of <i>G4VProcess</i> which
+describe the interaction (DoIt) and determine when an interaction
+should occur (GPIL). In order to accommodate various types of
+interactions <i>G4VProcess</i> provides three <tt>DoIt</tt> methods:
+</p>
+<ul>
+  <li><tt>G4VParticleChange* AlongStepDoIt( const G4Track&amp; track,
+const G4Step&amp; stepData )</tt>
+    <p> This method is invoked while <i>G4SteppingManager</i> is
+transporting a particle through one step. The corresponding <tt>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 <i>G4Step</i>. After
+all processes have been invoked, changes due to <tt>AlongStepDoIt</tt>
+are applied to <i>G4Track</i>, including the particle relocation and
+the safety update. Note that after the invocation of <tt>AlongStepDoIt</tt>,
+the endpoint of the <i>G4Track</i> object is in a new volume if the
+step was limited by a geometric boundary. In order to obtain
+information about the old volume, <i>G4Step</i> must be accessed,
+since it contains information about both endpoints of a step.</p>
+  </li>
+  <li><tt>G4VParticleChange* PostStepDoIt( const G4Track&amp; track,
+const G4Step&amp; stepData )</tt>
+    <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. <i>G4Track</i> will be updated after each invocation
+of <tt>PostStepDoIt</tt>, in contrast to the <tt>AlongStepDoIt</tt>
+method. </p>
+  </li>
+  <li><tt>G4VParticleChange* AtRestDoIt( const G4Track&amp; track,
+const G4Step&amp; stepData )</tt>
+    <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>
+  </li>
+</ul>
+<p>
+For each of the above <tt>DoIt</tt> methods <i>G4VProcess</i>
+provides a corresponding pure virtual GPIL method: </p>
+<ul>
+  <li><tt>G4double PostStepGetPhysicalInteractionLength( const
+G4Track&amp; track, G4double previousStepSize, G4ForceCondition*
+condition )</tt>
+    <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>
+  </li>
+  <li><tt> G4double AlongStepGetPhysicalInteractionLength( const
+G4Track&amp; track, G4double previousStepSize, G4double
+currentMinimumStep, G4double&amp; proposedSafety, G4GPILSelection*
+selection )</tt>
+    <p> This method generates the step length allowed by its process.</p>
+  </li>
+  <li><tt>G4double AtRestGetPhysicalInteractionLength( const
+G4Track&amp; track, G4ForceCondition* condition )</tt>
+    <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>
+  </li>
+</ul>
+<p></p>
+<p>
+Other pure virtual methods in <i>G4Vprocess</i> follow:
+</p>
+<ul>
+  <li><tt>virtual G4bool IsApplicable(const G4ParticleDefinition&amp;)</tt>
+    <p> returns true if this process object is applicable to the
+particle type.</p>
+  </li>
+  <li><tt>virtual void PreparePhysicsTable(const
+G4ParticleDefinition&amp;)</tt> and </li>
+  <li><tt>virtual void BuildPhysicsTable(const
+G4ParticleDefinition&amp;)</tt>
+    <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>
+  </li>
+  <li><tt>virtual void StartTracking()</tt> and </li>
+  <li><tt>virtual void EndTracking()</tt>
+    <p> are messaged by the tracking manager at the beginning and end
+of tracking the current track.</p>
+  </li>
+</ul>
+<b>Other base classes for processes</b>
+<p> Specialized processes may be derived from seven additional virtual
+base classes which are themselves derived from <i>G4VProcess</i>.
+Three of these classes are used for simple processes:
+</p>
+<p>
+<table>
+  <tbody>
+    <tr>
+      <td><i>G4VRestProcess</i> </td>
+      <td>processes using only the <tt>AtRestDoIt</tt> method </td>
+    </tr>
+    <tr>
+      <td> <br>
+      </td>
+      <td>example: neutron capture </td>
+    </tr>
+    <tr>
+      <td><i>G4VContinuousProcess</i> </td>
+      <td>processes using only the <tt>AlongStepDoIt</tt> method </td>
+    </tr>
+    <tr>
+    </tr>
+    <tr>
+      <td> <br>
+      </td>
+      <td>example: cerenkov </td>
+    </tr>
+    <tr>
+      <td><i>G4VDiscreteProcess</i> </td>
+      <td>processes using only the <tt>PostStepDoIt</tt> method </td>
+    </tr>
+    <tr>
+      <td> <br>
+      </td>
+      <td>example: compton scattering, hadron inelastic interaction </td>
+    </tr>
+    <tr>
+    </tr>
+    <tr>
+    </tr>
+  </tbody>
+</table>
+</p>
+<p> The other four classes are provided for rather complex processes:
+<table>
+  <tbody>
+    <tr>
+      <td><i>G4VContinuousDiscreteProcess</i> </td>
+      <td>processes using both <tt>AlongStepDoIt</tt> and <tt>PostStepDoIt</tt>
+methods </td>
+    </tr>
+    <tr>
+    </tr>
+    <tr>
+      <td> <br>
+      </td>
+      <td>example: transportation, ionisation(energy loss and delta
+ray) </td>
+    </tr>
+    <tr>
+      <td><i>G4VRestDiscreteProcess</i> </td>
+      <td>processes using both <tt>AtRestDoIt</tt> and <tt>PostStepDoIt</tt>
+methods </td>
+    </tr>
+    <tr>
+    </tr>
+    <tr>
+      <td> <br>
+      </td>
+      <td>example: positron annihilation, decay (both in flight and at
+rest) </td>
+    </tr>
+    <tr>
+      <td><i>G4VRestContinuousProcess</i> </td>
+      <td>processes using both <tt>AtRestDoIt</tt> and <tt>AlongStepDoIt</tt>
+methods </td>
+    </tr>
+    <tr>
+    </tr>
+    <tr>
+      <td><i>G4VRestContinuousDiscreteProcess</i> </td>
+      <td>processes using <tt>AtRestDoIt</tt>, <tt>AlongStepDoIt and <tt>PostStepDoIt</tt>
+methods </tt></td>
+    </tr>
+    <tr>
+    </tr>
+    <tr>
+    </tr>
+  </tbody>
+</table>
+</p>
+<p><a name="particlechange">
+<b>Particle change</b></a>
+</p>
+<p><i>G4VParticleChange</i> and its descendants are used to store the
+final state information of the track, including secondary tracks, which
+has been generated by the <tt>DoIt</tt> methods. The instance of <i>G4VParticleChange</i>
+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 <i>G4Step</i>.
+</p>
+<p><i>G4VParticleChange</i> is introduced as an abstract class. It has
+a minimal set of methods for updating <i>G4Step</i> and handling
+secondaries.
+A physics process can therefore define its own particle change derived
+from <i>G4VParticleChange</i>. Three pure virtual methods are
+provided, </p>
+<ul>
+  <li><tt>virtual G4Step* UpdateStepForAtRest( G4Step* step )</tt>, </li>
+  <li><tt>virtual G4Step* UpdateStepForAlongStep( G4Step* step )</tt>
+and </li>
+  <li><tt>virtual G4Step* UpdateStepForPostStep( G4Step* step )</tt>, </li>
+</ul>
+which correspond to the three <tt>DoIt</tt> methods of <i>G4VProcess</i>.
+Each derived class should implement these methods.
+<p></p>
+<hr><a name="5.2.1"></a>
+<h2>5.2.1 Electromagnetic Interactions</h2>
+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="../../../../UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html">
+<b>Physics Reference Manual</b></a>.
+<p></p>
+<h4>5.2.1.1 "Standard" Electromagnetic Processes</h4>
+The following is a summary of the standard electromagnetic processes available in Geant4.
+<ul>
+  <li>Photon processes
+    <ul>
+      <li>Compton scattering (class name <i>G4ComptonScattering</i>)</li>
+      <li>Gamma conversion (also called pair production, class name <i>G4GammaConversion</i>)</li>
+      <li>Photo-electric effect (class name <i>G4PhotoElectricEffect</i>)</li>
+      <li>Muon pair production (class name <i>G4GammaConversionToMuons</i>)</li>
+    </ul>
+  </li>
+  <li>Electron/positron processes
+    <ul>
+      <li>Ionisation and delta ray production (class name <i>G4eIonisation</i>)</li>
+      <li>Bremsstrahlung (class name <i>G4eBremsstrahlung</i>)</li>
+      <li>Positron annihilation into two gammas (class name <i>G4eplusAnnihilation</i>)</li>
+      <li>Positron annihilation into two muons (class name <i>G4AnnihiToMuPair</i>)</li>
+      <li>Positron annihilation into hadrons (class name <i>G4eeToHadrons</i>)</li>
+    </ul>
+  </li>
+  <li>Muon processes
+    <ul>
+      <li>Ionisation and delta ray production (class name <i>G4MuIonisation</i>)</li>
+      <li>Bremsstrahlung (class name <i>G4MuBremsstrahlung</i>)</li>
+      <li>e+e- pair production (class name <i>G4MuPairProduction</i>)</li>
+    </ul>
+  </li>
+  <li>Hadron/ion processes
+    <ul>
+      <li>Ionisation (class name <i>G4hIonisation</i>)</li>
+      <li>Ionisation for ions (class name <i>G4ionIonisation</i>)</li>
+      <li>Ionisation for ions in low-density media (class name <i>G4ionGasIonisation</i>)</li>
+      <li>Ionisation for heavy exotic particles (class name <i>G4hhIonisation</i>)</li>
+      <li>Ionisation for classic magnetic monopole (class name <i>G4mplIonisation</i>)</li>
+    </ul>
+  </li>
+  <li>The scattering processes<br>
+The class name <i>G4MultipleScattering</i> is a general process in the
+sense that the same process/class is used to simulate the multiple
+scattering of all the charged particles (i.e. it is used for e+/e-,
+muons/charged hadrons). </li>
+  <li>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: <br>
+    <ul>
+      <li>Ionisation in thin absorbers (class name <i>G4PAIModel</i>)</li>
+    </ul>
+  </li>
+</ul>
+An example of the registration of these processes in a physics list is
+given
+in source listing 5.2.1.1, extracted from examples/novice/N02.
+<p></p>
+<center>
+<table border="2" cellpadding="10">
+  <tbody>
+    <tr>
+      <td>
+      <pre>void PhysicsList::ConstructEM()<br>{<br>  theParticleIterator-&gt;reset();<br><br>  while( (*theParticleIterator)() ){<br><br>    G4ParticleDefinition* particle = theParticleIterator-&gt;value();<br>    G4ProcessManager* pmanager = particle-&gt;GetProcessManager();<br>    G4String particleName = particle-&gt;GetParticleName();<br><br>    if (particleName == "gamma") {<br><br>      pmanager-&gt;AddDiscreteProcess(new G4PhotoElectricEffect);<br>      pmanager-&gt;AddDiscreteProcess(new G4ComptonScattering);<br>      pmanager-&gt;AddDiscreteProcess(new G4GammaConversion);<br><br>    } else if (particleName == "e-") {<br><br>      pmanager-&gt;AddProcess(new G4MultipleScattering, -1, 1, 1);<br>      pmanager-&gt;AddProcess(new G4eIonisation,        -1, 2, 2);<br>      pmanager-&gt;AddProcess(new G4eBremsstrahlung,    -1, 3, 3);<br><br>    } else if (particleName == "e+") {<br><br>      pmanager-&gt;AddProcess(new G4MultipleScattering, -1, 1, 1);<br>      pmanager-&gt;AddProcess(new G4eIonisation,        -1, 2, 2);<br>      pmanager-&gt;AddProcess(new G4eBremsstrahlung,    -1, 3, 3);<br>      pmanager-&gt;AddProcess(new G4eplusAnnihilation,   0,-1, 4);<br>      <br>    } else if( particleName == "mu+" || <br>               particleName == "mu-"    ) {<br><br>      pmanager-&gt;AddProcess(new G4MultipleScattering, -1, 1, 1);<br>      pmanager-&gt;AddProcess(new G4MuIonisation,       -1, 2, 2);<br>      pmanager-&gt;AddProcess(new G4MuBremsstrahlung,   -1, 3, 3);<br>      pmanager-&gt;AddProcess(new G4MuPairProduction,   -1, 4, 4);       <br>     <br>    } else if ((!particle-&gt;IsShortLived()) &amp;&amp;<br>	       (particle-&gt;GetPDGCharge() != 0.0) &amp;&amp; <br>	       (particle-&gt;GetParticleName() != "chargedgeantino")) {<br>      //all others charged particles except geantino<br>      pmanager-&gt;AddProcess(new G4MultipleScattering, -1, 1, 1);<br>      pmanager-&gt;AddProcess(new G4hIonisation,        -1, 2, 2);<br>            <br>    }<br>  }<br>}<br> </pre>
+      </td>
+    </tr>
+    <tr>
+      <td align="center"> Source listing 5.2.1.1 <br>
+      <tt>Registration of standard electromagnetic processes</tt>
+      </td>
+    </tr>
+  </tbody>
+</table>
+</center>
+<p>
+<br>
+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">release</a>.
+<br>
+</p>
+</p>
+<p><b> Options </b> 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: 
+<br/><br/>
+- SetLossFluctuations(G4bool) <br>
+- SetSubCutoff(G4bool, const G4Region* r=0) <br>
+- SetIntegral(G4bool) <br>
+- SetRandomStep(G4bool) <br>
+- SetApplyCuts(G4bool) <br>
+- SetBuildCSDARange(G4bool) <br>
+- SetLPMFlag(G4bool) <br>
+- SetBremsstrahlungTh(G4double) <br>
+- SetMinSubRange(G4double) <br>
+- SetMinEnergy(G4double) <br>
+- SetMaxEnergy(G4double) <br>
+- SetMaxEnergyForCSDARange(G4double) <br>
+- SetMaxEnergyForMuons(G4double) <br>
+- SetDEDXBinning(G4int) <br>
+- SetDEDXBinningForCSDARange(G4int) <br>
+- SetLambdaBinning(G4int) <br>
+- SetVerbose(G4int, const G4String name= "all") <br>
+- SetLambdaFactor(G4double) <br>
+- SetMscStepLimitation(G4bool, G4double factor = -1.) 
+<br/><br/>
+The corresponding UI command can be accessed in the UI subdirectory "/process/eLoss".
+</p>
+</p>
+<p><b> G4EmCalculator </b> 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: 
+<br/><br/>
+- GetDEDX(kinEnergy,particle,material,G4Region region=0) <br>
+- GetRangeFromRestrictedDEDX(kinEnergy,particle,material,G4Region* region=0) <br>
+- GetCSDARange(kinEnergy,particle,material,G4Region* region=0) <br>
+- GetRange(kinEnergy,particle,material,G4Region* region=0) <br>
+- GetKinEnergy(range,particle,material,G4Region* region=0) <br>
+- GetCrosSectionPerVolume(kinEnergy,particle,material,G4Region* region=0) <br>
+- GetMeanFreePath(kinEnergy,particle,material,G4Region* region=0) <br>
+- PrintDEDXTable(particle) <br>
+- PrintRangeTable(particle) <br>
+- PrintInverseRangeTable(particle) <br>
+- ComputeDEDX(kinEnergy,particle,process,material,cut=DBL_MAX) <br>
+- ComputeElectronicDEDX(kinEnergy,particle,material,cut=DBL_MAX) <br>
+- ComputeNuclearDEDX(kinEnergy,particle,material,cut=DBL_MAX) <br>
+- ComputeTotalDEDX(kinEnergy,particle,material,cut=DBL_MAX) <br>
+- ComputeCrosSectionPerVolume(kinEnergy,particle,process,material,cut=0) <br>
+- ComputeCrosSectionPerAtom(kinEnergy,particle,process,Z,A,cut=0) <br>
+- ComputeMeanFreePath(kinEnergy,particle,process,material,cut=0) <br>
+- FindParticle(const G4String&) <br>
+- FindMaterial(const G4String&) <br>
+- FindRegion(const G4String&) <br>
+- FindCouple(const G4Material*, const G4Region* region=0) <br>
+- SetVerbose(G4int) 
+<br/><br/>
+For these interfaces, particles, materials, or processes may be pointers or strings with names.
+</p>
+</p>
+
+<h4>5.2.1.2 Low Energy Electromagnetic Processes</h4>
+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">homepage</a>
+of the Geant4 Low Energy Electromagnetic Physics Working Group.
+The physics content of these processes is documented in Geant4
+<a
+ href="../../../../UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html">Physics
+Reference Manual</a> and in other <a
+ href="http://www.ge.infn.it/geant4/lowE/papers.html">papers</a>.
+<ul>
+  <li><b> Photon processes </b>
+    <ul>
+      <li> Compton scattering (class <i>G4LowEnergyCompton</i>)</li>
+      <li> Polarized Compton scattering (class <i>G4LowEnergyPolarizedCompton</i>)</li>
+      <li> Rayleigh scattering (class <i>G4LowEnergyRayleigh</i>)</li>
+      <li> Gamma conversion (also called pair production, class <i>G4LowEnergyGammaConversion</i>)</li>
+      <li> Photo-electric effect (class<i>G4LowEnergyPhotoElectric</i>)</li>
+    </ul>
+  </li>
+  <li><b> Electron processes </b>
+    <ul>
+      <li>Bremsstrahlung (class <i>G4LowEnergyBremsstrahlung</i>)</li>
+      <li>Ionisation and delta ray production (class <i>G4LowEnergyIonisation</i>)</li>
+    </ul>
+  </li>
+  <li><b> Hadron and ion processes </b>
+    <ul>
+      <li> Ionisation and delta ray production (class <i>G4hLowEnergyIonisation</i>)</li>
+    </ul>
+  </li>
+</ul>
+An example of the registration of these processes in a physics list is
+given
+in souce listing 5.2.1.2
+<p></p>
+<center>
+<table border="2" cellpadding="10">
+  <tbody>
+    <tr>
+      <td>
+      <pre>void LowEnPhysicsList::ConstructEM()<br>{<br>  theParticleIterator-&gt;reset();<br><br>  while( (*theParticleIterator)() ){<br><br>    G4ParticleDefinition* particle = theParticleIterator-&gt;value();<br>    G4ProcessManager* pmanager = particle-&gt;GetProcessManager();<br>    G4String particleName = particle-&gt;GetParticleName();<br><br>    if (particleName == "gamma") {<br><br>      theLEPhotoElectric   = new G4LowEnergyPhotoElectric();<br>      theLECompton         = new G4LowEnergyCompton();<br>      theLEGammaConversion = new G4LowEnergyGammaConversion();<br>      theLERayleigh        = new G4LowEnergyRayleigh();<br><br>      pmanager-&gt;AddDiscreteProcess(theLEPhotoElectric);<br>      pmanager-&gt;AddDiscreteProcess(theLECompton);<br>      pmanager-&gt;AddDiscreteProcess(theLERayleigh);<br>      pmanager-&gt;AddDiscreteProcess(theLEGammaConversion);<br><br>    }<br>    else if (particleName == "e-") {<br><br>      theLEIonisation = new G4LowEnergyIonisation();<br>      theLEBremsstrahlung = new G4LowEnergyBremsstrahlung();<br>      theeminusMultipleScattering = new G4MultipleScattering();<br><br>      pmanager-&gt;AddProcess(theeminusMultipleScattering,-1,1,1);<br>      pmanager-&gt;AddProcess(theLEIonisation,-1,2,2);<br>      pmanager-&gt;AddProcess(theLEBremsstrahlung,-1,-1,3);<br><br>    }<br>    else if (particleName == "e+") {<br><br>      theeplusMultipleScattering = new G4MultipleScattering();<br>      theeplusIonisation = new G4eIonisation();<br>      theeplusBremsstrahlung = new G4eBremsstrahlung();<br>      theeplusAnnihilation = new G4eplusAnnihilation();<br><br>      pmanager-&gt;AddProcess(theeplusMultipleScattering,-1,1,1);<br>      pmanager-&gt;AddProcess(theeplusIonisation,-1,2,2);<br>      pmanager-&gt;AddProcess(theeplusBremsstrahlung,-1,-1,3);<br>      pmanager-&gt;AddProcess(theeplusAnnihilation,0,-1,4);<br>    }<br>  }<br>}<br> </pre>
+      </td>
+    </tr>
+    <tr>
+      <td align="center"> Source listing 5.2.1.2 <br>
+      <tt>Registration of electromagnetic low energy electron/photon
+processes</tt>
+      </td>
+    </tr>
+  </tbody>
+</table>
+</center>
+<p>
+<br>
+Advanced <b> examples </b> 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">release</a> and are
+further documented <a
+ href="http://www.ge.infn.it/geant4/lowE/examples/index.html">here</a>.
+</p>
+<p>To run the Low Energy code for photon and electron electromagnetic
+processes, <b><a
+ href="http://geant4.web.cern.ch/geant4/support/download.shtml">
+data files</a></b> 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">release</a>.
+<br>
+The user should set the environment variable <b>G4LEDATA</b>
+to the directory where he/she has copied the files.
+</p>
+<p><b> Options </b> are available for low energy electromagnetic
+processes for hadrons and ions in terms of public member functions of
+the G4hLowEnergyIonisation class: <br>
+- SetHighEnergyForProtonParametrisation(G4double) <br>
+- SetLowEnergyForProtonParametrisation(G4double) <br>
+- SetHighEnergyForAntiProtonParametrisation(G4double) <br>
+- SetLowEnergyForAntiProtonParametrisation(G4double) <br>
+- SetElectronicStoppingPowerModel(const G4ParticleDefinition*,const
+G4String&amp; ) <br>
+- SetNuclearStoppingPowerModel(const G4String&amp;) <br>
+- SetNuclearStoppingOn() <br>
+- SetNuclearStoppingOff() <br>
+- SetBarkasOn() <br>
+- SetBarkasOff() <br>
+- SetFluorescence(const G4bool) <br>
+- ActivateAugerElectronProduction(G4bool) <br>
+- SetCutForSecondaryPhotons(G4double) <br>
+- SetCutForSecondaryElectrons(G4double) <br>
+The available models for ElectronicStoppingPower and
+NuclearStoppingPower are documented in the <a
+ href="http://www.ge.infn.it/geant4/lowE/swprocess/design">class
+diagrams</a>. </p>
+<p><b> Options </b> are available for low energy electromagnetic
+processes for electrons in the G4LowEnergyIonisation class: <br>
+- ActivateAuger(G4bool) <br>
+- SetCutForLowEnSecPhotons(G4double) <br>
+- SetCutForLowEnSecElectrons(G4double) <br>
+</p>
+<p><b> Options </b> are available for low energy electromagnetic
+processes for electrons/positrons in the G4LowEnergyBremsstrahlung
+class, that allow the use of alternative bremsstrahlung angular
+generators: <br>
+- SetAngularGenerator(G4VBremAngularDistribution* distribution); <br>
+- SetAngularGenerator(const G4String&amp; name); <br>
+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="../../../../UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html">
+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">homepage</a>.
+</p>
+<p> Other <b> options </b> G4LowEnergyBremsstrahlung class are: <br>
+- SetCutForLowEnSecPhotons(G4double) <br>
+</p>
+<p><b> Options </b> can also be set in the G4LowEnergyPhotoElectric
+class, that allow the use of alternative photoelectron angular
+generators: <br>
+- SetAngularGenerator(G4VPhotoElectricAngularDistribution* distribution); <br>
+- SetAngularGenerator(const G4String&amp; name); <br>
+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="../../../../UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html">
+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">homepage</a>.
+</p>
+<h4>&nbsp;</h4>
+<h4>5.2.1.3 Interactions of Muons</h4>
+The following is a summary of the muon interaction processes available
+in Geant4.
+<ul type="circle">
+  <li>Bremsstrahlung (class name <i>G4MuBremsstrahlung</i>) </li>
+  <li>Ionisation and delta ray/knock on electron production ( class
+name <i>G4MuIonisation</i>) </li>
+  <li>Nuclear interaction (class name <i>G4MuNuclearInteraction</i>) </li>
+  <li>Direct pair production (class name <i>G4MuPairProduction</i>) </li>
+In the case of
+muons, the bremsstrahlung, ionisation and pair production processes
+give contributions to the total continuous energy loss. </li>
+</ul>
+<h4>5.2.1.4 ``X-ray production'' Processes</h4>
+The following is a summary of the X-ray production processes available
+in Geant4.
+<ul type="circle">
+  <li>Cerenkov process (class name <i>G4Cerenkov</i>) </li>
+  <li>Synchrotron radiation (class name <i>G4SynchrotronRadiation</i>)</li>
+  <li>Transition radiation (class names <i>G4TransitionRadiation</i>
+and <i>G4ForwardXrayTR</i>). </li>
+</ul>
+The Low Energy electromagnetic processes listed in section 5.2.1.2 also
+produce X-rays through fluorescence.
+<p></p>
+<hr><a name="5.2.2"></a>
+<h2>5.2.2 Hadronic Interactions</h2>
+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="../../../../UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html">
+<b>Physics Reference Manual</b></a>.
+<p></p>
+<h4>5.2.2.1 Treatment of Cross Sections</h4>
+<b>Cross section data sets</b>
+<p> Each hadronic process object (derived from <i>G4HadronicProcess</i>)
+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 <i>G4VCrossSectionDataSet</i>, and are
+required to implement the following methods:
+</p>
+<p> </p>
+<pre>    G4bool IsApplicable( const G4DynamicParticle*, const G4Element* )<br> </pre>
+This method must return <tt>True</tt> if the data set is able to
+calculate a total cross section for the given particle and material,
+and <tt>False</tt> otherwise.
+<p> </p>
+<pre>    G4double GetCrossSection( const G4DynamicParticle*, const G4Element* )<br> </pre>
+This method, which will be invoked only if <tt>True</tt> was returned
+by <tt>IsApplicable</tt>, must return a cross section, in Geant4
+default units, for the given particle and material.
+<p> </p>
+<pre>    void BuildPhysicsTable( const G4ParticleDefinition&amp; )<br> </pre>
+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> </p>
+<pre>    void DumpPhysicsTable( const G4ParticleDefinition&amp; ) = 0<br> </pre>
+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><b>Cross section data store</b>
+</p>
+<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 <i>G4CrossSectionDataStore</i>
+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>
+<p> </p>
+<pre>    G4CrossSectionDataStore()<br>   ~G4CrossSectionDataStore()<br> </pre>
+and
+<p> </p>
+<pre>    G4double GetCrossSection( const G4DynamicParticle*, const G4Element* )<br> </pre>
+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>G4Exception</tt>
+is thrown and <tt>DBL_MIN</tt> is returned. Otherwise, each data set
+in the list is queried, in reverse list order, by invoking its <tt>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>GetCrossSection</tt> method. If no data set responds
+positively, a <tt>G4Exception</tt> is thrown and <tt>DBL_MIN</tt> is
+returned.
+<p> </p>
+<pre>    void AddDataSet( G4VCrossSectionDataSet* aDataSet )<br> </pre>
+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>GetCrossSection</tt> request, does the <tt>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>
+<pre>    void BuildPhysicsTable( const G4ParticleDefinition&amp; aParticleType )<br> </pre>
+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>BuildPhysicsTable</tt>
+of each of its data sets.
+<p> </p>
+<pre>    void DumpPhysicsTable( const G4ParticleDefinition&amp; )<br> </pre>
+This method may be used to request the data store to invoke the <tt>DumpPhysicsTable</tt>
+method of each of its data sets.
+<p><b>Default cross sections</b>
+</p>
+<p> The defaults for total cross section data and calculations have
+been encapsulated in the singleton class <i>G4HadronCrossSections</i>.
+Each hadronic process: <i>G4HadronInelasticProcess</i>, <i>G4HadronElasticProcess</i>,
+<i>G4HadronFissionProcess</i>, and <i>G4HadronCaptureProcess</i>,
+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 <i>G4HadronCrossSections</i> 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 <i>G4HadronicProcess</i> has a
+``get'' method: </p>
+<pre>    G4CrossSectionDataStore* GetCrossSectionDataStore()<br> </pre>
+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:
+<pre>    G4Hadron...Process aProcess(...)<br><br>    MyCrossSectionDataSet myDataSet(...)<br><br>    aProcess.GetCrossSectionDataStore()-&gt;AddDataSet( &amp;MyDataSet )<br> </pre>
+<p> The added data set will override the default cross section data
+whenever so indicated by its <tt>IsApplicable</tt> method.
+</p>
+<p> In addition to the ``get'' method, <i>G4HadronicProcess</i> also
+has the method </p>
+<pre>    void SetCrossSectionDataStore( G4CrossSectionDataStore* )<br> </pre>
+<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 <i>G4HadronCrossSections</i> class
+mentioned above. Indeed, <i>G4VCrossSectionDataSet</i> 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 <i>G4HadronCrossSections</i>
+reuses the total cross-sections for inelastic and elastic scattering,
+radiative capture and fission as used with <b>GHEISHA</b> to provide
+cross-sections for calculation of the respective mean free paths of a
+given particle in a given material.
+</p>
+<p></p>
+<h4>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>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 <i>G4NeutronHPElasticData</i>, <i>G4NeutronHPCaptureData</i>,
+<i>G4NeutronHPFissionData</i>, and <i>G4NeutronHPInelasticData</i>.
+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>
+<p></p>
+<h4>5.2.2.2 Hadrons at Rest</h4>
+<b>List of implemented "Hadron at Rest" processes</b>
+<p> The following process classes have been implemented: </p>
+<ul type="circle">
+  <li>pi- absorption (class name <i>G4PionMinusAbsorptionAtRest</i> or
+    <i>G4PiMinusAbsorptionAtRest</i>)</li>
+  <li>kaon- absorption (class name <i>G4KaonMinusAbsorptionAtRest</i>
+or <i>G4KaonMinusAbsorption</i>)</li>
+  <li>neutron capture (class name <i>G4NeutronCaptureAtRest</i>)</li>
+  <li>anti-proton annihilation (class name <i>G4AntiProtonAnnihilationAtRest</i>)</li>
+  <li>anti-neutron annihilation (class name <i>G4AntiNeutronAnnihilationAtRest</i>)</li>
+  <li>mu- capture (class name <i>G4MuonMinusCaptureAtRest</i>)</li>
+  <li>alternative CHIPS model for any negativly charged particle (class name <i>G4QCaptureAtRest</i>)</li>
+</ul>
+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 betweeen 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><b>Implementation Interface to Geant4</b>
+</p>
+<p> All of these classes are derived from the abstract class <i>G4VRestProcess</i>.
+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>
+<p> </p>
+<ul>
+  <li><tt>AtRestGetPhysicalInteractionLength( const G4Track&amp;,
+G4ForceCondition* )</tt><br>
+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>
+  </li>
+  <li><tt>AtRestDoIt( const G4Track&amp;, const G4Step&amp; )</tt><br>
+This method generates the secondary particles produced by the process.
+    <p> </p>
+  </li>
+  <li><tt>IsApplicable( const G4ParticleDefinition&amp; )</tt><br>
+This method returns the result of a check to see if the process is
+possible for a given particle. </li>
+</ul>
+<p>
+<b>Example of how to use a hadron at rest process</b>
+</p>
+<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>
+<ul>
+  <li>create a process:
+    <pre>       theProcess = new G4PionMinusAbsorptionAtRest();<br> </pre>
+  </li>
+  <li>register the process with the particle's process manager:
+    <pre>       theParticleDef = G4PionMinus::PionMinus();<br>       G4ProcessManager* pman = theParticleDef-&gt;GetProcessManager();<br>       pman-&gt;AddRestProcess( theProcess );<br> </pre>
+  </li>
+</ul>
+<h4>5.2.2.3 Hadrons in Flight</h4>
+<b>What processes do you need?</b>
+<p> For hadrons in motion, there are four physics process classes.
+Table 5.2.2.3 shows each process and the particles for which it is
+relevant.
+</p>
+<p> </p>
+<center>
+<table border="2" cellpadding="10">
+  <tbody>
+    <tr>
+      <td valign="top"><i>G4HadronElasticProcess</i> </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 valign="top"><i>G4HadronInelasticProcess</i> </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 valign="top"><i>G4HadronFissionProcess </i></td>
+      <td>all </td>
+    </tr>
+    <tr>
+      <td valign="top"><i>G4CaptureProcess</i> </td>
+      <td>n, n-bar </td>
+    </tr>
+    <tr>
+      <td align="center" colspan="2"> Table 5.2.2.3<br>
+Hadronic processes and relevant particles. </td>
+    </tr>
+  </tbody>
+</table>
+</center>
+<p>
+<b>How to register Models</b>
+</p>
+<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>
+<pre>   G4ParticleDefinition *theProton = G4Proton::ProtonDefinition();<br>   G4ProcessManager *theProtonProcMan = theProton-&gt;GetProcessManager();<br> </pre>
+Create an instance of the particle's inelastic process:
+<pre>   G4ProtonInelasticProcess *theProtonIEProc = new G4ProtonInelasticProcess();<br> </pre>
+Create an instance of the model which determines the secondaries
+produced in the interaction, and calculates the momenta of the
+particles:
+<pre>   G4LEProtonInelastic *theProtonIE = new G4LEProtonInelastic();<br> </pre>
+Register the model with the particle's inelastic process:
+<pre>   theProtonIEProc-&gt;RegisterMe( theProtonIE );<br> </pre>
+Finally, add the particle's inelastic process to the list of discrete
+processes:
+<pre> <br>   theProtonProcMan-&gt;AddDiscreteProcess( theProtonIEProc );<br> </pre>
+The particle's inelastic process class, <i>G4ProtonInelasticProcess</i>
+in the example above, derives from the <i>G4HadronicInelasticProcess</i>
+class, and simply defines the process name and calls the <i>G4HadronicInelasticProcess</i>
+constructor. All of the specific particle inelastic processes derive
+from the <i>G4HadronicInelasticProcess</i> class, which calls the <tt>PostStepDoIt</tt>
+function, which returns the particle change object from the <i>G4HadronicProcess</i>
+function <tt>GeneralPostStepDoIt</tt>. This class also gets the mean
+free path, builds the physics table, and gets the microscopic cross
+section. The <i>G4HadronicInelasticProcess</i> class derives from the
+<i>G4HadronicProcess</i> class, which is the top level hadronic process
+class.
+The <i>G4HadronicProcess</i> class derives from the <i>G4VDiscreteProcess</i>
+class. The inelastic, elastic, capture, and fission processes derive
+from the <i>G4HadronicProcess</i> class. This pure virtual class also
+provides the energy range manager object and the <tt>RegisterMe</tt>
+access function.
+<p>A sample case for the proton's inelastic interaction model class is
+shown in source listing 5.2.2, where <tt>G4LEProtonInelastic.hh</tt>
+is the name of the include file:
+</p>
+<p></p>
+<center>
+<table border="2" cellpadding="10">
+  <tbody>
+    <tr>
+      <td>
+      <pre> ----------------------------- include file ------------------------------------------<br><br>#include "G4InelasticInteraction.hh"<br> class G4LEProtonInelastic : public G4InelasticInteraction<br> {<br> public:<br>    G4LEProtonInelastic() : G4InelasticInteraction()<br>    {<br>      SetMinEnergy( 0.0 );<br>      SetMaxEnergy( 25.*GeV );<br>    }<br>    ~G4LEProtonInelastic() { }<br>    G4ParticleChange *ApplyYourself( const G4Track &amp;aTrack,<br>                                     G4Nucleus &amp;targetNucleus );<br> private:<br>    void CascadeAndCalculateMomenta( required arguments );<br> };<br><br> ----------------------------- source file ------------------------------------------<br><br> #include "G4LEProtonInelastic.hh"<br> G4ParticleChange *<br>  G4LEProton Inelastic::ApplyYourself( const G4Track &amp;aTrack,<br>                                       G4Nucleus &amp;targetNucleus )<br>  {<br>    theParticleChange.Initialize( aTrack );<br>    const G4DynamicParticle *incidentParticle = aTrack.GetDynamicParticle();<br>    // create the target particle<br>    G4DynamicParticle *targetParticle = targetNucleus.ReturnTargetParticle();<br>    CascadeAndCalculateMomenta( required arguments )<br>    { ... }<br>    return &amp;theParticleChange;<br>  }<br> </pre>
+      </td>
+    </tr>
+    <tr>
+      <td align="center"> Source listing 5.2.2<br>
+An example of a proton inelastic interaction model class.
+      </td>
+    </tr>
+  </tbody>
+</table>
+</center>
+<p>
+The <tt>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 <i>ParticleChange</i>
+object which is returned.
+</p>
+<p>The <i>G4LEProtonInelastic</i> class derives from the <i>G4InelasticInteraction</i>
+class, which is an abstract base class since the pure virtual function <tt>ApplyYourself</tt>
+is not defined there. <i>G4InelasticInteraction</i> itself derives
+from the
+<i>G4HadronicInteraction</i> 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 <i>G4HadronicInteraction</i>
+class provides the <tt>Set/GetMinEnergy</tt> and the <tt>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>
+<p> </p>
+<pre> void SetMinEnergy( G4double anEnergy, G4Element *anElement )<br> void SetMinEnergy( G4double anEnergy, G4Material *aMaterial )<br> void SetMinEnergy( const G4double anEnergy )<br> void SetMaxEnergy( G4double anEnergy, G4Element *anElement )<br> void SetMaxEnergy( G4double anEnergy, G4Material *aMaterial )<br> void SetMaxEnergy( const G4double anEnergy )<br> </pre>
+<p>
+<b>Which models are there, and what are the defaults</b>
+</p>
+<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>
+<p> </p>
+<ul>
+  <li>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 <b>GHEISHA</b> 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>hadronics/models/low_energy</tt> and <tt>hadronics/models/high_energy</tt>.
+The low energy models are targeted towards energies below 20&nbsp;GeV;
+the high energy models cover the energy range from 20&nbsp;GeV to
+O(TeV). Fission, capture and coherent elastic scattering are also
+modeled through parametrised models. </li>
+  <li>Data driven models are available for the transport of low energy
+neutrons in matter in sub-directory <tt>hadronics/models/neutron_hp</tt>.
+The modeling is based on the data formats of <b>ENDF/B-VI</b>, 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&nbsp;MeV. </li>
+  <li>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>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. </li>
+</ul>
+<p>
+</p>
+<hr><a name="5.2.3"></a>
+<h2>5.2.3 Particle Decay Process</h2>
+This section briefly introduces decay processes installed in Geant4.
+For details of the implementation of particle decays, please refer to
+the <a
+ href="../../../../UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html">
+<b>Physics Reference Manual</b></a>.
+<p></p>
+<h4>5.2.3.1 Particle Decay Class</h4>
+Geant4 provides a <i>G4Decay</i> class for both ``at rest'' and ``in
+flight'' particle decays. <i>G4Decay</i> can be applied to all
+particles except:
+<center>
+<table>
+  <tbody>
+    <tr>
+      <td>massless particles, i.e., </td>
+      <td><tt>G4ParticleDefinition::thePDGMass &lt;= 0</tt> </td>
+    </tr>
+    <tr>
+      <td>particles with ``negative'' life time, i.e., </td>
+      <td><tt>G4ParticleDefinition::thePDGLifeTime &lt; 0</tt> </td>
+    </tr>
+    <tr>
+      <td>shortlived particles, i.e., </td>
+      <td><tt>G4ParticleDefinition::fShortLivedFlag = True</tt> </td>
+    </tr>
+  </tbody>
+</table>
+</center>
+<p>
+Decay for some particles may be switched on or off by using <tt>G4ParticleDefinition::SetPDGStable()</tt>
+as well as <tt>ActivateProcess()</tt> and <tt>InActivateProcess()</tt>
+methods of <i>G4ProcessManager</i>.
+</p>
+<p><i>G4Decay</i> proposes the step length (or step time for <tt>AtRest</tt>)
+according to the lifetime of the particle unless <tt>PreAssignedDecayProperTime</tt>
+is defined in <i>G4DynamicParticle</i>.
+</p>
+<p>The <i>G4Decay</i> class itself does not define decay modes of the
+particle. Geant4 provides two ways of doing this: </p>
+<ul>
+  <li>using <i>G4DecayChannel</i> in <i>G4DecayTable</i>, and </li>
+  <li>using <tt>thePreAssignedDecayProducts</tt> of <i>G4DynamicParticle</i>
+  </li>
+</ul>
+The <i>G4Decay</i> class calculates the <tt>PhysicalInteractionLength</tt>
+and boosts decay products created by <i>G4VDecayChannel</i> or event
+generators. See below for information on the determination of the decay
+modes.
+<p>An object of <i>G4Decay</i> can be shared by particles.
+Registration of the decay process to particles in the <tt>ConstructPhysics</tt>
+method of <i>PhysicsList</i> (see <a
+ href="../GettingStarted/physicsDef.html#2.5.3">Section 2.5.3</a>)
+is shown in Source listing 5.2.3.
+</p>
+<p></p>
+<center>
+<table border="2" cellpadding="10">
+  <tbody>
+    <tr>
+      <td>
+      <pre>#include "G4Decay.hh"<br>void ExN02PhysicsList::ConstructGeneral()<br>{<br>  // Add Decay Process<br>  G4Decay* theDecayProcess = new G4Decay();<br>  theParticleIterator-&gt;reset();<br>  while( (*theParticleIterator)() ){<br>    G4ParticleDefinition* particle = theParticleIterator-&gt;value();<br>    G4ProcessManager* pmanager = particle-&gt;GetProcessManager();<br>    if (theDecayProcess-&gt;IsApplicable(*particle)) { <br>      pmanager -&gt;AddProcess(theDecayProcess);<br>      // set ordering for PostStepDoIt and AtRestDoIt<br>      pmanager -&gt;SetProcessOrdering(theDecayProcess, idxPostStep);<br>      pmanager -&gt;SetProcessOrdering(theDecayProcess, idxAtRest);<br>    }<br>  }<br>}<br> </pre>
+      </td>
+    </tr>
+    <tr>
+      <td align="center"> Source listing 5.2.3<br>
+Registration of the decay process to particles in the <tt>ConstructPhysics</tt>
+method of <i>PhysicsList</i>.
+      </td>
+    </tr>
+  </tbody>
+</table>
+</center>
+<p>
+</p>
+<h4>5.2.3.2 Decay Table</h4>
+Each particle has its <i>G4DecayTable</i>, 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 <i>G4VDecayChannel</i>. Default decay modes are created
+in the constructors of particle classes. For example, the decay table
+of the neutral pion has <i>G4PhaseSpaceDecayChannel</i> and <i>G4DalitzDecayChannel</i>
+as follows:
+<p> </p>
+<pre>  // create a decay channel<br>  G4VDecayChannel* mode;<br>  // pi0 -&gt; gamma + gamma<br>  mode = new G4PhaseSpaceDecayChannel("pi0",0.988,2,"gamma","gamma");<br>  table-&gt;Insert(mode);<br>  // pi0 -&gt; gamma + e+ + e-<br>  mode = new G4DalitzDecayChannel("pi0",0.012,"e-","e+");<br>  table-&gt;Insert(mode);<br> </pre>
+<p>
+Decay modes and branching ratios defined in Geant4 are listed in <a
+ href="particle.html#5.3.2">Section 5.3.2</a>.
+</p>
+<h4>5.2.3.3 Pre-assigned Decay Modes by Event Generators</h4>
+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 <i>G4VDecayChannel</i>. 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>pre-assigned decay mode</tt> and <tt>external
+decayer</tt>.
+<p>In the latter approach, the class <i>G4VExtDecayer</i> is used for
+the interface to an external package which defines decay modes for a
+particle. If an instance of <i>G4VExtDecayer</i> is attached to <i>G4Decay</i>,
+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.
+<i>G4VPrimaryGenerator</i> automatically attaches any daughter
+particles
+to the parent particle as the PreAssignedDecayProducts member of <i>G4DynamicParticle</i>.
+<i>G4Decay</i> adopts these pre-assigned daughter particles instead of
+asking
+<i>G4VDecayChannel</i> to generate decay products.
+</p>
+<p>In addition, the user may assign a <tt>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 <i>G4PrimaryParticle::SetProperTime()</i>
+method. <i>G4VPrimaryGenerator</i> sets the PreAssignedDecayProperTime
+member of <i>G4DynamicParticle</i>. <i>G4Decay</i> uses this decay
+time instead of the life time of the particle type.
+</p>
+<hr><a name="5.2.4"></a>
+<h2>5.2.4 Photolepton-hadron Processes</h2>
+To be delivered.
+<p><br>
+<br>
+</p>
+<hr><a name="5.2.5"></a>
+<h2>5.2.5 Optical Photon Processes</h2>
+<p>
+A photon is considered to be <i>optical</i> 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 <i>gamma</i>
+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>G4MaterialPropertiesTable</tt>
+which is linked to the <tt>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>G4Material</tt> class. The <tt>G4MaterialPropertiesTable</tt>
+is implemented as a hash directory, in which each entry consists of a <i>value</i>
+and a <i>key</i>. The key is used to quickly and efficiently retrieve
+the corresponding value. All values in the dictionary are either
+instantiations of <tt>G4double</tt> or the class <tt>G4MaterialPropertyVector</tt>,
+and all keys are of type <tt>G4String</tt>. </p>
+<p>
+A <tt>G4MaterialPropertyVector</tt> is composed of instantiations of
+the class <tt>G4MPVEntry</tt>. The <tt>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>G4MaterialPropertyVector</tt> is
+implemented as a <tt>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>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>G4MaterialPropertiesTable</tt> class. An example
+of this is shown in source listing 5.2.4. </p>
+<center>
+<table border="2" cellpadding="10">
+  <tbody>
+    <tr>
+      <td>
+      <pre>const G4int NUMENTRIES = 32;<br><br>G4double ppckov[NUMENTRIES] = {2.034*eV, ......, 4.136*eV};<br>G4double rindex[NUMENTRIES] = {1.3435, ......, 1.3608};<br>G4double absorption[NUMENTRIES] = {344.8*cm, ......, 1450.0*cm];<br><br>G4MaterialPropertiesTable *MPT = new G4MaterialPropertiesTable();<br><br>MPT -&gt; AddConstProperty("SCINTILLATIONYIELD",100./MeV);<br><br>MPT -&gt; AddProperty("RINDEX",ppckov,rindex,NUMENTRIES};<br>MPT -&gt; AddProperty("ABSLENGTH",ppckov,absorption,NUMENTRIES};<br><br>scintillator -&gt; SetMaterialPropertiesTable(MPT);<br><br></pre>
+      </td>
+    </tr>
+    <tr>
+      <td align="center"> Source listing 5.2.4<br>
+Optical properties added to a <tt>G4MaterialPropertiesTable</tt> and
+linked to a <tt>G4Material</tt>.
+      </td>
+    </tr>
+  </tbody>
+</table>
+</center>
+<h4>5.2.5.1 Generation of Photons in <tt>processes/electromagnetic/xrays</tt>
+- Cerenkov Effect</h4>
+<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>AlongStepDoIt</tt> method of the class <tt>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>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>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>SetTrackSecondariesFirst</tt>.
+An example of the registration of the Cerenkov process is given in
+source listing 5.2.5. </p>
+<center>
+<table border="2" cellpadding="10">
+  <tbody>
+    <tr>
+      <td>
+      <pre>#include "G4Cerenkov.hh"<br><br>void ExptPhysicsList::ConstructOp(){<br><br>  G4Cerenkov*   theCerenkovProcess = new G4Cerenkov("Cerenkov");<br><br>  G4int MaxNumPhotons = 300;<br><br>  theCerenkovProcess-&gt;SetTrackSecondariesFirst(true);<br>  theCerenkovProcess-&gt;SetMaxNumPhotonsPerStep(MaxNumPhotons);<br><br>  theParticleIterator-&gt;reset();<br>  while( (*theParticleIterator)() ){<br>    G4ParticleDefinition* particle = theParticleIterator-&gt;value();<br>    G4ProcessManager* pmanager = particle-&gt;GetProcessManager();<br>    G4String particleName = particle-&gt;GetParticleName();<br>    if (theCerenkovProcess-&gt;IsApplicable(*particle)) {<br>      pmanager-&gt;AddContinuousProcess(theCerenkovProcess);<br>    }<br>  }<br>}<br></pre>
+      </td>
+    </tr>
+    <tr>
+      <td align="center"> Source listing 5.2.5<br>
+Registration of the Cerenkov process in <tt>PhysicsList</tt>.
+      </td>
+    </tr>
+  </tbody>
+</table>
+</center>
+<h4>5.2.5.2 Generation of Photons in <tt>processes/electromagnetic/xrays</tt>
+-
+Scintillation</h4>
+<p>
+Every scintillating material has a characteristic light yield, <tt>SCINTILLATIONYIELD</tt>,
+and an intrinsic resolution, <tt>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>ResolutionScale*sqrt(MeanNumberOfPhotons)</tt>.
+The average light yield, <tt>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>YIELDRATIO</tt>. Scintillation may be
+simulated by specifying these empirical parameters for each material.
+It is sufficient to specify in the user's <tt>DetectorConstruction</tt>
+class a relative spectral distribution as a function of photon energy
+for the scintillating material. An example of this is shown in source
+listing 5.2.6. </p>
+<p>
+</p>
+<center>
+<table border="2" cellpadding="10">
+  <tbody>
+    <tr>
+      <td>
+      <pre>  const G4int NUMENTRIES = 9;<br>  G4double Scnt_PP[NUMENTRIES] = { 6.6*eV, 6.7*eV, 6.8*eV, 6.9*eV,<br>                                   7.0*eV, 7.1*eV, 7.2*eV, 7.3*eV, 7.4*eV };<br><br>  G4double Scnt_FAST[NUMENTRIES] = { 0.000134, 0.004432, 0.053991, 0.241971, <br>                                     0.398942, 0.000134, 0.004432, 0.053991,<br>                                     0.241971 };<br>  G4double Scnt_SLOW[NUMENTRIES] = { 0.000010, 0.000020, 0.000030, 0.004000,<br>                                     0.008000, 0.005000, 0.020000, 0.001000,<br>                                     0.000010 };<br><br>  G4Material* Scnt;<br>  G4MaterialPropertiesTable* Scnt_MPT = new G4MaterialPropertiesTable();<br><br>  Scnt_MPT-&gt;AddProperty("FASTCOMPONENT", Scnt_PP, Scnt_FAST, NUMENTRIES);<br>  Scnt_MPT-&gt;AddProperty("SLOWCOMPONENT", Scnt_PP, Scnt_SLOW, NUMENTRIES);<br><br>  Scnt_MPT-&gt;AddConstProperty("SCINTILLATIONYIELD", 5000./MeV);<br>  Scnt_MPT-&gt;AddConstProperty("RESOLUTIONSCALE", 2.0);<br>  Scnt_MPT-&gt;AddConstProperty("FASTTIMECONSTANT",  1.*ns);<br>  Scnt_MPT-&gt;AddConstProperty("SLOWTIMECONSTANT", 10.*ns);<br>  Scnt_MPT-&gt;AddConstProperty("YIELDRATIO", 0.8);<br><br>  Scnt-&gt;SetMaterialPropertiesTable(Scnt_MPT);<br></pre>
+      </td>
+    </tr>
+    <tr>
+      <td align="center"> Source listing 5.2.6<br>
+Specification of scintillation properties in <tt>DetectorConstruction</tt>.
+      </td>
+    </tr>
+  </tbody>
+</table>
+</center>
+<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>ScintillationYieldFactor</tt> in the user's <tt>PhysicsList</tt>
+as shown in source listing 5.2.7. In those cases where the fast to slow
+excitation ratio changes with particle type, the method <tt>SetScintillationExcitationRatio</tt>
+can be called for each scintillation process (see the advanced
+underground_physics example). This overwrites the <tt>YieldRatio</tt>
+obtained from the <tt>G4MaterialPropertiesTable</tt>. </p>
+<p>
+</p>
+<center>
+<table border="2" cellpadding="10">
+  <tbody>
+    <tr>
+      <td>
+      <pre>  G4Scintillation* theMuonScintProcess = new G4Scintillation("Scintillation");<br><br>  theMuonScintProcess-&gt;SetTrackSecondariesFirst(true);<br>  theMuonScintProcess-&gt;SetScintillationYieldFactor(0.8);<br><br>  theParticleIterator-&gt;reset();<br>  while( (*theParticleIterator)() ){<br>    G4ParticleDefinition* particle = theParticleIterator-&gt;value();<br>    G4ProcessManager* pmanager = particle-&gt;GetProcessManager();<br>    G4String particleName = particle-&gt;GetParticleName();<br>    if (theMuonScintProcess-&gt;IsApplicable(*particle)) {<br>       if (particleName == "mu+") {<br>          pmanager-&gt;AddProcess(theMuonScintProcess);<br>          pmanager-&gt;SetProcessOrderingToLast(theMuonScintProcess, idxAtRest);<br>          pmanager-&gt;SetProcessOrderingToLast(theMuonScintProcess, idxPostStep);<br>       }<br>    }<br>  }<br></pre>
+      </td>
+    </tr>
+    <tr>
+      <td align="center"> Source listing 5.2.7<br>
+Implementation of the scintillation process in <tt>PhysicsList</tt>.
+      </td>
+    </tr>
+  </tbody>
+</table>
+</center>
+<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>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>
+<h4>5.2.5.3 Generation of Photons in <tt>processes/optical</tt> -
+Wavelength Shifting</h4>
+<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>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 source listing 5.2.8. </p>
+<p>
+</p>
+<center>
+<table border="2" cellpadding="10">
+  <tbody>
+    <tr>
+      <td>
+      <pre> const G4int nEntries = 9;<br><br> G4double PhotonEnergy[nEntries] = { 6.6*eV, 6.7*eV, 6.8*eV, 6.9*eV,<br>                                   7.0*eV, 7.1*eV, 7.2*eV, 7.3*eV, 7.4*eV };<br><br> G4double RIndexFiber[nEntries] =<br>           { 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60 };<br> G4double AbsFiber[nEntries] =<br>           {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};<br> G4double EmissionFiber[nEntries] =<br>           {0.0, 0.0, 0.0, 0.1, 0.5, 1.0, 5.0, 10.0, 10.0 };<br><br>  G4Material* WLSFiber;<br>  G4MaterialPropertiesTable* MPTFiber = new G4MaterialPropertiesTable();<br><br>  MPTFiber-&gt;AddProperty("RINDEX",PhotonEnergy,RIndexFiber,nEntries);<br>  MPTFiber-&gt;AddProperty("WLSABSLENGTH",PhotonEnergy,AbsFiber,nEntries);<br>  MPTFiber-&gt;AddProperty("WLSCOMPONENT",PhotonEnergy,EmissionFiber,nEntries);<br>  MPTFiber-&gt;AddConstProperty("WLSTIMECONSTANT", 0.5*ns);<br><br>  WLSFiber-&gt;SetMaterialPropertiesTable(MPTFiber);<br><br></pre>
+      </td>
+    </tr>
+    <tr>
+      <td align="center"> Source listing 5.2.8<br>
+Specification of WLS properties in <tt>DetectorConstruction</tt>.
+      </td>
+    </tr>
+  </tbody>
+</table>
+</center>
+<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->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->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>
+<h4>5.2.5.4 Tracking of Photons in <tt>processes/optical</tt></h4>
+<p>
+<b>Absorption</b> </p>
+<p>The implementation of optical photon bulk absorption, <tt>G4OpAbsorption</tt>,
+is trivial in that the process merely kills the particle. The procedure
+requires the user to fill the relevant <tt>G4MaterialPropertiesTable</tt>
+with
+empirical data for the absorption length, using <tt>ABSLENGTH</tt> as
+the property key in the public method <tt>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>GetMeanFreePath</tt>
+method. </p>
+<p>
+<b>Rayleigh Scattering</b>
+</p>
+<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>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>G4DynamicParticle</tt> class.
+</p>
+<p>A photon which is not assigned a polarization at production, either
+via the <tt>SetPolarization</tt> method of the <tt>G4PrimaryParticle</tt>
+class, or indirectly with the <tt>SetParticlePolarization</tt> method
+of the <tt>G4ParticleGun</tt> class, may not be Rayleigh scattered.
+Optical photons produced by the <tt>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>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>GetMeanFreePath</tt> method. The <tt>G4OpRayleigh</tt>
+class provides a <tt>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 <i>Water</i> and no Rayleigh
+scattering attenutation length specified by the user, the program
+automatically calls the
+<tt>RayleighAttenuationLengthGenerator</tt></p>
+which calculates it for
+10 degrees Celsius liquid water.
+<p></p>
+<p>
+<b>Boundary Process</b>
+</p>
+<p>[E. Hecht and A. Zajac, Optics, Addison-Wesley Publishing Co., pp.
+71-80
+and pp. 244-246, 1974.]</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>G4MaterialPropertiesTable</tt>.
+In all other cases, the optical boundary process design relies on the
+concept of <i>surfaces</i>. 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 <i>border surface</i> while the latter is referred to as the <i>skin
+surface</i>. 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>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>G4Navigator</tt>.
+Combinations of surface finish properties, such as <i>polished</i> or <i>ground</i>
+and <i>front painted</i> or <i>back painted</i>, 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>G4OpBoundaryProcess</tt> class employs
+the <a
+ href="http://geant4.slac.stanford.edu/UsersWorkshop/G4Lectures/Peter/moisan.ps">
+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>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>
+<p>
+</p>
+<center>
+<table border="2" cellpadding="10">
+  <tbody>
+    <tr>
+      <td>
+      <pre>G4VPhysicalVolume* volume1;<br>G4VPhysicalVolume* volume2;<br><br>G4OpticalSurface* OpSurface = new G4OpticalSurface("name");<br><br>G4LogicalBorderSurface* Surface = new<br>  G4LogicalBorderSurface("name",volume1,volume2,OpSurface);<br><br>G4double sigma_alpha = 0.1;<br><br>OpSurface -&gt; SetType(dielectric_dielectric);<br>OpSurface -&gt; SetModel(unified);<br>OpSurface -&gt; SetFinish(groundbackpainted);<br>OpSurface -&gt; SetSigmaAlpha(sigma_alpha);<br><br>const G4int NUM = 2;<br><br>G4double pp[NUM] = {2.038*eV, 4.144*eV};<br>G4double specularlobe[NUM] = {0.3, 0.3};<br>G4double specularspike[NUM] = {0.2, 0.2};<br>G4double backscatter[NUM] = {0.1, 0.1};<br>G4double rindex[NUM] = {1.35, 1.40};<br>G4double reflectivity[NUM] = {0.3, 0.5};<br>G4double efficiency[NUM] = {0.8, 0.1};<br><br>G4MaterialPropertiesTable* SMPT = new G4MaterialPropertiesTable();<br><br>SMPT -&gt; AddProperty("RINDEX",pp,rindex,NUM);<br>SMPT -&gt; AddProperty("SPECULARLOBECONSTANT",pp,specularlobe,NUM);<br>SMPT -&gt; AddProperty("SPECULARSPIKECONSTANT",pp,specularspike,NUM);<br>SMPT -&gt; AddProperty("BACKSCATTERCONSTANT",pp,backscatter,NUM);<br>SMPT -&gt; AddProperty("REFLECTIVITY",pp,reflectivity,NUM);<br>SMPT -&gt; AddProperty("EFFICIENCY",pp,efficiency,NUM);<br><br>OpSurface -&gt; SetMaterialPropertiesTable(SMPT);<br></pre>
+      </td>
+    </tr>
+    <tr>
+      <td align="center"> Source listing 5.2.9<br>
+Dielectric-dielectric surface properties defined via the <i>G4OpticalSurface</i>.
+      </td>
+    </tr>
+  </tbody>
+</table>
+</center>
+<p></p>
+The original <a
+ href="http://cern.ch/wwwasdoc/geant_html3/node231.html#SECTION09700000000000000000000">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></p>
+<p></p>
+<center>
+<table border="2" cellpadding="10">
+  <tbody>
+    <tr>
+      <td>
+      <pre>G4LogicalVolume* volume_log;<br><br>G4OpticalSurface* OpSurface = new G4OpticalSurface("name");<br><br>G4LogicalSkinSurface* Surface = new<br>  G4LogicalSkinSurface("name",volume_log,OpSurface);<br><br>OpSurface -&gt; SetType(dielectric_metal);<br>OpSurface -&gt; SetFinish(ground);<br>OpSurface -&gt; SetModel(glisur);<br><br>G4double polish = 0.8;<br><br>G4MaterialPropertiesTable *OpSurfaceProperty = new G4MaterialPropertiesTable();<br><br>OpSurfaceProperty -&gt; AddProperty("REFLECTIVITY",pp,reflectivity,NUM);<br>OpSurfaceProperty -&gt; AddProperty("EFFICIENCY",pp,efficiency,NUM);<br><br>OpSurface -&gt; SetMaterialPropertiesTable(OpSurfaceProperty);<br></pre>
+      </td>
+    </tr>
+    <tr>
+      <td align="center"> Source listing 5.2.10<br>
+Dielectric metal surface properties defined via the <i>G4OpticalSurface</i>.
+      </td>
+    </tr>
+  </tbody>
+</table>
+</center>
+<p></p>
+<p> The program defaults to the GLISUR model and <i>polished</i>
+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 <i>polished</i> or <i>ground</i>.
+For dielectric-metal surfaces, the <tt>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>
+<p>
+<br>
+<br>
+</p>
+<hr><a name="5.2.6"></a>
+<h2>5.2.6 Parameterization</h2>
+In this section we describe how to use the parameterization or
+"fast simulation" facilities of GEANT4. Examples are provided in the
+<b>examples/novice/N05 directory</b>.
+<p><b>5.2.6.1 Generalities:</b> <br>
+</p>
+<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>
+Parameterisations are bound to a <b><code>G4Region</code></b> object, which,
+in the case of fast simulation is also called an <b>envelope</b>.
+Prior to release 8.0, parameterisations were bound to a 
+<code>G4LogicalVolume</code>, the root of a volume hierarchy. These root 
+volumes are now attributes of the <code>G4Region</code>.
+Envelopes often correspond to the volumes of sub-detectors: electromagnetic 
+calorimeters, tracking chambers, etc. With GEANT4 it is also possible to 
+define envelopes by overlaying a parallel or &quot;ghost&quot geometry as 
+discussed in section 5.2.6.7.
+
+<br><br>
+In GEANT4, parameterisations have three main features. You must specify: 
+</p>
+  <ul>
+    <li>the particle types for which your parameterisation is valid;</li>
+    <li>the dynamics conditions for which your parameterisation is valid
+        and must be triggered;</li>
+    <li>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.</li>
+    </ul>
+
+<p>
+GEANT4 will message your parameterisation code for each step starting
+in any root G4LogicalVolume (including daughters. sub-daughters, etc. of this 
+volume) of the <code>G4Region</code>. It will proceed by first asking the 
+available parameterisations for the current particle type if one of them (and 
+only one) wants to issue a trigger.  If so it will invoke its parameterisation.
+In this case, the tracking <b><i>will not apply physics</i></b> to the
+particle in the step.  Instead, the UserSteppingAction will be invoked.
+<br><br>
+Parameterisations look like a &quot;user stepping action&quot; but are
+more advanced because: </p>
+ <ul>
+   <li>parameterisation code is messaged only in the <code>G4Region</code> to
+       which it is bound;</li>
+   <li>parameterisation code is messaged anywhere in the <code>G4Region</code>,
+       that is, any volume in which the track is located;</li>
+   <li>GEANT4 will provide information to your parameterisation code about the 
+       current root volume of the <code>G4Region</code> in which the track is 
+       travelling.</li>
+ </ul>
+
+<p>
+<b>5.2.6.2 Overview of Parameterisation Components</b> <br>
+</p>
+<p>The GEANT4 components which allow the implementation and control of
+parameterisations are:
+</p>
+<ul>
+  <li><code><b>G4VFastSimulationModel</b></code> This is the abstract class for
+     the implementation of parameterisations. You must inherit from it to
+        implement your concrete parameterisation model.<br><br>
+      </li>
+  <li><code><b>G4FastSimulationManager</b></code> The G4VFastSimulationModel 
+     objects are attached to the <tt>G4Region</tt> through a 
+     G4FastSimulationManager.  This object will manage the list of models and 
+     will message them at tracking time.<br><br>
+     </li>
+
+  <li><code><b>G4Region/Envelope</b></code> As mentioned before, an envelope 
+      in GEANT4 is a <code><b>G4Region</b></code>. The parameterisation is
+      bound to the <code>G4Region</code> by setting a 
+      <code>G4FastSimulationManager</code> pointer to it.<br><br>
+
+      The figure below shows how the <code>G4VFastSimulationModel</code> and 
+      <code>G4FastSimulationManager</code> objects are bound to the 
+      <code>G4Region</code>.  Then for all root G4LogicalVolume's held by the 
+      G4Region, the fast simulation code is active.<br><br>
+
+      <img src="physicsProcessPARAM.src/ComponentsWithRegion.gif" height="291" width="606"> <br>
+  </li>
+
+  <li><code><b>G4FastSimulationManagerProcess</b></code> This is a 
+      <code>G4VProcess</code>.  It provides the interface between the tracking 
+      and the parameterisation. It must be set in the process list of the 
+      particles you want to parameterise.<br><br></li>
+
+  <li><code><b>G4GlobalFastSimulationManager</b></code> This a singleton class 
+      which provides the management of the <code>G4FastSimulationManager</code>
+      objects and some ghost facilities.</li>
+</ul>
+<br>
+<p>
+<b>5.2.6.3 The <code>G4VFastSimulationModel</code> Abstract Class</b>
+</p>
+<ul>
+  <li><b>Constructors:</b><br><br>
+     The <code>G4VFastSimulationModel</code> class has two constructors. The 
+     second one allows you to get started quickly:<br><br>
+     <ul>
+       <li><b><code>G4VFastSimulationModel<i>(const G4String&amp; aName</i>):</code></b> 
+        Here <code>aName</code> identifies the parameterisation model.
+        <br><br></li>
+       <li><b><code>G4VFastSimulationModel(<i>const G4String&amp; aName, G4Region*, G4bool IsUnique=false</i>):</code></b>
+        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 <i>G4VFastSimulationModel object will not keep 
+        track of the G4Region passed in the constructor</i>.<br>
+        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 &quot;true&quot;.<br><br>
+       </li>
+     </ul>
+      </li>
+      <li><b>Virtual methods:</b><br><br>
+        The G4VFastSimulationModel has three pure virtual methods which must
+        be overriden in your concrete class:<br>
+        <br>
+      </li>
+    <ul>
+      <li><b><code>G4VFastSimulationModel<i>(const G4String&amp; aName</i>):</code></b>
+          Here aName identifies the parameterisation model.<br>
+        <br>
+      </li>
+
+      <li><b><code>G4bool ModelTrigger(<i>const G4FastTrack&amp;</i>):</code></b> 
+        You must return &quot;true&quot; when the dynamic conditions to trigger
+        your parameterisation are fulfilled. <br>
+        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.
+        <br>
+      </li>
+    </ul>
+  </li>
+  <li><b>Virtual methods:</b><br>
+    <br>
+The G4VFastSimulationModel has three pure virtual methods which must be
+overriden in your concrete class:<br>
+    <br>
+  </li>
+  <ul>
+    <li><b><code>G4bool IsApplicable(<i>const G4ParticleDefinition&amp;</i>):</code></b>
+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 ...).<br>
+      <br>
+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.<br>
+As an example, in a model valid for <i>gamma</i>s only, the
+IsApplicable() method should take the form:
+      <pre>#include "G4Gamma.hh"<br>G4bool MyGammaModel::IsApplicable(const G4ParticleDefinition&amp; partDef)<br>{<br>  return &amp;partDef == G4Gamma::GammaDefinition();<br>}<br>        </pre>
+    </li>
+    <li><b><code>G4bool ModelTrigger(<i>const G4FastTrack&amp;</i>):</code></b>
+You must return "true" when the dynamic conditions to trigger your
+parameterisation are fulfilled. <br>
+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. <br>
+      <br>
+    </li>
+    <li><b><code>void DoIt(<i>const G4FastTrack&amp;, G4FastStep&amp;</i>):</code></b>
+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.<br>
+      <br>
+    </li>
+  </ul>
+</ul>
+<p>
+<b>5.2.6.4 The <code>G4FastSimulationManager</code> Class:</b>
+</p> 
+G4FastSimulationManager functionnalities regarding the use of ghost volumes
+are explained in section 5.2.6.7.
+  <ul>
+    <li><b>Constructor:</b><br><br>
+      <ul>
+         <li><code><b>G4FastSimulationManager(<i>G4Region *anEnvelope, G4bool IsUnique=false</i>):</b></code>
+            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 
+            &quot;true&quot; to allow some optimization.<br>
+            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.<br><br>
+         </li>
+      </ul>
+    </li>
+    <li><b>G4VFastSimulationModel object management:</b><br><br>
+       The following two methods provide the usual management functions.
+       <br><br>
+      <ul>
+        <li><code><b>void AddFastSimulationModel(G4VFastSimulationModel*)</b></code></li>
+        <li><code><b>RemoveFastSimulationModel(G4VFastSimulationModel*)</b></code><br>
+        </li>
+      </ul>
+    </li>
+       <br>
+    <li><b>Interface with the G4FastSimulationManagerProcess:</b><br><br>
+        This is described in the User's Guide for Toolkit Developers 
+        (section 3.9.6)
+      </li>
+    </ul>
+
+
+<p>
+<b>5.2.6.5 The <code>G4FastSimulationManagerProcess</code> Class</b>
+</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><em>In the present implementation, you must set this process in the
+G4ProcessManager of the particles you parameterise to enable your
+parameterisation.</em>
+<p>
+
+<p>
+The processes ordering is:
+<pre>          [n-3] ...
+          [n-2] Multiple Scattering
+          [n-1] G4FastSimulationManagerProcess
+          [ n ] G4Transportation
+</pre>
+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.<br><br>
+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.<br>
+The following code registers the G4FastSimulationManagerProcess with all the 
+particles as a discrete and continuous process:
+    <pre>void MyPhysicsList::addParameterisation()
+{
+  G4FastSimulationManagerProcess*
+    theFastSimulationManagerProcess = new G4FastSimulationManagerProcess();
+  theParticleIterator->reset();
+  while( (*theParticleIterator)() )
+    {
+      G4ParticleDefinition* particle = theParticleIterator->value();
+      G4ProcessManager* pmanager = particle->GetProcessManager();
+      pmanager->AddProcess(theFastSimulationManagerProcess, -1, 0, 0);
+    }
+}
+    </pre>
+<br>
+<p>
+
+<b>5.2.6.6 The <code>G4GlobalFastSimulationManager</code> Singleton Class</b>
+</p>
+This class is a singleton which can be accessed as follows:<br><br>
+
+<pre>#include "G4GlobalFastSimulationManager.hh"
+...
+...
+G4GlobalFastSimulationManager* globalFSM;
+globalFSM = G4GlobalFastSimulationManager::getGlobalFastSimulationManager();
+...
+...
+</pre>
+
+Presently, you will mainly need to use the GlobalFastSimulationManager if you 
+use ghost geometries.<br><br><br>
+
+
+<p>
+<b>5.2.6.7 Parameterisation Using Ghost Geometries</b>
+</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.<br>
+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.<br><br>
+
+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.<br><br>
+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 &quot;clone&quot; 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.<br>
+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.<br>
+Then at the beginning of the tracking of a particle, the appropriate ghost 
+world, if any, will be selected.
+<p>
+The steps required to build one ghost G4Region are:
+
+<ol>
+  <li>built the ghost G4Region : myGhostRegion;</li>
+  <li>build the root G4LogicalVolume: myGhostLogical, set it to myGhostRegion;</li>
+  <li>build a G4FastSimulationManager object, myGhostFSManager, giving 
+      myGhostRegion as argument of the constructor;</li>
+  <li>give to the G4FastSimulationManager the placement of the 
+      myGhostLogical, by invoking for the G4FastSimulationManager
+      method:
+        <pre>     AddGhostPlacement(G4RotationMatrix*, const G4ThreeVector&);</pre>
+        or:
+        <pre>     AddGhostPlacement(G4Transform3D*);</pre>
+      where the rotation matrix and translation vector of the 3-D 
+      transformation describe the placement relative to the ghost
+      world coordinates.
+      </li>
+  <li>build your G4VFastSimulationModel objects and add them to the 
+      myGhostFSManager.<br>
+        <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>
+      </li>
+  <li>Invoke the G4GlobalFastSimulationManager method:
+    <pre>     G4GlobalFastSimulationManager::getGlobalFastSimulationManager()-&gt;<br>          CloseFastSimulation();<br>        </pre>
+  </li>
+</ol>
+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).<br>
+<br>
+<br>
+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:
+<ul>
+  <li>/vis/draw/Ghosts particle_name<br>
+which makes the drawing of the ghost geometry associated with the
+particle specified by name in the command line.</li>
+  <li>/vis/draw/Ghosts<br>
+which draws all the ghost geometries. </li>
+</ul>
+<br>
+<br>
+<p>
+<b>5.2.6.8 Gflash Parameterization </b>
+</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 <b>examples/extended/parametrisation/gflash/ </b>,
+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.
+<br>
+<br>
+<p>
+<b>5.2.6.9 Using the Gflash Parameterisation  </b>
+</p>
+To use Gflash "out of the box" the following steps are necessary:
+<ul>
+<li> The user must add the fast simulation process to his process manager:
+
+<pre>void MyPhysicsList::addParameterisation()
+{
+  G4FastSimulationManagerProcess*
+    theFastSimulationManagerProcess = new G4FastSimulationManagerProcess();
+  theParticleIterator->reset();
+  while( (*theParticleIterator)() )
+    {
+      G4ParticleDefinition* particle = theParticleIterator->value();
+      G4ProcessManager* pmanager = particle->GetProcessManager();
+      pmanager->AddProcess(theFastSimulationManagerProcess, -1, 0, 0);
+    }
+}</pre>
+ </li>
+
+
+<li> 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.
+<pre>
+m_theFastShowerModel = new GFlashShowerModel("fastShowerModel",m_calo_region);
+m_theParametrisation = new GFlashHomoShowerParamterisation(matManager->getMaterial(mat));
+m_theParticleBounds  = new GFlashParticleBounds();
+m_theHMaker          = new GFlashHitMaker();
+m_theFastShowerModel->SetParametrisation(*m_theParametrisation);
+m_theFastShowerModel->SetParticleBounds(*m_theParticleBounds) ;
+m_theFastShowerModel->SetHitMaker(*m_theHMaker);
+</pre>
+The user must also set the material of the calorimeter, since the computation 
+depends on the material.
+</li>
+<BR>
+<li>
+It is mandatory to use G4VGFlashSensitiveDetector as (additional)
+base class for the sensitive detector.
+    <pre>class ExGflashSensitiveDetector: public G4VSensitiveDetector ,public G4VGFlashSensitiveDetector <br></pre>
+Here it is necessary to implement a separate interface, where the
+GFlash spots are processed.
+    <pre> (ProcessHits(G4GFlashSpot*aSpot ,G4TouchableHistory* ROhist))</pre>
+A separate interface is used, because the Gflash spots naturally contain
+less information than the full simulation.
+  </li>
+</ul>
+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,<b>GVFlashHomoShowerTuning </b>, 
+to the GFlashHomoShowerParamterisation constructor. The default parameters are
+the original Gflash parameters:
+<pre>GFlashHomoShowerParameterisation(G4Material * aMat, GVFlashHomoShowerTuning * aPar = 0);<br><br></pre>
+Now there is also a preliminary implemenation of a parameterization for 
+sampling calorimeters.<br>
+The user must specify the active and passive material, as well as the
+thickness of the active and passive layer. <br>
+The sampling structure of the calorimeter is taken into account by
+using an "effective medium" to compute the shower shape.<br>
+All material properties needed are calculated automatically. If tuning
+is required,&nbsp; the user can pass his own parameter set in the <br>
+class <b>GFlashSamplingShowerTuning. </b>Here the user can also set
+his calorimeter resolution. <br>
+All in all the constructor looks the following:<br>
+<br>
+<pre>GFlashSamplingShowerParamterisation(G4Material * Mat1, G4Material * Mat2,G4double d1,G4double d2,<br>GVFlashSamplingShowerTuning * aPar = 0);</pre>
+An implementation of some tools that should help the user to tune the
+parameterization is forseen.
+<br>
+<p>
+</p>
+<hr><a name="5.2.7"></a>
+<h2>5.2.7 Transportation Process</h2>
+To be delivered by J. Apostolakis (<a
+ href="mailto:John.Apostolakis@cern.ch">John.Apostolakis@cern.ch</a>)
+<p><br>
+<br>
+</p>
+<hr><a href="../../../../Authors/html/subjectsToAuthors.html"><i>About
+the authors</i></a>
+</body>
+</html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/physicsProcessPARAM.src/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/physicsProcessPARAM.src/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/physicsProcessPARAM.src/CVS/Entries	(revision 1208)
@@ -0,0 +1,3 @@
+/Components.gif/1.1/Wed Nov 21 22:24:34 2001//
+/ComponentsWithRegion.gif/1.1/Fri Dec  2 18:01:59 2005/-kb/
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/physicsProcessPARAM.src/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/physicsProcessPARAM.src/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/physicsProcessPARAM.src/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/physicsProcessPARAM.src
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/physicsProcessPARAM.src/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/physicsProcessPARAM.src/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/physicsProcessPARAM.src/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/physicsTable.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/physicsTable.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/physicsTable.html	(revision 1208)
@@ -0,0 +1,131 @@
+<HTML>
+<HEAD>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (X11; I; AIX 4.1) [Netscape]">
+</HEAD>
+
+<BODY>
+<!-- Created by: Hisaya Kurashige,       2-Dec-2004 -->
+
+<BR>
+
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+
+</A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A>
+<A HREF="cutsPerRegion.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<A HREF="userLimits.html">
+<IMG SRC="../../../../resources/html/IconsGIF/NextGR.gif" ALT="Next" HEIGHT=16 WIDTH=59></A>
+</TD>
+<P>
+
+<TD ALIGN=RIGHT><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B></FONT></FONT>
+<BR><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>For Application Developers</B></FONT></FONT>
+<BR><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Tracking and Physics</B></FONT></FONT></TD>
+</TR>
+</TABLE>
+<P><BR>
+
+<CENTER><FONT COLOR="#238E23"><FONT SIZE=+3>
+<B>5.6 Physics Table</B></FONT></FONT>
+</CENTER>
+<P><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<P>
+
+<a name="5.6.1">
+<H2>5.6.1 General Concepts</H2></a>
+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>BuildPhysicsTable()</tt> method of <i>G4VProcess</i> 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>
+The <i>G4PhysicsTable</i> class is used to handle cross section tables. 
+<i>G4PhysicsTable</i> is a collection of instances of <i>G4PhysicsVector</i> 
+ (and derived classes), each of which has cross section values for a particle
+ within a given energy range traveling in a material. 
+<P>
+
+<HR>
+<a name="5.6.2">
+<H2>5.6.2 Material-Cuts Couple</H2></a>
+Users can assign different production cuts to different regions
+(see <a href="cutsPerRegion.html">Section 5.5</a> ).  This means that if
+the same material is used in regions with different cut values, the 
+processes need to prepare several different cross sections for that material.
+<p>
+The <i>G4ProductionCutsTable</i> has <i>G4MaterialCutsCouple</i> objects,
+each of which consists of a material paired with a cut value. 
+These <i>G4MaterialCutsCouple</i>s are numbered with an index which is 
+the same as the index of a <i>G4PhysicsVector</i> for the corresponding 
+<i>G4MaterialCutsCouple</i>in the <i>G4PhysicsTable</i>.  The list of 
+<i>MaterialCutsCouple</i>s used in the current geometry setup is updated
+before starting the event loop in each run.
+<P>
+
+<HR>
+<a name="5.6.3">
+<H2>5.6.3 File I/O for the Physics Table</H2></a>
+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>
+Using the built-in user command "<b>storePhysicsTable</b>" 
+(see <a href="../Control/UIcommands/_run_particle_.html">Section 7.1</a> ), 
+stores physics tables in files. Information on materials and cuts defined 
+in the current geometry setup are stored together with physics tables 
+because calculated values in the physics tables depend on 
+<i>MaterialCutsCouple</i>. 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 "<b>storePhysicsTable</b>" command.
+ <p>
+Calculated physics tables can be retrieved from files by using the
+"<b>retrievePhysicsTable</b>" command. Materials and cuts from files are 
+compared with those defined in the current geometry setup, and only physics 
+vectors corresponding to the <i>MaterialCutsCouple</i>s used in the current 
+setup are restored. Note that nothing happens just after the 
+"<b>retrievePhysicsTable</b>" command is issued. Restoration of physics 
+tables will be executed in parallel with the calculation of physics tables.
+<P>
+<HR>
+<a name="5.6.4">
+<H2>5.6.4 Building the Physics Table</H2></a>
+In the <tt>G4RunManagerKernel::RunInitialization()</tt> method, after the 
+list of <i>MaterialCutsCouple</i>s is updated, the
+<tt>G4VUserPhysicsList::BuildPhysicsTable()</tt> method is invoked to build 
+physics tables for all processes. 
+<p>
+Initially, the <tt>G4VProcess::PreparePhysicsTable()</tt> method is invoked. 
+Each process creates <i>G4PhysicsTable</i> objects as necessary. It then 
+checks whether the <i>MaterialCutsCouple</i>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>
+Next, the <tt>G4VProcess::RetrievePhysicsTable()</tt> method is invoked 
+if the <tt>G4VUserPhysicsList::fRetrievePhysicsTable</tt> flag is asserted. 
+After checking materials and cuts in files, physics vectors corresponding 
+to the <i>MaterialCutsCouple</i>s used in the current setup are restored. 
+<p>
+Finally, the <tt>G4VProcess::BuildPhysicsTable()</tt> method is invoked and 
+only physics vectors which need to be re-calculated are built. 
+<p>
+
+<BR><BR>
+<HR><A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</A></I>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/thresholdVScut.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/thresholdVScut.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/thresholdVScut.html	(revision 1208)
@@ -0,0 +1,254 @@
+<HTML>
+<HEAD>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (X11; I; AIX 4.1) [Netscape]">
+</HEAD>
+
+<BODY>
+<!-- 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 -->
+
+<BR>
+
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+
+</A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A>
+<A HREF="particle.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<A HREF="cutsPerRegion.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></A>
+</TD>
+<P>
+
+<TD ALIGN=RIGHT><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B></FONT></FONT>
+<BR><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>For Application Developers</B></FONT></FONT>
+<BR><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Tracking and Physics</B></FONT></FONT></TD>
+</TR>
+</TABLE>
+<P><BR>
+
+<CENTER><FONT COLOR="#238E23"><FONT SIZE=+3>
+<B>5.4 Production Threshold versus Tracking Cut</B></FONT></FONT>
+</CENTER>
+<P><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<P>
+
+<a name="5.4.1">
+<H2>5.4.1 General considerations</H2></a>
+ 
+ We have to fulfill two contradictory requirements. It is the responsibility
+ of each individual <b>process</b> 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>
+ The general principles in Geant4 are the following:
+<p>
+<OL>
+  <LI>Each <b>process</b> has its intrinsic limit(s) to produce secondary 
+      particles.</LI>
+  <LI>All particles produced (and accepted) will be tracked up to <b>zero 
+      range</b>.</LI>
+  <LI>Each <b>particle</b> has a suggested cut in range (which is converted 
+      to energy for all materials), and defined via a <tt>SetCut()</tt> 
+      method (see
+      <a href="../GettingStarted/particleDef.html#2.4.2">Section 2.4.2</a>).</LI>
+</OL>
+<p>
+Points 1 and 2 imply that the cut associated with the <b>particle</b> is a 
+(recommended) <b>production</b> threshold of secondary particles.
+<P>
+
+<HR>
+<a name="5.4.2">
+<H2>5.4.2 Set production threshold (<tt>SetCut</tt> methods)</H2></a>
+
+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>
+See <a href="../GettingStarted/particleDef.html#2.4.2">Section 2.4.2</a> to 
+see how to set the production threshold.
+<p>
+
+<HR>
+<a name="5.4.3">
+<H2>5.4.3 Apply cut</H2></a>
+
+ The <tt>DoIt</tt> methods of each process can produce secondary particles. Two cases
+ can happen:
+<p>
+ <UL>
+  <LI>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 !).</LI>
+  <LI>a process sets its intrinsic limit smaller than the production threshold
+      (for instance 0).</LI>
+      <P>
+       The list of secondaries is sent to the <i>SteppingManager</i> via a <i>ParticleChange</i>
+        object.
+ </UL>
+<p>
+ BEFORE 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>
+ <UL>
+  <LI>The <i>ParticleDefinition</i> (or <i>ParticleWithCuts</i>) has a boolean data member:
+      <tt>ApplyCut</tt>.</LI>
+  <LI><tt>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!</LI>
+  <LI><tt>ApplyCut</tt> in ON: the <i>TrackingManager</i> checks the range of each secondary
+      against the production threshold and against the safety. The particle is
+      stacked if <TT>range > min(cut,safety).</TT></LI>
+    <UL>
+     <LI>If not, check if the process has nevertheless set the flag ``good for tracking''
+        and then stack it (see Section 5.4.4 below for the explanation of the
+        <tt>GoodForTracking</tt> flag).</LI>
+     <LI>If not, recuperate its kinetic energy in the <TT>localEnergyDeposit</TT>,
+         and set <TT>tkin=0</TT>.</LI>
+     <LI>Then check in the <i>ProcessManager</i> if the vector of <i>ProcessAtRest</i> 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.</LI>
+    </UL>
+      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'').
+ </UL>
+<P>
+
+<HR>
+<a name="5.4.4">
+<H2>5.4.4 Why produce secondaries below threshold?</H2></a>
+ 
+ A process may have good reasons to produce particles below the recommended
+ threshold:
+<p>
+ <UL>
+  <LI>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;</LI>
+  <LI>another example is the gamma conversion: the positron is always produced,
+      even at zero energy, for further annihilation.</LI>
+ </UL>
+<p>
+ These secondary particles are sent to the ``Stepping Manager'' with a flag
+ <tt>GoodForTracking</tt> to pass the filter explained in the previous section
+ (even when <tt>ApplyCut</tt> is ON).
+<P>
+
+<HR>
+<a name="5.4.5">
+<H2>5.4.5 Cuts in stopping range or in energy?</H2></a>
+ 
+ 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>
+
+<HR>
+<a name="5.4.6">
+<H2>5.4.6 Summary</H2></a>
+
+ 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>
+ 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>
+ 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>
+
+<HR>
+<a name="5.4.7">
+<H2>5.4.7 Special tracking cuts</H2></a>
+
+ 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>
+ 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>
+ The approach is as follows:
+<p>
+ <UL>
+  <LI>special user cuts are registered in the <i>UserLimits</i> class (or its descendant),
+      which is associated with the logical volume class.</LI>
+      <P>
+      The current default list is:
+      <UL>
+       <LI>max allowed step size</LI>
+       <LI>max total track length</LI>
+       <LI>max total time of flight</LI>
+       <LI>min kinetic energy</LI>
+       <LI>min remaining range</LI>
+      </UL>
+      The user can instantiate a <i>UserLimits</i> object only for the desired logical
+      volumes and do the association.<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>
+      <b>Example</b>(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>DetectorConstruction::Construct()</TT>:
+      <PRE>
+       G4double maxStep = 0.1*TrackerLength;
+       logicTracker->SetUserLimits(new G4UserLimits(maxStep));
+      </PRE>
+      The <i>G4UserLimits</i> class is in <TT>source/global/management</TT>.<p>
+  <LI>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>DoIt</TT> of this process,
+      since, via <i>G4Track</i>, he can access the logical volume and <i>UserLimits</i>.
+      <p>
+      An example of such process (called <i>UserSpecialCuts</i>) is provided in the repository,
+      but not inserted in any process manager of any particle.</LI>
+      <P>
+      <b>Example: neutrons. </b>
+      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>
+      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>DetectorConstruction::Construct()</TT>:
+      <PRE>
+        G4double maxTime = 10*ms;
+        logicTracker->SetUserLimits(new G4UserLimits(DBL_MAX,DBL_MAX,maxTime));
+      </PRE>
+      and put the following code in <TT>N02PhysicsList</TT>:
+      <PRE>
+        G4ProcessManager* pmanager = G4Neutron::Neutron->GetProcessManager();
+        pmanager->AddProcess(new G4UserSpecialCuts(),-1,-1,1);
+      </PRE>
+      (The default <i>G4UserSpecialCuts</i> class is in
+      <TT>source/processes/transportation</TT>.)
+ </UL>
+<P>
+
+<BR><BR>
+<HR><A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</A></I>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/tracking.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/tracking.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/tracking.html	(revision 1208)
@@ -0,0 +1,485 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+   <meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]">
+<! $Id: tracking.html,v 1.6 2005/08/02 20:28:19 dennis Exp $ >
+<!-- Changed by: Katsuya Amako, 30-Nov-1998 -->
+<!-- Proof read by: Joe Chuma,  30-Jun-1999 -->
+<!-- Changed by: Takashi SasakI,  15-Nov-2001 -->
+<!-- Changed by: Dennis Wright, 27-Nov-2001 -->
+</head>
+<body>
+<!-- Changed by: Katsuya Amako, 10-Jul-1998 -->
+<table WIDTH="100%" >
+<tr>
+<td>
+<a href="../../../../Overview/html/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview" height=16 width=59></a>
+<a href="index.html">
+<img SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" height=16 width=59></a>
+<a>
+<img SRC="../../../../resources/html/IconsGIF/PreviousGR.gif" ALT="Previous" height=16 width=59></a>
+<a href="physicsProcess.html">
+<img SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" height=16 width=59></a>
+</td>
+
+<td ALIGN=RIGHT>
+<FONT SIZE=-1 color="#238E23">
+<B>Geant4 User's Guide</B>
+<br>
+<B>For Application Developers</B>
+<br>
+<B>Tracking and Physics</B>
+</FONT>
+</TD>
+</tr></table>
+<br><BR>
+
+<P ALIGN=center>
+<FONT SIZE=+3 color="#238E23">
+<B>5.1 Tracking</B>
+</FONT>
+
+<br><br>
+
+<hr ALIGN="Center" SIZE="7%">
+<p>
+
+<a NAME="5.1.1"></a>
+<h2>5.1.1 Basic Concepts</h2>
+
+<B>Philosophy of Tracking</B>
+<P>
+All Geant4 processes, including the transportation of particles, are treated
+generically.  In spite of the name "<i>tracking</i>", particles are not
+<i>transported</i> in the tracking category.  <i>G4TrackingManager</i> 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 <i>G4EventManager</i> class.
+<P>
+The tracking manager receives a track from the event manager and takes the
+actions required to finish tracking it.  <i>G4TrackingManager</i> aggregates
+the pointers to <i>G4SteppingManager,</i> <i>G4Trajectory</i> and
+<i>G4UserTrackingAction</i>.  Also there is a "use" relation to <i>G4Track</i> 
+and <i>G4Step.</i>
+<p>
+<i>G4SteppingManager</i> 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>Stepping()</tt> steers the stepping of the 
+particle.  The algorithm to handle one step is given below.
+<p>
+<OL>
+  <LI>The particle's velocity at the beginning of the step is calculated.
+  <LI>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.
+  <LI>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.
+  <LI>If the minimum physical-step-length from the processes is longer than
+      "Safety", the distance to the next boundary is re-calculated.
+  <LI>The smaller of the minimum physical-step-length and the geometric
+      step length is taken.
+  <LI>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.
+  <LI>The track is checked to see whether or not it has been terminated by a 
+      continuous process.
+  <LI>The current track properties are updated before discrete processes 
+      are invoked.  This includes:
+     <UL>
+        <LI>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
+        <LI>updating position and time.
+     </UL>
+  <LI>The discrete process is invoked.  After the invocation,
+     <UL>
+        <LI>the energy of the current track particle is updated, and
+        <LI>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.
+     </UL>
+  <LI>The track is checked to see whether or not it has been terminated by
+      the discrete process.
+  <LI>"Safety" is updated.
+  <LI>If the step was limited by the volume boundary, push the particle into
+      the next volume.
+  <LI>Invoke the user intervention <i>G4UserSteppingAction</i>.
+  <LI>Handle hit information.
+  <LI>Save data to Trajectory.
+  <LI>Update the mean free paths of the discrete processes.
+  <LI>If the parent particle is still alive, reset the maximum interaction 
+      length of the discrete process which has occurred.
+  <LI>One step completed.
+</OL>
+<P>
+<B>What is a Step?</B>
+<P>
+<i>G4Step</i> stores the transient information of a step.  This includes the 
+two endpoints of the step, <tt>PreStepPoint</tt> and <tt>PostStepPoint</tt>, 
+which contain the points' coordinates and the volumes containing the points. 
+<i>G4Step</i> 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>
+
+<B>What is a Track?</B>
+<P>
+<i>G4Track</i> keeps information on the final status of the particle after
+the completion of one step. This means that <i>G4Track</i> has information on 
+the previous step while the <tt>AlongStepDoIt</tt>s are being invoked for the 
+step in progress. Only after finishing all <tt>AlongStepDoIt</tt>s, will 
+<i>G4Track</i> have the final information (e.g., the final position) for the
+step in progress. Also, <i>G4Track</i> will be updated after each invocation 
+of a <tt>PostStepDoIt</tt>.
+<p>
+<hr><a NAME="5.1.2"></a>
+<h2>
+5.1.2 Access to Track and Step Information</h2>
+
+<B>How to Get Track Information</B>
+<P>
+Track information may be accessed by invoking various <tt>Get</tt> methods
+provided in the <i>G4Track</i> class.  For details, see the 
+<b>Software Reference Manual</b>.  Typical information available includes: 
+<ul>
+<li>
+(x,y,z)</li>
+
+<li>
+Global time (time since the event was created)</li>
+
+<li>
+Local time (time since the track was created)</li>
+
+<li>
+Proper time</li>
+
+<li>
+Momentum direction (unit vector)</li>
+
+<li>
+Kinetic energy</li>
+
+<li>
+Accumulated geometrical track length</li>
+
+<li>
+Accumulated true track length</li>
+
+<li>
+Pointer to dynamic particle</li>
+
+<li>
+Pointer to physical volume</li>
+
+<li>
+Track ID number</li>
+
+<li>
+Track ID number of the parent</li>
+
+<li>
+Current step number</li>
+
+<li>
+Track status</li>
+
+<li>
+(x,y,z) at the start point (vertex position) of the track</li>
+
+<li>
+Momentum direction at the start point (vertex position) of the track</li>
+
+<li>
+Kinetic energy at the start point (vertex position) of the track</li>
+
+<li>
+Pointer to the process which created the current track</li>
+</ul>
+<P>
+<B>How to Get Step Information</B>
+<P>
+Step and step-point information can be retrieved by invoking various
+<tt>Get</tt> methods provided in the <i>G4Step</i>/<i>G4StepPoint</i> 
+classes.  For details, see the <b>Software Reference Manual</b>.
+Information in <i>G4Step</i> includes:
+<ul>
+<li>
+Pointers to <tt>PreStep</tt> and <tt>PostStepPoint</tt></li>
+
+<li>
+Geometrical step length (step length before the correction of multiple
+scattering)</li>
+
+<li>
+True step length (step length after the correction of multiple scattering)</li>
+
+<li>
+Increment of position and time between <tt>PreStepPoint</tt> and 
+<tt>PostStepPoint</tt></li>
+
+<li>
+Increment of momentum and energy between <tt>PreStepPoint</tt> and 
+<tt>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.)</li>
+
+<li>
+Pointer to <tt>G4Track</tt></li>
+
+<li>
+Total energy deposited during the step - this is the sum of</li>
+
+<ul>
+<li>
+the energy deposited by the energy loss process, and </li>
+
+<li>
+the energy lost by secondaries which have NOT been generated because each
+of their energies was below the cut threshold</li>
+</ul>
+</ul>
+Information in <i>G4StepPoint</i> (<tt>PreStepPoint</tt> and 
+<tt>PostStepPoint</tt>) includes:
+<ul>
+<li>
+(x, y, z, t)</li>
+
+<li>
+(px, py, pz, Ek)</li>
+
+<li>
+Momentum direction (init vector)</li>
+
+<li>
+Pointers to physical volumes</li>
+
+<li>
+Safety</li>
+
+<li>
+Beta, gamma</li>
+
+<li>
+Polarization</li>
+
+<li>
+Step status</li>
+
+<li>
+Pointer to the physics process which defined the current step and its 
+<tt>DoIt</tt> type</li>
+
+<li>
+Pointer to the physics process which defined the previous step and its
+<tt>DoIt</tt> type</li>
+
+<li>
+Total track length</li>
+
+<li>
+Global time (time since the current event began)</li>
+
+<li>
+Local time (time since the current track began)</li>
+
+<li>
+Proper time</li>
+</ul>
+<P>
+<B>How to Get "particle change"</B>
+<P>
+Particle change information can be accessed by invoking various <tt>Get</tt>
+methods provided in the <i>G4ParticleChange</i> class. Typical information
+available includes (for details, see the <b>Software Reference Manual</b>):
+<ul>
+<li>
+final momentum direction of the parent particle</li>
+
+<li>
+final kinetic energy of the parent particle</li>
+
+<li>
+final position of the parent particle</li>
+
+<li>
+final global time of the parent particle</li>
+
+<li>
+final proper time of the parent particle</li>
+
+<li>
+final polarization of the parent particle</li>
+
+<li>
+status of the parent particle (<i>G4TrackStatus</i>)</li>
+
+<li>
+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)</li>
+
+<li>
+local energy deposited - this consists of either</li>
+
+<ul>
+<li>
+energy deposited by the energy loss process, or</li>
+
+<li>
+the energy lost by secondaries which have NOT been generated because each
+of their energies was below the cut threshold.</li>
+</ul>
+
+<li>
+number of secondaries particles</li>
+
+<li>
+list of secondary particles (list of <i>G4Track</i>)</li>
+</ul>
+
+<hr><a NAME="5.1.3"></a>
+<h2>5.1.3 Handling of Secondary Particles</h2>
+Secondary particles are passed as <i>G4Track</i>s from a physics process
+to tracking. <i>G4ParticleChange</i> provides the following four methods
+for a physics process:
+<ul>
+<li>
+<tt>AddSecondary( G4Track* aSecondary )</tt></li>
+
+<li>
+<tt>AddSecondary( G4DynamicParticle* aSecondary )</tt></li>
+
+<li>
+<tt>AddSecondary( G4DynamicParticle* aSecondary, G4ThreeVector position
+)</tt></li>
+
+<li>
+<tt>AddSecondary( G4DynamicParticle* aSecondary, G4double time )</tt></li>
+</ul>
+In all but the first, the construction of <i>G4Track</i> is done in the
+methods using informaton given by the arguments.
+<p>
+<hr><a NAME="5.1.4"></a>
+<h2>5.1.4 User Actions</h2>
+There are two classes which allow the user to intervene in the tracking.  
+These are:
+<ul>
+<li>
+<i>G4UserTrackingAction</i>, and</li>
+
+<li>
+<i>G4UserSteppingAction</i>.
+</ul>
+Each provides methods which allow the user access to the Geant4 kernel at
+specific points in the tracking.  For details, see the 
+<b>Software Reference Manual</b>.</li>
+</ul>
+
+<hr><a NAME="5.1.5"></a>
+<h2>5.1.5 Verbose Outputs</h2>
+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>G4UImanager* UI = G4UImanager::GetUIpointer();
+<br>UI->ApplyCommand("/tracking/verbose 1");
+<p>
+<hr><a NAME="5.1.6"></a>
+<h2>5.1.6 Trajectory and Trajectory Point</h2>
+
+<B>G4Trajectory and G4TrajectoryPoint</B>
+<P>
+<i>G4Trajectory</i> and <i>G4TrajectoryPoint</i> are default concrete
+classes provided by Geant4, which are derived from the <i>G4VTrajectory</i>
+and <i>G4VTrajectoryPoint</i> base classes, respectively.  A 
+<i>G4Trajectory</i> class object is created by <i>G4TrackingManager</i> 
+when a <i>G4Track</i> is passed from the <i>G4EventManager</i>. 
+<i>G4Trajectory</i> has the following data members:
+<ul>
+<li>ID numbers of the track and the track's parent</li>
+
+<li>particle name, charge, and PDG code</li>
+
+<li>a collection of <i>G4TrajectoryPoint</i> pointers</li>
+</ul>
+<i>G4TrajectoryPoint</i> corresponds to a step point along the path 
+followed by the track.  Its position is given by a <i>G4ThreeVector</i>.
+A <i>G4TrajectoryPoint</i> class object is created in the 
+<i>AppendStep()</i> method of <i>G4Trajectory</i> and this method is 
+invoked by <i>G4TrackingManager</i> at the end of each step.  The first 
+point is created when the <i>G4Trajectory</i> is created, thus the first 
+point is the original vertex.
+<p>
+The creation of a trajectory can be controlled by invoking 
+<i>G4TrackingManager::SetStoreTrajectory(G4bool)</i>.  The UI command 
+<i>/tracking/storeTrajectory _bool_</i> does the same.  The user can set 
+this flag for each individual track from his/her 
+<i>G4UserTrackingAction::PreUserTrackingAction()</i> method.
+<blockquote><b>The user should not create trajectories for secondaries in 
+a shower due to the large amount of memory consumed.</b></blockquote>
+All the created trajectories in an event are stored in 
+<i>G4TrajectoryContainer</i> class object and this object will be kept by 
+<i>G4Event</i>. To draw or print trajectories generated in an event, the user
+may invoke the <i>DrawTrajectory()</i> or <i>ShowTrajectory()</i> methods
+of <i>G4VTrajectory</i>, respectively, from his/her 
+<i>G4UserEventAction::EndOfEventAction()</i>. The geometry must
+be drawn before the trajectory drawing.  The color of the drawn trajectory 
+depends on the particle charge:
+<ul>
+<li>negative: red</li>
+
+<li>neutral: green</li>
+
+<li>positive: blue</li>
+</ul>
+
+<blockquote><b>Due to improvements in <i>G4Navigator</i>, 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.</b></blockquote>
+<P>
+<B>Customizing trajectory and trajectory point</B>
+<P>
+<i>G4Track</i> and <i>G4Step</i> are transient classes;  they are not 
+available at the end of the event.  Thus, the concrete classes
+<i>G4VTrajectory</i> and <i>G4VTrajectoryPoint</i> 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. <i>G4Trajectory</i> and 
+<i>G4TrajectoryPoint</i>, 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>
+To use the customized trajectory, the user must construct a concrete 
+trajectory class object in the 
+<i>G4UserTrackingAction::PreUserTrackingAction()</i> method and make its 
+pointer available to <i>G4TrackingManager</i> by using the 
+<i>SetTrajectory()</i> method.  The customized trajectory point class object 
+must be constructed in the <i>AppendStep()</i> method of the user's 
+implementation of the trajectory class.  This <i>AppendStep()</i> method will 
+be invoked by <i>G4TrackingManager</i>.
+<p>
+To customize trajectory drawing, the user can override the 
+<i>DrawTrajectory()</i> method in his/her own trajectory class.
+<p>
+When a customized version of G4Trajectory declares any new class variables,
+<i>operator new</i> and <i>operator delete</i> must be provided.  It is also
+useful to check that the allocation size in <i>operator new</i> is equal to
+<i>sizeof(G4Trajectory)</i>.  These two points do not apply to 
+<i>G4VTrajectory</i> because it has no <i>operator new</i> or 
+<i>operator delete</i>. 
+<p>
+<hr><i><a href="../../../../Authors/html/subjectsToAuthors.html">About
+the authors</a></i>
+</body>
+</html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/userLimits.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/userLimits.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/userLimits.html	(revision 1208)
@@ -0,0 +1,100 @@
+<HTML>
+<HEAD>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (X11; I; AIX 4.1) [Netscape]">
+</HEAD>
+
+<BODY>
+<!-- Created by: Makoto Asai,       30-Mar-2006 -->
+
+<BR>
+
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+
+</A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A>
+<A HREF="physicsTable.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<A>
+<IMG SRC="../../../../resources/html/IconsGIF/NextGR.gif" ALT="Next" HEIGHT=16 WIDTH=59></A>
+</TD>
+<P>
+
+<TD ALIGN=RIGHT><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B></FONT></FONT>
+<BR><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>For Application Developers</B></FONT></FONT>
+<BR><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Tracking and Physics</B></FONT></FONT></TD>
+</TR>
+</TABLE>
+<P><BR>
+
+<CENTER><FONT COLOR="#238E23"><FONT SIZE=+3>
+<B>5.7 User limits</B></FONT></FONT>
+</CENTER>
+<P><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<P>
+
+<a name="5.7.1">
+<H2>5.7.1 General Concepts</H2></a>
+The user can define artificial limits affecting to the Geant4 tracking.
+<pre>
+G4UserLimits(G4double uStepMax = DBL_MAX,
+             G4double uTrakMax = DBL_MAX,
+             G4double uTimeMax = DBL_MAX,
+             G4double uEkinMin = 0.,
+             G4double uRangMin = 0. );
+</pre>
+<table border=1 cellpadding=8>
+<tr><td><tt>uStepMax</tt>
+<td>Maximum step length
+<tr><td><tt>uTrakMax</tt>
+<td>Maximum total track length
+<tr><td><tt>uTimeMax</tt>
+<td>Maximum global time for a track
+<tr><td><tt>uEkinMin</tt>
+<td>Minimum remaining kinetic energy for a track
+<tr><td><tt>uRangMin</tt>
+<td>Minimum remaining range for a track
+</table>
+Note that <tt>uStepMax</tt> is affecting to each step, while all other limits are
+affecting to a track.
+<p>
+The user can set <tt>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.
+
+<a name="5.7.2">
+<H2>5.7.2 Processes co-working with G4UserLimits</H2></a>
+
+In addition to instantiating <tt>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>G4UserLimits</tt>.
+<dl>
+<dt>Limitation to step (<tt>uStepMax</tt>)
+<dd><tt>G4StepLimiter</tt> process must be defined to affected particle types. 
+This process limits a step, but it does not kill a track.
+
+<dt>Limitations to track (<tt>uTrakMax, uTimeMax, uEkinMin, uRangMin</tt>)
+<dd><tt>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.
+</dl>
+<p>
+Example of <tt>G4UserLimits</tt> can be found in examples/novice/N02 : 
+see <tt>DetectorConstruction</tt> and <tt>PhysicsList</tt>.
+
+<BR><BR>
+<HR><A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</A></I>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/UserActions/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/UserActions/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/UserActions/CVS/Entries	(revision 1208)
@@ -0,0 +1,5 @@
+/MandatoryActions.html/1.4/Mon Dec 18 10:28:25 2006//
+/OptionalActions.html/1.6/Mon Dec 18 10:28:25 2006//
+/UserInformationClasses.html/1.4/Mon Dec 18 10:28:25 2006//
+/index.html/1.6/Mon Dec 18 10:28:25 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/UserActions/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/UserActions/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/UserActions/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/UserActions
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/UserActions/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/UserActions/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/UserActions/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/UserActions/MandatoryActions.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/UserActions/MandatoryActions.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/UserActions/MandatoryActions.html	(revision 1208)
@@ -0,0 +1,324 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+<!-- 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 -->
+
+<META NAME="GENERATOR" CONTENT="Mozilla/3.0Gold (X11; I; OSF1 V4.0 alpha) [Netscape]">
+</HEAD>
+<BODY>
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+</A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A>
+<A>
+<IMG SRC="../../../../resources/html/IconsGIF/PreviousGR.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<A HREF="OptionalActions.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></A>
+</TD>
+
+<TD ALIGN="Right">
+<FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B> <BR>
+<B>For Application Developers</B> <BR>
+<B>User Actions</B> </FONT></FONT> 
+</TD>
+</TR>
+</TABLE>
+<P><BR>
+
+<CENTER><FONT COLOR="#238E23"><FONT SIZE=+3>
+<B>6.1 Mandatory User Actions and Initializations</B>
+</FONT></FONT> 
+<BR><BR>
+</CENTER>
+
+<HR ALIGN="Center" SIZE="7%">
+<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>
+
+<H3><tt>G4VUserDetectorConstruction</tt></H3>
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+ <pre>
+     class G4VUserDetectorConstruction
+     {
+       public:
+         G4VUserDetectorConstruction();
+         virtual ~G4VUserDetectorConstruction();
+
+       public:
+         virtual G4VPhysicalVolume* Construct() = 0;
+     };
+
+ </pre>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 6.1.1<BR>
+ <tt>G4VUserDetectorConstruction</tt>
+</td>
+</tr>
+</table></center>
+<p>
+
+<H3><tt>G4VUserPhysicsList</tt></H3>
+<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:
+<UL>
+  <LI><tt>ConstructParticle()</tt> to instantiate each requested particle 
+          type,</LI>  
+  <LI><tt>ConstructPhysics()</tt> to instantiate the desired physics processes
+          and register each of them with the process managers of the 
+          appropriate particles, and </LI>
+  <LI><tt>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.</LI>
+</UL>
+<p>
+When called, the <tt>Construct()</tt> method of <i>G4VUserPhysicsList</i> 
+first invokes <tt>ConstructParticle()</tt> and then 
+<tt>ConstructProcess()</tt>.  The <tt>ConstructProcess()</tt> method must 
+always invoke the <tt>AddTransportation()</tt> method in order to insure 
+particle transportation.  <tt>AddTransportation()</tt> must never be 
+overridden.</p>
+<p>
+<i>G4VUserPhysicsList</i> provides several utility methods for the 
+implementation of the above virtual methods.  They are presented with comments 
+in the class declaration in source listing 6.1.2.</p> 
+ 
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+ <pre>
+
+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;
+
+  /////////////////////////////////////////////////////////////////////
+  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& 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& 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& 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
+
+  ///////////////////////////////////////////////////////////////////////////
+  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& pname);
+
+   // SetCutValue sets a cut value for a particle type for a region
+   void SetCutValue(G4double aCut, const G4String& pname, const G4String& 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& rname);
+
+   // Following are utility methods are obsolete
+   void ResetCuts();
+
+///////////////////////////////////////////////////////////////////
+  public:
+   // Get/SetApplyCuts gets/sets the flag for ApplyCuts
+   void SetApplyCuts(G4bool value, const G4String& name);
+   G4bool GetApplyCuts(const G4String& 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& 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>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 6.1.2<BR>
+ <tt>G4VUserPhysicsList</tt>
+</td>
+</tr>
+</table></center>
+<p>
+
+<b><tt>G4VUserPrimaryGeneratorAction</tt></b>
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+ <pre>
+     class G4VUserPrimaryGeneratorAction
+     {
+       public:
+         G4VUserPrimaryGeneratorAction();
+         virtual ~G4VUserPrimaryGeneratorAction();
+     
+       public:
+         virtual void GeneratePrimaries(G4Event* anEvent) = 0;
+     };
+
+ </pre>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 6.1.3<BR>
+ <tt>G4VUserPrimaryGeneratorAction</tt>
+</td>
+</tr>
+</table></center>
+<p>
+
+<BR><BR>
+<HR><A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</A></I> </P></CENTER>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/UserActions/OptionalActions.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/UserActions/OptionalActions.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/UserActions/OptionalActions.html	(revision 1208)
@@ -0,0 +1,372 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+<!-- 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 -->
+
+<META NAME="GENERATOR" CONTENT="Mozilla/3.0Gold (X11; I; OSF1 V4.0 alpha) [Netscape]">
+</HEAD>
+<BODY>
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+</A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A>
+<A HREF="MandatoryActions.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<a href="UserInformationClasses.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></a>
+</TD>
+
+<TD ALIGN="Right">
+<FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B> <BR>
+<B>For Application Developers</B> <BR>
+<B>User Actions</B> </FONT></FONT> 
+</TD>
+</TR>
+</TABLE>
+<P><BR>
+
+<CENTER><FONT COLOR="#238E23"><FONT SIZE=+3>
+<B>6.2 Optional User Actions</B>
+</FONT></FONT> 
+<BR><BR>
+</CENTER>
+
+<HR ALIGN="Center" SIZE="7%">
+
+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>G4RunManager</tt>.
+<p>
+<b><tt>G4UserRunAction</tt></b>
+</p>
+This class has three virtual methods which are invoked by 
+<tt>G4RunManager</tt> for each run:
+ <dl><dl>
+ <dt><tt>GenerateRun()</tt>
+<dd>This method is invoked at the beginning of <tt>BeamOn</tt>. Because the
+user can inherit the class <tt>G4Run</tt> and create his/her own concrete 
+class to store some information about the run, the <tt>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>GenerateRun()</tt> is invoked 
+before the calculation of the physics table. 
+
+ <dt><tt>BeginOfRunAction()</tt>
+ <dd>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.
+ <dt><tt>EndOfRunAction()</tt>
+ <dd>This method is invoked at the very end of the run processing.  It is
+  typically used for a simple analysis of the processed run.
+ </dl></dl>
+<p>
+
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+ <pre>
+     class G4UserRunAction
+     {
+       public:
+         G4UserRunAction();
+         virtual ~G4UserRunAction();
+
+       public:
+         virtual G4Run* GenerateRun();
+         virtual void BeginOfRunAction(const G4Run*);
+         virtual void EndOfRunAction(const G4Run*);
+     };
+
+ </pre>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 6.2.1<BR>
+ <tt>G4UserRunAction</tt>
+</td>
+</tr>
+</table></center>
+
+<p>
+<b><tt>G4UserEventAction</tt></b>
+</p>
+This class has two virtual methods which are invoked by <tt>G4EventManager</tt>
+for each event:
+ <dl><dl>
+ <dt><tt>beginOfEventAction()</tt>
+ <dd>This method is invoked before converting the primary particles 
+  to <tt>G4Track</tt> objects.  A typical use of this method would be to
+  initialize and/or book histograms for a particular event.<p>
+ <dt><tt>endOfEventAction()</tt>
+ <dd>This method is invoked at the very end of event processing.  It is
+  typically used for a simple analysis of the processed event.
+ <dd>If the user wants to keep the currently processing event until the
+  end of the current run, the user can invoke
+  <dl><dd><i>fpEventManager->KeepTheCurrentEvent();</i></dl>
+  so that it is kept in <i>G4Run</i> 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.
+ </dl></dl>
+<p>
+
+<center>
+<table border=1 cellpadding=10>
+<tr>
+<td>
+ <pre>
+     class G4UserEventAction 
+     {
+       public:
+           G4UserEventAction() {;}
+           virtual ~G4UserEventAction() {;}
+           virtual void BeginOfEventAction(const G4Event*);
+           virtual void EndOfEventAction(const G4Event*);
+       protected:
+           G4EventManager* fpEventManager;
+     };
+ </pre>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 6.2.2<BR>
+ <tt>G4UserEventAction</tt>
+</td>
+</tr>
+</table></center>
+
+<p>
+<b><tt>G4UserStackingAction</tt></b>
+</p>
+
+ This class has three virtual methods, <tt>ClassifyNewTrack</tt>, 
+ <tt>NewStage</tt> and <tt>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.
+ <dl><dl>
+ <dt><tt>ClassifyNewTrack()</tt> is invoked by <tt>G4StackManager</tt> 
+     whenever a new <tt>G4Track</tt> object is "pushed" onto a stack by 
+     <tt>G4EventManager</tt>.  <tt>ClassifyNewTrack()</tt> returns an 
+     enumerator, <tt>G4ClassificationOfNewTrack</tt>, whose value indicates
+     to which stack, if any, the track will be sent.  This value should 
+     be determined by the user.  <tt>G4ClassificationOfNewTrack</tt> has 
+     four possible values:
+       <dd><tt>fUrgent</tt> - track is placed in the <i>urgent</i> stack
+       <dd><tt>fWaiting</tt> - track is placed in the <i>waiting</i> stack, 
+       and will not be simulated until the <i>urgent</i> stack is empty
+       <dd><tt>fPostpone</tt> - track is postponed to the next event
+       <dd><tt>fKill</tt> - the track is deleted immediately and not stored
+       in any stack.
+ <dt>These assignments may be made based on the origin of the track 
+     which is obtained as follows: 
+     <dd><tt>G4int parent_ID = aTrack->get_parentID();</tt>
+     <dd>where    
+     <dd><tt>parent_ID = 0</tt> indicates a primary particle
+     <dd><tt>parent_ID > 0</tt> indicates a secondary particle
+ <dd><tt>parent_ID < 0</tt> indicates postponed particle from previous event.
+ <p>
+ &nbsp;
+ <p>
+ <dt><tt>NewStage()</tt> is invoked when the <i>urgent</i> stack is empty and
+    the <i>waiting</i> stack contains at least one <tt>G4Track</tt> object.  
+    Here the user may kill or re-assign to different stacks all the tracks 
+    in the <i>waiting</i> stack by calling the 
+    <tt>stackManager->ReClassify()</tt> method which, in turn, calls the 
+    <tt>ClassifyNewTrack()</tt> method.  If no user action is taken, all 
+    tracks in the <i>waiting</i> stack are transferred to the <i>urgent</i>
+    stack.  The user may also decide to abort the current event even though 
+    some tracks may remain in the <i>waiting</i> stack by calling 
+    <tt>stackManager->clear()</tt>.  This method is valid and safe only if 
+    it is called from the <tt>G4UserStackingAction</tt> class.  A global 
+    method of event abortion is
+    <dd><tt>G4UImanager * UImanager = G4UImanager::GetUIpointer();</tt>
+    <dd><tt>UImanager->ApplyCommand("/event/abort");</tt>
+ <p>
+ &nbsp;
+ <p>
+ <dt><tt>PrepareNewEvent()</tt> is invoked at the beginning of each event.  
+    At this point no primary particles have been converted to tracks, so the 
+    <i>urgent</i> and <i>waiting</i> stacks are empty.  However, there may 
+    be tracks in the <i>postponed-to-next-event</i> stack; for each of these
+    the <tt>ClassifyNewTrack()</tt> method is called and the track is 
+    assigned to the appropriate stack.
+ </dl></dl>
+
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+ <pre>
+     #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>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 6.2.3<BR>
+ <tt>G4UserStackingAction</tt>
+</td>
+</tr>
+</table></center>
+
+<p>
+<b><tt>G4UserTrackingAction</tt></b>
+</p>
+
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+ <pre>
+     //---------------------------------------------------------------
+     //
+     // G4UserTrackingAction.hh
+     //
+     // Description:
+     //   This class represents actions taken place by the user at each
+     //   end of stepping. 
+     //
+     //---------------------------------------------------------------
+
+     ///////////////////////////
+     class G4UserTrackingAction 
+     ///////////////////////////
+     {
+     
+     //--------
+        public:
+     //--------
+     
+     // Constructor & Destructor
+        G4UserTrackingAction(){};
+        virtual ~G4UserTrackingAction(){}
+     
+     // Member functions
+        virtual void PreUserTrackingAction(const G4Track*){}
+        virtual void PostUserTrackingAction(const G4Track*){}
+     
+     //----------- 
+        protected:
+     //----------- 
+     
+     // Member data
+        G4TrackingManager* fpTrackingManager;
+     
+     };
+ </pre>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 6.2.4<BR>
+ <tt>G4UserTrackingAction</tt>
+</td>
+</tr>
+</table></center>
+
+<p>
+<b><tt>G4UserSteppingAction</tt></b>
+</p>
+
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+ <pre>
+     //---------------------------------------------------------------
+     //
+     //  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>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 6.2.5<BR>
+ <tt>G4UserSteppingAction</tt>
+</td>
+</tr>
+</table></center>
+<p>
+
+<BR><BR>
+<HR><A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</A></I> </P></CENTER>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/UserActions/UserInformationClasses.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/UserActions/UserInformationClasses.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/UserActions/UserInformationClasses.html	(revision 1208)
@@ -0,0 +1,233 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+<!-- Created by: Makoto Asai, 27-Nov-2004 -->
+
+<META NAME="GENERATOR" CONTENT="Mozilla/3.0Gold (X11; I; OSF1 V4.0 alpha) [Netscape]">
+</HEAD>
+<BODY>
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+</A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A>
+<A HREF="OptionalActions.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<A>
+<IMG SRC="../../../../resources/html/IconsGIF/NextGR.gif" ALT="Next" HEIGHT=16 WIDTH=59></A>
+</TD>
+
+<TD ALIGN="Right">
+<FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B> <BR>
+<B>For Application Developers</B> <BR>
+<B>User Actions</B> </FONT></FONT> 
+</TD>
+</TR>
+</TABLE>
+<P><BR>
+
+<CENTER><FONT COLOR="#238E23"><FONT SIZE=+3>
+<B>6.3 User Information Classes</B>
+</FONT></FONT> 
+<BR><BR>
+</CENTER>
+
+<HR ALIGN="Center" SIZE="7%">
+
+Additional user information can be associated with various Geant4 classes.
+There are basically two ways for the user to do this:
+<ul>
+<li>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="OptionalActions.html">6.2 for G4Run</a>,
+<a href="../Detector/hit.html">4.4 for G4VHit</a>,
+<a href="../Detector/digitization.html">4.5 for G4VDigit</a>, and
+<a href="../TrackingAndPhysics/tracking.html#5.1.6">5.1.6 for G4VTrajectory and G4VTrajectoryPoint</a>
+
+<li>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.
+</ul>
+
+<a name="6.3.1">
+<h2>6.3.1 G4VUserEventInformation</h2>
+
+<i>G4VUserEventInformation</i> 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>
+
+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>
+The concrete class object is deleted by the Geant4 kernel when the
+associated G4Event object is deleted.
+
+<a name="6.3.2">
+<h2>6.3.2 G4VUserTrackInformation</h2>
+
+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>
+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>
+The ideal place to copy a G4VUserTrackInformation object from a mother track
+to its daughter tracks is <i>G4UserTrackingAction::PostUserTrackingAction()</i>.
+<p>
+<center>
+<table border=1 cellpadding=10>
+<tr>
+<td>
+ <pre>
+void RE01TrackingAction::PostUserTrackingAction(const G4Track* aTrack)
+{
+  G4TrackVector* secondaries = fpTrackingManager->GimmeSecondaries();
+  if(secondaries)
+  {
+    RE01TrackInformation* info = (RE01TrackInformation*)(aTrack->GetUserInformation());
+    size_t nSeco = secondaries->size();
+    if(nSeco>0)
+    {
+      for(size_t i=0; i < nSeco; i++)
+      {
+        RE01TrackInformation* infoNew = new RE01TrackInformation(info);
+        (*secondaries)[i]->SetUserInformation(infoNew);
+      }
+    }
+  }
+}
+ </pre>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 6.3.1<BR>
+ <tt>Copying G4VUserTrackInformation from mother to daughter tracks</tt>
+</td>
+</tr>
+</table></center><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.
+
+<a name="6.3.3">
+<h2>6.3.3 G4VUserPrimaryVertexInformation and G4VUserPrimaryTrackInformation</h2>
+
+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 <i>G4PrimaryVertex</i> and 
+<i>G4PrimaryParticle</i> class objects, respectively.
+<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.
+
+<a name="6.3.4">
+<h2>6.3.4 G4VUserRegionInformation</h2>
+
+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>
+<center>
+<table border=1 cellpadding=10>
+<tr>
+<td>
+ <pre>
+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>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 6.3.2<BR>
+ <tt>A sample region information class</tt>
+</td>
+</tr>
+</table></center>
+<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>
+<center>
+<table border=1 cellpadding=10>
+<tr>
+<td>
+ <pre>
+void RE01SteppingAction::UserSteppingAction(const G4Step * theStep)
+{
+  // Suspend a track if it is entering into the calorimeter
+
+  // check if it is alive
+  G4Track * theTrack = theStep->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()) && (thePostRInfo-&gt;IsCalorimeter()))
+  { theTrack-&gt;SetTrackStatus(fSuspend); }
+}
+ </pre>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 6.3.2<BR>
+ <tt>Sample use of a region information class</tt>
+</td>
+</tr>
+</table></center>
+
+<BR><BR>
+<HR><A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</A></I> </P></CENTER>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/UserActions/index.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/UserActions/index.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/UserActions/index.html	(revision 1208)
@@ -0,0 +1,81 @@
+<HTML>
+<HEAD>
+   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+</HEAD>
+<TITLE>ADG: User Actions</TITLE>
+<BODY>
+<BR>
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+
+
+</A>
+<A HREF="../index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59>
+</A>
+<A HREF="../TrackingAndPhysics/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<A HREF="../Control/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></A>
+</TD>
+
+<TD></TD>
+<TD ALIGN=RIGHT><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Documents</B>
+<BR>
+
+<B>Geant4 User's Guide</B>
+<BR>
+
+<B>For Application Developers</B>
+<BR>
+
+</FONT></FONT>
+</TD>
+</TR>
+</TABLE>
+<P>
+<BR>
+
+<CENTER><B><FONT COLOR="#238E23"><FONT SIZE=+4>
+</FONT></FONT></B>
+</CENTER>
+
+<CENTER><B><FONT COLOR="#238E23"><FONT SIZE=+2>
+<B>6. User Actions</B>
+</FONT></FONT></B>
+</CENTER>
+<P>
+<BR>
+
+<HR ALIGN="Center" SIZE="7%">
+
+<!-- ============================================== Section -->
+<BR><BR>
+<B>
+   <ol>
+   <li>
+   <a href="MandatoryActions.html">
+   Mandatory User Actions and Initializations</a></li>
+   <li>
+   <a href="OptionalActions.html">
+   Optional User Actions</a></li>
+   <li>
+   <a href="UserInformationClasses.html">
+   User Information Classes</a></li>
+   </ol>
+
+</B>
+
+
+<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
+
+<!-- ============================================== Section -->
+<P><HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</A></I>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/CVS/Entries	(revision 1208)
@@ -0,0 +1,16 @@
+/attributes.html/1.12/Mon Dec 18 10:28:25 2006//
+/commandcontrol.html/1.4/Mon Dec 18 10:28:25 2006//
+/compiledcontrol.html/1.3/Mon Dec 18 10:28:25 2006//
+/enhanceddrawing.html/1.8/Mon Dec 18 10:28:25 2006//
+/filtering.html/1.4/Mon Dec 18 10:28:25 2006//
+/index.html/1.8/Mon Dec 18 10:28:25 2006//
+/introduction.html/1.7/Mon Dec 18 10:28:25 2006//
+/make_mpeg2encode_parfile.sh/1.1/Mon Aug 14 15:12:39 2006//
+/makingamovie.html/1.5/Mon Dec 18 10:28:25 2006//
+/markertext.html/1.9/Mon Dec 18 10:28:25 2006//
+/visdrivers.html/1.18/Mon Dec 18 10:28:25 2006//
+/visexecutable.html/1.12/Mon Dec 18 10:28:25 2006//
+/visualizable.html/1.4/Mon Dec 18 10:28:25 2006//
+D/UIcommands////
+D/visTutor////
+D/visualization.src////
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/UIcommands/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/UIcommands/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/UIcommands/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/vis.txt/1.2/Wed Nov 22 13:48:53 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/UIcommands/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/UIcommands/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/UIcommands/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/UIcommands
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/UIcommands/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/UIcommands/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/UIcommands/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/UIcommands/vis.txt
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/UIcommands/vis.txt	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/UIcommands/vis.txt	(revision 1208)
@@ -0,0 +1,5082 @@
+Command directory path : /vis/
+
+
+Guidance :
+Visualization commands.
+
+ Sub-directories : 
+   /vis/ASCIITree/   Commands for ASCIITree control.
+   /vis/GAGTree/   Commands for GAGTree control.
+   /vis/heprep/   HepRep commands.
+   /vis/rayTracer/   RayTracer commands.
+   /vis/ogl/   G4OpenGLViewer commands.
+   /vis/oglx/   G4OpenGLXViewer commands.
+   /vis/oglxm/   G4OpenGLXmViewer commands.
+   /vis/modeling/   Modeling commands.
+   /vis/filtering/   Filtering commands.
+   /vis/geometry/   Operations on vis attributes of Geant4 geometry.
+   /vis/scene/   Operations on Geant4 scenes.
+   /vis/sceneHandler/   Operations on Geant4 scene handlers.
+   /vis/viewer/   Operations on Geant4 viewers.
+ Commands : 
+   enable * Enables/disables visualization system.
+   disable * Disables visualization system.
+   list * Lists visualization parameters.
+   verbose * Simple graded message scheme - digit or string (1st character defines):
+   reviewKeptEvents * Review kept events.
+   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 containing this physical volume and asks the
+current viewer to draw it.  The scene becomes current.
+   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/list
+Guidance :
+Lists visualization parameters.
+
+Parameter : verbosity
+ Parameter type  : s
+ Omittable       : True
+ Default value   : warnings
+
+
+
+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/reviewKeptEvents
+Guidance :
+Review kept events.
+If a macro file is specified, it is executed for each event.
+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 "continue" to continue to the next
+event.
+However, if the current scene requests event accumulation, this
+command simply notifies handlers.
+
+Parameter : macro-file-name
+ Parameter type  : s
+ Omittable       : True
+
+
+
+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 containing this physical volume and asks the
+current viewer to draw it.  The scene becomes current.
+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.
+
+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 XXXFile XXXStored XXXSG ATree DAWNFILE GAGTree HepRepXML HepRepFile RayTracer 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 :
+HepRep commands.
+
+ 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 * Command has been deprecated.  Use /vis/viewer/set/background instead.
+
+
+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 um 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 um 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 um 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 :
+Command has been deprecated.  Use /vis/viewer/set/background instead.
+
+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/ogl/
+
+
+Guidance :
+G4OpenGLViewer commands.
+
+ Sub-directories : 
+   /vis/ogl/set/   G4OpenGLViewer set commands.
+ Commands : 
+Command directory path : /vis/ogl/set/
+
+
+Guidance :
+G4OpenGLViewer set commands.
+
+ Sub-directories : 
+ Commands : 
+   displayHeadTime * Display head time of range in 2D text.
+   displayLightFront * Display the light front at head time.
+   endTime * Set end and range of track time.
+   fade * 0: no fade; 1: maximum fade with time within range.
+   startTime * Set start and range of track time.
+   transparency * True/false to enable/disable rendering of transparent objects.
+
+
+Command /vis/ogl/set/displayHeadTime
+Guidance :
+Display head time of range in 2D text.
+
+Parameter : displayHeadTime
+ Parameter type  : b
+ Omittable       : False
+ Default value   : 0
+
+Parameter : screenX
+-1 < screenX < 1
+ Parameter type  : d
+ Omittable       : True
+ Default value   : -0.9
+ Parameter range : screenX >= -1. && screenX <= 1.
+
+Parameter : screenY
+-1 < screenY < 1
+ Parameter type  : d
+ Omittable       : True
+ Default value   : -0.9
+ Parameter range : screenY >= -1. && screenY <= 1.
+
+Parameter : screenSize
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 24
+
+Parameter : red
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+ Parameter range : red >= 0. && red <= 1.
+
+Parameter : green
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+ Parameter range : green >= 0. && green <= 1.
+
+Parameter : blue
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+ Parameter range : blue >= 0. && blue <= 1.
+
+
+
+Command /vis/ogl/set/displayLightFront
+Guidance :
+Display the light front at head time.
+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
+
+Parameter : displayLightFront
+ Parameter type  : b
+ Omittable       : False
+ Default value   : 0
+
+Parameter : originX
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : originY
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : originZ
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : space_unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+
+Parameter : originT
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : time_unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : s
+
+Parameter : red
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+ Parameter range : red >= 0. && red <= 1.
+
+Parameter : green
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+ Parameter range : green >= 0. && green <= 1.
+
+Parameter : blue
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+ Parameter range : blue >= 0. && blue <= 1.
+
+
+
+Command /vis/ogl/set/endTime
+Guidance :
+Set end and range of track time.
+
+Parameter : end-time
+ Parameter type  : d
+ Omittable       : False
+ Default value   : 1.79769e+308
+
+Parameter : end-time-unit
+ Parameter type  : s
+ Omittable       : False
+ Default value   : ns
+
+Parameter : time-range
+ Parameter type  : d
+ Omittable       : True
+ Default value   : -1
+
+Parameter : time-range-unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : ns
+
+
+
+Command /vis/ogl/set/fade
+Guidance :
+0: no fade; 1: maximum fade with time within range.
+ Range of parameters : fadefactor>=0.&&fadefactor<=1.
+
+Parameter : fadefactor
+ Parameter type  : d
+ Omittable       : False
+ Default value   : 0
+
+
+
+Command /vis/ogl/set/startTime
+Guidance :
+Set start and range of track time.
+
+Parameter : start-time
+ Parameter type  : d
+ Omittable       : False
+ Default value   : -1.79769e+308
+
+Parameter : start-time-unit
+ Parameter type  : s
+ Omittable       : False
+ Default value   : ns
+
+Parameter : time-range
+ Parameter type  : d
+ Omittable       : True
+ Default value   : -1
+
+Parameter : time-range-unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : ns
+
+
+
+Command /vis/ogl/set/transparency
+Guidance :
+True/false to enable/disable rendering of transparent objects.
+
+Parameter : transparency-enabled
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+Command directory path : /vis/oglx/
+
+
+Guidance :
+G4OpenGLXViewer commands.
+
+ Sub-directories : 
+ Commands : 
+   printEPS * Print Encapsulated PostScript file.
+
+
+Command /vis/oglx/printEPS
+Guidance :
+Print Encapsulated PostScript file.
+Generates files with names G4OpenGL_n.eps, where n is a sequence
+number, starting at 0.
+
+Command directory path : /vis/oglxm/
+
+
+Guidance :
+G4OpenGLXmViewer commands.
+
+ Sub-directories : 
+   /vis/oglxm/set/   G4OpenGLXmViewer set commands.
+ Commands : 
+Command directory path : /vis/oglxm/set/
+
+
+Guidance :
+G4OpenGLXmViewer 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/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/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/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/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/set/zoom-high
+Guidance :
+Higher limit of zoom slider.
+
+Parameter : zoom-high
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/oglxm/set/zoom-low
+Guidance :
+Lower limit of zoom slider.
+
+Parameter : zoom-low
+ Parameter type  : d
+ Omittable       : False
+
+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/generic-0/   Commands for generic-0 model.
+   /vis/modeling/trajectories/drawByCharge-0/   Commands for drawByCharge-0 model.
+   /vis/modeling/trajectories/drawByParticleID-0/   Commands for drawByParticleID-0 model.
+   /vis/modeling/trajectories/drawByOriginVolume-0/   Commands for drawByOriginVolume-0 model.
+   /vis/modeling/trajectories/drawByAttribute-0/   Commands for drawByAttribute-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 : 
+   generic * Create a generic model and associated messengers.
+   drawByCharge * Create a drawByCharge model and associated messengers.
+   drawByParticleID * Create a drawByParticleID model and associated messengers.
+   drawByOriginVolume * Create a drawByOriginVolume model and associated messengers.
+   drawByAttribute * Create a drawByAttribute model and associated messengers.
+
+
+Command /vis/modeling/trajectories/create/generic
+Guidance :
+Create a generic model and associated messengers.
+Generated model becomes current.
+
+Parameter : model-name
+ Parameter type  : s
+ Omittable       : True
+
+
+
+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 /vis/modeling/trajectories/create/drawByOriginVolume
+Guidance :
+Create a drawByOriginVolume model and associated messengers.
+Generated model becomes current.
+
+Parameter : model-name
+ Parameter type  : s
+ Omittable       : True
+
+
+
+Command /vis/modeling/trajectories/create/drawByAttribute
+Guidance :
+Create a drawByAttribute model and associated messengers.
+Generated model becomes current.
+
+Parameter : model-name
+ Parameter type  : s
+ Omittable       : True
+
+Command directory path : /vis/modeling/trajectories/generic-0/
+
+
+Guidance :
+Commands for generic-0 model.
+
+ Sub-directories : 
+   /vis/modeling/trajectories/generic-0/default/   Commands for default configuration
+ Commands : 
+   verbose * Verbose command
+
+
+Command /vis/modeling/trajectories/generic-0/verbose
+Guidance :
+Verbose command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+Command directory path : /vis/modeling/trajectories/generic-0/default/
+
+
+Guidance :
+Commands for default configuration
+
+ Sub-directories : 
+ Commands : 
+   setDrawLine * Set draw line command
+   setLineVisible * Set line visibility command
+   setLineColour * Set colour through a string
+   setLineColourRGBA * Set colour through red, green, blue and alpha components
+   setDrawStepPts * Set draw step points command
+   setStepPtsVisible * Set step points visible command
+   setStepPtsColour * Set colour through a string
+   setStepPtsColourRGBA * Set colour through red, green, blue and alpha components
+   setStepPtsSize * Set step points size command
+   setStepPtsType * Set step points type.
+   setStepPtsFillStyle * Set step fill style type.
+   setDrawAuxPts * Set draw auxiliary points command
+   setAuxPtsVisible * Set auxiliary points visibility command
+   setAuxPtsColour * Set colour through a string
+   setAuxPtsColourRGBA * Set colour through red, green, blue and alpha components
+   setAuxPtsSize * Set auxiliary points size command
+   setAuxPtsType * Set auxiliary points type.
+   setAuxPtsFillStyle * Set auxiliary fill style.
+   setTimeSliceInterval * Set time slice interval.  Give unit, e.g., "0.1 ns"
+
+
+Command /vis/modeling/trajectories/generic-0/default/setDrawLine
+Guidance :
+Set draw line command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setLineVisible
+Guidance :
+Set line visibility command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setLineColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setLineColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setDrawStepPts
+Guidance :
+Set draw step points command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setStepPtsVisible
+Guidance :
+Set step points visible command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setStepPtsColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setStepPtsColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setStepPtsSize
+Guidance :
+Set step points size command
+
+Parameter : Double
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setStepPtsType
+Guidance :
+Set step points type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : dots circles squares
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setStepPtsFillStyle
+Guidance :
+Set step fill style type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : noFill hashed filled
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setDrawAuxPts
+Guidance :
+Set draw auxiliary points command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setAuxPtsVisible
+Guidance :
+Set auxiliary points visibility command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setAuxPtsColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setAuxPtsColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setAuxPtsSize
+Guidance :
+Set auxiliary points size command
+
+Parameter : Double
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setAuxPtsType
+Guidance :
+Set auxiliary points type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : dots circles squares
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setAuxPtsFillStyle
+Guidance :
+Set auxiliary fill style.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : noFill hashed filled
+
+
+
+Command /vis/modeling/trajectories/generic-0/default/setTimeSliceInterval
+Guidance :
+Set time slice interval.  Give unit, e.g., "0.1 ns"
+
+Parameter : DoubleAndUnit
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : s ms mus ns ps second millisecond microsecond nanosecond picosecond
+
+Command directory path : /vis/modeling/trajectories/drawByCharge-0/
+
+
+Guidance :
+Commands for drawByCharge-0 model.
+
+ Sub-directories : 
+   /vis/modeling/trajectories/drawByCharge-0/default/   Commands for default configuration
+ Commands : 
+   set * Set variable colour through a string
+   setRGBA * Set variable colour through red, green, blue and alpha components
+   verbose * Verbose command
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/set
+Guidance :
+Set variable colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : Value
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/setRGBA
+Guidance :
+Set variable colour through red, green, blue and alpha components
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/verbose
+Guidance :
+Verbose command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+Command directory path : /vis/modeling/trajectories/drawByCharge-0/default/
+
+
+Guidance :
+Commands for default configuration
+
+ Sub-directories : 
+ Commands : 
+   setDrawLine * Set draw line command
+   setLineVisible * Set line visibility command
+   setLineColour * Set colour through a string
+   setLineColourRGBA * Set colour through red, green, blue and alpha components
+   setDrawStepPts * Set draw step points command
+   setStepPtsVisible * Set step points visible command
+   setStepPtsColour * Set colour through a string
+   setStepPtsColourRGBA * Set colour through red, green, blue and alpha components
+   setStepPtsSize * Set step points size command
+   setStepPtsType * Set step points type.
+   setStepPtsFillStyle * Set step fill style type.
+   setDrawAuxPts * Set draw auxiliary points command
+   setAuxPtsVisible * Set auxiliary points visibility command
+   setAuxPtsColour * Set colour through a string
+   setAuxPtsColourRGBA * Set colour through red, green, blue and alpha components
+   setAuxPtsSize * Set auxiliary points size command
+   setAuxPtsType * Set auxiliary points type.
+   setAuxPtsFillStyle * Set auxiliary fill style.
+   setTimeSliceInterval * Set time slice interval.  Give unit, e.g., "0.1 ns"
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setDrawLine
+Guidance :
+Set draw line command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setLineVisible
+Guidance :
+Set line visibility command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setLineColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setLineColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts
+Guidance :
+Set draw step points command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setStepPtsVisible
+Guidance :
+Set step points visible command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setStepPtsColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setStepPtsColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize
+Guidance :
+Set step points size command
+
+Parameter : Double
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setStepPtsType
+Guidance :
+Set step points type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : dots circles squares
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setStepPtsFillStyle
+Guidance :
+Set step fill style type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : noFill hashed filled
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setDrawAuxPts
+Guidance :
+Set draw auxiliary points command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setAuxPtsVisible
+Guidance :
+Set auxiliary points visibility command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setAuxPtsColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setAuxPtsColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setAuxPtsSize
+Guidance :
+Set auxiliary points size command
+
+Parameter : Double
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setAuxPtsType
+Guidance :
+Set auxiliary points type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : dots circles squares
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setAuxPtsFillStyle
+Guidance :
+Set auxiliary fill style.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : noFill hashed filled
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/default/setTimeSliceInterval
+Guidance :
+Set time slice interval.  Give unit, e.g., "0.1 ns"
+
+Parameter : DoubleAndUnit
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : s ms mus ns ps second millisecond microsecond nanosecond picosecond
+
+Command directory path : /vis/modeling/trajectories/drawByParticleID-0/
+
+
+Guidance :
+Commands for drawByParticleID-0 model.
+
+ Sub-directories : 
+   /vis/modeling/trajectories/drawByParticleID-0/default/   Commands for default configuration
+ Commands : 
+   set * Set variable colour through a string
+   setRGBA * Set variable colour through red, green, blue and alpha components
+   setDefault * Set colour through a string
+   setDefaultRGBA * Set colour through red, green, blue and alpha components
+   verbose * Verbose command
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/set
+Guidance :
+Set variable colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : Value
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/setRGBA
+Guidance :
+Set variable colour through red, green, blue and alpha components
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/setDefault
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/setDefaultRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/verbose
+Guidance :
+Verbose command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+Command directory path : /vis/modeling/trajectories/drawByParticleID-0/default/
+
+
+Guidance :
+Commands for default configuration
+
+ Sub-directories : 
+ Commands : 
+   setDrawLine * Set draw line command
+   setLineVisible * Set line visibility command
+   setLineColour * Set colour through a string
+   setLineColourRGBA * Set colour through red, green, blue and alpha components
+   setDrawStepPts * Set draw step points command
+   setStepPtsVisible * Set step points visible command
+   setStepPtsColour * Set colour through a string
+   setStepPtsColourRGBA * Set colour through red, green, blue and alpha components
+   setStepPtsSize * Set step points size command
+   setStepPtsType * Set step points type.
+   setStepPtsFillStyle * Set step fill style type.
+   setDrawAuxPts * Set draw auxiliary points command
+   setAuxPtsVisible * Set auxiliary points visibility command
+   setAuxPtsColour * Set colour through a string
+   setAuxPtsColourRGBA * Set colour through red, green, blue and alpha components
+   setAuxPtsSize * Set auxiliary points size command
+   setAuxPtsType * Set auxiliary points type.
+   setAuxPtsFillStyle * Set auxiliary fill style.
+   setTimeSliceInterval * Set time slice interval.  Give unit, e.g., "0.1 ns"
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setDrawLine
+Guidance :
+Set draw line command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setLineVisible
+Guidance :
+Set line visibility command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setLineColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setLineColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setDrawStepPts
+Guidance :
+Set draw step points command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setStepPtsVisible
+Guidance :
+Set step points visible command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setStepPtsColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setStepPtsColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setStepPtsSize
+Guidance :
+Set step points size command
+
+Parameter : Double
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setStepPtsType
+Guidance :
+Set step points type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : dots circles squares
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setStepPtsFillStyle
+Guidance :
+Set step fill style type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : noFill hashed filled
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setDrawAuxPts
+Guidance :
+Set draw auxiliary points command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setAuxPtsVisible
+Guidance :
+Set auxiliary points visibility command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setAuxPtsColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setAuxPtsColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setAuxPtsSize
+Guidance :
+Set auxiliary points size command
+
+Parameter : Double
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setAuxPtsType
+Guidance :
+Set auxiliary points type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : dots circles squares
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setAuxPtsFillStyle
+Guidance :
+Set auxiliary fill style.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : noFill hashed filled
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/default/setTimeSliceInterval
+Guidance :
+Set time slice interval.  Give unit, e.g., "0.1 ns"
+
+Parameter : DoubleAndUnit
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : s ms mus ns ps second millisecond microsecond nanosecond picosecond
+
+Command directory path : /vis/modeling/trajectories/drawByOriginVolume-0/
+
+
+Guidance :
+Commands for drawByOriginVolume-0 model.
+
+ Sub-directories : 
+   /vis/modeling/trajectories/drawByOriginVolume-0/default/   Commands for default configuration
+ Commands : 
+   set * Set variable colour through a string
+   setRGBA * Set variable colour through red, green, blue and alpha components
+   setDefault * Set colour through a string
+   setDefaultRGBA * Set colour through red, green, blue and alpha components
+   verbose * Verbose command
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/set
+Guidance :
+Set variable colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : Value
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/setRGBA
+Guidance :
+Set variable colour through red, green, blue and alpha components
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/setDefault
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/setDefaultRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/verbose
+Guidance :
+Verbose command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+Command directory path : /vis/modeling/trajectories/drawByOriginVolume-0/default/
+
+
+Guidance :
+Commands for default configuration
+
+ Sub-directories : 
+ Commands : 
+   setDrawLine * Set draw line command
+   setLineVisible * Set line visibility command
+   setLineColour * Set colour through a string
+   setLineColourRGBA * Set colour through red, green, blue and alpha components
+   setDrawStepPts * Set draw step points command
+   setStepPtsVisible * Set step points visible command
+   setStepPtsColour * Set colour through a string
+   setStepPtsColourRGBA * Set colour through red, green, blue and alpha components
+   setStepPtsSize * Set step points size command
+   setStepPtsType * Set step points type.
+   setStepPtsFillStyle * Set step fill style type.
+   setDrawAuxPts * Set draw auxiliary points command
+   setAuxPtsVisible * Set auxiliary points visibility command
+   setAuxPtsColour * Set colour through a string
+   setAuxPtsColourRGBA * Set colour through red, green, blue and alpha components
+   setAuxPtsSize * Set auxiliary points size command
+   setAuxPtsType * Set auxiliary points type.
+   setAuxPtsFillStyle * Set auxiliary fill style.
+   setTimeSliceInterval * Set time slice interval.  Give unit, e.g., "0.1 ns"
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setDrawLine
+Guidance :
+Set draw line command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setLineVisible
+Guidance :
+Set line visibility command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setLineColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setLineColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setDrawStepPts
+Guidance :
+Set draw step points command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setStepPtsVisible
+Guidance :
+Set step points visible command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setStepPtsColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setStepPtsColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setStepPtsSize
+Guidance :
+Set step points size command
+
+Parameter : Double
+ Parameter type  : d
+ Omittable       : False
+
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setStepPtsType
+Guidance :
+Set step points type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : dots circles squares
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setStepPtsFillStyle
+Guidance :
+Set step fill style type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : noFill hashed filled
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setDrawAuxPts
+Guidance :
+Set draw auxiliary points command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setAuxPtsVisible
+Guidance :
+Set auxiliary points visibility command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setAuxPtsColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setAuxPtsColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setAuxPtsSize
+Guidance :
+Set auxiliary points size command
+
+Parameter : Double
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setAuxPtsType
+Guidance :
+Set auxiliary points type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : dots circles squares
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setAuxPtsFillStyle
+Guidance :
+Set auxiliary fill style.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : noFill hashed filled
+
+
+
+Command /vis/modeling/trajectories/drawByOriginVolume-0/default/setTimeSliceInterval
+Guidance :
+Set time slice interval.  Give unit, e.g., "0.1 ns"
+
+Parameter : DoubleAndUnit
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : s ms mus ns ps second millisecond microsecond nanosecond picosecond
+
+Command directory path : /vis/modeling/trajectories/drawByAttribute-0/
+
+
+Guidance :
+Commands for drawByAttribute-0 model.
+
+ Sub-directories : 
+   /vis/modeling/trajectories/drawByAttribute-0/default/   Commands for default configuration
+ Commands : 
+   verbose * Verbose command
+   setAttribute * Set command
+   addInterval * Add interval.
+   addValue * Add value.
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/verbose
+
+Guidance :
+Verbose command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/setAttribute
+Guidance :
+Set command
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/addInterval
+Guidance :
+Add interval.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/addValue
+Guidance :
+Add value.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+
+Command directory path : /vis/modeling/trajectories/drawByAttribute-0/default/
+
+
+Guidance :
+Commands for default configuration
+
+ Sub-directories : 
+ Commands : 
+   setDrawLine * Set draw line command
+   setLineVisible * Set line visibility command
+   setLineColour * Set colour through a string
+   setLineColourRGBA * Set colour through red, green, blue and alpha components
+   setDrawStepPts * Set draw step points command
+   setStepPtsVisible * Set step points visible command
+   setStepPtsColour * Set colour through a string
+   setStepPtsColourRGBA * Set colour through red, green, blue and alpha components
+   setStepPtsSize * Set step points size command
+   setStepPtsType * Set step points type.
+   setStepPtsFillStyle * Set step fill style type.
+   setDrawAuxPts * Set draw auxiliary points command
+   setAuxPtsVisible * Set auxiliary points visibility command
+   setAuxPtsColour * Set colour through a string
+   setAuxPtsColourRGBA * Set colour through red, green, blue and alpha components
+   setAuxPtsSize * Set auxiliary points size command
+   setAuxPtsType * Set auxiliary points type.
+   setAuxPtsFillStyle * Set auxiliary fill style.
+   setTimeSliceInterval * Set time slice interval.  Give unit, e.g., "0.1 ns"
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setDrawLine
+Guidance :
+Set draw line command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setLineVisible
+Guidance :
+Set line visibility command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setLineColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setLineColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setDrawStepPts
+Guidance :
+Set draw step points command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setStepPtsVisible
+Guidance :
+Set step points visible command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setStepPtsColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setStepPtsColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setStepPtsSize
+Guidance :
+Set step points size command
+
+Parameter : Double
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setStepPtsType
+Guidance :
+Set step points type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : dots circles squares
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setStepPtsFillStyle
+Guidance :
+Set step fill style type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : noFill hashed filled
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setDrawAuxPts
+Guidance :
+Set draw auxiliary points command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setAuxPtsVisible
+Guidance :
+Set auxiliary points visibility command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setAuxPtsColour
+Guidance :
+Set colour through a string
+
+Parameter : Variable
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setAuxPtsColourRGBA
+Guidance :
+Set colour through red, green, blue and alpha components
+Four inputs are expected.
+
+Parameter : Red component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Green component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Blue component
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Alpha component
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setAuxPtsSize
+Guidance :
+Set auxiliary points size command
+
+Parameter : Double
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setAuxPtsType
+Guidance :
+Set auxiliary points type.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : dots circles squares
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setAuxPtsFillStyle
+Guidance :
+Set auxiliary fill style.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : noFill hashed filled
+
+
+
+Command /vis/modeling/trajectories/drawByAttribute-0/default/setTimeSliceInterval
+Guidance :
+Set time slice interval.  Give unit, e.g., "0.1 ns"
+
+Parameter : DoubleAndUnit
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : s ms mus ns ps second millisecond microsecond nanosecond picosecond
+
+Command directory path : /vis/filtering/
+
+
+Guidance :
+Filtering commands.
+
+ Sub-directories : 
+   /vis/filtering/trajectories/   Trajectory filtering commands.
+   /vis/filtering/hits/   Hit filtering commands.
+ Commands : 
+Command directory path : /vis/filtering/trajectories/
+
+
+Guidance :
+Trajectory filtering commands.
+
+ Sub-directories : 
+   /vis/filtering/trajectories/create/   Create trajectory filters and messengers.
+   /vis/filtering/trajectories/chargeFilter-0/   Commands for chargeFilter-0 model.
+   /vis/filtering/trajectories/particleFilter-0/   Commands for particleFilter-0 model.
+   /vis/filtering/trajectories/originVolumeFilter-0/   Commands for originVolumeFilter-0 model.
+   /vis/filtering/trajectories/attributeFilter-0/   Commands for attributeFilter-0 model.
+ Commands : 
+   list * List objects registered with list manager
+   mode * Set mode of operation
+
+
+Command /vis/filtering/trajectories/list
+Guidance :
+List objects registered with list manager
+
+Parameter : name
+ Parameter type  : s
+ Omittable       : True
+
+
+
+Command /vis/filtering/trajectories/mode
+Guidance :
+Set mode of operation
+
+Parameter : mode
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : soft hard
+
+Command directory path : /vis/filtering/trajectories/create/
+
+
+Guidance :
+Create trajectory filters and messengers.
+
+ Sub-directories : 
+ Commands : 
+   chargeFilter * Create a chargeFilter model and associated messengers.
+   particleFilter * Create a particleFilter model and associated messengers.
+   originVolumeFilter * Create a originVolumeFilter model and associated messengers.
+   attributeFilter * Create a attributeFilter model and associated messengers.
+
+
+Command /vis/filtering/trajectories/create/chargeFilter
+Guidance :
+Create a chargeFilter model and associated messengers.
+Generated model becomes current.
+
+Parameter : model-name
+ Parameter type  : s
+ Omittable       : True
+
+
+
+Command /vis/filtering/trajectories/create/particleFilter
+Guidance :
+Create a particleFilter model and associated messengers.
+Generated model becomes current.
+
+Parameter : model-name
+ Parameter type  : s
+ Omittable       : True
+
+
+
+Command /vis/filtering/trajectories/create/originVolumeFilter
+Guidance :
+Create a originVolumeFilter model and associated messengers.
+Generated model becomes current.
+
+Parameter : model-name
+ Parameter type  : s
+ Omittable       : True
+
+
+
+Command /vis/filtering/trajectories/create/attributeFilter
+Guidance :
+Create a attributeFilter model and associated messengers.
+Generated model becomes current.
+
+Parameter : model-name
+ Parameter type  : s
+ Omittable       : True
+
+Command directory path : /vis/filtering/trajectories/chargeFilter-0/
+
+
+Guidance :
+Commands for chargeFilter-0 model.
+
+ Sub-directories : 
+ Commands : 
+   add * Add command
+   invert * Invert command
+   active * Active command
+   verbose * Verbose command
+   reset * Reset command
+
+
+Command /vis/filtering/trajectories/chargeFilter-0/add
+Guidance :
+Add command
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/chargeFilter-0/invert
+Guidance :
+Invert command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/chargeFilter-0/active
+Guidance :
+Active command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/chargeFilter-0/verbose
+Guidance :
+Verbose command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/chargeFilter-0/reset
+Guidance :
+Reset command
+
+Command directory path : /vis/filtering/trajectories/particleFilter-0/
+
+
+Guidance :
+Commands for particleFilter-0 model.
+
+ Sub-directories : 
+ Commands : 
+   add * Add command
+   invert * Invert command
+   active * Active command
+   verbose * Verbose command
+   reset * Reset command
+
+
+Command /vis/filtering/trajectories/particleFilter-0/add
+Guidance :
+Add command
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/particleFilter-0/invert
+Guidance :
+Invert command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/particleFilter-0/active
+Guidance :
+Active command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/particleFilter-0/verbose
+Guidance :
+Verbose command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/particleFilter-0/reset
+Guidance :
+Reset command
+
+Command directory path : /vis/filtering/trajectories/originVolumeFilter-0/
+
+
+Guidance :
+Commands for originVolumeFilter-0 model.
+
+ Sub-directories : 
+ Commands : 
+   add * Add command
+   invert * Invert command
+   active * Active command
+   verbose * Verbose command
+   reset * Reset command
+
+
+Command /vis/filtering/trajectories/originVolumeFilter-0/add
+Guidance :
+Add command
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/originVolumeFilter-0/invert
+Guidance :
+Invert command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/originVolumeFilter-0/active
+Guidance :
+Active command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/originVolumeFilter-0/verbose
+Guidance :
+Verbose command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/originVolumeFilter-0/reset
+Guidance :
+Reset command
+
+Command directory path : /vis/filtering/trajectories/attributeFilter-0/
+
+
+Guidance :
+Commands for attributeFilter-0 model.
+
+ Sub-directories : 
+ Commands : 
+   setAttribute * Set command
+   invert * Invert command
+   active * Active command
+   verbose * Verbose command
+   reset * Reset command
+   addInterval * Set interval.
+   addValue * Set value.
+
+
+Command /vis/filtering/trajectories/attributeFilter-0/setAttribute
+Guidance :
+Set command
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/attributeFilter-0/invert
+Guidance :
+Invert command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/attributeFilter-0/active
+Guidance :
+Active command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/attributeFilter-0/verbose
+Guidance :
+Verbose command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/attributeFilter-0/reset
+Guidance :
+Reset command
+
+
+
+Command /vis/filtering/trajectories/attributeFilter-0/addInterval
+Guidance :
+Set interval.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/filtering/trajectories/attributeFilter-0/addValue
+Guidance :
+Set value.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+
+Command directory path : /vis/filtering/hits/
+
+
+Guidance :
+Hit filtering commands.
+
+ Sub-directories : 
+   /vis/filtering/hits/create/   Create hit filters and messengers.
+   /vis/filtering/hits/attributeFilter-0/   Commands for attributeFilter-0 model.
+ Commands : 
+   list * List objects registered with list manager
+   mode * Set mode of operation
+
+
+Command /vis/filtering/hits/list
+Guidance :
+List objects registered with list manager
+
+Parameter : name
+ Parameter type  : s
+ Omittable       : True
+
+
+
+Command /vis/filtering/hits/mode
+Guidance :
+Set mode of operation
+
+Parameter : mode
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : soft hard
+
+Command directory path : /vis/filtering/hits/create/
+
+
+Guidance :
+Create hit filters and messengers.
+
+ Sub-directories : 
+ Commands : 
+   attributeFilter * Create a attributeFilter model and associated messengers.
+
+
+Command /vis/filtering/hits/create/attributeFilter
+Guidance :
+Create a attributeFilter model and associated messengers.
+Generated model becomes current.
+
+Parameter : model-name
+ Parameter type  : s
+ Omittable       : True
+
+Command directory path : /vis/filtering/hits/attributeFilter-0/
+
+
+Guidance :
+Commands for attributeFilter-0 model.
+
+ Sub-directories : 
+ Commands : 
+   setAttribute * Set command
+   invert * Invert command
+   active * Active command
+   verbose * Verbose command
+   reset * Reset command
+   addInterval * Set interval.
+   addValue * Set value.
+
+
+Command /vis/filtering/hits/attributeFilter-0/setAttribute
+Guidance :
+Set command
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/filtering/hits/attributeFilter-0/invert
+Guidance :
+Invert command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/hits/attributeFilter-0/active
+Guidance :
+Active command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/hits/attributeFilter-0/verbose
+Guidance :
+Verbose command
+
+Parameter : Bool
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /vis/filtering/hits/attributeFilter-0/reset
+Guidance :
+Reset command
+
+
+
+Command /vis/filtering/hits/attributeFilter-0/addInterval
+Guidance :
+Set interval.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/filtering/hits/attributeFilter-0/addValue
+Guidance :
+Set value.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+
+Command directory path : /vis/geometry/
+
+
+Guidance :
+Operations on vis attributes of Geant4 geometry.
+
+ Sub-directories : 
+   /vis/geometry/set/   Set vis attributes of Geant4 geometry.
+ Commands : 
+   list * Lists vis attributes of logical volume(s).
+   restore * Restores vis attributes of logical volume(s).
+
+
+Command /vis/geometry/list
+Guidance :
+Lists vis attributes of logical volume(s).
+"all" lists all logical volumes.
+
+Parameter : logical-volume-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+
+
+Command /vis/geometry/restore
+Guidance :
+Restores vis attributes of logical volume(s).
+
+Parameter : logical-volume-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+Command directory path : /vis/geometry/set/
+
+
+Guidance :
+Set vis attributes of Geant4 geometry.
+
+ Sub-directories : 
+ Commands : 
+   colour * Sets colour of logical volume(s).
+   daughtersInvisible * Sets daughters of logical volume(s) invisible.
+   lineStyle * Sets line style of logical volume(s) drawing.
+   lineWidth * Sets line width of logical volume(s) drawing.
+   forceAuxEdgeVisible * Sets auxiliary (soft) edges of logical volume(s) drawing visible.
+   forceSolid * Sets logical volume(s) drawing always to be as solid (surface drawing).
+   forceWireframe * Sets logical volume(s) drawing always to be as wireframe.
+   visibility * Sets visibility of logical volume(s).
+
+
+Command /vis/geometry/set/colour
+Guidance :
+Sets colour of logical volume(s).
+"all" sets all logical volumes.
+Optionally propagates down hierarchy to given depth.
+
+Parameter : logical-volume-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+Parameter : depth
+Depth of propagation (-1 means unlimited depth).
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : red
+Red component or a string, e.g., "blue", in which case succeeding colour components are ignored.
+ Parameter type  : s
+ 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
+
+Parameter : opacity
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /vis/geometry/set/daughtersInvisible
+Guidance :
+Sets daughters of logical volume(s) invisible.
+"all" sets all logical volumes.
+Optionally propagates down hierarchy to given depth.
+
+Parameter : logical-volume-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+Parameter : depth
+Depth of propagation (-1 means unlimited depth).
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : daughtersInvisible
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 0
+
+
+
+
+Command /vis/geometry/set/lineStyle
+Guidance :
+Sets line style of logical volume(s) drawing.
+"all" sets all logical volumes.
+Optionally propagates down hierarchy to given depth.
+
+Parameter : logical-volume-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+Parameter : depth
+Depth of propagation (-1 means unlimited depth).
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : lineStyle
+ Parameter type  : s
+ Omittable       : True
+ Default value   : unbroken
+ Candidates      : unbroken dashed dotted
+
+
+
+Command /vis/geometry/set/lineWidth
+Guidance :
+Sets line width of logical volume(s) drawing.
+"all" sets all logical volumes.
+Optionally propagates down hierarchy to given depth.
+
+Parameter : logical-volume-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+Parameter : depth
+Depth of propagation (-1 means unlimited depth).
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : lineWidth
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /vis/geometry/set/forceAuxEdgeVisible
+Guidance :
+Sets auxiliary (soft) edges of logical volume(s) drawing visible.
+"all" sets all logical volumes.
+Optionally propagates down hierarchy to given depth.
+
+Parameter : logical-volume-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+Parameter : depth
+Depth of propagation (-1 means unlimited depth).
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : forceAuxEdgeVisible
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /vis/geometry/set/forceSolid
+Guidance :
+Sets logical volume(s) drawing always to be as solid (surface drawing).
+"all" sets all logical volumes.
+Optionally propagates down hierarchy to given depth.
+
+Parameter : logical-volume-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+Parameter : depth
+Depth of propagation (-1 means unlimited depth).
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : forceSolid
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /vis/geometry/set/forceWireframe
+Guidance :
+Sets logical volume(s) drawing always to be as wireframe.
+"all" sets all logical volumes.
+Optionally propagates down hierarchy to given depth.
+
+Parameter : logical-volume-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+Parameter : depth
+Depth of propagation (-1 means unlimited depth).
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : forceWireframe
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /vis/geometry/set/visibility
+Guidance :
+Sets visibility of logical volume(s).
+"all" sets all logical volumes.
+Optionally propagates down hierarchy to given depth.
+
+Parameter : logical-volume-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+Parameter : depth
+Depth of propagation (-1 means unlimited depth).
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : visibility
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+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.
+
+Parameter : action
+ Parameter type  : s
+ Omittable       : True
+ Default value   : refresh
+ Candidates      : accumulate refresh
+
+Parameter : maxNumber
+Maximum number of events kept.  Unlimited if negative.
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 100
+
+
+
+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   : warnings
+
+
+
+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      : r refresh f 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.
+   eventID * Adds eventID to current scene.
+   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/eventID
+Guidance :
+Adds eventID to current scene.
+Run and event numbers are drawn at end of event or run when
+ the scene in which they are added is current.
+
+Parameter : size
+Screen size of text in pixels.
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 18
+
+Parameter : x-position
+x screen position in range -1 < x < 1.
+ Parameter type  : d
+ Omittable       : True
+ Default value   : -0.95
+
+Parameter : y-position
+y screen position in range -1 < y < 1.
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0.9
+
+
+
+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
+ Candidates      : auto manual
+
+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
+ Candidates      : auto manual
+
+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 processing an
+event.  Switches on trajectory storing and sets the
+default trajectory type.
+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.
+
+To switch off trajectory storing: "/tracking/storeTrajectory 0".
+See also "/vis/scene/endOfEventAction".
+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.
+
+Parameter : default-trajectory-type
+ Parameter type  : s
+ Omittable       : True
+
+
+
+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
+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.
+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.
+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).
+For "box", the parameters are xmin,xmax,ymin,ymax,zmin,zmax.
+Only "box" is programmed at present.
+
+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
+[-|*]type.  See general guidance.
+ Parameter type  : s
+ Omittable       : True
+ Default value   : none
+ Candidates      : none box -box *box
+
+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 XXXFile XXXStored XXXSG ATree DAWNFILE GAGTree HepRepXML HepRepFile RayTracer 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   : warnings
+
+
+
+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 : 
+   addCutawayPlane * Add cutaway plane A*x + B*y + C*z + D = 0 to current viewer.
+   changeCutawayPlane * Change cutaway plane.
+   clear * Clears viewer.
+   clearCutawayPlanes * Clear cutaway planes of current viewer.
+   clearTransients * Clears transients from viewer.
+   clone * Clones 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/addCutawayPlane
+Guidance :
+Add cutaway plane A*x + B*y + C*z + D = 0 to current viewer.
+
+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   : m
+
+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/changeCutawayPlane
+Guidance :
+Change cutaway plane.
+
+Parameter : index
+Index of plane: 0, 1, 2.
+ Parameter type  : i
+ Omittable       : False
+
+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   : m
+
+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/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/clearCutawayPlanes
+Guidance :
+Clear cutaway planes of current viewer.
+
+
+
+Command /vis/viewer/clearTransients
+Guidance :
+Clears transients from viewer.
+By default, operates on 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/clone
+Guidance :
+Clones viewer.
+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.
+
+Parameter : original-viewer-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : clone-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : none
+
+
+
+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 um 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 um 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   : warnings
+
+
+
+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
+   background * Set background colour and transparency (default black and opaque).
+   culling * Set culling options.
+   cutawayMode * Sets cutaway mode - add (union) or multiply (intersection).
+   edge * Edges become visible/invisible in surface mode.
+   explodeFactor * Moves top-level drawn volumes by this factor from this centre.
+   globalLineWidthScale * Multiplies line widths by this factor.
+   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 - w[ireframe] or s[urface].
+   upThetaPhi * Set up vector.
+   upVector * Set up vector.
+   viewpointThetaPhi * Set direction from target to camera.
+   viewpointVector * Set direction from target to camera.
+
+
+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/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 /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   : 1
+
+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/cutawayMode
+Guidance :
+Sets cutaway mode - add (union) or multiply (intersection).
+
+Parameter : cutaway-mode
+ Parameter type  : s
+ Omittable       : False
+ Default value   : union
+ Candidates      : add union multiply intersection
+
+
+
+Command /vis/viewer/set/edge
+Guidance :
+Edges become visible/invisible in surface mode.
+
+Parameter : edge
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /vis/viewer/set/explodeFactor
+Guidance :
+Moves top-level drawn volumes by this factor from this centre.
+
+Parameter : explodeFactor
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+ Parameter range : explodeFactor>=1.
+
+Parameter : x
+Coordinate of explode centre.
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : y
+Coordinate of explode centre.
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : z
+Coordinate of explode centre.
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : unit
+Unit of explode centre.
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+
+
+
+Command /vis/viewer/set/globalLineWidthScale
+Guidance :
+Multiplies line widths by this factor.
+
+Parameter : scale-factor
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /vis/viewer/set/globalMarkerScale
+Guidance :
+Multiplies marker sizes by this factor.
+
+Parameter : scale-factor
+ 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   : m
+
+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 - w[ireframe] or s[urface].
+(Hidden line drawing is controlled by "/vis/viewer/set/hiddenEdge".)
+
+Parameter : style
+ Parameter type  : s
+ Omittable       : False
+
+
+
+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
+
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/attributes.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/attributes.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/attributes.html	(revision 1208)
@@ -0,0 +1,448 @@
+
+<HTML>
+<TITLE>Visualization Attributes
+</TITLE>
+<!-- Changed by: Katsuya Dosanjh, 15-Jul-2000 -->
+<!-- Changed by: Dennis Wright, 27-Nov-2001 -->
+<!-- Changed by: Satoshi Tanaka,  8-Dec-2002 -->
+<!-- Proof read by: Joe Chuma,  5-Jul-1999 -->
+
+<!-- 3.16.3 Visualization attributes -->
+<!-- *spell, *tag, *contents, *s -->
+<BODY>
+
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+</A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A>
+<A HREF="compiledcontrol.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<a href="enhanceddrawing.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></a>
+</TD>
+
+<TD ALIGN="Right"><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B> <BR>
+<B>For Application Developers</B> <BR>
+<B>Visualization</B> </FONT></FONT> </TD>
+</TR>
+</TABLE>
+
+<CENTER><FONT COLOR="#238E23"><FONT SIZE=+3>
+<b>8.6 Visualization Attributes</b><BR>
+</FONT></FONT></CENTER>
+<BR>
+
+<HR ALIGN="Center" SIZE="7%"><BR>
+
+<!-- ============================================== Section --> 
+
+ 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>
+ A set of visualization attributes is held by an instance of class
+ <i>G4VisAttributes</i> defined in the <tt>graphics_reps</tt> category. In the
+ following, we explain the main fields of the <i>G4VisAttributes</i> one by one.
+<P>
+<!------------------------------------------------------>
+
+<h4>8.6.1 Visibility </h4>
+
+ 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:
+<PRE>
+     void G4VisAttributes::SetVisibility (G4bool visibility);
+</PRE>
+ If you give <tt>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>true</tt>.
+<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>
+ By default the following public static function is defined:
+<PRE>
+     static const G4VisAttributes& GetInvisible();
+</PRE>
+ which returns a reference to a const object in which visibility is set to 
+ <tt>false</tt>. It can be used as follows:
+<PRE>
+     experimentalHall_logical -> SetVisAttributes (G4VisAttributes::GetInvisible());
+</PRE>
+Direct access to the public static const data member
+<tt>G4VisAttributes::Invisible</tt> is also possible but deprecated on
+account of initialisation issues with dynamic libraries.
+<P>
+
+<!------------------------------------------------------>
+<h4>8.6.2 Colour </h4>
+<h4>8.6.2.1 Construction </h4>
+
+ Class <i>G4Colour</i>  (an equivalent class name, <i>G4Color</i>, 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>1</tt>, which means "opaque" in instantiation 
+ of <i>G4Colour</i>.
+<P>
+ A <i>G4Colour</i> object is instantiated by giving red, green, and blue components to
+ its constructor, i.e., 
+<PRE>
+     G4Colour::G4Colour ( G4double r = 1.0, 
+                          G4double g = 1.0, 
+                          G4double b = 1.0, 
+                          G4double a = 1.0);
+                                  // 0<=red, green, blue <= 1.0 
+</PRE>
+ The default value of each component is 1.0.  
+ That is to say, the default colour is "white" (opaque).
+<P>
+ For example, colours which are often used can be instantiated as follows:
+<PRE>
+     G4Colour  white   ()              ;  // <FONT COLOR=#FFFFFF>white</FONT>
+     G4Colour  white   (1.0, 1.0, 1.0) ;  // <FONT COLOR=#FFFFFF>white</FONT>
+     G4Colour  gray    (0.5, 0.5, 0.5) ;  // <FONT COLOR=#808080>gray</FONT>
+     G4Colour  black   (0.0, 0.0, 0.0) ;  // <FONT COLOR=#000000>black</FONT>
+     G4Colour  red     (1.0, 0.0, 0.0) ;  // <FONT COLOR=#FF0000>red</FONT>
+     G4Colour  green   (0.0, 1.0, 0.0) ;  // <FONT COLOR=#00FF00>green</FONT>
+     G4Colour  blue    (0.0, 0.0, 1.0) ;  // <FONT COLOR=#0000FF>blue</FONT>
+     G4Colour  cyan    (0.0, 1.0, 1.0) ;  // <FONT COLOR=#00FFFF>cyan</FONT>
+     G4Colour  magenta (1.0, 0.0, 1.0) ;  // <FONT COLOR=#FF00FF>magenta</FONT> 
+     G4Colour  yellow  (1.0, 1.0, 0.0) ;  // <FONT COLOR=#FFFF00>yellow</FONT>
+</PRE>
+<P>
+It is also possible to instantiate common colours through static public data member functions:
+<PRE>
+     static const G4Colour& White   ();  
+     static const G4Colour& Gray    ();  
+     static const G4Colour& Grey    (); 
+     static const G4Colour& Black   (); 
+     static const G4Colour& Red     (); 
+     static const G4Colour& Green   (); 
+     static const G4Colour& Blue    (); 
+     static const G4Colour& Cyan    (); 
+     static const G4Colour& Magenta (); 
+     static const G4Colour& Yellow  (); 
+</PRE>
+<P>
+For example, a local <i>G4Colour</i> could be constructed as:
+<PRE>
+     G4Colour myRed(G4Colour::Red());
+</PRE>
+<P>
+ After instantiation of a <i>G4Colour</i> object, you can access to its components 
+ with the following access functions:
+<PRE>
+     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>
+
+<P>
+<!------------------------------------------------------>
+<h4>8.6.2.2 Colour Map</h4>
+ <i>G4Colour</i> also provides a static colour map, giving access to predefined <i>G4Colour</i>'s through a <i>G4String</i> key. The default mapping is:
+
+<PRE>
+     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>
+<P>
+Colours can be retrieved through the GetColour method:
+
+<PRE>
+     bool G4Colour::GetColour(const G4String& key, G4Colour& result)
+</PRE>
+
+For example:
+
+<PRE>
+    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>
+<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>
+It is also possible to load user defined <i>G4Colour</i>'s into the map through
+the public AddToMap method. For example:
+
+<PRE>
+    G4Colour myColour(0.2, 0.2, 0.2, 1);
+    G4Colour::AddToMap("custom", myColour);
+</PRE>
+<P>
+
+This loads a user defined <i>G4Colour</i> with key "custom" into the colour map.
+
+<h4>8.6.2.3 Colour and <i>G4VisAttributes</i> </h4>
+ Class <i>G4VisAttributes</i> holds its colour entry as an object of class <i>G4Colour</i>.
+ A <i>G4Colour</i> object is passed to a <i>G4VisAttributes</i> object with the following 
+ access functions:
+<PRE>
+     //----- Set functions of G4VisAttributes.
+     void G4VisAttributes::SetColour (const G4Colour& colour);
+     void G4VisAttributes::SetColor (const G4Color& color );
+</PRE>
+ We can also set RGBA components directly:
+<PRE>
+     //----- 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>
+ The following constructor with <i>G4Colour</i> as its argument is also supported:
+<PRE>
+     //----- Constructor of G4VisAttributes
+     G4VisAttributes::G4VisAttributes (const G4Colour& colour);
+</PRE>
+<P>
+ Note that colour assigned to a <i>G4VisAttributes</i> 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>
+<!------------------------------------------------------>
+<h4>8.6.3 Forcing attributes</h4>
+
+ 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>
+ 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>
+ Forced wireframe style is set with the following access function: 
+<PRE>
+     void G4VisAttributes::SetForceWireframe (G4bool force);
+</PRE>
+ If you give <tt>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>false</tt>.
+<P>
+ Similarly, forced solid style, i.e., to force that objects are always
+ visualized with surfaces, is set with:
+<PRE>
+     void G4VisAttributes::SetForceSolid (G4bool force);
+</PRE>
+ The default value of the forced solid style is <tt>false</tt>, too.
+<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>
+ 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>
+ To force auxiliary edges to be visible, use:
+<PRE>
+     void G4VisAttributes::SetForceAuxEdgeVisible (G4bool force);
+</PRE>
+ The default value of the force auxiliary edges visible flag is
+ <tt>false</tt>.
+<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>
+ 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:
+<PRE>
+     void G4VisAttributes::SetForceLineSegmentsPerCircle (G4int nSegments);
+</PRE>
+<P>
+
+<!------------------------------------------------------>
+<h4>8.6.4 Constructors of <i>G4VisAttributes</i> </h4>
+
+ The following constructors are supported for class <i>G4VisAttributes</i>:
+<PRE>
+     //----- Constructors of class G4VisAttributes
+     G4VisAttributes (void);
+     G4VisAttributes (G4bool visibility);
+     G4VisAttributes (const G4Colour& colour);
+     G4VisAttributes (G4bool visibility, const G4Colour& colour);
+</PRE>
+<P>
+
+<!------------------------------------------------------>
+<h4>8.6.5 How to assign <i>G4VisAttributes</i> to a logical volume</h4>
+
+ 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 <i>G4Box</i> 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>
+ Class <i>G4LogicalVolume</i> holds a pointer of <i>G4VisAttributes.</i> This field is 
+ set and referenced with the following access functions:
+<PRE>
+     //----- Set functions of G4VisAttributes
+     void G4VisAttributes::SetVisAttributes (const G4VisAttributes* pVA);
+     void G4VisAttributes::SetVisAttributes (const G4VisAttributes& VA);
+
+     //----- Get functions of G4VisAttributes
+     const G4VisAttributes* G4VisAttributes::GetVisAttributes () const;
+</PRE>
+<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:
+<PRE>
+     //----- 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->SetForceWireframe(true);
+          // Assignment of the visualization attributes to the logical volume
+     myTargetLog->SetVisAttributes(calTubeVisAtt);
+
+     //----- end of C++ source codes
+</PRE>
+<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>
+
+<!------------------------------------------------------>
+<h4>8.6.6 Additional User-Defined Attributes</h4>
+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>
+Define the attributes with lines such as:
+<PRE>
+     std::map<G4String,G4AttDef>* 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>
+Then fill the attributes with lines such as:
+<PRE>
+     std::vector<G4AttValue>* values = new std::vector<G4AttValue>;
+     values->push_back(G4AttValue("PN",ParticleName,""));
+     s.seekp(std::ios::beg);
+     s << G4BestUnit(initialMomentum,"Energy") << std::ends;
+     values->push_back(G4AttValue("IMom",c,""));
+</PRE>
+See geant4/source/tracking/src/G4Trajectory.cc for a good example.
+<P>
+<i>G4AttValue</i> objects are light, containing just the value; for the
+long description and other sharable information the <i>G4AttValue</i> object
+refers to a <i>G4AttDef</i> object.  They are based on the
+HepRep standard described at
+<A HREF="http://www.slac.stanford.edu/~perl/heprep/">http://www.slac.stanford.edu/~perl/heprep/</a>.
+Geant4 also provides an <i>G4AttDefStore</i>.
+
+<P>
+Geant4 provides some default examples of the use of this facility
+in the trajectory classes in /source/tracking such as
+<i>G4Trajectory</i>, <i>G4SmoothTrajectory</i>.  
+<i>G4Trajectory::CreateAttValues</i>
+shows how <i>G4AttValue</i> objects can be made and 
+<i>G4Trajectory::GetAttDefs</i>
+shows how to make the corresponding <i>G4AttDef</i> objects and use the
+<i>G4AttDefStore</i>.  
+Note that the "user" of CreateAttValues guarantees to
+destroy them; this is a way of allowing creation on demand and leaving
+the <i>G4Trajectory</i> object, for example, free of such objects in memory.
+The comments in <i>G4VTrajectory.hh</i> explain further and additional
+insights might be obtained by looking at two methods which use them,
+namely <i>G4VTrajectory::DrawTrajectory</i> and
+<i>G4VTrajectory::ShowTrajectory</i>.
+
+<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 <i>G4VHit.hh</i> explain
+further.
+
+<P>
+In addition, the user is free to add a <i>G4std::vector<G4AttValue>*</i> and
+a <i>G4std::vector<G4AttDef>*</i> to a <i>G4VisAttributes</i> 
+object as could, for
+example, be used by a <i>G4LogicalVolume</i> object.
+
+<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>
+
+
+<HR>
+ <A HREF="enhanceddrawing.html">Next section</A><BR>
+ <A HREF="index.html">Back to contents</A>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/commandcontrol.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/commandcontrol.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/commandcontrol.html	(revision 1208)
@@ -0,0 +1,673 @@
+<HTML>
+<TITLE>Controlling Visualization from Commands</title>
+<BODY>
+
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+</A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A>
+<A HREF="visdrivers.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<a href="compiledcontrol.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></a>
+</TD>
+
+<TD ALIGN="Right"><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B> <BR>
+<B>For Application Developers</B> <BR>
+<B>Visualization</B> </FONT></FONT> </TD>
+</TR>
+</TABLE>
+
+<CENTER><FONT COLOR="#238E23"><FONT SIZE=+3>
+<b>8.4 Controlling Visualization from Commands</b><BR>
+</FONT></FONT></CENTER>
+<BR>
+
+<HR ALIGN="Center" SIZE="7%"><BR>
+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="../Control/UIcommands/_vis_.html">Control...UICommands</A> section of this user guide.
+<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="visexecutable.html">Section 8.2 </a>.
+<p>
+
+<h4>8.4.1 Scene, scene handler, and viewer</h4>
+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>
+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:
+:<BR>
+<BR>
+Step 1. Create a scene handler and a viewer. 
+<BR>
+Step 2. Create an empty scene.
+<BR>
+Step 3. Add raw 3D data to the created scene.
+<BR>
+Step 4. Attach the current scene handler to the current scene.
+<BR>
+Step 5. Set camera parameters, drawing style (wireframe/surface), etc.
+<BR>
+Step 6. Make the viewer execute visualization.
+<BR>
+Step 7. Declare the end of visualization for flushing.
+<BR>
+<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>
+
+<h4>8.4.2 Create a scene handler and a viewer: <tt>/vis/open</tt> command</h4>
+
+Command "<tt>/vis/open</tt>" creates a scene handler and a viewer, 
+which corresponds to Step 1.
+
+<UL>
+<LI><B>Command</B><BR>
+    <TT>/vis/open  [driver_tag_name]</TT>
+<LI><B>Argument</B><BR>
+    A name of (a mode of) an available visualization driver.
+<LI><B>Action</B><BR>
+     Create a visualization driver, i.e. a set of  
+     a scene hander and a viewer.
+<LI><B>Example: Create the OpenGL-Xlib driver with its immediate mode</B><BR>
+    <TT>Idle> /vis/open  OGLIX</TT>
+<LI><B>Additional notes</B>
+<BR>For immediate viewers, such as OGLIX, your geometry will immediately be
+rendered in the new GL window<BR><BR>
+<BR>How to list available driver_tag_name:<BR><BR>
+    <TT>Idle> help /vis/open</TT><BR>
+    or<BR>
+    <TT>Idle> help /vis/sceneHandler/create</TT><BR><BR>
+    The list is, for example, displayed as follows:<BR>
+    .....<BR>
+    <TT> Candidates      : DAWNFILE OGLIX OGLSX </TT><BR>
+    .....<BR>
+<LI>For additional options,
+see the <A HREF="../Control/UIcommands/_vis_.html">Control...UICommands</A> section of this user guide.
+<BR>
+</UL>
+<BR>
+
+<h4>8.4.3 Create an empty scene: <tt>/vis/scene/create</tt> command</h4>
+
+Command "<tt>/vis/scene/create</tt>" creates an empty scene, 
+which corresponds to Step 2.
+
+<UL>
+<LI><B>Command</B><BR>
+    <TT>/vis/scene/create [scene_name]</TT>
+<LI><B>Argument</B><BR>
+    A name for this scene.  Created for you if you don't specify one.
+</UL>
+<BR>
+
+
+<h4>8.4.4 Visualization of a physical volume: 
+             <tt>/vis/drawVolume</tt>    command </h4>
+
+Command  "<TT>/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>/vis/viewer/flush</tt>" should follow 
+in order to do the final Step 7.
+
+<UL>
+<LI><B>Commands</B><BR>
+    <TT>/vis/drawVolume [physical-volume-name]</TT><BR>
+    <TT>.....</TT><BR>
+    <TT>Idle> /vis/viewer/flush</TT>
+<LI><B>Argument</B><BR>
+    A physical-volume name. 
+    The default value is "world", which is omittable.
+<LI><B>Action</B><BR>
+      Creates a scene consisting of the given physical volume and asks the
+      current viewer to draw it.  
+      The scene becomes current.
+      Command "<tt>/vis/viewer/flush</tt>" should follow this command
+      in order to declare end of visualization.
+<LI><B>Example: Visualization of the whole world with coordinate axes</B><BR>
+    <TT>Idle> /vis/drawVolume</TT><BR>
+    <TT>Idle> /vis/scene/add/axes  0 0 0 500 mm</TT><BR>
+    <TT>Idle> /vis/viewer/flush</TT>
+</UL>
+<BR>
+
+<h4>8.4.5 Visualization of a logical volume: 
+             <tt>/vis/specify </tt> command </h4>
+
+Command  "<TT>/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>/vis/viewer/flush</tt>" should follow the command 
+in order to do the final Step 7.
+
+
+<UL>
+<LI><B>Command</B><BR>
+    <TT>/vis/specify [logical-volume-name][depth-of-descent] [booleans-flag] [voxels-flag] [readout-flag]</TT><BR>
+<LI><B>Argument</B><BR>
+    A logical-volume name. 
+<LI><B>Action</B><BR>
+      Creates a scene consisting of the given logical volume and asks the
+      current viewer to draw it.
+      The scene becomes current.
+<LI><B>Example (visualization of a selected logical volume with coordinate axes)</B><BR>
+     <TT>Idle> /vis/specify  Absorber </TT><BR>
+     <TT>Idle> /vis/scene/add/axes   0 0 0 500 mm</TT><BR>
+     <TT>Idle> /vis/scene/add/text   0 0 0 mm  40 -100 -200   LogVol:Absorber </TT><BR>
+     <TT>Idle> /vis/viewer/flush</TT>
+</UL>
+For more options,
+see the <A HREF="../Control/UIcommands/_vis_.html">Control...UICommands</A> section of this user guide.
+<BR>
+
+
+<h4>8.4.6 Visualization of trajectories: <TT>/vis/scene/add/trajectories </TT> command</h4>
+
+Command  "<TT>/vis/scene/add/trajectories</TT>" 
+adds trajectories to the current scene.
+Note that this automatically issues "<TT>/tracking/storeTrajectory 1</TT>" so
+that trajectories are stored (by default they are not).
+The visualization is performed with the command 
+"<TT>/run/beamOn</TT>"
+unless you have non-default values for /vis/scene/endOfEventAction or /vis/scene/endOfRunAction
+(described below).
+
+
+<UL>
+<LI><B>Command</B><BR>
+    <TT>/vis/scene/add/trajectories [drawing-mode]</TT><BR>
+<LI><B>Action</B><BR>
+    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.
+<LI><B>Example: Visualization of trajectories </B><BR>
+     <TT>Idle> /vis/scene/add/trajectories     </TT><BR>
+     <TT>Idle> /run/beamOn  10</TT><BR>
+<LI><B>Additional note 1</B><BR>
+See the section <A HREF="enhanceddrawing.html#commandcontrol">Enhanced Trajectory Drawing</a>
+for details on how to control how trajectories are color-coded.
+<LI><B>Additional note 2</B><BR>
+     In examples/novice/N03, 
+     command "<TT>/vis/scene/add/trajectories</TT>" 
+     need not be executed, since 
+     the C++ method <tt>G4Trajectory::DrawTrajectory()</tt> 
+     is explicitly described in the event action.
+     Therefore the command need not be executed though (G)UI.
+</UL>
+For more options,
+see the <A HREF="../Control/UIcommands/_vis_.html">Control...UICommands</A> section of this user guide.
+<BR>
+
+<h4>8.4.7 Visualization of hits: <TT>/vis/scene/add/hits </TT> command</h4>
+
+Command  "<TT>/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>/run/beamOn</TT>"
+unless you have non-default values for /vis/scene/endOfEventAction or /vis/scene/endOfRunAction
+(described above).
+
+<h4>8.4.8 HepRep Attributes for Hits</h4>
+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>
+For example, in example RE01's class RE01CalorimeterHit.cc,
+available attributes will be:
+<UL>
+<LI>Hit Type</li>
+<LI>Track ID</li>
+<LI>Z Cell ID</li>
+<LI>Phi Cell ID</li>
+<LI>Energy Deposited</li>
+<LI>Energy Deposited by Track</li>
+<LI>Position</li>
+<LI>Logical Volume</li>
+</UL>
+You can add additional attributes of your choosing by modifying the relevant part of the hit class
+(look for the methods GetAttDefs and CreateAttValues).
+
+<h4>8.4.9 Basic camera workings: <tt>/vis/viewer/</tt> commands</tt></h4>
+
+Commands in the command directory "<tt>/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>/vis/viewer/reset</tt>".
+Some visualization systems, such as the VRML and HepRep browsers also allow camera control
+from the standalone graphics application.
+<P>
+Just a few of the camera commands are described here.
+For more commands,
+see the <A HREF="../Control/UIcommands/_vis_.html">Control...UICommands</A> section of this user guide.
+
+<UL>
+<LI><B>Command</B><BR>
+    <TT>/vis/viewer/set/viewpointThetaPhi [theta] [phi] [deg|rad] </TT>
+<LI><B>Arguments</B><BR>
+    Arguments "theta" and "phi" are polar and azimuthal camera angles,  
+    respectively. The default unit is "degree".
+<LI><B>Action</B><BR>
+     Set a view point in direction of (theta, phi).
+<LI><B>Example: Set the viewpoint in direction of (70 deg, 20 deg)</B><BR>
+    <TT>Idle> /vis/viewer/set/viewpointThetaPhi  70 20</TT>
+<LI><B>Additional notes</B><BR>
+    Camera parameters should be set for each viewer.
+    They are initialized with command "<tt>/vis/viewer/reset</tt>".
+</UL>
+<BR>
+
+<UL>
+<LI><B>Command</B><BR>
+    <TT>/vis/viewer/zoom  [scale_factor]</TT>
+<LI><B>Argument</B><BR>
+    The scale factor. 
+    The command multiplies magnification of the view by this factor. 
+<LI><B>Action</B><BR>
+     Zoom up/down of view.
+<LI><B>Example: Zoom up by factor 1.5</B><BR>
+    <TT>Idle> /vis/viewer/zoom 1.5</TT>
+<LI><B>Additional notes</B><BR>
+    Camera parameters should be set for each viewer.
+    They are initialized with command "<tt>/vis/viewer/reset</tt>".
+<BR>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="../Control/UIcommands/_vis_.html">Control...UICommands</A>
+section of this user guide.
+</UL>
+<BR>
+
+<UL>
+<LI><B>Command</B><BR>
+    <TT>/vis/viewer/set/style  [style_name]</TT>
+<LI><B>Arguments</B><BR>
+    Candidate values of the argument are "wireframe" and "surface".
+    ("w" and "s" also work.)
+<LI><B>Action</B><BR>
+     Set a drawing style to wireframe or surface.
+<LI><B>Example: Set the drawing style to "surface"</B><BR>
+    <TT>Idle> /vis/viewer/set/style surface</TT>
+<LI><B>Additional notes</B><BR>
+<BR>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.
+<BR>Drawing style should be set for each viewer.
+    The drawing style is initialized with 
+    command "<tt>/vis/viewer/reset</tt>".
+</UL>
+<BR>
+
+
+<h4>8.4.10 Declare the end of visualization for flushing: <tt>/vis/viewer/flush</tt> command</tt></h4>
+
+<UL>
+<LI><B>Command</B><BR>
+    <TT>/vis/viewer/flush </TT><BR>
+<LI><B>Action</B><BR>
+      Declare the end of visualization for flushing.
+<LI><B>Additional notes</B><BR>
+    Command "<tt>/vis/viewer/flush</tt>" should follow 
+    "<tt>/vis/drawVolume</tt>", "<tt>/vis/specify</tt>", etc in order
+    to complete visualization.
+    It corresponds to Step 7.
+<BR>
+    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).
+    </UL>
+    
+<h4>8.4.11 End of Event Action and End of Run Action: <tt>/vis/viewer/endOfEventAction</tt>
+and <tt>/vis/viewer/endOfEventAction</tt> commands</h4>
+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.
+<UL>
+<LI><B>Command</B><BR>
+    <TT>/vis/scene/endOfEventAction [refresh|accumulate]</TT><BR>
+<LI><B>Action</B><BR>
+      Control how often the picture should be cleared.
+      <BR>
+      <tt>refresh</tt> means each event will be written to a new picture.
+      <BR>
+      <tt>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>/vis/scene/endOfRunAction accumulate</tt>
+<LI><B>Additional note</B><BR>
+	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.
+</UL>
+<UL>
+<LI><B>Command</B><BR>
+    <TT>/vis/scene/endOfRunAction [refresh|accumulate]</TT><BR>
+<LI><B>Action</B><BR>
+      Control how often the picture should be cleared.
+      <BR>
+      <tt>refresh</tt> means each run will be written to a new picture.
+      <BR>
+      <tt>accumulate</tt> means runs will be accumulated into a single picture.
+      To start a new picture, you must explicitly issue
+      <tt>/vis/viewer/refresh</tt>, <tt>/vis/viewer/update</tt> or <tt>/vis/viewer/flush</tt>
+</UL>
+
+<h4>8.4.12 HepRep Attributes for Trajectories</h4>
+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:
+<UL>
+<LI>Track ID</li>
+<LI>Parent ID</li>
+<LI>Particle Name</li>
+<LI>Charge</li>
+<LI>PDG Encoding</li>
+<LI>Momentum 3-Vector</li>
+<LI>Momentum magnitude</li>
+<LI>Number of points</li>
+</UL>
+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.
+
+<h4>8.4.13 How to save a visualized views to PostScript files</h4>
+
+ Most of the visualization drivers offer ways to save 
+ visualized views to PostScript files 
+ (or Encapsulated PostScript (EPS) files) by themselves.
+<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>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>gv</tt>"is 
+ automatically invoked to visualize the generated EPS files.
+<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>g4_XX.eps</tt> to save the visualized view:
+<PRE>
+# 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>
+This is a good example to show that the visualization drivers 
+are complementary to each other.
+<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>
+ The OpenGL-Motif driver also has a menu to generate PostScript files. 
+ 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>
+ 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>
+
+<h4>8.4.14 Culling</h4>
+
+ "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>
+ Geant4 Visualization supports the following 3 kinds of culling:
+ <UL>
+  <LI>Culling of invisible physical volumes</LI>
+  <LI>Culling of low density physical volumes.</LI>
+  <LI>Culling of covered physical volumes by others</LI>
+ </UL>
+ 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>
+ Table 8.4.1 summarizes the default culling policies.
+<p>
+ <CENTER><TABLE BORDER=2 cellpadding=8>
+ <TR>
+  <TD><B>Culling Type</B></TD>
+  <TD><B>Default Value</B></TD>
+ </TR>
+ <TR>
+  <TD>global</TD>
+  <TD align=center>ON</TD>
+ </TR>
+ <TR>
+  <TD>invisible</TD>
+  <TD align=center>ON</TD>
+ </TR>
+ <TR>
+  <TD>low density</TD>
+  <TD align=center>OFF</TD>
+ </TR>
+ <TR>
+  <TD>covered daughter</TD>
+  <TD align=center>OFF</TD>
+ </TR>
+ <tr>
+ <td align=center colspan=2>Table 8.4.1<BR>
+ The default culling policies.
+ </TABLE></CENTER>
+<p>
+ The default threshold density of the low-density culling is 0.01 g/cm<sup>3</sup>.
+<P>
+ The default culling policies can be modified with the following
+ visualization commands. 
+ (Below the argument <tt>flag</tt> takes a value of <tt>true</tt> 
+ or <tt>false</tt>.)
+ <PRE>
+     # 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>
+<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.
+
+<h4>8.4.15 Cut view</h4>
+<p>
+
+<h4>Sectioning</h4>
+ 
+ "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,
+ <PRE>
+     /vis/viewer/set/sectionPlane on x y z units nx ny nz
+ </PRE>
+ 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:
+ <PRE>
+     Idle> /vis/viewer/set/sectionPlane  on  2.0  0.0  0.0  cm  1.0  0.0  0.0
+ </PRE>
+<p>
+
+<h4>Cutting away</h4>
+
+ "Cutting away" means to remove a half space, defined with a plane, from a
+ 3D scene.
+
+ <ul>
+
+  <li> Cutting away is supported by the DAWNFILE driver "off-line".
+   Do the following:
+   <ul>
+    <li>Perform visualization with the DAWNFILE driver 
+        to generate a file <tt>g4.prim</tt>, describing the whole 3D scene.
+    <li>Make the application "DAWNCUT" read the generated file 
+        to make a view of cutting away.
+   </ul>
+   See the following WWW page for details:
+   <A HREF="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWNCUT.html">
+   http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWNCUT.html</A>.
+ <p>
+ <li> Alternatively, add up to three cutaway planes:
+ <PRE>
+     /vis/viewer/addCutawayPlane 0 0 0 m 1 0 0
+     /vis/viewer/addCutawayPlane 0 0 0 m 0 1 0
+     ...
+ </PRE>
+     and, for more that one plane, you can change the mode to
+   <ul>
+    <li> (a) "add" or, equivalently, "union" (default) or
+    <li> (b) "multiply" or, equivalently, "intersection":
+   </ul>
+ <PRE>
+     /vis/viewer/set/cutawayMode multiply
+ </PRE>
+     To de-activate:
+ <PRE>
+     /vis/viewer/clearCutawayPlanes
+ </PRE>
+     OpenGL supports this feature.
+
+ </ul>
+<p>
+ 
+
+<BR>
+
+
+<h4>8.4.16 Tutorial macros </h4>
+
+The followings are tutorial macros in the directory 
+<tt>examples/novice/N03/visTutor/</tt>:
+
+ <UL>
+  <LI>  <A HREF="visTutor/exN03Vis0_mac.html">
+       exN03Vis0.mac:</A><BR>
+       A basic macro for visualization of detector geometry and events
+       using OpenGL in Immediate mode and DAWN.
+  <LI>  <A HREF="visTutor/exN03Vis1_mac.html">
+       exN03Vis1.mac:</A><BR>
+       A basic macro for visualization of detector geometry
+       using OpenGL in Stored mode and DAWN.
+  <LI>  <A HREF="./visTutor/exN03Vis2_mac.html">
+       exN03Vis2.mac:</A><BR>
+       A basic macro for visualization of detector geometry and events
+       using OpenGL in Stored mode and DAWN.
+  <LI>  <A HREF="./visTutor/exN03Vis3_mac.html">
+       exN03Vis3.mac:</A><BR>
+       A basic macro for demonstrating various drawing styles
+       using OpenGL in Immediate mode and DAWN.
+  <LI>  <A HREF="./visTutor/exN03Vis4_mac.html">
+       exN03Vis4.mac:</A><BR>
+       An example of visualizing specific logical volumes
+       using OpenGL in Immediate mode and DAWN.
+  <LI>  <A HREF="./visTutor/exN03Vis5_mac.html">
+       exN03Vis5.mac:</A><BR>
+       A basic macro for visualization of detector geometry and events
+       using OpenInventor on Unix.
+  <LI>  <A HREF="./visTutor/exN03Vis6_mac.html">
+       exN03Vis6.mac:</A><BR>
+       A basic macro for visualization of detector geometry and events
+       using VRML.
+  <LI>  <A HREF="./visTutor/exN03Vis7_mac.html">
+       exN03Vis7.mac:</A><BR>
+       A macro to demonstrate "batch" visualization to generate 
+       PostScript files with the DAWNFILE driver
+  <LI>  <A HREF="./visTutor/exN03Vis8_mac.html">
+       exN03Vis8.mac:</A><BR>
+       A macro to demonstrate creation of a "multi-page"
+       PostScript file with the DAWNFILE driver
+  <LI>  <A HREF="./visTutor/exN03Vis9_mac.html">
+       exN03Vis9.mac:</A><BR>
+       A basic macro for visualization of detector geometry and events
+       using OpenGL for Windows.
+  <LI>  <A HREF="./visTutor/exN03Vis10_mac.html">
+       exN03Vis10.mac:</A><BR>
+       A basic macro for visualization of detector geometry and events
+       using OpenInventor on Windows.
+  <LI>  <A HREF="./visTutor/exN03Vis11_mac.html">
+       exN03Vis11.mac:</A><BR>
+       A basic macro for visualization of detector geometry and events
+       using OpenGL in Stored Motif mode and DAWN.
+  <LI>  <A HREF="./visTutor/exN03Vis12_mac.html">
+       exN03Vis12.mac</A> and <A HREF="./visTutor/exN03Vis12_loop.html">
+       exN03Vis12.loop:</A><BR>
+       A basic macro for demonstrating time slicing.
+  <LI>  <A HREF="./visTutor/exN03Vis13_mac.html">
+       exN03Vis13.mac</A> and <A HREF="./visTutor/exN03Vis13_loop.html">
+       exN03Vis13.loop:</A><BR>
+       Time development of an electrmagnetic shower.
+  <LI>  <A HREF="./visTutor/exN03Tree0_mac.html">
+       exN03Tree0.mac:</A><BR>
+       A macro to demonstrate ASCII tree.
+  <LI>  <A HREF="./visTutor/exN03Tree1_mac.html">
+       exN03Tree1.mac:</A><BR>
+       A macro to demonstrate GAG tree.
+ </UL>
+
+<HR>
+ <A HREF="compiledcontrol.html">Next section</A><BR>
+ <A HREF="index.html">Back to contents</A>
+</BODY>
+</HTML>
+
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/compiledcontrol.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/compiledcontrol.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/compiledcontrol.html	(revision 1208)
@@ -0,0 +1,591 @@
+<HTML>
+<TITLE>Controlling Visualization from Compiled Code
+</TITLE>
+<!-- Changed by: Katsuya Dosanjh, 15-Jul-2000 -->
+<!-- Changed by: Dennis Wright, 27-Nov-2001 -->
+
+
+<!-- Proof read by: Joe Chuma,  6-Jul-1999 -->
+
+<!--  -->
+<!-- *spell, *tag, *contents, *s -->
+<BODY>
+
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+</A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A>
+<A HREF="commandcontrol.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<a href="attributes.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></a>
+</TD>
+
+<TD ALIGN="Right"><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B> <BR>
+<B>For Application Developers</B> <BR>
+<B>Visualization</B> </FONT></FONT> </TD>
+</TR>
+</TABLE>
+
+<CENTER><FONT COLOR="#238E23"><FONT SIZE=+3>
+<b>8.5 Controlling Visualization from Compiled Code</b><BR>
+</FONT></FONT></CENTER>
+<BR>
+
+<HR ALIGN="Center" SIZE="7%"><BR>
+
+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 
+(<i>G4UserRunAction</i> and <i>G4UserEventAction</i>, for example).  
+In this section methods of the class <i>G4VVisManager</i>, which is part of 
+the <tt>graphics_reps</tt> category, are described and examples of their use are 
+given.
+
+
+<h4>8.5.1 Class <i>G4VVisManager</i></h4>
+
+The Visualization Manager is implemented by classes <i>G4VisManager</i> and 
+<i>G4VisExecutive</i>.  See Section 8.2 "<b>Making a Visualization Executable</b>".
+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>main()</tt> function.
+ Instead, you should use their abstract base class <i>G4VVisManager</i>, defined in
+ the <tt>intercoms</tt> category.
+<P>
+ The pointer to the concrete instance of the real
+ Visualization Manager can be obtained as follows:
+ <PRE>
+  //----- Getting a pointer to the concrete Visualization Manager instance
+  G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
+ </PRE>
+<P>
+ The method <tt>G4VVisManager::GetConcreteInstance()</tt> returns <tt>NULL</tt> if Geant4 is
+ not ready for visualization.  Thus your C++ source code should be protected as follows:
+ <PRE>
+  //----- How to protect your C++ source codes in visualization
+  if (pVVisManager) { 
+      ....
+      pVVisManager ->Draw (...); 
+      ....
+  }
+ </PRE>
+<P>
+
+<P>
+
+<h4>8.5.2 Visualization of detector components</h4>
+
+ 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>ApplyCommand()</tt> method. 
+
+ <P>
+ For example, 
+ the following is sample C++ source codes 
+ to visualize the detector components:
+<PRE>
+  //----- 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()->ApplyCommand("/vis/drawVolume");
+      G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/flush");
+  }
+
+  //-----  end of C++ source code
+ </PRE>
+In the above, you should also describe 
+<tt>/vis/open</tt> command somewhere in your C++ codes or 
+execute the command from (G)UI at the executing stage. 
+<P>
+
+<h4>8.5.3 Visualization of trajectories</h4>
+
+ In order to visualize trajectories, you can use the method 
+ <tt>void G4Trajectory::DrawTrajectory()</tt> defined in the tracking 
+ category.
+ In the implementation of this method, the following drawing method of
+ <i>G4VVisManager</i> is used:
+ <PRE>
+    //----- A drawing method of G4Polyline
+    virtual void G4VVisManager::Draw (const G4Polyline&, ...) ;
+ </PRE>
+ The real implementation of this method is described in the class <i>G4VisManager</i>.
+<P>
+ At the end of one event, a set of trajectories can be stored as a list of
+ <i>G4Trajectory</i> objects. 
+ Therefore you can visualize trajectories, for example, at the end of each event,
+ by implementing the method <tt>MyEventAction::EndOfEventAction()</tt> as follows:
+ <PRE>
+  //----- C++ source codes 
+  void ExN03EventAction::EndOfEventAction(const G4Event* evt)
+  {
+    .....  
+    // extract the trajectories and draw them
+    if (G4VVisManager::GetConcreteInstance())
+      {
+       G4TrajectoryContainer* trajectoryContainer = evt->GetTrajectoryContainer();
+       G4int n_trajectories = 0;
+       if (trajectoryContainer) n_trajectories = trajectoryContainer->entries();
+  
+       for (G4int i=0; i < n_trajectories; i++) 
+          { G4Trajectory* trj=(G4Trajectory*)((*(evt->GetTrajectoryContainer()))[i]);
+            if (drawFlag == "all") trj->DrawTrajectory(50);
+            else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.))
+                                    trj->DrawTrajectory(50);
+            else if ((drawFlag == "neutral")&&(trj->GetCharge() == 0.))
+                                    trj->DrawTrajectory(50);
+          }
+    }
+  }  
+  //----- end of C++ source codes
+</PRE>
+
+<P>
+<h4>8.5.4 Enhanced trajectory drawing</h4>
+  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="enhanceddrawing.html#compiledcontrol">Enhanced Trajectory Drawing</a>.
+
+<h4>8.5.5 HepRep Attributes for Trajectories</h4>
+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:
+<UL>
+<LI>Track ID</li>
+<LI>Parent ID</li>
+<LI>Particle Name</li>
+<LI>Charge</li>
+<LI>PDG Encoding</li>
+<LI>Momentum 3-Vector</li>
+<LI>Momentum magnitude</li>
+<LI>Number of points</li>
+</UL>
+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.
+
+<h4>8.5.6 Visualization of hits</h4>
+
+ Hits are visualized with classes <i>G4Square</i> or <i>G4Circle</i>, or other 
+ user-defined classes inheriting the abstract base class <i>G4VMarker</i>. 
+ Drawing methods for hits are not supported by default.  
+ Instead, ways of their implementation are guided by virtual methods,
+ <tt>G4VHit::Draw()</tt> and  <tt>G4VHitsCollection::DrawAllHits()</tt>, of the 
+ abstract base classes <i>G4VHit</i> and <i>G4VHitsCollection</i>.
+ These methods are defined as empty functions in the <tt>digits+hits</tt> category.
+ You can overload these methods, using the following drawing methods of class
+ <i>G4VVisManager</i>, in order to visualize hits:
+ <PRE>
+  //----- Drawing methods of G4Square and G4Circle
+  virtual void G4VVisManager::Draw (const G4Circle&, ...) ;
+  virtual void G4VVisManager::Draw (const G4Square&, ...) ;
+ </PRE>
+ The real implementations of these <tt>Draw()</tt> methods are described in class
+ <i>G4VisManager</i>.
+<P>
+ The overloaded implementation of <tt>G4VHits::Draw()</tt> will be held by, for example,  
+ class <i>MyTrackerHits</i> inheriting <i>G4VHit</i> as follows: 
+ <PRE>
+  //----- 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->Draw(circle);
+    }
+  }
+
+  //----- end of C++ source codes
+ </PRE>
+<P>
+ The overloaded implementation of <tt>G4VHitsCollection::DrawAllHits()</tt> will be held 
+ by, for example, class <i>MyTrackerHitsCollection</i> inheriting class 
+ <i>G4VHitsCollection</i> as follows:
+ <PRE>
+  //----- 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 < n_hit;i++)
+    { 
+      theCollection[i].Draw(); 
+    }
+  }
+
+  //----- end of C++ source codes
+ </PRE>
+<P>
+ Thus, you can visualize hits as well as trajectories, for example, 
+ at the end of each event by implementing the method 
+ <tt>MyEventAction::EndOfEventAction()</tt> as follows:
+ <PRE>
+  void MyEventAction::EndOfEventAction()
+  {
+    const G4Event* evt = fpEventManager->get_const_currentEvent();
+
+    G4SDManager * SDman = G4SDManager::get_SDMpointer();
+    G4String colNam;
+    G4int trackerCollID = SDman->get_collectionID(colNam="TrackerCollection");
+    G4int calorimeterCollID = SDman->get_collectionID(colNam="CalCollection");
+
+    G4TrajectoryContainer * trajectoryContainer = evt->get_trajectoryContainer();
+    G4int n_trajectories = 0;
+    if(trajectoryContainer)
+    { n_trajectories = trajectoryContainer->entries(); }
+
+    G4HCofThisEvent * HCE = evt->get_HCofThisEvent();
+    G4int n_hitCollection = 0;
+    if(HCE)
+    { n_hitCollection = HCE->get_capacity(); }
+ 
+    G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
+
+    if(pVVisManager)
+    {
+ 
+      // Declare begininng of visualization
+      G4UImanager::GetUIpointer()->ApplyCommand("/vis/scene/notifyHandlers");
+
+      // Draw trajectories
+      for(G4int i=0; i < n_trajectories; i++)
+      { 
+          (*(evt->get_trajectoryContainer()))[i]->DrawTrajectory(); 
+      }
+
+      // Construct 3D data for hits
+      MyTrackerHitsCollection* THC 
+        = (MyTrackerHitsCollection*)(HCE->get_HC(trackerCollID));
+      if(THC) THC->DrawAllHits();
+      MyCalorimeterHitsCollection* CHC
+        = (MyCalorimeterHitsCollection*)(HCE->get_HC(calorimeterCollID));
+      if(CHC) CHC->DrawAllHits();
+
+      // Declare end of visualization
+      G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/update");
+    
+    } 
+
+  }
+
+  //----- end of C++ codes
+ </PRE>
+<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:
+ <PRE>
+  //----- Drawing methods of a physical volume
+  virtual void Draw (const G4VPhysicalVolume&, ...) ;
+ </PRE>
+<P>
+ This method is, for example, called in a method <tt>MyXXXHit::Draw()</tt>, describing
+ the visualization of hits with markers.  The following is an example for this:
+ <PRE>
+  //----- 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->GetLogicalVolume();
+      const G4VisAttributes* pVA = logVol->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->Draw(*pPhys,attribs,trans);
+
+    }
+  }
+
+  //----- end of C++ codes
+ </PRE>
+<P>
+
+<h4>8.5.7 HepRep Attributes for Hits</h4>
+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>
+For example, in example RE01's class RE01CalorimeterHit.cc,
+available attributes will be:
+<UL>
+<LI>Hit Type</li>
+<LI>Track ID</li>
+<LI>Z Cell ID</li>
+<LI>Phi Cell ID</li>
+<LI>Energy Deposited</li>
+<LI>Energy Deposited by Track</li>
+<LI>Position</li>
+<LI>Logical Volume</li>
+</UL>
+You can add additional attributes of your choosing by modifying the relevant part of the hit class
+(look for the methods GetAttDefs and CreateAttValues).
+
+<h4>8.5.8 Visualization of text</h4>
+
+ In Geant4 Visualization, a text, i.e., a character string, is described by class
+ <i>G4Text</i> inheriting <i>G4VMarker</i> as well as <i>G4Square</i> and <i>G4Circle</i>.
+ Therefore, the way to visualize text is the same as for hits. 
+ The corresponding drawing method of <i>G4VVisManager</i> is:
+ <PRE>
+  //----- Drawing methods of G4Text
+  virtual void G4VVisManager::Draw (const G4Text&, ...);
+ </PRE>
+ The real implementation of this method is described in class <i>G4VisManager</i>.
+<P>
+
+<h4>8.5.9 Visualization of polylines and tracking steps</h4>
+
+ Polylines, i.e., sets of successive line segments, are described by class
+ <i>G4Polyline</i>. For <i>G4Polyline</i>, the following drawing method of
+ class <i>G4VVisManager</i> is prepared:
+ <PRE>
+   //----- A drawing method of G4Polyline
+    virtual void G4VVisManager::Draw (const G4Polyline&, ...) ;
+ </PRE>
+ The real implementation of this method is described in class <i>G4VisManager</i>.
+<P>
+ Using this method, C++ source codes to visualize <i>G4Polyline</i> are described 
+ as follows:
+ <PRE>
+ //----- 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 -> Draw(polyline); 
+   
+  }
+  
+  //----- end of C++ source codes
+ </PRE>     
+<P>
+ Tracking steps are able to be visualized based on the above visualization of
+ <i>G4Polyline</i>.  You can visualize tracking steps at each step automatically 
+ by writing a proper implementation of class <i>MySteppingAction</i> inheriting 
+ <i>G4UserSteppingAction</i>, and also with the help of the Run Manager.  
+<P>
+ First, you must implement a method, <tt>MySteppingAction::UserSteppingAction()</tt>.
+ A typical implementation of this method is as follows:
+ <PRE>
+  //----- 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->GetTrack()->GetDefinition()->GetPDGCharge();
+        G4Colour colour;
+        if      (charge < 0.) colour = G4Colour(1., 0., 0.);
+        else if (charge < 0.) colour = G4Colour(0., 0., 1.);
+        else                  colour = G4Colour(0., 1., 0.);
+        G4VisAttributes attribs(colour);
+        polyline.SetVisAttributes(attribs);
+        polyline.push_back(pSM->GetStep()->GetPreStepPoint()->GetPosition());
+        polyline.push_back(pSM->GetStep()->GetPostStepPoint()->GetPosition());
+
+	//----- Call a drawing method for G4Polyline 
+        pVVisManager -> Draw(polyline); 
+      
+      } 
+  }
+
+  //----- end of C++ source code
+ </PRE>  
+<P>
+ Next, in order that the above C++ source code works, you have to pass
+ the information of the <i>MySteppingAction</i> to the Run Manager in the <tt>main()</tt> function:
+ <PRE>  
+  //----- 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->SetUserAction(new MySteppingAction);
+     ...
+  }
+
+  //----- end of C++ source code
+ </PRE>  
+<P>
+ Thus you can visualize tracking steps with various visualization attributes,
+ e.g., color, at each step, automatically.
+<P>
+ As well as tracking steps, you can visualize any kind 3D object made of 
+ line segments, using class <i>G4Polyline</i> and its drawing method, defined in class 
+ <i>G4VVisManager</i>.
+ See, for example, the implementation of the <tt>/vis/scene/add/axes</tt> command.
+<P>
+
+<h4>8.5.10 Visualization User Action</h4>
+
+You can implement the <tt>Draw</tt> method of <tt>G4VUserVisAction</tt>, e.g., the class definition could be:
+<PRE>
+class StandaloneVisAction: public G4VUserVisAction {
+  void Draw();
+};
+</PRE>
+and the implementation:
+<PRE>
+void StandaloneVisAction::Draw() {
+  G4VVisManager* pVisManager = G4VVisManager::GetConcreteInstance();
+  if (pVisManager) {
+
+    // Simple box...
+    pVisManager->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",&boxA,&boxB,
+                       G4Translate3D(3*m,3*m,3*m));
+    pVisManager->Draw(subtracted,
+                      G4VisAttributes(G4Colour(0,1,1)),
+                      G4Translate3D(6*m,6*m,6*m));
+  }
+}
+</PRE>
+Explicit use of polyhedron objects is equivalent, e.g.:
+<PRE>
+    // 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->Transform(G4Translate3D(3*m,3*m,3*m));
+    G4Polyhedron* pSubtracted = new G4Polyhedron(pA->subtract(*pB));
+    G4VisAttributes subVisAtts(G4Colour(0,1,1));
+    pSubtracted->SetVisAttributes(&subVisAtts);
+    pVisManager->Draw(*pSubtracted,G4Translate3D(6*m,6*m,6*m));
+    delete pA;
+    delete pB;
+    delete pSubtracted;
+</PRE>
+If efficiency is an issue, create the objects in the constructor,
+delete them in the destructor and draw them in your <tt>Draw</tt>
+method.  Anyway, an instance of your class needs to be registered with
+the vis manager, e.g.:
+<PRE>
+  ...
+  G4VisManager* visManager = new G4VisExecutive;
+  visManager->Initialize ();
+
+  visManager->SetUserAction
+    (new StandaloneVisAction,
+     G4VisExtent(-5*m,5*m,-5*m,5*m,-5*m,5*m));  // 2nd argument optional.
+  ...
+</PRE>
+then activate by adding to a scene, e.g:
+<PRE>
+/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>
+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>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.
+
+<h4>8.5.11 Standalone Visualization</h4>
+
+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.
+<PRE>
+#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->Initialize ();
+
+  visManager->SetUserAction
+    (new StandaloneVisAction,
+     G4VisExtent(-5*m,5*m,-5*m,5*m,-5*m,5*m));  // 2nd argument optional.
+
+  G4UImanager* UI = G4UImanager::GetUIpointer ();
+  UI->ApplyCommand ("/control/execute standalone.g4m");
+
+  G4UIsession* session = new G4UIterminal(new G4UItcsh);
+  session->SessionStart();
+
+  delete session;
+  delete visManager;
+}
+</PRE>
+
+<HR>
+ <A HREF="attributes.html">Next section</A><BR>
+ <A HREF="index.html">Back to contents</A>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/enhanceddrawing.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/enhanceddrawing.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/enhanceddrawing.html	(revision 1208)
@@ -0,0 +1,348 @@
+<HTML>
+<TITLE>Enhanced Trajectory Drawing</title>
+<HEAD>
+</HEAD>
+<BODY>
+
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+</A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A>
+<A HREF="attributes.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<a href="filtering.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></a>
+</TD>
+
+<TD ALIGN="Right"><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B> <BR>
+<B>For Application Developers</B> <BR>
+<B>Visualization</B> </FONT></FONT> </TD>
+</TR>
+</TABLE>
+
+<CENTER><FONT COLOR="#238E23"><FONT SIZE=+3>
+<b>8.7 Enhanced Trajectory Drawing</b><BR>
+</FONT></FONT></CENTER>
+<BR>
+
+<HR ALIGN="Center" SIZE="7%"><BR>
+
+<!-- ============================================== Section -->
+<h4>8.7.1 Default Configuration</h4>
+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.
+
+<BR>
+<BR></br>
+<TABLE BORDER=1 cellpadding=2>
+<TR>
+<TD><B>Property</B></TD><TD><B>Default Setting</B></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>
+<TR>
+</TABLE>
+<BR>
+<BR>
+Points to note:
+<UL>
+<LI>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.
+<LI>Different visualisation drivers handle trajectory configuration in different ways, so trajectories 
+may not necessarily get displayed as you have configured them.
+</UL>
+ 
+<h4>8.7.2 Trajectory Drawing Models</h4>	
+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:
+<BR>
+<UL>
+<LI>G4TrajectoryGenericDrawer (generic)
+<LI>G4TrajectoryDrawByCharge (drawByCharge)
+<LI>G4TrajectoryDrawByParticleID (drawByParticleID)
+<LI>G4TrajectoryDrawByOriginVolume (drawByOriginVolume)
+<LI>G4TrajectoryDrawByAttribute (drawByAttribute)
+</UL>
+
+Both the context and model properties can be configured by the user. The models are described
+briefly below, followed by some example configuration commands. 
+
+<h4>G4TrajectoryGenericDrawer</h4>
+
+This model simply draws all trajectories in the same style, with the properties 
+provided by the context.
+ 
+<h4>G4TrajectoryDrawByCharge</h4>
+
+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.
+
+<PRE>
+	Charge		Colour	
+	----------------------
+	1		Blue
+	-1		Red
+	0		Green
+</PRE>
+
+<h4>G4TrajectoryDrawByParticleID</h4>
+
+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.
+
+<h4>G4TrajectoryDrawByOriginVolume</h4>
+
+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.
+
+<h4>G4TrajectoryDrawByAttribute</h4>
+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.
+ 
+<h4>8.7.3 <A NAME="commandcontrol">Controlling from Commands</A></h4>
+Multiple trajectory models can be created and configured using commands in the
+"<TT>/vis/modeling/trajectories/</TT>" directory. It is then possible to list available
+models and select one to be current. 
+
+<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. 
+<BR></br>
+See the interactive help for more information on the available commands.
+<BR> 
+<h4>8.7.3.1 Example commands</h4>
+#Create a generic model named generic-0 by default<BR>
+<TT>/vis/modeling/trajectories/create/generic</TT> <BR><BR>
+
+#Configure context to colour all trajectories red<BR>
+<TT>/vis/modeling/trajectories/generic-0/default/setLineColour red</tt> <BR></br>
+
+#Create a drawByCharge model named drawCharge-0 by default
+(Subsequent models will be named drawByCharge-1, drawByCharge-2, etc.)<BR>
+<TT>/vis/modeling/trajectories/create/drawByCharge</TT> <BR><BR>
+
+#Create a drawByCharge model named testChargeModel<BR>
+<TT>/vis/modeling/trajectories/create/drawByCharge testChargeModel</TT><BR><BR>
+
+#Configure drawByCharge-0 model <BR>
+<TT>/vis/modeling/trajectories/drawByCharge-0/set 1 red</TT><BR>
+<TT>/vis/modeling/trajectories/drawByCharge-0/set -1 red</TT><BR>
+<TT>/vis/modeling/trajectories/drawByCharge-0/set 0 white</TT><BR><BR>
+
+#Configure testCharge model through G4Colour components<BR>
+<TT>/vis/modeling/trajectories/testChargeModel/setRGBA 1 0 1 1 1</TT><BR>
+<TT>/vis/modeling/trajectories/testChargeModel/setRGBA -1 0.5 0.5 0.5 1</TT><BR>
+<TT>/vis/modeling/trajectories/testChargeModel/setRGBA 0 1 1 0 1</TT><BR><BR>
+
+#Create a drawByParticleID model named drawByParticleID-0<BR>
+<TT>/vis/modeling/trajectories/create/drawByParticleID</TT> <BR><BR>
+
+#Configure drawByParticleID-0 model<BR>
+<TT>/vis/modeling/trajectories/drawByParticleID-0/set gamma red</TT><BR>
+<TT>/vis/modeling/trajectories/drawByParticleID-0/setRGBA e+ 1 0 1 1</TT><BR><BR>
+
+#List available models<BR>
+<TT>/vis/modeling/trajectories/list</TT><BR><BR>
+
+#select drawByParticleID-0 to be current<BR>
+<TT>/vis/modeling/trajectories/select drawByParticleID-0</TT><BR><BR>
+
+#Create a drawByAttribute model named drawByAttribute-0<BR>
+<TT>/vis/modeling/trajectories/create/drawByAttribute</TT><BR><BR>
+
+#Configure drawByAttribute-0 model<BR>
+<TT>/vis/modeling/trajectories/drawByAttribute-0/verbose true </TT><BR><BR>
+
+#Select attribute "CPN"<BR>
+<TT>/vis/modeling/trajectories/drawByAttribute-0/setAttribute CPN </TT><BR><BR>
+
+#Configure single value data<BR> 
+<TT>/vis/modeling/trajectories/drawByAttribute-0/addValue brem_key  eBrem </TT><BR>
+<TT>/vis/modeling/trajectories/drawByAttribute-0/addValue annihil_key annihil </TT><BR>
+<TT>/vis/modeling/trajectories/drawByAttribute-0/addValue decay_key Decay </TT><BR>
+<TT>/vis/modeling/trajectories/drawByAttribute-0/addValue muIon_key muIoni </TT><BR>
+<TT>/vis/modeling/trajectories/drawByAttribute-0/addValue eIon_key  eIoni </TT><BR><BR>
+
+<TT>/vis/modeling/trajectories/drawByAttribute-0/brem_key/setLineColour     red </TT><BR>
+<TT>/vis/modeling/trajectories/drawByAttribute-0/annihil_key/setLineColour  green </TT><BR>
+<TT>/vis/modeling/trajectories/drawByAttribute-0/decay_key/setLineColour    cyan </TT><BR>
+<TT>/vis/modeling/trajectories/drawByAttribute-0/eIon_key/setLineColour     yellow </TT><BR>
+<TT>/vis/modeling/trajectories/drawByAttribute-0/muIon_key/setLineColour magenta </TT><BR><BR>
+
+#Create a drawByAttribute model named drawByAttribute-1<BR>
+<TT>/vis/modeling/trajectories/create/drawByAttribute</TT><BR><BR>
+
+#Select "IMag" attribute<BR>
+<TT>/vis/modeling/trajectories/drawByAttribute-1/setAttribute IMag </TT><BR><BR>
+
+#Configure interval data<BR>
+<TT>/vis/modeling/trajectories/drawByAttribute-1/addInterval interval1 0.0 keV 2.5MeV </TT><BR>
+<TT>/vis/modeling/trajectories/drawByAttribute-1/addInterval interval2 2.5 MeV 5 MeV </TT><BR>
+<TT>/vis/modeling/trajectories/drawByAttribute-1/addInterval interval3 5 MeV 7.5 MeV </TT><BR>
+<TT>/vis/modeling/trajectories/drawByAttribute-1/addInterval interval4 7.5 MeV 10 MeV </TT><BR>
+<TT>/vis/modeling/trajectories/drawByAttribute-1/addInterval interval5 10 MeV 12.5 MeV </TT><BR>
+<TT>/vis/modeling/trajectories/drawByAttribute-1/addInterval interval6 12.5 MeV 10000 MeV </TT><BR><BR>
+
+<TT>/vis/modeling/trajectories/drawByAttribute-1/interval1/setLineColourRGBA 0.8 0 0.8 1 </TT><BR>
+<TT>/vis/modeling/trajectories/drawByAttribute-1/interval2/setLineColourRGBA 0.23 0.41 1 1 </TT><BR>
+<TT>/vis/modeling/trajectories/drawByAttribute-1/interval3/setLineColourRGBA 0 1 0 1 </TT><BR>
+<TT>/vis/modeling/trajectories/drawByAttribute-1/interval4/setLineColourRGBA 1 1 0 1 </TT><BR>
+<TT>/vis/modeling/trajectories/drawByAttribute-1/interval5/setLineColourRGBA 1 0.3 0 1 </TT><BR>
+<TT>/vis/modeling/trajectories/drawByAttribute-1/interval6/setLineColourRGBA 1 0 0 1</TT><BR><BR>
+
+<h4>8.7.4 <A NAME="compiledcontrol">Controlling from Compiled Code</a></h4>
+  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:
+
+<PRE>
+  G4VisManager* visManager = new G4VisExecutive;
+  visManager->Initialize();
+
+  G4TrajectoryDrawByParticleID* model = new G4TrajectoryDrawByParticleID;
+  G4TrajectoryDrawByParticleID* model2 = new G4TrajectoryDrawByParticleID("test");
+
+  model->SetDefault("cyan");
+  model->Set("gamma", "green");
+  model->Set("e+", "magenta");
+  model->Set("e-", G4Colour(0.3, 0.3, 0.3));
+
+  visManager->RegisterModel(model);
+  visManager->RegisterModel(model2);
+
+  visManager->SelectTrajectoryModel(model->Name());
+</PRE>
+
+<h4>8.7.5  <A NAME="drawingByTime">Drawing by time</a></h4>
+
+  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:
+
+<PRE>
+#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->SetTrajectory(new G4RichTrajectory(aTrack));
+
+  // Activate storing of auxiliary points for smoother trajectory...
+  static G4IdentityTrajectoryFilter curvedFilter;
+  G4TransportationManager::GetTransportationManager()->
+    GetPropagatorInField()->SetTrajectoryFilter(&curvedFilter);
+}
+</PRE>
+
+  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):
+
+<PRE>
+#include "MyTrackingAction.hh"
+...
+  runManager -> SetUserAction (new MyTrackingAction);
+</PRE>
+
+  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):
+
+<PRE>
+/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>
+
+  and use a graphics driver that can display by time:
+
+<PRE>
+/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>
+
+  A good way to see the particles moving through the detector is:
+
+<PRE>
+/vis/ogl/set/fade 1
+/vis/ogl/set/displayHeadTime true
+/control/alias timeRange 1
+/control/loop movie.loop -{timeRange} 40 0.1
+</PRE>
+
+  where <tt>fade</tt> gives a vapour-trail effect,
+  <tt>displayHeadTime</tt> displays the time of the leading edge as 2D
+  text, and <tt>movie.loop</tt> is a macro file:
+
+<PRE>
+/vis/ogl/set/startTime {startTime} ns {timeRange} ns
+</PRE>
+
+  From there, it's straightforward to <A HREF="makingamovie.html">make
+  a movie.</A>
+
+<P>
+<HR>
+ <A HREF="markertext.html">Next section</A><BR>
+ <A HREF="index.html">Back to contents</A>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/filtering.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/filtering.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/filtering.html	(revision 1208)
@@ -0,0 +1,151 @@
+<HTML>
+<TITLE>Filtering</title>
+<HEAD>
+</HEAD>
+<BODY>
+
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+</A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A>
+<A HREF="enhanceddrawing.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<a href="markertext.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></a>
+</TD>
+
+<TD ALIGN="Right"><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B> <BR>
+<B>For Application Developers</B> <BR>
+<B>Visualization</B> </FONT></FONT> </TD>
+</TR>
+</TABLE>
+
+<CENTER><FONT COLOR="#238E23"><FONT SIZE=+3>
+<b>8.8 Filtering</b><BR>
+</FONT></FONT></CENTER>
+<BR>
+
+<HR ALIGN="Center" SIZE="7%"><BR>
+
+<!-- ============================================== Section -->
+<h4>8.8.1 Trajectory Filtering</h4>   
+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:
+<BR>
+<UL>
+<LI><B>Soft filtering</b>: 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
+<BR></br>
+<LI><B>Hard filtering</b>: 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.
+</UL>
+
+Trajectory filter models are used to apply filtering according to specific criteria. The following
+models are currently supplied with the Geant4 distribution:
+
+<BR>
+<UL>
+<LI>G4TrajectoryChargeFilter (chargeFilter)
+<LI>G4TrajectoryParticleFilter (particleFilter)
+<LI>G4TrajectoryOriginVolumeFilter (originVolumeFilter)
+<LI>G4TrajectoryAttributeFilter (attributeFilter)
+</UL>
+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.
+
+<h4>G4TrajectoryChargeFilter</h4>
+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.
+
+<h4>G4TrajectoryParticleFilter</h4>
+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.
+
+<h4>G4TrajectoryOriginVolumeFilter</h4>
+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.
+
+<h4>G4TrajectoryAttributeFilter</h4>
+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.
+
+<h4>8.8.1.1 <A NAME="commandcontrol">Controlling from Commands</A></h4>
+Multiple trajectory filter models can be created and configured using commands in the
+"<TT>/vis/filtering/trajectories/</TT>" directory. All generated filter models
+are chained together automatically.
+
+<P>
+Model configuration commands are generated dynamically when a filter model is instantiated.
+These commands apply directly to that instance. 
+
+<BR></br>
+See the interactive help for more information on the available commands.
+<BR>
+<h4>8.8.1.2 Example commands</h4>
+
+#Create a particle filter. Configure to pass only gammas. Then<BR>
+#invert to pass anything other than gammas. Set verbose printout,<BR>
+#and then deactivate filter<BR>
+<TT>/vis/filtering/trajectories/create/particleFilter</TT> <BR>
+<TT>/vis/filtering/trajectories/particleFilter-0/add gamma</TT> <BR>
+<TT>/vis/filtering/trajectories/particleFilter-0/invert true </TT> <BR>
+<TT>/vis/filtering/trajectories/particleFilter-0/verbose true </TT> <BR>
+<TT>/vis/filtering/trajectories/particleFilter-0/active false</TT> <BR><BR>
+
+#Create a charge filter. Configure to pass only neutral trajectories.<BR>
+#Set verbose printout. Reset filter and reconfigure to pass only<BR>
+#negativly charged trajectories.<BR>
+<TT>/vis/filtering/trajectories/create/chargeFilter</TT> <BR>
+<TT>/vis/filtering/trajectories/chargeFilter-0/add 0</TT> <BR>
+<TT>/vis/filtering/trajectories/chargeFilter-0/verbose true </TT> <BR>
+<TT>/vis/filtering/trajectories/chargeFilter-0/reset true</TT> <BR>
+<TT>/vis/filtering/trajectories/chargeFilter-0/add -1</TT> <BR><BR>
+
+#Create an attribute filter named attributeFilter-0</TT> <BR>
+<TT>/vis/filtering/trajectories/create/attributeFilter </TT> <BR><BR>
+
+#Select attribute "IMag"</TT> <BR>
+<TT>/vis/filtering/trajectories/attributeFilter-0/setAttribute IMag </TT> <BR><BR>
+
+#Select trajectories with 2.5 MeV <= IMag< 1000 MeV</TT> <BR>
+<TT>/vis/filtering/trajectories/attributeFilter-0/addInterval 2.5 MeV 1000 MeV</TT> <BR><BR>
+
+#List filters<BR>
+<TT>/vis/filtering/trajectories/list</TT> <BR><BR>
+
+#Note that although particleFilter-0 and chargeFilter-0 are automatically<BR>
+#chained, particleFilter-0 will not have any effect since <BR>
+#it is has been deactivated.<BR>
+<BR>
+
+<h4>8.8.2 Hit Filtering</h4>   
+<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:
+
+<PRE>
+   void MyHit::Draw() 
+   {
+      ... 
+      if (! pVVisManager->FilterHit(*this)) return;
+      ...
+   }
+</PRE>
+
+Interactive filtering can then be done through the commands in /vis/filtering/hits.
+
+<HR>
+ <A HREF="markertext.html">Next section</A><BR>
+ <A HREF="index.html">Back to contents</A>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/index.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/index.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/index.html	(revision 1208)
@@ -0,0 +1,103 @@
+<HTML>
+<HEAD>
+   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+</HEAD>
+<TITLE>ADG: Visualization</TITLE>
+<BODY>
+<BR>
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+
+
+</A>
+<A HREF="../index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59>
+</A>
+<A HREF="../Control/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<A HREF="../Examples/index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></A>
+</TD>
+
+<TD></TD>
+<TD ALIGN=RIGHT><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Documents</B>
+<BR>
+
+<B>Geant4 User's Guide</B>
+<BR>
+
+<B>For Application Developers</B>
+<BR>
+
+</FONT></FONT>
+</TD>
+</TR>
+</TABLE>
+<P>
+<BR>
+
+<CENTER><B><FONT COLOR="#238E23"><FONT SIZE=+4>
+</FONT></FONT></B>
+</CENTER>
+
+<CENTER><B><FONT COLOR="#238E23"><FONT SIZE=+2>
+<B>8. Visualization</B>
+</FONT></FONT></B>
+</CENTER>
+<P>
+<BR>
+
+<HR ALIGN="Center" SIZE="7%">
+
+<!-- ============================================== Section -->
+<BR><BR>
+<B>
+   <OL>
+   <LI>
+   <A HREF="introduction.html">
+   Introduction to Visualization</A></LI>
+   <LI>
+   <A HREF="visexecutable.html">
+   Adding Visualization to Your Executable</A></LI>
+   <LI>
+   <A HREF="visdrivers.html">
+   The Visualization Drivers</A></LI>
+   <LI>
+   <A HREF="commandcontrol.html">
+   Controlling Visualization from Commands</A></LI>
+   <LI>
+   <A HREF="compiledcontrol.html">
+   Controlling Visualization from Compiled Code</A></LI>
+   <LI>
+   <A HREF="attributes.html">
+   Visualization Attributes</A></LI>
+   <LI>
+   <A HREF="enhanceddrawing.html">
+   Enhanced Trajectory Drawing</A></LI>
+   <LI>
+   <A HREF="filtering.html">
+   Filtering</A></LI>
+   <LI>
+   <A HREF="markertext.html">
+   Polylines, Markers and Text</A></LI>
+   <LI>
+   <A HREF="makingamovie.html">
+   Making a Movie</A></LI>
+   </OL>
+
+
+</B>
+
+
+<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
+
+<!-- ============================================== Section -->
+<P><HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</A></I>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/introduction.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/introduction.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/introduction.html	(revision 1208)
@@ -0,0 +1,342 @@
+<HTML>
+<TITLE>Introduction to Visualization
+</TITLE>
+<!-- Changed by: Katsuya Dosanjh, 15-Jul-2000 -->
+<!-- Changed by: Dennis Wright, 27-Nov-2001 -->
+<!-- Proof read by: Joe Chuma,  5-Jul-1999 -->
+
+<!-- 7.1 Introduction  -->
+<!-- *spell, *tag, *contents, *s -->
+<BODY>
+
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+</A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A>
+<IMG SRC="../../../../resources/html/IconsGIF/PreviousGR.gif" ALT="Previous" HEIGHT=16 WIDTH=59>
+<a href="visexecutable.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></a>
+</TD>
+
+<TD ALIGN="Right"><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B> <BR>
+<B>For Application Developers</B> <BR>
+<B>Visualization</B> </FONT></FONT> </TD>
+</TR>
+</TABLE>
+
+<CENTER><FONT COLOR="#238E23"><FONT SIZE=+3>
+<b>8.1 Introduction to Visualization</b><BR>
+</FONT></FONT></CENTER>
+<BR>
+
+<HR ALIGN="Center" SIZE="7%"><BR>
+
+<!-- ============================================== Section --> 
+ The Geant4 visualization system was developed in response to a diverse set of requirements:
+  <OL>
+  <LI>Quick response to study geometries, trajectories and hits
+  <LI>High-quality output for publications
+  <LI>Flexible camera control to debug complex geometries
+  <LI>Tools to show volume overlap errors in detector geometries
+  <LI>Interactive picking to get more information on visualized objects
+ </OL>
+<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.
+ 
+ 
+ <h4>8.1.1 What Can be Visualized</h4>
+Simulation data can be visualized:
+ <UL>
+  <LI>Detector components
+      <UL>
+       <LI>A hierarchical structure of physical volumes
+       <LI>A piece of physical volume, logical volume, and solid
+      </UL>
+  <LI>Particle trajectories and tracking steps
+  <LI>Hits of particles in detector components
+ </UL>
+
+ Other user defined objects can be visualized:
+ <UL>
+  <LI>Polylines, such as coordinate axes
+  <LI>3D Markers, such as eye guides
+  <LI>Text, descriptive character strings, comments or titles
+  <LI>Scales
+  <LI>Logos
+ </UL>
+
+
+ <h4><A NAME="choice">8.1.2 You have a Choice of Visualization Drivers</A> </h4>
+ The many graphics systems that Geant4 supports are complementary to each other.
+<UL>
+<LI>
+OpenGL
+<UL>
+<LI>
+View directly from Geant4
+<LI>
+Uses GL libraries that are already included on most Linux systems (plus some Windows availability)
+<LI>
+Rendered, photorealistic image with some interactive features
+<LI>
+zoom, rotate, translate
+<LI>
+Fast response (can usually exploit full potential of graphics hardware)
+<LI>
+Limited printing ability (pixel graphics, not vector graphics)
+</UL>
+
+<LI>
+OpenInventor
+<UL>
+<LI>
+View directly from Geant4
+<LI>
+Requires addition of OpenInventor libraries (freely available for most Linux systems).
+<LI>
+Rendered, photorealistic image
+<LI>
+Many interactive features
+<LI>
+zoom, rotate, translate
+<LI>
+click to âsee insideâ opaque volumes
+<LI>
+Fast response (can usually exploit full potential of graphics hardware)
+<LI>
+Expanded printing ability (vector and pixel graphics)
+</UL>
+
+<LI>
+HepRep/WIRED
+<UL>
+Create a file to view in the WIRED3 HepRep Browser or the WIRED4 JAS Plugin
+<LI>
+Requires WIRED browser (a Java application easily to install on all operating systems)
+<LI>
+Wireframe or simple area fills (not photorealistic)
+<LI>
+Many interactive features
+<LI>
+zoom, rotate, translate
+<LI>
+click to show attributes (momentum, etc.)
+<LI>
+special projections (FishEye, etc.)
+<LI>
+control visibility from hierarchical (tree) view of data
+<LI>
+Hierarchical view of the geometry
+<LI>
+Export to many vector graphic formats (PostScript, PDF, etc.)
+</UL>
+
+<LI>
+DAWN
+<UL>
+<LI>
+Create a file to view in the DAWN Renderer
+<LI>
+Requires DAWN, available for all Linux and Windows systems.
+<LI>
+Rendered, photorealistic image
+<LI>
+No interactive features
+<LI>
+Highest quality technical rendering - output to vector PostScript
+</UL>
+
+<LI>
+VRML
+<UL>
+<LI>
+Create a file to view in any VRML browser (some as web browser plug-ins).
+<LI>
+Requires VRML browser (many different choices for different operating systems).
+<LI>
+Rendered, photorealistic image with some interactive features
+<LI>
+zoom, rotate, translate
+<LI>
+Limited printing ability (pixel graphics, not vector graphics)
+</UL>
+
+<LI>
+RayTracer
+<UL>
+<LI>
+Create a jpeg file
+<LI>
+Forms image by using Geant4âs own tracking to follow photons through the detector
+<LI>
+Can show geometry but not trajectories
+<LI>
+Can render any geometry that Geant4 can handle (such as Boolean solids)
+<LI>
+Supports shadows, transparency and mirrored surfaces
+</UL>
+
+<LI>
+ASCIITree
+<UL>
+<LI>
+Text dump of the geometry hierarchy
+<LI>
+Not graphical
+<LI>
+Control over level of detail to be dumped
+<LI>
+Can calculate mass and volume of any hierarchy of volumes
+</UL>
+</UL>
+
+ <h4>8.1.3 Choose the Driver that Meets Your Needs</h4>
+<UL>
+<LI>
+If you want very responsive photorealistic graphics (and have the OpenGL libraries installed)
+<UL>
+<LI>
+OpenGL is a good solution
+(if you have the Motif extensions, this also gives GUI control)
+</UL>
+<LI>
+If you want very responsive photorealistic graphics plus more interactivity (and have the OpenInventor libraries installed)
+<UL>
+<LI>
+OpenInventor is a good solution
+</UL>
+
+<LI>
+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
+<UL>
+<LI>
+HepRep/WIRED will meet your needs
+</UL>
+
+<LI>
+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
+<UL>
+<LI>
+DAWN is the way to go
+</UL>
+
+<LI>
+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)
+<UL>
+<LI>
+VRML is the way to go
+</UL>
+
+<LI>
+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
+<UL>
+<LI>
+RayTracer will do it
+</UL>
+
+<LI>
+If you just want to quickly check the geometry hierarchy, or if you want to calculate the volume or mass of any geometry hierarchy
+<UL>
+<LI>
+ASCIITree will meet your needs
+</UL>
+
+<LI>
+You can also add your own visualization driver.
+<UL>
+<LI>
+Geant4âs visualization system is modular.  By creating just three new classes, you can direct Geant4 information to your own visualization system.
+</UL>
+</UL>
+ <h4>8.1.4 Controlling Visualization</h4>
+ Your Geant4 code stays basically the same no matter which driver you use.
+<P>
+Visualization is performed either with commands or from C++ code.
+<UL>
+<LI>
+Some visualization drivers work directly from Geant4
+<UL>
+<LI>
+OpenGL
+<LI>
+OpenInventor
+<LI>
+RayTracer
+<LI>
+ASCIITree
+</UL>
+<LI>
+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)
+<UL>
+<LI>
+HepRep/WIRED
+<LI>
+DAWN
+<LI>
+VRML
+</UL>
+</UL>
+
+ <h4>8.1.5 Visualization Details</h4>
+
+The following sections of this guide cover the details of Geant4 visualization:
+ <UL>
+   <LI>
+   <A HREF="visexecutable.html">
+   Adding Visualization to Your Executable</A></LI>
+   <LI>
+   <A HREF="visdrivers.html">
+   The Visualization Drivers</A></LI>
+   <LI>
+   <A HREF="commandcontrol.html">
+   Controlling Visualization from Commands</A></LI>
+   <LI>
+   <A HREF="compiledcontrol.html">
+   Controlling Visualization from Compiled Code</A></LI>
+   <LI>
+   <A HREF="attributes.html">
+   Visualization Attributes</A></LI>
+   <LI>
+   <A HREF="enhanceddrawing.html">
+   Enhanced Trajectory Drawing</A></LI>
+   <LI>
+   <A HREF="markertext.html">
+   Polylines, Markers and Text</A></LI>
+  </UL>
+<P>
+Other useful references for Geant4 visualization outside of this user guide:
+<UL>
+<LI>
+Introduction to Geant4 Visualization
+(
+<A HREF="http://geant4.slac.stanford.edu/Presentations/vis/G4VisTutorial.pdf">pdf</A>
+,
+<A HREF="http://geant4.slac.stanford.edu/Presentations/vis/G4VisTutorial.ppt">ppt</A>
+)
+<LI>
+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">pdf</A>
+,
+<A HREF="http://geant4.slac.stanford.edu/Presentations/vis/G4VisStatus.ppt">ppt</A>
+)
+<LI> 
+Macro files distributed in Geant4 source in <tt>examples/novice/N03/visTutor/</tt>.
+</UL>
+<P>
+
+<HR>
+ <A HREF="visexecutable.html">Next section</A><BR>
+ <A HREF="index.html">Back to contents</A>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/make_mpeg2encode_parfile.sh
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/make_mpeg2encode_parfile.sh	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/make_mpeg2encode_parfile.sh	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Visualization/makingamovie.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/makingamovie.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/makingamovie.html	(revision 1208)
@@ -0,0 +1,230 @@
+<HTML>
+<TITLE>Making a Movie</title>
+<HEAD>
+</HEAD>
+<BODY>
+
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+</A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A>
+<A HREF="markertext.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<IMG SRC="../../../../resources/html/IconsGIF/NextGR.gif" ALT="Next" HEIGHT=16 WIDTH=59>
+</TD>
+
+<TD ALIGN="Right"><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B> <BR>
+<B>For Application Developers</B> <BR>
+<B>Visualization</B> </FONT></FONT> </TD>
+</TR>
+</TABLE>
+
+<CENTER><FONT COLOR="#238E23"><FONT SIZE=+3>
+<b>8.10 Making a Movie</b><BR>
+</FONT></FONT></CENTER>
+<BR>
+
+<HR ALIGN="Center" SIZE="7%"><BR>
+
+  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.
+
+  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:
+
+<BR><BR>
+<TABLE BORDER=1 cellpadding=2>
+<TR><TD><B>Driver</B></TD><TD><B>File type</B></TD></TR>
+<TR><TD>DAWNFILE</TD><TD>prim then eps using <b>dawn</b></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>
+</TABLE>
+<BR>
+
+  So far, only DAWNFILE, OGLX and RayTracer have been "road tested".
+  Once in a standard format, such as eps, the <b>convert</b> program
+  from <a href="http://www.imagemagick.org">ImageMagick</a> can
+  convert to ppm files suitable for <b>mpeg2encode</b>.
+
+<h4>8.10.1 OGLX</h4>
+
+  Make a macro something like this:
+
+<PRE>
+/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>
+
+  which invokes movie.loop, which is something like:
+
+<PRE>
+/vis/viewer/set/viewpointThetaPhi {theta} {phi}
+/vis/viewer/zoom 1.005
+/vis/oglx/printEPS
+</PRE>
+
+  This produces lots of eps files.  Then...
+
+<PRE>
+<a href="make_mpeg2encode_parfile.sh">make_mpeg2encode_parfile.sh</a> G4OpenGL_*eps
+</PRE>
+
+  Then edit mpeg2encode.par to specify file type and size, etc.:
+
+<PRE>
+$ diff mpeg2encode.par~ mpeg2encode.par
+7c7
+< 1         /* input picture file format: 0=*.Y,*.U,*.V, 1=*.yuv, 2=*.ppm */
+---
+> 2         /* input picture file format: 0=*.Y,*.U,*.V, 1=*.yuv, 2=*.ppm */
+15,17c15,17
+<    /* horizontal_size */
+<   /* vertical_size */
+< 8         /* aspect_ratio_information 1=square pel, 2=4:3, 3=16:9, 4=2.11:1 */
+---
+> 600   /* horizontal_size */
+> 600  /* vertical_size */
+> 1         /* aspect_ratio_information 1=square pel, 2=4:3, 3=16:9, 4=2.11:1 */
+</PRE>
+
+  Then convert to ppm:
+
+<PRE>
+for i in G4OpenGL*eps; do j=`basename $i .eps`; command="convert $i $j.ppm"; echo $command; $command; done
+</PRE>
+
+  Then
+
+<PRE>
+mpeg2encode mpeg2encode.par G4OpenGL.mpg
+</PRE>
+
+  Then, on Mac, for example:
+
+<PRE>
+open G4OpenGL.mpg
+</PRE>
+
+  opens a QuickTime player.
+
+<h4>8.10.2 DAWNFILE</h4>
+
+  You need to invoke <b>dawn</b> in "direct" mode, which picks up
+  parameters from .DAWN_1.history, and suppress the GUI:
+
+<PRE>
+alias dawn='dawn -d'
+export DAWN_BATCH=1
+</PRE>
+
+  Change OGLSX to DAWNFILE in the above set of Geant4 commands and
+  run.  Then convert to ppm files as above:
+
+<PRE>
+for i in g4_*.eps; do j=`basename $i .eps`; command="convert $i $j.ppm"; echo $command; $command; done
+</PRE>
+
+  Then make a .par file:
+
+<PRE>
+<a href="make_mpeg2encode_parfile.sh">make_mpeg2encode_parfile.sh</a> g4_*ppm
+</PRE>
+
+  and edit mpeg2encode.par:
+
+<PRE>
+$ diff mpeg2encode.par~ mpeg2encode.par
+7c7
+< 1         /* input picture file format: 0=*.Y,*.U,*.V, 1=*.yuv, 2=*.ppm */
+---
+> 2         /* input picture file format: 0=*.Y,*.U,*.V, 1=*.yuv, 2=*.ppm */
+9c9
+< 1         /* number of first frame */
+---
+> 0         /* number of first frame */
+15,16c15,16
+<    /* horizontal_size */
+<   /* vertical_size */
+---
+> 482   /* horizontal_size */
+> 730  /* vertical_size */
+</PRE>
+
+Then encode and play:
+
+<PRE>
+mpeg2encode mpeg2encode.par DAWN.mpg
+open DAWN.mpg
+</PRE>
+
+<h4>8.10.3 RayTracerX</h4>
+
+<PRE>
+/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>
+
+  where movie.loop is as above.  This produces lots of jpeg files
+  (but takes 3 days!!!).  Then...
+
+<PRE>
+<a href="make_mpeg2encode_parfile.sh">make_mpeg2encode_parfile.sh</a> g4RayTracer*jpeg
+</PRE>
+
+  Then edit mpeg2encode.par to specify file type and size, etc.:
+
+<PRE>
+$ diff mpeg2encode.par.orig mpeg2encode.par      
+7c7
+< 1         /* input picture file format: 0=*.Y,*.U,*.V, 1=*.yuv, 2=*.ppm */
+---
+> 2         /* input picture file format: 0=*.Y,*.U,*.V, 1=*.yuv, 2=*.ppm */
+15,17c15,17
+<    /* horizontal_size */
+<   /* vertical_size */
+< 8         /* aspect_ratio_information 1=square pel, 2=4:3, 3=16:9, 4=2.11:1 */
+---
+> 600   /* horizontal_size */
+> 600  /* vertical_size */
+> 1         /* aspect_ratio_information 1=square pel, 2=4:3, 3=16:9, 4=2.11:1 */
+</PRE>
+
+  Then convert to ppm, encode and play:
+
+<PRE>
+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>
+
+<P>
+<HR>
+ <A HREF="index.html">Back to contents</A>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/markertext.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/markertext.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/markertext.html	(revision 1208)
@@ -0,0 +1,300 @@
+<HTML>
+<TITLE>Polylines, Markers and Text</title>
+<HEAD>
+</HEAD>
+<BODY>
+
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+</A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A>
+<A HREF="filtering.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<A HREF="makingamovie.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></A>
+</TD>
+
+<TD ALIGN="Right"><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B> <BR>
+<B>For Application Developers</B> <BR>
+<B>Visualization</B> </FONT></FONT> </TD>
+</TR>
+</TABLE>
+
+<CENTER><FONT COLOR="#238E23"><FONT SIZE=+3>
+<b>8.9 Polylines, Markers and Text</b><BR>
+</FONT></FONT></CENTER>
+<BR>
+
+<HR ALIGN="Center" SIZE="7%"><BR>
+
+<!-- ============================================== Section -->
+
+ Polylines, markers and text are defined in the <tt>graphics_reps</tt> category,
+ and are used only for visualization. Here we explain their definitions and usages.
+
+<h4>8.9.1 Polylines</h4>
+
+ A polyline is a set of successive line segments. It is defined with
+ a class <i>G4Polyline</i> defined in the <tt>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>
+ <i>G4Polyline</i> is defined as a list of <i>G4Point3D</i> objects, i.e.,  
+ vertex positions.  
+ The vertex positions are set to a <i>G4Polyline</i> 
+ object with the <tt>push_back()</tt> method.
+ <P>
+ For example, an x-axis with length 5 cm and with red color is defined
+ in Source listing 8.9.1.
+<P>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+ //----- 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(&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>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 8.9.1<BR>
+ Defining an x-axis with length 5 cm and with colour red.
+</td>
+</tr>
+</table></center>
+<P>
+
+<h4>8.9.2 Markers</h4>
+
+ Here we explain how to use 3D markers in Geant4 Visualization.
+<p>
+<B>What are Markers?</B>
+<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>
+ 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 <i>G4ViewParameters</i>.
+<P>
+ By default, "square" and "circle" are supported in Geant4 Visualization.
+ The former is described with class <i>G4Square</i>, and the latter with class
+ <i>G4Circle</i>:
+<p>
+<CENTER><TABLE BORDER=2 cellpadding=10>
+ <TR>
+ <TD><B>Marker Type</B></TD>
+ <TD><B>Class Name</B></TD>
+ </TR>
+ <TR>
+ <TD>circle</TD>
+ <TD><i>G4Circle</i></TD>
+ </TR>
+ <TR>
+ <TD>right square</TD>
+ <TD><i>G4Square</i></TD>
+ </TR>
+</TABLE></CENTER>
+<p>
+ These classes are inherited from class <i>G4VMarker</i>. They have constructors
+ as follows:
+<PRE>
+      //----- Constructors of G4Circle and G4Square
+      G4Circle::G4Circle (const G4Point3D&amp; pos );
+      G4Square::G4Square (const G4Point3D&amp; pos);
+</PRE>
+ Access functions of class <i>G4VMarker</i> are summarized below.
+<p>
+<b>Access functions of markers</B>
+<P>
+ Source listing 8.9.2 shows the access functions inherited from the base class <i>G4VMarker</i>.
+<P>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+ //----- 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>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 8.9.2<BR>
+ The access functions inherited from the base class <i>G4VMarker</i>.
+</td>
+</tr>
+</table></center>
+<P>
+ Source listing 8.9.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.
+<P>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+ //----- 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>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 8.9.3<BR>
+ Sample C++ source code to define a very small red circle.
+</td>
+</tr>
+</table></center>
+<P>
+
+<h4>8.9.3 Text</h4>
+
+ 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
+ <i>G4Text</i> . The following constructors are supported:
+<PRE>
+     //----- Constructors of G4Text
+     G4Text (const G4String&amp; text);
+     G4Text (const G4String&amp; text, const G4Point3D&amp; pos);
+</PRE>
+
+ where the argument <tt>text</tt> is the text (string) to be visualized, and <tt>pos</tt> 
+ is the 3D position at which the text is visualized.
+<P>
+ Note that class <i>G4Text</i> also inherits <i>G4VMarker</i>. Size of text is recognized
+ as "font size", i.e., height of the text. All the access functions defined
+ for class <i>G4VMarker</i> mentioned above are available. In addition, the following
+ access functions are available, too:
+<PRE>
+     //----- 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>
+
+ Method <tt>SetText()</tt> defines text to be visualized, and <tt>GetText()</tt> returns the
+ defined text. Method <tt>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>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>
+ Source listing 8.9.4 shows sample C++ source code to define text with the following properties:
+
+ <UL>
+  <LI>Text: "Welcome to Geant4 Visualization"</LI>
+  <LI>Position: (0.,0.,0.) in the world coordinates</LI>
+  <LI>Horizontal offset: 10 pixels</LI>
+  <LI>Vertical offset: -20 pixels</LI>
+  <LI>Colour: blue (default)</LI>
+ </UL>
+
+<P>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+ //----- 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>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 8.9.4<BR>
+ An example of defining text.
+</td>
+</tr>
+</table></center>
+<P>
+
+<HR>
+  <A HREF="makingamovie.html">Next section</A><BR>
+  <A HREF="index.html">Back to contents</A>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/CVS/Entries	(revision 1208)
@@ -0,0 +1,19 @@
+/exN03Tree0_mac.html/1.2/Mon Dec 13 23:12:47 2004//
+/exN03Tree1_mac.html/1.2/Mon Dec 13 23:12:47 2004//
+/exN03Vis0_mac.html/1.2/Mon Dec 13 23:12:47 2004//
+/exN03Vis10_mac.html/1.1/Mon Dec 13 23:14:00 2004//
+/exN03Vis11_mac.html/1.1/Mon Dec 13 23:14:00 2004//
+/exN03Vis12_loop.html/1.1/Thu Aug 31 20:10:18 2006//
+/exN03Vis12_mac.html/1.1/Thu Aug 31 20:10:18 2006//
+/exN03Vis13_loop.html/1.1/Thu Aug 31 20:10:18 2006//
+/exN03Vis13_mac.html/1.1/Thu Aug 31 20:10:18 2006//
+/exN03Vis1_mac.html/1.2/Mon Dec 13 23:12:47 2004//
+/exN03Vis2_mac.html/1.2/Mon Dec 13 23:12:47 2004//
+/exN03Vis3_mac.html/1.2/Mon Dec 13 23:12:47 2004//
+/exN03Vis4_mac.html/1.2/Mon Dec 13 23:12:47 2004//
+/exN03Vis5_mac.html/1.3/Mon Dec 13 23:12:47 2004//
+/exN03Vis6_mac.html/1.3/Mon Dec 13 23:12:47 2004//
+/exN03Vis7_mac.html/1.3/Mon Dec 13 23:12:47 2004//
+/exN03Vis8_mac.html/1.3/Mon Dec 13 23:12:47 2004//
+/exN03Vis9_mac.html/1.3/Mon Dec 13 23:14:00 2004//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Tree0_mac.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Tree0_mac.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Tree0_mac.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Tree1_mac.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Tree1_mac.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Tree1_mac.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis0_mac.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis0_mac.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis0_mac.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis10_mac.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis10_mac.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis10_mac.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis11_mac.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis11_mac.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis11_mac.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis12_loop.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis12_loop.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis12_loop.html	(revision 1208)
@@ -0,0 +1,5 @@
+<pre>
+# exN03Vis12.loop
+/vis/ogl/set/startTime {startTime} ns {timeRange} ns
+/vis/viewer/update
+</pre>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis12_mac.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis12_mac.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis12_mac.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis13_loop.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis13_loop.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis13_loop.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis13_mac.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis13_mac.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis13_mac.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis1_mac.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis1_mac.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis1_mac.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis2_mac.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis2_mac.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis2_mac.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis3_mac.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis3_mac.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis3_mac.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis4_mac.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis4_mac.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis4_mac.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis5_mac.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis5_mac.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis5_mac.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis6_mac.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis6_mac.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis6_mac.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis7_mac.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis7_mac.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis7_mac.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis8_mac.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis8_mac.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis8_mac.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis9_mac.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis9_mac.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visTutor/exN03Vis9_mac.html	(revision 1208)
@@ -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/UsersGuides/ForApplicationDeveloper/html/Visualization/visdrivers.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visdrivers.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visdrivers.html	(revision 1208)
@@ -0,0 +1,743 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- -->
+<HTML>
+<TITLE>The Visualization Drivers
+</TITLE>
+<!-- Changed by: Dennis Wright, 27-Nov-2001 -->
+<BODY>
+<TABLE width="100%">
+<TR>
+<TD><A href="../../../../Overview/html/index.html">
+</A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A>
+<A HREF="visexecutable.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<a href="commandcontrol.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></a>
+</TD>
+
+<TD ALIGN="Right"><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B><BR>
+<B>For Application Developers</B><BR>
+<B>Visualization</B> </FONT></FONT></TD>
+</TR>
+</TABLE>
+
+<CENTER><FONT COLOR="#238E23"><FONT SIZE=+3>
+<B>8.3 The Visualization Drivers</B><BR>
+</FONT></FONT></CENTER>
+<BR>
+
+<HR ALIGN="Center" SIZE="7%"><BR>
+As explained in the <A HREF="introduction.html#choice">
+Introduction to Visualization</A>,
+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>
+Details are given below for:
+<UL>
+<LI><A HREF="#OpenGL">OpenGL</A>
+<LI><A HREF="#OpenInventor">OpenInventor</A>
+<LI><A HREF="#HepRepFile">HepRepFile</A>
+<LI><A HREF="#HepRepXML">HepRepXML</A>
+<LI><A HREF="#DAWN">DAWN</A>
+<LI><A HREF="#VRML">VRML</A>
+<LI><A HREF="#RayTracer">RayTracer</A>
+<LI><A HREF="#ASCIITree">ASCIITree</A>
+<LI><A HREF="#GAGTree">GAGTree</A>
+<LI><A HREF="#XMLTree">XMLTree</A>
+</UL>
+
+<H4>8.3.1 Availability of drivers on the supported systems</H4>
+<P>
+Table 8.3.1 lists required graphics systems and supported platforms for the various visualization drivers
+<P>
+ <TABLE BORDER=2 cellpadding=8>
+ <TR>
+ <TD><B>Driver</B></TD><TD><B>Required Graphics System</B></TD><TD><B>Platform</B></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>
+ </TABLE>
+
+
+<P>
+<H4>8.3.2 <A NAME="OpenGL">OpenGL</A></H4>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>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>
+If you don't have Motif, all control is done from Geant4 commands:
+<PRE>
+     /vis/open OGLIX
+     /vis/viewer/set/viewpointThetaPhi 70 20
+     /vis/viewer/zoom 2
+     etc.
+</PRE>
+But if you have Motif libraries, you can control Geant4 from Motif widgets:
+<PRE>     /vis/open OGLIXm</PRE>
+<P>The OpenGL driver added Smooth shading and Transparency since Geant4 release 8.0.
+<P><B>Further information (OpenGL and Mesa):</B><BR>
+<UL>
+  <LI><A href="http://www.opengl.org/">http://www.opengl.org/</A> 
+  <LI><A href="http://www.mesa3d.org">http://www.mesa3d.org</A> 
+  <LI><A href="http://geant4.slac.stanford.edu/Presentations/vis/G4OpenGLTutorial/G4OpenGLTutorial.html">Geant4
+      Visualization Tutorial</A> using the OpenGL Graphics System
+</UL>
+
+<P>
+<H4>8.3.3 <A NAME="OpenInventor">OpenInventor</A></H4>
+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">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>
+It is also possible to save a visualized 3D scene as an OpenInventor-formatted 
+file, and re-visualize the scene afterwards. 
+<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>
+Because OpenInventor uses OpenGL for rendering, it supports lighting and transparency.
+<P>
+OpenInventor provides thumbwheel control to rotate and zoom.
+<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><B>Further information (HEPVis and OpenScientist): </B><BR>
+<UL>
+  <LI>Geant4 Inventor Visualization with OpenScientist
+  <A href="http://openscientist.lal.in2p3.fr/v15r0/html/osc_g4_vis_ui.html">
+  http://openscientist.lal.in2p3.fr/v15r0/html/osc_g4_vis_ui.html</A> </LI>
+  <LI>Overall OpenScientist Home
+  <A href="http://openscientist.lal.in2p3.fr/v15r0/html/osc_g4_vis_ui.html">
+  http://openscientist.lal.in2p3.fr/v15r0/html/osc_g4_vis_ui.html</A> </LI>
+  <LI>HEPVis<A href="http://www-pat.fnal.gov/graphics/HEPVis/www">http://www-pat.fnal.gov/graphics/HEPVis/www</A> </LI>
+</UL>
+<P><B>Further information (OpenInventor):</B><BR>
+<UL>
+  <LI><A href="http://oss.sgi.com/projects/inventor">http://oss.sgi.com/projects/inventor</A> </LI>
+  <LI>Josie Wernecke, "The Inventor Mentor", Addison Wesley (ISBN 0-201-62495-8) </LI>
+  <LI>Josie Wernecke, "The Inventor Toolmaker", Addison Wesley (ISBN 0-201-62493-1) </LI>
+  <LI>"The Open Inventor C++ Reference Manual", Addison Wesley (ISBN 0-201-62491-5) </LI>
+</UL>
+
+
+<P>
+<H4>8.3.4 <A NAME="HepRepFile">HepRepFile</A></H4>
+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/">
+WIRED3</A> HepRep Browser.  
+
+<P>
+The HepRep graphics format is further described at
+<A href="http://www.slac.stanford.edu/~perl/heprep">http://www.slac.stanford.edu/~perl/heprep</A>.
+
+<P>
+To write just the detector geometry to this file, use the command:
+<PRE>     /vis/viewer/flush</PRE>
+
+<P>
+Or, to also include trajectories and hits (after the appropriate /vis/viewer/add/trajectories or
+/vis/viewer/add/hits commands), just issue:
+<PRE>     /run/beamOn 1</PRE>
+
+<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>
+View the file using the WIRED3 HepRep Browser, available from:
+<A href="http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired/">
+http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired/</A>.
+
+<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>
+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>
+Several environment variables are available to override some of HepRepFile's defaults
+<UL>
+<LI>
+You can specify a different directory for the heprep output files by setting the environment variable
+G4HEPREPFILE_DIR, as in:
+<PRE>     export G4HEPREPFILE_DIR=someOtherDir/someOtherSubDir</PRE>
+<LI>
+You can specify a different file name (the part before the number) by setting the environment variable
+G4HEPREPFILE_NAME, as in:
+<PRE>     export G4HEPREPFILE_NAME=myFileName</PRE>
+which will produce files named myFileName0.heprep, myFileName1.heprep, etc.
+<LI>
+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:
+<PRE>     export G4HEPREPFILE_OVERWRITE=1</PRE>
+This may be useful in some automated applications where you always want to see the latest output file
+in the same location.
+<LI>
+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:
+<PRE>     export G4HEPREPFILE_CULL=1</PRE>
+</UL>
+
+<P><B>Further information:</B><BR>
+<UL>
+<LI>WIRED3 Users Home Page:<BR>
+<A href="http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired/">
+http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired/</A>.</LI>
+<LI>HepRep graphics format:<BR>
+<A href="http://www.slac.stanford.edu/~perl/heprep">
+http://www.slac.stanford.edu/~perl/heprep</A>
+<LI>Geant4 Visualization Tutorial using the WIRED3 HepRep Browser
+<A href="http://geant4.slac.stanford.edu/Presentations/vis/G4WIREDTutorial/G4WIREDTutorial.html">
+http://geant4.slac.stanford.edu/Presentations/vis/G4WIREDTutorial/G4WIREDTutorial.html</A>
+</UL>
+
+<P>
+<H4>8.3.5 <A NAME="HepRepXML">HepRepXML</A></H4>
+The HepRepXML driver creates a HepRep file in the HepRep2 format suitable for viewing
+with the <A href="http://wired.freehep.org/index.html">
+WIRED4</A> Plugin to the JAS3 Analysis System or the
+<A HREF="http://www.fisica.uniud.it/~glast/FRED">FRED</a> event display.
+
+<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>
+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>
+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>
+The .heprep.zip is the default for file output, the .heprep is the default 
+for stdout and stderr.
+
+<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:
+<PRE>     /vis/scene/create filename.bheprep.zip</PRE>
+
+<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).
+<PRE>     /vis/heprep/setEventNumberSuffix -0001</PRE>
+(Note: suffix has to contain at least one digit)
+
+<P>
+(Optional) To route the HepRep XML output to stdout (or stderr), 
+by default uncompressed, use:
+<PRE>     /vis/scene/create stdout</PRE>
+
+<P>
+(Optional) To add attributes to each point on a trajectory, use:
+<PRE>     /vis/heprep/addPointAttributes 1</PRE>
+<P>
+Be aware that this may increase the size of the output dramatically.
+
+<P>
+(Optional) You may use the commands:
+<PRE>     /vis/viewer/zoom                            to set an initial zoom factor</PRE>
+<PRE>     /vis/viewer/set/viewpointThetaPhi           to set an initial view point</PRE>
+<PRE>     /vis/heprep/setCoordinateSystem uvw         to change the coordinate system, where uvw can be "xyz", "zxy", ...</PRE>
+
+<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:
+<PRE>     /vis/heprep/appendGeometry false</PRE>
+
+<P>
+(Optional) To close the file, remove the SceneHandler, use:
+<PRE>     /vis/sceneHandler/remove scene-handler-0</PRE>
+
+<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.
+</UL>
+
+<P><B>Further information:</B><BR>
+<UL>
+<LI><A href="http://wired.freehep.org/index.html">
+WIRED4</A> Plugin to the JAS3 Analysis System
+<LI><A HREF="http://www.fisica.uniud.it/~glast/FRED">
+FRED</a> event display
+<LI>HepRep graphics format:<BR>
+<A href="http://www.slac.stanford.edu/~perl/heprep">
+http://www.slac.stanford.edu/~perl/heprep</A>
+</UL>
+
+<P>
+<H4>8.3.6 <A NAME="DAWN">DAWN</A></H4>The DAWN drivers are interfaces to <A 
+href="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html">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>When Geant4 Visualization is performed with the DAWN driver, the visualized 
+view is automatically saved to a file named <TT>g4.eps</TT> in the current 
+directory, which describes a vectorized (Encapsulated) PostScript data of the 
+view. 
+<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>
+The DAWNFILE driver sends 3D data to DAWN via an intermediate file, named 
+<TT>g4.prim</TT> in the current directory. The file <TT>g4.prim</TT> can be
+re-visualized later without the help of Geant4. This is done by invoking DAWN 
+by hand: <PRE>     % dawn g4.prim </PRE>
+
+<P>
+DAWN files can also serve as input to two additional programs:
+<UL>
+<LI>
+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.
+<LI>
+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="../Detector/geomOverlap.html#4.1.11">4.1.11</a>
+of this manual.
+</UL>
+
+<P>
+The DAWN-Network driver is almost the same as the DAWNFILE driver except that 
+
+<UL>
+  <LI>3D data are passed to DAWN via the TCP/IP the socket (default) or the 
+  named pipe, and that, 
+</UL>If you have not set 
+up network configurations of your host machine, set the environment variable 
+<TT>G4DAWN_NAMED_PIPE</TT> to "1", e.g., <TT>% 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>g4.prim</TT> in the current directory. 
+
+<h4>Remote Visualization with the DAWN-Network Driver</h4>
+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>
+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>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>
+The following steps realize remote Geant4 visualization viewed by DAWN.
+<OL>
+  <LI>Invoke DAWN with "-G" option on your local host:
+      <PRE>       Local_Host> dawn -G</PRE>
+      This invokes DAWN with the network connection mode.
+      <p></LI>
+  <LI>Login to the remote host where a Geant4 executable is placed.
+      <p></LI>
+  <LI>Set an environment variable on the remote host as follows:
+      <PRE>       Remote_Host> setenv G4DAWN_HOST_NAME local_host_name</PRE>
+      For example, if you are working in the local host named "arkoop.kek.jp",
+      set this environment variable as follows:
+      <PRE>       Remote_Host> setenv G4DAWN_HOST_NAME arkoop.kek.jp</PRE>
+      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>Invoke a Geant4 process and perform visualization with the DAWN-Network 
+      driver. For example: 
+      <PRE>  
+       Idle> /vis/open DAWN
+       Idle> /vis/drawVolume 
+       Idle> /vis/viewer/flush
+      </PRE>
+ </OL>
+ <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/">
+ DAWN-formatted data</A>, and the local DAWN will visualize the data.
+ The transferred data are saved as a file named <tt>g4.prim</tt> in the current
+ directory of the local host.
+ <P>
+ <B>Further information:</B>
+ <UL>
+  <LI><A HREF="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html">
+      http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html</A></LI>
+  <LI><A HREF="http://geant4.kek.jp/GEANT4/vis/DAWN/G4PRIM_FORMAT_24/">
+      http://geant4.kek.jp/GEANT4/vis/DAWN/G4PRIM_FORMAT_24/</A></LI>
+ </UL>
+ <P>
+
+
+<P><B>Further information:</B><BR>
+<UL>
+  <LI>Fukui Renderer DAWN:<BR><A 
+  href="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html">http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html</A> 
+
+  <LI>The DAWNFILE driver :<BR><A 
+  href="http://geant4.kek.jp/GEANT4/vis/GEANT4/DAWNFILE_driver.html">http://geant4.kek.jp/GEANT4/vis/GEANT4/DAWNFILE_driver.html</A> 
+
+  <LI>The DAWN-Network driver :<BR><A 
+  href="http://geant4.kek.jp/GEANT4/vis/GEANT4/DAWNNET_driver.html">http://geant4.kek.jp/GEANT4/vis/GEANT4/DAWNNET_driver.html</A> 
+
+  <LI>Environmental variables to customize DAWN and DAWN drivers:<BR><A 
+  href="http://geant4.kek.jp/GEANT4/vis/DAWN/DAWN_ENV.html">http://geant4.kek.jp/GEANT4/vis/DAWN/DAWN_ENV.html</A><BR><A 
+  href="http://geant4.kek.jp/GEANT4/vis/GEANT4/g4vis_on_linux.html">http://geant4.kek.jp/GEANT4/vis/GEANT4/g4vis_on_linux.html</A><BR>
+  <LI>DAWN format (g4.prim format) manual:<BR><A 
+  href="http://geant4.kek.jp/GEANT4/vis/DAWN/G4PRIM_FORMAT_24/">http://geant4.kek.jp/GEANT4/vis/DAWN/G4PRIM_FORMAT_24/</A> 
+
+  <LI>Geant4 Fukui University Group Home Page:<BR><A 
+  href="http://geant4.kek.jp/GEANT4/vis/">http://geant4.kek.jp/GEANT4/vis/</A> 
+
+  <LI>DAWNCUT:<BR><A 
+  href="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWNCUT.html">
+  http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWNCUT.html
+</A> 
+
+  <LI>DAVID:<BR><A 
+  http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAVID.html">
+  http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAVID.html</A> 
+
+<LI>Geant4 Visualization Tutorial using the DAWN Renderer
+<A href="http://geant4.slac.stanford.edu/Presentations/vis/GDAWNTutorial/GDAWNTutorial.html">
+http://geant4.slac.stanford.edu/Presentations/vis/GDAWNTutorial/G4DAWNTutorial.html</A>
+</UL>
+
+<P>
+<H4>8.3.7 <A NAME="VRML">VRML</A></H4>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>
+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>
+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>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>G4VRML_VIEWER</TT>
+beforehand. For example, 
+<PRE>     % setenv G4VRML_VIEWER  "netscape"
+</PRE>
+<P>
+Its default value is <TT>NONE</TT>, which means that no viewer is invoked and 
+only the file <TT>g4.wrl</TT> is generated. 
+
+<h4>Remote Visualization with the VRML-Network Driver</h4>
+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>
+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>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>
+ In order to perform remote visualization with the VRML-Network driver, 
+ the following must be installed on your local host beforehand:
+ <OL>
+  <LI>a VRML viewer</LI>
+  <LI>the Java application <tt>g4vrmlview</tt>.</LI>
+ </OL>
+The Java application <tt>g4vrmlview</tt> is included as part of the Geant4 
+package and is located at:
+ <pre>     source/visualization/VRML/g4vrmlview/</pre> .
+ Installation instructions for <tt>g4vrmlview</tt> can be found in the
+ <tt>README</tt> file there, or on the WWW page below.
+
+ <P>
+ The following steps realize remote Geant4 visualization displayed 
+ with your local VRML browser:
+ <ol>
+  <LI>Invoke the <tt>g4vrmlview</tt> on your local host, 
+      giving a VRML viewer name as its argument:
+      <PRE>       Local_Host> java g4vrmlview  VRML_viewer_name</PRE>
+      For example, if you want to use the Netscape browser as your  VRML 
+      viewer, execute <tt>g4vrmlview</tt> as follows:
+      <PRE>       Local_Host> java g4vrmlview  netscape</PRE>
+      Of course, the command path to the VRML viewer should be properly set.
+      <p></LI>
+  <LI>Log in to the remote host where a Geant4 executable is placed.
+      <p></LI>
+  <LI>Set an environment variable on the remote host as follows:
+      <PRE>       Remote_Host> setenv G4VRML_HOST_NAME local_host_name</PRE>
+      For example, if you are working on the local host named "arkoop.kek.jp",
+      set this environment variable as follows:
+      <PRE>       Remote_Host> setenv G4VRML_HOST_NAME arkoop.kek.jp</PRE>
+      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>Invoke a Geant4 process and perform visualization with the VRML-Network 
+      driver. For example:
+      <PRE>       
+       Idle> /vis/open VRML2
+       Idle> /vis/drawVolume 
+       Idle> /vis/viewer/update
+       </PRE></LI>
+ </OL>
+ <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>g4vrmlview</tt> process to visualize the VRML data.  The transferred VRML 
+data are saved as a file named <tt>g4.wrl</tt> in the current directory of the 
+local host. 
+ <P>
+ <B>Further information:</B><BR>
+ <UL>
+  <LI><A HREF="http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_net_driver.html">
+      http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_net_driver.html</A></LI>
+ </UL>
+<P>
+<P><B>Further information (VRML drivers):</B><BR>
+<UL>
+  <LI><A 
+  href="http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_file_driver.html">http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_file_driver.html</A> 
+
+  <LI><A 
+  href="http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_net_driver.html">http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_net_driver.html</A> 
+  </LI></UL>
+<P><B>Sample VRML files:</B><BR>
+<UL>
+  <LI><A 
+  href="http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML2_FIG/">http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML2_FIG/</A> 
+  </LI></UL>
+<P><B>Further information (VRML language and browsers):</B><BR>
+<UL>
+  <LI><A href="http://www.vrmlsite.com/">http://www.vrmlsite.com/</A> </LI></UL>
+
+<P>
+<H4>8.3.8 <A NAME="RayTracer">RayTracer</A></H4>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>
+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>
+Because RayTracer in essence takes over Geant4's tracking routines for its own use,
+RayTracer cannot be used to visualize Trajectories or hits.
+<P>
+An X-Window version, called RayTracerX, can be selected by setting
+<tt>G4VIS_BUILD_RATRACERX_DRIVER</tt> at Geant4 library build time and
+<tt>G4VIS_USE_RAYTRACERX</tt> at application (user code) build time
+(assuming you use the standard visualization manager, <tt>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>
+RayTracer has its own built-in commands - <tt>/vis/rayTracer/</tt>....
+Alternatively, you can treat it as a normal vis system and use
+<tt>/vis/viewer/</tt>... commands, e.g:
+<PRE>
+  /vis/open RayTracerX
+  /vis/drawVolume
+  /vis/viewer/set/viewpointThetaPhi 30 30
+  /vis/viewer/refresh
+</PRE>
+The view parameters are translated into the necessary RayTracer parameters.
+<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>/vis/viewer/set/all</tt>:
+<PRE>
+  /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>
+
+<P>
+<h4>8.3.9 <A NAME="ASCIITree">Visualization of detector geometry tree</A> </h4>
+ASCIITREE is a visualization driver that is not actually graphical
+but that dumps the volume hierarchy as a simple text tree.
+<P>
+Each call to /vis/viewer/flush or /vis/drawTree will dump the tree.
+<P>
+ASCIITree has command to control its verbosity, <tt>/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>
+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.
+<PRE>
+     /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>
+<P>
+Some more examples of ASCIITree in action:
+<PRE>
+     Idle> /vis/ASCIITree/verbose 1
+     Idle> /vis/drawTree
+     #  Set verbosity with "/vis/ASCIITree/verbose <verbosity>":
+     #    <  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.
+     .....
+     "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> /vis/ASCIITree/verbose 15
+     Idle> /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>
+<P>For the complete list of commands and options,
+see the <A HREF="../Control/UIcommands/_vis_.html">Control...UICommands</A> section of this user guide.
+
+<h4>8.3.10 <A NAME="GAGTree">GAG Tree</A></h4>
+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/">http://erpc1.naruto-u.ac.jp/~geant4</a>).
+GAG allows "folding/un-folding" a part of the geometry tree, using the
+<i>Tree Widget</i> in Java:
+<br>
+    <img src="visualization.src/gagtree.jpg">
+<P>
+
+<h4>8.3.11 <A NAME="XMLTree">XML Tree</A></h4>
+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 
+<i>XML Notepad</i>).
+<ul>
+  <li>Folding and un-folding:<br>
+      <br>
+      <img src="visualization.src/xmlnp.gif"><br>
+      <br>
+  </li>
+  <li>Searching a string:<br>
+      <br>
+      <img src="visualization.src/xmlnpfind.gif"><br>
+      <br>
+  </li>
+</ul>
+<P>
+<HR>
+<A href="commandcontrol.html">Next section</A><BR>
+<A href="index.html">Back to contents</A> 
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visexecutable.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visexecutable.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visexecutable.html	(revision 1208)
@@ -0,0 +1,398 @@
+<HTML>
+<TITLE>Adding Visualization to Your Executable
+</TITLE>
+<BODY>
+
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+</A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A>
+<A HREF="introduction.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<a href="visdrivers.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></a>
+</TD>
+
+<TD ALIGN="Right"><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B> <BR>
+<B>For Application Developers</B> <BR>
+<B>Visualization</B> </FONT></FONT> </TD>
+</TR>
+</TABLE>
+
+<CENTER><FONT COLOR="#238E23"><FONT SIZE=+3>
+<b>8.2 Adding Visualization to Your Executable</b><BR>
+</FONT></FONT></CENTER>
+<BR>
+
+<HR ALIGN="Center" SIZE="7%"><BR>
+
+ This section explains how to incorporate your selected visualization drivers
+ into the <tt>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.
+ 
+<h4>8.2.1 Installing Visualization Drivers</h4>
+
+ 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="visdrivers.html">Section 8.3</a> "<b>Visualization Drivers</b>", 
+ along with links to detailed web pages for the various drivers.
+<P>
+ Note that not all drivers can be installed on all systems;
+ Table 8.1 in <a href="visdrivers.html">Section 8.3</a> lists all the available
+ drivers and the platforms on which they can be installed. For any of the 
+ visualization drivers to work, the corresponding graphics system must be 
+ installed beforehand.
+<P>
+Unless the environment variable <tt>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>
+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>G4VIS_BUILD_DRIVERNAME_DRIVER</TT>" should be 
+set to  "<tt>1</tt>" before installing the Geant4 libraries: 
+<PRE>
+     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>
+Unless the environment variable <TT>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>G4VIS_BUILD </TT> is set (see 
+config/G4VIS_BUILD.gmk), which incorparates the selected driver into the 
+Geant4 libraries.
+
+<h4>8.2.2 How to Realize Visualization Drivers in an Executable</h4>
+
+ 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>In order to realize visualization drivers, you must instantiate
+ and initialize a subclass of <tt>G4VisManager</tt> that implements
+ the pure virtual function <tt>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>G4VisExecutive</tt>, a provided class with
+ included implementation.  <tt>G4VisExecutive</tt> is sensitive to the
+ <tt>G4VIS_USE...</tt> variables mentioned below.
+
+<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>G4VisExecutive.icc</tt>.  A
+typical extract is:
+
+<PRE>
+     ...
+       RegisterGraphicsSystem (new G4DAWNFILE);
+     ...
+     #ifdef G4VIS_USE_OPENGLX
+       RegisterGraphicsSystem (new G4OpenGLImmediateX);
+       RegisterGraphicsSystem (new G4OpenGLStoredX);
+     #endif
+     ...
+</PRE>
+<P>If you wish to use <tt>G4VisExecutive</tt> but register an
+additional graphics system, <tt>XXX</tt> say, you may do so either
+before or after initializing:
+<PRE>
+     visManager->RegisterGraphicsSytem(new XXX);
+     visManager->Initialize();
+</PRE>
+<P>
+Source listing 8.2.2<BR>
+An example of a typical <tt>main()</tt> function is given below.
+<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:
+<PRE>
+     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>
+<P>
+(Of course, this has to be chosen from the set incorporated into 
+the Geant4 libraries during their compilation.)
+Unless the environment variable <TT>G4VIS_NONE</TT> is set, 
+these set C-pre-processor flags of the same name.
+<P>
+Also, unless the environment variable <TT>G4VIS_NONE</TT> is set, the 
+C-pre-processor flag <TT>G4VIS_USE</TT> is always set by default.
+This flag is available in describing the <tt>main()</tt> function.
+
+<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>OGLHOME</tt>
+ which points to the location of the OpenGL libraries.  For more details, 
+ see <a href="visdrivers.html">Section 8.3</a> "<b>Visualization Drivers</b>"
+ and pages linked from there.
+<P>
+
+<h4>A Sample Set-up File </h4>
+ The following can be part of the user's <tt>.cshrc</tt> or <tt>.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>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+ ############################################################
+ # 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>
+</td>
+</tr>
+<tr>
+<td align=center>
+Source listing 8.2.1<BR>
+ Part of a sample <tt>.cshrc</tt> setup file for the Linux platform.
+</td>
+</tr>
+</table></center>
+
+
+ <h4>8.2.3 Visualization Manager</h4>
+ Visualization procedures are controlled by the "Visualization Manager",
+ a class which must inherit from  <i>G4VisManager</i> defined in the visualization category.
+ Most users will find that they can just use the default visualization manager, <i>G4VisExecutive</i>.
+ 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. 
+
+<h4>8.2.4 How to Write the <tt>main()</tt> Function</h4>
+
+ In order for your Geant4 executable to perform visualization, you
+ must instantiate and initialize "your" Visualization Manager in the
+ <tt>main()</tt> function. The core of the Visualization Manager is
+ the class <tt>G4VisManager</tt>, defined in the visualization
+ category.  This class requires that one pure virtual function be
+ implemented, namely, <tt>void RegisterGraphicsSystems()</tt>.  The
+ easiest way to do this is to use <tt>G4VisExecutive</tt>, as
+ described above (but you may write your own class - see above).
+
+<P>
+ Source listing 8.2.2 shows the form of the <tt>main()</tt> function.
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+ //----- 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 -> initialize ();
+ #endif
+
+ .....
+ #ifdef G4VIS_USE
+ delete visManager;
+ #endif
+
+ //----- end of C++ 
+</PRE>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 8.2.2<BR>
+ The form of the <tt>main()</tt> function.
+</td>
+</tr>
+</table></center>
+<P>
+ Alternatively, you can implement an empty <tt>RegisterGraphicsSystems()</tt> 
+ function, and register visualization drivers you want directly in
+ your <tt>main()</tt> function. See Source listing 8.2.3.
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+ //----- C++ source codes: How to register a visualization driver directly
+ //                        in main() function
+
+ .....
+ G4VisManager* visManager = new G4VisExecutive;
+ visManager -> RegisterGraphicsSystem (new MyGraphicsSystem);
+ .....
+ delete visManager
+
+ //----- end of C++ 
+</PRE>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 8.2.3<BR>
+ An alternative style for the <tt>main()</tt> function.
+</td>
+</tr>
+</table></center>
+<P>
+ DO NOT FORGET 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>G4VisManager</tt> might have to 
+ terminate the graphics system and/or close the connection.
+<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>G4VIS_USE</TT> is 
+ automatically defined unless the environment variable <TT>G4VIS_NONE</TT> is 
+ set.  This assumes that you are compiling your Geant4 executable with the
+ standard version of GNUmakefile found in the <TT>config</TT> directory.
+<P>
+ Source listing 8.2.4 shows an example of the <tt>main()</tt> function 
+ available for Geant4 Visualization.
+<p>
+<center>
+<table border=2 cellpadding=10>
+<tr>
+<td>
+<PRE>
+ //----- C++ source codes: An example of main() for visualization
+ .....
+ #include "G4VisExecutive.hh"
+ .....
+
+ int main() 
+ {
+      // Run Manager
+      G4RunManager * runManager = new G4RunManager;
+
+      // Detector components
+      runManager->set_userInitialization(new MyDetectorConstruction);
+      runManager->set_userInitialization(new MyPhysicsList);
+
+      // UserAction classes.
+      runManager->set_userAction(new MyRunAction);
+      runManager->set_userAction(new MyPrimaryGeneratorAction);
+      runManager->set_userAction(new MyEventAction);
+      runManager->set_userAction(new MySteppingAction);
+
+ #ifdef G4VIS_USE
+      G4VisManager* visManager = new G4VisExecutive;
+      visManager -> initialize ();
+ #endif
+
+      // Event loop
+      // Define (G)UI terminal
+      G4UIsession * session = new G4UIterminal
+      session->sessionStart();
+
+      delete session;
+      delete runManager;
+
+ #ifdef G4VIS_USE
+      delete visManager;
+ #endif
+
+      return 0;
+ }
+
+ //----- end of C++ 
+</PRE>
+</td>
+</tr>
+<tr>
+<td align=center>
+ Source listing 8.2.4<BR>
+ An example of the <tt>main()</tt> function available for Geant4 Visualization.
+</td>
+</tr>
+</table></center>
+<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:
+<PRE>
+   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>
+For example, in your 
+ <tt>main()</tt> function, write the following code:
+<PRE>
+  ...
+  G4VisManager* visManager = new G4VisExecutive ();
+  visManager -> SetVerboseLevel (1);
+  visManager -> Initialize ();
+  ...
+</PRE>
+(This can also be set with the <tt>/vis/verbose</tt> command.)
+<P>
+
+<HR>
+ <A HREF="visdrivers.html">Next section</A><BR>
+ <A HREF="introduction.html">Back to contents</A>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visualizable.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visualizable.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visualizable.html	(revision 1208)
@@ -0,0 +1,70 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Dosanjh, 15-Jul-2000 -->
+<!-- Changed by: Dennis Wright, 29-Nov-2001 -->
+<!-- Proof read by: Joe Chuma,  5-Jul-1999 -->
+
+<!-- 8.2 What Can Be Visualized -->
+<!-- *spell, *tag, *contents, *s -->
+<BODY>
+
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+</A>
+<A HREF="index.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A>
+<A HREF="introduction.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A>
+<A HREF="attributes.html">
+<IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></A>
+</TD>
+
+<TD ALIGN="Right"><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Guide</B> <BR>
+<B>For Application Developers</B> <BR>
+<B>Visualization</B> </FONT></FONT> </TD>
+</TR>
+</TABLE>
+
+<CENTER><FONT COLOR="#238E23"><FONT SIZE=+3>
+<b>8.2 What Can Be Visualized?</b><BR>
+</FONT></FONT></CENTER>
+<BR>
+
+<HR ALIGN="Center" SIZE="7%"><BR>
+
+<!-- ============================================== Section --> 
+
+ In Geant4 Visualization, you can visualize simulated data such as:
+
+ <UL>
+  <LI>Detector components
+      <UL>
+       <LI>A hierarchical structure of physical volumes
+       <LI>A piece of physical volume, logical volume, and solid
+      </UL>
+  <LI>Particle trajectories and tracking steps
+  <LI>Hits of particles in detector components
+ </UL>
+
+ and other user defined objects such as:
+
+ <UL>
+  <LI>A polyline, that is, a set of successive line segments
+  <LI>A marker which marks an arbitrary 3D position
+  <LI>texts, i.e., character strings for a description, a comment, or a title
+  <LI>Eye guides such as coordinate axes
+ </UL>
+
+ You can visualize all these things either with visualization commands 
+ or by calling visualizing functions in your C++ source codes.
+<P>
+<!------------------------------------------------------------------------>
+<HR>
+<A HREF="attributes.html">Next section</A><BR>
+<A HREF="index.html">Back to contents</A>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visualization.src/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visualization.src/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visualization.src/CVS/Entries	(revision 1208)
@@ -0,0 +1,4 @@
+/gagtree.jpg/1.1/Mon Jul 28 14:08:01 2003//
+/xmlnp.gif/1.1/Mon Jul 28 14:08:02 2003//
+/xmlnpfind.gif/1.1/Mon Jul 28 14:08:02 2003//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visualization.src/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visualization.src/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visualization.src/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visualization.src
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visualization.src/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visualization.src/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visualization.src/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/index.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/index.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/html/index.html	(revision 1208)
@@ -0,0 +1,196 @@
+<!-- Proof read by: Joe Chuma, 14-Jun-1999 -->
+<!-- Updated by Dennis Wright, 17 July 2001 -->
+
+<HTML>
+<HEAD>
+<TITLE>Application Developers Guide</TITLE>
+<!-- Changed by: Dennis Wright, 26-Jun-2003 -->
+   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+</HEAD>
+<BODY>
+<BR>
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+<A HREF="http://cern.ch/geant4/support/userdocuments.shtml">
+<IMG SRC="../../../resources/html/IconsGIF/Overview.gif" ALT="Overview" HEIGHT=16 WIDTH=59></A>
+<IMG SRC="../../../resources/html/IconsGIF/ContentsGR.gif" ALT="Contents" HEIGHT=16 WIDTH=59>
+<IMG SRC="../../../resources/html/IconsGIF/PreviousGR.gif" ALT="Previous" HEIGHT=16 WIDTH=59>
+<IMG SRC="../../../resources/html/IconsGIF/NextGR.gif" ALT="Next" HEIGHT=16 WIDTH=59>
+</TD>
+
+<TD ALIGN=RIGHT><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Documents</B>&nbsp;</FONT></FONT>
+<BR>
+<FONT COLOR="#5C3317"><FONT SIZE=-1>
+<b><i>Version:</i></b> <i>Geant4 8.2 December 2006</i>
+</FONT></FONT>
+
+</TD>
+</TR>
+</TABLE>
+<P>
+<BR>
+
+<CENTER><B><FONT COLOR="#238E23"><FONT SIZE=+4>
+Geant4 User's Guide</FONT></FONT></B>
+</CENTER>
+
+<CENTER><B><FONT COLOR="#238E23"><FONT SIZE=+2>
+- For Application Developers -
+</FONT></FONT></B>
+</CENTER>
+<P>
+
+<HR ALIGN="Center" SIZE="7%">
+ 
+<OL>
+ <LI><B><A HREF="Introduction/introduction.html">Introduction</A></B></LI>
+ <P>
+ <LI><A HREF="GettingStarted/index.html">
+     <B>Getting Started with Geant4 - Running a Simple Example</B></A></LI>
+   <OL>
+   <LI><A HREF="GettingStarted/mainProgram.html">
+       How to Define the main() Program</A></LI>
+   <LI><A HREF="GettingStarted/geometryDef.html">
+       How to Define a Detector Geometry</A></LI>
+   <LI><A HREF="GettingStarted/materialDef.html">
+       How to Specify Materials in the Detector</A></LI>
+   <LI><A HREF="GettingStarted/particleDef.html">
+       How to Specify Particles</A></LI>
+   <LI><A HREF="GettingStarted/physicsDef.html">
+       How to Specify Physics Processes</A></LI>
+   <LI><A HREF="GettingStarted/eventDef.html">
+       How to Generate a Primary Event</A></LI>
+   <LI><A HREF="GettingStarted/makeFile.html">
+       How to Make an Executable Program</A></LI>
+   <LI><A HREF="GettingStarted/graphicalUserInterface.html">
+       How to Set Up an Interactive Session</A></LI>
+   <LI><A HREF="GettingStarted/executeProgram.html">
+       How to Execute a Program</A></LI>
+   <LI><A HREF="GettingStarted/visualization.html">
+       How to Visualize the Detector and Events</A></LI>
+   </OL>
+ <P>
+ <LI><A HREF="Fundamentals/index.html">
+     <B>Toolkit Fundamentals</B></A></LI>
+   <OL>
+   <LI><A HREF="Fundamentals/classCategory.html">
+       Class Categories and Domains</A></LI>
+   <LI><A HREF="Fundamentals/global.html">
+       Global Usage Classes</A></LI>
+   <LI><A HREF="Fundamentals/unitSystem.html">
+       System of Units</A></LI>
+   <LI><A HREF="Fundamentals/run.html">
+       Run</A></LI>
+   <LI><A HREF="Fundamentals/event.html">
+       Event</A></LI>
+   <LI><A HREF="Fundamentals/eventGenerator.html">
+       Event Generator Interface</A></LI>
+   <LI><A HREF="Fundamentals/biasing.html">
+       Event Biasing Techniques</A></LI>
+   </OL>
+ <P>
+ <LI><A HREF="Detector/index.html">
+     <B>Detector Definition and Response</B></A></LI>
+   <OL>
+   <LI><A HREF="Detector/geometry.html">
+       Geometry</A></LI>
+   <LI><A HREF="Detector/material.html">
+       Material</A></LI>
+   <LI><A HREF="Detector/electroMagneticField.html">
+       Electromagnetic Field</A></LI>
+   <LI><A HREF="Detector/hit.html">
+       Hits</A></LI>
+   <LI><A HREF="Detector/digitization.html">
+       Digitization</A></LI>
+   <LI><A HREF="Detector/persistency.html">
+       Object Persistency</A></LI>
+   <LI><A HREF="Detector/parallelWorld.html">
+       Parallel Geometries</A></LI>
+   </OL>
+ <P>
+ <LI><A HREF="TrackingAndPhysics/index.html">
+     <B>Tracking and Physics</B></A></LI>
+   <OL>
+   <LI><A HREF="TrackingAndPhysics/tracking.html">
+       Tracking</A></LI>
+   <LI><A HREF="TrackingAndPhysics/physicsProcess.html">
+       Physics Processes</A></LI>
+   <LI><A HREF="TrackingAndPhysics/particle.html">
+       Particles</A></LI>
+   <LI><A HREF="TrackingAndPhysics/thresholdVScut.html">
+       Production Threshold vs. Tracking Cut</A></LI>
+   <LI><A HREF="TrackingAndPhysics/cutsPerRegion.html">
+       Cuts per Region</A></LI>
+   <LI><A HREF="TrackingAndPhysics/physicsTable.html">
+       Physics tables</A></LI>
+   <LI><A HREF="TrackingAndPhysics/userLimits.html">
+       User limits</A></LI>
+   </OL>
+ <P>
+ <LI><A HREF="UserActions/index.html">
+     <B>User Actions</B></A></LI>
+   <OL>
+   <LI><A HREF="UserActions/MandatoryActions.html">
+       Mandatory User Actions and Initializations</A></LI>
+   <LI><A HREF="UserActions/OptionalActions.html">
+       Optional User Actions</A></LI>
+   <LI><A HREF="UserActions/UserInformationClasses.html">
+       User Information Classes</A></LI>
+   </OL>
+ <P>
+ <LI><A HREF="Control/index.html">
+     <B>Communication and Control</B></A></LI>
+   <OL>
+   <LI><A HREF="Control/commands.html">
+       Built-in Commands</A></LI>
+   <LI><A HREF="Control/userInterfaceCommand.html">
+       User Interface - Defining New Commands</A></LI>
+   </OL>
+ </p>
+ <p>
+ <li><a href="Visualization/index.html">
+     <b>Visualization</b></a></li>
+   <ol>
+   <li><a href="Visualization/introduction.html">Introduction to Visualization</a></li>
+   <li><a href="Visualization/visexecutable.html">Adding Visualization to Your Executable</a></li>
+   <li><a href="Visualization/visdrivers.html">The Visualization Drivers</a></li>
+   <li><a href="Visualization/commandcontrol.html">Controlling Visualization from Commands</a></li>
+   <li><a href="Visualization/compiledcontrol.html">Controlling Visualization from Compiled Code</a></li>
+   <li><a href="Visualization/attributes.html">Visualization Attributes</a></li>
+   <li><a href="Visualization/enhanceddrawing.html">Enhanced Trajectory Drawing</a></li>
+   <li><a href="Visualization/filtering.html">Filtering</a></li>
+   <li><a href="Visualization/markertext.html">Polylines, Markers and Text</a></li>
+   <li><a href="Visualization/makingamovie.html">Making a Movie</a></li>
+   </ol>
+ </p>
+ <p>
+ <li><a href="Examples/index.html"><b>Examples</b></a></li>
+   <ol>
+   <li><a href="Examples/NoviceCodes.html">Novice Examples</a></li>
+   <li><a href="Examples/ExtendedCodes.html">Extended Examples</a></li>
+   <li><a href="Examples/AdvancedCodes.html">Advanced Examples</a></li>
+   </ol>
+ </p>
+ <p>
+ <li><A HREF="Appendix/index.html">
+     <B>Appendix</B></A></LI>
+   <ol>
+   <li><a href="Appendix/tipsCompilation.html">Tips for the program compilation</a></li>
+   <li><a href="Appendix/histogramming.html">Histogramming</a></li>
+   <li><a href="Appendix/clhepLHCxx.html">CLHEP Foundation Library for HEP</a></li>
+   <li><a href="Appendix/templateLib.html">C++ Standard template library</a></li>
+   <li><a href="Appendix/makeFile.html">Makefiles and Environment Variables</a></li>
+   <li><a href="Appendix/buildFile.html">Build for MS Visual C++</a></li>
+   <li><a href="Appendix/developmentDebugTools.html">Development and debug tools</a></li>
+   </ol>
+ </p>
+ </ol>
+
+<hr>
+<a href="../../../Authors/html/subjectsToAuthors.html">
+<i>About the authors</a></i>
+
+</body>
+</html>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/CVS/Entries	(revision 1208)
@@ -0,0 +1,22 @@
+/Execute.pl/1.11/Fri Jan  5 07:15:48 2007//
+/MergeDocs.pl/1.9/Mon Dec 18 10:28:25 2006//
+/break01.html/1.7/Thu Jun 22 21:08:54 2006//
+/break02.html/1.7/Thu Jun 22 21:08:59 2006//
+/break03.html/1.7/Thu Jun 22 21:09:03 2006//
+/break04.html/1.9/Thu Jun 22 21:09:08 2006//
+/break05.html/1.6/Thu Jun 22 21:09:23 2006//
+/break06.html/1.8/Thu Jun 22 21:09:27 2006//
+/break07.html/1.6/Thu Jun 22 21:09:31 2006//
+/break08.html/1.9/Thu Jun 22 21:09:35 2006//
+/break09.html/1.6/Thu Jun 22 21:09:41 2006//
+/break10.html/1.8/Thu Jun 22 21:09:49 2006//
+/break11.html/1.5/Thu Jun 22 21:09:55 2006//
+/break12.html/1.6/Wed Dec 14 02:10:10 2005//
+/break13.html/1.6/Thu Jun 22 21:10:00 2006//
+/break14.html/1.4/Wed Dec 14 02:10:03 2005//
+/break15.html/1.4/Thu Jun 22 21:10:14 2006//
+/break16.html/1.7/Thu Jun 22 21:10:18 2006//
+/break17.html/1.4/Thu Jun 22 21:10:22 2006//
+/break18.html/1.8/Thu Jun 22 21:10:26 2006//
+/break19.html/1.5/Thu Jun 22 21:10:30 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForApplicationDeveloper/print
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/Execute.pl
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/Execute.pl	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/Execute.pl	(revision 1208)
@@ -0,0 +1,124 @@
+#!/usr/bin/perl
+#
+#
+
+$outputFile = 'applDeveloperMerged.html';
+
+@inputFiles = (
+               '../html/index.html',
+               'break01.html',
+               '../html/Introduction/introduction.html',
+
+               'break02.html',
+               '../html/GettingStarted/index.html',
+               'break03.html',
+               '../html/GettingStarted/mainProgram.html',
+               '../html/GettingStarted/geometryDef.html',
+               '../html/GettingStarted/materialDef.html',
+               '../html/GettingStarted/particleDef.html',
+               '../html/GettingStarted/physicsDef.html',
+               '../html/GettingStarted/eventDef.html',
+               '../html/GettingStarted/makeFile.html',
+               '../html/GettingStarted/graphicalUserInterface.html',
+               '../html/GettingStarted/executeProgram.html',
+               '../html/GettingStarted/visualization.html',
+
+               'break04.html',
+               '../html/Fundamentals/index.html',
+               'break05.html',
+               '../html/Fundamentals/classCategory.html',
+               '../html/Fundamentals/global.html',
+               '../html/Fundamentals/unitSystem.html',
+               '../html/Fundamentals/run.html',
+               '../html/Fundamentals/event.html',
+               '../html/Fundamentals/eventGenerator.html',
+               '../html/Fundamentals/biasing.html',
+
+               'break06.html',
+               '../html/Detector/index.html',
+               'break07.html',
+               '../html/Detector/geometry.html',
+               '../html/Detector/geomIntro.html',
+               '../html/Detector/geomSolids.html',
+               '../html/Detector/geomLogical.html',
+               '../html/Detector/geomPhysical.html',
+               '../html/Detector/geomTouch.html',
+               '../html/Detector/geomAssembly.html',
+               '../html/Detector/geomReflection.html',
+               '../html/Detector/geomNav.html',
+               '../html/Detector/geomEditor.html',
+               '../html/Detector/geomG3toG4.html',
+               '../html/Detector/geomOverlap.html',
+               '../html/Detector/geomDynamic.html',
+               '../html/Detector/geomXML.html',
+               '../html/Detector/material.html',
+               '../html/Detector/electroMagneticField.html',
+               '../html/Detector/hit.html',
+               '../html/Detector/digitization.html',
+               '../html/Detector/persistency.html',
+
+               'break08.html',
+               '../html/TrackingAndPhysics/index.html',
+               'break09.html',
+               '../html/TrackingAndPhysics/tracking.html',
+               '../html/TrackingAndPhysics/physicsProcess.html',
+               '../html/TrackingAndPhysics/particle.html',
+               '../html/TrackingAndPhysics/thresholdVScut.html',
+               '../html/TrackingAndPhysics/cutsPerRegion.html',
+               '../html/TrackingAndPhysics/physicsTable.html',
+
+               'break10.html',
+               '../html/UserActions/index.html',
+               'break11.html',
+               '../html/UserActions/MandatoryActions.html',
+               '../html/UserActions/OptionalActions.html',
+
+               'break12.html',
+               '../html/Control/index.html',
+               'break13.html',
+               '../html/Control/commands.html',
+               '../html/Control/userInterfaceCommand.html',
+
+               'break14.html',
+               '../html/Visualization/index.html',
+               'break15.html',
+               '../html/Visualization/introduction.html',
+               '../html/Visualization/visexecutable.html',
+               '../html/Visualization/visdrivers.html',
+               '../html/Visualization/commandcontrol.html',
+               '../html/Visualization/compiledcontrol.html',
+               '../html/Visualization/attributes.html',
+               '../html/Visualization/enhanceddrawing.html',
+               '../html/Visualization/filtering.html',
+               '../html/Visualization/markertext.html',
+               '../html/Visualization/makingamovie.html',
+
+               'break16.html',
+               '../html/Examples/index.html',
+               'break17.html',
+               '../html/Examples/NoviceCodes.html',
+               '../html/Examples/ExtendedCodes.html',
+               '../html/Examples/AdvancedCodes.html',
+
+               'break18.html',
+               '../html/Appendix/index.html',
+               'break19.html',
+               '../html/Appendix/tipsCompilation.html',
+               '../html/Appendix/histogramming.html',
+               '../html/Appendix/clhepLHCxx.html',
+               '../html/Appendix/templateLib.html',
+               '../html/Appendix/makeFile.html',
+               '../html/Appendix/buildFile.html',
+               '../html/Appendix/developmentDebugTools.html',
+
+              );
+
+$numberFiles = @inputFiles;
+
+for ($i=0; $i<$numberFiles; $i++)
+{
+    `perl MergeDocs.pl $inputFiles[$i] >> $outputFile`;
+}
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/MergeDocs.pl
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/MergeDocs.pl	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/MergeDocs.pl	(revision 1208)
@@ -0,0 +1,114 @@
+#!/usr/bin/perl
+#
+# Merge html files into one so that MSWord can read
+# it and generate a ps file.
+#
+
+$file = $ARGV[0];                     # Name the file
+
+open(INFO, "<$file" ) ;               # Open the file
+@lines = <INFO> ;                     # Read it into an array
+close(INFO) ;                         # Close the file
+
+
+foreach $line (@lines)                # assign @lines to $line, one at a time
+{                                     # braces {} are required, bracket code
+
+  $line =~ s#"../../../../resources/#"../../../resources/#;
+
+  if ($line =~ "IMG SRC")
+  {
+    $line =~ s#"../../../../Welcome/#"../../../Welcome/#g;
+  }
+
+    $line =~ s#"physicsProcessHAD.src/img1.gif"#"../html/PracticalApplications/physicsProcessHAD.src/img1.gif"#g;
+
+    $line =~ s#"wwconcept.gif"#"../html/Fundamentals/wwconcept.gif" width=550#g;
+
+    $line =~ s#"geometry.src/aBox.jpg"#"../html/Detector/geometry.src/aBox.jpg"#g;
+
+    $line =~ s#"geometry.src/aTubs.jpg"#"../html/Detector/geometry.src/aTubs.jpg"#g;
+
+    $line =~ s#"geometry.src/aCons.jpg"#"../html/Detector/geometry.src/aCons.jpg"#g;
+
+    $line =~ s#"geometry.src/aPara.jpg"#"../html/Detector/geometry.src/aPara.jpg"#g;
+
+    $line =~ s#"geometry.src/aTrap.jpg"#"../html/Detector/geometry.src/aTrap.jpg"#g;
+
+    $line =~ s#"geometry.src/aTrd.jpg"#"../html/Detector/geometry.src/aTrd.jpg"#g;
+
+    $line =~ s#"geometry.src/aSphere.jpg"#"../html/Detector/geometry.src/aSphere.jpg"#g;
+
+    $line =~ s#"geometry.src/aOrb.jpg"#"../html/Detector/geometry.src/aOrb.jpg"#g;
+
+    $line =~ s#"geometry.src/aTorus.jpg"#"../html/Detector/geometry.src/aTorus.jpg"#g;
+
+    $line =~ s#"geometry.src/aBREPSolidPCone.jpg"#"../html/Detector/geometry.src/aBREPSolidPCone.jpg"#g;
+
+    $line =~ s#"geometry.src/aBREPSolidPolyhedra.jpg"#"../html/Detector/geometry.src/aBREPSolidPolyhedra.jpg"#g;
+
+    $line =~ s#"geometry.src/aEllipticalTube.jpg"#"../html/Detector/geometry.src/aEllipticalTube.jpg"#g;
+
+    $line =~ s#"geometry.src/aEllipsoid.jpg"#"../html/Detector/geometry.src/aEllipsoid.jpg"#g;
+
+    $line =~ s#"geometry.src/aEllipticalCone.jpg"#"../html/Detector/geometry.src/aEllipticalCone.jpg"#g;
+
+    $line =~ s#"geometry.src/aHyperboloid.jpg"#"../html/Detector/geometry.src/aHyperboloid.jpg"#g;
+
+    $line =~ s#"geometry.src/aTet.jpg"#"../html/Detector/geometry.src/aTet.jpg"#g;
+
+    $line =~ s#"geometry.src/aTwistedBox.jpg"#"../html/Detector/geometry.src/aTwistedBox.jpg"#g;
+
+    $line =~ s#"geometry.src/aTwistedTrap.jpg"#"../html/Detector/geometry.src/aTwistedTrap.jpg"#g;
+
+    $line =~ s#"geometry.src/aTwistedTrd.jpg"#"../html/Detector/geometry.src/aTwistedTrd.jpg"#g;
+
+    $line =~ s#"geometry.src/aTwistedTubs.jpg"#"../html/Detector/geometry.src/aTwistedTubs.jpg"#g;
+
+    $line =~ s#"geometry.src/cad-tess1.jpg"#"../html/Detector/geometry.src/cad-tess1.jpg"#g;
+
+    $line =~ s#"geometry.src/cad-tess2.jpg"#"../html/Detector/geometry.src/cad-tess2.jpg"#g;
+
+    $line =~ s#"geometry.src/avex1.jpg"#"../html/Detector/geometry.src/avex1.jpg"#g;
+
+    $line =~ s#"geometry.src/avex2.jpg"#"../html/Detector/geometry.src/avex2.jpg"#g;
+
+    $line =~ s#"geometry.src/avpic.jpg"#"../html/Detector/geometry.src/avpic.jpg"#g;
+
+    $line =~ s#"geometry.src/geomtest.gif"#"../html/Detector/geometry.src/geomtest.gif"#g;
+
+    $line =~ s#"geometry.src/DAVID_SAMPLE.gif"#"../html/Detector/geometry.src/DAVID_SAMPLE.gif"#g;
+
+    $line =~ s#"electroMagneticField.src/electroMagneticField.gif"#"../html/Detector/electroMagneticField.src/electroMagneticField.gif"#g;
+
+    $line =~ s#"electroMagneticField.src/MissDistance.jpg"#"../html/Detector/electroMagneticField.src/MissDistance.jpg" width=550#g;
+
+    $line =~ s#"electroMagneticField.src/IntersectionError.jpg"#"../html/Detector/electroMagneticField.src/IntersectionError.jpg"#g;
+
+    $line =~ s#"hit.src/RO.gif"#"../html/Detector/hit.src/RO.gif"#g;
+
+    $line =~ s#"persistency.src/GeomDBsolid3.gif"#"../html/Detector/persistency.src/GeomDBsolid3.gif"#g;
+
+    $line =~ s#"persistency.src/pobject.gif"#"../html/Detector/persistency.src/pobject.gif"#g;
+
+    $line =~ s#"persistency.src/UsingODBMS.gif"#"../html/Detector/persistency.src/UsingODBMS.gif"#g;
+
+    $line =~ s#"persistency.src/schema.gif"#"../html/Detector/persistency.src/schema.gif"#g;
+
+    $line =~ s#"persistency.src/schema2.gif"#"../html/Detector/persistency.src/schema2.gif"#g;
+
+    $line =~ s#"physicsProcessPARAM.src/ComponentsWithRegion.gif"#"../html/TrackingAndPhysics/physicsProcessPARAM.src/ComponentsWithRegion.gif"#g;
+    $line =~ s#"visualization.src/gagtree.jpg"#"../html/Visualization/visualization.src/gagtree.jpg" height=423 width=550#g;
+
+    $line =~ s#"visualization.src/xmlnp.gif"#"../html/Visualization/visualization.src/xmlnp.gif"#g;
+
+    $line =~ s#"visualization.src/xmlnpfind.gif"#"../html/Visualization/visualization.src/xmlnpfind.gif"#g;
+
+  print "$line" ;    # print formatted lines to screen 
+}
+
+#
+# DONE
+#
+
+
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break01.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break01.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break01.html	(revision 1208)
@@ -0,0 +1,10 @@
+<HTML>
+<BODY>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break02.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break02.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break02.html	(revision 1208)
@@ -0,0 +1,12 @@
+<HTML>
+<BODY>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break03.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break03.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break03.html	(revision 1208)
@@ -0,0 +1,13 @@
+<HTML>
+<BODY>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break04.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break04.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break04.html	(revision 1208)
@@ -0,0 +1,9 @@
+<HTML>
+<BODY>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break05.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break05.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break05.html	(revision 1208)
@@ -0,0 +1,12 @@
+<HTML>
+<BODY>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break06.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break06.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break06.html	(revision 1208)
@@ -0,0 +1,12 @@
+<HTML>
+<BODY>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break07.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break07.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break07.html	(revision 1208)
@@ -0,0 +1,7 @@
+<HTML>
+<BODY>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break08.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break08.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break08.html	(revision 1208)
@@ -0,0 +1,8 @@
+<HTML>
+<BODY>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break09.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break09.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break09.html	(revision 1208)
@@ -0,0 +1,7 @@
+<HTML>
+<BODY>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break10.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break10.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break10.html	(revision 1208)
@@ -0,0 +1,12 @@
+<HTML>
+<BODY>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break11.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break11.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break11.html	(revision 1208)
@@ -0,0 +1,8 @@
+<HTML>
+<BODY>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break12.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break12.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break12.html	(revision 1208)
@@ -0,0 +1,12 @@
+<HTML>
+<BODY>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break13.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break13.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break13.html	(revision 1208)
@@ -0,0 +1,8 @@
+<HTML>
+<BODY>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break14.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break14.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break14.html	(revision 1208)
@@ -0,0 +1,6 @@
+<HTML>
+<BODY>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break15.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break15.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break15.html	(revision 1208)
@@ -0,0 +1,7 @@
+<HTML>
+<BODY>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break16.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break16.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break16.html	(revision 1208)
@@ -0,0 +1,8 @@
+<HTML>
+<BODY>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break17.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break17.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break17.html	(revision 1208)
@@ -0,0 +1,8 @@
+<HTML>
+<BODY>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break18.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break18.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break18.html	(revision 1208)
@@ -0,0 +1,13 @@
+<HTML>
+<BODY>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break19.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break19.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForApplicationDeveloper/print/break19.html	(revision 1208)
@@ -0,0 +1,7 @@
+<HTML>
+<BODY>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+D/html////
+D/latex////
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/html/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/html/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/html/CVS/Entries	(revision 1208)
@@ -0,0 +1,3 @@
+/Execute.pl/1.2/Tue Dec  8 02:16:32 1998//
+/Restructure.pl/1.1/Tue Dec  8 01:53:01 1998//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/html/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/html/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/html/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/html
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/html/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/html/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/html/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/html/Execute.pl
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/html/Execute.pl	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/html/Execute.pl	(revision 1208)
@@ -0,0 +1,20 @@
+#!/kek/local/bin/perl
+#
+#
+for ($i=1; $i<=6; $i++)
+{
+  `cp node$i.html node$i.html.org`; 
+  `Restructure.pl node$i.html.org > node$i.html`;
+
+#    $command = "Restructure.pl node$i.html > temp$i.html\n";
+#    system($command);
+
+}
+
+`cp toolkitDeveloper.html toolkitDeveloper.html.org`; 
+`Restructure.pl toolkitDeveloper.html.org > toolkitDeveloper.html`;
+  
+`cp index.html index.html.org`;
+`rm index.html`;
+`cp toolkitDeveloper.html index.html`;
+
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/html/Restructure.pl
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/html/Restructure.pl	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/html/Restructure.pl	(revision 1208)
@@ -0,0 +1,172 @@
+#!/kek/local/bin/perl
+#
+# Read in the data file
+# Print out HTML formatted lines
+#
+
+###$file = 'node5.html' ;                  # Name the file
+$file = $ARGV[0];                  # Name the file
+
+open(INFO, "<$file" ) ;               # Open the file
+@lines = <INFO> ;                     # Read it into an array
+close(INFO) ;                         # Close the file
+
+$flag1 = 0;
+$flag2 = 0;
+$flagHead = 1;
+$flagNavigationPanel = 0;
+$flagTopNavigationPanel = 1;
+$flagReserve = 0;
+
+
+foreach $line (@lines)                # assign @lines to $line, one at a time
+{                                     # braces {} are required, bracket code
+
+
+ if ($line =~ /<TITLE>Geant4 User's Guide/)
+ {
+   $flagReserve = 1;
+ }
+
+
+ if ($line =~ /BODY/)
+ {
+   $line = '<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>';
+}
+
+ if ($line =~ /--Navigation Panel--/ )                
+ {
+   $flagNavigationPanel = 1;
+ }
+
+ if ( $flagNavigationPanel == 1 )
+ {
+  $line =~ s#SRC="/usr/local/share/latex2html/icons.gif/next_motif.gif"#SRC="../../../resources/html/IconsGIF/Next.gif"#g;
+   $line =~ s#IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"#IMG BORDER="0" ALT="next"#g;
+
+   $line =~ s#SRC="/usr/local/share/latex2html/icons.gif/up_motif.gif"#SRC="../../../resources/html/IconsGIF/Up.gif"#g;
+   $line =~ s#IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"#IMG BORDER="0" ALT="up"#g;
+
+   $line =~ s#SRC="/usr/local/share/latex2html/icons.gif/previous_motif.gif"#SRC="../../../resources/html/IconsGIF/Previous.gif"#g;
+   $line =~ s#IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"#IMG BORDER="0" ALT="previous"#g;
+
+   $line =~ s#SRC="/usr/local/share/latex2html/icons.gif/contents_motif.gif"#SRC="../../../resources/html/IconsGIF/Contents.gif"#g;
+   $line =~ s#IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"#IMG BORDER="0" ALT="contents"#g;
+
+  $line =~ s#SRC="/usr/local/share/latex2html/icons.gif/next_motif_gr.gif"#SRC="../../../resources/html/IconsGIF/NextGR.gif"#g;
+   $line =~ s#IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"#IMG BORDER="0" ALT="next"#g;
+
+   $line =~ s#SRC="/usr/local/share/latex2html/icons.gif/up_motif_gr.gif"#SRC="../../../resources/html/IconsGIF/UpGR.gif"#g;
+   $line =~ s#IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"#IMG BORDER="0" ALT="up"#g;
+
+   $line =~ s#SRC="/usr/local/share/latex2html/icons.gif/previous_motif_gr.gif"#SRC="../../../resources/html/IconsGIF/PreviousGR.gif"#g;
+   $line =~ s#IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"#IMG BORDER="0" ALT="previous"#g;
+
+   $line =~ s#SRC="/usr/local/share/latex2html/icons.gif/contents_motif_gr.gif"#SRC="../../../resources/html/IconsGIF/ContentsGR.gif"#g;
+   $line =~ s#IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"#IMG BORDER="0" ALT="contents"#g;
+
+ }
+
+   if ($line =~ /Next:/ )                
+   {
+    $flag1 = 1;
+   }
+
+   if ($line =~ /End of Navigation Panel/ )      
+   {
+     if ($flagTopNavigationPanel == 1)
+     {
+    $line = '</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User\'s Guide</B><BR>
+<B>For Toolkit Developers</B>
+</FONT>
+</TD>
+</TR></TABLE><BR>
+';
+     }
+
+     $flagTopNavigationPanel = 0;
+     $flagNavigationPanel = 0;
+     $flag1 = 0;
+   }
+
+   if ($flag1 == 1)
+   {
+       $line = "";
+   }
+
+###--------------
+   if ($line =~ /Table of Child-Links/ && $flagReserve == 0)                
+   {
+    $flag2 = 1;
+   }
+
+   if ($line =~ /End of Table of Child-Links/ )      
+   {
+    $flag2 = 0;
+   }
+
+   if ($flag2 == 1)
+   {
+       $line = "";
+   }
+###--------------
+   if ($flagHead == 1)
+   {
+       if ($line =~ /<HR>/)
+       {
+          $line =~ s!<HR>!!g;
+       }
+       if ($line =~ /<H1>/)
+       {
+          $line =~ s!<H1>!<BR><P ALIGN="Center"><FONT SIZE="+4" COLOR="#238E23"><B>!g;
+       }
+
+       if ($line =~ /H1 ALIGN/)
+       {
+          $line =~ s!<H1 ALIGN="CENTER">!<BR><P ALIGN="Center"><FONT SIZE="+4" COLOR="#238E23"><B>!g;
+       }
+       if ($line =~ /<\/H1>/)
+       {
+          $line =~ s!</H1>!</B></FONT><BR><P>!g;
+          $flagHead = 0;
+      }
+   }
+###--------------
+
+   if ($line =~ /<H2>/)
+   {
+      $line =~ s!<H2>!<HR><P><BR><H2>!g;
+   }
+
+   if ($line =~ /ADDRESS/ )                
+   {
+    $flag3 = 1;
+   }
+
+   if ($line =~ /\/ADDRESS/ )      
+   {
+     $flag3 = 0;
+   }
+
+   if ($flag3 == 1)
+   {
+       $line = "";
+   }
+
+  $line =~ s/node1.html/toolkitDeveloper.html/g;
+
+
+   print "$line" ;    # print formatted lines to screen 
+}
+
+#
+# DONE
+#
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/CVS/Entries	(revision 1208)
@@ -0,0 +1,6 @@
+/emptybib.tex/1.1/Sun Dec 11 02:26:57 2005//
+/toolkitDeveloper.tex/1.13/Tue Jun 20 14:50:55 2006//
+D/GuideToExtendFunctionality////
+D/Introduction////
+D/OOAnalysisDesign////
+D/UserRequirementsDocument////
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/CVS/Entries	(revision 1208)
@@ -0,0 +1,5 @@
+D/ElectromagneticField////
+D/Geometry////
+D/HadronicPhysics////
+D/PhysicsProcesses////
+D/Visualization////
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/ElectromagneticField/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/ElectromagneticField/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/ElectromagneticField/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/electroMagneticField.tex/1.7/Tue Jun 28 04:37:03 2005//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/ElectromagneticField/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/ElectromagneticField/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/ElectromagneticField/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/ElectromagneticField
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/ElectromagneticField/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/ElectromagneticField/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/ElectromagneticField/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/ElectromagneticField/electroMagneticField.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/ElectromagneticField/electroMagneticField.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/ElectromagneticField/electroMagneticField.tex	(revision 1208)
@@ -0,0 +1,181 @@
+\chapter{Electromagnetic Fields}
+
+\section{Creating a New Type of Field}
+{\sc 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 
+{\sc 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. 
+
+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 {\sc Geant4} system must then be informed of the new field. 
+
+\paragraph{A new Field class}
+A new type of Field class may be created by inheriting from 
+G4Field 
+\begin{verbatim}
+      class NewField : public G4Field
+      {
+         public: 
+            void  GetFieldValue( const  double Point[3],
+                                        double *pField )=0;
+      }
+\end{verbatim}
+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.
+
+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. 
+
+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. 
+
+For example someone can describe DetectorAbc's field by creating 
+a class DetectorAbcField, that derives from your NewField 
+\begin{verbatim}
+class DetectorAbcField : public NewField 
+{
+  public:
+     void  MyFieldGradient::GetFieldValue( const double Point[3], 
+                                           double *pField );
+}
+\end{verbatim}
+
+They then implement the function GetFieldValue 
+\begin{verbatim}
+      void  MyFieldGradient::GetFieldValue( const  double Point[3],
+                                            double *pField )
+      {
+         // We expect pField to point to pField[9]; 
+         // This & the order of the components of pField is your own 
+         // convention
+       
+         // We calculate the value of pField at Point ...
+      }
+\end{verbatim}
+
+\paragraph{A new Equation of Motion for the new Field}
+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. 
+
+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. 
+\begin{verbatim}
+     virtual void EvaluateRhsGivenB( const  G4double y[],
+                              const  G4double B[3],
+                                     G4double dydx[] ) const = 0;
+\end{verbatim}
+
+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. 
+\begin{verbatim}
+  (dydx[0], dydx[1], dydx[2]) = (y[3], y[4], y[5])
+\end{verbatim}
+
+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 
+\begin{verbatim}
+      dydx[3], dydx[4] and dydx[5]
+\end{verbatim}
+
+for your field. 
+
+\paragraph{Get a G4FieldManager to use your field}
+In order to inform the {\sc Geant4} system that you want it to use 
+your field as the global field, you must do the following steps: 
+
+\begin{enumerate}
+\item Create a Stepper of your choice: 
+  \begin{verbatim}
+       
+      yourStepper = new G4ClassicalRK( yourEquationOfMotion );
+                // or if your field is not smooth eg
+                //     new G4ImplicitEuler( yourEquationOfMotion );
+  \end{verbatim}
+\item 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: 
+  \begin{verbatim}
+      yourChordFinder= new G4ChordFinder( yourField,
+                                 yourMininumStep, // say 0.01*mm
+                                 yourStepper );
+  \end{verbatim}
+\item Next create a G4FieldManager and give it that chord finder, 
+   \begin{verbatim}
+      yourFieldManager= new G4FieldManager();
+      yourFieldManager.SetChordFinder(yourChordFinder);
+   \end{verbatim}
+\item Finally we tell the Geometry that this FieldManager is 
+      responsible for creating a field for the detector. 
+   \begin{verbatim}
+      G4TransportationManager::GetTransportationManager()
+                            -> SetFieldManager( yourFieldManager );
+   \end{verbatim}
+\end{enumerate}
+
+\paragraph{Changes for non-electromagnetic fields}
+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. 
+
+In particular the relevant section of code does the following: 
+\begin{verbatim}
+    //  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.
+  }
+\end{verbatim}
+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 
+
+\begin{verbatim}
+  
+  //  Does the particle have my field's force exerted on it?
+  //
+  if (particle->GetName() == "VeryHeavyWIMP") {
+     fieldExertsForce= this->DoesGlobalFieldExist();  // For gravity
+  }
+\end{verbatim}
+
+After doing all these steps, you will be able to see the effects of 
+your force on a particle's motion. 
+
+\section{Status of this chapter}
+
+10.06.02 partially re-written by D.H. Wright \\
+14.11.02 spell check by P. Arce \\
+
+
+
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Geometry/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Geometry/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Geometry/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/geometry.tex/1.13/Tue Jun 28 04:36:34 2005//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Geometry/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Geometry/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Geometry/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Geometry
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Geometry/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Geometry/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Geometry/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Geometry/geometry.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Geometry/geometry.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Geometry/geometry.tex	(revision 1208)
@@ -0,0 +1,278 @@
+\chapter{Geometry}
+
+\section{What can be extended ?}
+{\sc 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 {\sc 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.
+
+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 {\sc Geant4} solid, as it implements the abstract interface of G4VSolid.
+
+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 {\sc Geant4} toolkit. 
+
+\section{Adding a new type of Solid}
+We list below the required methods for integrating a new type
+of solid in {\sc Geant4}. Note that {\sc Geant4}'s specifications for a
+solid pay significant attention to what happens at points that
+are within a small distance (tolerance, {\em kCarTolerance} 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.
+
+\paragraph{Creating a derived class of G4VSolid}
+The solid must inherit from G4VSolid or one of its 
+derived classes and implement its virtual functions. 
+
+Mandatory member functions you must define are the following 
+pure virtual of G4VSolid: 
+\begin{verbatim}
+ EInside Inside(const G4ThreeVector& p)
+ G4double DistanceToIn(const G4ThreeVector& p)
+ G4double DistanceToIn(const G4ThreeVector& p, const G4ThreeVector& v)
+ G4ThreeVector SurfaceNormal(const G4ThreeVector& p)
+ G4double DistanceToOut(const G4ThreeVector& p)
+ G4double DistanceToOut(const G4ThreeVector& p, const G4ThreeVector& v,
+                        const G4bool calcNorm=false,
+                              G4bool *validNorm=0, G4ThreeVector *n)
+ G4bool CalculateExtent(const EAxis pAxis,
+                        const G4VoxelLimits& pVoxelLimit,
+                        const G4AffineTransform& pTransform,
+                              G4double& pMin,
+                              G4double& pMax) const
+ G4GeometryType GetEntityType() const
+ std::ostream& StreamInfo(std::ostream& os) const
+\end{verbatim}
+They must perform the following functions 
+
+\begin{verbatim}
+  EInside Inside(const G4ThreeVector& p)
+\end{verbatim}
+This method must return: 
+\begin{itemize}
+\item kOutside if the point at offset p is outside the shape 
+      boundaries plus Tolerance/2, 
+\item kSurface if the point is $<=$ Tolerance/2 from a surface, or 
+\item kInside otherwise. 
+\end{itemize}
+
+\begin{verbatim}
+G4ThreeVector SurfaceNormal(const G4ThreeVector& p)
+\end{verbatim}
+Return the outwards pointing unit normal of the shape for the 
+surface closest to the point at offset p.
+
+\begin{verbatim}
+G4double DistanceToIn(const G4ThreeVector& p)
+\end{verbatim}
+Calculate distance to nearest surface of shape from an outside 
+point p. The distance can be an underestimate. 
+
+\begin{verbatim}
+G4double DistanceToIn(const G4ThreeVector& p, const G4ThreeVector& v)
+\end{verbatim}
+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.
+
+\begin{verbatim}
+G4double DistanceToOut(const G4ThreeVector& p)
+\end{verbatim}
+Calculate distance to nearest surface of shape from an inside 
+point. The distance can be an underestimate. 
+
+\begin{verbatim}
+G4double DistanceToOut(const G4ThreeVector& p, const G4ThreeVector& v,
+                        const G4bool calcNorm=false,
+                        G4bool *validNorm=0, G4ThreeVector *n=0);
+\end{verbatim}
+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. 
+
+If calcNorm is true, then it must also set validNorm to either 
+\begin{itemize}
+\item 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). 
+\item false, if the solid does not lie entirely behind or on the 
+      exiting surface. 
+\end{itemize}
+If calcNorm is false, then validNorm and n are unused. 
+\begin{verbatim}
+G4bool CalculateExtent(const EAxis pAxis,
+                        const G4VoxelLimits& pVoxelLimit,
+                        const G4AffineTransform& pTransform,
+                              G4double& pMin,
+                              G4double& pMax) const
+\end{verbatim}
+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.
+
+\begin{verbatim}
+G4GeometryType GetEntityType() const;
+\end{verbatim}
+Provide identification of the class of an object (required for
+persistency and STEP interface).
+
+\begin{verbatim}
+std::ostream& StreamInfo(std::ostream& os) const
+\end{verbatim}
+Should dump the contents of the solid to an output stream.
+
+The method:
+
+\begin{verbatim}
+G4double GetCubicVolume()
+\end{verbatim}
+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.
+
+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. 
+
+\begin{verbatim}
+  // Mandatory
+  virtual void DescribeYourselfTo (G4VGraphicsScene& scene) const = 0;
+
+  // Not mandatory
+  virtual G4VisExtent GetExtent() const;
+  virtual G4Polyhedron* CreatePolyhedron () const;
+  virtual G4NURBS*      CreateNURBS      () const;
+  virtual G4Polyhedron* GetPolyhedron    () const;
+\end{verbatim}
+What these methods should do and how they should be implemented is
+described here. 
+
+\begin{verbatim}
+ void DescribeYourselfTo (G4VGraphicsScene& scene) const;
+\end{verbatim}
+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: 
+
+\begin{verbatim}
+void G4Box::DescribeYourselfTo (G4VGraphicsScene& scene) const
+{
+  scene.AddSolid (*this);
+}
+\end{verbatim}
+The method:
+
+\begin{verbatim}
+ G4VisExtent GetExtent() const;
+\end{verbatim}
+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 
+
+\begin{verbatim}
+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);
+}
+\end{verbatim}
+The method:
+
+\begin{verbatim}
+ G4Polyhedron* CreatePolyhedron () const;
+\end{verbatim}
+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.
+
+While the method:
+
+\begin{verbatim}
+ G4Polyhedron* GetPolyhedron () const;
+\end{verbatim}
+is a ``smart'' access function that creates on requests a polyhedron
+and stores it for future access and should be customised for every solid.
+
+The method:
+
+\begin{verbatim}
+ G4NURBS* CreateNURBS () const;
+\end{verbatim}
+is not currently utilised, so you do not have to implement it. 
+
+\section{Modifying the Navigator}
+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.\newline 
+Future extensions of the {\sc 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.
+
+\paragraph{Extending the Navigator}
+The main responsibilities of the Navigator are: 
+\begin{itemize}
+\item locate a point in the tree of the geometrical volumes; 
+\item compute the length a particle can travel from a point
+      in a certain direction before encountering a volume
+      boundary. 
+\end{itemize}
+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. 
+
+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 {\sc Geant4}'s standard Navigator. 
+
+\paragraph{Replacing the Navigator}
+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. 
+
+However the amount of work is probably potentially larger, if 
+support for all the current types of physical volumes is required.
+
+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. 
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/HadronicPhysics/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/HadronicPhysics/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/HadronicPhysics/CVS/Entries	(revision 1208)
@@ -0,0 +1,10 @@
+/Level1.eps/1.1/Wed Jul 18 08:09:29 2001//
+/Level2_1.eps/1.1/Wed Jul 18 08:09:29 2001//
+/Level2_2.eps/1.1/Wed Jul 18 08:09:30 2001//
+/Level2_3.eps/1.1/Wed Jul 18 08:09:30 2001//
+/Level3_1.eps/1.1/Wed Jul 18 08:09:30 2001//
+/Level4_1.eps/1.1/Wed Jul 18 08:09:31 2001//
+/Level4_2.eps/1.1/Wed Jul 18 08:09:31 2001//
+/Level5_1.eps/1.1/Wed Jul 18 08:09:31 2001//
+/hadronics.tex/1.14/Mon Dec 18 10:28:25 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/HadronicPhysics/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/HadronicPhysics/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/HadronicPhysics/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/HadronicPhysics
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/HadronicPhysics/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/HadronicPhysics/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/HadronicPhysics/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/HadronicPhysics/hadronics.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/HadronicPhysics/hadronics.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/HadronicPhysics/hadronics.tex	(revision 1208)
@@ -0,0 +1,510 @@
+
+\chapter{Hadronic Physics}
+
+% 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{Introduction}
+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 {\sc Geant4\cite{Geant4}} facilitate the use of 
+hadronic final states, and have been developed for many years.
+
+We give an overview of the Object Oriented frameworks for hadronic generators 
+in {\sc 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 {\sc 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.
+
+\section{Principal Considerations}
+The purpose of this section is to explain the implementation frameworks used 
+in and provided by {\sc 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 {\sc 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{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.}.
+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 \cite{Patterns}.
+
+\section{Level 1 Framework - processes}
+  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.
+ 
+\paragraph{Requirements}
+\begin{enumerate}
+\item \label{L1R1} Provide a standard interface to be used by process implementations.
+\item \label{L1R2} Provide registration mechanisms for processes.
+\end{enumerate}
+\paragraph{Design and interfaces}
+Both requirements are implemented in a sub-set of the tracking-physics 
+interface in {\sc Geant4}. The class diagram is shown in figure \ref{Level1}.
+
+\begin{figure}[htbp] % fig 1
+%\includegraphics[scale=0.75]{GuideToExtendFunctionality/HadronicPhysics/Level1.ps}
+\includegraphics[width=14cm]{GuideToExtendFunctionality/HadronicPhysics/Level1.eps}
+%% \centerline{\epsfig{file=GuideToExtendFunctionality/HadronicPhysics/Level1.eps,scale=0.8,angle=0}}
+\caption{Level 1 implementation framework of the hadronic category 
+of {\sc Geant4}.}
+\label{Level1}
+\end{figure}
+
+All processes have a common base-class {\tt G4VProcess}, from which a set of 
+specialised classes are derived. Three of them are used as base classes for 
+hadronic processes for particles at rest ({\tt G4VRestProcess}), for
+interactions in flight ({\tt G4VDiscreteProcess}), and for processes like
+radioactive decay where the same implementation can represent both these 
+extreme cases ({\tt G4VRestDiscrete\-Process}).
+
+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.
+
+\paragraph{Framework functionality}
+The functionality provided is through the use of process base-class pointers 
+in the tracking-physics interface, and the {\tt G4Process\-Manager}. All
+functionality is implemented in abstract, and registration of derived process 
+classes with the {\tt G4Process\-Manager} of an individual particle allows for
+arbitrary combination of both {\sc 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 \cite{G4Manual}.
+
+\section{Level 2 Framework - Cross Sections and Models}
+
+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 {\sc 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.
+\paragraph{Requirements}
+\begin{enumerate}
+\item  Flexible choice of inclusive scattering cross-sections.
+\item  Ability to use different data-sets for different parts of
+the simulation, depending on the conditions at the point of interaction.
+\item  Ability to add user-defined data-sets in a seamless manner.
+\item  Flexible, unconstrained choice of final state production models.
+\item  Ability to use different final state production codes 
+for different parts of the simulation, depending on the conditions at the 
+point of interaction.
+\item  Ability to add user-defined final state production models in
+a seamless manner.
+\item Flexible choice of isotope production models, to run in
+parasitic mode to any kind of transport models.
+\item  Ability to use different isotope production codes 
+for different parts of the simulation, depending on the conditions at the 
+point of interaction.
+\item  Ability to add user-defined isotope production models in a 
+seamless manner.
+\end{enumerate}
+
+\paragraph{Design and interfaces}
+  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 figure \ref{Level2_1} for the cross-section 
+aspects, figure \ref{Level2_2} for the final state production aspects, 
+and figure \ref{Level2_3} for the isotope production aspects.
+
+\begin{figure}[htbp] % fig 2
+%\includegraphics[scale=0.75]{GuideToExtendFunctionality/HadronicPhysics/Level2_1.ps}
+\includegraphics[width=14cm]{GuideToExtendFunctionality/HadronicPhysics/Level2_1.eps}
+%% \centerline{\epsfig{file=GuideToExtendFunctionality/HadronicPhysics/Level2_1.ps,scale=0.8,angle=0}}
+\caption{Level 2 implementation framework of the hadronic category 
+of {\sc Geant4}; cross-section aspect.}
+\label{Level2_1}
+\end{figure}
+
+\begin{figure}[htbp] % fig 3
+%\includegraphics[scale=0.75]{GuideToExtendFunctionality/HadronicPhysics/Level2_2.ps}
+\includegraphics[width=14cm]{GuideToExtendFunctionality/HadronicPhysics/Level2_2.eps}
+%% \centerline{\epsfig{file=GuideToExtendFunctionality/HadronicPhysics/Level2_2.ps,scale=0.8,angle=0}}
+\caption{Level 2 implementation framework of the hadronic category 
+of {\sc Geant4}; final state production aspect.}
+\label{Level2_2}
+\end{figure}
+
+\begin{figure}[htbp] % fig 4
+%\includegraphics[scale=0.75]{GuideToExtendFunctionality/HadronicPhysics/Level2_3.ps}
+\includegraphics[width=14cm]{GuideToExtendFunctionality/HadronicPhysics/Level2_3.eps}
+%% \centerline{\epsfig{file=GuideToExtendFunctionality/HadronicPhysics/Level2_3.ps,scale=0.8,angle=0}}
+\caption{Level 2 implementation framework of the hadronic category 
+of {\sc Geant4}; isotope production aspect}
+\label{Level2_3}
+\end{figure}
+ 
+The three parts are integrated in the {\tt G4Hadronic\-Process} class, that 
+serves as base-class for all hadronic processes of particles in flight.
+\paragraph{Cross-sections}
+Each hadronic process is derived from {\tt G4Hadronic\-Process}, 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 
+{\tt G4VCrossSection\-DataSet}, which declares methods that allow
+the process inquire, about the applicability of an individual data-set through
+\\
+{\tt IsApplicable(const G4DynamicParticle*, const G4Element*)},
+\\
+and to de\-le\-gate the calculation of the actual cross-section value through
+\\
+{\tt GetCrossSection(const G4DynamicParticle*, const G4Element*)}.
+\paragraph{Final state production}
+The {\tt G4HadronicInteraction} base class is provided for final state 
+generation.  It declares a minimal interface of only one pure virtual method:
+\\
+{\tt G4VParticleChange* ApplyYourself(const G4Track \&, G4Nucleus \&)}.
+\\
+{\tt G4HadronicProcess} provides a registry for final state
+production models inheriting from {\tt G4Hadronic\-Interaction}.  Again, final 
+state production model is meant in very general terms.  This can be an 
+implementation of a quark gluon string model\cite{QGSM}, a sampling code for 
+ENDF/B data formats \cite{ENDFForm}, or a parametrisation describing only 
+neutron elastic scattering off Silicon up to 300~MeV.
+\paragraph{Isotope production}
+For isotope production, a base class ({\tt G4VIsotope\-Production}) is 
+provided.  It declares a method \\
+{\tt G4IsoResult * GetIsotope(const G4Track \&, const G4Nucleus \&)} \\
+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 {\tt GetIsotope} method returns NULL, if the model
+is not applicable for the current projectile target combination.
+\paragraph{Framework functionality:}
+\paragraph{Cross Sections}
+{\tt G4HadronicProcess} 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 $K^0$-nuclear interactions 
+that might be used for $\epsilon/\epsilon '$ analysis at LHC to control the 
+systematic error.
+\paragraph{Final state production}
+The {\tt G4HadronicProcess} class provides a registration service for classes 
+deriving from {\tt G4Hadronic\-Interaction}, and delegates final state 
+production to the applicable model. 
+{\tt G4Hadronic\-Interaction} provides the functionality needed to define and 
+enforce the applicability of a particular model.  Models inheriting from 
+{\tt G4Hadronic\-Interaction} 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\cite{QMD} or chiral
+invariant phase space decay\cite{CHIPS} model in the case of tracker materials 
+and fast parametrised models for calorimeter materials, with user defined 
+modeling of interactions of spallation nucleons with the most abundant 
+tracker and calorimeter materials. 
+\paragraph{Isotope production}
+The {\tt G4HadronicProcess} 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 
+{\tt G4VIsotope\-Production}.  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 
+{\tt G4Hadronic\-Process} 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 
+\\
+{\tt G4IsoParticleChange * GetIsotopeProductionInfo()} 
+\\
+method at the end of each step.  The {\tt G4HadronicProcess} is a finite state
+machine that will ensure the {\tt GetIsotope\-ProductionInfo} 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.
+\section{Level 3 Framework - Theoretical Models}
+\begin{figure}[htbp] % fig 5
+%\includegraphics[scale=0.75]{GuideToExtendFunctionality/HadronicPhysics/Level3_1.ps}
+\includegraphics[width=14cm]{GuideToExtendFunctionality/HadronicPhysics/Level3_1.eps}
+%% \centerline{\epsfig{file=GuideToExtendFunctionality/HadronicPhysics/Level3_1.ps,scale=1.0,angle=-90}}
+\caption{Level 3 implementation framework of the hadronic category 
+of {\sc Geant4}; theoretical model aspect.}
+\label{Level3_1}
+\end{figure}
+{\sc 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. 
+\paragraph{Requirements}
+\begin{enumerate}
+\item Allow to use or adapt any string-parton or parton transport\cite{VNI} 
+      model.
+\item Allow to adapt event generators, ex. PYTHIA\cite{PYTHIA7} for final 
+      state production in shower simulation.
+\item Allow for combination of the above with any intra-nuclear transport 
+      (INT).
+\item Allow stand-alone use of intra-nuclear transport.
+\item Allow for combination of the above with any pre-compound model.
+\item Allow stand-alone use of any pre-compound model.
+\item Allow for use of any evaporation code.
+\item Allow for seamless integration of user defined components for any of the above.
+\end{enumerate}
+\paragraph{Design and interfaces}
+To provide the above flexibility, the following abstract base classes have been
+implemented:
+\begin{itemize}
+\item {\tt G4VHighEnergyGenerator}
+\item {\tt G4VIntranuclearTransportModel}
+\item {\tt G4VPreCompoundModel}
+\item {\tt G4VExcitationHandler}
+\end{itemize}
+In addition, the class {\tt G4TheoFS\-Generator} is provided to orchestrate 
+interactions between these classes.  The class diagram is shown in 
+Fig. \ref{Level3_1}. 
+
+{\tt G4VHighEnergy\-Generator} serves as base class for parton transport or 
+parton string models, and for Adapters to event generators.  This class 
+declares two methods, {\tt Scatter}, and {\tt GetWoundedNucleus}. 
+
+The base class for INT inherits from {\tt G4Hadronic\-Interaction}, making any 
+concrete implementation usable as a stand-alone model.  In doing so, it 
+re-declares the {\tt ApplyYourself} interface of {\tt G4Hadronic\-Interaction},
+and adds a second interface, {\tt Propagate}, for further propagation
+after high energy interactions. {\tt Propagate}  takes as arguments a 
+three-dimensional model of a wounded nucleus, and a set of secondaries with 
+energies and positions.
+
+The base class for pre-equilibrium decay models, {\tt G4VPre\-CompoundModel},
+inherits from {\tt G4Hadronic\-Interaction}, again making any concrete 
+implementation usable as stand-alone model. It adds a pure virtual  
+{\tt DeExcite} method for further evolution of the system when intra-nuclear 
+transport assumptions break down. {\tt DeExcite} takes a {\tt G4Fragment}, 
+the {\sc Geant4} representation of an excited nucleus, as argument.
+
+The base class for evaporation phases, {\tt G4VExcitation\-Handler}, declares 
+an abstract method, {\tt BreakItUP()}, for compound decay.
+
+\paragraph{Framework functionality}
+The {\tt G4TheoFSGenerator} class inherits from {\tt G4Hadronic\-Interaction}, 
+and hence can be registered as a model for final state production with a 
+hadronic process.  It allows a concrete implementation of 
+{\tt G4VIntranuclear\-TransportModel} and {\tt G4VHighEnergy\-Generator} 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. 
+
+The class {\tt G4VIntranuclearTransportModel} provides registering mechanisms 
+for concrete implementations of {\tt G4VPreCompound\-Model}, and provides 
+concrete intra-nuclear transports with the possibility of delegating 
+pre-compound decay to these models. 
+
+{\tt G4VPreCompoundModel} provides a registering mechanism for compound decay 
+through the {\tt G4VExcitation\-Handler} interface, and provides concrete 
+implementations with the possibility of delegating the decay of a compound 
+nucleus.
+
+The concrete scenario of {\tt G4TheoFS\-Generator} 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: 
+{\tt G4TheoFS\-Generator} 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.
+{\tt G4TheoFS\-Generator} 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 {\tt G4TheoFS\-Generator}, accumulating the information produced in 
+the various levels of delegation.
+\section{Level 4 Frameworks - String Parton Models and Intra-Nuclear Cascade}
+
+\begin{figure}[htbp] % fig 1
+%\includegraphics[scale=0.75]{GuideToExtendFunctionality/HadronicPhysics/Level4_1.ps}
+\includegraphics[width=14cm]{GuideToExtendFunctionality/HadronicPhysics/Level4_1.eps}
+%% \centerline{\epsfig{file=GuideToExtendFunctionality/HadronicPhysics/Level4_1.ps,scale=0.8,angle=0}}
+\caption{Level 4 implementation framework of the hadronic category 
+of {\sc Geant4}; parton string aspect.}
+\label{Level4_1}
+\end{figure}
+
+\begin{figure}[htbp] % fig 1
+%\includegraphics[scale=0.75]{GuideToExtendFunctionality/HadronicPhysics/Level4_2.ps}
+\includegraphics[width=14cm]{GuideToExtendFunctionality/HadronicPhysics/Level4_2.eps}
+%% \centerline{\epsfig{file=GuideToExtendFunctionality/HadronicPhysics/Level4_2.ps,scale=0.8,angle=0}}
+\caption{Level 4 implementation framework of the hadronic category 
+of {\sc Geant4}; intra-nuclear transport aspect.}
+\label{Level4_2}
+\end{figure}
+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.
+\paragraph{Requirements}
+\begin{enumerate}
+\item Allow to select string decay algorithm 
+\item Allow to select string excitation.
+\item Allow the selection of concrete implementations of three-dimensional 
+      models of the nucleus
+\item Allow the selection of concrete implementations of final state and 
+      cross sections in intra-nuclear scattering.
+\end{enumerate}
+\paragraph{Design and interfaces}
+To fulfil the requirements on string models, two abstract classes are provided,
+the {\tt G4VParton\-StringModel} and the {\tt G4VString\-Fragmentation}. 
+The base class for parton string models, {\tt G4VParton\-StringModel}, 
+declares the {\tt GetStrings()} pure virtual method. 
+{\tt G4VString\-Fragmentation}, the pure abstract base class for string 
+fragmentation, declares the interface for string fragmentation.
+
+To fulfill the requirements on intra-nuclear transport, two abstract classes 
+are provided, {\tt G4V3DNucleus}, and {\tt G4VScatterer}.
+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.
+
+The class diagram is shown in figure \ref{Level4_1} for the string parton model aspects, and
+in figure \ref{Level4_2} for the intra-nuclear transport. 
+
+\paragraph{Framework functionality}
+Again variants of Strategy, Bridge and Chain of Responsibility are used.
+{\tt G4VParton\-StringModel} 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 
+{\tt G4VString\-Fragmentation} 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.
+
+\section{Level 5 Framework - String De-excitation}
+
+\begin{figure}[htbp] % fig 1
+%\includegraphics[scale=0.75]{GuideToExtendFunctionality/HadronicPhysics/Level5_1.ps}
+\includegraphics[width=14cm]{GuideToExtendFunctionality/HadronicPhysics/Level5_1.eps}
+%% \centerline{\epsfig{file=GuideToExtendFunctionality/HadronicPhysics/Level5_1.ps,scale=0.8,angle=0}}
+\caption{Level 5 implementation framework of the hadronic category 
+of {\sc Geant4}; string fragmentation aspect.}
+\label{Level5_1}
+\end{figure}
+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.
+\paragraph{Requirements}
+\begin{enumerate}
+\item Allow the selection of fragmentation function.
+\end{enumerate}
+\paragraph{Design and interfaces}
+A base class for fragmentation functions, {\tt G4VFragmentation\-Function}, is 
+provided.  It declares the {\tt GetLightConeZ()} interface.
+\paragraph{Framework functionality}
+The design is a basic Strategy. The class diagram is shown in 
+Fig. \ref{Level5_1}.  At this point in time, the usage of the 
+{\tt G4VFragmentation\-Function} is not enforced by design, but made available 
+from the {\tt G4VString\-Fragmentation} to an implementer of a concrete string 
+decay. {\tt G4VString\-Fragmentation} provides a registering mechanism for the
+concrete fragmentation function. It delegates the calculation of $z_f$ of the 
+hadron to split of the string to the concrete implementation. Standardisation 
+in this area is expected.
+
+\begin{latexonly}
+\begin{thebibliography}{999}
+\bibitem{Geant4} The GEANT~4 Collaboration, \\
+CERN/DRDC/94--29, DRDC/P58 1994.
+\bibitem{Patterns} E. Gamm et al., Design Patterns, Addison-Wesley Professional
+Computing Series, 1995.
+\bibitem{G4Manual} 
+{\scriptsize http://cern.ch/wwwasd/geant4/G4UsersDocuments/Overview/html/index.html}
+\bibitem{QGSM} Kaidalov A. B., Ter-Martirosyan K. A., Phys. Lett. {\bf B117}
+247 (1982); 
+\bibitem{ENDFForm} 
+Data Formats and Procedures for the Evaluated Nuclear Data File, National 
+Nuclear Data Center, Brookhaven National Laboratory, Upton, NY, USA.
+\bibitem{QMD} For example: VUU and (R)QMD model of high-energy heavy ion 
+collisions.  H. Stocker et al., Nucl. Phys. A538, 53c-64c (1992)
+\bibitem{CHIPS} P.V. Degtyarenko, M.V. Kossov, H.P. Wellisch, 
+Eur. Phys J. A 8, 217-222 (2000)
+\bibitem{VNI} VNI 3.1, Klaus Geiger (Brookhaven), BNL-63762, 
+Comput. Phys. Commun. 104, 70-160 (1997)
+\bibitem{PYTHIA7} M. Bertini, L. L\"onnblad, T. Sj\"orstrand, Pythia version 
+7-0.0 -- a proof-of-concept version, LU-TP 00-23, hep-ph/0006152, May 2000
+
+\end{thebibliography}
+\end{latexonly}
+
+\begin{htmlonly}
+\section{Bibliography}
+\begin{enumerate}
+
+\item The GEANT~4 Collaboration, \\
+CERN/DRDC/94--29, DRDC/P58 1994.
+\item E. Gamm et al., Design Patterns, Addison-Wesley Professional
+Computing Series, 1995.
+\item 
+{\scriptsize http://cern.ch/wwwasd/geant4/G4UsersDocuments/Overview/html/index.html}
+\item Kaidalov A. B., Ter-Martirosyan K. A., Phys. Lett. <b>B117</b> 247 
+(1982); 
+\item 
+Data Formats and Procedures for the Evaluated Nuclear Data File, National 
+Nuclear Data Center, Brookhaven National Laboratory, Upton, NY, USA.
+\item For example: VUU and (R)QMD model of high-energy heavy ion 
+collisions.  H. Stocker et al., Nucl. Phys. A538, 53c-64c (1992)
+\item P.V. Degtyarenko, M.V. Kossov, H.P. Wellisch, 
+Eur. Phys J. A 8, 217-222 (2000)
+\item VNI 3.1, Klaus Geiger (Brookhaven), BNL-63762, 
+Comput. Phys. Commun. 104, 70-160 (1997)
+\item M. Bertini, L. L\"onnblad, T. Sj\"orstrand, Pythia version 
+7-0.0 -- a proof-of-concept version, LU-TP 00-23, hep-ph/0006152, May 2000
+
+\end{enumerate}
+\end{htmlonly}
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/PhysicsProcesses/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/PhysicsProcesses/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/PhysicsProcesses/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/physicsProcesses.tex/1.2/Tue Jun 28 04:35:37 2005//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/PhysicsProcesses/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/PhysicsProcesses/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/PhysicsProcesses/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/PhysicsProcesses
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/PhysicsProcesses/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/PhysicsProcesses/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/PhysicsProcesses/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/PhysicsProcesses/physicsProcesses.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/PhysicsProcesses/physicsProcesses.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/PhysicsProcesses/physicsProcesses.tex	(revision 1208)
@@ -0,0 +1,16 @@
+\chapter{Physics Processes}
+
+Adding a new electromagnetic process.
+Adding a new hadronic process.
+
+\section{Status of this chapter}
+
+27.06.05 under construction
+
+
+
+
+
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Visualization/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Visualization/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Visualization/CVS/Entries	(revision 1208)
@@ -0,0 +1,4 @@
+/visClassDiagram.eps/1.1/Mon Jan  9 12:02:26 2006//
+/visClassDiagram.fig/1.1/Mon Jan  9 12:11:02 2006//
+/visualization.tex/1.14/Tue Jun 20 15:14:47 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Visualization/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Visualization/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Visualization/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Visualization
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Visualization/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Visualization/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Visualization/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Visualization/visClassDiagram.fig
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Visualization/visClassDiagram.fig	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Visualization/visClassDiagram.fig	(revision 1208)
@@ -0,0 +1,75 @@
+#FIG 3.2
+Landscape
+Center
+Inches
+Letter  
+100.00
+Single
+-2
+1200 2
+6 525 2025 3375 3975
+2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 0 2.00 120.00 240.00
+	 1800 3300 1800 2700
+2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 600 2100 3300 2100 3300 2700 600 2700 600 2100
+2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 600 3300 3300 3300 3300 3900 600 3900 600 3300
+4 0 0 50 -1 14 18 0.0000 4 240 1980 900 2400 G4VisManager\001
+4 0 0 50 -1 14 18 0.0000 4 180 2310 900 3600 G4VisExecutive\001
+-6
+1 3 0 2 0 0 50 -1 20 0.000 1 0.0000 9000 4800 75 75 9000 4800 9075 4800
+1 3 0 2 0 0 50 -1 20 0.000 1 0.0000 12600 4800 75 75 12600 4800 12675 4800
+2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 0 2.00 120.00 240.00
+	 1800 2100 1800 1200
+2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 4200 2100 7500 2100 7500 2700 4200 2700 4200 2100
+2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 600 600 3300 600 3300 1200 600 1200 600 600
+2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 8100 600 11400 600 11400 1200 8100 1200 8100 600
+2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 8100 2100 11400 2100 11400 2700 8100 2700 8100 2100
+2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 12000 2100 14100 2100 14100 2700 12000 2700 12000 2100
+2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 0 2.00 120.00 240.00
+	 9600 2100 9600 1200
+2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 4200 3300 7500 3300 7500 3900 4200 3900 4200 3300
+2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 8100 3300 11400 3300 11400 3900 8100 3900 8100 3300
+2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 12000 3300 14100 3300 14100 3900 12000 3900 12000 3300
+2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 0 2.00 120.00 240.00
+	 5700 3300 5700 2700
+2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 0 2.00 120.00 240.00
+	 9600 3300 9600 2700
+2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 0 2.00 120.00 240.00
+	 12900 3300 12900 2700
+2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 11100 4800 14100 4800 14100 5400 11100 5400 11100 4800
+2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 8400 4800 9900 4800 9900 5400 8400 5400 8400 4800
+2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 9300 3900 9000 4800
+2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 12900 3900 12600 4800
+2 1 1 2 0 0 50 -1 20 6.000 0 0 -1 0 0 2
+	 300 1800 14400 1800
+4 0 0 50 -1 14 18 0.0000 4 240 2805 4500 2400 G4VGraphicsSystem\001
+4 0 0 50 -1 14 18 0.0000 4 240 2145 900 900 G4VVismanager\001
+4 0 0 50 -1 14 18 0.0000 4 225 2640 8400 900 G4VGraphicsScene\001
+4 0 0 50 -1 14 18 0.0000 4 180 2475 8400 2400 G4VSceneHandler\001
+4 0 0 50 -1 14 18 0.0000 4 180 1485 12300 2400 G4VViewer\001
+4 0 0 50 -1 14 18 0.0000 4 165 825 4500 3600 G4XXX\001
+4 0 0 50 -1 14 18 0.0000 4 180 2805 8400 3600 G4XXXSceneHandler\001
+4 0 0 50 -1 14 18 0.0000 4 180 1815 12300 3600 G4XXXViewer\001
+4 0 0 50 -1 14 18 0.0000 4 180 2640 11400 5100 G4ViewParameters\001
+4 0 0 50 -1 14 18 0.0000 4 165 1155 8700 5100 G4Scene\001
+4 0 0 50 -1 14 18 0.0000 4 225 2970 3900 1350 Graphics Interface\001
+4 0 0 50 -1 14 18 0.0000 4 240 4455 1425 5175 Geant4 Visualisation System\001
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Visualization/visualization.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Visualization/visualization.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/GuideToExtendFunctionality/Visualization/visualization.tex	(revision 1208)
@@ -0,0 +1,674 @@
+\newcommand{\Gfour}{{\sc Geant4}\xspace}
+\newcommand{\GI}{Graphics Interface\xspace}
+\newcommand{\GVS}{\Gfour Visualisation System\xspace}
+\newcommand{\GVM}{\Gfour Visualisation Manager\xspace}
+\newcommand{\gd}{graphics driver\xspace}
+\newcommand{\gds}{graphics drivers\xspace}
+\newcommand{\gs}{graphics system\xspace}
+\newcommand{\gss}{graphics systems\xspace}
+\newcommand{\vs}{visualisation system\xspace}
+\newcommand{\vm}{visualisation manager\xspace}
+\newcommand{\UGA}{User Guide for Application Developers\xspace}
+\newcommand{\UGT}{User Guide for Toolkit Developers\xspace}
+\newcommand{\SRM}{Software Reference Manual\xspace}
+
+\chapter{Visualisation}
+\label{ExtendChapVis}
+
+This Chapter is intended to be read after Chapter \ref{OOChapVis} 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
+\ref{OOChapVis} first.  The class structure described there is
+summarised in the Figure \ref{VisClassDiagram}.
+
+\begin{figure}
+\begin{center}
+\includegraphics[width=\linewidth]{GuideToExtendFunctionality/Visualization/visClassDiagram.eps}
+\caption{Geant Visualisation System Class Diagram}
+\label{VisClassDiagram}
+\end{center}
+\end{figure}
+
+\section{Creating a new \gd}
+
+To create a new \gd for {\sc Geant4}, it is necessary to implement a
+new set of three classes derived from the three base classes, {\tt
+G4VGraphicsSystem}, {\tt G4VSceneHandler} and {\tt G4VViewer}.
+
+\subsection{A useful place to start}
+
+A skeleton set of classes is included in the code distribution in the
+visualisation category under subdirectory {\tt visualisation/XXX} (but
+they are not default-registered graphics systems\footnote{To do this,
+simply instantiate and register, for example: {\tt
+visManager->\-RegisterGraphicsSystem(new G4XXX)} before {\tt
+visManager->Initialise()}.}).  There are several sets of classes,
+described in more detail below.  A recommended approach is to copy the
+files that best match your \gs to a new subdirectory with a name that
+suits your \gs.  Then
+\begin{enumerate}
+\item Change the name of the files (change the code -- {\tt XXX} or
+{\tt XXXFile}, etc., as chosen -- to something that suits your \gs).
+\item Change {\tt XXX} similarly in all files.
+\item Change {\tt XXX} similarly in {\tt name := G4XXX} in {\tt GNUmakefile}.
+\item Add your new subdirectory to {\tt SUBDIRS} and {\tt SUBLIBS} in
+{\tt visualisation/GNUmakefile}.
+\item Look at the code and use it to build your visualisation
+driver. You might also find it useful to look at {\tt ASCIITree} (and
+{\tt VTree}) as an example of a minimal \gd.  Look at
+{\tt FukuiRenderer} as an example of a driver which implements {\tt AddSolid}
+methods for some solids.  Look at {\tt OpenGL} 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.)
+\item If it requires external libraries, introduce two new environment
+   variables {\tt G4VIS\_BUILD\_XXX\_DRIVER} and {\tt G4VIS\_USE\_XXX}
+   (where {\tt XXX} is your choice as above) and make the modifications to:
+\begin{itemize}
+\item     {\tt source/visualization/management/include/G4VisExecutive.icc}
+\item     {\tt config/G4VIS\_BUILD.gmk}
+\item     {\tt config/G4VIS\_USE.gmk}
+\end{itemize}
+\end{enumerate}
+
+\subsubsection{Graphics driver templates in the {\tt XXX} sub-category}
+\label{XXXsub}
+
+You may use the following templates to help you get started writing a
+\gd.  (The word ``template'' is used in the ordinary sense of the
+word; they are not C++ templates.)
+
+\begin{itemize}
+
+\item{\tt G4XXX, G4XXXSceneHandler, G4XXXViewer} Templates for the
+simplest possible \gd. 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.
+
+\item{\tt G4XXXFile, G4XXXFileSceneHandler, G4XXXFileViewer} 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 {\tt FukuiRenderer} or {\tt HepRepFile}.
+
+These templates also show the use of a specific {\tt AddSolid} function
+whereby the specific parameters, for example, the dimensions of a {\tt
+G4Box}, can be accessed.
+
+\item{\tt G4XXXStored, G4XXXStoredSceneHandler, G4XXXStoredViewer}
+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 \ref{Transients}.
+
+\item{\tt G4XXXSG, G4XXXSGSceneHandler, G4XXXSGViewer} Templates for a
+sophisticated \gd 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 \Gfour 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 {\em drawn} 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.
+\end{itemize}
+
+\subsection{Important Command Actions}
+\label{Actions}
+
+To help understand how the \GVS 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.
+
+\begin{itemize}
+
+\item{\tt /vis/viewer/clear}
+\begin{verbatim}
+    viewer->ClearView();   // Clears buffer or rewinds file.
+    viewer->FinishView();  // Swaps buffer (double buffer systems).
+\end{verbatim}
+
+\item{\tt /vis/viewer/flush}
+\begin{verbatim}
+    /vis/viewer/refresh
+    /vis/viewer/update
+\end{verbatim}
+
+\item{\tt /vis/viewer/rebuild}
+\begin{verbatim}
+    viewer->SetNeedKernelVisit(true);
+\end{verbatim}
+
+\item{\tt /vis/viewer/refresh} If the view is ``auto-refresh'', this
+command is also invoked after {\tt /vis/viewer/create}, {\tt
+/vis/viewer/rebuild} or a change of view parameters ({\tt
+/vis/viewer/set/}..., etc.).
+\begin{verbatim}
+    viewer->SetView();    // Sets camera position, etc.
+    viewer->ClearView();  // Clears buffer or rewinds file.
+    viewer->DrawView();   // Draws to screen or writes to 
+                          // file/socket.
+\end{verbatim}
+
+\item{\tt /vis/viewer/update}
+\begin{verbatim}
+    viewer->ShowView();   // Activates interactive windows or 
+                          // closes file and/or triggers 
+                          // post-processing.
+\end{verbatim}
+
+\item{\tt /vis/scene/notifyHandlers} For each viewer of the current
+scene, the equivalent of
+\begin{verbatim}
+    /vis/viewer/refresh
+\end{verbatim}
+If ``flush'' is specified on the command line, the equivalent of
+\begin{verbatim}
+    /vis/viewer/update
+\end{verbatim}
+{\tt /vis/scene/notifyHandlers} is also invoked after a change
+of scene ({\tt /vis/scene/add/}..., etc.).
+
+\end{itemize}
+
+\subsection{What happens in {\tt DrawView}?}
+\label{DrawView}
+
+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...''.
+
+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 Section
+\ref{Transients}.
+
+\begin{itemize}
+
+\item{\bf Integrated viewers with no graphical database} For example,
+G4OpenGLImmediateXViewer::DrawView().
+\begin{verbatim}
+  NeedKernelVisit();  // Always need to visit G4 kernel.
+  ProcessView();
+  FinishView();
+\end{verbatim}
+
+\item{\bf Integrated viewers with graphical database} For example,\\
+G4OpenGLStoredXViewer::DrawView().
+\begin{verbatim}
+  KernelVisitDecision();  // Private function containing...
+    if significant change of view parameters...
+      NeedKernelVisit();
+  ProcessView();
+  FinishView();
+\end{verbatim}
+
+\item{\bf File-writing viewers} For example, G4DAWNFILEViewer::DrawView().
+\begin{verbatim}
+  NeedKernelVisit();
+  ProcessView();
+\end{verbatim}
+
+Note that viewers needing to invoke {\tt FinishView} must do it in
+{\tt DrawView}.
+
+\end{itemize}
+
+\subsection{What happens in {\tt ProcessView}?}
+
+{\tt ProcessView} is inherited from {\tt G4VViewer}:
+
+\begin{verbatim}
+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;
+  }
+}
+\end{verbatim}
+
+\subsection{What happens in {\tt ProcessScene}?}
+\label{ProcessScene}
+
+ProcessScene is inherited from {\tt G4VSceneHandler}.  It causes a
+traversal of the run-duration models in the scene.  For drivers with
+graphical databases, it causes a rebuild ({\tt ClearStore}).  Then for
+the run-duration models:
+\begin{verbatim}
+    fReadyForTransients = false;
+    BeginModeling();
+    for each run-duration model...
+      pModel -> DescribeYourselfTo(*this);
+    EndModeling();
+    fReadyForTransients = true;
+\end{verbatim}
+(A second pass is made on request -- see {\tt
+G4VSceneHandler::ProcessScene}.)  The use of {\tt fReadyForTransients}
+is described in Section \ref{Transients}.
+
+What happens then depends on the type of model:
+
+\begin{itemize}
+
+\item{\tt G4AxesModel} {\tt G4AxesModel::DescribeYourselfTo} simply calls
+sceneHandler.AddPrimitive methods directly.
+\begin{verbatim}
+  sceneHandler.BeginPrimitives();
+  sceneHandler.AddPrimitive(x_axis);  // etc.
+  sceneHandler.EndPrimitives();
+\end{verbatim}
+
+Most other models are like this, except for the following...
+
+\item{\tt G4PhysicalVolumeModel} The geometry is descended
+  recursively, culling policy is enacted, and for each accepted (and
+  possibly, clipped) solid:
+\begin{verbatim}
+    sceneHandler.PreAddSolid(theAT, *pVisAttribs);
+    pSol->DescribeYourselfTo(sceneHandler);
+    // For example, if pSol points to a G4Box...
+    |-->G4Box::DescribeYourselfTo(G4VGraphicsScene& scene){
+         scene.AddSolid(*this);
+        }
+    sceneHandler.PostAddSolid();
+\end{verbatim}
+
+The scene handler may implement the virtual function {\tt
+AddSolid(const G4Box\&)}, or inherit:
+\begin{verbatim}
+void G4VSceneHandler::AddSolid(const G4Box& box) {
+  RequestPrimitives(box);
+}
+\end{verbatim}
+
+{\tt RequestPrimitives} converts the solid into primitives ({\tt G4Polyhedron})
+and invokes {\tt AddPrimitive}:
+\begin{verbatim}
+    BeginPrimitives(*fpObjectTransformation);
+    pPolyhedron = solid.GetPolyhedron();
+    AddPrimitive(*pPolyhedron);
+    EndPrimitives();
+\end{verbatim}
+
+The resulting default sequence for a {\tt G4PhysicalVolumeModel} is shown in
+Figure \ref{FigPVModel}.
+\begin{figure}[t]
+\begin{boxedverbatim}
+    DrawView();
+    |-->ProcessView();
+        |-->ProcessScene();
+            |-->BeginModeling();
+            |-->pModel -> DescribeYourselfTo(*this);
+            |   |-->sceneHandler.PreAddSolid(theAT, *pVisAttribs);
+            |   |-->pSol->DescribeYourselfTo(sceneHandler);
+            |   |   |-->sceneHandler.AddSolid(*this);
+            |   |       |-->RequestPrimitives(solid);
+            |   |           |-->BeginPrimitives (*fpObjectTransformation);
+            |   |           |-->pPolyhedron = solid.GetPolyhedron();
+            |   |           |-->AddPrimitive(*pPolyhedron);
+            |   |           |-->EndPrimitives();
+            |   |-->sceneHandler.PostAddSolid();
+            |-->EndModeling();
+\end{boxedverbatim}
+\caption{The default sequence for a {\tt G4PhysicalVolumeModel}}
+\label{FigPVModel}
+\end{figure}
+
+Note the sequence of calls at the core:
+\begin{verbatim}
+  sceneHandler.PreAddSolid(theAT, *pVisAttribs);
+  pSol->DescribeYourselfTo(sceneHandler);
+  |-->sceneHandler.AddSolid(*this);
+     |-->RequestPrimitives(solid);
+        |-->BeginPrimitives (*fpObjectTransformation);
+        |-->pPolyhedron = solid.GetPolyhedron();
+        |-->AddPrimitive(*pPolyhedron);
+        |-->EndPrimitives();
+  sceneHandler.PostAddSolid();
+\end{verbatim}
+is reduced to
+\begin{verbatim}
+  sceneHandler.PreAddSolid(theAT, *pVisAttribs);
+  pSol->DescribeYourselfTo(sceneHandler);
+  |-->sceneHandler.AddSolid(*this);
+  sceneHandler.PostAddSolid();
+\end{verbatim}
+if the scene handler implements its own {\tt AddSolid}.  Moreover, the sequence
+\begin{verbatim}
+  BeginPrimitives (*fpObjectTransformation);
+  AddPrimitive(*pPolyhedron);
+  EndPrimitives();
+\end{verbatim}
+can be invoked without a prior {\tt PreAddSolid}, etc.  The flag {\tt
+fProcessingSolid} 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 {\tt XXXStored} and {\tt XXXSG} described in Section
+\ref{XXXsub}.  Transients are discussed in Section \ref{Transients}.
+
+\item{\tt G4TrajectoriesModel} At end of event, the trajectory
+container is unpacked and, for each trajectory,
+{\tt sceneHandler.AddCompound} called.  The scene handler may implement this
+virtual function or inherit:
+\begin{verbatim}
+void G4VSceneHandler::AddCompound (const G4VTrajectory& traj) {
+  traj.DrawTrajectory(((G4TrajectoriesModel*)fpModel)->GetDrawingMode());
+}
+\end{verbatim}
+Similarly, the user may implement {\tt DrawTrajectory} or inherit:
+\begin{verbatim}
+void G4VTrajectory::DrawTrajectory(G4int i_mode) const {
+  G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
+  if (0 != pVVisManager) {
+    pVVisManager->DispatchToModel(*this, i_mode);
+  }
+}
+\end{verbatim}
+Thence, the {\tt Draw} method of the current trajectory model is invoked
+(see Section \ref{EnhancedTraj} for details on trajectory models),
+which in turn, invokes {\tt Draw} methods of the visualisation manager.
+The resulting default sequence for a {\tt G4TrajectoriesModel} is shown in
+Figure \ref{FigTrajsModel}.
+\begin{figure}[t]
+\begin{boxedverbatim}
+ DrawView();
+ |-->ProcessView();
+     |-->ProcessScene();
+         |-->BeginModeling();
+         |-->pModel -> DescribeYourselfTo(*this);
+         |   |-->AddCompound(trajectory);
+         |       |-->trajectory.DrawTrajectory(...);
+         |           |-->DispatchToModel(...);
+         |               |-->model->Draw(...);
+         |                   |-->G4VisManager::Draw(...);
+         |                       |-->BeginPrimitives(objectTransform);
+         |                       |-->AddPrimitive(...);
+         |                       |-->EndPrimitives();
+         |-->EndModeling();
+\end{boxedverbatim}
+\caption{The default sequence for a G4TrajectoriesModel}
+\label{FigTrajsModel}
+\end{figure}
+
+\end{itemize}
+
+
+\subsection{Dealing with transient objects}
+\label{Transients}
+
+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 {\tt G4VVisManager}
+user-level interface (unless as part of a run-duration model
+implementation).  A flag, {\tt fReadyForTransients}, is maintained by
+the scene handler.  In fact, its normal state is {\tt true}, and only
+temporarily, during handling of the run-duration part of the scene, is
+it set to {\tt false} -- see description of ProcessScene, Section
+\ref{ProcessScene}.
+
+If the driver supports a graphical database, it is smart to
+distinguish transient and permanent objects.  In this case, every {\tt
+Add} method of the scene handler must be transient-aware.  In some
+cases, it is enough to open a graphical data base component in {\tt
+BeginPrimitives}, fill it in {\tt AddPrimitive} and close it
+appropriately in {\tt EndPrimitives}.  In others, initialisation is
+done in {\tt BeginModeling} and consolidation in {\tt EndModeling} --
+see {\tt G4OpenGLStoredSceneHandler}.  If any {\tt AddSolid} method is
+implemented, then the graphical data base component should be opened
+in {\tt PreAddSolid}, protecting against double opening, for example,
+\begin{verbatim}
+void G4XXXStoredSceneHandler::BeginPrimitives
+(const G4Transform3D& objectTransformation) {
+  G4VSceneHandler::BeginPrimitives(objectTransformation);
+  // If thread of control has already passed through PreAddSolid,
+  // avoid opening a graphical data base component again.
+  if (!fProcessingSolid) {
+\end{verbatim}
+for other solids.
+
+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{There is an option to
+accumulate trajectories across events and runs -- see commands {\tt
+/vis/scene/endOfEventAction} and {\tt /vis/scene/endOfRunAction}.},
+erase the old and see new trajectories.  The \vm messages the scene
+handler with {\tt ClearTransientStore} just before drawing the
+trajectories to achieve this.
+
+If the driver does not have a graphical database or does not
+distinguish between transient and persistent objects, it must emulate
+{\tt ClearTransientStore}.  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:
+\begin{verbatim}
+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 -> SetView();
+    fpViewer -> ClearView();
+    fpViewer -> DrawView();
+  }
+}
+\end{verbatim}
+{\tt ClearView} rewinds the output file and {\tt DrawView} re-draws the
+detector, etc.  (For smart drivers, {\tt DrawView} is smart enough to
+know not to redraw the detector, etc., unless the view parameters have
+changed significantly -- see Section \ref{DrawView}.)
+
+
+\subsection{More about scene models}
+
+Scene models conform to the {\tt G4VModel} abstract interface.
+Available models are listed and described there in varying detail.
+Section \ref{ProcessScene} describes their use in some common command
+actions.
+
+In the design of a new model, care should be taken to handle the
+possibility that the {\tt G4ModelingParameters} 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.
+
+
+\section{Enhanced Trajectory Drawing}
+\label{EnhancedTraj}
+\subsection{Creating a new trajectory model}
+New trajectory models must inherit from G4VTrajectoryModel and
+implement these pure virtual functions:
+
+\begin{verbatim}
+    virtual void Draw(const G4VTrajectory&, G4int i_mode = 0, 
+                      const G4bool& visible = true) const = 0;
+    virtual void Print(std::ostream& ostr) const = 0;
+\end{verbatim}
+
+To use the new model directly in compiled code, simply 
+register it with the G4VisManager, eg:
+
+\begin{verbatim}
+  G4VisManager* visManager = new G4VisExecutive;
+  visManager->Initialise();
+
+  // Create custom model
+  MyCustomTrajectoryModel* myModel = 
+             new MyCustomTrajectoryModel("custom");
+
+  // Configure it if necessary then register with G4VisManager
+  ...
+  visManager->RegisterModel(myModel);
+\end{verbatim}
+
+\subsection{Adding interactive functionality}
+
+Additional classes need to be written if the new model is to 
+be created and configured interactively:
+
+\begin{itemize}
+\item {\bf Messenger classes}
+
+ Messengers to configure the model should inherit from 
+G4VModelCommand. The concrete trajectory model type should be 
+used for the template parameter, eg:
+
+\begin{verbatim}
+  class G4MyCustomModelCommand 
+	: public G4VModelCommand<G4TrajectoryDrawByParticleID> {
+  ...
+  };
+
+\end{verbatim}
+  
+A number of general use templated commands are available in 
+G4ModelCommandsT.hh.
+
+\item {\bf Factory class}
+
+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:
+\begin{verbatim}
+ class G4TrajectoryDrawByChargeFactory 
+   : public G4VModelFactory<G4VTrajectoryModel> {
+  ...
+ };
+\end{verbatim}
+
+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:
+
+\begin{verbatim}
+ModelAndMessengers
+G4TrajectoryDrawByParticleIDFactory::
+    Create(const G4String& placement, const G4String& 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<G4TrajectoryDrawByParticleID>
+                                           (model, placement));
+  messengers.push_back(new 
+    G4ModelCmdSetDefaultColour<G4TrajectoryDrawByParticleID>
+                                           (model, placement));
+  messengers.push_back(new 
+    G4ModelCmdVerbose<G4TrajectoryDrawByParticleID>
+                                           (model, placement));
+
+  return ModelAndMessengers(model, messengers);
+}
+\end{verbatim}
+
+\end{itemize}
+
+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:
+\begin{verbatim}
+G4VisExecutive::RegisterModelFactories()
+{
+   ...
+   RegisterModelFactory(new G4TrajectoryDrawByParticleIDFactory());
+}
+\end{verbatim}
+
+
+\section{Trajectory Filtering}
+\label{TrajFilter}
+\subsection{Creating a new trajectory filter model}
+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:
+
+\begin{verbatim}
+  // Evaluate method implemented in subclass
+  virtual G4bool Evaluate(const T&) = 0;
+
+  // Print subclass configuration
+  virtual void Print(std::ostream& ostr) const = 0;
+\end{verbatim}
+
+To use the new filter model directly in compiled code, simply 
+register it with the G4VisManager, eg:
+
+\begin{verbatim}
+  G4VisManager* visManager = new G4VisExecutive;
+  visManager->Initialise();
+
+  // Create custom model
+  MyCustomTrajectoryFilterModel* myModel = 
+        new MyCustomTrajectoryFilterModel("custom");
+
+  // Configure it if necessary then register with G4VisManager
+  ...
+  visManager->RegisterModel(myModel);
+\end{verbatim}
+
+\subsection{Adding interactive functionality}
+ 
+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.
+
+\section{Other Resources}
+The following sections contain various information for extending 
+other class functionalities of {\sc Geant4} visualisation: 
+\begin{itemize}
+\item User's Guide for Application Developers, Chapter 8 - Visualization
+\item User's Guide for Toolkit Developers, Object-oriented Analysis
+      and Design of {\sc Geant4} Classes, Chapter \ref{OOChapVis} -
+      Visualisation
+\end{itemize}
+
+\section{Status of this chapter}
+
+03.12.05 ``Enhanced Trajectory Drawing'' added by Jane Tinsley.\\
+03.12.05 ``Creating a new visualisation driver'' (from Part II) by John Allison.\\
+09.01.06 ``Creating a new visualisation driver'' considerably expanded by John Allison.\\
+20.06.06 Some sections improved or added from draft vis paper.  John Allison.
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/Introduction/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/Introduction/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/Introduction/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/introduction.tex/1.10/Sat Jun  3 22:54:06 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/Introduction/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/Introduction/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/Introduction/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/Introduction
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/Introduction/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/Introduction/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/Introduction/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/Introduction/introduction.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/Introduction/introduction.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/Introduction/introduction.tex	(revision 1208)
@@ -0,0 +1,76 @@
+\chapter{Introduction}
+
+\section{Scope of this manual}
+
+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:  
+
+\begin{itemize}
+  \item provide a repository of information for those who want to 
+        understand or refer to the detailed design of the toolkit, and
+ 
+  \item 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.
+\end{itemize}
+
+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. 
+
+Detailed discussions of the physics included in Geant4 are provided in
+the ``Physics Reference Manual''.
+
+
+\section{How to use this manual}
+
+{\bf Part I}: 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. \\
+
+{\bf Part II}, ``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. \\
+
+{\bf Part III}, ``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. \\
+
+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: 
+
+\begin{itemize}
+  \item the design principle described in the ``Physics processes'' 
+        chapter of Part II
+  \item techniques explained in the ``Physics processes'' chapter 
+        of Part III.
+\end{itemize}
+
+
+\section{User Requirements Document}
+
+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
+\begin{verbatim}
+   http://cern.ch/geant4/OOAandD/URD.pdf .
+\end{verbatim}
+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.
+
+\section{Status of this chapter}
+
+24.06.05 - re-organized and re-written by D.H. Wright \\
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/CVS/Entries	(revision 1208)
@@ -0,0 +1,15 @@
+D/ElectromagneticField////
+D/Event////
+D/EventGenerator////
+D/GeomClassDgm////
+D/Geometry////
+D/GlobalUsage////
+D/Hit////
+D/Introduction////
+D/Materials////
+D/Particles////
+D/PhysicsProcesses////
+D/Run////
+D/Tracking////
+D/UserInterface////
+D/Visualization////
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/ElectromagneticField/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/ElectromagneticField/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/ElectromagneticField/CVS/Entries	(revision 1208)
@@ -0,0 +1,3 @@
+/electroMagneticField.tex/1.8/Tue Jun 28 01:21:16 2005//
+/field-prop.eps/1.1/Fri Dec  5 11:51:00 2003//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/ElectromagneticField/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/ElectromagneticField/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/ElectromagneticField/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/ElectromagneticField
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/ElectromagneticField/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/ElectromagneticField/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/ElectromagneticField/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/ElectromagneticField/electroMagneticField.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/ElectromagneticField/electroMagneticField.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/ElectromagneticField/electroMagneticField.tex	(revision 1208)
@@ -0,0 +1,15 @@
+\chapter{Electromagnetic Fields}
+
+The object-oriented design of the classes related to the electromagnetic field
+is shown in the class diagram of Fig. \ref{figure:eleMag-1}.  The diagram is
+described in UML notation. 
+\newline
+
+\begin{figure}[ht!]
+\includegraphics[angle=0,scale=0.75]{OOAnalysisDesign/ElectromagneticField/field-prop.eps}
+\caption{Electromagnetic Field}
+\label{figure:eleMag-1}
+\end{figure}
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Event/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Event/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Event/CVS/Entries	(revision 1208)
@@ -0,0 +1,4 @@
+/classDgmEventManager.eps/1.1/Mon Dec 18 10:28:25 2006//
+/classDgmEventManager.ps/1.3/Mon Dec 18 10:28:25 2006//
+/event.tex/1.8/Mon Dec 18 10:28:25 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Event/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Event/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Event/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Event
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Event/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Event/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Event/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Event/event.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Event/event.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Event/event.tex	(revision 1208)
@@ -0,0 +1,71 @@
+\chapter{Event}
+
+\section{Design Philosophy}
+
+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.
+
+In {\sc Geant4}, objects of the {\it 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.
+
+{\it G4Event} and its content vertices and particles are independent of 
+other classes.  This isolation allows {\sc Geant4}-based simulation programs 
+to be independent of specific choices for physics generators and of specific 
+solutions for storing the ``Monte Carlo truth''.  {\it 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,
+{\it G4Event} and its content classes are not persistent.  Instead the user 
+must provide the transient-to-persistent conversion.
+  
+\section{Class Design}
+
+\begin{itemize}
+
+\item {\bf G4Event} - This class represents an event.  It is constructed and
+      deleted by G4RunManager or its derived class.
+
+\item {\bf G4EventManager} - This class controls an event.  It must be a 
+      singleton and should be constructed by G4RunManager.
+
+\item {\bf G4VPrimaryGenerator} - 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.
+
+\end{itemize}
+
+Booch diagrams for classes related to the event and event generator classes
+are shown in Figs. \ref{figure:event-1} and \ref{figure:eventGen-1}, 
+respectively.
+
+\vspace{10pt}
+\begin{figure}
+\begin{center}
+\includegraphics[angle=0,scale=0.65]{OOAnalysisDesign/Event/classDgmEventManager.eps}
+\caption{Event}
+\label{figure:event-1}
+\end{center}
+\end{figure}
+
+\vspace{10pt}
+\begin{figure}
+\begin{center}
+\includegraphics[angle=0,scale=0.65]{OOAnalysisDesign/EventGenerator/classDgmEventGen.eps}
+\caption{Event Generator}
+\label{figure:eventGen-1}
+\end{center}
+\end{figure}
+
+
+\section{Status of this chapter}
+
+27.06.05 design philosophy section added (from Geant4 general paper) by
+         D.H. Wright \\
+
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/EventGenerator/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/EventGenerator/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/EventGenerator/CVS/Entries	(revision 1208)
@@ -0,0 +1,4 @@
+/classDgmEventGen.eps/1.1/Mon Dec 18 10:28:25 2006//
+/classDgmEventGen.ps/1.3/Mon Dec 18 10:28:25 2006//
+/eventGenerator.tex/1.2/Tue Jul 17 17:36:17 2001//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/EventGenerator/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/EventGenerator/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/EventGenerator/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/EventGenerator
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/EventGenerator/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/EventGenerator/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/EventGenerator/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/EventGenerator/eventGenerator.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/EventGenerator/eventGenerator.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/EventGenerator/eventGenerator.tex	(revision 1208)
@@ -0,0 +1,23 @@
+\subsection{Event Generator}
+
+The object-oriented design of the 'event generator' related classes
+is shown in the class diagram: Figure \ref{figure:eventGen-1}. The 
+diagram is described in the Booch notation. 
+\newline
+
+\begin{figure}[h!]
+\centerline{\epsfig{file=OOAnalysisDesign/EventGenerator/classDgmEventGen.ps,scale=0.5,angle=-90}}
+\vspace{10pt}
+\caption{Event Generator}
+\label{figure:eventGen-1}
+\end{figure}
+
+
+
+
+
+
+
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GeomClassDgm/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GeomClassDgm/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GeomClassDgm/CVS/Entries	(revision 1208)
@@ -0,0 +1,3 @@
+/diagrams.tex/1.7/Mon Dec 18 10:28:25 2006//
+/geometry2.tex/1.4/Thu Jun 13 07:46:06 2002//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GeomClassDgm/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GeomClassDgm/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GeomClassDgm/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GeomClassDgm
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GeomClassDgm/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GeomClassDgm/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GeomClassDgm/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GeomClassDgm/diagrams.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GeomClassDgm/diagrams.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GeomClassDgm/diagrams.tex	(revision 1208)
@@ -0,0 +1,140 @@
+\chapter{Class Diagrams for the Geometry Category}
+
+Figure \ref{figure:moregeom-1} shows the OO design of the logical volume.
+Figure \ref{figure:moregeom-2} shows the OO design of the physical volume.
+Figure \ref{figure:moregeom-3} shows the OO design of the CSG solids.
+Figure \ref{figure:moregeom-4} shows the OO design of the boolean solids.
+Figure \ref{figure:moregeom-5} shows the OO design of the specific solids.
+Figure \ref{figure:moregeom-6} shows the OO design of the BREP solids.
+Figure \ref{figure:moregeom-7} shows the OO design of the BREP curves.
+Figure \ref{figure:moregeom-8} shows the OO design of the BREP surfaces.
+Figure \ref{figure:moregeom-9} shows the OO design for reflections of solids.
+Figure \ref{figure:moregeom-10} shows the OO design of the touchables.
+Figure \ref{figure:moregeom-11} shows the OO design of reference counting of touchables.
+Figure \ref{figure:moregeom-12} shows the OO design of smart voxels.
+Figure \ref{figure:moregeom-13} shows the OO design of the navigator.
+Figure \ref{figure:moregeom-14} shows the OO design of detector regions.
+
+\begin{figure}[h!]
+\includegraphics[angle=0,scale=0.8]{OOAnalysisDesign/Geometry/logical_volumes.eps}
+\vspace{10pt}
+\caption{Logical volumes}
+\label{figure:moregeom-1}
+\end{figure}
+
+\vspace{24pt}
+
+\begin{figure}[h!]
+\includegraphics[angle=0,scale=0.75]{OOAnalysisDesign/Geometry/physical_volumes.eps}
+\vspace{10pt}
+\caption{Physical volumes}
+\label{figure:moregeom-2}
+\end{figure}
+
+\vspace{24pt}
+
+\begin{figure}[h!]
+\includegraphics[angle=0,scale=0.7]{OOAnalysisDesign/Geometry/csg_solids.eps}
+\vspace{10pt}
+\caption{CSG solids}
+\label{figure:moregeom-3}
+\end{figure}
+
+\vspace{24pt}
+
+\begin{figure}[h!]
+\includegraphics[angle=0,scale=0.75]{OOAnalysisDesign/Geometry/boolean_solids.eps}
+\vspace{10pt}
+\caption{Boolean solids}
+\label{figure:moregeom-4}
+\end{figure}
+
+\vspace{24pt}
+
+\begin{figure}[h!]
+\includegraphics[angle=0,scale=0.75]{OOAnalysisDesign/Geometry/specific_solids.eps}
+\vspace{10pt}
+\caption{Specific solids}
+\label{figure:moregeom-5}
+\end{figure}
+
+\vspace{24pt}
+
+\begin{figure}[h!]
+\includegraphics[angle=0,scale=0.65]{OOAnalysisDesign/Geometry/breps_solids.eps}
+\vspace{10pt}
+\caption{BREP solids}
+\label{figure:moregeom-6}
+\end{figure}
+
+\vspace{24pt}
+
+\begin{figure}[h!]
+\includegraphics[angle=0,scale=0.6]{OOAnalysisDesign/Geometry/breps_curves.eps}
+\vspace{10pt}
+\caption{BREP curves}
+\label{figure:moregeom-7}
+\end{figure}
+
+\vspace{24pt}
+
+\begin{figure}[h!]
+\includegraphics[angle=0,scale=0.65]{OOAnalysisDesign/Geometry/breps_surfaces.eps}
+\vspace{10pt}
+\caption{BREP surfaces}
+\label{figure:moregeom-8}
+\end{figure}
+
+\vspace{24pt}
+
+\begin{figure}[h!]
+\includegraphics[angle=0,scale=0.75]{OOAnalysisDesign/Geometry/reflections.eps}
+\vspace{10pt}
+\caption{Reflections of solids}
+\label{figure:moregeom-9}
+\end{figure}
+
+\vspace{24pt}
+
+\begin{figure}[h!]
+\includegraphics[angle=0,scale=0.65]{OOAnalysisDesign/Geometry/touchables.eps}
+\vspace{10pt}
+\caption{Touchables}
+\label{figure:moregeom-10}
+\end{figure}
+
+\vspace{24pt}
+
+\begin{figure}[h!]
+\includegraphics[angle=0,scale=0.75]{OOAnalysisDesign/Geometry/refcount-touch.eps}
+\vspace{10pt}
+\caption{Reference counting for touchables}
+\label{figure:moregeom-11}
+\end{figure}
+
+\vspace{24pt}
+
+\begin{figure}[h!]
+\includegraphics[angle=0,scale=0.75]{OOAnalysisDesign/Geometry/smart_voxels.eps}
+\vspace{10pt}
+\caption{Smart Voxels}
+\label{figure:moregeom-12}
+\end{figure}
+
+\vspace{24pt}
+
+\begin{figure}[h!]
+\includegraphics[angle=0,scale=0.65]{OOAnalysisDesign/Geometry/navigator.eps}
+\vspace{10pt}
+\caption{Navigator}
+\label{figure:moregeom-13}
+\end{figure}
+
+\vspace{24pt}
+
+\begin{figure}[h!]
+\includegraphics[angle=0,scale=0.65]{OOAnalysisDesign/Geometry/regions.eps}
+\vspace{10pt}
+\caption{Regions}
+\label{figure:moregeom-14}
+\end{figure}
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GeomClassDgm/geometry2.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GeomClassDgm/geometry2.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GeomClassDgm/geometry2.tex	(revision 1208)
@@ -0,0 +1,28 @@
+\subsection{Additional Geometry Diagrams}
+
+Additional diagrams for the object-oriented design of the 'geometry' related 
+classes are included here.
+\newline
+
+Figure \ref{figure:geom2-1} shows the Object Oriented design of smart voxels.
+Figure \ref{figure:geom2-2} shows the OO design of the navigator.
+
+\begin{figure}[h!]
+\centerline{\epsfig{file=OOAnalysisDesign/Geometry/smart_voxels.eps,scale=0.85,angle=-90}}
+\vspace{10pt}
+\caption{Smart Voxels}
+\label{figure:geom2-1}
+\end{figure}
+
+\begin{figure}[h!]
+\centerline{\epsfig{file=OOAnalysisDesign/Geometry/navigator.eps,scale=0.85,angle=-90}}
+\vspace{10pt}
+\caption{Navigator}
+\label{figure:geom2-2}
+\end{figure}
+
+
+
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Geometry/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Geometry/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Geometry/CVS/Entries	(revision 1208)
@@ -0,0 +1,18 @@
+/boolean_solids.eps/1.2/Fri Jun 14 08:13:28 2002//
+/breps_curves.eps/1.2/Fri Jun 14 08:13:28 2002//
+/breps_solids.eps/1.2/Fri Jun 14 08:13:28 2002//
+/breps_surfaces.eps/1.2/Fri Jun 14 08:13:29 2002//
+/csg_solids.eps/1.2/Fri Jun 14 08:13:29 2002//
+/geometry.tex/1.15/Tue Jun 28 01:14:22 2005//
+/geometry2.tex/1.4/Thu Jun 13 07:44:14 2002//
+/logical_volumes.eps/1.2/Fri Jun 14 08:13:30 2002//
+/navigator.eps/1.3/Fri Dec  5 11:49:42 2003//
+/overall.eps/1.3/Fri Dec  5 11:49:45 2003//
+/physical_volumes.eps/1.2/Fri Jun 14 08:13:32 2002//
+/refcount-touch.eps/1.2/Fri Jun 14 08:13:33 2002//
+/reflections.eps/1.2/Fri Jun 14 08:13:33 2002//
+/regions.eps/1.1/Fri Dec  5 11:49:49 2003//
+/smart_voxels.eps/1.2/Fri Jun 14 08:13:33 2002//
+/specific_solids.eps/1.2/Fri Jun 14 08:13:34 2002//
+/touchables.eps/1.2/Fri Jun 14 08:13:34 2002//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Geometry/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Geometry/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Geometry/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Geometry
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Geometry/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Geometry/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Geometry/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Geometry/geometry.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Geometry/geometry.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Geometry/geometry.tex	(revision 1208)
@@ -0,0 +1,226 @@
+\chapter{Geometry}
+
+\section{Design Philosopy}
+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 {\it logical} and {\it physical} 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. 
+
+In {\sc Geant4} the logical volume has been refined by defining the shape as 
+a separate entity, called a {\it solid}.  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
+{\it Constructed Solid Geometry (CSG)}.  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 {\it Boundary 
+Representations (BREP)} sub-category.
+
+Another way to build solids is by boolean combination - union, intersection 
+and subtraction.  The elemental solids should be CSGs.  
+
+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.
+  
+\section{Class Design} 
+
+\begin{itemize}
+
+\item {\bf G4GeometryManager} -
+   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".
+ 
+\item {\bf G4LogicalVolumeStore} -
+   a container for optionally storing created logical volumes. It enables 
+   traversal of all logical volumes by the UI/user/etc.
+ 
+\item {\bf G4LogicalVolume} -
+   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.
+ 
+\item {\bf G4MagneticField} -
+   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.
+ 
+\item {\bf G4Navigator} -
+   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. 
+
+\item {\bf G4NavigationHistory} -
+   responsible for maintenance of the history of the path taken through the 
+   geometrical hierarchy.  It is principally a utility class for use by 
+   G4Navigator.
+ 
+\item {\bf G4NormalNavigation} -
+   a utility class for navigation in volumes containing only G4PVPlacement 
+   daughter volumes.
+ 
+\item {\bf G4ParameterisedNavigation} -
+   a utility class for navigation in volumes containing a single 
+   G4PVParameterised volume for which voxels for the replicated volumes have 
+   been constructed.
+ 
+\item {\bf G4VoxelNavigation} -
+   a utility class for navigation in volumes containing only G4PVPlacement 
+   daughter volumes for which voxels have been constructed.
+ 
+\item {\bf G4ReplicaNavigation} -
+   a utility class for navigation in volumes containing a single 
+   G4PVParameterised volume for which voxels for the replicated volumes 
+   have been constructed. 
+
+\item {\bf G4PhysicalVolumeStore} -
+   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.
+ 
+\item {\bf G4VPhysicalVolume} -
+   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. 
+
+\item {\bf G4PVPlacement} -
+   a physical volume corresponding to a single touchable detector element, 
+   positioned within and relative to a mother volume.
+ 
+\item {\bf G4PVIndexed} -
+   a volume able to perform simple changes to its shape (corresponds to 
+   GSPOSP), and representing a single touchable detector element.
+ 
+\item {\bf G4PVReplica} -
+   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.
+ 
+\item {\bf G4PVParameterised} -
+   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.
+ 
+\item {\bf G4VPVParameterisation} -
+   a parameterisation class able to compute the transformation and, 
+   indirectly, the dimensions of parameterised volumes, given a replication 
+   number. 
+
+\item {\bf G4SmartVoxelProxy} -
+   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. 
+
+\item {\bf G4SmartVoxelHeader} -
+   represents a single axis of virtual division.  Contains the individual 
+   divisions which are potentially further divided along different axes.
+ 
+\item {\bf G4SmartVoxelNode} -
+   a single virtual division, containing the physical volumes inside its 
+   boundaries and those of its parents.
+ 
+\item {\bf G4VoxelLimits} -
+   represents limitation/restrictions of space, where restrictions are only 
+   made perpendicular to the cartesian axes. 
+
+\item {\bf G4RotationMatrixStore} -
+   a container for optionally storing created G4RotationMatrices.
+ 
+\item {\bf G4SolidStore} -
+   a container for optionally storing created solids.  It enables traversal 
+   of all/any solids by the UI/user/etc. The class is a "singleton".
+ 
+\item {\bf G4VSolid} -
+   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. 
+
+\item {\bf G4VSweptSolid} -
+   a solid created by performing a 3D transformation on a finite planar face.
+ 
+\item {\bf G4HalfSpaceSolid} -
+   a solid created by the boolean AND of one or more half space surfaces.
+ 
+\item {\bf G4BREPSolid} -
+   a solid created by an abitrary set of finite surfaces. 
+
+\item {\bf G4VTouchable} -
+   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. 
+
+\item {\bf G4TouchableHistory} -
+   object representing a touchable detector element, and its history in the 
+   geomtrical hierarchy, including its net resultant local->global transform.
+ 
+\item {\bf G4GRSSolid} - object representing a touchable solid.  It maintains 
+   the association between a solid and its net resultant local-to-global 
+   transform.
+ 
+\item {\bf G4GRSVolume} - object representing a touchable detector element.  
+   It maintains associations between a physical volume and its net resultant 
+   local-to-global transform. 
+
+\item {\bf G4TransformStore} -
+   a container for optionally storing created G4AffineTransform objects. 
+   It is responsible for storing and providing access to transformations 
+   that are constant at tracking time.
+ 
+\item {\bf G4AffineTransform} - 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.
+ 
+\item {\bf G4UserLimits} -
+   responsible for user limits on step size, ascribable to individual volumes. 
+
+\end{itemize}
+
+Fig. \ref{figure:geom-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.
+
+\begin{figure}
+\begin{center}
+% \addtolength{\textwidth}{3cm}
+\includegraphics[angle=0,scale=0.6]{OOAnalysisDesign/Geometry/overall.eps}
+\caption{Overview of the geometry}
+\label{figure:geom-1}
+\end{center}
+\end{figure}
+
+\section{Status of this chapter}
+
+27.06.05 subsection on design philosphy (from Geant4 general paper) 
+         added by D.H. Wright \\ 
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Geometry/geometry2.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Geometry/geometry2.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Geometry/geometry2.tex	(revision 1208)
@@ -0,0 +1,23 @@
+\subsection{Additional Geometry Diagrams}
+
+Additional diagrams for the object-oriented design of the 'geometry' related 
+classes are included here.
+\newline
+
+Figure \ref{figure:geom2-1} shows the class diagram for smart voxels.
+Figure \ref{figure:geom2-2} shows the class diagram for the navigator.
+
+\begin{figure}[h!]
+\centerline{\epsfig{file=OOAnalysisDesign/Geometry/smart_voxels.eps,scale=0.85,angle=-90}}
+\vspace{10pt}
+\caption{Smart Voxels}
+\label{figure:geom2-1}
+\end{figure}
+
+\begin{figure}[h!]
+\centerline{\epsfig{file=OOAnalysisDesign/Geometry/navigator.eps,scale=0.85,angle=-90}}
+\vspace{10pt}
+\caption{Navigator}
+\label{figure:geom2-2}
+\end{figure}
+
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GlobalUsage/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GlobalUsage/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GlobalUsage/CVS/Entries	(revision 1208)
@@ -0,0 +1,12 @@
+/ObjDiagDist.eps/1.1/Mon Dec 18 10:28:25 2006//
+/ObjDiagDist.ps/1.1/Tue Feb  5 11:25:53 2002//
+/ObjDiagEng.eps/1.1/Mon Dec 18 10:28:25 2006//
+/ObjDiagEng.ps/1.1/Tue Feb  5 11:25:53 2002//
+/ObjDiagStat.eps/1.1/Mon Dec 18 10:28:25 2006//
+/ObjDiagStat.ps/1.1/Tue Feb  5 11:25:53 2002//
+/architecture.eps/1.1/Mon Dec 18 10:28:25 2006//
+/architecture.ps/1.1/Tue Feb  5 11:25:53 2002//
+/classDgmRandom.eps/1.1/Mon Dec 18 10:28:25 2006//
+/classDgmRandom.ps/1.2/Tue Jul 17 17:47:01 2001//
+/globalUsage.tex/1.18/Mon Dec 18 10:28:25 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GlobalUsage/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GlobalUsage/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GlobalUsage/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GlobalUsage
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GlobalUsage/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GlobalUsage/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GlobalUsage/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GlobalUsage/globalUsage.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GlobalUsage/globalUsage.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/GlobalUsage/globalUsage.tex	(revision 1208)
@@ -0,0 +1,172 @@
+\chapter{Global Usage}
+
+\section{Design Philosophy}
+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 {\sc Geant4}. 
+No back-dependencies to other {\sc 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.
+
+Within the management sub-category are ``utility'' classes generally used 
+within the {\sc Geant4} kernel.  They are, for the most part, uncorrelated 
+with one another and include:
+\begin{itemize}
+\item {\it G4Allocator} 
+\item {\it G4FastVector} 
+\item {\it G4ReferenceCountedHandle}
+\item {\it G4PhysicsVector, G4LPhysicsFreeVector, G4PhysicsOrderedFreeVector} 
+\item {\it G4Timer} 
+\item {\it G4UserLimits}
+\item {\it G4UnitsTable} 
+\end{itemize}
+A general description of these classes is given in section 3.2 of the 
+{\sc Geant4} User's Guide for Application Developers. 
+
+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 {\sc Geant4}.  
+
+\section{Class Design}
+
+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.  Fig. \ref{figure:random-1} 
+is a general picture of the static class diagram. 
+
+\begin{itemize}
+\item {\bf HepRandomEngine} -
+    abstract class defining the interface for each Random engine. Its pure 
+    virtual methods must be defined by its subclasses representing the 
+    concrete Random engines. 
+\item {\bf HepJamesRandom} -
+    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. 
+\item {\bf DRand48Engine} -
+    class inheriting from HepRandomEngine and defining a flat random number 
+    generator according to the drand48() and srand48() system functions from 
+    the C standard library. 
+\item {\bf RandEngine} -
+    class inheriting from HepRandomEngine and defining a flat random number 
+    generator according to the rand() and srand() system functions from the 
+    C standard library. 
+\item {\bf RanluxEngine} -
+    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]. 
+\item {\bf RanecuEngine} -
+    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. 
+\item {\bf HepRandom} -
+    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. 
+\item {\bf RandFlat} -
+    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. 
+\item {\bf RandExponential} -
+    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. 
+\item {\bf RandGauss} -
+    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. 
+\item {\bf RandBreitWigner} -
+    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. 
+\item {\bf RandPoisson} -
+    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. 
+\end{itemize}
+
+
+\begin{figure}[h!]
+\includegraphics[angle=0,scale=0.6]{OOAnalysisDesign/GlobalUsage/classDgmRandom.eps}
+\vspace{10pt}
+\caption{HEPRandom module}
+\label{figure:random-1}
+\end{figure}
+
+
+Fig. \ref{figure:random-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. 
+
+\begin{figure}[h!]
+\includegraphics[angle=0,scale=0.6]{OOAnalysisDesign/GlobalUsage/ObjDiagStat.eps}
+\vspace{10pt}
+\caption{Shooting via the generator}
+\label{figure:random-2}
+\end{figure}
+
+Fig. \ref{figure:random-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. 
+
+\begin{figure}[h!]
+\includegraphics[angle=0,scale=0.6]{OOAnalysisDesign/GlobalUsage/ObjDiagDist.eps}
+\vspace{10pt}
+\caption{Shooting via distribution objects}
+\label{figure:random-3}
+\end{figure}
+
+Fig. \ref{figure:random-4} illustrates the situation when many generators are 
+defined, each by a distribution and an engine.  The static interface is 
+skipped here. 
+
+\begin{figure}[h!]
+\includegraphics[angle=0,scale=0.6]{OOAnalysisDesign/GlobalUsage/ObjDiagEng.eps}
+\vspace{10pt}
+\caption{Shooting with arbitrary engines}
+\label{figure:random-4}
+\end{figure}
+
+For detailed documentation about the HEPRandom classes see the 
+CLHEP Reference Guide\newline
+(http://cern.ch/clhep/manual/RefGuide)\newline
+or the CLHEP User Manual\newline
+(http://cern.ch/clhep/manual/UserGuide).\newline
+ Informations written in this manual are extracted
+from the original manifesto distributed with the HEPRandom package\newline
+(http://cern.ch/clhep/manual/UserGuide/Random/Random.html). 
+
+\paragraph{HEPNumerics}
+The HEPNumerics module includes a set of classes which implement numerical 
+algorithms for general use in {\sc Geant4}.  Section 3.2.3 of 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:
+\mbox{}
+\begin{itemize}
+\item  B.H. Flowers, "An introduction to Numerical Methods In C++", 
+       Claredon Press, Oxford 1995. 
+\item M. Abramowitz, I. Stegun, "Handbook of mathematical functions", 
+      DOVER Publications INC, New York 1965 ; chapters 9, 10, and 22. 
+\end{itemize}
+
+\paragraph{HEPGeometry}
+Documentation for the HEPGeometry module is provided in the CLHEP 
+Reference Guide\newline
+(http://cern.ch/clhep/manual/RefGuide) 
+or the CLHEP User Manual\newline
+(http://cern.ch/clhep/manual/UserGuide) 
+
+\section{Status of this chapter}
+
+01.12.02 minor update by G. Cosmo \\
+18.06.05 introductory paragraphs added and minor grammar changes by D.H. Wright \\
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Hit/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Hit/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Hit/CVS/Entries	(revision 1208)
@@ -0,0 +1,8 @@
+/classDgmHitMain.eps/1.1/Mon Dec 18 10:28:25 2006//
+/classDgmHitMain.ps/1.2/Tue Jul 17 17:50:24 2001//
+/classDgmHitUser.eps/1.1/Mon Dec 18 10:28:25 2006//
+/classDgmHitUser.ps/1.2/Tue Jul 17 17:50:25 2001//
+/classDgmReadoutGeom.eps/1.1/Mon Dec 18 10:28:25 2006//
+/classDgmReadoutGeom.ps/1.2/Tue Jul 17 17:50:25 2001//
+/hit.tex/1.8/Mon Dec 18 10:28:25 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Hit/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Hit/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Hit/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Hit
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Hit/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Hit/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Hit/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Hit/hit.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Hit/hit.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Hit/hit.tex	(revision 1208)
@@ -0,0 +1,93 @@
+\chapter{Hits and Digitization}
+
+\section{Design Philosophy}
+In {\sc Geant4} a {\it hit} 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 {\it digit}, represents a detector output, such 
+as an ADC/TDC count or a trigger signal.  A {\it digit} is created from one or 
+more hits and/or other {\it digits}.  Given the wide variety of {\sc Geant4} 
+applications, ways of describing detector sensitivity and the quantities to 
+be stored in the {\it hits} and {\it digits} vary greatly.  This category 
+therefore provides only abstract classes for both detector sensitivity and 
+{\it hits}/{\it digits}.  It also provides tools for organizing the 
+{\it hits}/{\it digits} into collections.
+
+\section{Class Design}
+
+\begin{itemize}
+
+\item {\bf G4SensitiveDetectorManager} -
+   a list of G4SensitiveDetectors.
+ 
+\item {\bf G4HitsStructure} -
+   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.
+ 
+\item {\bf G4VSensitiveDetector} -
+   an abstract class of all of sensitive volumes.
+ 
+\item {\bf G4HitsCollection} -
+   a collection of hits. Instantiates an RWCollection class.
+ 
+\item {\bf G4VHit} -
+   this class has all the information about a particular hit caused by a 
+   single step.
+ 
+\item {\bf G4VDigitizer} -
+   the class of objects which transform the hits deposited by particles into 
+   digitizations.
+ 
+\item {\bf G4DigitizerManager} -
+   the (single) object dispatching common messages to individual digitizers.
+ 
+\item {\bf G4VDigi} -
+   an abstract (base) class for all G4 digitizations.  This could be data as 
+   simple as a singe byte, or as complex as an Ntuple.
+ 
+\item {\bf G4DigiStructure} -
+   digitizations are organized as a structure, which could be anything
+   between a single value and an Ntuple.
+
+\end{itemize} 
+
+
+The object-oriented design of the 'hit' related classes is shown in the 
+following class diagrams. The diagrams are described in the Booch notation.  
+Fig. \ref{figure:hit-1} shows the general management of hit classes.
+Fig. \ref{figure:hit-2} shows the OO design of user-related hit classes.
+Fig. \ref{figure:hit-3} shows the OO design of the readout geometry.
+
+\begin{figure}
+\begin{center}
+\includegraphics[angle=0,scale=0.55]{OOAnalysisDesign/Hit/classDgmHitMain.eps}
+\vspace{10pt}
+\caption{Overview of hit classes management}
+\label{figure:hit-1}
+\end{center}
+\end{figure}
+
+\begin{figure}
+\begin{center}
+\includegraphics[angle=0,scale=0.5]{OOAnalysisDesign/Hit/classDgmHitUser.eps}
+\vspace{10pt}
+\caption{User hit classes}
+\label{figure:hit-2}
+\end{center}
+\end{figure}
+
+\begin{figure}
+\begin{center}
+\includegraphics[angle=0,scale=0.6]{OOAnalysisDesign/Hit/classDgmReadoutGeom.eps}
+\vspace{10pt}
+\caption{Readout geometry}
+\label{figure:hit-3}
+\end{center}
+\end{figure}
+
+\section{Status of this chapter}
+
+27.06.05 section on design philosophy added (from Geant4 general paper) by
+         D.H. Wright \\
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Introduction/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Introduction/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Introduction/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/introduction.tex/1.3/Tue Jun 28 01:15:43 2005//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Introduction/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Introduction/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Introduction/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Introduction
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Introduction/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Introduction/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Introduction/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Introduction/introduction.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Introduction/introduction.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Introduction/introduction.tex	(revision 1208)
@@ -0,0 +1,16 @@
+\chapter{Introduction}
+
+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.
+
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Materials/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Materials/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Materials/CVS/Entries	(revision 1208)
@@ -0,0 +1,4 @@
+/classDgmMaterials.eps/1.1/Mon Dec 18 10:28:25 2006//
+/classDgmMaterials.ps/1.2/Tue Jul 17 17:51:46 2001//
+/materials.tex/1.7/Mon Dec 18 10:28:25 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Materials/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Materials/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Materials/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Materials
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Materials/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Materials/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Materials/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Materials/materials.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Materials/materials.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Materials/materials.tex	(revision 1208)
@@ -0,0 +1,44 @@
+\chapter{Materials}
+
+\section{Design Philosophy}
+
+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.
+
+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. 
+
+The material category also implements facilities to describe surface 
+properties used in the tracking of optical photons. 
+
+\section{Class Design}
+
+The object-oriented design of the 'materials' related classes
+is shown in the class diagram: 
+Fig. \ref{figure:materials-1}. 
+The diagram is described in the Booch notation. 
+
+
+\begin{figure}[ht!]
+\includegraphics[angle=0,scale=0.7]{OOAnalysisDesign/Materials/classDgmMaterials.eps}
+\vspace{10pt}
+\caption{Materials}
+\label{figure:materials-1}
+\end{figure}
+
+
+\section{Status of this chapter}
+
+27.06.05 section on design philosophy add (from Geant4 general paper) by 
+         D.H. Wright \\
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Particles/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Particles/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Particles/CVS/Entries	(revision 1208)
@@ -0,0 +1,12 @@
+/classDgmDecay.eps/1.1/Mon Dec 18 10:28:25 2006//
+/classDgmDecay.ps/1.1/Thu Jan 31 05:38:05 2002//
+/classDgmParticle.eps/1.1/Mon Dec 18 10:28:25 2006//
+/classDgmParticle.ps/1.2/Thu Jan 31 05:38:06 2002//
+/classDgmParticleDecay.eps/1.1/Mon Dec 18 10:28:25 2006//
+/classDgmParticleDecay.ps/1.2/Tue Jul 17 17:54:40 2001//
+/classDgmParticleTable.eps/1.1/Mon Dec 18 10:28:25 2006//
+/classDgmParticleTable.ps/1.2/Tue Jul 17 17:54:40 2001//
+/classDgmParticlesMain.eps/1.1/Mon Dec 18 10:28:25 2006//
+/classDgmParticlesMain.ps/1.2/Tue Jul 17 17:54:40 2001//
+/particles.tex/1.8/Mon Dec 18 10:28:25 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Particles/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Particles/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Particles/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Particles
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Particles/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Particles/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Particles/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Particles/particles.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Particles/particles.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Particles/particles.tex	(revision 1208)
@@ -0,0 +1,56 @@
+\chapter{Particles}
+
+\section{Design Philosophy}
+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 {\it 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.
+
+\section{Class Design}
+
+The object-oriented design of the 'particles' related classes
+is shown in the following class diagrams. The diagrams are
+described in the Booch notation. 
+Fig. \ref{figure:particles-1} shows a general overview of the particle
+classes.  Fig. \ref{figure:particles-2} shows classes related to the 
+particle table.  Fig. \ref{figure:particles-3} shows the classes related 
+to the particle decay table.
+
+\begin{figure}[ht]
+\includegraphics[angle=0,scale=0.55]{OOAnalysisDesign/Particles/classDgmParticlesMain.eps}
+\vspace{10pt}
+\caption{Particle classes}
+\label{figure:particles-1}
+\end{figure}
+
+\begin{figure}[ht]
+\includegraphics[angle=0,scale=0.6]{OOAnalysisDesign/Particles/classDgmParticleTable.eps}
+\vspace{10pt}
+\caption{Particle Table}
+\label{figure:particles-2}
+\end{figure}
+
+\begin{figure}[ht]
+\includegraphics[angle=0,scale=0.45]{OOAnalysisDesign/Particles/classDgmParticleDecay.eps}
+\vspace{10pt}
+\caption{Particle Decay Table}
+\label{figure:particles-3}
+\end{figure}
+
+\section{Status of this chapter}
+
+27.06.05 section on design philosophy added (from Geant4 general paper) by
+         D.H. Wright \\
+
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/CVS/Entries	(revision 1208)
@@ -0,0 +1,7 @@
+D/ElectroMagnetic////
+D/Hadronic////
+/classDgmProcessMain.eps/1.1/Mon Dec 18 10:28:25 2006//
+/classDgmProcessMain.ps/1.2/Tue Jul 17 18:02:21 2001//
+/classDgmProcessProcesses.eps/1.1/Mon Dec 18 10:28:25 2006//
+/classDgmProcessProcesses.ps/1.2/Tue Jul 17 18:02:21 2001//
+/physicsProcesses.tex/1.8/Mon Dec 18 10:28:26 2006//
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/ElectroMagnetic/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/ElectroMagnetic/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/ElectroMagnetic/CVS/Entries	(revision 1208)
@@ -0,0 +1,4 @@
+/classDgmLowEnergyProc.ps/1.3/Wed Jul 18 08:11:58 2001//
+/classDgmLowEnergyProcOLD.ps/1.3/Wed Jul 18 08:11:58 2001//
+/electroMagnetic.tex/1.4/Tue Jun 18 03:25:35 2002//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/ElectroMagnetic/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/ElectroMagnetic/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/ElectroMagnetic/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/ElectroMagnetic
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/ElectroMagnetic/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/ElectroMagnetic/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/ElectroMagnetic/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/ElectroMagnetic/electroMagnetic.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/ElectroMagnetic/electroMagnetic.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/ElectroMagnetic/electroMagnetic.tex	(revision 1208)
@@ -0,0 +1,21 @@
+\subsubsection{Electromagnetic Processes}
+
+The object-oriented design of the 'low energy electromagnetic 
+processes' related classes is shown in the class diagram:
+% Figure \ref{figure:elmgphysics-1}. 
+The diagrams are described in the UML notation. 
+\newline
+
+
+%\begin{figure}[h!]
+%\centerline{\epsfig{file=OOAnalysisDesign/PhysicsProcesses/ElectroMagnetic/classDgmLowEnergyProc.ps,scale=0.5,angle=-90}}
+%\vspace{10pt}
+%\caption{Low Energy Electromagnetic Processes}
+%\label{figure:elmgphysics-1}
+%\end{figure}
+
+
+
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/Hadronic/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/Hadronic/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/Hadronic/CVS/Entries	(revision 1208)
@@ -0,0 +1,10 @@
+/Level1.eps/1.1/Fri Jul 12 07:05:25 2002//
+/Level2_1.eps/1.1/Fri Jul 12 07:05:25 2002//
+/Level2_2.eps/1.1/Fri Jul 12 07:05:26 2002//
+/Level2_3.eps/1.1/Fri Jul 12 07:05:26 2002//
+/Level3_1.eps/1.1/Fri Jul 12 07:05:26 2002//
+/Level4_1.eps/1.1/Fri Jul 12 07:05:26 2002//
+/Level4_2.eps/1.1/Fri Jul 12 07:05:26 2002//
+/Level5_1.eps/1.1/Fri Jul 12 07:05:26 2002//
+/hadronic.tex/1.4/Thu May  8 00:27:21 2003//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/Hadronic/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/Hadronic/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/Hadronic/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/Hadronic
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/Hadronic/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/Hadronic/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/Hadronic/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/Hadronic/hadronic.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/Hadronic/hadronic.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/Hadronic/hadronic.tex	(revision 1208)
@@ -0,0 +1,431 @@
+\section{Hadronic Processes}
+The purpose of this note is to publish the implementation frameworks used in and
+provided by {\sc 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 {\sc 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{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.}.
+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 \cite{Patterns}.
+\section{Level 1 Framework - processes}
+\begin{figure}[b!] % fig 1
+\centerline{\includegraphics[width=14cm]{Level1.eps}}
+\caption{Level 1 implementation framework of the hadronic category 
+of {\sc Geant4}.}
+\label{Level1}
+\end{figure}
+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. 
+\subsection {Requirements}
+\begin{enumerate}
+\item \label{L1R1} Provide a standard interface to be used by process implementations.
+\item \label{L1R2} Provide registration mechanisms for processes.
+\end{enumerate}
+\subsection {Design and interfaces}
+Both requirements are implemented in a sub-set of the tracking-physics interface
+in {\sc Geant4}. The class diagram is shown in figure \ref{Level1}. 
+All processes have a common base-class {\tt G4VProcess}, from
+which a set of specialised classes are derived. Three of them are used as base
+classes for hadronic processes for particles at rest ({\tt G4VRestProcess}), for
+interactions in flight ({\tt G4VDiscreteProcess}), and for processes like
+radioactive decay where the same implementation can represent both these extreme cases 
+({\tt G4VRestDiscreteProcess}).
+
+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.
+\subsection {Framework functionality}
+The functionality provided is through the use of process base-class pointers 
+in the tracking-physics interface, and the {\tt G4ProcessManager}. All
+functionality is implemented in abstract, and registration of derived process classes
+with the {\tt G4ProcessManager} of an individual particle allows for
+arbitrary combination of both {\sc 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 \cite{G4Manual}.
+\section{Level 2 Framework - Cross-sections and Models}
+\begin{figure}[b!] % fig 1
+\centerline{\includegraphics[width=14cm]{Level2_1.eps}}
+\caption{Level 2 implementation framework of the hadronic category 
+of {\sc Geant4}; cross-section aspect.}
+\label{Level2_1}
+\end{figure}
+\begin{figure}[b!] % fig 1
+\centerline{\includegraphics[width=14cm]{Level2_2.eps}}
+\caption{Level 2 implementation framework of the hadronic category 
+of {\sc Geant4}; final state production aspect.}
+\label{Level2_2}
+\end{figure}
+\begin{figure}[b!] % fig 1
+\centerline{\includegraphics[width=14cm]{Level2_3.eps}}
+\caption{Level 2 implementation framework of the hadronic category 
+of {\sc Geant4}; isotope production aspect}
+\label{Level2_3}
+\end{figure}
+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 {\sc 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.
+\subsection {Requirements}
+\begin{enumerate}
+\item  Flexible choice of inclusive scattering cross-sections.
+\item  Ability to use different data-sets for different parts of
+the simulation, depending on the conditions at the point of interaction.
+\item  Ability to add user-defined data-sets in a seamless manner.
+\item  Flexible, unconstrained choice of final state production models.
+\item  Ability to use different final state production codes 
+for different parts of the simulation, depending on the conditions at the 
+point of interaction.
+\item  Ability to add user-defined final state production models in
+a seamless manner.
+\item Flexible choice of isotope production models, to run in
+parasitic mode to any kind of transport models.
+\item  Ability to use different isotope production codes 
+for different parts of the simulation, depending on the conditions at the 
+point of interaction.
+\item  Ability to add user-defined isotope production models in a 
+seamless manner.
+\end{enumerate}
+\subsection {Design and interfaces}
+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 figure \ref{Level2_1} for the cross-section aspects,
+figure \ref{Level2_2} for the final state production aspects, and figure \ref{Level2_3}
+for the isotope production aspects. 
+The three parts are integrated in the {\tt G4HadronicProcess} class, that serves as
+base-class for all hadronic processes of particles in flight.
+\subsubsection{Cross-sections}
+Each hadronic process is derived from {\tt G4HadronicProcess}, 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 
+{\tt G4VCrossSectionDataSet}, which declares methods that allow
+the process inquire, about the applicability of an individual data-set through
+{\tt IsApplicable(const G4DynamicParticle*, const G4Element*)},
+and to de\-le\-gate the calculation of the actual cross-section value through
+\\
+{\tt GetCrossSection(const G4DynamicParticle*, const G4Element*)}.
+\subsubsection{Final state production}
+For final state production, we provide the {\tt G4HadronicInteraction} base class.
+It declares a minimal interface of only one pure virtual method for final state
+production,
+\\
+{\tt G4VParticleChange* ApplyYourself(const G4Track \&, G4Nucleus \&)}.
+\\
+{\tt G4HadronicProcess} provides a registry for final state
+production models inheriting from {\tt G4HadronicInteraction}. Again, final state production
+model is meant in very general terms. This can be an implementation of a
+quark gluon string model\cite{QGSM}, a sampling code for ENDF/B data formats\cite{ENDFForm}, or a parametrisation
+describing only neutron elastic scattering off Silicon up to 300~MeV.
+\subsubsection{Isotope production}
+For isotope production, a base class ({\tt G4VIsotopeProduction}) is provided. It declares a
+method ({\tt G4IsoResult * GetIsotope(const G4Track \&, const G4Nucleus \&)})
+that calculates and returns the isotope production information. Any concrete isotope
+production model will inherit from this class, and implement the method. Again, the modelling
+possibilities are not limited, and the implementation of concrete production models is not
+restricted in any way. By convention, the {\tt GetIsotope} method returns NULL, if the model
+is not applicable for the current projectile target combination.
+\subsection {Framework functionality}
+\subsubsection{Cross-sections}
+{\tt G4HadronicProcess} 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. An example 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. An example are special 
+reaction cross-sections of $K^0$-nuclear interactions that might be used for
+$\epsilon/\epsilon '$ analysis at LHC to control the systematic error.
+\subsubsection{Final state production}
+The {\tt G4HadronicProcess} provides a registration service for classes deriving from {\tt
+G4HadronicInteraction}, and delegates final state production to the applicable model. 
+{\tt G4HadronicInteraction} provides the functionality needed to define and enforce 
+the applicability of a particular model. Models inheriting from {\tt G4HadronicInteraction} 
+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 Responsability.
+An example would be the likely CMS scenario - the
+combination of low energy neutron transport with a quantum molecular
+dynamics\cite{QMD} or chiral
+invariant phase space decay\cite{CHIPS} model
+in the case of tracker materials and fast parametrised models for calorimeter materials, 
+with user defined modelling of interactions of spallation nucleons with the most abundant 
+tracker and calorimeter materials. 
+\subsubsection{Isotope production}
+The {\tt G4HadronicProcess} 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 {\tt G4VIsotopeProduction}. 
+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 {\tt G4HadronicProcess} 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 
+\\
+{\tt G4IsoParticleChange * GetIsotopeProductionInfo()} 
+method at
+the end of each step. The {\tt
+G4HadronicProcess} is a finite state machine that will ensure the {\tt
+GetIsotopeProductionInfo} 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.
+\section{Level 3 Framework - Theoretical Models}
+\begin{figure}[b!] % fig 1
+\centerline{\includegraphics[width=14cm]{Level3_1.eps}}
+\caption{Level 3 implementation framework of the hadronic category 
+of {\sc Geant4}; theoretical model aspect.}
+\label{Level3_1}
+\end{figure}
+{\sc 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. 
+\subsection {Requirements}
+\begin{enumerate}
+\item Allow to use or adapt any string-parton or parton transport\cite{VNI} model.
+\item Allow to adapt event generators, ex. PYTHIA\cite{PYTHIA7} for final state production in shower simulation.
+\item Allow for combination of the above with any intra-nuclear transport (INT).
+\item Allow stand-alone use of intra-nuclear transport.
+\item Allow for combination of the above with any pre-compound model.
+\item Allow stand-alone use of any pre-compound model.
+\item Allow for use of any evaporation code.
+\item Allow for seamless integration of user defined components for any of the above.
+\end{enumerate}
+\subsection {Design and interfaces}
+To provide the above flexibility, the following abstract base classes have been
+implemented:
+\begin{itemize}
+\item {\tt G4VHighEnergyGenerator}
+\item {\tt G4VIntranuclearTransportModel}
+\item {\tt G4VPreCompoundModel}
+\item {\tt G4VExcitationHandler}
+\end{itemize}
+In addition, the class {\tt G4TheoFSGenerator} is provided to orchestrate interactions 
+between these classes. 
+The class diagram is shown in figure \ref{Level3_1}. 
+
+{\tt G4VHighEnergyGenerator} serves as base class for parton transport or parton 
+string models, and for Adapters to event generators. This class declares two methods, 
+{\tt Scatter}, and {\tt GetWoundedNucleus}. 
+
+The base class for INT inherits from
+{\tt G4HadronicInteraction}, making any concrete implementation usable as
+stand-alone model. In doing so, it 
+re-declares the {\tt ApplyYourself} interface of {\tt
+G4HadronicInteraction}, and adds a second interface, {\tt Propagate}, for further propagation
+after high energy interactions. {\tt Propagate}  takes as arguments
+a three-dimensions model of a wounded nucleus, and a set of secondaries with energies 
+and positions.
+
+The base class for pre-equilibrium decay models, {\tt G4VPreCompoundModel},
+ inherits from {\tt G4HadronicInteraction}, again 
+making any concrete implementation usable as stand-alone model. It adds a pure virtual  
+{\tt DeExcite} method 
+for further evolution of the system when intra-nuclear transport assumptions
+break down. {\tt DeExcite} takes a {\tt G4Fragment}, the {\sc Geant4} representation of an
+excited nucleus, as argument.
+
+The base class for evaporation phases, {\tt G4VExcitationHandler}, declares an 
+abstract method, {\tt BreakItUP()}, for compound decay.
+\subsection {Framework functionality}
+{\tt G4TheoFSGenerator} inherits from {\tt G4HadronicInteraction}, and hence can be 
+registered as model for final state production with a hadronic process. It allows to
+register a concrete implementation of {\tt G4VIntranuclearTransportModel} and 
+{\tt G4VHighEnergyGenerator}, 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. 
+
+{\tt G4VIntranuclearTransportModel} provides registering mechanisms for concrete
+implementations of {\tt G4VPreCompoundModel}, and provides concrete intra-nuclear transports
+with the possibility to delegate pre-compound decay to these models. 
+
+{\tt G4VPreCompoundModel} provides a registering mechanism for compound decay through the
+{\tt G4VExcitationHandler} interface, and provides concrete implementations with the
+possibility to delegate the decay of a compound nucleus.
+
+The concrete scenario of {\tt G4TheoFSGenerator} 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: {\tt G4TheoFSGenerator} 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.
+{\tt G4TheoFSGenerator} 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 {\tt G4TheoFSGenerator}, accumulating the information produced in 
+the various levels of delegation.
+\section{Level 4 Frameworks - String Parton Models and Intra-Nuclear Cascade}
+\begin{figure}[b!] % fig 1
+\centerline{\includegraphics[width=14cm]{Level4_1.eps}}
+\caption{Level 4 implementation framework of the hadronic category 
+of {\sc Geant4}; parton string aspect.}
+\label{Level4_1}
+\end{figure}
+\begin{figure}[b!] % fig 1
+\centerline{\includegraphics[width=14cm]{Level4_2.eps}}
+\caption{Level 4 implementation framework of the hadronic category 
+of {\sc Geant4}; intra-nuclear transport aspect.}
+\label{Level4_2}
+\end{figure}
+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.
+\subsection {Requirements}
+\begin{enumerate}
+\item Allow to select string decay algorithm 
+\item Allow to select string excitation.
+\item Allow to select concrete implementation of three-dimensional model of the nucleus
+\item Allow to select concrete implementation of final state and cross-sections in
+intra-nuclear scattering.
+\end{enumerate}
+\subsection {Design and interfaces}
+To fulfil the requirements on string models, two abstract classes are provided,
+the {\tt G4VPartonStringModel} and the {\tt G4VStringFragmentation}. 
+The base class for parton string models, {\tt G4VPartonStringModel}, 
+declares the {\tt GetStrings()}
+pure virtual method. {\tt G4VStringFragmentation}, the pure abstract
+base class for string fragmentation, declares the interface for string fragmentation.
+
+To fulfil the requirements on intra-nuclear transport, two abstract classes are provided,
+{\tt G4V3DNucleus}, and {\tt G4VScatterer}.
+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.
+
+The class diagram is shown in figure \ref{Level4_1} for the string parton model aspects, and
+in figure \ref{Level4_2} for the intra-nuclear transport. 
+
+\subsection{Framework functionality}
+Again variants of Strategy, Bridge and Chain of Responsibility are used.
+{\tt G4VPartonStringModel} 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 {\tt G4VStringFragmentation} 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.
+
+\section{Level 5 Framework - String De-excitation}
+
+\begin{figure}[b!] % fig 1
+\centerline{\includegraphics[width=14cm]{Level5_1.eps}}
+\caption{Level 5 implementation framework of the hadronic category 
+of {\sc Geant4}; string fragmentation aspect.}
+\label{Level5_1}
+\end{figure}
+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.
+\subsection {Requirements}
+\begin{enumerate}
+\item Allow the selection of fragmentation function.
+\end{enumerate}
+\subsection {Design and interfaces}
+A base class for fragmentation functions, {\tt G4VFragmentationFunction}, is provided.
+It declaring the {\tt GetLightConeZ()} interface.
+\subsection {Framework functionality}
+The design is a basic Strategy. The class diagram is shown in figure \ref{Level5_1}. 
+At this point in time, the usage of the {\tt G4VFragmentationFunction} is not enforced 
+by design, but made available from the {\tt G4VStringFragmentation} to an implementer of a
+concrete string decay. {\tt G4VStringFragmentation} provides a registering mechanism for the
+concrete fragmentation function. It delegates the calculation of $z_f$ of the hadron to
+split of the string to the concrete implementation. Standardisation in this area is expected.
+\section{Summary}
+A set of implementation frameworks has been provided for hadronic shower simulation. Finding
+framework functional requirements through use-case analysis has proven to be a highly
+effective tool. Framework components were found through bundling use-cases. Framework
+interfaces were defined by the need for delegation and flexibility; framework functionality 
+was found from detailed requirements analysis.
+
+The Russian dolls approach, as defined in this paper, to framework design has proven very effective. Having layered
+implementation frameworks, and keeping abstractions in the upper levels of the framework
+hierarchy simple and general has
+proven to result in a structured and well suited solution to a complex problem. 
+Addressing more specific use-cases in lower
+level frameworks that implement the interfaces of the more general framework has kept the
+system surprisingly extendible. It allows for distributed, and largely decoupled contributions 
+of many scientists.
+\begin{thebibliography}{999}
+\bibitem{Geant4} The GEANT~4 Collaboration, \\
+CERN/DRDC/94--29, DRDC/P58 1994.
+\bibitem{Patterns} E. Gamm et al., Design Patterns, Addison-Wesley Professional Computing
+Series, 1995.
+\bibitem{G4Manual} 
+{\scriptsize http://cern.ch/geant4/G4UsersDocuments/Overview/html/index.html}
+\bibitem{QGSM} Kaidalov A. B., Ter-Martirosyan K. A., Phys. Lett. {\bf B117}
+247 (1982); 
+\bibitem{ENDFForm} 
+Data Formats and Procedures for the Evaluated Nuclear Data 
+ File, National Nuclear Data Center, Brookhave National Laboratory, Upton, NY, USA.
+\bibitem{QMD} For example: VUU and (R)QMD model of high-energy heavy ion collisions.
+H. Stocker et al., Nucl. Phys. A538, 53c-64c (1992)
+\bibitem{CHIPS} P.V. Degtyarenko, M.V. Kossov, H.P. Wellisch, Eur. Phys J. A 8, 217-222
+(2000)
+\bibitem{VNI} VNI 3.1, Klaus Geiger (Brookhaven), BNL-63762, 
+Comput. Phys. Commun. 104, 70-160 (1997)
+\bibitem{PYTHIA7} M. Bertini, L. L\"onnblad, T. Sj\"orstrand, Pythia version 7-0.0 -- a
+proof-of-concept version, LU-TP 00-23, hep-ph/0006152, May 2000
+
+\end{thebibliography}
+
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/physicsProcesses.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/physicsProcesses.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/PhysicsProcesses/physicsProcesses.tex	(revision 1208)
@@ -0,0 +1,96 @@
+\chapter{Physics Processes}
+
+\section{Design Philosophy}
+The processes category contains the implementations of particle transportation 
+and physical interactions.  All physics process conform to the basic interface 
+{\it G4VProcess}, but different approaches have been developed for the 
+detailed design of each sub-category.
+
+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.
+
+The electromagnetic sub-category is divided further into the following 
+packages:
+\begin{itemize}
+\item {\it standard}: handling basic properties for electron, positron,
+      photon and hadron interactions,
+\item {\it low energy}: providing alternative models extended down to lower
+      energies than the standard package,
+\item {\it muons}: handling muon interactions,
+\item {\it x-rays}: providing specific code for x-ray physics,
+\item {\it optical}: providing specific code for optical photons,
+\item {\it utils}: collecting utility classes used by the above packages.
+\end{itemize} 
+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.
+
+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 {\sc 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.
+
+\section{Class Design}
+
+\subsection{General}
+The object-oriented design of the generic physics process G4VProcess and its
+relation to the process manager is shown in 
+Fig. \ref{figure:physics-1}.  Fig. \ref{figure:physics-2} shows how specific 
+physics processes are related to G4VProcess.
+
+\vspace{10pt}
+\begin{figure}[!ht]
+\begin{center}
+\includegraphics[angle=0,scale=0.6]{OOAnalysisDesign/PhysicsProcesses/classDgmProcessMain.eps}
+\caption{Management of Physics Processes}
+\label{figure:physics-1}
+\end{center}
+\end{figure}
+
+\vspace{10pt}
+\begin{figure}[!ht]
+\begin{center}
+\includegraphics[angle=0,scale=0.6]{OOAnalysisDesign/PhysicsProcesses/classDgmProcessProcesses.eps}
+\caption{General Physics Processes}
+\label{figure:physics-2}
+\end{center}
+\end{figure}
+
+
+% Class diagrams of the low energy electromagnetic processes and the hadronic 
+% models are shown in Fig. (not yet available) 
+% Figs. \ref{figure:emlep-1} 
+% and Fig. \ref{figure:hadp-1},
+% respectively.
+
+% \begin{figure}
+% \begin{center}
+% \centerline{\includegraphics[angle=270,scale=0.5]{OOAnalysisDesign/PhysicsProcesses/ElectroMagnetic/classDgmLowEnergyProc.ps}}
+% \vspace{10pt}
+% \caption{Low Energy Electromagnetic Processes}
+% \label{figure:emlep-1}
+% \end{center}
+% \end{figure}
+
+% \begin{figure}
+% \begin{center}
+% \includegraphics[angle=270,scale=0.45]{OOAnalysisDesign/PhysicsProcesses/Hadronic/classDgmHadronicModels.ps}
+% \caption{Hadronic Processes}
+% \label{figure:hadp-1}
+% \end{center}
+% \end{figure}
+
+\section{Status of this chapter}
+
+27.06.05 section on design philosophy added by D.H. Wright \\
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Run/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Run/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Run/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/run.tex/1.4/Tue Jun 28 01:17:45 2005//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Run/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Run/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Run/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Run
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Run/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Run/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Run/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Run/run.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Run/run.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Run/run.tex	(revision 1208)
@@ -0,0 +1,31 @@
+\chapter{Run}
+
+\section{Design Philosophy}
+
+The run category manages collections of events that share a common beam and
+detector implementation.
+ 
+\section{Class Design}
+
+\begin{itemize}
+
+\item {\bf G4Run} - This class represents a run.  An object of this class
+      is constructed and deleted by G4RunManager.
+ 
+\item {\bf G4RunManager} - 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.
+ 
+\item {\bf G4RunManagerKernel} - provides control of the Geant4 kernel.
+      This class is constructed by G4RunManager.
+ 
+\end{itemize}
+
+\section{Status of this chapter}
+
+28.06.05 under construction \\
+
+ 
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Tracking/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Tracking/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Tracking/CVS/Entries	(revision 1208)
@@ -0,0 +1,4 @@
+/classDgmTracking.eps/1.2/Tue Jul 17 18:05:06 2001//
+/classDgmTracking.ps/1.2/Tue Jul 17 18:05:08 2001//
+/tracking.tex/1.10/Sun Dec 11 02:16:01 2005//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Tracking/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Tracking/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Tracking/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Tracking
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Tracking/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Tracking/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Tracking/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Tracking/tracking.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Tracking/tracking.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Tracking/tracking.tex	(revision 1208)
@@ -0,0 +1,381 @@
+% $Id: tracking.tex,v 1.10 2005/12/11 02:16:01 dennis Exp $
+\chapter{Tracking}
+
+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.
+
+\section{Design Philosophy}
+
+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 {\sc Geant4}
+simulation while utilizing the power of the object-oriented
+approach. 
+
+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.
+
+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.
+
+Instead of the 'big-class' approach, a hierarchical design
+was employed by {\sc 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. 
+
+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, {\it track} and 
+{\it particle} classes might have been designed so that a 
+{\it track} 'is a' {\it particle}.  In this scheme, however, 
+whenever a {\it track} object is used, time is spent copying 
+the data from the {\it particle} object into the {\it track} 
+object.  Adopting the aggregation ('has-a' relation) hierarchy 
+requires only pointers to be copied, thus providing a 
+performance advantage.
+
+\section{Class Design}
+
+Fig. (not yet available) 
+% \ref{figure:tracking-1} 
+shows a general overview of the tracking 
+design in Unified Modelling Language Notation.
+
+% \begin{figure}
+% \begin{center}
+% \includegraphics[angle=0,scale=0.4]{OOAnalysisDesign/Tracking/classDgmTracking.ps}
+% \vspace{10pt}
+% \caption{Tracking}
+% \label{figure:tracking-1}
+% \end{center}
+% \end{figure}
+
+\begin{itemize}
+\item {\em G4TrackingManager} 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 ({\tt G4EventManager}), and lower hierarchical 
+objects in the tracking category.  {\tt G4TrackingManager} is 
+responsible for processing one track which it receives from the 
+event manager.
+
+{\tt G4TrackingManager} aggregates the pointers to 
+{\tt G4SteppingManager}, {\tt G4Trajectory} and 
+{\tt G4UserTrackingAction}.  It also has a 'use' 
+relation to {\tt G4Track}. 
+
+\item {\em G4SteppingManager} 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 {\tt Stepping()} 
+steers the stepping of the particle.  The algorithm employed in 
+this method is basically the same as that in Geant3.  The 
+{\sc 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.
+
+{\tt G4SteppingManager} also aggregates 
+\begin{itemize}
+\item{the pointers to {\tt G4Navigator} from the geometry category, 
+      to the current {\tt G4Track}, and} 
+
+\item{the list of secondaries from the current track 
+(through a {\tt G4TrackVector}) to {\tt G4UserSteppingAction} 
+and to {\tt G4VSteppingVerbose}.}
+\end{itemize}  
+
+It also has a 'use' relation to {\tt G4ProcessManager} and 
+{\tt G4ParticleChange} in the physics processes class category. 
+
+\item
+{\em G4Track} - the class {\tt G4Track} represents a particle 
+which is pushed by {\tt G4SteppingManager}.  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 {\tt G4DynamicParticle} class.  Static 
+information, such as the particle mass and charge is stored in the 
+{\tt G4DynamicParticle} class through the pointer to the 
+{\tt G4ParticleDefinition} class.  Here the aggregation hierarchical 
+design is extensively employed to maintain high tracking performance.
+
+\item
+{\em G4TrajectoryPoint} and {\em G4Trajectory} - the class  
+{\tt G4TrajectoryPoint} holds the state of the particle after 
+propagating one step.  Among other things, it includes information 
+on space-time, energy-momentum and geometrical volumes.
+
+{\tt G4Trajectory} aggregates all {\tt G4TrajectoryPoint} objects 
+which belong to the particle being propagated. 
+{\tt G4TrackingManager} takes care of adding the 
+{\tt G4TrajectoryPoint} to a {\tt G4Trajectory} object if the user 
+requested it (see \cite{applGuide}). 
+The life of a {\tt G4Trajectory} object spans an event, contrary to 
+{\tt G4Track} objects, which are deleted from memory after being 
+processed.
+
+\item
+{\b G4UserTrackingAction and G4UserSteppingAction} - 
+{\tt G4UserTrackingAction} is a base class from which user actions 
+at the beginning or end of tracking may be derived.  Similarly, 
+{\tt G4UserSteppingAction} is a base class from which user actions 
+at the beginning or end of each step may be derived. 
+
+\end{itemize}
+
+\section{Tracking Algorithm}
+The key classes for tracking in {\sc Geant4} are 
+{\tt G4TrackingManager} and {\tt G4SteppingManager}.  The 
+singleton object "TrackingManager" from {\tt G4TrackingManager} 
+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. 
+
+The public method {\tt ProcessOneTrack()} in {\tt G4TrackingManager} 
+is the key to managing the tracking, while the public method 
+{\tt Stepping()} is the key to managing one step.  The algorithms 
+used in these methods are explained below.\newline
+
+\mbox{}
+{\bf ProcessOneTrack() in G4TrackingManager}
+\begin{enumerate}
+\item Actions before tracking the particle:\newline 
+         Clear secondary particle vector
+\item Pre tracking user intervention process. 
+\item Construct a trajectory if it is requested
+\item Give SteppingManager the pointer to the track which will 
+      be tracked 
+\item Inform beginning of tracking to physics processes
+\item Track the particle Step-by-Step while it is alive
+\begin{itemize}
+  \item Call Stepping method of G4SteppingManager
+  \item Append a trajectory point to the trajectory object if it 
+        is requested    
+\end{itemize}
+\item Post tracking user intervention process. 
+\item Destroy the trajectory if it was created
+\end{enumerate}
+
+\mbox{}
+{\bf Stepping() in G4SteppingManager }
+\begin{enumerate}
+\item Initialize current step
+\item If particle is stopped, get the minimum life time from all 
+      the at rest processes and invoke InvokeAtRestDoItProcs for 
+      the selected AtRest processes 
+\item If particle is not stopped:
+\begin{itemize}
+  \item Invoke DefinePhysicalStepLength, that finds the minimum 
+        step length demanded by the active processes 
+  \item Invoke InvokeAlongStepDoItProcs
+  \item Update current track properties by taking into account all 
+        changes by AlongStepDoIt
+  \item Update the {\em safety}
+  \item Invoke PostStepDoIt of the active discrete process.
+  \item Update the track length
+  \item Send G4Step information to Hit/Dig if the volume is sensitive
+  \item Invoke the user intervention process.
+  \item Return the value of the StepStatus.
+\end{itemize}
+\end{enumerate}
+
+\section{Interaction with Physics Processes}
+
+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 {\tt GetPhysicalInteractionLength()} 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 
+{\tt G4SteppingManager}.  To calculate the step length, the 
+{\tt DefinePhysicalStepLength()} method is called.  The flow of this 
+method is the following:
+
+\begin{itemize}
+\item Obtain maximum allowed Step in the volume define by the user 
+      through G4UserLimits.
+\item 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.
+\item 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 
+\end{itemize}
+
+The method {\tt G4SteppingManager::InvokeAlongStepDoIts()} is in charge 
+of calling the AlongStepDoIt methods of the different processes:
+\begin{itemize}
+\item If the current step is defined by a 'ExclusivelyForced' 
+PostStepGetPhysicalInteractionLength, no AlongStepDoIt method will be invoked
+\item Else, all the active continuous processes will be invoked, and they return the ParticleChange. 
+After it for each process the following is executed:
+  \begin{itemize}
+  \item 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
+  \item Then for each secondary:
+    \begin{itemize}
+    \item 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)
+    \item The parentID and the process pointer which created this track are set    \item 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
+    \end{itemize}
+   \item The track status is set according to what the process defined
+  \end{itemize}
+\end{itemize}
+
+The method G4SteppingManager::InvokePostStepDoIts is on charge of calling the PostStepDoIt methods of the different processes.
+\begin{itemize}
+\item 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:
+  \begin{itemize}
+  \item Update PostStepPoint of Step according to ParticleChange
+  \item Update G4Track according to ParticleChange after each PostStepDoIt
+  \item Update safety\footnote{} after each invocation of PostStepDoIts
+  \item The secondaries from ParticleChange are stored to SecondaryList
+  \item Then for each secondary:
+    \begin{itemize}
+    \item 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)
+    \item The parentID and the process pointer which created this track are set    \item 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
+    \end{itemize}
+   \item The track status is set according to what the process defined
+  \end{itemize}
+\end{itemize}
+
+The method G4SteppingManager::InvokeAtRestDoIts is called instead of the three above methods in case the track status is {\em fStopAndALive}. It is on charge of selecting the rest process which has the shortest time before and then invoke it:
+\begin{itemize}
+\item 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.
+\item Set the step length of current track and step to 0.
+\item 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.
+
+After it for each process the following is executed:
+  \begin{itemize}
+  \item Set the current process as a process which defined this Step length.
+   \item 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.
+  \item The secondaries from ParticleChange are stored to SecondaryList
+  \item Then for each secondary:
+    \begin{itemize}
+    \item 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)
+    \item The parentID and the process pointer which created this track are set    \item 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
+    \end{itemize}
+   \item The track is updated and its status is set according to what the process defined
+  \end{itemize}
+\end{itemize}
+
+
+\section{Ordering of Methods of Physics Processes}
+The ProcessManager of a particle is responsible for providing the 
+correct ordering of process invocations.  {\tt G4SteppingManager} 
+invokes the processes at each phase just following the order given 
+by the ProcessManager of the corresponding particle. 
+
+For some processes the order is important.
+{\sc 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 {\sc Geant4}. 
+This default ordering is the following:
+
+\begin{enumerate}
+\item Ordering of GetPhysicalInteractionLength 
+   \begin{itemize}
+   \item In the loop of GetPhysicalInteractionLength of 
+         AlongStepDoIt, the Transportation process has to be invoked 
+         at the end. 
+   \item In the loop of GetPhysicalInteractionLength of 
+         AlongStepDoIt, the Multiple Scattering process 
+         has to be invoked just before the Transportation process. 
+   \end{itemize}
+\item Ordering of DoIts 
+   \begin{itemize}
+   \item 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?
+   \end{itemize}
+\end{enumerate}
+
+\section{Status of this chapter}
+
+       created by ? \\
+10.06.02 partially re-written by D.H. Wright \\
+14.11.02 updated and partially re-written by P. Arce \\ 
+
+\begin{latexonly}
+
+\begin{thebibliography}{999}
+\bibitem{applGuide} Geant4 Users' Guide for Application Developers.
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\section{Bibliography}
+
+\begin{enumerate}
+\item Geant4 Users' Guide for Application Developers.
+\end{enumerate}
+
+\end{htmlonly}
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/UserInterface/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/UserInterface/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/UserInterface/CVS/Entries	(revision 1208)
@@ -0,0 +1,4 @@
+/classDgmUserInterface.eps/1.1/Mon Dec 18 10:28:26 2006//
+/classDgmUserInterface.ps/1.2/Tue Jul 17 18:06:17 2001//
+/userInterface.tex/1.6/Mon Dec 18 10:28:26 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/UserInterface/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/UserInterface/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/UserInterface/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/UserInterface
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/UserInterface/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/UserInterface/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/UserInterface/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/UserInterface/userInterface.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/UserInterface/userInterface.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/UserInterface/userInterface.tex	(revision 1208)
@@ -0,0 +1,55 @@
+\chapter{Intercoms}
+
+\section{Design Philosophy}
+
+The intercoms category implements an expandable command interpreter which 
+is the key mechanism in {\sc 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 {\it G4UIsession}.  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.
+
+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.
+
+The intercoms category also provides the virtual base classes
+\begin{itemize}
+\item G4VVisManager,
+\item G4VGraphicsScene, and
+\item G4VGlobalFastSimulationManager.
+\end{itemize}
+
+\section{Class Design}
+
+\begin{itemize}
+\item {\bf G4UISession} -
+\item {\bf G4UIBatch} -
+\item {\bf G4UICommand} -
+\item {\bf G4UIparameter} -
+\item {\bf G4UImessenger} -
+\end{itemize}
+
+The object-oriented design of the 'user interface' related classes
+is shown in the class diagram Fig. \ref{figure:userInt-1}. 
+The diagram is described in the Booch notation. 
+\newline
+
+
+\begin{figure}[h!]
+\includegraphics[angle=0,scale=0.55]{OOAnalysisDesign/UserInterface/classDgmUserInterface.eps}
+\vspace{10pt}
+\caption{Overview of intercom classes}
+\label{figure:userInt-1}
+\end{figure}
+
+
+\section{Status of this section}
+
+27.06.05 design philosophy (from Geant4 general paper) and class design 
+         sections added by D.H. Wright \\
+
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Visualization/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Visualization/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Visualization/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/visualization.tex/1.19/Mon Jul 10 15:13:13 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Visualization/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Visualization/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Visualization/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Visualization
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Visualization/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Visualization/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Visualization/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Visualization/visualization.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Visualization/visualization.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Visualization/visualization.tex	(revision 1208)
@@ -0,0 +1,405 @@
+\chapter{Visualisation}
+\label{OOChapVis}
+
+\section{Design Philosophy}
+
+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.  
+
+A wide variety of user requirements went into the design of the visualisation 
+category, for example:
+\begin{itemize}
+\item very quick response in surveying successive events,
+\item high-quality output for presentation and documentation,
+\item flexible camera control for debugging detector geometry and physics,
+\item selection of visualisable objects,
+\item interactive picking of graphical objects for attribute editing or 
+      feedback to the associated data,
+\item highlighting incorrect intersections of physical volumes,
+\item co-working with graphical user interfaces.
+\end{itemize}
+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
+{\bf graphics system} means either an application running as a
+process independent of {\sc Geant4} or a graphics library to be
+compiled with {\sc Geant4}.  A concrete implementation of the
+interface is called a {\bf visualisation driver}, 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.
+
+\section{The Graphics Interfaces}
+
+\begin{itemize}
+
+\item {\bf 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).
+
+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:
+\begin{verbatim}
+  G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
+  if(pVVisManager) {
+    pVVisManager->Draw(G4Circle...
+    ...
+\end{verbatim}
+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.
+
+The concrete implementation of this interface is hereafter
+referred to as the {\bf visualisation manager.}
+
+\item {\bf G4VGraphicsScene} 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.
+
+\end{itemize}
+
+The Geant4 distribution includes implementations of the above
+interfaces, namely {\bf G4VisManager} and {\bf G4VSceneHandler}
+respectively, and their associated classes.  These define further
+abstract base classes for visualisation drivers.  Together they form
+the {\bf Geant4 Visualisation System}.  A variety of concrete
+visualisation drivers are also included in the distribution.  Details
+of how to implement a visualisation driver are given in Chapter
+\ref{ExtendChapVis} in Part III.  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.
+
+\section{The Geant4 Visualisation System}
+
+The Geant4 Visualisation System consists of
+
+\begin{itemize}
+
+\item {\bf G4VisManager} An implementation of the G4VVisManager
+  interface.  It manages multiple graphics systems and defines three
+  more concepts -- the {\bf scene} (G4Scene), the {\bf scene handler}
+  (base class G4VSceneHandler, itself a sub-class of G4VGraphicsScene)
+  and the {\bf viewer} (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.
+
+\item {\bf G4VisExecutive} 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.
+
+\item {\bf G4Scene} The scene is a list if models for physical
+  volumes, axes, hits, trajectories, etc.\@ -- see Section
+  \ref{secModeling}. 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 {\bf extent}
+  (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.
+
+\item {\bf G4VGraphicsSystem} 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.
+
+\item {\bf G4VSceneHandler} 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 Section
+  \ref{Transients}, Transients, in Part III).
+
+\item {\bf G4VViewer} 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 {\bf view parameters}
+  (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 {\bf standard view}, 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).
+
+  The viewer is messaged by the vis manager when the user issues
+  commands, such as {\tt /vis/viewer/refresh}.  This invokes methods
+  such as SetView, ClearView and DrawView.  A detailed description of
+  the call sequences is given in Sections
+  \ref{Actions}-\ref{ProcessScene} in Part III.
+
+\end{itemize}
+
+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).
+
+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 {\sc 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:
+\begin{enumerate}
+\item G4DAWNFILE : public G4VGraphicsSystem\newline
+         for creation of the scene handlers and viewers 
+\item G4DAWNFILESceneHandler : public G4VSceneHandler\newline
+         for modeling 3D scenes 
+\item G4DAWNFILEView : public G4VView\newline
+         for rendering 3D scenes 
+\end{enumerate}
+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. 
+
+
+\section{Modeling sub-category}
+\label{secModeling}
+
+\begin{itemize}
+\item {\bf G4VModel} - a base class for visualisation models.  A model is a
+      graphics-system-independent description of a Geant4 component.
+
+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.
+
+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.
+
+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: 
+\begin{verbatim}
+    virtual void DescribeYourselfTo (G4VGraphicsScene&) = 0;
+\end{verbatim}
+
+The argument class G4VGraphicsScene is a minimal abstract 
+interface of a 3D scene for the {\sc 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. 
+
+It is easy for a toolkit developer of {\sc Geant4} to add a new kind 
+of visualisable component object. It is done by implementing a
+new class inheriting from G4VModel.
+
+\item {\bf G4VTrajectoryModel} - an abstract base class for trajectory drawing models. 
+
+A trajectory model governs how an individual trajectory is drawn. Concrete models inheriting from G4VTrajectoryModel must implement two pure virtual functions:
+
+\begin{verbatim}
+    virtual void Draw(const G4VTrajectory&, G4int i_mode = 0) const = 0;
+    virtual void Print(std::ostream& ostr) const = 0;
+\end{verbatim}
+
+See for example G4TrajectoryDrawByParticleID.
+
+\item {\bf G4VModelFactory} - an abstract base class for factories creating models and associated messengers.
+
+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.
+
+Concrete factories must implement one pure virtual function:
+
+\begin{verbatim}
+virtual ModelAndMessengers 
+Create(const G4String& placement, const G4String& modelName) = 0;
+\end{verbatim}
+
+where placement indicates which directory space the commands should occupy.
+See for example G4TrajectoryDrawByParticleIDFactory.
+
+\end{itemize}
+\section{View parameters}
+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
+\verb+/vis/viewer/reset+ command).
+
+If a toolkit developer of {\sc Geant4} wants to add entries of view 
+parameters, he should add fields and methods to G4ViewParameters. 
+
+\section{Visualisation Attributes}
+
+All drawable objects (should) have a method:
+\begin{verbatim}
+  const G4VisAttributes* GetVisAttributes() const;
+\end{verbatim}
+
+A drawable object might be:
+\begin{itemize}
+\item a "visible" (i.e., inheriting G4Visible), such as a polyhedron,
+polyline, circle, etc. (note that text is a slightly special case
+- see below) or
+\item a solid whose vis attributes are held in its logical volume.
+\end{itemize}
+
+\subsection{Finding the applicable vis attributes}
+
+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.
+
+\subsubsection{Visibles}
+
+If the vis attributes pointer is zero, drivers should pick up the
+default vis attributes from the viewer:
+\begin{verbatim}
+  const G4VisAttributes* pVisAtts = visible.GetVisAttributes();
+  if (!pVisAtts) 
+    pVisAtts = fpViewer->GetViewParameters().GetDefaultVisAttributes();
+\end{verbatim}
+where visible denotes any visible object (polyhedron, circle, etc.).
+
+There is a utility function G4VViewer::GetApplicableVisAttributes
+which does this, so an alternative is:
+\begin{verbatim}
+  const G4VisAttributes* pVisAtts =
+    fpViewer->GetApplicableVisAttributes(visible.GetVisAttributes());
+\end{verbatim}
+
+Confusingly, there is a utility function G4VSceneHandler::GetColour
+which also does this, so if it's only colour you need, the following
+suffices:
+\begin{verbatim}
+  const G4Colour& colour GetColour(visible);
+\end{verbatim}
+
+but equally well:
+\begin{verbatim}
+  const G4VisAttributes* pVisAtts =
+    fpViewer->GetApplicableVisAttributes(visible.GetVisAttributes());
+  const G4Colour& colour pVisAtts->GetColour();
+\end{verbatim}
+
+or even:
+\begin{verbatim}
+  const G4VisAttributes* pVisAtts = visible.GetVisAttributes();
+  if (!pVisAtts) 
+    pVisAtts = fpViewer->GetViewParameters().GetDefaultVisAttributes();
+  const G4Colour& colour pVisAtts->GetColour();
+\end{verbatim}
+
+\subsubsection{Text}
+
+Text is a special case because it has its own default vis attributes:
+\begin{verbatim}
+  const G4VisAttributes* pVisAtts = text.GetVisAttributes();
+  if (!pVisAtts) 
+    pVisAtts = fpViewer->GetViewParameters().GetDefaultTextVisAttributes();
+  const G4Colour& colour pVisAtts->GetColour();
+\end{verbatim}
+
+and there is a utility function G4VSceneHandler::GetTextColour:
+\begin{verbatim}
+  const G4Colour& colour GetTextColour(text);
+\end{verbatim}
+
+\subsubsection{Solids}
+
+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.
+
+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.
+
+\subsubsection{Drawing style}
+
+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:
+\begin{verbatim}
+  G4ViewParameters::DrawingStyle drawing_style = GetDrawingStyle(pVisAtts);
+\end{verbatim}
+
+\subsubsection{Auxiliary edges}
+
+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:
+\begin{verbatim}
+  G4bool isAuxEdgeVisible = GetAuxEdgeVisible (pVisAtts);
+\end{verbatim}
+
+\subsubsection{LineSegmentsPerCircle}
+
+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:
+\begin{verbatim}
+  G4Polyhedron::SetNumberOfRotationSteps (GetNoOfSides (pVisAttribs));
+\end{verbatim}
+
+
+\subsubsection{Marker size}
+
+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:
+\begin{verbatim}
+  MarkerSizeType sizeType;
+  G4double size = GetMarkerSize (text, sizeType);
+\end{verbatim}
+
+sizeType is world or screen, signifying that the size is in world
+coordinates or screen coordinates respectively.
+
+
+\section{Status of this chapter}
+
+27.06.05 partially re-organized and section on design philosophy added (from 
+         Geant4 general paper) by D.H. Wright \\
+13.10.05 Section on vis attributes added by John Allison. \\
+06.01.06 Re-write of ``Design Philosphy'' and introduction of ``The Graphics
+         Interfaces'' and ``The Geant4 Visualisation System'' by John Allison.
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/UserRequirementsDocument/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/UserRequirementsDocument/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/UserRequirementsDocument/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/userRequirements.tex/1.5/Sat May 10 22:19:52 2003//
+D
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/UserRequirementsDocument/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/UserRequirementsDocument/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/UserRequirementsDocument/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/UserRequirementsDocument
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/UserRequirementsDocument/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/UserRequirementsDocument/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/UserRequirementsDocument/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/UserRequirementsDocument/userRequirements.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/UserRequirementsDocument/userRequirements.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/UserRequirementsDocument/userRequirements.tex	(revision 1208)
@@ -0,0 +1,20 @@
+\subsection{Source of User Requirement Document}
+
+The Geant4 User Requirements Document follows the PSS-05 software 
+engineering standards. A general description of the main 
+capabilities and constrains is provided. The users are 
+characterized in different categories depending on the level of 
+interaction with the system. Also specific requirements are 
+listed and classified. 
+
+You can obtain the document by clicking the following link: 
+
+\begin{itemize}
+  \item URL of Geant4 User Requirements Document is 
+\end{itemize}
+
+\begin{verbatim}
+     http://cern.ch/geant4/OOAandD/URD.pdf
+\end{verbatim}
+
+
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/emptybib.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/emptybib.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/emptybib.tex	(revision 1208)
@@ -0,0 +1,6 @@
+
+ 
+\begin{thebibliography}{999}
+% \bibitem{applGuide} Geant4 Users' Guide for Application Developers.
+\end{thebibliography}
+ 
Index: /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/toolkitDeveloper.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/toolkitDeveloper.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/toolkitDeveloper.tex	(revision 1208)
@@ -0,0 +1,58 @@
+\documentclass[12pt,a4paper,oneside]{book}
+\usepackage[dvips]{graphicx}
+\usepackage{html}
+% \usepackage[dvips]{epsfig}
+\usepackage{moreverb}
+\usepackage{xspace}
+\title{Geant4 User's Guide - For Toolkit Developers}
+\pagestyle{plain}
+\begin{document}
+{
+\maketitle
+\pagestyle{empty}
+\setcounter{page}{-3}
+\tableofcontents
+\setcounter{page}{-0}
+\pagestyle{empty}
+}
+
+\part{Introduction}
+\input{Introduction/introduction}
+
+\part{Design and Function of Geant4 Categories}
+\include{OOAnalysisDesign/Introduction/introduction}
+\include{OOAnalysisDesign/Run/run}
+\include{OOAnalysisDesign/Event/event}
+\include{OOAnalysisDesign/Tracking/tracking}
+\include{OOAnalysisDesign/PhysicsProcesses/physicsProcesses}
+\include{OOAnalysisDesign/Hit/hit}
+\include{OOAnalysisDesign/Geometry/geometry}
+\include{OOAnalysisDesign/ElectromagneticField/electroMagneticField}
+\include{OOAnalysisDesign/Particles/particles}
+\include{OOAnalysisDesign/Materials/materials}
+\include{OOAnalysisDesign/GlobalUsage/globalUsage}
+\include{OOAnalysisDesign/Visualization/visualization}
+\include{OOAnalysisDesign/UserInterface/userInterface}
+
+\part{Extending Toolkit Functionality}
+\include{GuideToExtendFunctionality/Geometry/geometry}
+\include{GuideToExtendFunctionality/ElectromagneticField/electroMagneticField}
+\include{GuideToExtendFunctionality/PhysicsProcesses/physicsProcesses}
+\include{GuideToExtendFunctionality/HadronicPhysics/hadronics}
+\include{GuideToExtendFunctionality/Visualization/visualization}
+
+\part{Appendix}
+\include{OOAnalysisDesign/GeomClassDgm/diagrams}
+\include{emptybib}
+
+\end{document}
+
+
+
+
+
+
+
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+D/html////
+D/print////
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/InstallationGuide
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/CVS/Entries	(revision 1208)
@@ -0,0 +1,4 @@
+/index.html/1.25/Wed Nov 29 02:06:17 2006//
+D/Introduction////
+D/PCMachines////
+D/UnixMachines////
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/InstallationGuide/html
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/Introduction/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/Introduction/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/Introduction/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/introduction.html/1.39/Mon Dec 18 10:28:26 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/Introduction/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/Introduction/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/Introduction/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/InstallationGuide/html/Introduction
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/Introduction/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/Introduction/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/Introduction/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/Introduction/introduction.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/Introduction/introduction.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/Introduction/introduction.html	(revision 1208)
@@ -0,0 +1,161 @@
+<HTML>
+<HEAD>
+<TITLE>Installation Introduction</TITLE>
+<!-- Changed by: Dennis Wright,  2-Dec-2002 -->
+<!-- Proof read by: Joe Chuma,   7-Jun-1999 -->
+</HEAD>
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+
+
+<A HREF="../index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/PreviousGR.gif" ALT="Previous">
+<A HREF="../UnixMachines/unixMachines.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<P ALIGN="Right">
+<B>Installation Guide</B><BR>
+</FONT>
+</TD>
+</TR></TABLE>
+<P>
+
+<BR><BR>
+<P ALIGN="Center">
+<FONT SIZE="+4" COLOR="#238E23">
+<A name="1">
+<B>1. Installation Introduction</B></A>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+<!-- ============================================== Section --> 
+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. 
+<P>
+A shell script (<CODE>Configure</CODE>) is provided to facilitate the
+installation procedure, and to help the user set up the environment correctly.
+<P>
+
+<A name="1.1">
+<H2>1.1 Supported Computers and Operating Systems</H2></A>
+
+Geant4 is supported under the following operating systems:
+<UL>
+<LI>Linux on PC with g++ (gcc compiler)
+<LI>Flavors of Unix (from vendors: SUN)
+<LI>Windows/XP with MicroSoft Visual C++
+</UL>
+
+Currently, this is the set of flavors which can be associated with the environment 
+variable <CODE>$G4SYSTEM</CODE> to identify the system architecture and compiler 
+used: 
+<PRE>
+    Linux   - Scientific Linux CERN, SLC3 or SLC4
+              g++ gcc 3.2.3 or 3.4.5                 G4SYSTEM: Linux-g++
+    UNIX    - SUN-SunOS v.5.8, CC Forte Developer 7
+              C++ 5.4 Patch 111715-05                G4SYSTEM: SUN-CC
+    Windows - Windows XP and Cygwin32,
+              MSVC++ 7.1 .NET                        G4SYSTEM: WIN32-VC
+</PRE>
+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 <CODE>geant4/ReleaseNotes</CODE> (also
+accessible from the web
+<a href="http://cern.ch/geant4/support/download.shtml">distribution page</a>). 
+<P>
+<BR>
+<HR>
+
+<A name="1.2">
+<H2>1.2 Required Software</H2></A>
+
+To run Geant4, the following software must be properly installed
+in your computing environment:
+<UL>
+<LI>C++ compiler<BR>
+   (compiler from Unix vendor, g++ or Visual C++ for Windows systems)
+<LI>CLHEP library<BR>
+   (see CLHEP reference guide    
+   <a target="ext" href="http://cern.ch/clhep/manual/RefGuide">
+   cern.ch/clhep/manual/RefGuide</a>) 
+<LI>GNU Make (note: g++ preprocessing is used to build file dependencies)
+    is also used and a UNIX  shell
+<LI>The Geant4 toolkit source code
+</UL>
+<P>
+<BR>
+<HR>
+
+<A name="1.3">
+<H2>1.3 Visualization Software</H2></A>
+
+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:
+<UL>
+<LI>X Windows</LI>
+<LI><a target="ext" href="http://www.opengl.org">OpenGL</a> or
+    <a target="ext" href="http://www.mesa3d.org">MesaGL</a>
+    (free software compatible with OpenGL)</LI>
+<LI><a target="ext" href="http://geant4.kek.jp/GEANT4/vis">DAWN</a>,
+    a PostScript renderer</LI>
+<LI><a target="ext" href="http://oss.sgi.com/projects/inventor">Open Inventor</a>
+    (free software from SGI)</LI>
+<LI><a target="ext" href="http://www.lal.in2p3.fr/OpenScientist">Open Scientist</a>
+    (Interactive environment, including GUI)</LI>
+<LI><a target="ext" href="http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired">WIRED3 HepRep Browser</a>
+    (<a target="ext" href="http://www.slac.stanford.edu/~perl/heprep">HepRep</a> Browser)</LI>
+<LI><a target="ext" href="http://wired.freehep.org">WIRED4 JAS Plug-In</a>
+    (<a target="ext" href="http://www.slac.stanford.edu/~perl/heprep">HepRep</a> Browser)</LI>
+<LI><a target="ext" href="http://erpc1.naruto-u.ac.jp/~geant4">Momo</a>
+    (a <a target="ext" href="http://java.sun.com">Java</a>-based GUI
+    environment, GGE, GPE, ...)</LI>
+<LI>VRML browser</LI>
+</UL>
+
+Alternatively, you can produce an ascii file for VRML or DAWN.
+<P>
+More information is available in Section 8.6, Visualization Drivers, of the
+User's Guide for Application Developers.
+<P>
+<BR>
+<HR>
+
+<A name="1.4">
+<H2>1.4 Software for Analysis and Histogramming</H2></A>
+
+Histogramming facilities are provided through the <B>AIDA</B> abstract
+interface, which in this case needs to be installed as well:
+<UL>
+  <LI><A target="ext" href="http://aida.freehep.org">AIDA</A>
+    (Abstract Interfaces for Data Analysis)
+</UL>
+
+External, AIDA-compliant packages which provide the necessary
+functionalities for doing histogramming (and therefore, should be optionally
+installed) are:
+<UL>
+  <LI><A target="ext" href="http://jas.freehep.org">JAS</A>
+    (Java Analysis Studio)
+  <LI><A target="ext" href="http://cern.ch/pi">PI</A> 
+    (AIDA Interactive Analysis Environment)
+  <LI><A target="ext" href="http://www.lal.in2p3.fr/OpenScientist">Open Scientist</A> 
+    (Interactive Analysis Environment) .
+</UL>
+
+<BR><BR>
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/PCMachines/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/PCMachines/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/PCMachines/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/pcMachines.html/1.48/Mon Dec 18 10:28:26 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/PCMachines/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/PCMachines/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/PCMachines/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/InstallationGuide/html/PCMachines
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/PCMachines/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/PCMachines/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/PCMachines/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/PCMachines/pcMachines.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/PCMachines/pcMachines.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/PCMachines/pcMachines.html	(revision 1208)
@@ -0,0 +1,197 @@
+<HTML>
+<HEAD>
+<TITLE>PC Machines</TITLE>
+</HEAD>
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+
+
+<A HREF="../index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="../UnixMachines/unixMachines.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/NextGR.gif" ALT="Next">
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<P ALIGN="Right">
+<B>Installation Guide</B><BR>
+</FONT>
+</TD>
+</TR></TABLE>
+<P>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+4" COLOR="#238E23">
+<B>3. Tips for Installing on Windows</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+<!-- ============================================== Section --> 
+<HR>
+<A name="3.1">
+<H2>3.1 Windows with the Cygwin Toolset and Microsoft Visual C++</H2></A>
+
+<P>
+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.<br>
+Cygwin32 is a UNIX development environment available for Microsoft Windows. 
+You can freely obtain Cygwin32 from
+<A target="ext" HREF="http://cygwin.com">Cygwin</a> or
+<A target="ext" HREF="http://x.cygwin.com">Cygwin/X</a>.<br>
+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 <TT>nmake</TT> application of MS Visual C++.
+<P>
+We use several of the tools provided by the Cygwin toolset:
+<UL>
+<LI><TT>make.exe</TT> as a make tool</LI>
+<LI><TT>g++.exe</TT> as a tool to analyse source file dependencies and create 
+    dependency (<TT>.d</TT>) files</LI>
+<LI>several other unix tools like <TT>cp</TT>, <TT>mv</TT>, <TT>rm</TT>,
+    <TT>touch</TT>, etc.</LI>
+</UL>
+At the installation of the Cygwin toolset it is therefore required to
+explicitely select some packages (i.e. <i>gmake</i>, <i>gcc</i>, <i>binutils</i> and
+<i>tcsh</i> from the "devel" category) in addition to those which are part of
+the default installation.<BR>
+For more details on the toolset, please see the documentation available on the 
+<a target="ext" href="http://cygwin.com">Cygwin pages</a>. The User's Guide has
+quick start guides and help with setting up Cygwin with <TT>setup.exe</TT>.<BR>
+Links to some installation tips for the Cygwin toolset and also "step by step"
+installation guides can be found in
+<A HREF="../../../ForApplicationDeveloper/html/Appendix/buildFile.html">section 10.6</A>
+of the Application Developers Guide.
+<P>
+The usage of Cygwin32 for the build environment results in a build procedure
+similar to that on a UNIX system.  The documentation in the User's Guide for 
+Application Developers, Section 10.5, is largely applicable in this case.
+<P>
+The following steps are required to install geant4: 
+<OL>
+  <LI> Install Cygwin (see also notes above):<BR>
+    We do not depend on any specific feature of the version of Cygwin, 
+    so newer versions (or slightly older) are expected to work.</LI>
+  <LI> 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 <TT>cygwin.bat</TT> of Cygwin32 to
+    include all the MSDOS commands found in the file 
+    <TT>vcvars32.bat</TT> provided in MS Visual C++ (in the VC++ .NET compiler
+    installation directory, and usually located inside the
+    <TT>Common7/Tools</TT> 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.</LI>
+  <LI> Unpack the source code into a directory of your choice.</LI>
+  <LI> Start the <TT>Cygwin</TT> shell from the start menu.</LI>
+  <LI> 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 <TT>geant4-setup.sh</TT>, 
+    and you must execute it with<BR>
+    <PRE>
+	. geant4-setup.sh
+    </PRE>
+    including the leading dot and blank space. You could also have this as 
+    your <TT>.bashrc</TT> file. The commands in the command file should be: 
+    <PRE>
+	# 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
+	#
+    </PRE>
+    Note, in the example above, CLHEP was installed in <TT>C:/usr/local</TT>, 
+    therefore <TT>include/CLHEP</TT> and <TT>lib/CLHEP.lib</TT> must be 
+    included therein.</LI>
+  <LI> Once the environment is correctly set, the libraries are built using 
+       make from the <TT>geant4/source</TT> directory typing <TT>make</TT> 
+       from the <tt>Cygwin bash</TT> shell prompt.</LI>
+</OL>
+Examples can be built in the same way as the libraries from 
+examples/novice/N01, for instance: 
+type <TT>make</TT> from the shell prompt.<BR>
+Note that, depending on which external software is used, there may be
+some warnings in linking; e.g., we get 
+<TT>"unrecognized source file type -file.o-,object file assumed"</TT>, or 
+warnings of conflictings libraries.  This often seems to be caused by an 
+external library compiled for a different run time environment. 
+
+<P> 
+The binary of the example is placed by default into the 
+<TT>geant4/bin/WIN32-VC</TT> directory. You may run it either from this 
+directory or from the <TT>examples/novice/N01</TT> directory; sample input 
+and output files are placed in each of the <TT>examples/novice</TT>
+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:
+<PRE>
+	#
+	# Environment variables needed to find geant4 data files:
+	#
+	# Data for neutron scattering processes, 
+	#    distributed in a separate tar file, then placed under data
+	export NeutronHPCrossSections=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
+	#
+</PRE>
+<P>
+All compiler and linker options are set in <TT>config/sys/WIN32-VC.gmk</TT>.
+If you require options different from our choice, you can modify this file.
+
+<!-- ============================================== Section --> 
+<HR>
+<A name="3.2">
+<H2>3.2 Building Kernel Libraries DLLs</H2></A>
+<p>
+DLLs (Dynamic Link Libraries) on Windows are supported for .NET VC++ and can
+be built for the <TT>compound</TT> kernel libraries of Geant4 (see the
+<a href="../UnixMachines/unixMachines.html">Installation Procedure</a> of this
+Guide for a dissertation on <TT>global/compound</TT> libraries).
+<P>
+The libraries can be built either manually, issuing the command:
+<PRE>
+        make dll
+</PRE>
+from the directory <TT>$G4INSTALL/source</TT> or by specifying it through
+the <TT>Configure</TT> script used for the installation.<BR>
+Then, to build any application making use of the installed DLLs, the
+environment variable <TT>G4LIB_USE_DLL</TT> must be set in the environment.<BR>
+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 <TT>PATH</TT> variable; for example:
+<PRE>
+        export PATH=$PATH:/usr/local/geant4/lib/$G4SYSTEM
+</PRE>
+You may then be able to run successfully your application.
+</P>
+
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
+
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/UnixMachines/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/UnixMachines/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/UnixMachines/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/unixMachines.html/1.35/Mon Dec 18 10:28:26 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/UnixMachines/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/UnixMachines/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/UnixMachines/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/InstallationGuide/html/UnixMachines
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/UnixMachines/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/UnixMachines/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/UnixMachines/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/UnixMachines/unixMachines.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/UnixMachines/unixMachines.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/UnixMachines/unixMachines.html	(revision 1208)
@@ -0,0 +1,280 @@
+<HTML>
+<HEAD>
+<TITLE>Unix Machines</TITLE>
+</HEAD>
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+
+
+<A HREF="../index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="../Introduction/introduction.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A HREF="../PCMachines/pcMachines.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<P ALIGN="Right">
+<B>Installation Guide</B><BR>
+</FONT>
+</TD>
+</TR></TABLE>
+<P>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+4" COLOR="#238E23">
+<A name="2">
+<B>2. Installation Procedures</B></A>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+<!-- ============================================== Section --> 
+
+Before installing Geant4, the required software listed in
+<A HREF="../Introduction/introduction.html">section 1.2</A>
+(and <A HREF="../Introduction/introduction.html">1.3</A> in the case of
+graphics drivers) of this Installation Guide must already be installed on
+your system.
+
+<p>
+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 <CODE>Configure</CODE> shell script, which will allow
+the installation of just the necessary source code and libraries in a 
+specified installation area.
+<P>
+
+<A name="2.1">
+<H2>2.1 Using the <CODE>Configure</CODE> Script for installation</H2></A>
+
+A shell script is provided for building the libraries and to allow easy
+installation in a specified area.
+The <CODE>Configure</CODE> shell script is placed in the top directory tree
+of the distribution (<CODE>geant4/Configure</CODE>) 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: 
+<UL>
+<LI>the compiler to be used</LI>
+<LI>the path where the Geant4 toolkit is to be installed 
+    (<CODE>$G4INSTALL</CODE>)</LI>
+<LI>definition of installation directory paths (optional)</LI>
+<LI>kind of graphics/analysis system(s) installed in the system,
+    and paths to the installation of each graphics/analysis package</LI>
+<LI>the kind of library to be generated: static/shared, compound/granular.</LI>
+</UL>
+
+To run the installer script for installation of the Geant4 toolkit,
+one must type the following from the top directory <CODE>geant4</CODE>: 
+<PRE>
+ > ./Configure -build
+</PRE>
+and follow the on-screen instructions. 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.
+<P>
+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:
+<PRE>
+ > cd geant4/source
+ > gmake clean
+</PRE>
+where the <CODE>$G4SYSTEM</CODE> environment variable (specifying the
+kind of architecture and compiler used) is manually set in your environment
+(according to the flavors listed in section 1.1).
+<P>
+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
+<CODE>Configure</CODE> and providing the new settings.
+<P>
+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:
+<PRE>
+ > ./Configure -install
+</PRE>
+Libraries and necessary source code will be installed in <TT>lib/geant4</TT>,
+<TT>include/geant4</TT> (if selected to install all headers in a single
+directory), <TT>src/geant4</TT>, respectively.<BR>
+<CODE>$G4INSTALL</CODE> will be set to
+<CODE>[INSTALLATION_AREA]/src/geant4</CODE>.
+
+<BR>
+<HR>
+<A name="2.1.1">
+<H2>2.1.1 Configuring the Environment to Use Geant4</H2></A>
+Once libraries have been installed, the user's environment must be correctly 
+set up for the usage of the Geant4 toolkit.  The <CODE>Configure</CODE> script 
+provides a way to check the existing installation and provide the correct 
+configuration for the user's environment. Configuration scripts 
+<TT>env[.sh.csh]</TT> can be generated, and should be sourced by the final
+users in order to configure their environment according to the performed
+installation.<BR>
+
+To generate the configuration scripts, the user should run <TT>Configure</TT>
+placed in the installation area, as follows:
+<PRE>
+ > $G4INSTALL/Configure
+</PRE>
+This will generate the shell script <CODE>env.csh</CODE> (<CODE>env.sh</CODE>
+for <TT>bash</TT> shell) to be sourced or integrated into the shell login 
+script (<CODE>.tcshrc</CODE> or <CODE>.bashrc</CODE>).
+The shell script will be generated in the user's current directory 
+(<CODE>$PWD</CODE>).  The user can customize it to specify for example 
+her/his proper working directory through the variable <CODE>$G4WORKDIR</CODE>.
+Once the generated script is sourced, the user will be ready to start building 
+a Geant4 application.<BR>
+Refer to <a href="../../../ForApplicationDeveloper/html/GettingStarted/makeFile.html">section 2.7</a> 
+of the "Geant4 User's Guide for Application Developers" for information on how 
+to build an executable in Geant4.
+
+<BR>
+<HR>
+
+<A name="2.2">
+<H2>2.2 Installing Geant4 Manually</H2></A>
+
+<p>
+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 
+<a href="../../../ForApplicationDeveloper/html/Appendix/makeFile.html">section 10.5</a> 
+ of the &quot;User's Guide - For Application Developers&quot;.
+</p>
+
+<h4>Required Environment Variables </h4>
+<DL> 
+  <dt><CODE>G4SYSTEM</CODE>: </dt>
+  <DD>set to one of the flavors listed in section 1.1 to specify the kind of 
+      architecture and compiler used 
+  <DT><CODE>G4INSTALL</CODE>: 
+  <DD>path where the Geant4 toolkit tree is installed (ex. <CODE>$HOME/geant4</CODE>) 
+  <dt><code>CLHEP_BASE_DIR</code>: 
+  <dd>path to the CLHEP installation 
+</DL>
+<h4>Optional Environment Variables </h4>
+<DL> 
+  <dt><CODE>G4WORKDIR</CODE>: </dt>
+  <DD>path of the user's working directory (default in <CODE>$G4INSTALL</CODE>) 
+  <dt><CODE>G4LIB</CODE>: </dt>
+  <DD>path where the kernel libraries should be installed (default in <CODE>$G4INSTALL/lib</CODE>) 
+  <dt><CODE>G4TMP</CODE>:</dt>
+  <dd>path where temporary files (object files, dependency files) are placed (default 
+    in <CODE>$G4WORKDIR/tmp)</CODE></dd>
+  <dt><CODE>G4BIN</CODE>:</dt>
+  <DD> path where final executable files are placed (default in <CODE>$G4WORKDIR/bin)</CODE>. 
+  <DT><CODE>G4INCLUDE</CODE>: 
+  <DD>path where source header files may be mirrored at installation by issuing
+    <CODE>gmake includes</CODE> (default in <CODE>$G4INSTALL/include</CODE>) 
+  <DT><CODE>G4DEBUG</CODE>: 
+  <DD>flag specifying that libraries be built with debug symbols (requires a 
+      lot of disk space). The default is optimised-mode 
+  <DT><CODE>G4LIB_BUILD_SHARED</CODE>: 
+  <DD>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 
+  <DT><CODE>G4LIB_BUILD_STATIC</CODE>: 
+  <DD>flag specifying that kernel libraries be built as static archive 
+      libraries. Note that you may specify this flag in addition to 
+      <code>G4LIB_BUILD_SHARED</code> to build shared and static libraries 
+      simultaneously.
+  <DT><CODE>G4LIB_BUILD_G3TOG4</CODE>: 
+  <DD>flag specifying that the library for the g3tog4 module be built. By 
+      default the library will not be built.
+  <DT><CODE>G4LIB_BUILD_ZLIB</CODE>: 
+  <DD>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.
+  <DT><CODE>G4_NO_VERBOSE</CODE>: 
+  <DD>defining this flag prevents the compilation of verbosity code (for 
+      better performance).  The default is with verbosity on.
+</DL>
+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:
+<UL>
+<LI>the kind of graphics driver(s) installed in the system 
+<LI>the path to the installation of each graphics driver 
+</UL>
+in case you want to build the Geant4 kernel libraries with the graphics 
+drivers built-in.  See 
+<a href="../../../ForApplicationDeveloper/html/Visualization/visdrivers.html">section
+8.3</a> in the User's Application Developers Guide.
+<P>
+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 <CODE>$G4INSTALL/source</CODE>: 
+<OL>
+<LI><CODE>gmake</CODE><BR>
+    This will make one library for each "leaf" category (maximum library
+    granularity) and automatically produce a map of library use and
+    dependencies. 
+<LI><CODE>gmake global</CODE><BR>
+    This will make global libraries, one for each major category.
+</OL>
+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.<BR>
+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
+<CODE>GNUmakefile</CODE> in <CODE>$G4INSTALL/source</CODE> parses the 
+dependency files of Geant4 and produces a file <CODE>libname.map</CODE> in 
+<CODE>$G4LIB</CODE>.
+<CODE>libname.map</CODE> is produced by the tool <CODE>liblist</CODE>, whose
+source code is in <CODE>$G4INSTALL/config</CODE>.<BR>
+When building a binary application the script <CODE>binmake.gmk</CODE> in
+<CODE>$G4INSTALL/config</CODE> will parse the user's dependency files and use
+<CODE>libname.map</CODE> to determine through <CODE>liblist</CODE> the required
+libraries to add to the linking list. Only the required libraries will be 
+loaded in the link command.<BR>
+The command <CODE>gmake libmap</CODE> issued from 
+<CODE>$G4INSTALL/source</CODE>,
+allows manual rebuilding of the dependency map. The command is issued by 
+default in the normal build process for granular libraries.<BR>
+It is possible to install both "granular" and "compound" libraries, by typing
+"gmake" and "gmake 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.
+
+<BR>
+<HR>
+<A name="2.3">
+<H2>2.3 Integrating Geant4 into a Generic Framework</H2></A>
+
+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 <CODE>G4INCLUDE</CODE> 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 (<CODE>G4INCLUDE</CODE>) and where installed libraries 
+are placed (<CODE>G4LIB</CODE>).
+<P>
+In <a href="../../../ForApplicationDeveloper/html/Appendix/makeFile.html">section 10.5</a>
+of the Appendix, you can find a list of all the environment variables, together
+with a section explaining how to integrate external libraries which may or may
+not use Geant4 kernel libraries, in the <TT>GNUmake</TT> mechanism of Geant4.
+<BR><BR>
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/index.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/index.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/html/index.html	(revision 1208)
@@ -0,0 +1,59 @@
+<HTML>
+<HEAD>
+<TITLE>Installation Guide</TITLE>
+</HEAD>
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+<A HREF="http://cern.ch/geant4/support/userdocuments.shtml">
+<IMG BORDER="0" SRC="../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></A>
+<IMG BORDER="0" SRC="../../../resources/html/IconsGIF/ContentsGR.gif" ALT="Contents">
+<IMG BORDER="0" SRC="../../../resources/html/IconsGIF/PreviousGR.gif" ALT="Previous">
+<IMG BORDER="0" SRC="../../../resources/html/IconsGIF/NextGR.gif" ALT="Next">
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Documents</B>
+</FONT>
+<BR>
+<FONT COLOR="#5C3317"><FONT SIZE=-1>
+<B><I>Version:</I></B> <I>Geant4 8.2 December 2006</I>
+</FONT></FONT>
+</TD>
+</TR></TABLE>
+
+<BR><BR><BR>
+<P ALIGN="Center">
+<FONT SIZE="+4" COLOR="#238E23">
+<B>Installation Guide</B>
+</FONT>
+<BR><BR>
+<FONT SIZE="+2" COLOR="#238E23">
+<B>for Setting Up Geant4 in Your Computing Environment</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+<!-- ============================================== Section --> 
+<OL>
+<LI><A HREF="Introduction/introduction.html">
+    <B>Installation Introduction</B></A>
+<P>
+<LI><A HREF="UnixMachines/unixMachines.html">
+    <B>Installation Procedures</B></A>
+<P>
+<LI><A HREF="PCMachines/pcMachines.html">
+    <B>Tips for Installing on Windows</B></A>
+</OL>
+
+<BR><BR><BR><BR><BR><BR><BR>
+<HR>
+<A HREF="../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
+
+
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/print/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/print/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/print/CVS/Entries	(revision 1208)
@@ -0,0 +1,6 @@
+/Execute.pl/1.6/Mon Dec 18 10:28:26 2006//
+/MergeDocs.pl/1.4/Mon Dec 18 10:28:26 2006//
+/break00.html/1.2/Fri Dec 17 19:53:02 2004//
+/break01.html/1.5/Tue Jun 28 23:57:38 2005//
+/break02.html/1.7/Tue Jun 20 18:15:40 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/print/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/print/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/print/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/InstallationGuide/print
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/print/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/print/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/print/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/print/Execute.pl
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/print/Execute.pl	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/print/Execute.pl	(revision 1208)
@@ -0,0 +1,25 @@
+#!/usr/bin/perl
+#
+#
+
+$outputFile = 'InstallationGuideMerged.html';
+
+@inputFiles = (
+               '../html/index.html',
+               'break00.html',
+               '../html/Introduction/introduction.html',
+               'break01.html',
+               '../html/UnixMachines/unixMachines.html',
+               'break02.html',
+               '../html/PCMachines/pcMachines.html'
+              );
+
+$numberFiles = @inputFiles;
+
+for ($i=0; $i<$numberFiles; $i++)
+{
+    `MergeDocs.pl $inputFiles[$i] >> $outputFile`;
+}
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/print/MergeDocs.pl
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/print/MergeDocs.pl	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/print/MergeDocs.pl	(revision 1208)
@@ -0,0 +1,36 @@
+#!/usr/bin/perl
+#
+# Merge html files into one so that MSWord can read
+# it and generate a ps file.
+#
+
+$file = $ARGV[0];                     # Name the file
+
+open(INFO, "<$file" ) ;               # Open the file
+@lines = <INFO> ;                     # Read it into an array
+close(INFO) ;                         # Close the file
+
+foreach $line (@lines)                # assign @lines to $line, one at a time
+{                                     # braces {} are required, bracket code
+
+  $line =~ s#"../../../../resources/#"../../../resources/#;
+
+  if ($file =~ "index.html")
+  {
+    if ($line =~ /About the authors/)
+    {
+      $line = '<I>About the authors</I></A>
+<BR><BR><BR><BR><BR><BR><BR><BR>
+';
+      
+    }
+  }
+
+  print "$line" ;    # print formatted lines to screen 
+}
+
+#
+# DONE
+#
+
+
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/print/break00.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/print/break00.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/print/break00.html	(revision 1208)
@@ -0,0 +1,7 @@
+<HTML>
+<BODY>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/print/break01.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/print/break01.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/print/break01.html	(revision 1208)
@@ -0,0 +1,7 @@
+<HTML>
+<BODY>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/InstallationGuide/print/break02.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/InstallationGuide/print/break02.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/InstallationGuide/print/break02.html	(revision 1208)
@@ -0,0 +1,11 @@
+<HTML>
+<BODY>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+D/latex////
+D/print////
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/CVS/Entries	(revision 1208)
@@ -0,0 +1,12 @@
+D/decay////
+D/electromagnetic////
+D/generalities////
+D/hadronic////
+D/optical////
+D/parameterisation////
+D/photolepton_hadron////
+D/transportation////
+/GNUmakefile/1.2/Fri Nov  6 17:42:36 1998//
+/PhysicsReferenceManual.tex/1.52/Wed Feb 21 09:33:08 2007//
+/book.cls/1.1/Sat Dec  5 11:22:30 1998//
+/latexmk/1.1/Fri Oct  9 15:53:49 1998//
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/GNUmakefile
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/GNUmakefile	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/GNUmakefile	(revision 1208)
@@ -0,0 +1,16 @@
+.PHONY: all clean
+
+FIGS = $(wildcard *.fig)
+MAKEFILES = $(patsubst %.fig,%.mk,$(FIGS))
+
+#include $(MAKEFILES)
+
+all:
+	latexmk -F -ps -pv PhysicsReferenceManual
+
+%.mk: %.fig
+	transfig -L pstex -M $@ $<
+
+clean:
+	@rm -f *~core *.bak *.aux *.dep *.dvi *.log *.ps *.toc *.blg *.lo[fgt]
+	@rm -f `find . -name '*.aux' -print`
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/PhysicsReferenceManual.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/PhysicsReferenceManual.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/PhysicsReferenceManual.tex	(revision 1208)
@@ -0,0 +1,124 @@
+%% $Id: PhysicsReferenceManual.tex,v 1.52 2007/02/21 09:33:08 amako Exp $
+
+\documentclass[12pt,a4paper,oneside]{book}
+\usepackage{amsmath,amssymb}
+\usepackage[dvips]{graphicx}
+\usepackage{html}
+%% \usepackage[dvips]{epsfig}
+\title{Physics Reference Manual}
+\pagestyle{plain}
+\begin{document}
+{
+\maketitle
+\pagestyle {empty}
+\setcounter{page}{-10}
+\tableofcontents
+\setcounter{page}{-0}
+\pagestyle {empty}
+}
+
+\part{Introduction}
+\include{generalities/introduction}
+\include{generalities/messel}
+\include{generalities/transportation}
+
+\part{Particle Decay}
+\include{decay/decay}
+
+\part{Electromagnetic Interactions}
+\chapter{Particle Transport}
+\include{electromagnetic/miscellaneous/occurence}
+
+\chapter{Gamma Incident}
+\include{electromagnetic/standard/photoelec}
+\newpage
+\include{electromagnetic/standard/compton}
+\newpage
+\include{electromagnetic/standard/conv} 
+\newpage
+\include{electromagnetic/standard/MuPgen/MuPgen} 
+
+\chapter{Common to All Charged Particles}
+\include{electromagnetic/utils/enloss}
+\newpage
+\include{electromagnetic/utils/fluctuations}
+\newpage
+\include{electromagnetic/utils/integral}
+\newpage
+\include{electromagnetic/miscellaneous/setcuts}
+\newpage
+\include{electromagnetic/standard/msc}
+\newpage
+\include{electromagnetic/xrays/xtr}
+\newpage
+\include{electromagnetic/xrays/scint}
+\newpage
+\include{electromagnetic/xrays/cerenkov}
+\newpage
+\include{electromagnetic/standard/pai}
+\newpage
+\include{electromagnetic/standard/sandia}
+
+\chapter{Electron Incident}
+\include{electromagnetic/standard/eion}
+\newpage
+\include{electromagnetic/standard/ebrem}
+\newpage
+\include{electromagnetic/standard/annil}
+\newpage
+\include{electromagnetic/standard/AnnihiToMuPair}
+\newpage
+\include{electromagnetic/standard/anniToHadrons}
+\newpage
+\include{electromagnetic/xrays/SynchRad/InvSynFracInt_Geant4}
+
+\chapter{Muon Incident}
+\include{electromagnetic/muons/muion}
+\newpage
+\include{electromagnetic/muons/mubrem}
+\newpage
+\include{electromagnetic/muons/munu}  
+\newpage
+\include{electromagnetic/muons/pair}
+
+\chapter{Charged Hadron Incident}
+\include{electromagnetic/standard/hion}
+
+\chapter{Polarized Electron/Positron/Gamma Incident}
+\include{electromagnetic/standard/polarisation}
+
+\chapter{Low Energy Extensions}
+\include{electromagnetic/lowenergy/overview}
+\newpage
+\include{electromagnetic/lowenergy/compton}
+\newpage
+\include{electromagnetic/lowenergy/polarizedcompton}
+\newpage
+\include{electromagnetic/lowenergy/rayleigh}
+\newpage
+\include{electromagnetic/lowenergy/gammaconversion}
+\newpage
+\include{electromagnetic/lowenergy/photoelectric}
+\newpage
+\include{electromagnetic/lowenergy/bremsstrahlung}
+\newpage
+\include{electromagnetic/lowenergy/ionisation2}
+\newpage
+\include{electromagnetic/lowenergy/relaxation}
+\newpage
+\include{electromagnetic/lowenergy/hadrons}
+\newpage
+\include{electromagnetic/lowenergy/penelope}
+
+\chapter{Optical Photons}
+\include{optical/optical}
+
+\chapter{Shower Parameterizations}
+\include{parameterisation/parameterisation}
+
+\part{Hadronic Interactions}
+\include{photolepton_hadron/photolepton_hadron}
+\include{hadronic/hadronic}
+ 
+\end{document}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/book.cls
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/book.cls	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/book.cls	(revision 1208)
@@ -0,0 +1,788 @@
+%%
+%% This is file `book.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% classes.dtx  (with options: `book')
+%% 
+%% This is a generated file.
+%% 
+%% Copyright 1993 1994 1995 1996 1997
+%% The LaTeX3 Project and any individual authors listed elsewhere
+%% in this file.
+%% 
+%% For further copyright information, and conditions for modification
+%% and distribution, see the file legal.txt, and any other copyright
+%% notices in this file.
+%% 
+%% This file is part of the LaTeX2e system.
+%% ----------------------------------------
+%%   This system is distributed in the hope that it will be useful,
+%%   but WITHOUT ANY WARRANTY; without even the implied warranty of
+%%   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%% 
+%%   For error reports concerning UNCHANGED versions of this file no
+%%   more than one year old, see bugs.txt.
+%% 
+%%   Please do not request updates from us directly.  Primary
+%%   distribution is through the CTAN archives.
+%% 
+%% 
+%% IMPORTANT COPYRIGHT NOTICE:
+%% 
+%% You are NOT ALLOWED to distribute this file alone.
+%% 
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%% 
+%% If you receive only some of these files from someone, complain!
+%% 
+%% 
+%% Permission is granted to copy this file to another file with a
+%% clearly different name and to customize the declarations in that
+%% copy to serve the needs of your installation, provided that you
+%% comply with the conditions in the file legal.txt.
+%% 
+%% However, NO PERMISSION is granted to generate or to distribute a
+%% modified version of this file under its original name.
+%% 
+%% You are NOT ALLOWED to change this file.
+%% 
+%% 
+%% MODIFICATION ADVICE:
+%% 
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced.  Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system.  You should also ensure that
+%% your modified source file does not generate any modified file with
+%% the same name as a standard file.
+%% 
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, taking care to
+%% observe the conditions in legal.txt; this will ensure that other
+%% users can safely use your modifications.
+%% 
+%% You will also need to produce your own, suitably named, .ins file to
+%% control the generation of files from your source file; this file
+%% should contain your own preambles for the files it generates, not
+%% those in the standard .ins files.
+%% 
+%% The names of the source files used are shown above.
+%% 
+%% 
+%% 
+%% \CharacterTable
+%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%%   Digits        \0\1\2\3\4\5\6\7\8\9
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#
+%%   Dollar        \$     Percent       \%     Ampersand     \&
+%%   Acute accent  \'     Left paren    \(     Right paren   \)
+%%   Asterisk      \*     Plus          \+     Comma         \,
+%%   Minus         \-     Point         \.     Solidus       \/
+%%   Colon         \:     Semicolon     \;     Less than     \<
+%%   Equals        \=     Greater than  \>     Question mark \?
+%%   Commercial at \@     Left bracket  \[     Backslash     \\
+%%   Right bracket \]     Circumflex    \^     Underscore    \_
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
+%%   Right brace   \}     Tilde         \~}
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesClass{book}
+              [1998/05/05 v1.3y
+ Standard LaTeX document class]
+\newcommand\@ptsize{}
+\newif\if@restonecol
+\newif\if@titlepage
+\@titlepagetrue
+\newif\if@openright
+\newif\if@mainmatter \@mainmattertrue
+\if@compatibility\else
+\DeclareOption{a4paper}
+   {\setlength\paperheight {297mm}%
+    \setlength\paperwidth  {210mm}}
+\DeclareOption{a5paper}
+   {\setlength\paperheight {210mm}%
+    \setlength\paperwidth  {148mm}}
+\DeclareOption{b5paper}
+   {\setlength\paperheight {250mm}%
+    \setlength\paperwidth  {176mm}}
+\DeclareOption{letterpaper}
+   {\setlength\paperheight {11in}%
+    \setlength\paperwidth  {8.5in}}
+\DeclareOption{legalpaper}
+   {\setlength\paperheight {14in}%
+    \setlength\paperwidth  {8.5in}}
+\DeclareOption{executivepaper}
+   {\setlength\paperheight {10.5in}%
+    \setlength\paperwidth  {7.25in}}
+\DeclareOption{landscape}
+   {\setlength\@tempdima   {\paperheight}%
+    \setlength\paperheight {\paperwidth}%
+    \setlength\paperwidth  {\@tempdima}}
+\fi
+\if@compatibility
+  \renewcommand\@ptsize{0}
+\else
+\DeclareOption{10pt}{\renewcommand\@ptsize{0}}
+\fi
+\DeclareOption{11pt}{\renewcommand\@ptsize{1}}
+\DeclareOption{12pt}{\renewcommand\@ptsize{2}}
+\if@compatibility\else
+\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
+\fi
+\DeclareOption{twoside}{\@twosidetrue  \@mparswitchtrue}
+\DeclareOption{draft}{\setlength\overfullrule{5pt}}
+\if@compatibility\else
+\DeclareOption{final}{\setlength\overfullrule{0pt}}
+\fi
+\DeclareOption{titlepage}{\@titlepagetrue}
+\if@compatibility\else
+\DeclareOption{notitlepage}{\@titlepagefalse}
+\fi
+\if@compatibility
+\@openrighttrue
+\else
+\DeclareOption{openright}{\@openrighttrue}
+\DeclareOption{openany}{\@openrightfalse}
+\fi
+\if@compatibility\else
+\DeclareOption{onecolumn}{\@twocolumnfalse}
+\fi
+\DeclareOption{twocolumn}{\@twocolumntrue}
+\DeclareOption{leqno}{\input{leqno.clo}}
+\DeclareOption{fleqn}{\input{fleqn.clo}}
+\DeclareOption{openbib}{%
+  \AtEndOfPackage{%
+   \renewcommand\@openbib@code{%
+      \advance\leftmargin\bibindent
+      \itemindent -\bibindent
+      \listparindent \itemindent
+      \parsep \z@
+      }%
+   \renewcommand\newblock{\par}}%
+}
+\ExecuteOptions{letterpaper,10pt,twoside,onecolumn,final,openright}
+\ProcessOptions
+\input{bk1\@ptsize.clo}
+\setlength\lineskip{1\p@}
+\setlength\normallineskip{1\p@}
+\renewcommand\baselinestretch{}
+\setlength\parskip{0\p@ \@plus \p@}
+\@lowpenalty   51
+\@medpenalty  151
+\@highpenalty 301
+\setcounter{topnumber}{2}
+\renewcommand\topfraction{.7}
+\setcounter{bottomnumber}{1}
+\renewcommand\bottomfraction{.3}
+\setcounter{totalnumber}{3}
+\renewcommand\textfraction{.2}
+\renewcommand\floatpagefraction{.5}
+\setcounter{dbltopnumber}{2}
+\renewcommand\dbltopfraction{.7}
+\renewcommand\dblfloatpagefraction{.5}
+\if@twoside
+  \def\ps@headings{%
+      \let\@oddfoot\@empty\let\@evenfoot\@empty
+      \def\@evenhead{\thepage\hfil\slshape\leftmark}%
+      \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+      \let\@mkboth\markboth
+    \def\chaptermark##1{%
+      \markboth {\MakeUppercase{%
+        \ifnum \c@secnumdepth >\m@ne
+          \if@mainmatter
+            \@chapapp\ \thechapter. \ %
+          \fi
+        \fi
+        ##1}}{}}%
+    \def\sectionmark##1{%
+      \markright {\MakeUppercase{%
+        \ifnum \c@secnumdepth >\z@
+          \thesection. \ %
+        \fi
+        ##1}}}}
+\else
+  \def\ps@headings{%
+    \let\@oddfoot\@empty
+    \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+    \let\@mkboth\markboth
+    \def\chaptermark##1{%
+      \markright {\MakeUppercase{%
+        \ifnum \c@secnumdepth >\m@ne
+          \if@mainmatter
+            \@chapapp\ \thechapter. \ %
+          \fi
+        \fi
+        ##1}}}}
+\fi
+\def\ps@myheadings{%
+    \let\@oddfoot\@empty\let\@evenfoot\@empty
+    \def\@evenhead{\thepage\hfil\slshape\leftmark}%
+    \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+    \let\@mkboth\@gobbletwo
+    \let\chaptermark\@gobble
+    \let\sectionmark\@gobble
+    }
+  \if@titlepage
+  \newcommand\maketitle{\begin{titlepage}%
+  \let\footnotesize\small
+  \let\footnoterule\relax
+  \let \footnote \thanks
+  \null\vfil
+  \vskip 60\p@
+  \begin{center}%
+    {\LARGE \@title \par}%
+    \vskip 3em%
+    {\large
+     \lineskip .75em%
+      \begin{tabular}[t]{c}%
+        \@author
+      \end{tabular}\par}%
+      \vskip 1.5em%
+    {\large \@date \par}%       % Set date in \large size.
+  \end{center}\par
+  \@thanks
+  \vfil\null
+  \end{titlepage}%
+  \setcounter{footnote}{0}%
+  \global\let\thanks\relax
+  \global\let\maketitle\relax
+  \global\let\@thanks\@empty
+  \global\let\@author\@empty
+  \global\let\@date\@empty
+  \global\let\@title\@empty
+  \global\let\title\relax
+  \global\let\author\relax
+  \global\let\date\relax
+  \global\let\and\relax
+}
+\else
+\newcommand\maketitle{\par
+  \begingroup
+    \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
+    \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
+    \long\def\@makefntext##1{\parindent 1em\noindent
+            \hb@xt@1.8em{%
+                \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
+    \if@twocolumn
+      \ifnum \col@number=\@ne
+        \@maketitle
+      \else
+        \twocolumn[\@maketitle]%
+      \fi
+    \else
+      \newpage
+      \global\@topnum\z@   % Prevents figures from going at top of page.
+      \@maketitle
+    \fi
+    \thispagestyle{plain}\@thanks
+  \endgroup
+  \setcounter{footnote}{0}%
+  \global\let\thanks\relax
+  \global\let\maketitle\relax
+  \global\let\@maketitle\relax
+  \global\let\@thanks\@empty
+  \global\let\@author\@empty
+  \global\let\@date\@empty
+  \global\let\@title\@empty
+  \global\let\title\relax
+  \global\let\author\relax
+  \global\let\date\relax
+  \global\let\and\relax
+}
+\def\@maketitle{%
+  \newpage
+  \null
+  \vskip 2em%
+  \begin{center}%
+  \let \footnote \thanks
+    {\LARGE \@title \par}%
+    \vskip 1.5em%
+    {\large
+      \lineskip .5em%
+      \begin{tabular}[t]{c}%
+        \@author
+      \end{tabular}\par}%
+    \vskip 1em%
+    {\large \@date}%
+  \end{center}%
+  \par
+  \vskip 1.5em}
+\fi
+\newcommand*\chaptermark[1]{}
+\setcounter{secnumdepth}{2}
+\newcounter {part}
+\newcounter {chapter}
+\newcounter {section}[chapter]
+\newcounter {subsection}[section]
+\newcounter {subsubsection}[subsection]
+\newcounter {paragraph}[subsubsection]
+\newcounter {subparagraph}[paragraph]
+\renewcommand \thepart {\@Roman\c@part}
+\renewcommand \thechapter {\@arabic\c@chapter}
+\renewcommand \thesection {\thechapter.\@arabic\c@section}
+\renewcommand\thesubsection   {\thesection.\@arabic\c@subsection}
+\renewcommand\thesubsubsection{\thesubsection .\@arabic\c@subsubsection}
+\renewcommand\theparagraph    {\thesubsubsection.\@arabic\c@paragraph}
+\renewcommand\thesubparagraph {\theparagraph.\@arabic\c@subparagraph}
+\newcommand\@chapapp{\chaptername}
+\newcommand\frontmatter{%
+    \cleardoublepage
+  \@mainmatterfalse
+  \pagenumbering{roman}}
+\newcommand\mainmatter{%
+    \cleardoublepage
+  \@mainmattertrue
+  \pagenumbering{arabic}}
+\newcommand\backmatter{%
+  \if@openright
+    \cleardoublepage
+  \else
+    \clearpage
+  \fi
+  \@mainmatterfalse}
+\newcommand\part{%
+  \if@openright
+    \cleardoublepage
+  \else
+    \clearpage
+  \fi
+  \thispagestyle{plain}%
+  \if@twocolumn
+    \onecolumn
+    \@tempswatrue
+  \else
+    \@tempswafalse
+  \fi
+  \null\vfil
+  \secdef\@part\@spart}
+
+\def\@part[#1]#2{%
+    \ifnum \c@secnumdepth >-2\relax
+      \refstepcounter{part}%
+      \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
+    \else
+      \addcontentsline{toc}{part}{#1}%
+    \fi
+    \markboth{}{}%
+    {\centering
+     \interlinepenalty \@M
+     \normalfont
+     \ifnum \c@secnumdepth >-2\relax
+       \huge\bfseries \partname~\thepart
+       \par
+       \vskip 20\p@
+     \fi
+     \Huge \bfseries #2\par}%
+    \@endpart}
+\def\@spart#1{%
+    {\centering
+     \interlinepenalty \@M
+     \normalfont
+     \Huge \bfseries #1\par}%
+    \@endpart}
+\def\@endpart{\vfil\newpage
+              \if@twoside
+                \null
+                \thispagestyle{empty}%
+                \newpage
+              \fi
+              \if@tempswa
+                \twocolumn
+              \fi}
+\newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
+                    \thispagestyle{plain}%
+                    \global\@topnum\z@
+                    \@afterindentfalse
+                    \secdef\@chapter\@schapter}
+\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
+                       \if@mainmatter
+                         \refstepcounter{chapter}%
+                         \typeout{\@chapapp\space\thechapter.}%
+                         \addcontentsline{toc}{chapter}%
+                                   {\protect\numberline{\thechapter}#1}%
+                       \else
+                         \addcontentsline{toc}{chapter}{#1}%
+                       \fi
+                    \else
+                      \addcontentsline{toc}{chapter}{#1}%
+                    \fi
+                    \chaptermark{#1}%
+                    \addtocontents{lof}{\protect\addvspace{10\p@}}%
+                    \addtocontents{lot}{\protect\addvspace{10\p@}}%
+                    \if@twocolumn
+                      \@topnewpage[\@makechapterhead{#2}]%
+                    \else
+                      \@makechapterhead{#2}%
+                      \@afterheading
+                    \fi}
+\def\@makechapterhead#1{%
+  \vspace*{50\p@}%
+  {\parindent \z@ \raggedright \normalfont
+    \ifnum \c@secnumdepth >\m@ne
+      \if@mainmatter
+        \huge\bfseries \@chapapp\space \thechapter
+        \par\nobreak
+        \vskip 20\p@
+      \fi
+    \fi
+    \interlinepenalty\@M
+    \Huge \bfseries #1\par\nobreak
+    \vskip 40\p@
+  }}
+\def\@schapter#1{\if@twocolumn
+                   \@topnewpage[\@makeschapterhead{#1}]%
+                 \else
+                   \@makeschapterhead{#1}%
+                   \@afterheading
+                 \fi}
+\def\@makeschapterhead#1{%
+  \vspace*{50\p@}%
+  {\parindent \z@ \raggedright
+    \normalfont
+    \interlinepenalty\@M
+    \Huge \bfseries  #1\par\nobreak
+    \vskip 40\p@
+  }}
+\newcommand\section{\@startsection {section}{1}{\z@}%
+                                   {-3.5ex \@plus -1ex \@minus -.2ex}%
+                                   {2.3ex \@plus.2ex}%
+                                   {\normalfont\Large\bfseries}}
+\newcommand\subsection{\@startsection{subsection}{2}{\z@}%
+                                     {-3.25ex\@plus -1ex \@minus -.2ex}%
+                                     {1.5ex \@plus .2ex}%
+                                     {\normalfont\large\bfseries}}
+\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+                                     {-3.25ex\@plus -1ex \@minus -.2ex}%
+                                     {1.5ex \@plus .2ex}%
+                                     {\normalfont\normalsize\bfseries}}
+\newcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
+                                    {3.25ex \@plus1ex \@minus.2ex}%
+                                    {-1em}%
+                                    {\normalfont\normalsize\bfseries}}
+\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
+                                       {3.25ex \@plus1ex \@minus .2ex}%
+                                       {-1em}%
+                                      {\normalfont\normalsize\bfseries}}
+\if@twocolumn
+  \setlength\leftmargini  {2em}
+\else
+  \setlength\leftmargini  {2.5em}
+\fi
+\leftmargin  \leftmargini
+\setlength\leftmarginii  {2.2em}
+\setlength\leftmarginiii {1.87em}
+\setlength\leftmarginiv  {1.7em}
+\if@twocolumn
+  \setlength\leftmarginv  {.5em}
+  \setlength\leftmarginvi {.5em}
+\else
+  \setlength\leftmarginv  {1em}
+  \setlength\leftmarginvi {1em}
+\fi
+\setlength  \labelsep  {.5em}
+\setlength  \labelwidth{\leftmargini}
+\addtolength\labelwidth{-\labelsep}
+\@beginparpenalty -\@lowpenalty
+\@endparpenalty   -\@lowpenalty
+\@itempenalty     -\@lowpenalty
+\renewcommand\theenumi{\@arabic\c@enumi}
+\renewcommand\theenumii{\@alph\c@enumii}
+\renewcommand\theenumiii{\@roman\c@enumiii}
+\renewcommand\theenumiv{\@Alph\c@enumiv}
+\newcommand\labelenumi{\theenumi.}
+\newcommand\labelenumii{(\theenumii)}
+\newcommand\labelenumiii{\theenumiii.}
+\newcommand\labelenumiv{\theenumiv.}
+\renewcommand\p@enumii{\theenumi}
+\renewcommand\p@enumiii{\theenumi(\theenumii)}
+\renewcommand\p@enumiv{\p@enumiii\theenumiii}
+\newcommand\labelitemi{\textbullet}
+\newcommand\labelitemii{\normalfont\bfseries \textendash}
+\newcommand\labelitemiii{\textasteriskcentered}
+\newcommand\labelitemiv{\textperiodcentered}
+\newenvironment{description}
+               {\list{}{\labelwidth\z@ \itemindent-\leftmargin
+                        \let\makelabel\descriptionlabel}}
+               {\endlist}
+\newcommand*\descriptionlabel[1]{\hspace\labelsep
+                                \normalfont\bfseries #1}
+\newenvironment{verse}
+               {\let\\\@centercr
+                \list{}{\itemsep      \z@
+                        \itemindent   -1.5em%
+                        \listparindent\itemindent
+                        \rightmargin  \leftmargin
+                        \advance\leftmargin 1.5em}%
+                \item\relax}
+               {\endlist}
+\newenvironment{quotation}
+               {\list{}{\listparindent 1.5em%
+                        \itemindent    \listparindent
+                        \rightmargin   \leftmargin
+                        \parsep        \z@ \@plus\p@}%
+                \item\relax}
+               {\endlist}
+\newenvironment{quote}
+               {\list{}{\rightmargin\leftmargin}%
+                \item\relax}
+               {\endlist}
+\if@compatibility
+\newenvironment{titlepage}
+    {%
+      \cleardoublepage
+      \if@twocolumn
+        \@restonecoltrue\onecolumn
+      \else
+        \@restonecolfalse\newpage
+      \fi
+      \thispagestyle{empty}%
+      \setcounter{page}\z@
+    }%
+    {\if@restonecol\twocolumn \else \newpage \fi
+    }
+\else
+\newenvironment{titlepage}
+    {%
+      \cleardoublepage
+      \if@twocolumn
+        \@restonecoltrue\onecolumn
+      \else
+        \@restonecolfalse\newpage
+      \fi
+      \thispagestyle{empty}%
+      \setcounter{page}\@ne
+    }%
+    {\if@restonecol\twocolumn \else \newpage \fi
+     \if@twoside\else
+        \setcounter{page}\@ne
+     \fi
+    }
+\fi
+\newcommand\appendix{\par
+  \setcounter{chapter}{0}%
+  \setcounter{section}{0}%
+  \renewcommand\@chapapp{\appendixname}%
+  \renewcommand\thechapter{\@Alph\c@chapter}}
+\setlength\arraycolsep{5\p@}
+\setlength\tabcolsep{6\p@}
+\setlength\arrayrulewidth{.4\p@}
+\setlength\doublerulesep{2\p@}
+\setlength\tabbingsep{\labelsep}
+\skip\@mpfootins = \skip\footins
+\setlength\fboxsep{3\p@}
+\setlength\fboxrule{.4\p@}
+\@addtoreset {equation}{chapter}
+\renewcommand\theequation
+  {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@equation}
+\newcounter{figure}[chapter]
+\renewcommand \thefigure
+     {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@figure}
+\def\fps@figure{tbp}
+\def\ftype@figure{1}
+\def\ext@figure{lof}
+\def\fnum@figure{\figurename~\thefigure}
+\newenvironment{figure}
+               {\@float{figure}}
+               {\end@float}
+\newenvironment{figure*}
+               {\@dblfloat{figure}}
+               {\end@dblfloat}
+\newcounter{table}[chapter]
+\renewcommand \thetable
+     {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@table}
+\def\fps@table{tbp}
+\def\ftype@table{2}
+\def\ext@table{lot}
+\def\fnum@table{\tablename~\thetable}
+\newenvironment{table}
+               {\@float{table}}
+               {\end@float}
+\newenvironment{table*}
+               {\@dblfloat{table}}
+               {\end@dblfloat}
+\newlength\abovecaptionskip
+\newlength\belowcaptionskip
+\setlength\abovecaptionskip{10\p@}
+\setlength\belowcaptionskip{0\p@}
+\long\def\@makecaption#1#2{%
+  \vskip\abovecaptionskip
+  \sbox\@tempboxa{#1: #2}%
+  \ifdim \wd\@tempboxa >\hsize
+    #1: #2\par
+  \else
+    \global \@minipagefalse
+    \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
+  \fi
+  \vskip\belowcaptionskip}
+\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
+\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
+\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
+\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
+\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}
+\newcommand\@pnumwidth{1.55em}
+\newcommand\@tocrmarg{2.55em}
+\newcommand\@dotsep{4.5}
+\setcounter{tocdepth}{2}
+\newcommand\tableofcontents{%
+    \if@twocolumn
+      \@restonecoltrue\onecolumn
+    \else
+      \@restonecolfalse
+    \fi
+    \chapter*{\contentsname
+        \@mkboth{%
+           \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
+    \@starttoc{toc}%
+    \if@restonecol\twocolumn\fi
+    }
+\newcommand*\l@part[2]{%
+  \ifnum \c@tocdepth >-2\relax
+    \addpenalty{-\@highpenalty}%
+    \addvspace{2.25em \@plus\p@}%
+    \begingroup
+      \parindent \z@ \rightskip \@pnumwidth
+      \parfillskip -\@pnumwidth
+      {\leavevmode
+       \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par
+       \nobreak
+         \global\@nobreaktrue
+         \everypar{\global\@nobreakfalse\everypar{}}%
+    \endgroup
+  \fi}
+\newcommand*\l@chapter[2]{%
+  \ifnum \c@tocdepth >\m@ne
+    \addpenalty{-\@highpenalty}%
+    \vskip 1.0em \@plus\p@
+    \setlength\@tempdima{1.5em}%
+    \begingroup
+      \parindent \z@ \rightskip \@pnumwidth
+      \parfillskip -\@pnumwidth
+      \leavevmode \bfseries
+      \advance\leftskip\@tempdima
+      \hskip -\leftskip
+      #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
+      \penalty\@highpenalty
+    \endgroup
+  \fi}
+\newcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}}
+\newcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}}
+\newcommand*\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}
+\newcommand*\l@paragraph{\@dottedtocline{4}{10em}{5em}}
+\newcommand*\l@subparagraph{\@dottedtocline{5}{12em}{6em}}
+\newcommand\listoffigures{%
+    \if@twocolumn
+      \@restonecoltrue\onecolumn
+    \else
+      \@restonecolfalse
+    \fi
+    \chapter*{\listfigurename
+      \@mkboth{\MakeUppercase\listfigurename}%
+              {\MakeUppercase\listfigurename}}%
+    \@starttoc{lof}%
+    \if@restonecol\twocolumn\fi
+    }
+\newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
+\newcommand\listoftables{%
+    \if@twocolumn
+      \@restonecoltrue\onecolumn
+    \else
+      \@restonecolfalse
+    \fi
+    \chapter*{\listtablename
+      \@mkboth{%
+          \MakeUppercase\listtablename}{\MakeUppercase\listtablename}}%
+    \@starttoc{lot}%
+    \if@restonecol\twocolumn\fi
+    }
+\let\l@table\l@figure
+\newdimen\bibindent
+\setlength\bibindent{1.5em}
+\newenvironment{thebibliography}[1]
+     {\section*{\bibname
+        \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}}%
+      \list{\@biblabel{\@arabic\c@enumiv}}%
+           {\settowidth\labelwidth{\@biblabel{#1}}%
+            \leftmargin\labelwidth
+            \advance\leftmargin\labelsep
+            \@openbib@code
+            \usecounter{enumiv}%
+            \let\p@enumiv\@empty
+            \renewcommand\theenumiv{\@arabic\c@enumiv}}%
+      \sloppy
+      \clubpenalty4000
+      \@clubpenalty \clubpenalty
+      \widowpenalty4000%
+      \sfcode`\.\@m}
+     {\def\@noitemerr
+       {\@latex@warning{Empty `thebibliography' environment}}%
+      \endlist}
+\newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em}
+\let\@openbib@code\@empty
+\newenvironment{theindex}
+               {\if@twocolumn
+                  \@restonecolfalse
+                \else
+                  \@restonecoltrue
+                \fi
+                \columnseprule \z@
+                \columnsep 35\p@
+                \twocolumn[\@makeschapterhead{\indexname}]%
+                \@mkboth{\MakeUppercase\indexname}%
+                        {\MakeUppercase\indexname}%
+                \thispagestyle{plain}\parindent\z@
+                \parskip\z@ \@plus .3\p@\relax
+                \let\item\@idxitem}
+               {\if@restonecol\onecolumn\else\clearpage\fi}
+\newcommand\@idxitem{\par\hangindent 40\p@}
+\newcommand\subitem{\@idxitem \hspace*{20\p@}}
+\newcommand\subsubitem{\@idxitem \hspace*{30\p@}}
+\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
+\renewcommand\footnoterule{%
+  \kern-3\p@
+  \hrule\@width.4\columnwidth
+  \kern2.6\p@}
+\@addtoreset{footnote}{chapter}
+\newcommand\@makefntext[1]{%
+    \parindent 1em%
+    \noindent
+    \hb@xt@1.8em{\hss\@makefnmark}#1}
+\newcommand\contentsname{Contents}
+\newcommand\listfigurename{List of Figures}
+\newcommand\listtablename{List of Tables}
+\newcommand\bibname{Bibliography}
+\newcommand\indexname{Index}
+\newcommand\figurename{Figure}
+\newcommand\tablename{Table}
+\newcommand\partname{Part}
+\newcommand\chaptername{Chapter}
+\newcommand\appendixname{Appendix}
+\def\today{\ifcase\month\or
+  January\or February\or March\or April\or May\or June\or
+  July\or August\or September\or October\or November\or December\fi
+  \space\number\day, \number\year}
+\setlength\columnsep{10\p@}
+\setlength\columnseprule{0\p@}
+\pagestyle{headings}
+\pagenumbering{arabic}
+\if@twoside
+\else
+  \raggedbottom
+\fi
+\if@twocolumn
+  \twocolumn
+  \sloppy
+  \flushbottom
+\else
+  \onecolumn
+\fi
+\endinput
+%%
+%% End of file `book.cls'.
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/decay/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/decay/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/decay/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/decay.tex/1.12/Fri Dec 10 21:36:17 2004//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/decay/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/decay/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/decay/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/decay
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/decay/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/decay/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/decay/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/decay/decay.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/decay/decay.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/decay/decay.tex	(revision 1208)
@@ -0,0 +1,245 @@
+\chapter{Decay}
+\noindent
+The decay of particles in flight and at rest is simulated by the 
+{\it G4Decay} class.
+
+\section{Mean Free Path for Decay in Flight}
+\noindent
+The mean free path $\lambda$ is calculated for each step using
+\begin{eqnarray*}
+\lambda = \gamma \beta c \tau
+\end{eqnarray*}
+where $\tau$ is the lifetime of the particle and
+\begin{eqnarray*}
+\gamma = \frac{1}{\sqrt{1 - \beta^2}}.
+\end{eqnarray*}
+$\beta$ and $\gamma$ are calculated using the momentum at the beginning of 
+the step.  The decay time in the rest frame of the particle (proper time)
+is then sampled and converted to a decay length using $\beta$.
+
+\section{Branching Ratios and Decay Channels}
+\noindent 
+{\it G4Decay} selects a decay mode for the particle according to branching 
+ratios defined in the {\it G4DecayTable} class, which is a member of the
+{\it G4ParticleDefinition} class.  Each mode is implemented as a class
+derived from {\it G4VDecayChannel} and is responsible for generating 
+the secondaries and the kinematics of the decay.  In a given decay channel 
+the daughter particle momenta are calculated in the rest frame of the parent
+and then boosted into the laboratory frame.  Polarization is not currently 
+taken into account for either the parent or its daughters.
+
+A large number of specific decay channels may be required to simulate an
+experiment, ranging from two-body to many-body decays and $V-A$ to 
+semi-leptonic decays.  Most of these are covered by the five decay channel 
+classes provided by Geant4:\\
+\begin{tabular}[t]{ll}
+ G4PhaseSpaceDecayChannel    & : phase space decay \\
+ G4DalitzDecayChannel        & : dalitz decay \\
+ G4MuonDecayChannel          & : muon decay \\
+ G4TauLeptonicDecayChannel   & : tau leptonic decay \\
+ G4KL3DecayChannel           & : semi-leptonic decays of kaon .\\
+             & \\
+\end{tabular}
+\\
+
+\subsection{G4PhaseSpaceDecayChannel}
+\noindent
+The majority of decays in Geant4 are implemented using the  
+{\it G4PhaseSpaceDecayChannel} class.  It simulates phase space decays with 
+isotropic angular distributions in the center-of-mass system.  Three private 
+methods of {\it G4PhaseSpaceDecayChannel} are provided to handle two-, three- 
+and N-body decays:\\
+\begin{tabular}[t]{ll}
+ TwoBodyDecayIt()  & \\
+ ThreeBodyDecayIt() & \\
+ ManyBodyDecayIt() & \\
+\end{tabular}
+
+\noindent 
+Some examples of decays handled by this class are:
+\begin{eqnarray*}
+  \pi^{0} \rightarrow \gamma \gamma ,
+\end{eqnarray*}
+\begin{eqnarray*}
+  \Lambda \rightarrow p \pi^- 
+\end{eqnarray*}
+\noindent
+and 
+\begin{eqnarray*}
+  {K^0}_L \rightarrow  \pi^0 \pi^+ \pi^- . 
+\end{eqnarray*}
+
+
+\subsection{G4DalitzDecayChannel}
+\noindent
+The Dalitz decay 
+\begin{eqnarray*}
+  \pi^{0} \rightarrow \gamma + e^{+} + e^{-}  
+\end{eqnarray*}
+and other Dalitz-like decays, such as 
+\begin{eqnarray*}
+  {K^0}_L \rightarrow \gamma + e^{+} + e^{-}
+\end{eqnarray*}
+and  
+\begin{eqnarray*}
+  {K^0}_L \rightarrow \gamma + \mu^{+} + \mu^{-}  
+\end{eqnarray*}
+are simulated by the {\it G4DalitzDecayChannel} class.  In general, it handles 
+any decay of the form 
+
+\begin{eqnarray*}
+ P^{0} \rightarrow {\gamma} + l^{+} + l^{-} ,
+\end{eqnarray*}
+
+\noindent 
+where $P^{0}$ is a spin-0 meson of mass $M$ and $l^{\pm}$ are leptons of 
+mass $m$.  The angular distribution of the $\gamma$ is isotropic in the 
+center-of-mass system of the parent particle and the leptons are generated 
+isotropically and back-to-back in their center-of-mass frame.  The magnitude 
+of the leptons' momentum is sampled from the distribution function
+
+\begin{eqnarray*}
+ f(t) = {(1-\frac{t}{M^2})}^3(1+\frac{2m^2}{t})\sqrt{1-\frac{4m^2}{t}} ,
+\end{eqnarray*}
+
+\noindent where $t$ is the square of the sum of the leptons' energy in their 
+center-of-mass frame.
+
+
+\subsection{Muon Decay}
+\noindent
+{\it G4MuonDecayChannel} simulates muon decay according to $V-A$ theory. 
+Neglecting the electron mass, the electron energy is sampled from the 
+following distribution:
+\begin{eqnarray*}
+  d\Gamma = \frac{{G_F}^2{m_{\mu}}^5}{192\pi^3}2\epsilon^2(3 - 2\epsilon)\,
+\end{eqnarray*}
+where: \quad
+\begin{tabular}[t]{ll}
+ $\Gamma$    & : decay rate \\
+ $\epsilon$  & : $= E_e / E_{max} $\\
+ $E_e$       & : electron energy \\
+ $E_{max}$   & : maximum electron energy $ = m_{\mu}/2$\\
+             & \\
+\end{tabular}
+\\
+
+\noindent
+The momenta of the two neutrinos are not sampled from their $V-A$ 
+distributions.  Instead they are generated back-to-back and isotropically in
+the neutrinos' center-of-mass frame, with the magnitude of the neutrino 
+momentum chosen to conserve energy in the decay.  The two neutrinos are then 
+boosted opposite to the momentum of the decay electron.  This approximation is
+sufficient for most simulations because the neutrino is usually not observed 
+in any detector.
+
+Currently, neither the polarization of the muon or the electron is considered
+in this class.
+
+
+\subsection{Leptonic Tau Decay}
+\noindent
+{\it G4TauLeptonicDecayChannel} simulates leptonic tau decays according to 
+$V-A$ theory.  This class is valid for both
+\begin{eqnarray*}
+ {\tau}^{\pm} \rightarrow  e^{\pm} + {\nu}_{\tau} + {\nu}_e
+\end{eqnarray*}
+ and
+\begin{eqnarray*}
+ {\tau}^{\pm} \rightarrow  {\mu}^{\pm} + {\nu}_{\tau} + {\nu}_{\mu}
+\end{eqnarray*}
+modes.
+
+The energy spectrum is calculated without neglecting lepton mass as follows:
+\begin{eqnarray*}
+  d\Gamma = \frac{{G_F}^2{m_{\tau}}^3}{24\pi^3}{p_l}{E_l}(3E_l{m_{\tau}}^2 - 4{E_l}^2{m_{\tau}} - 2{
+m_{\tau}}{m_l}^2)
+\end{eqnarray*}
+where: \quad
+\begin{tabular}[t]{ll}
+ $\Gamma$    & : decay rate \\
+ $E_l$       & : daughter lepton energy (total energy) \\
+ $p_l$       & : daughter lepton momentum \\
+ $m_l$       & : daughter lepton mass \\
+             & \\
+\end{tabular}
+\\
+\noindent
+As in the case of muon decay, the energies of the two neutrinos are not 
+sampled from their $V-A$ spectra, but are calculated so that energy and
+momentum are conserved.  Polarization of the ${\tau}$ and final state leptons
+is not taken into account in this class.
+
+
+\subsection{Kaon Decay}
+The class {\it G4KL3DecayChannel} simulates the following four semi-leptonic 
+decay modes of the kaon:\\ 
+
+\begin{tabular}[t]{ll}
+ ${K^{\pm}}_{e3}$    & : $ K^{\pm} \rightarrow {\pi}^0 + e^{\pm} + {\nu} $ \\ 
+ ${K^{\pm}}_{{\mu}3}$  & : $ K^{\pm} \rightarrow {\pi}^0 + {\mu}^{\pm} + {\nu} $ \\
+ ${K^0}_{e3}$    & : $ K^0_L \rightarrow \pi^{\pm} + e^{\mp} + {\nu} $ \\ 
+ ${K^0}_{{\mu}3}$  & : $ K^0_L \rightarrow \pi^{\pm} + {\mu}^{\mp} + {\nu} $\\ 
+             & \\
+\end{tabular}
+\\
+\noindent
+Assuming that only the vector current contributes to 
+$K \rightarrow l{\pi}{\nu}$ decays, the matrix element can be described by 
+using two dimensionless form factors, $f_+$ and $f_-$, which depend only on 
+the momentum transfer $t = ( P_K - P_\pi )^2$.\\
+The Dalitz plot density used in this class is as follows \cite{Chounet72}:\\
+\begin{eqnarray*}
+  \rho\,(E_\pi , E_\mu ) \propto f^2_+\,(t) [ A + B \xi\,(t) + C{\xi\,(t)}^2 ]
+\end{eqnarray*}
+where: \quad
+\begin{tabular}[t]{ll}
+ $ A = m_K (2E_\mu E_\nu - m_K E'_\pi) 
+       + {m_{\mu}}^2 ( \frac{1}{4} E'_\pi - E_\nu) $\\
+ $ B = {m_{\mu}}^2 (E_\nu- \frac{1}{2} E'_\pi ) $\\
+ $ C =  \frac{1}{4}  {m_{\mu}}^2 E'_\pi$\\
+ $ E'_\pi =  {E_\pi}^{max} -  E_\pi $\\
+            & \\
+\end{tabular}
+\\
+Here $\xi\,(t)$ is the ratio of the two form factors \\
+\begin{eqnarray*}
+  \xi\,(t) = f_-\,(t) / f_+\,(t) .
+\end{eqnarray*}
+$f_+\,(t)$ is assumed to depend linearly on t, i.e. 
+\begin{eqnarray*}
+  f_+\,(t)  = f_+\,(0) [ 1 + \lambda_+ (t/{m_\pi}^2) ] 
+\end{eqnarray*}
+and $f_-\,(t)$ is assumed to be constant due to time reversal invariance.\\
+\\
+Two parameters, $\lambda_+$ and $\xi\,(0)$ are then used for describing the 
+Dalitz plot density in this class.  The values of these parameters are taken
+to be the world average values given by the Particle Data Group \cite{PDG}.
+
+\section{Status of this document}
+ 10.04.02   re-written by D.H. Wright \\
+ 02.04.02   editing by Hisaya Kurashige \\
+ 14.11.01   editing by Hisaya Kurashige \\
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+\bibitem{Chounet72} L.M. Chounet, J.M. Gaillard, and M.K. Gaillard, 
+   Phys. Reports 4C, 199 (1972).
+\bibitem{PDG} 
+   {\em Review of Particle Physics}
+   The European Physical Journal C, 15 (2000).
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\section{Bibliography}
+
+\begin{enumerate}
+\item L.M. Chounet, J.M. Gaillard, and M.K. Gaillard, Phys. Reports 4C, 199 (1972).
+\item {\em Review of Particle Physics} The European Physical Journal C, 15 (2000).
+\end{enumerate}
+
+\end{htmlonly}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/CVS/Entries	(revision 1208)
@@ -0,0 +1,6 @@
+D/lowenergy////
+D/miscellaneous////
+D/muons////
+D/standard////
+D/utils////
+D/xrays////
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/CVS/Entries	(revision 1208)
@@ -0,0 +1,17 @@
+/br-100kev.eps/1.1/Mon Nov 24 18:08:13 2003//
+/br-10kev.eps/1.1/Mon Nov 24 18:08:13 2003//
+/br-500kev.eps/1.1/Mon Nov 24 18:08:13 2003//
+/br-eff.eps/1.1/Mon Nov 24 18:08:13 2003//
+/compton.tex/1.7/Fri Dec 10 21:22:55 2004//
+/gammaconversion.tex/1.6/Fri Dec 10 21:22:55 2004//
+/hadrons.tex/1.26/Fri Dec 10 21:22:56 2004//
+/ionisation.tex/1.1/Thu Sep 30 15:45:31 1999//
+/overview.tex/1.11/Fri Dec 10 21:22:56 2004//
+/photoelectric.tex/1.8/Mon Dec 18 10:28:26 2006//
+/polarizedcompton.tex/1.6/Fri Dec 10 21:22:56 2004//
+/rayleigh.tex/1.10/Fri Dec 10 21:22:56 2004//
+/relaxation.tex/1.5/Fri Dec 10 21:22:57 2004//
+/bremsstrahlung.tex/1.10/Mon Nov 30 13:46:17 2009//
+/ionisation2.tex/1.9/Mon Nov 30 13:46:17 2009//
+/penelope.tex/1.10/Mon Nov 30 13:46:17 2009//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/bremsstrahlung.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/bremsstrahlung.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/bremsstrahlung.tex	(revision 1208)
@@ -0,0 +1,322 @@
+\section{Bremsstrahlung}\label{lowebrems}
+
+ The model G4LivermoreBremsstrahlungModel 
+calculates the continuous energy loss due to low energy gamma emission and
+simulates the gamma production by electrons. 
+ The gamma production threshold for a given material $\omega_c$ is used to separate the continuous and the 
+discrete parts of the process. The energy loss of an electron with the incident energy $T$ are expressed
+via the integrand over energy of the gammas:
+
+\begin{equation}
+{dE\over dx}=\sigma(T){{\int^{\omega_c}_{0.1eV}t{d\sigma\over d\omega}d\omega} \over{\int^{T}_{0.1eV}
+{d\sigma\over d\omega}d\omega}},
+\end{equation}
+
+ where $\sigma(T)$ is the total cross-section at a given incident kinetic energy, $T$, $0.1eV$ is the low energy limit
+of the EEDL data. The production cross-section is a complimentary function:
+
+\begin{equation}
+\sigma=\sigma(T){{\int^{T}_{\omega_c}{d\sigma\over d\omega}d\omega}\over {\int^{T}_{0.1eV}{d\sigma\over d\omega}d\omega}}.
+\end{equation}
+
+ The total cross-section, $\sigma_s$, is obtained from an interpolation of the evaluated cross-section data in the EEDL
+library~\cite{io-EEDL}, according to the formula (\ref{eqloglog}) in Section~\ref{subsubsigmatot}.
+
+ The EEDL data~\cite{br-leg4} of total cross-sections are parametrised~\cite{br-EEDL}  according to (\ref{eqloglog}).
+The probability of the emission of a photon with energy, $\omega$, considering an electron of incident kinetic energy, 
+$T$, is generated according to the formula:
+
+\begin{equation}
+\label{eqbrem}
+{d\sigma \over d\omega} = {F(x) \over x}, \;\; \mbox{with} x = {\omega \over T}.
+\end{equation}
+
+ The function, $F(x)$, describing energy spectra of the outcoming photons is taken from the EEDL library. For each 
+element 15 points in $x$ from 0.01 to 1 are used for the linear interpolation of this function. The function $F$ is 
+normalised by the condition $F(0.01) = 1$. The energy distributions of the emitted photons available in the EEDL 
+library are for only a few incident electron energies (about 10 energy points between 10 eV and 100 GeV). For other 
+energies a logarithmic interpolation formula (\ref{eqloglog}) is used to obtain values for the function, $F(x)$.
+For high energies, the spectral function is very close to:
+
+\begin{equation}
+  F(x) = 1 - x + 0.75x^2. 
+\end{equation}
+
+\subsection{Bremsstrahlung angular distributions}
+
+ The angular distribution of the emitted photons with respect to the incident
+electron can be sampled according to three alternative generators described below.
+The direction of the outcoming electron is determined from the energy-momentum balance. 
+This generators are currently implemented in G4ModifiedTsai, G4Generator2BS and 
+G4Generator2BN classes. 
+
+\subsubsection*{G4ModifiedTsai}
+
+\noindent
+ The angular distribution of the emitted photons is obtained from a 
+simplified \cite{br-g3} formula based on the Tsai cross-section \cite{br-tsai},
+which is expected to become isotropic in the low energy limit. 
+
+\subsubsection*{G4Generator2BS}
+
+ In G4Generator2BS generator, the angular distribution of the emitted photons is obtained 
+from the 2BS Koch and Motz bremsstrahlung double differential cross-section \cite{br-KandM}:
+
+\begin{eqnarray*}
+d\sigma_k,_\theta & = & \frac{4Z^2 r_0^2}{137} \frac{dk}{k} ydy \left\{
+\frac{16y^2E}{(y^2+1)^4E_0}-\right.{} \nonumber \\ 
+& & \left.\frac{(E_0+E)^2}{(y^2+1)^2E_0^2} + 
+\left[ \frac{E_0^2+E^2}{(y^2+1)^2E_0^2}- \frac{4y^2E}{(y^2+1)^4E_0}\right]ln M(y)\right\}
+\end{eqnarray*}
+
+\noindent
+where $k$ the photon energy, $\theta$ the emission angle, $E_0$ and $E$ are the 
+initial and final electron energy in units of $m_e c^2$, $r_0$ is the classical
+electron radius and $Z$ the atomic number of the material. $y$ and $M(y)$ are
+defined as:
+\begin{eqnarray*}
+y&=&E_0\theta \nonumber \\
+\frac{1}{M(y)}&=&\left(\frac{k}{2E_0E}\right)^2+\left(\frac{Z^{1/3}}{111(y^2+1)}\right)^2
+\end{eqnarray*}
+
+ The adopted sampling algorithm is based on the sampling scheme developed by 
+A. F. Bielajew et al. \cite{br-pirs}, and latter implemented in EGS4. In this sampling algorithm
+only the angular part of 2BS is used, with the emitted photon energy, $k$, determined by 
+GEANT4 $\left(\frac{d\sigma}{dk}\right)$ differential cross-section.
+
+
+\subsubsection*{G4Generator2BN}
+
+\noindent
+The angular distribution of the emitted photons is obtained from the 2BN Koch and Motz bremsstrahlung 
+double differential cross-section \cite{br-KandM} that can be written as:
+
+\begin{eqnarray*}
+d\sigma_k,_\theta & = & \frac{Z^2 r_0^2}{8\pi 137}\frac{dk}{k} \frac{p}{p_0} d\Omega_k
+\left \{ \frac{8\sin^2\theta (2E_0^2-1)}{p_0^2\Delta_0^4}- \right.{} \nonumber \\ 
+& & \left.\frac{2(5E_0^2+2EE_0+3)}{p_0^2\Delta_0^2}
+- \frac{2(p_0^2-k^2)}{Q^2\Delta_0}+\frac{4E}{p_2^2\Delta_0}+\frac{L}{pp_0} \right.{} \nonumber \\ 
+& & \left. \left[ \frac{4E_0\sin^2\theta(3k-p_0^2E)}{p_0^2\Delta^4} + \frac{4E_0^2(E_0^2+E^2)}
+{p_0^2\Delta_0^2}+ \right.\right.{} \nonumber \\ 
+& & \left.\left. \frac{2-2(E_0^2-3EE_0+E^2)}{p_0^2\Delta_0^2}+\frac{2k(E_0^2+EE_0-1)}
+{p_0^2\Delta_0}\right] \right.{} \nonumber \\ 
+& & \left. -\left(\frac{4\epsilon}{p\Delta0}\right) + \left(\frac{\epsilon^Q}{pQ}\right)
+\left[\frac{4}{\Delta^2_0}-\frac{6k}{\Delta_0}-\frac{2k(p_0^2-k^2)}{Q^2\Delta_0}\right]\right \}
+\end{eqnarray*}
+\noindent in which:
+\begin{eqnarray*}
+L&=&\ln\left[\frac{EE_0-1+pp_0}{EE_0-1-pp_0}\right] \nonumber \\
+\Delta_0&=&E_0-p_0\cos\theta                       \nonumber \\
+Q^2&=&p_0^2+k^2-2p_0k\cos\theta                    \nonumber \\
+\epsilon&=&\ln\left[\frac{E+p}{E-p}\right]  \qquad  \epsilon^Q=\ln\left[\frac{Q+p}{Q-p}\right]
+\end{eqnarray*}
+
+\noindent
+where $k$ is the photon energy, $\theta$ the emission angle and $(E_0,p_0)$ and $(E,p)$ are the total 
+(energy, momentum) of the electron before and after the radiative emission, all in units of $m_e c^2$.\\
+ Since the 2BN cross--section is a 2-dimensional  non-factorized  distribution an 
+acceptance-rejection technique was the adopted. For the 2BN distribution, two functions 
+$g_1(k)$ and $g_2(\theta)$ were defined:
+
+\begin{equation}
+g_1(k) = k^{-b} \qquad\qquad g_2(\theta)=\frac{\theta}{1+c\theta^2}
+\end{equation}
+
+\noindent
+such that:
+
+\begin{equation}
+Ag_1(k)g_2(\theta) \ge \frac{d\sigma}{dkd\theta}
+\end{equation}
+
+\noindent
+where A is a global constant to be completed. Both functions have an analytical 
+integral $G$ and an analytical inverse $G^{-1}$. The $b$ parameter of $g_1(k)$ was 
+empirically tuned and set to $1.2$. For positive $\theta$ values, $g_2(\theta)$ has a maximum  
+at $\frac{1}{\sqrt(c)}$. $c$ parameter controls the function global shape and it was 
+used to tune $g_2(\theta)$ according to the electron kinetic energy.\\
+To generate photon energy $k$ according to $g_1$ and $\theta$ according to $g_2$ the
+inverse-transform method was used. The integration of these functions gives
+
+\begin{equation}
+G_1 = C_1 \int_{k_{min}}^{k_{max}} k'^{-b}dk' = C_1 \frac{k^{1-b}-k^{1-b}_{min}}{1-b}
+\end{equation}
+
+\begin{equation}
+G_2 = C_2 \int_{0}^{\theta} \frac{\theta'}{1+c\theta'^2}d\theta'=C_2 \frac{\log(1+c\theta^2)}{2c}
+\end{equation}
+
+\noindent
+where $C_1$ and $C_2$ are two global constants chosen to normalize the integral in the overall range 
+to the unit. The  photon momentum $k$ will range from a minimum cut value $k_{min}$ (required to avoid 
+infrared divergence) to a maximum value equal to the  electron  kinetic energy  $E_k$, while the polar 
+angle ranges from 0 to $\pi$, resulting for $C_1$ and $C_2$:
+
+\begin{equation}
+C_1 = \frac{1-b}{E_k^{1-b}} \qquad\qquad C_2 = \frac{2c}{\log(1+c\pi^2)}
+\end{equation}
+
+\noindent
+$k$ and $\theta$ are then sampled according to:
+
+\begin{equation}
+k = \left[ \frac{1-b}{C_1}\xi_1 + k_{min}^{1-b} \right] \qquad\qquad \theta = \sqrt{\frac{\exp\left(\frac{2c\xi_2}{C_1}\right)}{2c}}
+\end{equation}
+
+\noindent
+where $\xi_1$ and $\xi_2$ are uniformly sampled in the interval (0,1). The event is accepted if:
+
+\begin{equation}
+uAg_1(k)g_2(\theta) \le \frac{d\sigma}{dkd\theta}
+\end{equation}
+
+\noindent
+where $u$ is a random number with uniform distribution in (0,1). The $A$ and $c$ parameters were computed 
+in a logarithmic grid, ranging  from 1 keV to 1.5 MeV with 100 points per decade. 
+Since the $g_2(\theta)$ function has a maximum at $\theta = \frac{1}{\sqrt{c}}$, 
+the $c$ parameter was  computed  using  the  relation $c=\frac{1}{\theta_{max}}$. At the point ($k_{min},\theta_{max}$) 
+where $k_{min}$ is the $k$ cut value, the double differential cross-section has its maximum value, since it is
+monotonically decreasing in $k$ and thus the global normalization parameter $A$ is estimated from the relation:
+
+\begin{equation}
+A g_1(k_{min})g_2({\theta_{max}})= \left(\frac{d^2\sigma}{dkd\theta}\right)_{max}
+\end{equation}
+
+\noindent
+where $g_1(k_{min})g_2({\theta_{max}}) =  \frac{k_{min}^{-b}}{2\sqrt{c}}$.
+Since $A$ and $c$ can only be retrieved for a fixed number of electron kinetic energies there exists the possibility that
+$A g_1(k_{min})g_2({\theta_{max}})\le\left(\frac{d^2\sigma}{dkd\theta}\right)_{max}$ for a given $E_k$. This is a small 
+violation that can be corrected introducing an additional multiplicative factor to the $A$ parameter, which was 
+empirically determined to be 1.04 for the entire energy range.\\ 
+
+\subsubsection*{Comparisons between Tsai, 2BS and 2BN generators}
+
+The currently available generators can be used according to the user required 
+precision and timing requirements. Regarding the energy range, validation results 
+indicate that for lower energies ($\le$ 100 keV) there is a significant
+deviation on the most probable emission angle between Tsai/2BS generators 
+and the 2BN generator - Figure \ref{br-dist}. The 2BN generator maintains however a good agreement 
+with Kissel data \cite{Kissel}, derived from the work of Tseng and co-workers \cite{Pratt},
+and it should be used for energies between 1 keV and 100 keV \cite{IEEE}.
+As the electron kinetic energy increases, the different distributions tend to overlap 
+and all generators present a good agreement with Kissel data.
+
+\begin{figure}[hbtp]
+\begin{center}
+\setlength{\unitlength}{0.0105in}%
+\includegraphics[width=4.7cm]{electromagnetic/lowenergy/br-10kev.eps}%
+\includegraphics[width=4.7cm]{electromagnetic/lowenergy/br-100kev.eps}%
+\includegraphics[width=4.7cm]{electromagnetic/lowenergy/br-500kev.eps}%
+\end{center}
+\caption{Comparison of polar angle distribution of bremsstrahlung photons ($k/T=0.5$) for
+10 keV ({\em left}) and 100 keV ({\em middle}) and 500 keV ({\em right}) electrons in silver, 
+obtained with Tsai, 2BS and 2BN generator}
+\label{br-dist}
+\end{figure}
+
+\noindent
+In figure \ref{br-eff} the sampling efficiency for the different generators are presented. 
+The sampling generation efficiency was defined as the ratio between the
+number of generated events and the total number of trials. As energies increases the sampling efficiency 
+of the 2BN algorithm decreases from 0.65 at 1 keV electron kinetic energy down to almost 0.35 at 1 MeV. 
+For energies up to 10 keV the 2BN sampling efficiency is superior or equivalent to the one of the 
+2BS generator. These results are an indication that precision simulation of low energy bremsstrahlung 
+can be obtained with little performance degradation. For energies above 500 keV, Tsai generator can be
+used, retaining a good physics accuracy and a sampling efficiency superior to the 2BS generator.
+%
+\begin{figure}[hbtp]
+\begin{center}
+\setlength{\unitlength}{0.0105in}%
+\includegraphics[width=8cm]{electromagnetic/lowenergy/br-eff.eps}
+\end{center}
+\caption{Sampling efficiency for Tsai generator, 2BS and 2BN Koch and Motz generators.}
+\label{br-eff}
+\end{figure} 
+
+\subsection{Status of the document}
+
+\noindent
+30.09.1999 created by Alessandra Forti\\
+07.02.2000 modified by V\'eronique Lef\'ebure\\
+08.03.2000 reviewed by Petteri Nieminen and Maria Grazia Pia\\
+05.12.2001 modified by Vladimir Ivanchenko\\
+13.05.2002 modified by Vladimir Ivanchenko\\
+24.11.2003 modified by Andreia Trindade, Pedro Rodrigues and Luis Peralta\\
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+\bibitem{br-leg4}
+  ``Geant4 Low Energy Electromagnetic Models for Electrons and Photons",
+   J.Apostolakis et al., CERN-OPEN-99-034(1999), INFN/AE-99/18(1999) 
+\bibitem{br-EEDL} 
+  %http://reddog1.llnl.gov/homepage.red/Electron.htm
+  ``Tables and Graphs of Electron-Interaction Cross-Sections from 10~eV to 100~GeV Derived from
+  the LLNL Evaluated Electron Data Library (EEDL), Z=1-100"
+  S.T.Perkins, D.E.Cullen, S.M.Seltzer,
+  UCRL-50400 Vol.31
+\bibitem{br-g3}
+  ``GEANT, Detector Description and Simulation Tool",
+  CERN Application Software Group, CERN Program Library Long Writeup W5013 
+\bibitem{br-tsai}    
+  ``Pair production and bremsstrahlung of charged leptons",
+  Y. Tsai, Rev. Mod. Phys., Vol.46, 815(1974), Vol.49, 421(1977)
+\bibitem{br-KandM}
+   ``Bremsstrahlung Cross-Section Formulas and Related Data",
+  H. W. Koch and J. W. Motz, Rev. Mod. Phys., Vol.31, 920(1959)
+\bibitem{br-pirs} 
+   ``Improved bremsstrahlung photon angular sampling in the EGS4 code system'',
+   A. F. Bielajew, R. Mohan and C.-S. Chui, Report NRCC/PIRS-0203 (1989)
+\bibitem{Kissel}  
+  ``Bremsstrahlung from electron collisions with neutral atoms'', 
+   L. Kissel, C. A. Quarls and R. H. Pratt, At. Data  Nucl. Data Tables, Vol. 28, 382(1983)
+\bibitem{Pratt} 
+  ``Electron bremsstrahlung angular distributions in the 1-500 keV energy range'', 
+   H. K. Tseng,  R. H. Pratt  and  C. M. Lee , Phys. Rev. A, Vol. 19, 187(1979)
+\bibitem{IEEE}
+   ``GEANT4 Applications and Developments for Medical Physics Experiments'',
+   P. Rodrigues et al. IEEE 2003 NSS/MIC Conference Record
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item
+  ``Geant4 Low Energy Electromagnetic Models for Electrons and Photons",
+   J.Apostolakis et al., CERN-OPEN-99-034(1999), INFN/AE-99/18(1999) 
+\item 
+  %http://reddog1.llnl.gov/homepage.red/Electron.htm
+  ``Tables and Graphs of Electron-Interaction Cross-Sections from 10~eV to 100~GeV Derived from
+  the LLNL Evaluated Electron Data Library (EEDL), Z=1-100"
+  S.T.Perkins, D.E.Cullen, S.M.Seltzer,
+  UCRL-50400 Vol.31
+\item
+  ``GEANT, Detector Description and Simulation Tool",
+  CERN Application Software Group, CERN Program Library Long Writeup W5013 
+\item   
+  ``Pair production and bremsstrahlung of charged leptons",
+  Y. Tsai, Rev. Mod. Phys., Vol.46, 815(1974), Vol.49, 421(1977)
+\item
+   ``Bremsstrahlung Cross-Section Formulas and Related Data",
+  H. W. Koch and J. W. Motz, Rev. Mod. Phys., Vol.31, 920(1959)
+\item 
+   ``Improved bremsstrahlung photon angular sampling in the EGS4 code system'',
+   A. F. Bielajew, R. Mohan and C.-S. Chui, Report NRCC/PIRS-0203 (1989)
+\item  
+  ``Bremsstrahlung from electron collisions with neutral atoms'', 
+   L. Kissel, C. A. Quarls and R. H. Pratt, At. Data  Nucl. Data Tables, Vol. 28, 382(1983)
+\item 
+  ``Electron bremsstrahlung angular distributions in the 1-500 keV energy range'', 
+   H. K. Tseng,  R. H. Pratt  and  C. M. Lee , Phys. Rev. A, Vol. 19, 187(1979)
+\item
+   ``GEANT4 Applications and Developments for Medical Physics Experiments'',
+   P. Rodrigues et al. IEEE 2003 NSS/MIC Conference Record
+\end{enumerate}
+
+\end{htmlonly}
+
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/compton.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/compton.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/compton.tex	(revision 1208)
@@ -0,0 +1,125 @@
+\section{Compton Scattering}
+
+\subsection{Total Cross Section}
+
+The total cross section for the Compton scattering process 
+%(also called incoherent
+%scattering~\footnote{Incoherent scattering is usually described as an interaction
+%between a photon and the outer most, most loosely bound electrons.}) 
+is determined from the data as described in section \ref{subsubsigmatot}. 
+
+\subsection{Sampling of the Final State}
+
+For low energy incident photons, the simulation of the Compton scattering
+process is performed according to the same procedure used for the
+``standard" Compton scattering simulation, with the addition that
+Hubbel's atomic form factor~\cite{ce-hubbel} or scattering function, $SF$,
+is taken into account.  The angular and energy distribution of the 
+incoherently scattered photon is then given by the product of the 
+Klein-Nishina formula $\Phi(\epsilon)$ and the scattering function, 
+$SF(q)$~\cite{ce-reda}
+\begin{equation}
+P(\epsilon, q ) = \Phi( \epsilon ) \times SF(q) .
+\end{equation}
+$\epsilon$ is the ratio of the scattered photon energy $E'$, and the 
+incident photon energy $E$.  The momentum transfer is given by 
+$q = E \times \sin^2(\theta/2)$, where $\theta$ is the polar angle of the 
+scattered photon with respect to the direction of the parent photon.
+$\Phi(\epsilon)$ is given by
+\begin{equation}
+  \Phi(\epsilon) \cong {[{1\over\epsilon} + \epsilon] [1-{\epsilon \over{1+\epsilon^2}} sin^2\theta]} .
+\end{equation}
+
+The effect of the scattering function becomes significant at low energies,
+especially in suppressing forward scattering~\cite{ce-reda}.
+
+The sampling method of the final state is  
+based on composition and rejection Monte Carlo methods \cite{ce-butch,ce-messel,ce-egs4}, 
+with the $SF$ function included in the rejection function
+\begin{equation}\label{en-samp-comp}
+g(\epsilon) = \left[1-\frac{\epsilon}{1+\epsilon^2} \sin^2\theta \right] \times SF(q) ,
+\end{equation}
+with $0<g(\epsilon)<Z$.
+Values of the scattering functions at each momentum transfer, $q$, are 
+obtained by interpolating the evaluated data for the corresponding atomic 
+number, $Z$. 
+
+The polar angle $\theta$ is deduced from the sampled $\epsilon$ value.
+In the azimuthal direction, the angular distributions of both the scattered 
+photon and the recoil electron are considered to be 
+isotropic~\cite{ce-stepanek}.
+
+Since the incoherent scattering occurs mainly on the outermost electronic 
+subshells, the binding energies can be neglected, as stated in
+reference~\cite{ce-stepanek}.  The momentum vector of the scattered photon, 
+$\overrightarrow{P'_{\gamma}}$,
+is transformed into the {\tt World} coordinate system.
+The kinetic energy and momentum of the recoil electron are then
+\begin{eqnarray*}
+T_{el} & = & E - E' \\
+\overrightarrow{P_{el}} & = & 
+              \overrightarrow{P_{\gamma}} - \overrightarrow{P'_{\gamma}} .
+\end{eqnarray*}
+
+
+\subsection{Status of the document}
+
+\noindent
+30.09.1999 created by Alessandra Forti\\
+07.02.2000 modified by V\'eronique Lef\'ebure\\
+08.03.2000 reviewed by Petteri Nieminen and Maria Grazia Pia\\
+26.01.2003 minor re-write by D.H. Wright
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+\bibitem{ce-hubbel}
+  ``Summary of Existing Information on the Incoherent Scattering of Photons
+  particularly on the Validity of the Use of the Incoherent Scattering
+  Function",
+  Radiat. Phys. Chem. Vol. 50, No 1, pp 113-124 (1997)
+\bibitem{ce-reda}
+  ``A simple model of photon transport", 
+  D.E. Cullen, Nucl. Instr. Meth. in Phys. Res. B 101(1995)499-510 
+\bibitem{ce-butch} J.C. Butcher and H. Messel.
+   {\em Nucl. Phys. 20} 15 (1960)   
+\bibitem{ce-messel} H. Messel and D. Crawford.
+   {\em Electron-Photon shower distribution, Pergamon Press} (1970)
+\bibitem{ce-egs4} R. Ford and W. Nelson.
+   {\em SLAC-265, UC-32} (1985)    
+\bibitem{ce-stepanek}
+   ``New Photon, Positron and Electron Interaction Data for Geant in Energy 
+Range from 1 eV to 10 TeV",
+   J. Stepanek, Draft to be submitted for publication
+
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item
+  ``Summary of Existing Information on the Incoherent Scattering of Photons
+  particularly on the Validity of the Use of the Incoherent Scattering
+  Function",
+  Radiat. Phys. Chem. Vol. 50, No 1, pp 113-124 (1997)
+\item
+  ``A simple model of photon transport", 
+  D.E. Cullen, Nucl. Instr. Meth. in Phys. Res. B 101(1995)499-510 
+\item J.C. Butcher and H. Messel.
+   {\em Nucl. Phys. 20} 15 (1960)   
+\item H. Messel and D. Crawford.
+   {\em Electron-Photon shower distribution, Pergamon Press} (1970)
+\item R. Ford and W. Nelson.
+   {\em SLAC-265, UC-32} (1985)    
+\item
+   ``New Photon, Positron and Electron Interaction Data for Geant in Energy 
+Range from 1 eV to 10 TeV",
+   J. Stepanek, Draft to be submitted for publication
+
+\end{enumerate}
+
+\end{htmlonly}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/gammaconversion.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/gammaconversion.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/gammaconversion.tex	(revision 1208)
@@ -0,0 +1,82 @@
+\section{Gamma Conversion}
+
+\subsection{Total cross-section}
+
+The total cross-section of the Gamma Conversion process 
+is determined from the data as described in section \ref{subsubsigmatot}. 
+
+\subsection{Sampling of the final state}
+
+For low energy incident photons, the simulation of the Gamma Conversion
+final state is performed according to ~\cite{gc-geant3}.
+
+The secondary $e^\pm$ energies are sampled using the Bethe-Heitler cross-sections with Coulomb correction.
+
+The Bethe-Heitler differential cross-section with the Coulomb correction for a photon of energy $E$ to produce a pair with one of the particles having energy $\epsilon E$ ($\epsilon$ is the fraction of the photon energy carried by one particle of the pair) is given by~\cite{gc-slac}:
+
+\begin{eqnarray*}
+  \frac{d \sigma(Z,E,\epsilon)}{d \epsilon} & = & \frac{r_0^2\alpha Z (Z + \xi(Z))}{E^2}\left[ (\epsilon^2 + ( 1 -\epsilon)^2) \left( \Phi_1(\delta) - \frac{F(Z)}{2}\right) \right. +\\ 
+& & + \left. \frac{2}{3}\epsilon (1-\epsilon) \left( \Phi_2(\delta) - \frac{F(Z)}{2} \right) \right] 
+\end{eqnarray*}
+
+where $\Phi_i(\delta)$ are the screening functions depending on the screening variable $\delta$~\cite{gc-geant3}. 
+
+The value of $\epsilon$ is sampled using composition and rejection Monte Carlo methods \cite{gc-geant3,gc-butch,gc-messel}. 
+
+After the successful sampling of $\epsilon$, the process generates the polar angles of the electron with respect to an axis defined along the
+direction of the parent photon. The electron and the positron are assumed to
+have a symmetric angular distribution. The energy-angle distribution is given 
+by\cite{gc-tsai}:
+
+\begin{eqnarray*}
+\frac{d \sigma}{dp d\Omega} & = & \frac{2 \alpha^2 e^2}{\pi k m^4}\left[ \left(\frac{2x(1-x)}{(1+l)}^2 - \frac{12 lx(1-x)}{(1+l)^4} \right)(Z^2+Z) + \right. \\ 
+& & +  \left. \left( \frac{ 2x^2 - 2x+1}{(1+l)^2} + \frac{4lx(1-x)}{(1+l)^4} \right) (X-2Z^2 f((\alpha Z)^2)) \right] 
+\end{eqnarray*}
+
+where $k$ is the photon energy, $p$ the momentum and $E$ the energy of the electron of the $e^\pm$ pair $x=E/k$ and $l = E^2\theta^2/m^2$. The sampling of this cross-section is obtained according to \cite{gc-geant3}.
+
+The azimuthal angle $\phi$  is generated isotropically. 
+
+This information together with the momentum conservation is used to calculate the momentum vectors of both decay products and to transform them to the GEANT coordinate system. The choice of which particle in the pair is the electron/positron is made randomly. 
+
+\subsection{Status of the document}
+
+\noindent
+18.06.2001 created by Francesco Longo\\
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+\bibitem{gc-geant3}Urban L., in Brun R. et al. (1993), {\it Geant. Detector Description and Simulation Tool}, CERN Program Library, section {\tt Phys/211} 
+\bibitem{gc-slac} R. Ford and W. Nelson., {\em SLAC-210, UC-32} (1978)    
+\bibitem{gc-butch} J.C. Butcher and H. Messel.
+   {\em Nucl. Phys. 20} 15 (1960)   
+\bibitem{gc-messel} H. Messel and D. Crawford.
+   {\em Electron-Photon shower distribution, Pergamon Press} (1970)
+\bibitem{gc-tsai}Y. S. Tsai, {\em Rev. Mod. Phys. 46} 815 (1974), Y. S. Tsai, {\em Rev. Mod. Phys. 49} 421 (1977)
+
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item Urban L., in Brun R. et al. (1993), {\it Geant. Detector Description and Simulation Tool}, CERN Program Library, section {\tt Phys/211} 
+\item R. Ford and W. Nelson., {\em SLAC-210, UC-32} (1978)    
+\item J.C. Butcher and H. Messel.
+   {\em Nucl. Phys. 20} 15 (1960)   
+\item H. Messel and D. Crawford.
+   {\em Electron-Photon shower distribution, Pergamon Press} (1970)
+\item Y. S. Tsai, {\em Rev. Mod. Phys. 46} 815 (1974), Y. S. Tsai, {\em Rev. Mod. Phys. 49} 421 (1977)
+\end{enumerate}
+
+\end{htmlonly}
+
+
+
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/hadrons.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/hadrons.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/hadrons.tex	(revision 1208)
@@ -0,0 +1,938 @@
+\section{Hadron and Ion Ionisation} \label{le_had_ion}
+ 
+
+ The class {\tt G4hLowEnergyIonisation} calculates the continuous energy loss
+due to ionisation and simulates the $\delta$-ray production by charged hadrons
+or ions.  This represents an extension of the Geant4 physics models down to 
+low energy \cite{hlei.prepHadr,hlei.prepIon}.
+
+\subsection{Delta-ray production}
+
+In Geant4, $\delta$-rays are generated generally only above a threshold 
+energy, $T_c$, the value of which depends on atomic parameters and the cut 
+value, $T_{cut}$, calculated from the unique {\em cut in range} parameter
+for all charged particles in all materials.  The total cross-section
+for the production of a $\delta$-ray electron of kinetic energy $T > T_c$ 
+by a particle of kinetic energy $E$ is:
+\begin{equation}
+\label{hlei.a}
+\sigma (E,T_{c}) = \int_{T_{c}}^{T_{max}} \frac{d \sigma (E,T)}{dT} dT
+\hspace{5mm} \mbox{with } T_c = \min(\max(I,T_{cut}),T_{max})
+\end{equation}
+where $I$ is the mean excitation potential of the atom (the formulae of 
+this charter are precise if $T \gg I$),
+$T_{max}$ is the maximum energy transferable to the free electron
+\begin{equation}
+\label{hlei.a1}
+T_{max} =\frac{2m_e c^2 (\gamma^2 -1)} {1+2\gamma (m_e/M) + (m_e/M)^2}
+\end{equation}
+with $m_e$ the electron mass, $M$ the mass of the incident particle, and
+$\gamma$ is the relativistic factor. 
+For heavy charged particles the differential cross-section per atom
+can be written as \cite{hlei.pdg,hlei.rossi52}:
+\begin{eqnarray}
+\label{hlei.bbb}
+\mbox{for spin 0} &\frac {d\sigma }{dT} = & K Z \frac {Z^2_h}{\beta^2 T^2}
+\left[ 1- \beta^2 \frac{T} { T_{max} }\right] 
+\\ \nonumber 
+\mbox{for spin 1/2} &\frac{d \sigma} {dT} = & K Z \frac {Z^2_h} {\beta^2 T^2}
+\left[1- \beta^ 2 \frac{T}{T_{max} }+ \frac{T^2} {2E^2}
+ \right] 
+\\  \nonumber 
+\mbox{for spin 1} &\frac{d \sigma} {dT}= & K Z \frac {Z^2_h}{\beta^2 T^2}
+\left[\left(1- \beta^ 2 \frac{T}{T_{max} }\right)
+\left(1 + \frac{T}{3Q_c} \right)
++ \frac{T^2} {3E^2}\left(1+\frac{T}{2Q_c}\right)
+ \right] 
+\end{eqnarray}
+where $Z$ is the atomic number,
+$Z_{h}$ is the effective charge of 
+the incident particle in units
+of positron charge, $\beta$ is the relativistic velocity, and
+$Q_c=(M c^2)^2/m_e c^2$. The
+factor $K$ is expressed as 
+$K = 2\pi r^2_e m_e c^2$,
+where $r_e$ is the classical electron
+radius. 
+The integration of
+formula (\ref{hlei.a}) gives the total cross-section,
+which
+for particles with spin 0 and 1/2 are the following :
+\begin{eqnarray}
+\label{hlei.c}
+\mbox{for spin 0} &\sigma (Z,E,T_{c})  = &
+K Z  \frac{Z^2_h}{\beta^2} \left (
+   \frac{1-\tau+\beta^2 \tau\ln \tau}{T_{c}} \right )
+\\ \nonumber
+\mbox{for spin 1/2} &\sigma (Z,E,T_{c})  = &
+K Z  \frac{Z^2_h}{\beta^2} \left ( \frac{1-\tau+\beta^2 \tau\ln \tau}{T_{c}}
++ \frac{T_{max}-T_{c}} {2E^2} \right ) 
+\end{eqnarray}
+where  $\tau = T_c/T_{max}$.
+
+\noindent 
+The average energy transfer $\Delta E_{\delta}$
+of a particle with spin 0
+to $\delta$-electrons with $T > T_c$
+can be expressed as:  
+\begin{equation}
+\Delta E_{\delta} = 
+N_{el}\frac{Z^2_h}{\beta^2} \left (-
+\ln{\tau} - 
+\beta^2(1-\tau) \right )
+\label{hlei.del}
+\end{equation}
+where  $N_{el}$ is the electron density of the medium.
+Using (\ref{hlei.bbb}) one finds that
+the correction to (\ref{hlei.del}) for particles with spin 1/2
+is $(T^2_{max}-T^2_c)/4E^2$. 
+This value is very small for low energy and can be neglected.
+The same conclusion can be drawn for particles with spin 1.
+
+\noindent
+The mean free path of the particle 
+is tabulated during initialisation
+as a function of the material and of the energy for 
+all the charged hadrons and static ions. Note, that for
+low energy $T_c = T_{max}$, cross-section is zero and
+the mean free path is set to infinity, compatible with the
+machine precision.
+
+
+\subsection{Energy Loss of Fast Hadrons}
+
+
+The energy lost in soft
+ionising collisions producing $\delta$-rays below ${T_c}$
+are included in the continuous energy loss. 
+ The mean value of the energy loss 
+is given by the restricted Bethe-Bloch formula \cite{hlei.bethe,hlei.pdg} :
+\begin{eqnarray}
+\left.\frac{dE}{dx} \right]_{T<T_c} &=& K N_{el}\frac{Z^2_{h}}{\beta^2}L_0
+\\ \nonumber 
+&=& K N_{el}\frac{Z^2_{h}}{\beta^2} \left [
+\ln{\frac{2m_e c^2 \beta^2\gamma^2T_{max}}{I^2}} -
+\beta^2 \left ( 1 +\frac{T_c}{T_{max}} \right )
+ - \delta - \frac{2C_e}{Z} \right ]
+\label{hlei.d}
+\end{eqnarray}
+where  $N_{el}$ is the electron density of the medium, 
+ $\delta$ is the density correction term, and $C_e/Z$ is the shell correction 
+term.
+
+\noindent
+The density effect becomes important at high 
+energies because of the long-range polarisation 
+of the medium by a relativistic charged particle. The shell correction term
+takes into account the fact that, at low energies for light elements,
+and at all energies for heavy ones, the probability of 
+hadron interaction with inner atomic shells becomes small.
+The accuracy of the Bethe-Bloch formula with the correction terms mentioned
+above is estimated as 1~\% for
+energies between 6~MeV and 6~GeV \cite{hlei.pdg}. 
+Using (\ref{hlei.bbb}) one can find out that
+the correction to $L_0$ for particles with the spin 1/2
+is $T^2_c/4E^2$. This value is very small and can be neglected.
+
+\noindent
+There exists a variety of phenomenological approximations for 
+parameters in the Bethe-Bloch formula.
+ In Geant4 the tabulation of
+the ionisation potential from Ref.\cite{hlei.ICRU37} 
+is implemented for all the 
+elements. For the density
+effect the formulation of Sternheimer \cite{hlei.sternheimer}
+is used:
+\input{electromagnetic/utils/densityeffect}
+
+\noindent
+The semi-empirical formula due to Barkas, which is applicable to all 
+materials, is used for the shell correction term\cite{hlei.bark62}:
+\begin{equation}
+C_e(I, \beta\gamma) = \frac{a(I)}{(\beta\gamma)^2}
+                     +\frac{b(I)}{(\beta\gamma)^4}
+                     +\frac{c(I)}{(\beta\gamma)^6}
+\end{equation}
+The functions a(I), b(I), c(I) can be found in the source code. \\
+This formula breaks down at low energies, and it only applies for $\beta 
+\gamma > 0.13$ (e.g. $T > 7.9$ MeV for a proton). 
+For $\beta \gamma \leq 0.13$ the shell correction term is calculated as:
+$$
+\left . C_{e}(I,\beta \gamma) \rule{0mm}{5mm} \right |_{\beta \gamma \leq
+0.13} = C_{e}(I,\beta \gamma=0.13)\frac{\ln (T/T_{2l})}
+         {\ln (7.9 \mbox{ MeV}/T_{2l})}
+$$
+hence the correction becomes progressively smaller from $T=7.9$
+MeV to $T=T_{2l}=2 \mbox{ MeV}$.
+
+\noindent
+Since $M \gg m_e$,
+the ionisation loss does not depend on the hadron
+mass, but on its velocity.
+Therefore the energy loss of a charged hadron 
+with kinetic energy, $T$, is the same as
+the energy loss of a proton with the same velocity. The corresponding
+kinetic energy of the proton $T_p$ is
+\begin{equation}
+T_{proton} = \frac{M_{proton}}{M} \ T.
+\label{hlei.e}
+\end{equation}  
+
+\noindent
+At initialisation stage of Geant4 the $dE/dx$ tables 
+and range tables for all materials
+are calculated only for protons and antiprotons.
+During run time the energy loss and the range of any hadron or ion are
+recalculated using the scaling relation (\ref{hlei.e}).
+
+
+\subsection{Barkas and Bloch effects}
+
+
+The accuracy of 
+the Bethe-Bloch stopping power formula 
+(\ref{hlei.e}) can be improved
+if the higher order terms are taken into account:
+\begin{equation}
+-\frac{dE}{dx} = K \frac{Z^2_{h}}{\beta^2}(L_0 +Z_{h}L_1+Z^2_{h}L_2), 
+\label{hlei.f}
+\end{equation}
+where $L_1$ is the Barkas term \cite{hlei.bark56}, 
+describing the difference
+between ionisation of positively and negatively charged particles, and
+$L_2$ is the Bloch term.
+
+The Barkas effect for kinetic energy of 
+protons or antiprotons greater than $500 keV$ can be described as 
+\cite{hlei.arb72}:
+\begin{equation}
+L_1=\frac{F\left ( b / \sqrt{x}\right ) }{\sqrt{Z x^3}}, \,\,\,
+x=\frac{\beta^2c^2}{Zv_0^2},\,\,\,
+b=0.8 Z^{\frac 16}\left( 1+6.02Z^{-1.19}\right), 
+\label{hlei.g}
+\end{equation}
+where 
+$v_0$ is the Bohr velocity (corresponding to proton energy $T_p=25 keV$), and 
+the function $F$ is  tabulated according to \cite{hlei.arb72}.
+
+The Bloch term \cite{hlei.bloch}
+can be expressed in the following way:
+\begin{equation}
+Z^2_{h}L_2 = - y^2 \sum^{\inf}_{j=1} \frac{1}{j(j^2 + y^2)},\,\,\,
+y=\frac{Z_{h}}{137\beta}.
+\label{hlei.h}
+\end{equation}
+Note, that for $y \ll 1$ the simplified expression 
+$Z^2_{h}L_2=-1.202y^2$ can be used.
+
+Both the Barkas and Bloch terms break scaling of ionisation losses
+if the absolute value of particle charge is different from unity,
+because the particle charge $Z_h$ is not factorised
+in the formula (\ref{hlei.f}).
+To take these terms into account correction is made at
+each step of the simulation for the value of $dE/dx$
+re-calculated from the proton or antiproton tables.
+There is the possibility to switch off the calculation
+of these terms.
+
+\subsection{Energy losses of slow positive hadrons}
+
+At low energies the total energy loss is usually described 
+in terms of {\it electronic stopping power} $S_e = - dE/dx$.
+For charged hadron with velocity $\beta < 0.05$ (corresponding 
+to 1~MeV for protons), formula (\ref{hlei.d}) becomes inaccurate.
+In this case the velocity of the incident 
+hadron is comparable to the velocity
+of atomic electrons. At very low energies, when 
+$\beta < 0.01$, the model of a free electron gas \cite{hlei.Lindhard}
+predicts the stopping power to be proportional to
+the hadron velocity,   
+but it is not as accurate as the Bethe-Bloch formalism.
+The intermediate region $0.01 < \beta < 0.05$ is not covered 
+by precise theories. In this energy 
+interval the Bragg peak of ionisation loss occurs.
+
+To simulate slow proton energy loss
+the  following
+parametrisation from the review  \cite{hlei.Ziegler771} was implemented:
+\begin{eqnarray}
+S_e & = &  A_1E^{1/2}, \; \; \; \; \; \; \; \; \hspace{46mm}
+ 1~keV < T_p < 10~keV, \nonumber \\
+S_e & = & \frac{S_{low}S_{high}}{S_{low}+S_{high}}, \hspace{46mm}
+                       10~keV < T_p < 1~MeV, \nonumber \\
+S_{low}  & = & A_2E^{0.45},  \nonumber\\
+S_{high} & = & \frac{A_3}{E}\ln{\left(1 + \frac{A_4}{E} + A_5E \right)},  
+             \nonumber \\
+S_e & =  & \frac{A_6}{\beta^2} \left [\ln{\frac{A_7\beta^2}{1-\beta^2}}
+-\beta^2 - \sum^{4}_{i=0} A_{i+8}(\ln{E})^i \right ],  
+                      \;   1~MeV < T_p < 100~MeV, \nonumber \\
+\label{hlei.i}
+\end{eqnarray}  
+where $S_e$ is the stopping power
+in $[eV/10^{15}atoms/cm^2]$, $E=T_p/M_p [keV/amu]$, $A_i$ are twelve 
+fitting parameters found individually for each atom for
+atomic numbers from 1 to 92.
+This parametrisation is used
+in the interval of proton kinetic energy:
+\begin{equation}
+T_1 < T_p < T_2,
+\label{hlei.j}
+\end{equation}  
+where $T_1 = 1~keV$ is the minimal kinetic energy of protons 
+in the tables of Ref.\cite{hlei.Ziegler771}, 
+ $T_2$ is an arbitrary value 
+between 2~MeV and 100~MeV, since in this range
+ both the  parametrisation (\ref{hlei.i})
+and the Bethe-Bloch formula (\ref{hlei.e}) 
+have practically the same accuracy and
+are close to each other. 
+Currently the value  $T_2 = 2~MeV$ is chosen.
+
+
+To avoid problems in computation and 
+to provide a continuous $dE/dx$ function, the factor
+\begin{equation}
+F = \left (1 + B\frac{T_2}{T_p} \right )
+\label{hlei.r}
+\end{equation}  
+is multiplied by the value of  $dE/dx$ for $T_p > T_{2}$.
+The parameter $B$ is determined for each element of the material 
+in order to
+provide continuity at $T_p=T_2$. The value of $B$ for all
+atoms is less than 0.01. For the
+simulation of the stopping power of very slow protons the model of a
+free electron gas \cite{hlei.Lindhard} is used:
+\begin{equation}
+S_e = A \sqrt{T_p}, \; \; T_p < T_{1}.
+\label{hlei.k}
+\end{equation}  
+The parameter $A$ is defined for each atom
+by requiring the stopping power to be continuous
+  at $T_p=T_{1}$. Currently the value used is $T_1=1~keV$.
+
+Note that
+if the cut kinetic energy is small ($T_c < T_{max}$), then the average
+energy deposit giving
+rise to $\delta$-electron production  (\ref{hlei.del})
+is subtracted from the
+value of the stopping power $S_e$, which is calculated by formula
+(\ref{hlei.i}).
+
+
+Alternative parametrisations of proton energy loss
+are also available within Geant4 (Table \ref{hlei.tab0}).
+The parameterisation formulae
+in Ref.\cite{hlei.ICRU49} are the same 
+as in Ref.(\cite{hlei.Ziegler771}) 
+for the kinetic
+energy of protons $T_p < 1~MeV$, but 
+the values of the parameters are different.
+The type of parameterisation is optional and
+can be chosen by the user separately for each particle
+at the initialisation stage of Geant4.
+
+
+\begin{table*}
+\caption{The list of parameterisations available.}
+%\vspace {2pt}
+\label{hlei.tab0}
+\begin{center}
+\begin{tabular}{|l|l|l|}
+\hline
+Name  & Particle & Source \\ 
+\hline
+{\bf Ziegler1977p} & proton & J.F.~Ziegler parameterisation 
+    \cite{hlei.Ziegler771} \\
+{\bf Ziegler1977He} & $He^4$ & J.F.~Ziegler parameterisation 
+    \cite{hlei.Ziegler774}\\
+{\bf Ziegler1985p} & proton & TRIM'85 parameterisation \cite{hlei.Ziegler85} \\
+{\bf ICRU\_R49p} & proton & ICRU parameterisation \cite{hlei.ICRU49} \\
+{\bf ICRU\_R49He} & $He^4$ & ICRU parameterisation \cite{hlei.ICRU49} \\
+\hline
+\end{tabular} 
+\end{center}
+\end{table*}
+
+
+\subsection{Energy loss of alpha particles}
+
+The accuracy of the data for the ionisation losses of $\alpha$-particles 
+in all elements \cite{hlei.ICRU49,hlei.Ziegler774} 
+is comparable to the accuracy
+of the data for proton energy loss \cite{hlei.Ziegler771,hlei.ICRU49}. 
+In the GEANT4 energy loss model for $\alpha$-particles  
+the Bethe-Bloch formula is used for kinetic energy 
+$T > T_2$, where $T_2$ is the arbitrary parameter, currently set to $8~MeV$. 
+For lower energies a parameterisation is performed.
+In the energy range of the Bragg peak, 
+$1~keV < T < 10~MeV$, the 
+parameterisation is:  
+\begin{eqnarray}
+S_e & = & \frac{S_{low}S_{high}}{S_{low}+S_{high}},  \nonumber \\
+S_{low}  & = & A_1T^{A_2},  \nonumber\\
+S_{high} & = & \frac{A_3}{T}\ln{\left(1 + \frac{A_4}{T} + A_5T \right)},  
+             \nonumber \\
+\label{hlei.l}
+\end{eqnarray}  
+where $S_e$ is the electronic stopping power
+in $[eV/10^{15}atoms/cm^2]$, $T$ is the kinetic energy of $\alpha$-particles in
+$MeV$,
+$A_i$ are the five fitting
+parameters fitted individually for each atom for
+atomic numbers from 1 to 92. 
+
+For higher energies $T > 10~MeV$, another
+ parametrisation \cite{hlei.Ziegler774} is applied
+\begin{equation}
+S_e= exp \left(A_6+A_7E+A_8E^2+A_9E^3 \right ), \; E=ln(1/T).
+\label{hlei.m}
+\end{equation}  
+To ensure a continuous $dE/dx$ function from the energy range of the
+Bethe-Bloch formula to the energy range of the parameterisation, the factor
+\begin{equation}
+F = \left (1 + B\frac{T_2}{T} \right )
+\label{hlei.n}
+\end{equation}  
+is multiplied by the value of  $S_e$ as predicted by the Bethe-Bloch formula
+for $T > T_{2}$.
+The parameter $B$ is determined for each element of the material in order to
+ensure continuity at $T_p=T_2$. The value of $B$ for different atoms is
+usually less than 0.01.
+
+For kinetic energies of $\alpha$-particles $T < 1~keV$ the model
+of free electron gas  \cite{hlei.Lindhard} is used
+\begin{equation}
+S_e = A \sqrt{T},
+\label{hlei.o}
+\end{equation}  
+The parameter $A$ is defined for each atom by requiring the stopping power to be
+continuous at $T=1~keV$.
+
+
+\subsection{Effective charge of ions}
+
+For hadrons or ions
+the scaling relation can be written as
+\begin{equation}
+S_{ei}(T) = Z_{eff}^2\cdot S_{ep}(T_p),
+\label{hlei.sei}
+\end{equation}  
+where $S_{ei}$ is the ion stopping power,
+ $S_{ep}$ is the proton stopping power at the energy scaled
+according (\ref{hlei.e}), and  
+$Z_{eff}$ is effective charge of the particle, which has to be used in 
+all expressions in place of $Z_h$.
+For fast particles it is equal to the particle charge $Z_h$,
+but for slow ions it differs significantly because  
+ a slow ion
+picks up electrons from the medium.
+The ion effective charge is expressed via 
+the ion charge $Z_h$ and the
+fractional effective charge of ion $\gamma_i$:
+\begin{equation}
+Z_{eff} = \gamma_i Z_h.
+\label{hlei.p}
+\end{equation}  
+
+For helium ions 
+fractional effective charge
+is parameterised for all 
+elements with good accuracy \cite{hlei.Ziegler85} according to:
+\begin{eqnarray}
+(\gamma_{He})^2 & = &\left (1-\exp\left [-\sum_{j=0}^5{C_jQ^j}\right ]\right)
+\left ( 1  + \frac{ 7 + 0.05  Z }{1000} \exp( -(7.6-Q)^2 ) \right )^2, 
+\nonumber \\
+ Q & = & \max ( 0, \ln T_p) ,  
+\label{hlei.q} 
+\end{eqnarray}  
+where the coefficients $C_j$ are the same for all elements, and the
+helium ion kinetic energy is in $keV/amu$.
+
+
+The following expression is used for heavy ions \cite{hlei.BK}:  
+\begin{equation}
+\gamma_i = \left ( q + \frac{1-q}{2} \left (\frac{v_0}{v_F} \right )^2 
+\ln {\left ( 1 + \Lambda^2 \right )} \right )
+\left ( 1 + \frac{(0.18+0.0015Z)\exp(-(7.6-Q)^2)}{Z_i^2} \right ),
+\label{hlei.s}
+\end{equation}  
+where $q$ is 
+the fractional average charge of the ion,
+$v_0$ is the Bohr velocity,
+$v_F$ is the Fermi velocity of  
+the electrons in the target medium, and $\Lambda$ is 
+the term taking into account the screening effect. In Ref.~\cite{hlei.BK},
+$\Lambda$ is estimated to be:
+\begin{equation}
+\Lambda = 10 \frac{v_F}{v_0} \frac{(1-q)^{2/3}}{Z_i^{1/3}(6+q)}.
+\label{hlei.t}
+\end{equation}  
+The Fermi velocity of the medium is of the same order as the Bohr velocity, and
+its exact value depends on the detailed electronic structure of the medium.
+Experimental data on the Fermi velocity are taken from
+Ref.\cite{hlei.Ziegler85}.
+The expression for the fractional average charge of the ion is the following:
+\begin{equation}
+q = [1 -\exp(0.803y^{0.3}-1.3167y^{0.6}-0.38157y-0.008983y^2)],
+\label{hlei.u}
+\end{equation}  
+where $y$ is a parameter that depends on the ion velocity $v_i$
+\begin{equation}
+y = \frac{v_i}{v_0Z^{2/3}} \left ( 1 +\frac {v_F^2}{5v_i^2} \right ).
+\label{hlei.v}
+\end{equation}  
+
+The parametrisation described in this chapter is only valid
+if the reduced kinetic energy of the ion is higher than the lower limit
+of the energy:
+\begin{equation}
+T_p > \max \left ( 3.25~keV, \frac{25~keV}{Z^{2/3}} \right ).
+\label{hlei.x}
+\end{equation}  
+If the ion energy is lower, then the free electron gas model (\ref{hlei.o})
+is used  to calculate the stopping power.
+
+
+\subsection{Energy losses of slow negative particles}
+
+At low energies, e.g. below a few MeV for protons/antiprotons, the
+Bethe-Bloch formula is no longer accurate in describing the energy 
+loss of charged hadrons and higher $Z$ terms should be taken in 
+account. 
+Odd terms in $Z$ lead to a significant difference between energy 
+loss of positively and negatively charged particles. 
+The energy loss of negative hadrons is scaled from that 
+of antiprotons. 
+The antiproton energy loss is calculated in the following way:
+\begin{itemize}
+\item 
+if the material is elemental, the quantum harmonic oscillator model is used, as
+described in \cite{hlei.sigmund} and references therein.
+The lower limit of applicability of the model is chosen for all
+materials at $50~keV$. Below this value stopping power is set to constant
+equal to the $dE/dx$ at $50~keV$.
+\item 
+if the material is not elemental, the energy loss is calculated 
+down to $500~keV$ using the Barkas correction (\ref{hlei.n})
+ and at lower energies fitting the 
+proton energy loss curve.
+\end{itemize}
+
+
+
+   
+\subsection{Energy losses of hadrons in compounds}
+
+To obtain energy losses in 
+a mixture or compound, 
+the absorber can be thought of as made up of thin 
+layers of pure elements with weights proportional to the electron 
+density of the element in the absorber (Bragg's rule):
+\begin{equation}
+\frac{dE}{dx}=\sum_i{\left (\frac{dE}{dx} \right )_i},
+\label{hlei.y}
+\end{equation}  
+where the sum is taken over all elements of the absorber, $i$ is
+the number of the element,
+$(\frac{dE}{dx})_i$ is energy loss in the pure $i$-th element.
+
+Bragg's rule is very accurate for relativistic particles
+when the interaction of electrons with a nucleus is negligible.
+But at low energies the accuracy of Bragg's rule is limited
+because the energy loss to the electrons in any material
+depends on the detailed orbital
+and excitation structure of the material.
+In the description of Geant4 materials there is a special
+attribute: the chemical formula.
+It is used in the
+following way: 
+\begin{itemize}
+\item
+if the data on the stopping power for a compound
+as a function of the proton kinetic energy
+  is available (Table \ref{hlei.tab1}), then the
+direct parametrisation of the data for this material is performed;
+\item
+if the data on the stopping power for a compound
+  is available for only one incident 
+energy (Table \ref{hlei.tab2}), then 
+the computation is
+performed based on Bragg's rule and the chemical
+factor for the compound is taken into account;
+\item
+if there are no data for the compound, the computation is
+performed based on Bragg's rule.
+\end{itemize}
+\noindent
+In the review \cite{hlei.Ziegler88} the parametrisation stopping
+power data are presented as
+\begin{equation}
+S_e(T_p)= S_{Bragg}(T_p)\left [1 + \frac{f(T_p)}{f(125~keV)}
+\left (\frac{S_{exp}(125~keV)}{S_{Bragg}(125~keV)}-1 \right ) \right ],
+\label{hlei.z}
+\end{equation}  
+where $S_{exp}(125~keV)$ is the experimental value of the energy loss
+for the compound
+for $125~keV$ protons or  the
+reduced experimental value for He ions, $S_{Bragg}(T_p)$ is
+a value of energy loss calculated according to Bragg's
+rule, and $f(T_p)$ is a universal function, which describes
+the disappearance of deviations from Bragg's rule
+for higher kinetic energies according to:
+\begin{equation}
+f(T_p)=\frac{1}{1+\exp \left [1.48(\frac{\beta(T_p)}
+{\beta(25~keV)}-7.0) \right ]},
+\label{hlei.fun}
+\end{equation}  
+where $\beta(T_p)$ is the relative velocity of the proton with
+kinetic energy $T_p$.  
+
+
+\begin{table*}
+\caption{The list of chemical formulae of compounds for which 
+ parametrisation of stopping power as a function
+of kinetic energy is in Ref.\cite{hlei.ICRU49}.}
+%\vspace {2pt}
+\label{hlei.tab1}
+\begin{center}
+\begin{tabular}{|l|l|}
+\hline
+Number & Chemical formula \\ 
+\hline
+1.     &  AlO  \\
+2.     &  C\_2O \\
+3.     &  CH\_4  \\
+4.     &  (C\_2H\_4)\_N-Polyethylene \\
+5.     &  (C\_2H\_4)\_N-Polypropylene \\
+6.     &  (C\_8H\_8)\_N \\  
+7.     &  C\_3H\_8 \\
+8.     &  SiO\_2 \\
+9.     &  H\_2O \\
+10.    &  H\_2O-Gas \\
+11.    &  Graphite \\
+\hline
+\end{tabular} 
+\end{center}
+\end{table*}
+
+\begin{table*}
+\caption{The list of chemical formulae of compounds for which 
+the {\it chemical factor} is calculated from the data 
+ of Ref.\cite{hlei.Ziegler88}.}
+%\vspace {2pt}
+\label{hlei.tab2}
+\begin{center}
+\begin{tabular}{|l|l|l|l|}
+\hline
+Number & Chemical formula & Number & Chemical formula \\ 
+\hline
+1.   &   H\_2O    & 28. & C\_2H\_6 \\
+2.   &   C\_2H\_4O    & 29. & C\_2F\_6 \\
+3.   &   C\_3H\_6O    & 30.   & C\_2H\_6O \\
+4.   &   C\_2H\_2    & 31.   & C\_3H\_6O \\
+5.   &   C\_H\_3OH    & 32. & C\_4H\_10O \\
+6.   &   C\_2H\_5OH    & 33. & C\_2H\_4 \\
+7.   &   C\_3H\_7OH       & 34. & C\_2H\_4O \\
+8.   &   C\_3H\_4    & 35.      & C\_2H\_4S \\
+9.   &   NH\_3                 & 36.   & SH\_2 \\
+10. & C\_14H\_10    & 37.   & CH\_4 \\
+11.   & C\_6H\_6      & 38.    & CCLF\_3 \\
+12. & C\_4H\_10     & 39. & CCl\_2F\_2 \\
+13.  & C\_4H\_6    & 40.       & CHCl\_2F \\
+14.  & C\_4H\_8O       & 41.   & (CH\_3)\_2S \\
+15.        & CCl\_4    & 42. & N\_2O \\
+16.   & CF\_4      & 43.    & C\_5H\_10O \\
+17.   & C\_6H\_8      & 44. & C\_8H\_6 \\
+18.   & C\_6H\_12    & 45.         & (CH\_2)\_N \\
+19.   & C\_6H\_10O     & 46.   & (C\_3H\_6)\_N \\
+20.    & C\_6H\_10    & 47. & (C\_8H\_8)\_N \\
+21.   & C\_8H\_16     & 48. & C\_3H\_8 \\
+22. & C\_5H\_10     & 49.  & C\_3H\_6-Propylene \\
+23.  & C\_5H\_8    & 50. & C\_3H\_6O \\
+24.  & C\_3H\_6-Cyclopropane    & 51.   & C\_3H\_6S \\
+25.  & C\_2H\_4F\_2    & 52. & C\_4H\_4S \\
+26.   & C\_2H\_2F\_2    & 53.  & C\_7H\_8 \\
+27. & C\_4H\_8O\_2     & & \\
+\hline
+\end{tabular} 
+\end{center}
+\end{table*}
+
+
+\subsection{Nuclear stopping powers}
+
+Low energy ions transfer their energy not only to electrons of a medium 
+but also to the nuclei of the medium  due to the elastic Coulomb
+collisions. 
+This contribution to the energy loss is called {\it
+nuclear stopping power}.  
+It is parametrised \cite{hlei.Ziegler774,hlei.Ziegler85,hlei.ICRU49}
+ using a universal parameterisation for  reduced 
+ion energy, $\epsilon$, which depends on ion parameters and on
+the charge, $Z_t$, and the mass, $M_t$, of the target nucleus: 
+\begin{equation}
+\epsilon = \frac{32.536TM_t}{Z_{eff}Z_t(M+M_t)
+\sqrt{Z_{eff}^{0.23}+Z_t^{0.23}}}.
+\label{hlei.ep}
+\end{equation}
+The universal reduced nuclear stopping power, $s_n$, is determined
+by J.~Moliere in the framework of Thomas-Fermi potential \cite{hlei.mol}.
+The corresponding tabulation from Ref.\cite{hlei.ICRU49}
+is implemented. 
+To transform the value of
+nuclear stopping power from reduced units to
+ $[eV/10^{15}atoms/cm^2]$ the following formula is used:
+\begin{equation}
+S_n = s_n \frac{8.462Z_iZ_tM_i}{(M_i+M_t)\sqrt{Z_i^{0.23}+Z_t^{0.23}}}.
+\label{hlei.re}
+\end{equation}
+The effect of nuclear stopping power is very small at high energies, but
+it is of the same order of magnitude as electronic stopping power
+for very slow ions (e.g. for protons, $T_p < 1 keV$).
+
+\subsection{Fluctuations of energy losses of hadrons} 
+
+The total continuous energy loss of charged particles is a stochastic 
+quantity with a distribution described in terms of a straggling function.
+The straggling is partially taken into account by the simulation
+of energy loss by the production of $\delta$-electrons with energy
+$T > T_c$. However, continuous energy loss also has fluctuations.  Hence 
+in the current GEANT4 implementation two different models of fluctuations
+are applied depending on the value of the parameter $\kappa$ which is the 
+lower limit of the number of interactions of the particle in the step.
+The default value chosen is $\kappa = 10$.  To select a model for thick 
+absorbers the following boundary conditions are used:
+\begin{equation}
+\Delta E > T_c\kappa)\;\; or \;\; T_c < I\kappa,
+\label{le_cond}
+\end{equation}
+where $\Delta E$ is the mean continuous energy loss in a track segment of 
+length $s$, $T_c$ is the cut kinetic energy of $\delta$-electrons, and $I$ 
+is the average ionisation potential of the atom.
+   
+For long path lengths the straggling function 
+approaches the Gaussian distribution with Bohr's variance \cite{hlei.ICRU49}:
+\begin{equation}
+\Omega^2 = K N_{el}\frac{Z_h^2}{\beta^2} T_c s f
+\left(1 - \frac{\beta^2}{2} \right),
+\label{sig}
+\end{equation}
+where $f$ is a screening factor, which is equal to unity for fast particles,
+whereas for slow positively charged 
+ions with $\beta^2 < 3Z (v_0/c)^2$
+$f = a + b/Z^2_{eff}$, where parameters $a$ and $b$
+are parametrised for all atoms \cite{hlei.Yang,hlei.Chu}.
+
+For short path lengths, when the condition \ref{le_cond} is not satisfied,
+the model described in the charter \ref{gen_fluctuations} is applied.
+
+\subsection{Sampling}
+
+At each step for a charged hadron or ion in an absorber,
+the step limit is calculated using range tables
+for protons or antiprotons depending on the particle charge.
+If the reduced particle energy $T_p < T_2$ the step limit is
+forced to be not longer than $\alpha R(T_2)$, where $R(T_2)$ 
+is the range of the particle with the reduced energy $T_2$,
+$\alpha$ is an arbitrary coefficient, which is currently set to 0.05
+in order to provide at least 20 steps for particles
+in the Bragg peak energy range.
+\noindent   
+In each step continuous energy loss of the particle
+is calculated using loss tables for protons or antiprotons
+for $T_p > T_2$. For lower energies, continuous energy loss
+is calculated using the effective charge approach, chemical
+factors, and nuclear stopping powers.
+\noindent
+If the step of the particle is limited by the ionisation process
+the sampling of $\delta$-electron production is performed.
+(A short overview of the method is given in Chapter \ref{secmessel}.) \\
+Apart from the normalisation, the cross-section 
+(\ref{hlei.bbb}) can be written as :
+\begin{eqnarray}
+\frac{d\sigma}{dT} \sim f(T) \ g(T) &with& T \in [T_{c}, \ T_{max}]
+\end{eqnarray}
+with :
+\begin{eqnarray*}
+f(T) &=& \left(\frac{1}{T_{c}} -\frac{1}{T_{max}}\right)
+\frac{1}{T^2} \\
+g(T) &=& 1 - \beta^2\frac{T}{T_{max}} + S(T),
+\end{eqnarray*}
+where $S(T)$ is a spin dependent term (\ref{hlei.bbb}). 
+For a spin-0 particle this term is zero, for 
+a spin-$\frac{1}{2}$ particle $S(T)=T^2/2E^2$,
+whilst for spin-1 the expression is more complicated.
+\\
+The energy, $T$, is sampled by :
+\begin{enumerate}
+\item Sample $T$ from $f(T)$.
+\item Calculate the rejection function $g(T)$ and accept the
+sampled $T$ with a probability of $g(T)$.
+\end{enumerate}
+After the successful sampling of the energy, the polar angles of the 
+emitted electron are generated with respect to the direction of the
+incident particle.  The azimuthal angle, $\phi$, is generated isotropically;
+the polar angle $\theta$ is calculated from the energy momentum conservation.
+This information is used to calculate the energy and momentum of both
+particles and to transform them into the {\it global} coordinate system.
+
+\subsection{PIXE}
+PIXE is simulated by calculating cross-sections according to 
+\cite{hlei.Gryzinski1} and \cite{hlei.Gryzinski2} to identify the primary 
+ionised shell, and generating the subsequent atomic relaxation as described 
+in \ref{relax}.  Sampling of excitations is carried out for both the 
+continuous and the discrete parts of the process.
+
+
+\subsection{Status of this document}
+
+\noindent
+21.11.2000 Created by V.Ivanchenko \\
+30.05.2001 Modified by V.Ivanchenko \\
+23.11.2001 Modified by M.G. Pia to add PIXE section. \\
+19.01.2002 Minor corrections (mma) \\
+13.05.2002 Minor corrections (V.Ivanchenko) \\
+28.08.2002 Minor corrections (V.Ivanchenko)
+
+\begin{latexonly}
+
+\begin{thebibliography}{599}
+
+\bibitem{hlei.prepHadr}V.N.~Ivanchenko et al., GEANT4 Simulation
+of 
+Energy Losses of Slow Hadrons, CERN-99-121, INFN/AE-99/20, (September 1999).
+\bibitem{hlei.prepIon}S.~Giani et al., GEANT4 Simulation
+of 
+Energy Losses of Ions, CERN-99-300, INFN/AE-99/21, (November 1999).
+\bibitem{hlei.pdg} D.E.~Groom et al., Eur. 
+Phys. Jour. C15 (2000) 1. 
+\bibitem{hlei.rossi52} B.~Rossi, High Energy
+Particles, Pretice-Hall, Inc., Englewood Cliffs, NJ, 1952.
+\bibitem{hlei.bethe}H.~Bethe, Ann. Phys.  5 (1930) 325.
+\bibitem{hlei.ICRU37} (A.~Allisy et al),
+Stopping Powers for Electrons and Positrons,
+ICRU Report 37, 1984.
+\bibitem{hlei.sternheimer}
+  R.M.~Sternheimer. Phys.Rev. B3 (1971) 3681.
+\bibitem{hlei.bark62}
+  W.H.~Barkas. Technical Report 10292,UCRL, August 1962.
+\bibitem{hlei.bark56}
+W.H.~Barkas, W.~Birnbaum, F.M.~Smith, Phys. Rev. 
+101 (1956) 778.
+\bibitem{hlei.arb72}  
+J.C.~Ashley, R.H.~Ritchie and W.~Brandt,
+Phys. Rev. B5 (1972) 1.
+\bibitem{hlei.bloch}F.~Bloch, Ann. Phys. 16 (1933) 285.
+\bibitem{hlei.Lindhard}
+J.~Linhard and A.~Winther, Mat. Fys. Medd. Dan. Vid. Selsk. 
+ 34, No 10 (1963). 
+\bibitem{hlei.Ziegler771}H.H.~Andersen and J.F.~Ziegler, 
+The Stopping
+and Ranges of Ions in Matter. Vol.3, Pergamon Press, 1977.
+\bibitem{hlei.ICRU49}ICRU (A.~Allisy et al),
+Stopping Powers and Ranges for Protons and Alpha
+Particles,
+ICRU Report 49, 1993.
+\bibitem{hlei.Ziegler774}J.F.~Ziegler, The Stopping
+and Ranges of Ions in Matter. Vol.4, Pergamon Press, 1977.
+\bibitem{hlei.Ziegler85}J.F.~Ziegler, J.P.~Biersack, U
+.~Littmark, The Stopping
+and Ranges of Ions in Solids. Vol.1, Pergamon Press, 1985.
+\bibitem{hlei.BK}
+W.~Brandt and M.~Kitagawa, Phys. Rev. B25 (1982) 5631.
+\bibitem{hlei.sigmund}
+P.~Sigmund, Nucl. Instr. and Meth.
+B85 (1994) 541.
+\bibitem{hlei.Ziegler88} J.F.~Ziegler and 
+J.M.~Manoyan, Nucl. Instr. and Meth.  
+B35 (1988) 215.
+\bibitem{hlei.mol}G.~Moliere, 
+Theorie der Streuung schneller geladener Teilchen I;
+ Einzelstreuungam abbgeschirmten Coulomb-Feld, Z. f. Naturforsch, A2
+ (1947) 133.
+\bibitem{hlei.GEANT3} GEANT3 manual, 
+CERN Program Library Long Writeup
+W5013 (October 1994).
+\bibitem{hlei.Yang} Q.~Yang, 
+D.J.~O'Connor, Z.~Wang, Nucl. Instr. and Meth.  
+B61 (1991) 149.
+\bibitem{hlei.Chu} W.K.~Chu, in: Ion Beam Handbook for
+Material Analysis, edt. J.W.~Mayer and E.~Rimini,
+Academic Press, NY, 1977. 
+\bibitem{hlei.Gryzinski1} M. Gryzinski, Phys. Rev. A 135 (1965) 305.
+\bibitem{hlei.Gryzinski2} M. Gryzinski, Phys. Rev. A 138 (1965) 322.
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item V.N.~Ivanchenko et al., GEANT4 Simulation of 
+Energy Losses of Slow Hadrons, CERN-99-121, INFN/AE-99/20, (September 1999).
+\item S.~Giani et al., GEANT4 Simulation of 
+Energy Losses of Ions, CERN-99-300, INFN/AE-99/21, (November 1999).
+\item D.E.~Groom et al., Eur. 
+Phys. Jour. C15 (2000) 1. 
+\item B.~Rossi, High Energy
+Particles, Pretice-Hall, Inc., Englewood Cliffs, NJ, 1952.
+\item H.~Bethe, Ann. Phys.  5 (1930) 325.
+\item (A.~Allisy et al),
+Stopping Powers for Electrons and Positrons,
+ICRU Report 37, 1984.
+\item
+  R.M.~Sternheimer. Phys.Rev. B3 (1971) 3681.
+\item
+  W.H.~Barkas. Technical Report 10292,UCRL, August 1962.
+\item
+W.H.~Barkas, W.~Birnbaum, F.M.~Smith, Phys. Rev. 
+101 (1956) 778.
+\item  
+J.C.~Ashley, R.H.~Ritchie and W.~Brandt,
+Phys. Rev. B5 (1972) 1.
+\item F.~Bloch, Ann. Phys. 16 (1933) 285.
+\item
+J.~Linhard and A.~Winther, Mat. Fys. Medd. Dan. Vid. Selsk. 
+ 34, No 10 (1963). 
+\item H.H.~Andersen and J.F.~Ziegler, 
+The Stopping
+and Ranges of Ions in Matter. Vol.3, Pergamon Press, 1977.
+\item ICRU (A.~Allisy et al),
+Stopping Powers and Ranges for Protons and Alpha
+Particles,
+ICRU Report 49, 1993.
+\item J.F.~Ziegler, The Stopping
+and Ranges of Ions in Matter. Vol.4, Pergamon Press, 1977.
+\item J.F.~Ziegler, J.P.~Biersack, U
+.~Littmark, The Stopping
+and Ranges of Ions in Solids. Vol.1, Pergamon Press, 1985.
+\item
+W.~Brandt and M.~Kitagawa, Phys. Rev. B25 (1982) 5631.
+\item
+P.~Sigmund, Nucl. Instr. and Meth.
+B85 (1994) 541.
+\item J.F.~Ziegler and 
+J.M.~Manoyan, Nucl. Instr. and Meth.  
+B35 (1988) 215.
+\item G.~Moliere, 
+Theorie der Streuung schneller geladener Teilchen I;
+ Einzelstreuungam abbgeschirmten Coulomb-Feld, Z. f. Naturforsch, A2
+ (1947) 133.
+\item GEANT3 manual, 
+CERN Program Library Long Writeup
+W5013 (October 1994).
+\item Q.~Yang, 
+D.J.~O'Connor, Z.~Wang, Nucl. Instr. and Meth.  
+B61 (1991) 149.
+\item W.K.~Chu, in: Ion Beam Handbook for
+Material Analysis, edt. J.W.~Mayer and E.~Rimini,
+Academic Press, NY, 1977. 
+\item M. Gryzinski, Phys. Rev. A 135 (1965) 305.
+\item M. Gryzinski, Phys. Rev. A 138 (1965) 322.
+\end{enumerate}
+
+\end{htmlonly}
+
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/ionisation.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/ionisation.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/ionisation.tex	(revision 1208)
@@ -0,0 +1,51 @@
+\section{Ionisation} 
+\label{secioni}
+
+The total cross section at a given incident kinetic energy T is calculated by
+summing the partial cross sections at such energy for all the subshells of an
+element. The partial subshell cross sections at incident energy T are obtained
+from an interpolation of the evaluated cross section data in the EEDL library,
+according to the formula \ref{eqloglog}.
+
+The subshell from which the electron is emitted is randomly selected according
+to the cross sections of the subshells, determined at the energy T by
+interpolating the evaluated cross section data from the EEDL data library.
+
+The probability of emission of an electron ($\delta$ ray) with kinetic energy
+$t$ from a subshell of binding energy $B_i$ as the result of the interaction of
+an incoming electron of kinetic energy $T$ is described by:
+\begin{equation}
+  \label{eqionihigh}
+  Prob(T, t, B_i) = {\sum^7}_{j=2}{a_j(T)\over(t+b_i)^j} 
+\end{equation}
+for $t < t_0$ and 
+\begin{equation}
+\label{eqionilow}
+  Prob(T, t, B_i) = {c(T)\over t^2}
+\end{equation}
+for $t > t_0$, where $t_0$ is a parameter.
+Both formulas result from empirical fits to the EEDL data and
+are normalized to 1. 
+The $a$, $b$ and $c$ coefficients are
+determined by fitting the data; their energy dependence is evaluated from a
+semilogarithmic interpolation of the fitted data. 
+
+The sampling of the final state proceeds
+through two steps: first the range of the energy ($t < t_0$ or $t > t_0$) is
+determined by a random number extraction, taking into account the relative area
+determined by the two functions \ref{eqionihigh} and \ref{eqionilow}, then the
+energy of the $\delta$ ray is generated according to the corresponding
+probability distribution. 
+
+The angle of emission of the scattered electron and of the $\delta$ ray 
+is determined by energy-momentum conservation.
+
+The interaction leaves the atom in an excited state, with excitation energy
+equal to the binding energy of the subshell from which the electron has been
+emitted. The deexcitation of the atom proceeds via the emission of fluorescence
+photons, as described in section \ref{secphoto}.
+
+\section{Status of the document}
+30.9.99 created by Alessandra Forti
+
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/ionisation2.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/ionisation2.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/ionisation2.tex	(revision 1208)
@@ -0,0 +1,126 @@
+\section{Electron ionisation} \label{secioni2}
+
+    
+ The class G4LivermoreIonisationModel calculates the continuous energy loss
+  due to electron ionisation and
+ simulates  
+ $\delta$-ray production by electrons. 
+ The $delta$-electron 
+production
+threshold for a given material, $T_c$, is used to separate
+the continuous and the discrete parts of the process. The energy loss
+of an electron with the incident energy, $T$, is expressed
+via the sum over all atomic shells, $s$, and the integral over the energy, $t$,
+of $delta$-electrons:
+\begin{equation}
+{dE\over dx}=\sum_{s}\left(\sigma_s(T){{\int^{T_c}_{0.1eV}t{d\sigma\over dt}dt} \over{\int^{T_{max}}_{0.1eV}{d\sigma\over dt}dt}}\right),
+\end{equation}
+where $T_{max} = 0.5T$ is the maximum energy transfered to a $\delta$-electron,
+$\sigma_s(T)$ is
+the total cross-section for the shell, $s$, at a given 
+incident kinetic energy, $T$, and $0.1eV$ is the low energy limit
+of the EEDL data.
+The $\delta$-electron production cross-section is a complimentary
+function:
+\begin{equation}
+\sigma(T)=\sum_{s}\left(\sigma_s(T){{\int^{T_{max}}_{T_c}{d\sigma\over dt}dt}\over {\int^{T_{max}}_{0.1eV}{d\sigma\over dt}dt}}\right).
+\end{equation}
+ The partial sub-shell cross-sections, $\sigma_s$, are obtained
+from an interpolation of the evaluated cross-section data in the EEDL
+library~\cite{io-EEDL},
+according to the formula (\ref{eqloglog}) in Section~\ref{subsubsigmatot}.
+
+The probability of emission of a $\delta$-electron with kinetic energy,
+$t$, from a sub-shell, $s$, of binding energy, $B_s$, as the 
+result of the interaction of
+an incoming electron with kinetic energy, $T$,
+is described by: 
+\begin{equation}
+{d\sigma \over dt} = {P(x) \over x^2}, \;\; \mbox{with} x={t + B_s \over T + B_s}, 
+\end{equation}
+where the parameter $x$ is varied from $x_{min} = (0.1eV + B_s)/(T + B_s)$ to
+0.5.  The function, $P(x)$,  is parametrised differently in 3 regions of $x$: from $x_{min}$
+to $x_1$ the linear interpolation with linear scale of 4 points is used; from $x_1$ to $x_2$
+the linear interpolation with logarithmic scale of 16 points is used; from $x_2$ to $0.5$
+the following interpolation is applied:
+\begin{equation}
+\label{io-ff}
+P(x) = 1 - gx +(1 - g)x^2 + {x^2 \over 1-x}({1 \over 1-x} - g) + A*(0.5 - x)/x,
+\end{equation}
+where $A$ is a fit coefficient, $g$ is expressed via the gamma factor
+of the incoming electron:
+\begin{equation}
+\label{ff}
+g = (2\gamma - 1) / \gamma^2.
+\end{equation}
+For the high energy case ($x >> 1$) the formula (\ref{io-ff}) is transformed
+to the M\"{o}ller electron-electron scattering formula \cite{io-g3,io-messel}.
+
+The value of the coefficient, $A$,  for each element is obtained as a result
+of the fit on the spectrum from the EEDL data for those
+energies which are available in the database.
+The values of $x_1$ and $x_2$ are chosen for each atomic shell 
+according to the spectrum of $\delta$-electrons in this shell. Note that $x_1$
+corresponds to the maximum of the spectrum, if the maximum does not coincide 
+with $x_{min}$.
+The dependence of all 24 parameters  on the incident energy, $T$, 
+is evaluated from a logarithmic interpolation (\ref{eqloglog}).
+
+The sampling of the final state proceeds in three steps. 
+First a shell is randomly selected, then the energy of the
+$delta$-electron is sampled, finally 
+the angle of emission of the scattered electron and of the $\delta$-ray 
+is determined by energy-momentum conservation taken into account
+electron motion on the atomic orbit.
+
+The interaction leaves the atom in an excited state. 
+The deexcitation of the atom is simulated as 
+described in section~\ref{relax}. Sampling of the excitations is carried out 
+for both the continuous and the discrete parts 
+of the process.
+
+\subsection{Status of the document}
+
+\noindent
+30.09.1999 created by Alessandra Forti\\
+07.02.2000 modified by V\'eronique Lef\'ebure\\
+08.03.2000 reviewed by Petteri Nieminen and Maria Grazia Pia\\
+05.12.2001 modified by Vladimir Ivanchenko \\
+13.05.2002 modified by Vladimir Ivanchenko
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+\bibitem{io-EEDL} 
+  %http://reddog1.llnl.gov/homepage.red/Electron.htm
+  ``Tables and Graphs of Electron-Interaction Cross-Sections from 10~eV to 100~GeV Derived from
+  the LLNL Evaluated Electron Data Library (EEDL), Z=1-100"
+  S.T.Perkins, D.E.Cullen, S.M.Seltzer,
+  UCRL-50400 Vol.31
+\bibitem{io-g3}
+  G\textsc{eant3} manual ,CERN Program Library Long Writeup W5013 (October 1994).
+\bibitem{io-messel}
+  H.Messel and D.F.Crawford. Pergamon Press,Oxford,1970.
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item 
+  %http://reddog1.llnl.gov/homepage.red/Electron.htm
+  ``Tables and Graphs of Electron-Interaction Cross-Sections from 10~eV to 100~GeV Derived from
+  the LLNL Evaluated Electron Data Library (EEDL), Z=1-100"
+  S.T.Perkins, D.E.Cullen, S.M.Seltzer,
+  UCRL-50400 Vol.31
+\item
+  G\textsc{eant3} manual ,CERN Program Library Long Writeup W5013 (October 1994).
+\item
+  H.Messel and D.F.Crawford. Pergamon Press,Oxford,1970.
+\end{enumerate}
+
+\end{htmlonly}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/overview.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/overview.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/overview.tex	(revision 1208)
@@ -0,0 +1,325 @@
+\section{Introduction}
+
+Additional electromagnetic physics processes for photons, electrons, hadrons 
+and ions have been implemented in Geant4 in order to extend the validity 
+range of particle interactions to lower energies than those available in the 
+standard Geant4 electromagnetic processes~\cite{ov-leg4,ov-had,ov-ion}.
+Because atomic shell structure is more important in most cases at low energies
+than it is at higher energies, the low energy processes make direct use of 
+shell cross section data.  The standard processes, which are optimized for 
+high energy physics applications, rely on parameterizations of these data.
+ 
+The low energy processes include the photo-electric effect, Compton scattering,
+Rayleigh scattering, gamma conversion, bremsstrahlung and ionization.  
+Fluorescence of excited atoms is also considered.  
+
+Some features common to all low energy processes currently implemented in
+Geant4 are summarized in this section.  Subsequent sections provide more 
+detailed information for each process.
+
+\subsection{Physics}
+
+The low energy processes of Geant4 represent electromagnetic interactions 
+at lower energies than those covered by the equivalent Geant4 standard 
+electromagnetic processes.
+
+The current implementation of low energy processes is valid for energies 
+down to 250 eV (and can be used up to approximately 100 GeV), unless
+differently specified.  It covers elements with atomic number between 1 and 
+99.
+
+All processes involve two distinct phases: 
+\begin{itemize}
+\item the calculation and use of total cross sections, and
+\item the generation of the final state. 
+\end{itemize}
+Both phases are based on the theoretical models and on
+exploitation of evaluated data.
+
+\subsection{Data Sources}
+
+The data used for the determination of cross-sections and 
+for sampling of the final state are extracted 
+from a set of publicly distributed evaluated data
+libraries: 
+\begin{itemize}
+\item
+EPDL97 (Evaluated Photons Data Library)~\cite{ov-EPDL97};
+\item
+EEDL (Evaluated Electrons Data Library)~\cite{ov-EEDL};
+\item
+EADL (Evaluated Atomic Data Library)~\cite{ov-EADL};
+\item
+stopping power data~\cite{ov-Ziegler771,ov-Ziegler774,ov-Ziegler85,ov-ICRU49};
+\item
+binding energy values based on data of Scofield~\cite{ov-bindingEnergies}.
+\end{itemize}
+
+Evaluated data sets are produced through the process of critical comparison,
+selection, renormalization and averaging of the available experimental data,
+normally complemented by model calculations.
+%Evaluated Libraries are computer files of evaluated data which, appropriately
+%processed, form the input data to computations for a wide variety of nuclear
+%science and technology applications. Each of these evaluated libraries
+%may consist of individual evaluated data sets for several hundred isotopes
+%or elements (commonly referred to as 'materials')~\cite{ov-NEA}.
+These libraries provide the following data relevant for the simulation of 
+Geant4 low energy processes:
+
+\begin{itemize}
+
+\item 
+total cross-sections for photoelectric effect, Compton scattering, 
+Rayleigh scattering, pair production and bremsstrahlung,
+\item 
+subshell integrated cross sections for photo-electric effect and ionization,
+\item 
+energy spectra of the secondaries for electron processes,
+\item 
+scattering functions for the Compton effect,
+\item 
+form factors for Rayleigh scattering,
+\item 
+binding energies for electrons for all subshells,
+\item 
+transition probabilities between subshells for fluorescence and the Auger 
+effect, and
+\item
+stopping power tables.
+\end{itemize}
+
+The energy range covered by the data libraries extends from 100 GeV 
+down to 1 eV for Rayleigh and Compton effects, down to the lowest binding 
+energy for each element for photo-electric effect and ionization, and
+down to 10 eV for bremsstrahlung.
+
+%\subsubsection{Data validity and accuracy}
+%For a rough estimate of the accuracy of EPDL97 data libraries in different 
+%energy regimes, see \cite{ov-data-est}. 
+%The data are only applicable to cold, neutral, 
+%ground-state and isolated atoms, 
+%i.e. solid-state effects, plasmas, 
+%external electric or magnetic fields are not taken into
+%account although they could have significant 
+%effects on the cross-sections near photoeffect
+%thresholds of inner-shell electrons, 
+%and completely alter the cross-sections near the
+%thresholds of outer-shells~\cite{ov-EPDL97}.
+
+%The precision of the binding energies is estimated 
+%to be better than 1\%~\cite{ov-EPDL97}
+%which is small compared to the differences expected due 
+%to elements combining into radicals or
+%compounds. 
+%For example, the K shell binding energy of 
+%H is 13.6 eV, and that of H2 is 16.4 eV,
+%about 21\% higher. This will effect accuracy 
+%over narrow energy ranges near photoionisation
+%edges.
+
+%Precision estimates on the data can be 
+%found in~\cite{ov-EPDL97},~\cite{ov-EEDL} and~\cite{ov-EADL}. 
+
+\subsection{Distribution of the Data Sets}
+
+The author of EPDL97~\cite{ov-EPDL97}, who is also responsible for the 
+EEDL~\cite{ov-EEDL} and EADL~\cite{ov-EADL} data libraries, Dr. Red Cullen, 
+has kindly permitted the libraries and their related documentation to be 
+distributed with the Geant4 toolkit.  The data are reformatted for Geant4 
+input.  They can be downloaded from the source code section of the Geant4 
+page:  http://cern.ch/geant4/geant4.html. 
+
+The EADL, EEDL and EPDL97 data-sets are also available from several 
+public distribution centres in a format different 
+from the one used by Geant4~\cite{ov-NEA}.
+
+Stopping power data are taken from 
+publications~\cite{ov-Ziegler771,ov-Ziegler774,ov-Ziegler85,ov-ICRU49}.
+
+\subsection{Calculation of Total Cross Sections}\label{subsubsigmatot}
+
+The energy dependence of the total cross section is derived for each 
+process from the evaluated data libraries.  Since the libraries provide 
+cross sections for a set of discrete incident energies, the total cross
+section at a given energy, $E$, is obtained by interpolation according to 
+the formula~\cite{ov-stepanek}: 
+\begin{equation}
+  \label{eqloglog}
+  \log(\sigma(E)) = {log(\sigma_1)log(E_2/E) + log(\sigma_2)log(E/E_1)
+                      \over log(E_2/E_1)}
+\end{equation}
+where $E_1$ and $E_2$ are respectively the closest lower and higher energy  
+for which data ($\sigma_1$ and $\sigma_2$) are available.
+
+For each process a production threshold energy is defined;  by default it 
+is set to the low end of the energy validity range of the process (250~eV 
+in the current implementation), but a higher or lower value can be set by 
+the user.  
+
+For a particle of energy $E$, the mean free path for interacting via a 
+given process is calculated as:
+\begin{equation}
+  \lambda = {1\over{\Sigma_i\\ \sigma_{i}(E)\cdot n_i}}
+\end{equation}
+where $\sigma_{i}(E)$ is the microscopic 
+integrated cross-section of the process considered at energy $E$, and $n_i$ 
+is the atomic density of the $i-th$ element contributing to the material 
+composition.  The sum runs over all the elements of which the material is 
+composed.  The cross sections are determined as described in this section.  
+An exception to this method is the implementation of the chemical effect on 
+hadron/ion stopping powers for a set of materials.
+
+
+\subsection{Sampling of Relevant Physics Quantities}
+
+The final state products of the processes are generated by sampling
+relevant physical quantities, such as energies and angular distributions 
+of secondaries, from distributions derived from theoretical models and 
+evaluated data.  The energy dependence of the parameters which characterize 
+the distributions is taken into account either by direct interpolation of 
+the data available in the libraries, or by interpolation of values obtained 
+from fits to the data.
+
+When generating the final state, an atom of the material in which the 
+interaction occurs is randomly selected and atomic de-excitation is 
+simulated.
+
+Secondaries which would be produced with energies below their user defined 
+production threshold are not created and their energy is deposited locally.
+
+
+\subsection{Status of the document}
+
+\noindent
+30.09.1999 created by Alessandra Forti\\
+07.02.2000 modified by V\'eronique Lef\'ebure\\
+08.03.2000 reviewed by Petteri Nieminen and Maria Grazia Pia\\
+04.12.2001 reviewed by Vladimir Ivanchenko\\
+26.01.2003 minor re-write by D.H. Wright .
+
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+\bibitem{ov-leg4}
+ ``Geant4 Low Energy Electromagnetic Models for Electrons and Photons",
+   J.Apostolakis et al., CERN-OPEN-99-034(1999), INFN/AE-99/18(1999) 
+\bibitem{ov-had}
+V.N.~Ivanchenko et al., GEANT4 Simulation of 
+Energy Losses of Slow Hadrons, CERN-99-121, INFN/AE-99/20, (September 1999).
+\bibitem{ov-ion}
+S.~Giani et al., GEANT4 Simulation of 
+Energy Losses of Ions, CERN-99-300, INFN/AE-99/21, (November 1999).
+\bibitem{ov-EPDL97} 
+  %http://reddog1.llnl.gov/homepage.red/photon.htm
+ ``EPDL97: the Evaluated Photon Data Library, '97 version",
+  D.Cullen, J.H.Hubbell, L.Kissel,
+  UCRL--50400, Vol.6, Rev.5
+\bibitem{ov-EEDL} 
+  %http://reddog1.llnl.gov/homepage.red/Electron.htm
+  ``Tables and Graphs of Electron-Interaction Cross-Sections from 10~eV to 100~GeV Derived from
+  the LLNL Evaluated Electron Data Library (EEDL), Z=1-100"
+  S.T.Perkins, D.E.Cullen, S.M.Seltzer,
+  UCRL-50400 Vol.31
+\bibitem{ov-EADL} 
+  %http://reddog1.llnl.gov/homepage.red/ATOMIC.htm
+  ``Tables and Graphs of Atomic Subshell and Relaxation Data Derived from
+  the LLNL Evaluated Atomic Data Library (EADL), Z=1-100"
+  S.T.Perkins, D.E.Cullen, M.H.Chen, J.H.Hubbell, J.Rathkopf, J.Scofield,
+  UCRL-50400 Vol.30
+\bibitem{ov-Ziegler771}
+H.H.~Andersen and J.F.~Ziegler, 
+The Stopping
+and Ranges of Ions in Matter. Vol.3, Pergamon Press, 1977.
+\bibitem{ov-Ziegler774}
+J.F.~Ziegler, The Stopping
+and Ranges of Ions in Matter. Vol.4, Pergamon Press, 1977.
+\bibitem{ov-Ziegler85}
+J.F.~Ziegler, J.P.~Biersack, 
+U.~Littmark, The Stopping
+and Ranges of Ions in Solids. Vol.1, Pergamon Press, 1985.
+\bibitem{ov-ICRU49}
+ICRU (A.~Allisy et al),
+Stopping Powers and Ranges for Protons and Alpha
+Particles,
+ICRU Report 49, 1993.
+\bibitem{ov-bindingEnergies}
+  J.H. Scofield, ``Radiative Transitions", in ``Atomic Inner-Shell Processes",
+  B.Crasemann ed. (Academic Press, New York, 1975),pp.265-292.
+%\bibitem{ov-data-est}
+%  http://reddog1.llnl.gov/homepage.red/DOCUMENT/EPDL97/epdl97.htm
+\bibitem{ov-NEA}
+  http://www.nea.fr/html/dbdata/nds\_evaluated.htm
+\bibitem{ov-stepanek}
+   ``New Photon, Positron and Electron Interaction Data 
+for Geant in Energy Range
+   from 1 eV to 10 TeV",
+   J. Stepanek, Draft to be submitted for publication
+
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item
+ ``Geant4 Low Energy Electromagnetic Models for Electrons and Photons",
+   J.Apostolakis et al., CERN-OPEN-99-034(1999), INFN/AE-99/18(1999) 
+\item
+V.N.~Ivanchenko et al., GEANT4 Simulation of 
+Energy Losses of Slow Hadrons, CERN-99-121, INFN/AE-99/20, (September 1999).
+\item
+S.~Giani et al., GEANT4 Simulation of 
+Energy Losses of Ions, CERN-99-300, INFN/AE-99/21, (November 1999).
+\item
+  %http://reddog1.llnl.gov/homepage.red/photon.htm
+ ``EPDL97: the Evaluated Photon Data Library, '97 version",
+  D.Cullen, J.H.Hubbell, L.Kissel,
+  UCRL--50400, Vol.6, Rev.5
+\item 
+  %http://reddog1.llnl.gov/homepage.red/Electron.htm
+  ``Tables and Graphs of Electron-Interaction Cross-Sections from 10~eV to 100~GeV Derived from
+  the LLNL Evaluated Electron Data Library (EEDL), Z=1-100"
+  S.T.Perkins, D.E.Cullen, S.M.Seltzer,
+  UCRL-50400 Vol.31
+\item 
+  %http://reddog1.llnl.gov/homepage.red/ATOMIC.htm
+  ``Tables and Graphs of Atomic Subshell and Relaxation Data Derived from
+  the LLNL Evaluated Atomic Data Library (EADL), Z=1-100"
+  S.T.Perkins, D.E.Cullen, M.H.Chen, J.H.Hubbell, J.Rathkopf, J.Scofield,
+  UCRL-50400 Vol.30
+\item
+H.H.~Andersen and J.F.~Ziegler, 
+The Stopping
+and Ranges of Ions in Matter. Vol.3, Pergamon Press, 1977.
+\item
+J.F.~Ziegler, The Stopping
+and Ranges of Ions in Matter. Vol.4, Pergamon Press, 1977.
+\item
+J.F.~Ziegler, J.P.~Biersack, 
+U.~Littmark, The Stopping
+and Ranges of Ions in Solids. Vol.1, Pergamon Press, 1985.
+\item
+ICRU (A.~Allisy et al),
+Stopping Powers and Ranges for Protons and Alpha
+Particles,
+ICRU Report 49, 1993.
+\item
+  J.H. Scofield, ``Radiative Transitions", in ``Atomic Inner-Shell Processes",
+  B.Crasemann ed. (Academic Press, New York, 1975),pp.265-292.
+%\bibitem{ov-data-est}
+%  http://reddog1.llnl.gov/homepage.red/DOCUMENT/EPDL97/epdl97.htm
+\item
+  http://www.nea.fr/html/dbdata/nds\_evaluated.htm
+\item
+   ``New Photon, Positron and Electron Interaction Data 
+for Geant in Energy Range
+   from 1 eV to 10 TeV",
+   J. Stepanek, Draft to be submitted for publication
+\end{enumerate}
+
+\end{htmlonly}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/penelope.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/penelope.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/penelope.tex	(revision 1208)
@@ -0,0 +1,888 @@
+\section{Penelope physics}
+
+\subsection{Introduction}
+A new set of physics models for photons, electrons and positrons is 
+implemented in Geant4: it includes Compton scattering, photoelectric
+effect, Rayleigh scattering, gamma conversion, bremsstrahlung, ionization
+and positron annihilation.  These models
+are the Geant4 implementation of the physics models developed
+for the PENELOPE code (PENetration and Energy LOss of Positrons and
+Electrons), version 2001, that are described in detail in Ref. \cite{uno}. 
+The Penelope models have been specifically developed for Monte Carlo
+simulation and great care was given to the low energy description
+(i.e. atomic effects, etc.).  Hence, these implementations provide reliable
+results for energies down to a few hundred eV and can be used up to 
+$\sim$1 GeV \cite{uno,due}.  For this reason, they may be used in Geant4 as
+an alternative to the LowEnergy/Livermore models.  For the same physics processes,
+the user now has more alternative descriptions from which to choose, including 
+the cross section calculation and the final state sampling.
+
+\subsection{Compton scattering}
+\subsubsection{Total cross section}
+The total cross section of the Compton scattering process is determined from
+an analytical parameterization.  For $\gamma$ energy $E$ greater than 5 MeV, 
+the usual Klein-Nishina formula is used for $\sigma(E)$. For \mbox{$E<5$ MeV} 
+a more accurate parameterization is used, which takes into account atomic
+binding effects and Doppler broadening \cite{tre}:
+\begin{eqnarray}
+\sigma(E) \ = \ 2 \pi \int_{-1}^{1} \frac{r_{e}^{2}}{2} \frac{E_{C}^{2}}
+{E^{2}} (\frac{E_{C}}{E} + \frac{E}{E_{C}} - \sin^{2} \theta) \cdot 
+\nonumber \\
+\sum_{shells} 
+f_{i} \Theta(E-U_{i})n_{i}(p_{z}^{max}) \ d(\cos \theta) \label{equno}
+\end{eqnarray}
+where: \\
+$r_{e}$ = classical radius of the electron; \\ 
+$m_{e}$ = mass of the electron; \\
+$\theta$ = scattering angle; \\
+$E_{C}$ = Compton energy \\
+\begin{displaymath}
+= \ \frac{E}{1+\frac{E}{m_{e}c^{2}}(1-\cos\theta)}
+\end{displaymath} \\
+$f_{i}$ = number of electrons in the i-th atomic shell; \\
+$U_{i}$ = ionisation energy of the i-th atomic shell; \\
+$\Theta$ = Heaviside step function; \\
+$p_{z}^{max}$ = highest possible value of $p_{z}$ (projection of the initial
+momentum of the electron in the direction of the scattering angle) \\
+\begin{displaymath}
+= \ \frac{E(E-U_{i})(1-\cos\theta)-m_{e}c^{2}U_{i}}{c \sqrt{2E(E-U_{i})(1-
+\cos\theta)+U_{i}^{2}}}.
+\end{displaymath} 
+Finally,
+\begin{equation}
+\begin{array}{rlll}
+n_{i}(x) = & & & \\
+ & \frac{1}{2} e^{[ \frac{1}{2}-( \frac{1}{2} - \sqrt{2} J_{i0}x )^{2}]}  & 
+   \mbox{if} & x < 0 \\ 
+ & 1-\frac{1}{2} e^{[\frac{1}{2}-(\frac{1}{2}+\sqrt{2}J_{i0}x)^{2}]}  & 
+   \mbox{if} & x > 0 \\
+% \begin{cases}
+% \frac{1}{2} e^{[ \frac{1}{2}-( \frac{1}{2} - \sqrt{2} J_{i0}x )^{2}]}  & 
+% \textrm{if} \quad x<0\\
+% 1-\frac{1}{2} e^{[\frac{1}{2}-(\frac{1}{2}+\sqrt{2}J_{i0}x)^{2}]}  & 
+% \textrm{if} \quad x>0\\
+% \end{cases}
+\end{array}
+\end{equation} 
+where $J_{i0}$ is the value of the $p_{z}$-distribution profile 
+$J_{i}(p_{z})$ for the i-th atomic shell calculated in $p_{z}=0$. The values 
+of $J_{i0}$ for the different shells of the different elements are 
+tabulated from the Hartree-Fock atomic orbitals
+of Ref. \cite{quattro}.\\
+The integration of Eq.(\ref{equno}) is performed numerically using the 
+20-point Gaussian method.  For this reason, the initialization of the
+Penelope Compton model is somewhat slower than the Livermore model.
+
+\subsubsection{Sampling of the final state}
+The polar deflection $\cos\theta$ is sampled from the probability density 
+function
+\begin{equation}
+P(\cos\theta) \ = \frac{r_{e}^{2}}{2} \frac{E_{C}^{2}}
+{E^{2}} \Big( \frac{E_{C}}{E} + \frac{E}{E_{C}} - \sin^{2} \theta
+\Big) \sum_{shells} 
+f_{i} \Theta(E-U_{i})n_{i}(p_{z}^{max})  \label{eqdue}
+\end{equation}
+(see Ref. \cite{uno} for details on the sampling algorithm). Once the
+direction of the emerging photon has been set, the active electron shell $i$
+is selected with relative probability equal to $Z_{i} 
+\Theta(E-U_{i})n_{i}[p_{z}^{max}(E,\theta)]$. A random value of 
+$p_{z}$ is generated from the analytical Compton profile \cite{quattro}. The
+energy of the emerging photon is
+\begin{equation}
+E' \  = \ \frac{E \tau}{1-\tau t} \  \Big[ (1-\tau t \cos\theta) +
+\frac{p_{z}}{|p_{z}|} \sqrt{(1-\tau t \cos\theta)^{2}-(1-t \tau^{2})(1-t)} 
+\Big],
+\end{equation}
+where
+\begin{equation}
+t \ = \ \Big( \frac{p_{z}}{m_{e}c} \Big)^{2} \quad \textrm{and} \quad
+\tau \ = \ \frac{E_{C}}{E}.
+\end{equation}
+The azimuthal scattering angle $\phi$ of the photon is sampled uniformly in
+the interval (0,2$\pi$).  It is assumed that the Compton electron is emitted 
+with energy $E_{e} = E-E'-U_{i}$, 
+with polar angle $\theta_{e}$ and azimuthal angle $\phi_{e} = 
+\phi + \pi $, relative to the direction of the incident photon. 
+In this case $\cos\theta_{e}$ is given by
+\begin{equation}
+\cos\theta_{e} \ = \ \frac{E-E'\cos\theta}{\sqrt{E^{2}+E^{'2}-
+2EE' \cos\theta}}.
+\end{equation}
+Since the active electron shell is known, characteristic x-rays and
+electrons emitted in the de-excitation of the ionized atom can also be
+followed.  The de-excitation is simulated as described in
+section~\ref{relax}. For further details see \cite{uno}.\\
+
+\subsection{Rayleigh scattering}
+\subsubsection{Total cross section} 
+The total cross section of the Rayleigh scattering process is determined from
+an analytical parameterization.  The atomic cross section for coherent
+scattering is given approximately by \cite{cinque}
+\begin{equation}
+\sigma(E) \ = \ \pi r_{e}^{2} \int_{-1}^{1} \frac{1+\cos^{2}\theta}{2}
+[F(q,Z)]^{2} \ d \cos\theta, \label{eqtre}
+\end{equation}
+where $F(q,Z)$ is the atomic form factor, $Z$ is the atomic number and $q$
+is the magnitude of the momentum transfer, i.e.
+\begin{equation}
+q \ = \ 2 \ \frac{E}{c} \ \sin \Big( \frac{\theta}{2} \Big).
+\end{equation}
+In the numerical calculation the following analytical approximations are
+used for the form factor:
+\begin{equation}
+\begin{array}{rlll}
+F(q,Z) = f(x,Z) = & & & \\
+ & Z \ \frac{1+a_{1}x^{2}+a_{2}x^{3}+a_{3}x^{4}}{(1+a_{4}x^{2}+a_{5}x^{4})^{2}}
+ & \mbox{or} &  \\
+ & \max[f(x,Z),F_{K}(x,Z)] & \mbox{if} \ Z>10  \ \mbox{and} \ f(x,Z) < 2 & \\ 
+% \begin{cases}
+% f(x,Z) = Z \ \frac{1+a_{1}x^{2}+a_{2}x^{3}+a_{3}x^{4}}{(1+a_{4}x^{2}+a_{5}
+% x^{4})^{2}} &   \\
+% \max[f(x,Z),F_{K}(x,Z)] & \textrm{if} \ Z>10 \ \textrm{and} \
+% f(x,Z)<2\\ 
+% \end{cases}
+\end{array}
+\end{equation}
+where
+\begin{equation}
+F_{K}(x,Z) \ = \ \frac{\sin(2b \arctan Q)}{bQ(1+Q^{2})^{b}},
+\end{equation}
+with
+\begin{equation}
+x = 20.6074 \frac{q}{m_{e}c}, \quad Q = \frac{q}{2m_{e}ca}, \quad
+b = \sqrt{1-a^{2}}, \quad a = \alpha \Big( Z-\frac{5}{16} \Big ), 
+\end{equation}
+where $\alpha$ is the fine-structure constant. The function $F_{K}(x,Z)$ is
+the contribution to the atomic form factor due to the two K-shell electrons
+(see \cite{sei}). The parameters of expression $f(x,Z)$ have 
+been determined in Ref. \cite{sei} for Z=1 to 92 by numerically fitting 
+the atomic form factors tabulated in Ref. \cite{sette}. 
+The integration of Eq.(\ref{eqtre}) is performed numerically using the 
+20-point Gaussian method.  For this reason the initialization of the
+Penelope Rayleigh model is somewhat slower than the Livermore model.
+
+\subsubsection{Sampling of the final state}
+The angular deflection $\cos\theta$ of the scattered photon is sampled from
+the probability distribution function
+\begin{equation}
+P(\cos\theta) \ = \ \frac{1+\cos^{2}\theta}{2} [F(q,Z)]^{2}.
+\end{equation}
+For details on the sampling algorithm (which is quite heavy from the
+computational point of view) see Ref. \cite{uno}. The azimuthal scattering 
+angle $\phi$ of the photon is sampled uniformly in the interval (0,2$\pi$).
+%
+\subsection{Gamma conversion}
+\subsubsection{Total cross section} 
+The total cross section of the $\gamma$ conversion process is determined from
+the data \cite{otto}, as described in section~\ref{subsubsigmatot}.
+
+\subsubsection{Sampling of the final state}
+The energies $E_{-}$ and $E_{+}$ of the secondary electron and positron are 
+sampled using the Bethe-Heitler cross section with the Coulomb correction, 
+using the semiempirical model of Ref. \cite{sei}. If
+\begin{equation}
+\epsilon \ = \ \frac{E_{-}+m_{e}c^{2}}{E}
+\end{equation} 
+is the fraction of the $\gamma$ energy $E$ which is taken away from the 
+electron, 
+\begin{equation}
+\kappa \ = \ \frac{E}{m_{e}c^{2}} \quad \textrm{and} \quad a = \alpha Z,
+\end{equation}
+the differential cross section, which includes a low-energy correction and a
+high-energy radiative correction, is
+\begin{equation}
+\frac{d\sigma}{d\epsilon} \ = \ r_{e}^{2} a (Z+\eta) C_{r} \frac{2}{3}
+\Big[ 2 \Big( \frac{1}{2} - \epsilon \Big)^{2}\phi_{1}(\epsilon)+
+\phi_{2}(\epsilon) \Big],
+\label{eqquattro}
+\end{equation}
+where:
+\begin{eqnarray}
+\phi_{1}(\epsilon) \ = \ \frac{7}{3} - 2 \ln (1+b^{2}) 
+-6b\arctan (b^{-1})  
+\nonumber \\
+-b^{2}[4-4b \arctan(b^{-1})-3 \ln(1+b^{-2})]  \nonumber \\
++ 4\ln (R m_{e} c/\hbar) - 4f_{C}(Z) + F_{0}(\kappa,Z)
+\end{eqnarray}
+and
+\begin{eqnarray}
+\phi_{2}(\epsilon) \ = \ \frac{11}{6} - 2 \ln (1+b^{2}) 
+-3b\arctan (b^{-1}) 
+\nonumber \\
++\frac{1}{2}b^{2}[4-4b \arctan(b^{-1})-3 \ln(1+b^{-2})]  \nonumber \\
++ 4\ln (R m_{e} c/\hbar) - 4f_{C}(Z) + F_{0}(\kappa,Z),
+\end{eqnarray}
+with
+\begin{equation}
+b \ = \ \frac{Rm_{e}c}{\hbar} \frac{1}{2\kappa} \frac{1}{\epsilon(1-\epsilon)}.
+\end{equation}
+In this case  $R$ is the screening radius for the atom $Z$ (tabulated in 
+\cite{dieci} for Z=1 to 92) and $\eta$ is the contribution of pair 
+production in the electron field (rather than in the nuclear field). The 
+parameter $\eta$ is approximated as
+\begin{equation}
+\eta \  = \ \eta_{\infty}(1-e^{-v}), 
+\end{equation}
+where 
+\begin{eqnarray}
+v \ = \ (0.2840-0.1909a)\ln(4/\kappa)+(0.1095+0.2206a)\ln^{2}(4/\kappa)
+\nonumber \\
++ (0.02888 - 0.04269a)\ln^{3}(4/\kappa) \nonumber \\
++(0.002527+0.002623)\ln^{4}(4/\kappa)
+\end{eqnarray}
+and $\eta_{\infty}$ is the contribution for the atom $Z$ in the high-energy 
+limit and is tabulated for Z=1 to 92 in Ref. \cite{dieci}.
+In the Eq.(\ref{eqquattro}), the function $f_{C}(Z)$ is the high-energy
+Coulomb correction of Ref. \cite{nove}, given by
+\begin{eqnarray}
+f_{C}(Z) \ = \ a^{2}[(1+a^{2})^{-1}+0.202059-0.03693a^{2}+0.00835a^{4}  
+\nonumber \\
+-0.00201a^{6}+0.00049a^{8}-0.00012a^{10}+0.00003a^{12}];
+\end{eqnarray}
+$C_{r} = 1.0093$ is the high-energy limit of Mork and Olsen's radiative
+correction (see Ref. \cite{dieci}); $F_{0}(\kappa,Z)$ is a Coulomb-like
+correction function, which has been analytically approximated as \cite{uno}
+\begin{eqnarray}
+F_{0}(\kappa,Z) \ = \ (-0.1774 - 12.10a + 11.18a^{2})(2/\kappa)^{1/2} 
+\nonumber \\
++ (8.523 + 73.26a - 44.41a^{2})(2/\kappa) \nonumber \\
+- (13.52 + 121.1a - 96.41a^{2})(2/\kappa)^{3/2} \nonumber \\
++ (8.946 + 62.05a - 63.41a^{2})(2/\kappa)^{2}.
+\end{eqnarray}
+The kinetic energy $E_{+}$ of the secondary positron is obtained as
+\begin{equation}
+E_{+} \ = \ E - E_{-} - 2m_{e}c^{2}.
+\end{equation}
+The polar angles $\theta_{-}$ and $\theta_{+}$ of the directions of
+movement of the electron and the positron, relative to the direction of the
+incident photon, are sampled from the leading term of the expression
+obtained from high-energy theory (see Ref. \cite{undici})
+\begin{equation}
+p(\cos\theta_{\pm}) \ = \ a(1-\beta_{\pm}\cos\theta_{\pm})^{-2},
+\end{equation} 
+where $a$ is the a normalization constant and $\beta_{\pm}$ is the particle
+velocity in units of the speed of light.  As the directions of the produced 
+particles and of the incident photon are not necessarily coplanar, the
+azimuthal angles $\phi_{-}$ and $\phi_{+}$ of the electron and of the 
+positron are sampled independently and uniformly in the interval (0,2$\pi$).
+%
+\subsection{Photoelectric effect}
+\subsubsection{Total cross section} 
+The total photoelectric cross section at a given photon energy $E$ is 
+calculated from the data \cite{dodici}, as described in 
+section~\ref{subsubsigmatot}.
+
+\subsubsection{Sampling of the final state}
+The incident photon is absorbed and one electron is emitted.  The direction 
+of the electron is sampled according to the Sauter 
+distribution \cite{dodicibis}. 
+Introducing the variable $\nu = 1 - \cos\theta_{e}$, the angular distribution 
+can be expressed as
+\begin{equation}
+p(\nu) \ = \ (2-\nu) \Big[ \frac{1}{A+\nu} + \frac{1}{2} \beta \gamma 
+(\gamma - 1)(\gamma -2) \Big] \frac{\nu}{(A+\nu)^{3}},
+\end{equation} 
+where 
+\begin{equation}
+\gamma = 1 + \frac{E_{e}}{m_{e}c^{2}}, \quad A = \frac{1}{\beta} - 1, 
+\end{equation}
+$E_{e}$ is the electron energy, $m_{e}$ its rest mass and $\beta$ its velocity 
+in units of the speed of light $c$.
+Though the Sauter distribution, strictly speaking, is adequate only for 
+ionisation of the K-shell by high-energy photons, in many practical 
+simulations it does not introduce appreciable errors in the description of any 
+photoionisation event, irrespective of the atomic shell or of the photon 
+energy.\\
+%in the same
+%direction as the primary photon.
+The subshell from which the electron is emitted is randomly selected 
+according to the relative cross sections of subshells, determined at the 
+energy $E$ by interpolation of the data of Ref. \cite{undici}. The electron
+kinetic energy is the difference between the incident photon energy and
+the binding energy of the electron before the interaction in the sampled 
+shell. The interaction leaves the atom in an excited state; the subsequent
+de-excitation is simulated as described in section~\ref{relax}.\\
+
+\subsection{Bremsstrahlung}
+\subsubsection{Introduction} 
+The model {\tt G4PenelopeBremsstrahlungModel} calculates the continuous energy loss
+due to soft $\gamma$ emission and simulates the photon production by 
+electrons and positrons.  As usual, the gamma production threshold $T_{c}$ for
+a given material is used to separate the continuous and the discrete parts of
+the process.
+
+\subsubsection{Electrons}
+The total cross sections are calculated from the data \cite{quattordici}, as
+described in sections~\ref{subsubsigmatot} and \ref{lowebrems}.\\
+The energy distribution $\frac{d\sigma}{dW}(E)$, i.e. the probability of the
+emission of a photon with energy $W$ given an incident electron of
+kinetic energy $E$, is generated according to the formula
+\begin{equation}
+\frac{d\sigma}{dW}(E) \ = \ \frac{F(\kappa)}{\kappa}, \quad 
+\kappa \ = \ \frac{W}{E}.
+\end{equation} 
+The functions $F(\kappa)$ describing the energy spectra of the outgoing 
+photons are taken from Ref. \cite{tredici}.  For each element $Z$ from 1 to 92,
+32 points in $\kappa$, ranging from $10^{-12}$ to 1, are used for the linear 
+interpolation of this function.  $F(\kappa)$ is normalized using the condition
+$F(10^{-12})=1$.  The energy distribution of the emitted photons is available 
+in the library \cite{tredici} for 57 energies of the incident electron 
+between 1 keV and 100 GeV.  For other primary energies, logarithmic 
+interpolation is used to obtain the values of the function $F(\kappa)$.\\
+The direction of the emitted bremsstrahlung photon is determined by the polar 
+angle $\theta$ and the azimuthal angle $\phi$.  For isotropic media, with 
+randomly oriented atoms, the bremsstrahlung differential cross section is 
+independent of $\phi$ and can be expressed as
+\begin{equation}
+\frac{d^{2} \sigma}{dW d\cos\theta} \ = \ \frac{d\sigma}{dW} p(Z,E,\kappa;
+\cos\theta).
+\end{equation}
+Numerical values of the ``shape function'' $p(Z,E,\kappa;\cos\theta)$, 
+calculated by partial-wave methods, have been published in 
+Ref. \cite{quindici} for the
+following benchmark cases: $Z$= 2, 8, 13, 47, 79 and 92; $E$= 1, 5, 10, 50, 
+100 and 500 keV; $\kappa$= 0, 0.6, 0.8 and 0.95.  It was found in 
+Ref. \cite{uno} that the benchmark partial-wave shape function of 
+Ref. \cite{quindici} can be closely approximated by the analytical form 
+(obtained in the Lorentz-dipole approximation)
+\begin{eqnarray}
+p(\cos\theta) = A \frac{3}{8} \Big[ 1+\Big( \frac{\cos\theta - \beta'}
+{1-\beta' \cos
+\theta} \Big)^{2} \Big] \frac{1-\beta^{'2}}{(1-\beta'\cos\theta)^{2}} 
+\nonumber \\
++ (1-A) \frac{3}{4} \Big[ 1- \Big( \frac{\cos\theta - \beta'}{1-\beta' \cos
+\theta}m \Big)^{2} \Big] \frac{1-\beta^{'2}}{(1-\beta'\cos\theta)^{2}}, 
+\end{eqnarray}
+with $\beta' = \beta (1+B)$, if one considers $A$ and $B$ as adjustable 
+parameters.  The parameters $A$ and $B$ have been determined, by least squares 
+fitting, for the 144 combinations of atomic numbers, electron energies and 
+reduced photon energies corresponding to the benchmark shape functions 
+tabulated in \cite{quindici}.  The quantities $\ln(AZ\beta)$ and $B\beta$ vary 
+smoothly with Z, $\beta$ and $\kappa$ and can be obtained by cubic spline 
+interpolation of their values for the benchmark cases.  This permits the fast 
+evaluation of the shape function  
+$p(Z,E,\kappa;\cos\theta)$ for any combination of $Z$, $\beta$ and $\kappa$. \\
+The stopping power $\frac{dE}{dx}$ due to soft bremsstrahlung is
+calculated by interpolating in $E$ and $\kappa$ the numerical data of scaled
+cross sections of Ref. \cite{sedici}.  The energy and the direction of the
+outgoing electron are determined by using energy-momentum balance.
+
+\subsubsection{Positrons} 
+The radiative differential cross section $\frac{d\sigma^{+}}{dW} (E)$ 
+for positrons reduces to that for electrons in the high-energy limit, but is
+smaller for intermediate and low energies. Owing to the lack of more accurate
+calculations, the differential cross section for positrons is obtained by
+multiplying the electron differential cross section 
+$\frac{d\sigma^{-}}{dW} (E)$
+by a $\kappa -$indendent factor, i.e.
+\begin{equation}
+\frac{d\sigma^{+}}{dW} \ = \ F_{p}(Z,E) \frac{d\sigma^{-}}{dW}.
+\end{equation}
+The factor $F_{p}(Z,E)$ is set equal to the ratio of the radiative stopping
+powers for positrons and electrons, which has been calculated in Ref. 
+\cite{diciassette}.  For the actual calculation, the following analytical
+approximation is used:
+\begin{eqnarray}
+F_{p}(Z,E) \ = \ 1-\exp(-1.2359 \cdot 10^{-1} t + 6.1274 \cdot 10^{-2} t^{2}
+- 3.1516  \cdot 10^{-2} t^{3} \nonumber \\
++ 7.7446  \cdot 10^{-3} t^{4} - 1.0595  \cdot 10^{-3} t^{5} + 7.0568 
+ \cdot 10^{-5} t^{6} \nonumber \\
+-1.8080 \cdot 10^{-6} t^{7}),  
+\end{eqnarray}
+where
+\begin{equation}
+t \ = \ \ln \Big( 1+ \frac{10^{6}}{Z^{2}} \frac{E}{m_{e}c^{2}} \Big).
+\end{equation}
+Because the factor $F_{p}(Z,E)$ is independent on $\kappa$, the energy 
+distribution of the secondary $\gamma$'s has the same shape as electron 
+bremsstrahlung.  Similarly, owing to the lack of numerical data for positrons, 
+it is assumed that the shape of the angular distribution 
+$p(Z,E,\kappa;\cos\theta)$ of the bremsstrahlung photons for positrons is the 
+same as for the electrons.\\
+The energy and direction of the outgoing positron are determined from 
+energy-momentum balance.
+%
+\subsection{Ionisation}
+
+The {\tt G4PenelopeIonisationModel} model calculates the continuous energy loss due 
+to electron and positron ionisation and simulates the $\delta$-ray production 
+by electrons and positrons. The electron production threshold $T_{c}$ for a 
+given material is used to separate the continuous and the discrete parts of the
+process.\\
+The simulation of inelastic collisions of electrons and positrons is 
+performed on the basis of a Generalized Oscillation Strength (GOS) model 
+(see Ref. \cite{uno} for a complete description). It is assumed that GOS 
+splits into contributions from the different atomic electron shells.  
+%
+\subsubsection{Electrons} \label{ionelect}
+The total cross section $\sigma^{-} (E)$ for the inelastic collision of 
+electrons of energy $E$ is calculated analytically. It can be split into 
+contributions from distant longitudinal, distant transverse and close 
+interactions,
+\begin{equation}
+\sigma^{-} (E) \ = \ \sigma_{dis,l} + \sigma_{dis,t} + \sigma^{-}_{clo}.
+\end{equation}
+The contributions from distant longitudinal and transverse interactions are 
+\begin{equation}
+\sigma_{dis,l} \ = \ 
+\frac{2 \pi e^{4}}{m_{e}v^{2}} \sum_{shells} f_{k} \frac{1}{W_{k}} 
+\ln \Big( \frac{W_{k}}{Q^{min}_{k}} \ 
+\frac{Q^{min}_{k}+2m_{e}c^{2}}{W_{k}+2m_{e}c^{2}} \Big)  \Theta (E-W_{k})
+\label{dist1} 
+\end{equation}
+and
+\begin{equation}
+\sigma_{dis,t} \ = \ 
+\frac{2 \pi e^{4}}{m_{e}v^{2}} \sum_{shells} f_{k} \frac{1}{W_{k}} 
+\Big[ \ln \Big( \frac{1}{1-\beta^{2}} \Big) - \beta^{2}-\delta_{F} \Big] 
+\Theta (E-W_{k}) \label{dist2} 
+\end{equation}
+respectively, where: \\
+$m_{e}$ = mass of the electron; \\
+$v$ = velocity of the electron; \\
+$\beta$ = velocity of the electron in units of $c$; \\
+$f_{k}$ = number of electrons in the $k$-th atomic shell; \\
+$\Theta$ = Heaviside step function; \\
+$W_{k}$ = resonance energy of the $k$-th atomic shell oscillator;\\
+$Q^{min}_{k}$ = minimum kinematically allowed recoil energy for energy transfer $W_{k}$
+ \\
+\begin{displaymath}
+= \ \sqrt{\Big[ \sqrt{E(E+2m_{e}c^{2})}-\sqrt{(E-W_{k})(E-W_{k}+
+2m_{e}c^{2})} \Big]^{2}+m_{e}^{2}c^{4}}-m_{e}c^{2};
+\end{displaymath} \\
+$\delta_{F}$ = Fermi density effect correction, computed as described in Ref. 
+\cite{diciotto}.
+%
+
+The value of $W_{k}$ is calculated from the ionisation energy $U_{k}$ of 
+the $k$-th shell as \mbox{$W_{k}=1.65 \ U_{k}$}. This relation is derived from 
+the hydrogenic model, which is valid for the innermost shells. In this model, 
+the shell ionisation cross sections are only roughly approximated; nevertheless
+the ionisation of inner shells is a low-probability process and the 
+approximation has a weak effect on the global transport 
+properties\footnote{In cases where inner-shell ionisation is directly observed,
+a more accurate description of the process should be used.}. \\
+The integrated cross section for close collisions is the M\o ller cross
+section
+\begin{equation}
+\sigma^{-}_{clo} \ = \ 
+\frac{2 \pi e^{4}}{m_{e}v^{2}} \sum_{shells} f_{k} \int_{W_{k}}^{\frac{E}{2}} 
+\frac{1}{W^{2}} F^{-}(E,W) dW, \label{close}
+\end{equation} 
+where 
+\begin{equation}
+F^{-}(E,W) \ = \ 1+ \Big( \frac{W}{E-W} \Big)^{2} - \frac{W}{E-W}
++ \Big( \frac{E}{E+m_{e}c^{2}} \Big)^{2} \Big( \frac{W}{E-W} + 
+\frac{W^{2}}{E^{2}} \Big).
+\end{equation}
+The integral of Eq.(\ref{close}) can be evaluated analytically. In the final 
+state there are two indistinguishable free electrons and the fastest one 
+is considered as the ``primary''; accordingly, the maximum allowed energy 
+transfer in close collisions is $\frac{E}{2}$.\\
+The GOS model also allows evaluation of the spectrum  
+$\frac{d \sigma^{-}}{d W}$ of the energy $W$ lost by the primary electron 
+as the sum of distant longitudinal, distant transverse and close interaction 
+contributions,
+\begin{equation}
+\frac{d\sigma^{-}}{dW} \ = \ \frac{d\sigma^{-}_{clo}}{dW} + 
+\frac{d\sigma_{dis,l}}{dW} + \frac{d\sigma_{dis,t}}{dW}. \label{aaa}
+\end{equation}
+In particular, 
+\begin{equation}
+\frac{d\sigma_{dis,l}}{dW} \ = \ 
+\frac{2 \pi e^{4}}{m_{e}v^{2}} \sum_{shells} f_{k} \frac{1}{W_{k}} 
+\ln \Big( \frac{W_{k}}{Q_{-}} \ 
+\frac{Q_{-}+2m_{e}c^{2}}{W_{k}+2m_{e}c^{2}} \Big) \delta(W-W_{k}) 
+\Theta (E-W_{k}), \label{ddist1} 
+\end{equation}
+where
+\begin{equation}
+Q_{-} \ = \ \sqrt{\Big[ \sqrt{E(E+2m_{e}c^{2})}-\sqrt{(E-W)(E-W+
+2m_{e}c^{2})} \Big]^{2}+m_{e}^{2}c^{4}}-m_{e}c^{2},
+\end{equation}
+\begin{eqnarray}
+\frac{d\sigma_{dis,t}}{dW} \ = \ 
+\frac{2 \pi e^{4}}{m_{e}v^{2}} \sum_{shells} f_{k} \frac{1}{W_{k}} 
+\Big[ \ln \Big( \frac{1}{1-\beta^{2}} \Big) - \beta^{2}-\delta_{F} \Big] 
+\nonumber \\
+\Theta (E-W_{k}) \delta(W-W_{k}) \label{ddist2}
+\end{eqnarray}
+and
+\begin{equation}
+\frac{d \sigma^{-}_{clo}}{dW} \ = \ 
+\frac{2 \pi e^{4}}{m_{e}v^{2}} \sum_{shells}
+ f_{k} \frac{1}{W^{2}} F^{-}(E,W) \Theta (W-W_{k}). \label{dclose}
+\end{equation}
+Eqs. (\ref{dist1}), (\ref{dist2}) and (\ref{close}) derive respectively 
+from the integration in $dW$ of Eqs. (\ref{ddist1}), (\ref{ddist2}) and 
+(\ref{dclose}) in the interval [0,$W_{max}$], where $W_{max}=E$ for distant 
+interactions and $W_{max}=\frac{E}{2}$ for close. The analytical GOS model 
+provides an accurate \emph{average} description of inelastic collisions. 
+However, the continuous energy loss spectrum associated with single distant 
+excitations of a given atomic shell is approximated as a single resonance 
+(a $\delta$ distribution). As a consequence, the simulated energy loss spectra 
+show unphysical narrow peaks at energy losses that are multiples of the 
+resonance energies. These spurious peaks are automatically smoothed out after 
+multiple inelastic collisions. \\
+The explicit expression of $\frac{d\sigma^{-}}{dW}$, Eq. (\ref{aaa}), 
+allows the analytic calculation of the partial cross sections for soft and 
+hard ionisation events, i.e.
+\begin{equation}
+\sigma^{-}_{soft}  \ = \ \int_{0}^{T_{c}} \frac{d\sigma^{-}}{dW} dW
+\quad \textrm{and} \quad 
+\sigma^{-}_{hard}  \ = \ \int_{T_{c}}^{W_{max}} \frac{d\sigma^{-}}{dW} dW.
+\end{equation}
+
+The first stage of the simulation is the selection of the active oscillator 
+$k$ and the oscillator branch (distant or close). \\
+In distant interactions with the $k$-th oscillator, the energy loss $W$ of the 
+primary electron corresponds to the excitation energy $W_{k}$, i.e. 
+$W$=$W_{k}$. If the interaction is transverse, the angular deflection of the 
+projectile is neglected, i.e. $\cos \theta$=1. For longitudinal collisions, 
+the distribution of the recoil energy $Q$ is given by
+\begin{equation}
+\begin{array}{rlll}
+P_{k}(Q) = & & & \\
+ & \frac{1}{Q [1+Q/(2m_{e}c^{2})]}  & \textrm{if} \ Q_{-} < Q < W_{max} & \\
+ & 0 & \textrm{otherwise} & \\  \label{ele1}
+\end{array}
+%P_{k}(Q) = 
+%\begin{cases}
+%\frac{1}{Q [1+Q/(2m_{e}c^{2})]}  & 
+%\textrm{if} \quad Q_{-} < Q < W_{max} \\
+%0 & \textrm{otherwise} \label{ele1}
+%\end{cases}.
+\end{equation} 
+Once the energy loss $W$ and the recoil energy $Q$ have been sampled, the 
+polar scattering angle is determined as 
+\begin{equation}
+\cos \theta \ = \ \frac{E(E+2m_{e}c^{2})+(E-W)(E-W+2m_{e}c^{2})-
+Q(Q+2m_{e}c^{2})}{2\sqrt{E(E+2m_{e}c^{2})(E-W)(E-W+2m_{e}c^{2})}}. \label{ele2}
+\end{equation}
+The azimuthal scattering angle $\phi$ is sampled uniformly in the interval 
+(0,2$\pi$). \\
+For close interactions, the distributions for the reduced energy loss 
+$\kappa \equiv W/E$ for electrons are
+\begin{eqnarray}
+P^{-}_{k}(\kappa) \ = \ \Big[ \frac{1}{\kappa^{2}}+\frac{1}{(1-\kappa)^2} - 
+\frac{1}{\kappa(1-\kappa)} + \Big( \frac{E}{E+m_{e}c^{2}} \Big)^{2} 
+\Big( 1+\frac{1}{\kappa(1-\kappa)} \Big) \Big] \nonumber \\
+ \Theta(\kappa-\kappa_{c})
+\Theta(\frac{1}{2}-\kappa) \label{closed}
+\end{eqnarray}
+with $\kappa_{c} = \max(W_{k},T_{c})/E$. The maximum allowed value of $\kappa$
+is 1/2, consistent with the indistinguishability of the electrons in the 
+final state. After the sampling of the energy loss $W= \kappa E$, the polar 
+scattering angle $\theta$ is obtained as 
+\begin{equation}
+\cos^{2} \theta \ = \ \frac{E-W}{E} \ \frac{E+2m_{e}c^{2}}{E-W+2m_{e}c^{2}}.
+\end{equation}
+The azimuthal scattering angle $\phi$ is sampled uniformly in the interval 
+(0,2$\pi$). \\
+According to the GOS model, each oscillator $W_{k}$ corresponds to an atomic 
+shell with $f_{k}$ electrons and ionisation energy $U_{k}$. In the case of 
+ionisation of an inner shell $i$ (K or L), a secondary electron 
+($\delta$-ray) 
+is emitted with energy $E_{s}=W-U_{i}$ and the residual ion is left with 
+a vacancy in the shell (which is then filled with the emission of fluorescence 
+x-rays and/or Auger electrons). In the case of ionisation of outer shells, 
+the simulated $\delta$-ray is emitted with kinetic energy $E_{s}=W$ and the 
+target atom is assumed to remain in its ground state. The polar angle of 
+emission of the secondary electron is calculated as
+\begin{equation}
+\cos^{2} \theta_{s} \ = \ \frac{W^{2}/\beta^{2}}{Q(Q+2m_{e}c^{2})} 
+\Big[ 1+ \frac{Q(Q+2m_{e}c^{2})-W^{2}}{2W(E+m_{e}c^{2})} \Big]^{2}
+\end{equation}
+(for close collisions $Q=W$), while the azimuthal angle is 
+$\phi_{s} = \phi + \pi$. In this model, the Doppler effects on the angular 
+distribution of the $\delta$ rays are neglected. \\
+The stopping power due to soft interactions of electrons, which is used 
+for the computation of the continuous part of the process, is analytically 
+calculated as
+\begin{equation}
+S^{-}_{in} \ = \ N \int_{0}^{T_{c}} W \frac{d\sigma^{-}}{dW} dW 
+\end{equation}
+from the expression (\ref{aaa}), where $N$ is the number of scattering centers 
+(atoms or molecules) per unit volume. \\
+%
+\subsubsection{Positrons}
+The total cross section $\sigma^{+} (E)$ for the inelastic collision of 
+positrons of energy $E$ is calculated analytically. As in the case of 
+electrons, it can be split into contributions from distant longitudinal, 
+distant transverse and close interactions,
+\begin{equation}
+\sigma^{+} (E) \ = \ \sigma_{dis,l} + \sigma_{dis,t} + \sigma^{+}_{clo}.
+\end{equation}
+The contributions from distant longitudinal and transverse interactions are 
+the same as for electrons, Eq. (\ref{dist1}) and (\ref{dist2}), while the 
+integrated cross section for close collisions is the Bhabha cross
+section
+\begin{equation}
+\sigma^{+}_{clo} \ = \ 
+\frac{2 \pi e^{4}}{m_{e}v^{2}} \sum_{shells} f_{k} \int_{W_{k}}^{E} 
+\frac{1}{W^{2}} F^{+}(E,W) dW, \label{closepos}
+\end{equation} 
+where 
+\begin{equation}
+F^{+}(E,W) \ = 1- b_{1}\frac{W}{E} + b_{2} \frac{W^{2}}{E^{2}} - 
+b_{3} \frac{W^{3}}{E^{3}} + b_{4} \frac{W^{4}}{E^{4}};
+\end{equation}
+the Bhabha factors are 
+\begin{eqnarray}
+b_{1} = \Big( \frac{\gamma-1}{\gamma} \Big)^{2} \ \frac{2(\gamma+1)^{2}-1}
+{\gamma^{2}-1} & &
+b_{2} = \Big( \frac{\gamma-1}{\gamma} \Big)^{2} \ \frac{3(\gamma+1)^{2}+1}
+{(\gamma+1)^{2}}, \nonumber \\
+b_{3} = \Big( \frac{\gamma-1}{\gamma} \Big)^{2} \ \frac{2(\gamma-1)\gamma}
+{(\gamma+1)^{2}}, & &
+b_{4} = \Big( \frac{\gamma-1}{\gamma} \Big)^{2} \ \frac{(\gamma-1)^{2}}
+{(\gamma+1)^{2}}, \\
+\end{eqnarray}
+and $\gamma$ is the Lorentz factor of the positron. The integral of 
+Eq. (\ref{closepos}) can be evaluated analytically.  The particles in the 
+final state are not undistinguishable so the maximum energy transfer $W_{max}$ 
+in close collisions is $E$.\\ 
+As for electrons, the GOS model allows the evaluation of the spectrum  
+$\frac{d \sigma^{+}}{d W}$ of the energy $W$ lost by the primary positron 
+as the sum of distant longitudinal, distant transverse and close interaction 
+contributions,
+\begin{equation}
+\frac{d\sigma^{+}}{dW} \ = \ \frac{d\sigma^{+}_{clo}}{dW} + 
+\frac{d\sigma_{dis,l}}{dW} + \frac{d\sigma_{dis,t}}{dW}, \label{bbb}
+\end{equation}
+where the distant terms $\frac{d\sigma_{dis,l}}{dW}$ and 
+$\frac{d\sigma_{dis,t}}{dW}$ are those from Eqs. (\ref{ddist1}) and 
+(\ref{ddist2}), while the close contribution is
+\begin{equation}
+\frac{d \sigma^{+}_{clo}}{dW} \ = \ 
+\frac{2 \pi e^{4}}{m_{e}v^{2}} \sum_{shells}
+ f_{k} \frac{1}{W^{2}} F^{+}(E,W) \Theta (W-W_{k}). \label{dclosepos}
+\end{equation}
+Also in this case, the explicit expression of $\frac{d\sigma^{+}}{dW}$, 
+Eq. (\ref{bbb}), allows an analytic calculation of the partial cross 
+sections for soft and hard ionisation events, i.e.
+\begin{equation}
+\sigma^{+}_{soft}  \ = \ \int_{0}^{T_{c}} \frac{d\sigma^{+}}{dW} dW
+\quad \textrm{and} \quad
+\sigma^{+}_{hard}  \ = \ \int_{T_{c}}^{E} \frac{d\sigma^{+}}{dW} dW.
+\end{equation}
+The sampling of the final state in the case of distant interactions 
+(transverse or longitudinal) is performed in the same way as for 
+primary electrons, see section~\ref{ionelect}. For close positron 
+interactions with the $k$-th oscillator, the distribution for the reduced 
+energy loss $\kappa \equiv W/E$ is
+\begin{eqnarray}
+P^{+}_{k}(\kappa) \ = \ \Big[\frac{1}{\kappa^{2}} - \frac{b_{1}}{\kappa}+b_{2} 
+-b_{3}\kappa + b_{4} \kappa^{2} \Big] \Theta(\kappa-\kappa_{c})
+\Theta(1-\kappa) \label{closedpos}
+\end{eqnarray}
+with $\kappa_{c} = \max(W_{k},T_{c})/E$. In this case, the maximum allowed 
+reduced energy loss $\kappa$ is 1. After sampling the energy loss 
+$W= \kappa E$, the polar angle $\theta$ and the azimuthal 
+angle $\phi$ are obtained using the equations introduced for electrons 
+in section~\ref{ionelect}. Similarly, the generation of $\delta$ rays is 
+performed in the same way as for electrons.\\
+Finally, the stopping power due to soft interactions of positrons, 
+which is used for the computation of the continuous part of the process, 
+is analytically calculated as
+\begin{equation}
+S^{+}_{in} \ = \ N \int_{0}^{T_{c}} W \frac{d\sigma^{+}}{dW} dW 
+\end{equation}
+from the expression (\ref{bbb}), where $N$ is the number of scattering centers 
+per unit volume. \\
+%
+\subsection{Positron Annihilation}
+
+\subsubsection{Total Cross Section}
+The total cross section (per target electron) for the annihilation of 
+a positron of energy $E$ into two photons is evaluated from the 
+analytical formula \cite{diciannove,venti}
+\begin{eqnarray}
+\lefteqn{\sigma(E) \ = \ 
+\frac{\pi r_{e}^{2}}{(\gamma+1)(\gamma^{2}-1)} \quad \times}  \nonumber \\
+& & \Big{\{} (\gamma^{2}+4\gamma+1) \ln \Big[ \gamma + 
+\sqrt{\gamma^{2}-1} \Big] 
+-(3+\gamma)\sqrt{\gamma^{2}-1} \Big{\}}. 
+\end{eqnarray} 
+where \\
+$r_{e}$ = classical radius of the electron, and  \\ 
+$\gamma$ = Lorentz factor of the positron. \\
+%
+\subsubsection{Sampling of the Final State}
+The target electrons are assumed to be free and at rest: binding effects, 
+that enable one-photon annihilation \cite{diciannove}, are neglected. 
+When the annihilation occurs in flight, the two photons may have different 
+energies, say $E_{-}$ and $E_{+}$ (the photon 
+with lower energy is denoted by the superscript ``$-$''), 
+whose sum is $E+2m_{e}c^{2}$. Each annihilation event is completely 
+characterized by the quantity
+\begin{equation}
+\zeta \ = \ \frac{E_{-}}{E+2m_{e}c^{2}}, 
+\end{equation}
+which is in the interval $\zeta_{min} \le \zeta \le \frac{1}{2}$, with 
+\begin{equation}
+\zeta_{min} \ = \ \frac{1}{\gamma + 1 + \sqrt{\gamma^{2}-1}}.
+\end{equation}
+The parameter $\zeta$ is sampled from the differential distribution
+\begin{equation}
+P(\zeta) \ = \ \frac{\pi r_{e}^{2}}{(\gamma+1)(\gamma^{2}-1)} 
+[S(\zeta)+S(1-\zeta)],
+\end{equation}
+where $\gamma$ is the Lorentz factor and 
+\begin{equation}
+S(\zeta) \ = \ -(\gamma+1)^{2}+(\gamma^{2}+4\gamma+1)
+\frac{1}{\zeta}-\frac{1}{\zeta^{2}}.
+\end{equation}
+From conservation of energy and momentum, it follows that the two photons 
+are emitted in directions with polar angles
+\begin{equation}
+\cos \theta_{-} \ = \ \frac{1}{\sqrt{\gamma^{2}-1}}
+\Big( \gamma+1-\frac{1}{\zeta} \Big)
+\end{equation}
+and
+\begin{equation}
+\cos \theta_{+} \ = \ \frac{1}{\sqrt{\gamma^{2}-1}}
+\Big( \gamma+1-\frac{1}{1-\zeta} \Big)
+\end{equation}
+that are completely determined by $\zeta$; in particuar, when 
+$\zeta=\zeta_{min}$, $\cos\theta_{-}=-1$.
+The azimuthal angles are $\phi_{-}$ and 
+$\phi_{+} = \phi_{-} + \pi$; owing to the axial symmetry of the process, 
+the angle $\phi_{-}$ is uniformly distributed in $(0,2\pi)$.   
+%
+
+\subsection{Status of the document}
+09.06.2003 created by L.~Pandola \\
+20.06.2003 spelling and grammar check by D.H.~Wright\\
+07.11.2003 Ionisation and Annihilation section added by L.~Pandola\\
+01.06.2005 Added text in the PhotoElectric effect section, L.~Pandola \\
+27.11.2009 Updated after the process to model design migration, L.~Pandola \\
+%
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+\bibitem{uno} \emph{Penelope - A Code System for Monte Carlo Simulation of
+Electron and Photon Transport}, Workshop Proceedings Issy-les-Moulineaux,
+France, 5$-$7 November 2001, AEN-NEA;
+\bibitem{due} J.Sempau \emph{et al.}, \emph{Experimental benchmarks of the
+Monte Carlo code PENELOPE}, submitted to NIM B (2002);
+\bibitem{tre} D.Brusa \emph{et al.}, \emph{Fast sampling algorithm for the
+simulation of photon Compton scattering}, NIM A379,167 (1996);
+\bibitem{quattro} F.Biggs \emph{et al.}, \emph{Hartree-Fock Compton profiles
+for the elements}, At.Data Nucl.Data Tables 16,201 (1975);
+\bibitem{cinque} M.Born, \emph{Atomic physics}, Ed. Blackie and Sons (1969);
+\bibitem{sei} J.Bar\'o \emph{et al.}, \emph{Analytical cross sections 
+for Monte Carlo simulation of photon transport}, Radiat.Phys.Chem. 44,531
+(1994);
+\bibitem{sette} J.H.Hubbel \emph{et al.}, \emph{Atomic form factors, 
+incoherent scattering functions and photon scattering cross sections}, J.
+Phys.Chem.Ref.Data 4,471 (1975). Erratum: \emph{ibid.} 6,615 (1977);
+\bibitem{otto} M.J.Berger and J.H.Hubbel, \emph{XCOM: photom cross sections
+on a personal computer}, Report NBSIR 87-3597 (National Bureau of Standards)
+(1987);
+\bibitem{nove} H.Davies \emph{et al.}, \emph{Theory of bremsstrahlung and
+pair production. II.Integral cross section for pair production}, Phys.Rev.
+93,788 (1954); 
+\bibitem{dieci} J.H.Hubbel \emph{et al.}, \emph{Pair, triplet and total
+atomic cross sections (and mass attenuation coefficients) for 1 MeV $-$ 100 
+GeV photons in element Z=1 to 100}, J.Phys.Chem.Ref.Data 9,1023 (1980);
+\bibitem{undici} J.W.Motz \emph{et al.}, \emph{Pair production by
+photons}, Rev.Mod.Phys 41,581 (1969);
+\bibitem{dodici} D.E.Cullen \emph{et al.}, \emph{Tables and graphs of
+photon-interaction cross sections from 10 eV to 100 GeV derived from the
+LLNL evaluated photon data library (EPDL)}, Report UCRL-50400 (Lawrence
+Livermore National Laboratory) (1989);
+\bibitem{dodicibis}, F. Sauter, Ann. Phys. 11 (1931) 454
+\bibitem{tredici} S.M.Seltzer and M.J.Berger, \emph{Bremsstrahlung energy
+spectra from electrons with kinetic energy 1 keV - 100 GeV incident on
+screened nuclei and orbital electrons of neutral atoms with Z=1-100},
+At.Data Nucl.Data Tables 35,345 (1986);
+\bibitem{quattordici} D.E.Cullen \emph{et al.}, \emph{Tables and graphs of
+electron-interaction cross sections from 10 eV to 100 GeV derived from the
+LLNL evaluated photon data library (EEDL)}, Report UCRL-50400 (Lawrence
+Livermore National Laboratory) (1989);
+\bibitem{quindici} L.Kissel \emph{et al.}, \emph{Shape functions for
+atomic-field bremsstrahlung from electron of kinetic energy 1$-$500 keV on
+selected neutral atoms $1 \le Z \le 92$}, At.Data Nucl.Data.Tab. 28,381
+(1983);
+\bibitem{sedici} M.J.Berger and S.M.Seltzer, \emph{Stopping power of
+electrons and positrons}, Report NBSIR 82-2550 (National Bureau of
+Standards) (1982);
+\bibitem{diciassette} L.Kim \emph{et al.}, \emph{Ratio of positron to electron
+bremsstrahlung energy loss: an approximate scaling law}, Phys.Rev.A 33,3002
+(1986);
+\bibitem{diciotto} U.Fano, \emph{Penetration of protons, alpha particles 
+and mesons}, Ann.Rev.Nucl.Sci. 13,1 (1963);
+\bibitem{diciannove} W.Heitler, \emph{The quantum theory of radiation}, 
+Oxford University Press, London (1954);
+\bibitem{venti} W.R.Nelson \emph{et al.}, \emph{The EGS4 code system}, 
+Report SLAC-265 (1985).
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item \emph{Penelope - A Code System for Monte Carlo Simulation of
+Electron and Photon Transport}, Workshop Proceedings Issy-les-Moulineaux,
+France, 5$-$7 November 2001, AEN-NEA;
+\item J.Sempau \emph{et al.}, \emph{Experimental benchmarks of the
+Monte Carlo code PENELOPE}, submitted to NIM B (2002);
+\item D.Brusa \emph{et al.}, \emph{Fast sampling algorithm for the
+simulation of photon Compton scattering}, NIM A379,167 (1996);
+\item F.Biggs \emph{et al.}, \emph{Hartree-Fock Compton profiles
+for the elements}, At.Data Nucl.Data Tables 16,201 (1975);
+\item M.Born, \emph{Atomic physics}, Ed. Blackie and Sons (1969);
+\item J.Bar\'o \emph{et al.}, \emph{Analytical cross sections 
+for Monte Carlo simulation of photon transport}, Radiat.Phys.Chem. 44,531
+(1994);
+\item J.H.Hubbel \emph{et al.}, \emph{Atomic form factors, 
+incoherent scattering functions and photon scattering cross sections}, J.
+Phys.Chem.Ref.Data 4,471 (1975). Erratum: \emph{ibid.} 6,615 (1977);
+\item M.J.Berger and J.H.Hubbel, \emph{XCOM: photom cross sections
+on a personal computer}, Report NBSIR 87-3597 (National Bureau of Standards)
+(1987);
+\item H.Davies \emph{et al.}, \emph{Theory of bremsstrahlung and
+pair production. II.Integral cross section for pair production}, Phys.Rev.
+93,788 (1954); 
+\item J.H.Hubbel \emph{et al.}, \emph{Pair, triplet and total
+atomic cross sections (and mass attenuation coefficients) for 1 MeV $-$ 100 
+GeV photons in element Z=1 to 100}, J.Phys.Chem.Ref.Data 9,1023 (1980);
+\item J.W.Motz \emph{et al.}, \emph{Pair production by
+photons}, Rev.Mod.Phys 41,581 (1969);
+\item D.E.Cullen \emph{et al.}, \emph{Tables and graphs of
+photon-interaction cross sections from 10 eV to 100 GeV derived from the
+LLNL evaluated photon data library (EPDL)}, Report UCRL-50400 (Lawrence
+Livermore National Laboratory) (1989);
+\item S.M.Seltzer and M.J.Berger, \emph{Bremsstrahlung energy
+spectra from electrons with kinetic energy 1 keV - 100 GeV incident on
+screened nuclei and orbital electrons of neutral atoms with Z=1-100},
+At.Data Nucl.Data Tables 35,345 (1986);
+\item D.E.Cullen \emph{et al.}, \emph{Tables and graphs of
+electron-interaction cross sections from 10 eV to 100 GeV derived from the
+LLNL evaluated photon data library (EEDL)}, Report UCRL-50400 (Lawrence
+Livermore National Laboratory) (1989);
+\item L.Kissel \emph{et al.}, \emph{Shape functions for
+atomic-field bremsstrahlung from electron of kinetic energy 1$-$500 keV on
+selected neutral atoms $1 \le Z \le 92$}, At.Data Nucl.Data.Tab. 28,381
+(1983);
+\item M.J.Berger and S.M.Seltzer, \emph{Stopping power of
+electrons and positrons}, Report NBSIR 82-2550 (National Bureau of
+Standards) (1982);
+\item L.Kim \emph{et al.}, \emph{Ratio of positron to electron
+bremsstrahlung energy loss: an approximate scaling law}, Phys.Rev.A 33,3002
+(1986);
+\item U.Fano, \emph{Penetration of protons, alpha particles 
+and mesons}, Ann.Rev.Nucl.Sci. 13,1 (1963);
+\item W.Heitler, \emph{The quantum theory of radiation}, 
+Oxford University Press, London (1954);
+\item W.R.Nelson \emph{et al.}, \emph{The EGS4 code system}, 
+Report SLAC-265 (1985).
+\end{enumerate}
+
+\end{htmlonly}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/photoelectric.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/photoelectric.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/photoelectric.tex	(revision 1208)
@@ -0,0 +1,148 @@
+\section{Photoelectric effect}\label{secphoto}
+
+\subsection{Total cross-section}
+
+The total photoelectric cross-section at a given energy, E, is calculated as 
+described in section~\ref{subsubsigmatot}. Note that for this process the 
+{\it MeanFreePathTable} is not built, since the cross-section is not a  
+smooth function of the energy, therefore in all calculations the 
+cross-section is used directly.
+
+\subsection{Sampling of the final state}
+
+The incident photon is absorbed and an electron is emitted.
+
+The electron kinetic energy is the difference between the incident photon 
+energy and the binding energy of the electron before the interaction. 
+The sub-shell, from which the electron is emitted, is randomly selected 
+according to the relative cross-sections of all subshells, 
+determined at the given energy, $T$, by interpolating the evaluated 
+cross-section data from the EPDL97 data bank~\cite{pe-EPDL97}.
+
+The interaction leaves the atom in an excited state. 
+The deexcitation of the atom is simulated as described in section~\ref{relax}. 
+
+\subsection{Angular distribution of the emmited photoelectron}
+
+Three models are available to describe the direction of the emmited photoelectron:
+G4\-Photo\-Electric\-Angular\-Generator\-Simple, G4\-Photo\-Electric\-Angular\-Generator\-Sauter\-Gavrila and
+G4PhotoElectricAngularGeneratorPolarized.
+
+\subsubsection{G4PhotoElectricAngularGeneratorSimple}
+
+The default model assumes that the photoelectron direction is emmited in the same 
+direction as the incident photon. 
+
+\subsubsection{G4PhotoElectricAngularGeneratorSauterGavrila}
+
+This model implements the Sauter--Gavrilla distribution has 
+presented in the Standard Photoelectric effect.
+
+\subsubsection{G4PhotoElectricAngularGeneratorPolarized}
+
+This model models the double differential cross section (for angles $\theta$ and $\phi$) and
+thus it is capable of account for polarization of the incident photon. The developed
+generator was based in the research of Sauter in 1931\cite{Sauter:1931}. The Sauter's formula was recalculated by Gavrila in 
+1959 for the K-shell~\cite{Gavrila:1959} and in 1961 for the L-shells~\cite{Gavrila:1961}. These new double differential formulas have some limitations, $\alpha$Z$<<$1 and have a range between 0.1$<\beta<$0.99 c.  
+
+\subsubsection*{K--shell}
+
+The double differential photoeffect for K--shell can be written as~\cite{Gavrila:1959}:
+\begin{equation}
+\frac{d\sigma}{d \omega}(\theta,\phi) = \frac{4}{m^2}{\alpha^6}{Z^5}\frac{\beta^3(1-\beta^2)^3}{\left[1-(1-\beta^2)^{1/2}\right]}
+\left(F\left(1-\frac{\pi\alpha Z}{\beta}\right)+ \pi\alpha Z G\right)
+\end{equation}
+where
+\begin{eqnarray*}
+F &=& \frac{\sin^2 \theta \cos^2 \phi}{(1-\beta \cos \theta)^4} - \frac{1-(1-\beta^2)^{1/2}}{2(1-\beta^2)}\frac{\sin^2\theta\cos^2\phi}{(1-\beta\cos\theta)^3} \nonumber \\ &+&\frac{\left[1-(1-\beta^2)^{1/2}\right]^2}{4(1-\beta^2)^{3/2}}\frac{\sin^2\theta}{(1-\beta\cos\theta)^3}
+\end{eqnarray*}
+\begin{eqnarray*}
+G &=& \frac{[1-(1-\beta^2)^{1/2}]^{1/2}}{2^{7/2} \beta^2 (1-\beta \cos \theta)^{5/2}}\left[\frac{4\beta^2}{(1-\beta^2)^{1/2}} \frac{\sin^2 \theta \cos^2 \phi}{1-\beta\cos\theta} + \frac{4\beta}{1-\beta^2}\cos \theta \cos^2 \phi - \right.{} \nonumber \\
+&-&4  \left.\frac{1-(1-\beta^2)^{1/2}}{1-\beta^2}(1-\cos^2\phi)-\beta^2\ \frac{1-(1-\beta^2)^{1/2}}{1-\beta^2} \frac{\sin^2 \theta}{1-\beta \cos \theta} - \right.{} \nonumber \\
+&+& \left.4\beta^2\frac{1-(1-\beta^2)^{1/2}}{(1-\beta^2)^{3/2}} - 4\beta \frac{\left[ 1-(1-\beta^2)^{1/2}\right]^2}{(1-\beta^2)^{3/2}}\right] \nonumber \\
+&+&\frac{1-(1-\beta^2)^{1/2}}{4\beta^2(1-\beta\cos\theta)^2}\left[\frac{\beta}{1-\beta^2}-\frac{2}{1-\beta^2}\cos\theta\cos^2\phi + \frac{1-(1-\beta^2)^{1/2}}{(1-\beta^2)^{3/2}}\cos\theta \right.{} \nonumber \\
+&-& \left.\beta \frac{1-(1-\beta^2)^{1/2}}{(1-\beta^2)^{3/2}}\right]
+\end{eqnarray*}
+where $\beta$ is the electron velocity, $\alpha$ is the fine--structure constant, $Z$ is the atomic number of the material and $\theta$, $\phi$ are the emission angles with respect to the electron initial direction.
+
+\subsubsection*{L1--shell}
+
+The double differential photoeffect distribution for L1--shell is the same as 
+for K--shell despising a constant~\cite{Gavrila:1961}:
+\begin{equation}
+B = \xi \frac{1}{8}
+\end{equation}
+where $\xi$ is equal to 1 when working with unscreened Coulomb wave functions as it is done in this development. 
+
+\subsubsection*{The generation of the photoelectron distribution}
+
+Since the polarized Gavrila cross--section is a 2--dimensional non--factorized distribution an acceptance--rejection technique was the adopted~\cite{Peralta:2003}. For the Gravrila distribution, two functions 
+were defined $g_1(\phi)$ and $g_2(\theta)$:
+\begin{eqnarray}
+g_1(\phi) &=& a \\
+g_2(\theta) &=& \frac{\theta}{1+c\theta^2}
+\end{eqnarray}
+such that:
+\begin{equation}
+A g_1(\phi)g_2(\theta) \ge \frac{d^2 \sigma}{d\phi d\theta}
+\end{equation}
+where A is a global constant. The method used to calculate the distribution is
+the same as the one used in Low Energy 2BN Bremsstrahlung Generator, being the
+difference $g_1(\phi) = a$.
+
+\subsection{Status of the document}
+
+\noindent
+30.09.1999 created by Alessandra Forti\\
+07.02.2000 modified by V\'eronique Lef\'ebure\\
+08.03.2000 reviewed by Petteri Nieminen and Maria Grazia Pia\\
+13.05.2002 modified by Vladimir Ivanchenko
+01.05.2006 modified by Ana Farinha, Andreia Trindade, Lu\'{\i}s Peralta and Pedro Rodrigues\\
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+\bibitem{pe-EPDL97} 
+  %http://reddog1.llnl.gov/homepage.red/photon.htm
+  ``EPDL97: the Evaluated Photon Data Library, '97 version",
+  D.Cullen, J.H.Hubbell, L.Kissel,
+  UCRL--50400, Vol.6, Rev.5
+\bibitem{Sauter:1931}
+``K--Shell Photoelectric Cross Sections from 200 keV to 2 MeV", R H Pratt, R D Levee, 
+ R L Pexton and W Aron, Phys. Rev. 134 (1964) 4A 
+\bibitem{Gavrila:1959}
+``Relativistic K--Shell Photoeffect", M. Gavrila, Phys. Rev. 113 (1959) 2
+\bibitem{Gavrila:1961}
+``Relativistic L--Shell Photoeffect", M. Gavrila, Phys. Rev. 124 (1961) 4
+\bibitem{Peralta:2003}
+``Monte Carlo Generation of 2BNBremsstrahlung Distribution",  
+  L. Peralta, P. Rodrigues, A. Trindade
+  CERN EXT--2004--039 (July, 2003)
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item 
+  %http://reddog1.llnl.gov/homepage.red/photon.htm
+  ``EPDL97: the Evaluated Photon Data Library, '97 version",
+  D.Cullen, J.H.Hubbell, L.Kissel,
+  UCRL--50400, Vol.6, Rev.5
+\item
+``K--Shell Photoelectric Cross Sections from 200 keV to 2 MeV", R H Pratt, R D Levee, 
+ R L Pexton and W Aron, Phys. Rev. 134 (1964) 4A 
+\item
+``Relativistic K--Shell Photoeffect", M. Gavrila, Phys. Rev. 113 (1959) 2
+\item
+``Relativistic L--Shell Photoeffect", M. Gavrila, Phys. Rev. 124 (1961) 4
+\item
+``Monte Carlo Generation of 2BNBremsstrahlung Distribution",  
+  L. Peralta, P. Rodrigues, A. Trindade
+  CERN EXT--2004--039 (July, 2003)
+\end{enumerate}
+
+\end{htmlonly}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/polarizedcompton.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/polarizedcompton.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/polarizedcompton.tex	(revision 1208)
@@ -0,0 +1,105 @@
+
+\section{Compton Scattering by Linearly Polarized Gamma Rays}
+
+
+\subsection{The Cross Section}
+
+The quantum mechanical Klein - Nishina differential cross section for 
+polarized photons is [Heitler 1954]:
+
+\[\frac{d\sigma}{d\Omega} = \frac{1}{4}r_0^2 \frac{h\nu^2}{h\nu_o^2} \frac{h\nu_o^2}{h\nu^2} \left[\frac{h\nu_o}{h\nu}+\frac{h\nu}{h\nu_o}-2+4 cos^2\Theta \right] \]
+
+\noindent
+where $\Theta$ is the angle between the two polarization vectors.  In terms 
+of the polar and azimuthal angles $ (\theta, \phi) $ this cross section can 
+be written as
+
+\[\frac{d\sigma}{d\Omega} = \frac{1}{2}r_0^2 \frac{h\nu^2}{h\nu_o^2} \frac{h\nu_o^2}{h\nu^2} \left[\frac{h\nu_o}{h\nu}+\frac{h\nu}{h\nu_o}-2 cos^2\phi sin^2\theta \right] \] .
+
+
+\subsection{Angular Distribution}
+
+
+The integration of this cross section over the azimuthal angle produces the 
+standard cross section.  The angular and energy distribution are then 
+obtained in the same way as for the standard process.  Using these values 
+for the polar angle and the energy, the azimuthal angle is sampled from the 
+following distribution:
+
+\[ P(\phi)= 1 - \frac{a}{b} cos^2\phi \]
+
+\noindent
+where $a = sin^2\theta $ and $b = \epsilon + 1/\epsilon$.  $\epsilon$ is
+the ratio between the scattered photon energy and the incident photon 
+energy.
+
+
+\subsection{Polarization Vector}
+
+The components of the vector polarization of the scattered photon are
+calculated from
+
+\[ \vec{\epsilon'_\bot} = \frac{1}{N} \left( \hat{j} cos\theta - \hat{k} sin\theta sin\phi \right) sin\beta \]
+
+ 
+\[ \vec{\epsilon'_\|} = \left[ N \hat{i}- \frac{1}{N} \hat{j} sin^2\theta sin\phi cos\phi - \frac{1}{N} \hat{k} sin\theta cos\theta cos\phi \right] cos\beta \]
+
+\noindent
+where \[ N = \sqrt{1-sin^2\theta cos^2\phi} . \]
+
+\noindent
+$cos\beta$ is calculated from $cos\Theta = N cos\beta $, while $cos\Theta$ 
+is sampled from the Klein - Nishina distribution.
+
+The binding effects and the Compton profile are neglected.
+The kinetic energy and momentum of the recoil electron are then
+
+\[ T_{el} = E - E' \]
+\[ \vec{P_{el}} = \vec{P_\gamma} - \vec{P_\gamma '} . \]
+
+The momentum vector of the scattered photon $\vec{P_\gamma}$ and its 
+polarization vector are transformed into the {\tt World} coordinate system. 
+The polarization and the direction of the scattered gamma in the final 
+state are calculated in the reference frame in which the incoming photon is 
+along the $z$-axis and has its polarization vector along the $x$-axis.  The 
+transformation to the {\tt World} coordinate system performs a linear 
+combination of the initial direction, the initial poalrization and the cross
+product between them, using the projections of the calculated quantities 
+along these axes. 
+
+\subsection{Unpolarized Photons}
+
+A special treatment is devoted to unpolarized photons.  In this case a 
+random polarization in the plane perpendicular to the incident photon is 
+selected.
+
+\subsection{Status of this document}
+
+18.06.2001 created by Gerardo Depaola and Francesco Longo \\
+10.06.2002 revision by Francesco Longo \\
+26.01.2003 minor re-wording and correction of equations by D.H. Wright
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+
+\bibitem{Heitler} W. Heitler {\em The Quantum Theory of Radiation, Oxford Clarendom Press } (1954)
+
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item W. Heitler {\em The Quantum Theory of Radiation, Oxford Clarendom Press } (1954)
+\end{enumerate}
+
+\end{htmlonly}
+
+
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/rayleigh.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/rayleigh.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/rayleigh.tex	(revision 1208)
@@ -0,0 +1,82 @@
+\section{Rayleigh Scattering}
+
+\subsection{Total Cross Section}
+The total cross section for the Rayleigh scattering process 
+%(also called coherent scattering~\footnote{Coherent scattering 
+%is usually described as an interaction
+%between a photon and the inner most, most tightly bound electrons of an atom.}) 
+is determined from the data as described in section \ref{subsubsigmatot}. 
+
+\subsection{Sampling of the Final State}
+
+The coherent scattered photon angle $\theta$ is sampled according to the 
+distribution obtained from the product of the Rayleigh formula $(1+\cos^2\theta)\sin\theta $ and the square of Hubbel's form factor
+$FF^2(q)$~\cite{re-hubbel2}~\cite{re-reda}
+\begin{equation}
+\Phi(E, \theta) = [ 1+\cos^2 \theta] \sin \theta  \times FF^2(q) ,
+\end{equation}  
+where $q = 2 E \sin(\theta/2)$ is the momentum transfer.
+
+Form factors introduce a dependency on the initial energy $E$ of the photon 
+that is not taken into account in the Rayleigh formula.  At low energies, 
+form factors are isotropic and do not affect angular distribution, while at 
+high energies they are forward peaked.
+
+The sampling procedure is as follows~\cite{re-stepanek}:
+\begin{enumerate}
+\item $cos\theta$ is chosen from a uniform distribution between -1 and 1
+\item the form factor $FF$ is extracted from the data table for the 
+considered element, using logarithmic data interpolation, 
+for $q = 2 E \cdot\sin(\theta/2)$
+\item if the value obtained for $\Phi(E, \theta)$ is larger than a random
+number uniformly distributed between 0 and $Z^2$, the procedure is repeated
+from step 1, otherwise $\theta$ is taken as the photon scattering angle 
+with respect to its incident direction.
+\item the azimuthal direction of the scattered photon is chosen at random. 
+\end{enumerate}
+
+
+\subsection{Status of this document}
+
+\noindent
+30.09.1999 created by Alessandra Forti\\
+07.02.2000 modified by V\'eronique Lef\'ebure\\
+08.03.2000 reviewed by Petteri Nieminen and Maria Grazia Pia\\
+10.06.2002 modified by Francesco Longo and Gerardo Depaola\\
+26.01.2003 minor re-write and correction of equations by D.H. Wright
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+\bibitem{re-hubbel2}
+  "Relativistic Atom Form Factors and Photon Coherent Scattering Cross Sections",
+  J.H. Hubbell et al., J.Phys.Chem.Ref.Data, 8,69(1979)
+\bibitem{re-reda}
+  "A simple model of photon transport", 
+  D.E. Cullen, Nucl. Instr. Meth. in Phys. Res. B 101(1995)499-510 
+\bibitem{re-stepanek}
+   "New Photon, Positron and Electron Interaction Data for Geant in Energy Range
+   from 1 eV to 10 TeV",
+   J. Stepanek, Draft to be submitted for publication
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item
+  "Relativistic Atom Form Factors and Photon Coherent Scattering Cross 
+   Sections", J.H. Hubbell et al., J.Phys.Chem.Ref.Data, 8,69(1979)
+\item
+  "A simple model of photon transport", 
+  D.E. Cullen, Nucl. Instr. Meth. in Phys. Res. B 101(1995)499-510 
+\item
+   "New Photon, Positron and Electron Interaction Data for Geant in Energy 
+   Range from 1 eV to 10 TeV",
+   J. Stepanek, Draft to be submitted for publication
+\end{enumerate}
+
+\end{htmlonly}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/relaxation.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/relaxation.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/lowenergy/relaxation.tex	(revision 1208)
@@ -0,0 +1,147 @@
+\section{Atomic relaxation}\label{relax}
+
+The atomic relaxation can be triggered
+by other electromagnetic interactions such as the photoelectric effect or
+ionisation, which leave the atom in an excited state.
+
+The Livermore Evaluation Atomic Data Library EADL~\cite{EADL}
+contains data to describe the relaxation of atoms back to neutrality after they
+are ionised.
+%, regardless of what physical process ionised the atom, e.g.,
+%photoelectric effect, electron ionisation, internal conversion,
+%etc~\cite{reda}~\cite{step2}.
+
+It is assumed that the binding energy of all subshells are the same for neutral
+ground state atoms as for ionised atoms~\cite{EADL}.
+
+The data in EADL includes the radiative and non-radiative transition
+probabilities for each sub-shell of each element, for Z=1 to 100. The atom has
+been ionised by a process that has caused an electron to be ejected
+from an atom, leaving a vacancy or ``hole" in a given subshell.  The EADL data 
+are then used to calculate the complete radiative and non-radiative
+spectrum of X-rays and electrons emitted as the atom
+relaxes back to neutrality. 
+
+%In a radiative transition, a vacancy in one subshell is filled by
+%an electron from an outer subshell with the release of fluorescence, i.e. X-ray
+%emission.
+
+%In a non-radiative transition, the initial vacancy is filled by an electron from
+%an outer subshell, and the available energy is given to the removal of 
+%an electron from the same subshell or one further out.
+%This process results in two electron vacancies. 
+Non-radiative de-excitation can occur via the 
+Auger effect (the initial and secondary vacancies are in different shells) or
+Coster-Kronig effect (transitions within the same shell).
+
+
+\subsection{Fluorescence}\label{fluo}
+
+The simulation procedure for the fluorescence process is the following:
+\begin{enumerate}
+\item If the vacancy subshell is not included in the data, 
+      a photon is emitted in a random direction in 4$\pi$
+      with an energy equal to the corresponding binding
+      energy, and the procedure is terminated.
+\item If the vacancy subshell is included in the data, 
+      an outer subshell is randomly selected taking into account the relative
+      transition probabilities for all possible outer subshells. 
+\item In the case where the energy corresponding to the selected transition
+      is larger than a user defined cut value (equal
+      to zero by default), a photon particle is created and 
+      emitted in a random direction in 4$\pi$,
+      with an energy equal to the transition energy.
+\item the procedure is repeated from step 1, for the new vacancy subshell.
+\end{enumerate}
+                   
+The final local energy deposit is the difference between the
+binding energy of the initial vacancy subshell and the sum of 
+all transition energies which were taken by fluorescence photons. 
+The atom is assumed to be initially ionised with an electric charge of $+1e$.
+
+Sub-shell data are provided in the EADL data bank~\cite{EADL} 
+for Z=1 through 100.
+However, transition probabilities are only explicitly
+included for Z=6 through 100, from the subshells of the K, L, M, N shells and
+some O subshells.
+For subshells O,P,Q: transition probabilities are negligible 
+(of the order of 0.1\%) and
+smaller than the precision with which they are known.
+Therefore, for the time being, for Z=1 through 5, 
+only a local energy deposit corresponding to the binding energy B
+of an electron in the ionised subshell is simulated. 
+For subshells of the O, P, and Q shells, a photon is emitted with that energy B.
+
+
+
+\subsection{Auger process}\label{auger}
+
+The Auger effect is complimentary to fluorescence, hence the simulation 
+process is the same as for the fluorescence, with the exception 
+that two random shells are selected, one for the transition electron that fills the original
+vacancy, and the other for selecting the shell generating the Auger electron.
+
+Subshell data are provided in the EADL data bank~\cite{EADL} 
+for $Z=6$ through 100. Since in EADL no data for elements with $Z < 5$ are
+provided, Auger effects are only considered for $5 < Z < 100$ and always due 
+to the EADL data tables, only for those transitions
+which have a probabiliy to occur $> 0.1\%$ of the total non-radiative transition probability. 
+EADL probability data used are, however, normalized to one for Fluorescence + Auger.  
+
+\subsection{Status of the document}
+
+\noindent
+08.02.2000 created by V\'eronique Lef\'ebure\\
+08.03.2000 reviewed by Petteri Nieminen and Maria Grazia Pia\\
+05.06.2002 added Auger Effect description by Alfonso Mantero\\ 
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+\bibitem{EADL} 
+  %http://reddog1.llnl.gov/homepage.red/ATOMIC.htm
+  "Tables and Graphs of Atomic Subshell and Relaxation Data Derived from
+  the LLNL Evaluated Atomic Data Library (EADL), Z=1-100"
+  S.T.Perkins, D.E.Cullen, M.H.Chen, J.H.Hubbell, J.Rathkopf, J.Scofield,
+  UCRL-50400 Vol.30
+\bibitem{reda}
+  "A simple model of photon transport", 
+  D.E. Cullen, Nucl. Instr. Meth. in Phys. Res. B 101(1995)499-510 
+\bibitem{step2} 
+  "A program to determine the radiation spectra due to a single atomic-subshell
+  ionisation by a particle or due to deexcitation or decay of radionuclides",
+  J. Stepanek, Comp. Phys. Comm. 106(1997)237-257 
+%\bibitem{redb}
+%  "PROGRAM RELAX, A Code Designed to Calculate Atomic Relaxation Spectra of
+%  X-rays and Electrons",
+%  D.E.Cullen, UCRL-ID-110438, March 1992  
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item
+  %http://reddog1.llnl.gov/homepage.red/ATOMIC.htm
+  "Tables and Graphs of Atomic Subshell and Relaxation Data Derived from
+  the LLNL Evaluated Atomic Data Library (EADL), Z=1-100"
+  S.T.Perkins, D.E.Cullen, M.H.Chen, J.H.Hubbell, J.Rathkopf, J.Scofield,
+  UCRL-50400 Vol.30
+\item
+  "A simple model of photon transport", 
+  D.E. Cullen, Nucl. Instr. Meth. in Phys. Res. B 101(1995)499-510 
+\item 
+  "A program to determine the radiation spectra due to a single atomic-subshell
+  ionisation by a particle or due to deexcitation or decay of radionuclides",
+  J. Stepanek, Comp. Phys. Comm. 106(1997)237-257 
+%\bibitem{redb}
+%  "PROGRAM RELAX, A Code Designed to Calculate Atomic Relaxation Spectra of
+%  X-rays and Electrons",
+%  D.E.Cullen, UCRL-ID-110438, March 1992  
+\end{enumerate}
+
+\end{htmlonly}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/miscellaneous/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/miscellaneous/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/miscellaneous/CVS/Entries	(revision 1208)
@@ -0,0 +1,3 @@
+/occurence.tex/1.11/Sat Nov 25 19:56:10 2006//
+/setcuts.tex/1.4/Sun Dec  5 05:11:47 2004//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/miscellaneous/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/miscellaneous/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/miscellaneous/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/miscellaneous
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/miscellaneous/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/miscellaneous/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/miscellaneous/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/miscellaneous/occurence.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/miscellaneous/occurence.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/miscellaneous/occurence.tex	(revision 1208)
@@ -0,0 +1,149 @@
+\section{The Interaction Length or Mean Free Path} \label{mfp}
+\begin{itemize}
+\item[1)]
+         In a simple material the number of atoms per volume is:
+         \[n  = \frac{\mathcal{N}\rho}{A}\]
+         where:
+         \begin{eqnarray*}
+          \mathcal{N} &  & \mbox{Avogadro's number} \\
+          \rho        &  & \mbox{density of the medium} \\
+          A           &  & \mbox{mass of a mole} 
+         \end{eqnarray*}
+\item[2)]
+         In a compound material the number of atoms per volume of the
+	 $i^{th}$ element is:
+         \[n_{i}  = \frac{\mathcal{N}\rho w_{i}}{A_{i}}\]
+         where:
+         \begin{eqnarray*}
+          \mathcal{N} &  & \mbox{Avogadro's number} \\
+          \rho        &  & \mbox{density of the medium} \\
+          w_{i}       &  & \mbox{proportion by mass of the $i^{th}$ element}\\
+          A_{i}       &  & \mbox{mass of a mole of the $i^{th}$ element} 
+         \end{eqnarray*} 
+\item[3)] 
+         The {\bf mean free path} of a process, $\lambda$, also called the
+	 {\bf interaction length}, can be given in terms of the total cross 
+         section : 
+         $$
+           \lambda(E) =
+	   \left( \sum_i \lbrack n_i \cdot \sigma(Z_i,E) \rbrack \right)^{-1}
+         $$
+         where $\sigma(Z,E)$ is the total cross section per atom of the
+         process and $\sum_{i}$ runs over all elements composing the material.
+	  
+	  $\sum\limits_{i}{\lbrack n_{i} \sigma(Z_{i},E)\rbrack}$ is also 
+          called the {\it macroscopic cross section}. The mean free path is the
+          inverse of the macroscopic cross section.
+\end{itemize}
+
+\noindent
+Cross sections per atom and mean free path values are tabulated during 
+initialisation.
+
+\section{Determination of the Interaction Point} \label{ip}
+The mean free path, $\lambda$, of a particle for a given process depends on the
+medium and cannot be used directly to sample the probability of an interaction 
+in a heterogeneous detector. The number of mean free paths which a particle 
+travels is:
+
+\begin{equation}
+\label{int.c}
+n_\lambda =\int_{x_1}^{x_2} \frac{dx}{\lambda(x)} ,
+\end{equation}
+which is independent of the material traversed. If $n_r$ is a random variable 
+denoting the number of mean free paths from a given point to the point of 
+interaction, it can be shown that $n_r$ has the distribution function:
+\begin{equation}
+\label{int.d}
+P( n_r < n_\lambda ) = 1-e^{-n_\lambda}
+\end{equation}
+The total number of mean free paths the particle travels before reaching
+the interaction point, $n_\lambda$, is sampled at the beginning of the 
+trajectory as:
+\begin{equation} 
+\label{int.e}
+n_\lambda = -\log \left ( \eta \right )
+\end{equation}   
+where $\eta$ is a random number uniformly distributed in the range $(0,1)$.
+$n_\lambda$ is updated after each step $\Delta x$ according the formula:
+\begin{equation}
+\label{int.f}
+n'_\lambda=n_\lambda -\frac{\Delta x }{\lambda(x)}
+\end{equation}
+until the step originating from $s(x) = n_\lambda \cdot \lambda(x)$ is
+the shortest and this triggers the specific process.\\
+
+\noindent
+The short description given above is the {\em differential approach} to 
+particle transport, which is used in most simulation 
+codes (\cite{int.egs4},\cite{int.geant3}).
+In this approach besides the other ({\em discrete}) processes  
+ the continuous energy loss imposes a limit on the stepsize too, because the
+cross sections depend of the energy of the particle.
+Then it is assumed that the step is small enough so that the particle cross 
+sections remain approximately constant during the step.
+In principle one must use very small steps in order to insure an accurate 
+simulation, but computing time increases as the stepsize decreases. A good 
+compromise is to limit the stepsize in Geant4 by not allowing the stopping 
+range of the particle to decrease by more than 20 \% during the step. This 
+condition works well for particles with kinetic energies $>$ 0.5 MeV, but for 
+lower energies it can give very short step sizes.  To cure this problem a lower
+limit on the stepsize is also introduced.
+  
+\section{Updating the Particle Lifetime}
+
+The proper and laboratory times of the particle should be updated after each 
+step. 
+In the laboratory system:
+\begin{equation}
+\label{int.n}
+  \Delta t_{lab} = \frac{\Delta x}{0.5 (v_0 + v)}
+\end{equation} 
+where 
+\[
+\begin{array}{ll}
+\Delta x    & \mbox{step travelled by the particle} \\
+ v_0  &
+ \mbox{particle velocity at the beginning  of the step} \\
+ v  &
+ \mbox{particle velocity at the end of the step} \\
+\end{array}
+\]
+This expression is a good approximation if the velocity is not allowed to
+change too much during the step.
+
+
+\section{Status of this document}
+ 09.10.98  created by L. Urb\'an. \\
+ 27.07.01  minor revisions by M. Maire \\
+ 01.12.03  integral method subsection added by V. Ivanchenko \\
+ 12.08.04  splitted and partly moved in introduction by M. Maire  \\
+ 25.12.06  minor revision by V. Ivanchenko \\
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+\bibitem{int.egs4} W.R. Nelson et al.
+ the \textsc{egs4} Code System. SLAC-Report-265, December 1985.
+
+\bibitem{int.geant3}
+ G\textsc{eant3} manual, CERN Program Library Long Writeup W5013 (October 1994).
+
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\section{Bibliography}
+
+\begin{enumerate}
+\item W.R. Nelson et al.
+ the \textsc{egs4} Code System. SLAC-Report-265, December 1985.
+
+\item G\textsc{eant3} manual, CERN Program Library Long Writeup W5013 (October 1994).
+
+
+\end{enumerate}
+
+\end{htmlonly}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/miscellaneous/setcuts.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/miscellaneous/setcuts.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/miscellaneous/setcuts.tex	(revision 1208)
@@ -0,0 +1,142 @@
+\section{Conversion from range to kinetic energy}
+
+\subsection{Charged particles}
+The algorithm which converts the stopping range of a charged particle to the
+corresponding kinetic energy is essentially the same for all charged 
+particle types: given the stopping range of a particle, a vector holding the 
+corresponding kinetic energy for every material is constructed.  Only the 
+energy loss formulae are different, depending on whether the particle is an
+electron, a positron, or a heavy charged particle (muon, pion, proton, etc.).  
+ \noindent
+For protons and anti-protons the above procedure is followed, but for other
+charged hadrons, the cut values in kinetic energy are computed using the 
+proton and anti-proton energy loss and range tables. 
+
+\subsubsection{General scheme}
+   \begin{enumerate}
+      \item An energy loss table is created and filled for all the elements
+            in the element table.
+      \item For every material in the material table the following steps 
+	    are performed:
+            \begin{enumerate}
+              \item a range vector is constructed using the energy loss table
+		    and specific formulae for the low energy part of the
+                    calculations,
+              \item the conversion from stopping range to kinetic energy is
+                    performed and the corresponding element of the
+		    {\tt KineticEnergyCuts} vector is set,
+              \item the range vector is deleted.
+            \end{enumerate}
+      \item The energy loss table is deleted at the end of the process.
+   \end{enumerate}
+
+\subsubsection{Energy loss formula for heavy charged particles}
+The energy loss of the particle is calculated from a simplified Bethe-Bloch
+formula if the kinetic energy of the particle is above the value
+     \[
+     T_{lim}=2 \,MeV \times \left( \frac {\mbox{particle mass}}
+                                         {\mbox{proton mass}}  \right ).
+     \]
+The word ``simplified'' means that the low energy shell correction term and
+the high energy Sternheimer density correction term have been omitted.
+Below the energy value $T_{lim}$ a simple parameterized energy loss formula
+is used to compute the loss, which reproduces the energy loss values
+of the stopping power tables fairly well.  The main reason for using a
+parameterized formula for low energy is that the Bethe-Bloch formula breaks 
+down at low energy. The formula has the following form :
+     \[
+    \frac{dE}{dx} = \left \{ \begin{array}{ll}
+                   a*\sqrt{\frac{T}{M}}+b*\frac{T}{M} & \mbox{for $T \in [0, \, T_0]$}
+                   \\ \\
+                   c*\sqrt{\frac{T}{M}} & \mbox{for $T \in [T_0, \, T_{lim}]$} 
+                      \end{array}
+            \right.
+     \]
+   \begin{tabbing}
+      whereb:bbb\= \kill
+      where :  \> M = particle mass \\
+               \> T = kinetic energy \\
+               \> $ T_0=0.1 \, MeV \times Z^{1/3} \times \mbox{ M/(proton mass)} $\\
+               \> Z = atomic number.
+    \end{tabbing}
+The paramaters $a, b$ and $c$ have been chosen in such a way that $dE/dx$ is a
+continuous function of $T$ at $T=T_{lim}$ and $T=T_0$, and $dE/dx$ reaches its 
+maximum at the correct $T$ value.
+
+\subsubsection{Energy loss of electrons and positrons}
+The Berger-Seltzer energy loss formula has been used for $T > 10$ keV to
+compute the energy loss due to ionization. This formula plays the role of 
+the Bethe-Bloch equation for electrons (see e.g. the GEANT3 manual). Below
+10 keV the simple $c$/($T$/mass of electron) parameterization has been used,
+where $c$ can be determined from the requirement of continuity at $T = 10$ keV.
+For electrons the radiation loss is important even at relatively low (few MeV) 
+energies, so a second term has been added to the energy loss formula which 
+accounts for radiation losses (losses due to bremsstrahlung). This second 
+term is an empirical, parameterized formula.
+For positrons a different formula is used to calculate the ionization loss, 
+while the term accounting for the radiation losses is the same as that
+for electrons.
+
+\subsubsection{Range calculation}
+The stopping range is defined as 
+   \[ R(T)= \int_0^T \frac{1}{(dE/dx)} \, dE \] .
+The integration has been done analytically for the low energy part and 
+numerically above an energy limit.
+  
+\subsection{Photons}
+Starting from a particle cut given in absorption lengths, the method
+constructs a vector holding the cut values in kinetic energy for every
+material. The main steps of the algorithm are the following :
+\subsubsection{General scheme}
+   \begin{enumerate}
+      \item A cross section table is created and filled for all the elements
+            in the element table.
+      \item For every material in the material table the following steps are
+            performed:
+            \begin{enumerate}
+              \item an absorption length vector is constructed using the 
+                    cross section table 
+              \item the conversion from absorption length to kinetic energy is
+                    performed and the corresponding element of the 
+                    {\tt KineticEnergyCuts} vector is set
+                    (It contains the particle cut value in kinetic energy 
+                    for the actual material.),
+              \item the absorption length vector is deleted.
+            \end{enumerate}
+      \item The cross section table is deleted at the end of the process.
+   \end{enumerate}
+\subsubsection{Cross section formula for elements}
+An approximate empirical formula is used to compute the {\em absorption
+cross section} of a photon in an element.  Here, the {\em absorption cross 
+section} means the sum of the cross sections of the gamma conversion, Compton 
+scattering and photoelectric effect.  These processes are the ``destructive'' 
+processes for photons: they destroy the photon or decrease its energy.
+(The coherent or Rayleigh scattering changes the direction of the gamma
+only; its cross section is not included in the {\em absorption cross section}.)
+
+\subsubsection{Absorption length vector}
+The {\tt AbsorptionLength} vector is calculated for every material as :
+ \begin{center}
+   {\tt AbsorptionLength} = 5/(macroscopic absorption cross section) .
+ \end{center}
+The factor 5 comes from the requirement that the probability of having
+no 'destructive' interaction should be small, hence 
+\begin{eqnarray*} 
+  \exp(-\mbox{{\tt AbsorptionLength * MacroscopicCrossSection}}) &=&\exp(-5) \\
+  &=& 6.7 \times 10^{-3}
+  \end{eqnarray*}
+
+\subsubsection{Meaningful cuts in absorption length}
+The photon cross section for a material has a minimum at a certain kinetic
+energy $T_{min}$. The {\tt AbsorptionLength} has a maximum at $T=T_{min}$, 
+the value of the maximal {\tt AbsorptionLength} is the biggest "meaningful" 
+cut in absorption length. If the cut given by the user is bigger than this 
+maximum, a warning is printed and the cut in kinetic energy is set to the 
+maximum gamma energy (i.e. all the photons will be killed in the material).  
+
+\subsection{Status of this document}
+  \ 9.10.98 created by L. Urb\'an. \\
+   27.07.01 minor revision M.Maire \\
+   17.08.04 moved to common to all charged particles (mma) \\
+   04.12.04 minor re-wording by D.H. Wright \\
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/muons/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/muons/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/muons/CVS/Entries	(revision 1208)
@@ -0,0 +1,6 @@
+/msc.tex/1.3/Wed Dec  5 23:29:00 2001//
+/mubrem.tex/1.10/Fri Dec 10 21:31:40 2004//
+/muion.tex/1.15/Fri Dec 10 21:31:40 2004//
+/munu.tex/1.9/Fri Dec 10 21:31:40 2004//
+/pair.tex/1.10/Fri Dec 10 21:31:40 2004//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/muons/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/muons/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/muons/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/muons
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/muons/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/muons/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/muons/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/muons/msc.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/muons/msc.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/muons/msc.tex	(revision 1208)
@@ -0,0 +1,152 @@
+ \chapter[Multiple scattering]{Multiple scattering}
+
+ The G4MultipleScattering class simulates the multiple scattering of
+charged particles in material.  It uses a new multiple scattering (MSC)
+model which  does not use the Moliere formalism \cite{msc.moliere}. 
+This MSC model simulates the scattering of the 
+particle after a given step , computes the mean path length 
+correction and the mean lateral displacement as well.
+
+ Let us define a few notation first.
+
+ The true path length ('t' path length) is the total length travelled
+by the particle. All the physical processes restrict this 't' step.
+
+ The geometrical ( or 'z') path length is the straight distance between
+the starting and endpoint of the step , if there is no magnetic field.
+The geometry gives a constraint for this 'z' step. It should be noted,
+that the geometrical step length is meaningful in the case of magnetic
+field, too, but in this case it is a distance along a curved 
+trajectory.
+
+ The mean properties of the multiple scattering process are determined
+by the transport mean free path , \(\lambda\) , which is a function of the 
+energy in a given material.Some of the mean properties - the mean lateral
+ displacement and the second moment of cos(theta) - depend on the second
+ transport mean free path, too. (The transport mean free path is called
+ first transport mean free path as well.)
+
+  The 't'\(\Rightarrow\)'z' (true path length -- geometrical path length) transformation is given by the simple equation
+
+   \begin{equation}
+         z = \lambda*(1.-exp(-t/\lambda))                \label{msc.a}
+   \end{equation}
+
+ which is an exact result for the mean values of z , if
+the differential cross section has an axial symmetry and the energy loss
+can be neglected .
+  This formula and some other expressions for the first moments of the 
+spatial distribution after a given 'true' path length t have been taken 
+from the excellent paper of Fernandez-Varea et al. \cite{msc.fernandez}, 
+but the expressions have been calculated originally by Goudsmit and 
+Saunderson \cite{msc.goudsmit} and Lewis \cite{msc.lewis}.
+  Inverting eq. \ref{msc.a} the 'z'\(\Rightarrow\)'t' transformation can 
+be written as
+
+   \begin{equation}
+        t = -\lambda*ln(1.-z/\lambda)                     \label{msc.b}
+   \end{equation}
+
+ where \(z < \lambda\) should be required (this condition is fulfilled
+ if z has been computed from eq. \ref{msc.a}).
+
+  The mean value of \(cos(\theta)\) - \(\theta\) is the scattering angle after a
+true step length t - is
+
+   \begin{equation}
+          <cos(\theta)> = exp(-t/\lambda)               \label{msc.c}  
+   \end{equation}
+
+  The transport mean free path values have been calculated by Liljequist 
+et al. \cite{msc.liljequist2, msc.liljequist1} for electrons and positrons 
+in the kinetic energy range \(0.1 keV -- 20 MeV\) in 15 materials.  The 
+MSC model uses these values with an appropriate interpolation or 
+extrapolation in the atomic number
+\(Z\) and in the velocity of the particle \(\beta\) , when it is necessary.
+  
+ The quantity \(cos(\theta)\) is sampled in the MSC model according to a model function
+ \(f(cos(\theta))\). The shape of this function has been choosen in such a way,
+that\(f(cos(\theta))\) reproduces the results of the direct simulation ot the particle
+transport rather well and eq. \ref{msc.c} is satisfied.
+ The functional form of this model function is
+
+  \begin{equation}
+      f(x) = p \frac{(a + 1)^2 (a - 1)^2}{2 a} \frac{1}{(a-x)^3}
+            + (1-p) \frac{1}{2}                            \label{msc.d}
+  \end{equation}
+
+ where  \( x= cos(\theta)\) , \( 0 \leq p \leq 1\) and \( a > 1\) . The model
+ parameters \(p\) and \(a\) depend on the path length t , the energy of the
+ particle and the material.They are not independent parameters , they should
+ satisfy the constraint
+
+  \begin{equation}
+        \frac{p}{a} = exp(-\frac{t}{\lambda})              \label{msc.e}
+  \end{equation} 
+
+ which follows from eq. \ref{msc.c} .
+
+  The mean lateral displacement is given by a more complicated formula
+(see the paper \cite{msc.fernandez} ), but this quantity also can be calculated
+ relatively easily and accurately.
+ 
+  It is worth to note that in this MSC model there is no step limitation
+ originated from the multiple scattering process. Another important feature
+ of this model
+ that the total 'true' path length of the particle does not depend the
+ length of the steps . Most of the algorithms used in simulations do not have
+ these properties.
+  
+ In the case of heavy charged particles ( \(\mu,\pi,proton,etc.\) ) the
+ mean transport free path is calculated from the \(e+/e-\)  \(\lambda\) values
+ with a 'scaling'.
+
+ In its present form the model computes and uses {\em mean}  path length
+ corrections and lateral displacements, the only {\em random} quantity is
+ the scattering angle \(\theta\) which is sampled according to the model
+ function \( f \).   
+
+  The G4MultipleScattering process has  'AlongStep' and  'PostStep'
+parts.
+
+  The AlongStepGetPhysicalInteractionLength function performs the\linebreak
+ \mbox{'t' step \(\Rightarrow\) 'z' step} transformation . It should be called after the
+other physics GetPhysicalInteractionLength functions but before
+the GetPhysicalInteractionLength of the transportation process.The
+reason for this restriction is the following: The physics processes
+'feel' the true path length travelled by the particle , the geometry
+(transport) uses the 'z' step length.If we want to compare the minimum
+step size coming from the physics with the constraint of the geometry,
+we have make the transformation.
+
+  The AlongStepDoIt function of the process performs the inverse,
+ 'z'\(\Rightarrow\)'t' transformation.This function should be called after the 
+AlongStepDoIt of the transportation process , i.e. after the particle
+relocation determined by the geometrical step length, but before applying
+any other (physics) AlongStepDoIt.
+
+  The PostStepGetPhysicalInteractionLength part of the multiple
+scattering process is very simple , it sets the force flag to 'Forced'
+in order to ensure the call of the PostStepDoIt in every step and
+returns a big value as interaction length (that means that the multiple
+scattering process does not restrict the step size).
+
+\section{Status of this document}
+  9.10.98  created by L. Urb\'an.
+  \\5.12.98   editing by J.P. Wellisch.
+
+
+\begin{thebibliography}{99}
+\bibitem{msc.moliere}
+   {\em Z. Naturforsch. 3a (1948) 78. }
+\bibitem{msc.fernandez}J. M. Fernandez-Varea et al.
+   {\em NIM B73 (1993) 447.}
+\bibitem{msc.goudsmit}S. Goudsmit and J. L. Saunderson.
+   {\em Phys. Rev. 57 (1940) 24. }
+\bibitem{msc.lewis} H. W. Lewis. 
+   {\em Phys. Rev. 78 (1950) 526. }
+\bibitem{msc.liljequist1} D. Liljequist and M. Ismail.
+   {\em J.Appl.Phys. 62 (1987) 342. }
+\bibitem{msc.liljequist2} D. Liljequist et al.
+   {\em J.Appl.Phys. 68 (1990) 3061. }
+\end{thebibliography}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/muons/mubrem.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/muons/mubrem.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/muons/mubrem.tex	(revision 1208)
@@ -0,0 +1,235 @@
+
+\section[Bremsstrahlung]{Bremsstrahlung} \label{secmubrem}
+
+Bremsstrahlung dominates other muon interaction processes in the region of
+catastrophic collisions ($v \geq 0.1$ ), that is at "moderate" muon 
+energies above the kinematic limit for knock--on electron production. 
+At high energies ($E \geq 1$ TeV) this process contributes about
+40\% of the average muon energy loss.
+
+\subsection{Differential Cross Section}
+
+The differential cross section for muon bremsstrahlung (in units of
+${\rm cm}^{2}/(\mbox{g GeV})$)
+can be written as
+\begin{eqnarray}
+\label{mubrem.a}
+\frac{d \sigma (E,\epsilon,Z,A)}{d \epsilon}&=&
+\frac{16}{3} \alpha N_A (\frac{m}{\mu} r_{e})^2
+\frac{1}{\epsilon A} Z(Z \Phi_n + \Phi_e)(1-v+\frac{3}{4} v^2)\nonumber\\
+&=&0 \quad {\rm if} \quad \epsilon \geq \epsilon_{\rm max} = E-\mu ,
+\end{eqnarray}
+where $\mu$ and $m$ are the muon and electron masses, $Z$ and $A$ are the 
+atomic number and atomic weight of the material, and $N_{A}$ is Avogadro's 
+number.  If $E$ and $T$ are the initial total and kinetic energy of the
+muon, and $\epsilon$ is the emitted photon energy, then 
+$\epsilon = E - E'$ and the relative energy transfer $v = \epsilon /E$.
+
+$\Phi_{n}$ represents the contribution of the nucleus and can be expressed 
+as 
+\begin{eqnarray*}
+ \Phi_{n} &=& \ln \frac {BZ^{-1/3}(\mu + \delta (D_{n}' \sqrt{e} -2))}
+    {D_{n}'(m+ \delta \sqrt{e}BZ^{-1/3})} ; \\
+   &=&  0 \quad {\rm if} \quad {\rm negative}.
+\end{eqnarray*}
+$\Phi_{e}$ represents the contribution of the electrons and can be expressed 
+as
+\begin{eqnarray*}
+  \Phi_{e} &=& \ln \frac {B'Z^{-2/3} \mu }
+   {\left(1+ \displaystyle\frac{\delta \mu}{m^{2} \sqrt{e}}\right)(m+ \delta
+\sqrt{e}
+B'Z^{-2/3})
+};  \\
+   &=&  0 \quad {\rm if} \quad \epsilon \geq \epsilon'_{\rm max} = E/(1+
+\mu^{2}/2mE); \\
+   &=&  0 \quad {\rm if} \quad {\rm negative}.    
+\end{eqnarray*}
+In $\Phi_n$ and $\Phi_e$, for all nuclei except hydrogen,
+\begin{eqnarray*}
+\delta &=& \mu^{2} \epsilon /2EE' = \mu^{2} v/2(E- \epsilon);\\
+D'_{n} &=& D_{n}^{(1-1/Z)}, \quad D_{n}= 1.54A^{0.27}; \\
+B &=& 183, \quad B'=1429, \quad \sqrt{e}=1.648(721271).
+\end{eqnarray*}
+%
+For hydrogen ($Z$=1) $B = 202.4,\: B' = 446, \: D_{n}' = D_{n}$.
+
+
+These formulae are taken mostly from Refs. \cite{brem.kel95} and 
+\cite{brem.kel97}.  They include improved nuclear size corrections in 
+comparison with Ref. \cite{brem.petr68} in the region $v \sim 1$ and low $Z$. 
+Bremsstrahlung on atomic electrons (taking into account target recoil and 
+atomic binding) is introduced instead of a rough substitution $Z(Z+1)$. 
+A correction for processes with nucleus excitation is also 
+included \cite{brem.andr94}.
+
+\subsubsection{Applicability and Restrictions of the Method}
+
+The above formulae assume that: \\
+1. $E \gg \mu $, hence the ultrarelativistic approximation is used; \\
+2. $E \leq 10^{20}$ eV; above this energy, LPM suppression can be expected;\\
+3. $v \geq 10^{-6}$ ; below $10^{-6}$ Ter-Mikaelyan suppression takes place.
+However, in the latter region the cross section of muon bremsstrahlung is 
+several orders of magnitude less than that of other processes.\\
+The Coulomb correction (for high $Z$) is not included. However, existing
+calculations \cite{brem.andr97} show that for muon bremsstrahlung this
+correction is small.
+
+\subsection{Continuous Energy Loss}
+
+The restricted energy loss for muon bremsstrahlung $(d E/ dx)_{\rm rest}$
+with relative transfers $v = \epsilon / (T+ \mu) \leq v_{\rm cut}$
+can be calculated as follows :
+$$
+\left(\frac{d E}{d x}\right)_{\rm rest}
+= \int_{0}^{\epsilon_{\rm cut}} \epsilon\,\sigma (E,\epsilon )\,d\epsilon
+=
+(T+\mu ) \int_{0}^{v_{\rm cut}}\epsilon\,\sigma (E,\epsilon)\,dv\,.
+$$
+% 
+If the user cut $v_{\rm cut} \geq v_{\rm max}=T/(T+ \mu)$, the total 
+average energy loss is calculated.  Integration is done using Gaussian
+quadratures, and binning provides an accuracy better than about 0.03\% for 
+$T = 1$ GeV, $Z=1$.  This rapidly improves with increasing $T$ and $Z$.
+
+
+\subsection{Total Cross Section}
+
+The integration of the differential cross section over $d\epsilon$ gives the
+total cross section for muon bremsstrahlung:
+\begin{equation}
+\label{mubrem.b}
+\sigma_{\rm tot} (E,\epsilon_{\rm cut})
+= \int_{\epsilon_{\rm cut}}^{\epsilon_{\rm max}}\sigma (E,\epsilon ) 
+d \epsilon  =
+ \int_{\ln v_{\rm cut}}^{\ln v_{\rm max}}\epsilon \sigma (E,\epsilon) 
+d(\ln v) ,
+\end{equation}
+where $v_{\rm max}=T/(T+ \mu)$.  If $v_{\rm cut} \geq v_{\rm max}$ ,
+$\sigma_{\rm tot}=0$.
+
+\subsection{Sampling}
+
+The photon energy $\epsilon_{p}$ is found by numerically solving the 
+equation :
+$$ P \:= \int_{\epsilon_{p}}^{\epsilon_{\rm max}}  \sigma (E,\epsilon,Z,A
+) \, d \epsilon  
+ \left/ \int_{\epsilon_{\rm cut}}^{\epsilon_{\rm max}}  
+ \sigma (E,\epsilon,Z,A ) \, d \epsilon\right. .
+$$
+Here $P$ is the random uniform probability, $\epsilon_{\rm max}=T$, and
+$\epsilon_{\rm cut}=(T+\mu) \cdot v_{\rm cut}$.  $v_{min.cut}=10^{-5}$ is 
+the minimal relative energy transfer adopted in the algorithm.
+
+For fast sampling, the solution of the above equation is tabulated at 
+initialization time for selected $Z$, $T$ and $P$.  During simulation, this
+table is interpolated in order to find the value of $\epsilon_{p}$ 
+corresponding to the probability $P$.
+
+The tabulation routine uses accurate functions for the differential cross 
+section.  The table contains values of 
+\begin{equation}
+\label{mubrem.c}
+ x_p = \ln (v_p / v_{\rm max})/\ln (v_{\rm max}/v_{\rm cut}) ,
+\end{equation}
+where $v_{p} = \epsilon_{p}/(T+ \mu)$ and $v_{\rm max} = T/(T+ \mu)$. 
+Tabulation is performed in the range 
+$1 \leq Z \leq 128$, $1 \leq T \leq 1000$~PeV, $10^{-5} \leq P \leq 1$
+with constant logarithmic steps.  Atomic weight (which is a required 
+parameter in the cross section) is estimated here with an iterative solution of the approximate relation:
+$$ A = Z\,(2+0.015\,A^{2/3}).$$
+For $Z=1$, $A=1$ is used.
+
+To find $x_{p}$ (and thus $\epsilon_{p}$) corresponding to a given 
+probability $P$, the sampling method performs a linear interpolation in 
+$\ln Z$ and $\ln T$, and a cubic, 4 point Lagrangian interpolation 
+in $\ln P$.  For $P \leq P_{\rm min}$, a linear interpolation in $(P,x)$ 
+coordinates is used, with $x = 0$ at $P = 0$.  Then the energy 
+$\epsilon_p$ is obtained from the inverse transformation of \ref{mubrem.c} :
+%
+$$\epsilon_{p} = (T+ \mu ) v_{\rm max} (v_{\rm max}/v_{\rm cut})^{x_{p}} $$
+%
+The algorithm with the parameters described above has been
+tested for various $Z$ and $T$. It reproduces the differential cross section
+to within 0.2 -- 0.7 \% for $T \geq 10$~GeV.  The average total energy loss 
+is accurate to within 0.5\%.  While accuracy improves with increasing $T$, 
+satisfactory results are also obtained for $1 \leq T \leq 10$~GeV.
+
+It is important to note that this sampling scheme allows the generation of
+$\epsilon_{p}$ for different user cuts on $v$ which are above
+$v_{\rm min.cut}$.  To perform such a simulation, it is sufficient to
+define a new probability variable
+%
+$$P' = P \: \sigma_{\rm tot} \: (v_{\rm user.cut}) / \sigma_{\rm tot} (v_{\rm 
+min.cut})$$
+%
+and use it in the sampling method.  Time consuming re-calculation of the 
+3-dimensional table is therefore not required because only the tabulation
+of $\sigma_{\rm tot}(v_{\rm user.cut})$ is needed.
+
+The small-angle, ultrarelativistic approximation is used for the simulation
+(with about 20\% accuracy at $\theta\le\theta^*\approx1$) of the angular
+distribution of the final state muon and photon.  Since the target recoil is
+small, the muon and photon are directed symmetrically (with equal transverse momenta and coplanar with the initial muon):
+\begin{equation}
+p_{\perp \mu} = p_{\perp \gamma}, \quad {\rm where} \quad p_{\perp \mu}=
+E' \theta_{\mu}, \quad p_{\perp \gamma} = \epsilon \theta_{\gamma} .
+\end{equation}
+$\theta_{\mu}$ and $\theta_{\gamma}$ are muon and photon emission angles.
+The distribution in the variable
+$r=E\theta_{\gamma}/\mu$ is given by
+\begin{equation}
+f(r) dr \sim r dr/(1+r^2)^2 .
+\end{equation}
+Random angles are sampled as follows:
+\begin{equation}
+\theta_{\gamma} = \frac{\mu}{E} r \quad
+\theta_{\mu} = \frac{\epsilon}{E'} \theta_{\gamma} ,
+\end{equation}
+where
+$$
+r=\sqrt{\frac{a}{1-a}}\,,\quad a=\xi\,\frac{r_{\rm \max}^2}{1+r_{\rm max}^2}\,,\quad
+r_{\max}=\min(1,E'/\epsilon)\cdot E\,\theta^*/\mu\,,$$
+and $\xi$ is a random number uniformly distributed between 0 and 1.
+
+\subsection{Status of this document}
+
+09.10.98 created by R.Kokoulin and A.Rybin\\
+17.05.00 updated by S.Kelner, R.Kokoulin and A.Rybin\\
+30.11.02 re-written by D.H. Wright\\
+
+\begin{latexonly}
+
+\begin{thebibliography}{599}
+
+\bibitem{brem.kel95}
+  S.R.Kelner, R.P.Kokoulin, A.A.Petrukhin. Preprint MEPhI 024-95, Moscow, 1995;
+CERN SCAN-9510048.
+\bibitem{brem.kel97}
+  S.R.Kelner, R.P.Kokoulin, A.A.Petrukhin. Phys. Atomic Nuclei, {\bf 60} (1997) 576.
+\bibitem{brem.petr68}
+  A.A.Petrukhin, V.V.Shestakov. Canad.J.Phys., {\bf 46} (1968) S377.
+\bibitem{brem.andr94}
+  Yu.M.Andreyev, L.B.Bezrukov, E.V.Bugaev. Phys. Atomic Nuclei, {\bf 57} (1994)
+2066.
+\bibitem{brem.andr97}
+  Yu.M.Andreev, E.V.Bugaev, Phys. Rev. D, {\bf 55} (1997) 1233. 
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item S.R.Kelner, R.P.Kokoulin, A.A.Petrukhin. Preprint MEPhI 024-95, Moscow, 
+1995; CERN SCAN-9510048.
+\item S.R.Kelner, R.P.Kokoulin, A.A.Petrukhin. Phys. Atomic Nuclei, {\bf 60} 
+(1997) 576.
+\item A.A.Petrukhin, V.V.Shestakov. Canad.J.Phys., {\bf 46} (1968) S377.
+\item Yu.M.Andreyev, L.B.Bezrukov, E.V.Bugaev. Phys. Atomic Nuclei, {\bf 57} 
+(1994) 2066.
+\item Yu.M.Andreev, E.V.Bugaev, Phys. Rev. D, {\bf 55} (1997) 1233. 
+\end{enumerate}
+
+\end{htmlonly}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/muons/muion.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/muons/muion.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/muons/muion.tex	(revision 1208)
@@ -0,0 +1,209 @@
+\section[Ionization]{Ionization}
+ 
+\subsection{Method}
+
+ The class $G4MuIonisation$ provides the continuous energy loss due to 
+ionization and simulates the 'discrete' part of the ionization, that is delta
+rays produced by muons. The approach described in Section \ref{en_loss} is used.
+The value of the maximum energy transferable to a free electron $T_{max}$ 
+is given by the following relation:
+\begin{equation}
+\label{muion.c}
+T_{max} =\frac{2mc^2(\gamma^2 -1)}{1+2\gamma (m/M)+(m/M)^2 } .
+\end{equation}
+Here $m$ is the electron mass and $M$ the muon mass.  The method of 
+calculation of the continuous energy loss and the total cross section are 
+explained below. 
+
+\subsection{Continuous Energy Loss}
+
+The integration of \ref{comion.a} leads to the Bethe-Bloch restricted energy 
+loss formula \cite{muion.pdg} :
+\begin{equation}
+\label{muion1}
+\left. \frac{dE}{dx} \right]_{T < T_{cut}} =
+       2 \pi r_e^2 mc^2 n_{el} \frac{(z_p)^2}{\beta^2}
+       \left [\ln \left(\frac{2mc^2 \beta^2 \gamma^2 T_{up}} {I^2} \right)
+       - \beta^2 \left( 1 + \frac{T_{up}}{T_{max}} \right)
+       - \delta - \frac{2C_e}{Z} \right ]
+\end{equation}
+ where
+\[
+\begin{array}{ll}
+r_e          & \mbox{classical electron radius:} 
+                  \quad e^2/(4 \pi \epsilon_0 mc^2 )        \\
+mc^2         & \mbox{mass-energy of the electron}           \\
+n_{el}       & \mbox{electrons density in the material}     \\
+I            & \mbox{mean excitation energy in the material}\\
+\gamma       & \mbox{$E/mc^2$}                              \\
+\beta^2      & 1-(1/\gamma^2)                               \\
+T_{up}       & \min(T_{cut},T_{max})                        \\
+\delta       & \mbox{density effect function}               \\
+C_e          & \mbox{shell correction function}
+\end{array}
+\]
+In a single element the electron density is
+$$ n_{el} = Z \: n_{at} = Z \: \frac{\mathcal{N}_{av} \rho}{A} $$
+($\mathcal{N}_{av}$: Avogadro number, $\rho$: density of the material, 
+ $A$: mass of a mole).  In a compound material
+$$ 
+n_{el} = \sum_i Z_i \: n_{ati} 
+       = \sum_i Z_i \: \frac{\mathcal{N}_{av} w_i \rho}{A_i} . 
+$$
+$w_i$ is the proportion by mass of the $i^{th}$ element, with molar mass 
+$A_i$.
+
+
+The mean excitation energy, $I$, for all elements is tabulated according to the
+ICRU recommended values \cite{muion.icru1}.
+
+\subsubsection{Density Correction}
+
+$\delta$ is a correction term which takes into account the reduction
+in energy loss due to the so-called {\it density effect}. This becomes
+important at high energy because media have a tendency to become
+polarised as the incident particle velocity increases. As a consequence,
+the atoms in a medium can no longer be considered as isolated. To correct
+for this effect the formulation of Sternheimer~\cite{muion.sternheimer}
+is used:
+\input{electromagnetic/utils/densityeffect}
+
+\subsubsection{Shell Correction}
+
+$2C_e/Z$ is the so-called {\it shell correction term} which accounts for the 
+fact that, at low energies for light elements and at all energies for heavy 
+ones, the probability of collision with the electrons of the inner atomic 
+shells (K, L, etc.) is negligible.  The semi-empirical formula used in
+{\sc Geant4}, applicable to all materials, is due to 
+Barkas \cite{muion.barkas}:
+\begin{equation}
+\label{muion2}
+C_e(I, \beta\gamma) = \frac{a(I)}{(\beta\gamma)^2}
+                     +\frac{b(I)}{(\beta\gamma)^4}
+                     +\frac{c(I)}{(\beta\gamma)^6} .
+\end{equation}
+The functions a(I), b(I), c(I) can be found in the source code.  This formula
+breaks down at low energies, and is valid only when 
+$\beta\gamma > 0.13$ ($T > 7.9$ MeV for a proton).  For $\beta\gamma \leq
+0.13$ the shell correction term is calculated as:
+\begin{equation}
+\label{muion3}
+\left . C_{e}(I,\beta\gamma) \rule{0mm}{5mm} \right |_{\beta\gamma \leq 0.13}
+ = C_{e}(I,\beta\gamma=0.13)\frac{\ln(T/T_{2l})}{\ln(7.9 \: \rm MeV/T_{2l})}
+\end{equation}
+i.e. the correction is switched off logarithmically from $T=7.9$ MeV
+to $T=T_{2l}=2$ MeV.
+
+
+\subsubsection{Parameterization}
+
+The mean energy loss can be described by the Bethe-Bloch formula
+(\ref{muion1}) only if the projectile velocity is larger than that of the
+orbital electrons.  In the low energy region this is not the case, and the 
+parameterization from the ICRU'49 report \cite{muion.ICRU49}
+is used in the $G4BraggModel$ class. The Bethe-Bloch model is applied to 
+muons of higher kinetic energies
+\begin{equation}
+\label{muion.1}
+T > 2 * M_{\mu}/M_{proton} MeV.
+\end{equation}
+The details of the low energy parameterization are described in 
+Section \ref{le_had_ion}.
+
+\subsection{Total Cross Section per Atom and Mean Free Path}
+
+For $T \gg I $ the differential cross section can be written as 
+\cite{muion.pdg} 
+\begin{equation}
+\label{muion.i}
+\frac{d\sigma }{dT} = 2\pi r_e^2 mc^2 Z \frac{z_p^2}{\beta^2} \frac{1}{T^2}
+     \left[ 1 - \beta^2 \frac{T}{T_{max}} + \frac{T^2}{2E^2} \right] . 
+\end{equation}
+In {\sc Geant4} $T_{cut} \geq 1$ keV.  Integrating from $T_{cut}$ to 
+$T_{max}$ gives the total cross-section per atom :
+\begin{eqnarray}
+\sigma (Z,E,T_{cut}) & = & \frac {2\pi r_e^2 Z z_p^2}{\beta^2}mc^2 \times 
+  \\ & &     \left[ \left( \frac{1}{T_{cut}} - \frac{1}{T_{max}} \right)
+                   - \frac{\beta^2}{T_{max}} \ln \frac{T_{max}}{T_{cut}}
+                   + \frac{T_{max} - T_{cut}}{2E^2}
+             \right] . \nonumber    
+\end{eqnarray}
+In a given material the mean free path is
+\begin{equation}
+\begin{array}{lll} 
+\lambda = (n_{at} \cdot \sigma)^{-1} & or &
+\lambda = \left( \sum_i n_{ati} \cdot \sigma_i \right)^{-1} . 
+\end{array}
+\end{equation}
+The mean free path is tabulated during initialization as a function of the
+material and of the energy of the incident muon.
+
+\subsection{Simulating Delta-ray Production}
+
+A short overview of the sampling method is given in Chapter \ref{secmessel}. 
+Apart from the normalization, the cross section \ref{muion.i} can be 
+factorized :
+\begin{eqnarray}
+\frac{d\sigma}{dT}=f(T) g(T) &with& T \in [T_{cut}, \ T_{max}]
+\end{eqnarray}
+where
+\begin{eqnarray}
+f(T) &=& \left(\frac{1}{T_{cut}} - \frac{1}{T_{max}} \right) \frac{1}{T^2} \\
+g(T) &=& 1 - \beta^2 \frac{T}{T_{max}} + \frac{T^2}{2E^2} .
+\end{eqnarray}
+The energy $T$ is chosen by
+\begin{enumerate}
+\item sampling $T$ from $f(T)$
+\item calculating the rejection function $g(T)$ and accepting the
+      sampled $T$ with a probability of $g(T)$.
+\end{enumerate}
+After successful sampling of the energy, the direction of the scattered 
+electron is generated with respect to the direction of the incident muon. 
+The azimuthal angle $\phi$ is generated isotropically.  The polar angle
+$\theta$ is calculated from energy-momentum conservation.  This information
+is used to calculate the energy and momentum of both scattered
+particles and to transform them into the {\em global} coordinate system.
+
+\subsection{Status of this document}
+  09.10.98  created by L. Urb\'an. \\
+  14.12.01  revised by M.Maire \\
+  30.11.02  re-worded by D.H. Wright \\
+  01.12.03 revised by V. Ivanchenko     \\
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+
+\bibitem{muion.pdg}
+  Particle Data Group. Rev. of Particle Properties.
+   Eur. Phys. J. C15. (2000) 1. http://pdg.lbl.gov  
+\bibitem{muion.icru1} 
+  ICRU Report No. 37 (1984)
+\bibitem{muion.sternheimer}
+  R.M.Sternheimer. Phys.Rev. B3 (1971) 3681.
+\bibitem{muion.barkas}
+  W. H. Barkas. Technical Report 10292,UCRL, August 1962.
+\bibitem{muion.ICRU49}ICRU (A.~Allisy et al),
+Stopping Powers and Ranges for Protons and Alpha
+Particles,
+ICRU Report 49, 1993.
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item Particle Data Group. Rev. of Particle Properties.
+   Eur. Phys. J. C15. (2000) 1. http://pdg.lbl.gov  
+\item ICRU Report No. 37 (1984)
+\item R.M.Sternheimer. Phys.Rev. B3 (1971) 3681.
+\item W.H. Barkas. Technical Report 10292,UCRL, August 1962.
+\item ICRU (A.~Allisy et al),
+Stopping Powers and Ranges for Protons and Alpha
+Particles, ICRU Report 49, 1993.
+\end{enumerate}
+
+\end{htmlonly}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/muons/munu.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/muons/munu.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/muons/munu.tex	(revision 1208)
@@ -0,0 +1,259 @@
+
+\section{Muon Photonuclear Interaction}
+
+%muon photonuclear interaction
+%(not deep inelastic scattering)
+
+The inelastic interaction of muons with nuclei is important at high muon 
+energies ($E \geq 10$~ GeV), and at relatively high energy transfers $\nu$ 
+($\nu / E \geq 10^{-2}$).  It is especially important for light materials
+and for the study of detector response to high energy muons, muon propagation
+and muon-induced hadronic background.  The average energy loss for this 
+process increases almost lineary with energy, and at TeV muon energies 
+constitutes about 10\% of the energy loss rate.\\
+
+\noindent 
+The main contribution to the cross section $\sigma ( E, \nu $) and energy 
+loss comes from the low $Q^{2}$--region ( $Q^{2} \ll 1~{\rm GeV}^{2}$).
+In this domain, many simplifications can be made in the theoretical
+consideration of the process in order to obtain convenient and simple
+formulae for the cross section.  Most widely used are the expressions given 
+by Borog and Petrukhin \cite{munu.bor75}, and Bezrukov and Bugaev 
+\cite{munu.bez81}.  Results from these authors agree within 10\% for the 
+differential cross section and within about 5\% for the average energy loss,
+provided the same photonuclear cross section, $\sigma_{\gamma N}$, is used 
+in the calculations.
+
+\subsection{Differential Cross Section}
+
+The Borog and Petrukhin formula for the cross section is based on:
+\begin{itemize}
+\item Hand's formalism \cite{munu.hand63} for inelastic muon scattering,
+\item a semi-phenomenological inelastic form factor, which is a Vector 
+Dominance Model with parameters estimated from experimental data, and 
+\item nuclear shadowing effects with a reasonable theoretical 
+parameterization \cite{munu.brod72}.
+\end{itemize}
+
+\noindent
+For $E\geq10$~GeV, the Borog and Petrukhin cross section 
+\mbox{(${\rm cm}^{2}$/g GeV)}, differential in transferred energy, is
+\begin{equation}
+\label{munu.1}
+\sigma(E,\nu ) = \Psi(\nu ) \Phi( E,v ) ,
+\end{equation}
+
+\begin{equation}
+\label{munu.2}
+\Psi(\nu) = \frac{\alpha}{\pi} \frac{A_{\rm eff} N_{AV}}{A}
+ \sigma_{\gamma N}(\nu) \frac{1}{\nu} ,
+\end{equation}
+
+\begin{equation}
+\label{munu.3}
+ \Phi(E,v) = v-1 + \left[1-v+\frac{v^{2}}{2} 
+ \left(1+\frac{2\mu^{2}}{\Lambda^{2}}\right)\right]
+ \ln\frac{\displaystyle\frac{E^{2}(1-v)}{\mu^{2}}\left(1+\displaystyle\frac{\mu^{2}
+v^{2}}{\Lambda^{2}(1-v)}\right)}
+{\displaystyle
+1+\frac{Ev}{\Lambda}\left(1+\frac{\Lambda}{2M}+\frac{Ev}{\Lambda}\right)},
+\end{equation}
+%
+where $\nu$ is the energy lost by the muon, $v = \nu /$E, and $\mu$ and $M$ 
+are the muon and nucleon (proton) masses, respectively.  $\Lambda$ is a 
+Vector Dominance Model parameter in the inelastic form factor which is 
+estimated to be $\Lambda^{2}=0.4 \;{\rm GeV}^{2}$. \\
+
+\noindent
+For $A_{\rm eff}$, which includes the effect of nuclear shadowing, the
+parameterization \cite{munu.brod72}
+\begin{equation}
+\label{munu.4}
+  A_{\rm eff} = 0.22 A + 0.78 A^{0.89}
+\end{equation}
+is chosen. \\
+
+\noindent
+A reasonable choice for the photonuclear cross section, $\sigma_{\gamma N}$,
+is the parameterization obtained by Caldwell et al. \cite{munu.cald79}
+based on the experimental data on photoproduction by real photons:
+\begin{equation}
+\label{munu.5}
+ \sigma_{\gamma N} = ( 49.2 + 11.1 \ln K + 151.8/ \sqrt{K} ) \cdot 10^{-30} {\rm cm}^{2} \quad K~~\mbox{in GeV} .
+\end{equation}
+The upper limit of the transferred energy is taken to be 
+$\nu_{\rm max}$ = $E - M/2$.  The choice of the lower limit $\nu_{\rm min}$ 
+is less certain since the formula \ref{munu.1}, \ref{munu.2}, \ref{munu.3} is 
+not valid in this domain.  Fortunately, $\nu_{\rm min}$ influences the total 
+cross section only logarithmically and has no practical effect on the average 
+energy loss for high energy muons.  Hence, a reasonable choice for 
+$\nu_{\rm min}$ is 0.2~GeV. \\
+
+\noindent
+In Eq.~\ref{munu.2}, $A_{\rm eff}$ and $\sigma_{\gamma N}$ appear as
+factors.  A more rigorous theoretical approach may lead to some dependence 
+of the shadowing effect on $\nu$ and $E$;  therefore in the differential 
+cross section and in the sampling procedure, this possibility is forseen 
+and the atomic weight $A$ of the element is kept as an explicit parameter. \\
+        
+\noindent         
+The total cross section is obtained by integration of Eq.~\ref{munu.1} 
+between $\nu_{\min}$ and $\nu_{\max}$;  to facilitate the computation, 
+a $\ln (\nu )$--substitution is used.
+
+\subsection{Sampling}
+
+\subsubsection{Sampling the Transferred Energy}
+
+The muon photonuclear interaction is always treated as a discrete process 
+with its mean free path determined by the total cross section.  The total
+cross section is obtained by the numerical integration of Eq.~\ref{munu.1} 
+within the limits $\nu_{\min}$ and $\nu_{\max}$.  The process is considered 
+for muon energies $1 \rm{GeV} \leq T \leq 1000 \rm{PeV}$, though it should 
+be noted that above 100~TeV the extrapolation (Eq.~\ref{munu.5}) of 
+$\sigma_{\gamma N}$ may be too crude. \\
+
+\noindent 
+The random transferred energy, $\nu_{p}$, is found from the numerical 
+solution of the equation :
+\begin{equation}
+\label{munu.6}
+P = \int_{\nu_{p}}^{\nu_{\rm max}}  \sigma(E,\nu ) d \nu 
+\left/ \int_{\nu_{\rm min}}^{\nu_{\rm max}} \sigma(E,\nu) d\nu \right. .
+\end{equation}
+%
+Here $P$ is the random uniform probability, with $\nu_{\rm max}= E-M/2$
+and $\nu_{\rm min}=0.2$~GeV. \\ 
+
+\noindent
+For fast sampling, the solution of Eq.~\ref{munu.6} is tabulated at 
+initialization time.  During simulation, the sampling method returns a value
+of $\nu_{p}$ corresponding to the probability $P$, by interpolating the 
+table.  The tabulation routine uses Eq.~\ref{munu.1} for the differential 
+cross section.  The table contains values of
+\begin{equation}
+\label{munu.7}
+ x_p = \ln (\nu_p / \nu_{\rm max})/\ln (\nu_{\rm max}/\nu_{\rm min}),
+\end{equation}
+calculated at each point on a three-dimensional grid with constant spacings 
+in $\ln (T)$, $\ln(A)$ and $\ln(P)$ .  The sampling uses linear 
+interpolations in $\ln(T)$ and $\ln(A)$, and a cubic interpolation in 
+$\ln(P)$.  Then the transferred energy is calculated from the inverse 
+transformation of Eq.~\ref{munu.7},
+$\nu_{p}=\nu_{\rm max}(\nu_{\rm max}/\nu_{\rm min})^{x_{p}}$. 
+Tabulated parameters reproduce the theoretical dependence to better than 
+2\% for $T > 1$~GeV and better than 1\% for $ T >10$~GeV.
+
+\subsubsection{Sampling the Muon Scattering Angle}
+
+According to Refs.~\cite{munu.bor75, munu.bor77}, in the region where the 
+four-momentum transfer is not very large ($Q^{2} \leq 3 {\rm GeV}^{2}$),
+the $t$~--~dependence of the cross section may be described as:
+\begin{equation}
+\label{munu.8}
+ \frac{d \sigma }{dt} \sim  \frac{(1- t / t_{\rm max}) }
+{t (1+t/ \nu^{2})(1+t/m^{2}_{0})} [(1-y)(1-t_{\rm min}/t)+y^{2}/2] , 
+\end{equation} 
+where $t$ is the square of the four-momentum transfer,
+$Q^{2} = 2 (EE' - PP'\cos\theta  - \mu^{2})$.  Also,
+$t_{\rm min} = (\mu y)^{2} / (1-y)$, $y=\nu /E$ and
+$t_{\rm max} = 2M\nu $.  $\nu = E-E'$ is the energy lost by the muon and 
+$E$ is the total initial muon energy.  $M$ is the nucleon (proton) mass and
+$m_{0}^{2} \equiv \Lambda^{2} \simeq 0.4\;{\rm GeV}^{2}$ is 
+a phenomenological parameter determing the behavior of the inelastic form
+factor.  Factors which depend weakly, or not at all, on $t$ are omitted. \\
+
+\noindent
+To simulate random $t$ and hence the random muon deflection angle, it is 
+convenient to represent Eq.~\ref{munu.8} in the form :
+%
+\begin{equation}
+\label{munu.9}
+ \sigma( t ) \sim f(t) g(t), 
+\end{equation}
+where
+\begin{eqnarray}
+\label{munu.10}
+f(t) = \frac{1}{t(1+ t/t_{1} )} , \\
+g(t) = \frac{1-t/t_{\max}}{1+t/t_{2}} \cdot
+\frac{(1-y)(1-t_{\min}/t)+y^{2}/2}
+{(1-y)+y^{2}/2}, \nonumber
+\end{eqnarray}
+and
+\begin{equation}
+\label{munu.11}
+ t_{1} = {\min} (\nu^{2}, m_{0}^{2}) \quad
+  t_{2} ={\max} (\nu^{2}, m_{0}^{2}) .
+\end{equation}
+  
+\noindent 
+$t_{P}$ is found analytically from Eq.~\ref{munu.10} :
+$$t_{P} = \frac{t_{\max}t_{1}}
+{\displaystyle(t_{\max}+t_{1})\left[\frac{t_{\max}(t_{\min}+t_{1})}
+{t_{\min}(t_{\max}+t_{1})}\right]^{P}-t_{\max}} ,
+$$  
+%
+where $P$ is a random uniform number between 0 and 1, which is accepted with 
+probability $g(t)$.  The conditions of Eq.~\ref{munu.11} make use of the 
+symmetry between $\nu^{2}$ and $m_{0}^{2}$ in Eq.~\ref{munu.8} and allow 
+increased selection efficiency, which is typically $\geq 0.7$.  The polar 
+muon deflection angle $\theta$ can easily be found from 
+\footnote{This convenient formula has been shown to the authors by 
+D.A. Timashkov.}
+
+$$\sin^{2}(\theta /2) = \frac {t_{P} - t_{\rm min}}
+{4\,(EE'- \mu^{2}) - 2\,t_{\rm min}}.  $$
+The hadronic vertex is generated by the hadronic processes taking
+into account the four-momentum transfer.
+
+\subsection{Status of this document}
+
+12.10.98 created by R.Kokoulin, A.Rybin.\\
+18.05.00 edited by S.Kelner, R.Kokoulin, and A.Rybin. \\
+07.12.02 re-worded by D.H. Wright \\
+30.08.04 correction of eq. 8.24 (to 1/sqrt) from H. Araujo \\
+%
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+
+\bibitem{munu.bor75} V.V.Borog and A.A.Petrukhin,
+               Proc. 14th Int.Conf. on Cosmic Rays, Munich,1975,
+               {\bf vol.6}, p.1949.
+\bibitem{munu.bez81} L.B.Bezrukov and E.V.Bugaev,
+               Sov. J. Nucl. Phys., {\bf 33}, 1981, p.635.
+\bibitem{munu.hand63} L.N.Hand. Phys. Rev., {\bf 129}, 1834 (1963).
+\bibitem{munu.brod72} S.J.Brodsky, F.E.Close and J.F.Gunion,
+                Phys. Rev. {\bf D6}, 177 (1972).
+\bibitem{munu.cald79} D.O. Caldwell et al., 
+               Phys. Rev. Lett., {\bf 42}, 553 (1979).
+\bibitem{munu.bor77} V.V.Borog, V.G.Kirillov-Ugryumov, A.A.Petrukhin,
+               Sov. J. Nucl. Phys., {\bf 25}, 1977, p.46.
+
+
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item V.V.Borog and A.A.Petrukhin,
+               Proc. 14th Int.Conf. on Cosmic Rays, Munich,1975,
+               {\bf vol.6}, p.1949.
+\item L.B.Bezrukov and E.V.Bugaev,
+               Sov. J. Nucl. Phys., {\bf 33}, 1981, p.635.
+\item L.N.Hand. Phys. Rev., {\bf 129}, 1834 (1963).
+\item S.J.Brodsky, F.E.Close and J.F.Gunion,
+                Phys. Rev. {\bf D6}, 177 (1972).
+\item D.O. Caldwell et al., 
+               Phys. Rev. Lett., {\bf 42}, 553 (1979).
+\item V.V.Borog, V.G.Kirillov-Ugryumov, A.A.Petrukhin,
+               Sov. J. Nucl. Phys., {\bf 25}, 1977, p.46.
+\end{enumerate}
+
+\end{htmlonly}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/muons/pair.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/muons/pair.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/muons/pair.tex	(revision 1208)
@@ -0,0 +1,348 @@
+
+\section{Positron - Electron Pair Production by Muons}
+
+Direct electron pair production is one of the most important muon interaction
+processes.  At TeV muon energies, the pair production cross section exceeds 
+those of other muon interaction processes over a range of energy transfers
+between 100 MeV and 0.1$E_{\mu}$.  The average energy loss for pair 
+production increases linearly with muon energy, and in the TeV region this 
+process contributes more than half the total energy loss rate.
+
+To adequately describe the number of pairs produced, the average energy loss
+and the stochastic energy loss distribution, the differential cross section 
+behavior over an energy transfer range of 
+5~MeV~$\leq \epsilon \leq $~0.1~$\cdot E_{ \mu }$ must be accurately 
+reproduced.  This is is because the main contribution to the total cross 
+section is given by transferred energies
+5 MeV $\leq $ $\epsilon $ $\leq $ 0.01 $\cdot E_{ \mu }$, and because the
+contribution to the average muon energy loss is determined mostly in the 
+region
+$0.001 \cdot E_{ \mu } \leq \epsilon \leq $ 0.1 $\cdot E_{\mu }$ .
+
+For a theoretical description of the cross section, the formulae of 
+Ref.~\cite{pair.koko69} are used, along with a correction for finite nuclear 
+size \cite{pair.koko71}.  To take into account electron pair production in 
+the field of atomic electrons, the inelastic atomic form factor contribution
+of Ref. \cite{pair.keln97} is also applied.
+
+
+\subsection{Differential Cross Section}
+
+\subsubsection{Definitions and Applicability}
+
+In the following discussion, these definitions are used:
+
+\begin{itemize}
+\item $m$ and $\mu$ are the electron and muon masses, respectively
+\item $E\equiv E_{\mu}$ is the total muon energy, $E = T +\mu $
+\item $Z$ and $A$ are the atomic number and weight of the material
+\item $\epsilon$ is the total pair energy or, approximately, the muon energy 
+  loss $(E-E')$
+\item $v = \epsilon/E$
+\item $e = 2.718\dots$
+\item $A^{\star} = 183$.
+\end{itemize}
+
+\noindent
+The formula for the differential cross section applies when: 
+
+\begin{itemize}
+\item $E_{\mu} \gg  \mu$ ($E \geq$ 2 -- 5 GeV) and 
+$E_{\mu} \leq 10^{15}$ -- $10^{17} $ eV.  If muon energies exceed this limit,
+the LPM (Landau Pomeranchuk Migdal) effect may become important, depending on 
+the material
+
+\item the muon energy transfer $\epsilon$ lies between 
+$\epsilon_{\rm min} = 4\,m$ and $\epsilon_{\rm max} = E_{\mu}- \frac{3 \sqrt{e}}{4}\,\mu \,Z^{1/3}$, although the formal lower limit is 
+$\epsilon\gg 2\, m$, and the formal upper limit requires $E'_{\mu }\gg\mu$.
+
+\item $Z \leq$ 40 -- 50.  For higher $Z$, the Coulomb correction is important
+but has not been sufficiently studied theoretically.
+\end{itemize}
+                       
+\subsubsection{Formulae}
+
+The differential cross section for electron pair production by muons
+$\sigma(Z,A,E,\epsilon)$ can be written as :
+\begin{equation}
+\label{mupair.a} 
+\sigma(Z,A,E,\epsilon)=\frac{4}{3\pi}\,\frac{Z(Z+\zeta )}
+{A}\, N_{A}\,(\alpha r_{0})^{2}\, \frac{1-v}{\epsilon}
+\int_{0}^{\rho_{\rm max}}G(Z,E,v,\rho)\,d\rho ,
+\end{equation}
+
+\noindent 
+where 
+$$G(Z,E,v,\rho ) = \Phi_e + (m/\mu)^2 \Phi_{\mu} , $$
+$$\Phi_{e,\mu} = B_{e,\mu} L'_{e,\mu} $$ and
+$$\Phi_{e,\mu} = 0 \quad {\rm whenever} \quad \Phi_{e,\mu} < 0 . $$
+
+\noindent 
+$B_{e}$ and $B_{\mu}$ do not depend on $Z,A$, and are given by
+
+$$B_{e}=[(2+\rho^{2})(1+\beta)+\xi(3+\rho^{2})]
+\ln\left(1+\frac{1}{\xi}\right)+\frac{1-\rho^{2}-\beta}{1+\xi}-(3+\rho^{2}) ; $$
+$$B_{e}\approx
+\frac{1}{2\xi}\,[(3-\rho^{2})+2\beta(1+\rho^{2})]\quad {\rm 
+for}\quad\xi\geq 10^{3};$$
+
+$$B_{\mu}=\left[(1+\rho^{2})
+\left(1+\frac{3\beta}{2}
+\right)-\frac{1}{\xi}(1+2\beta)
+(1-\rho^{2})\right]\ln(1+\xi )
+$$
+$$
++\frac{\xi(1-\rho^{2}-\beta)}{1+\xi}+
+(1+2\beta)(1-\rho^{2});$$
+$$B_{\mu}\approx\frac{\xi}{2}\,[(5-\rho^{2})+\beta(3+\rho^{2})]\quad{\rm 
+for}\quad\xi\leq10^{-3}
+;$$
+
+\noindent 
+Also,
+% $B_{e},\:B_{\mu}$ do not depend on $\,Z,\:A$.
+
+$$\xi=\frac{\mu^{2} v^{2}}{4m^{2}}\, \frac{(1-\rho^{2})}{(1-v)};\quad
+\beta=\frac{v^{2}}{2(1-v)};$$
+
+$$L'_{e}=\ln\frac{A^{*}Z^{-1/3}\sqrt{(1+\xi)(1+Y_{e})}}
+{1+\displaystyle\frac{2m\sqrt{e}A^{*}Z^{-1/3}(1+\xi)(1+Y_{e})}{Ev(1-\rho^{2})}}
+$$
+$$
+-\frac{1}{2}\ln\left[1+\left(\frac{3mZ^{1/3}}{2\mu}\right)^{2}(1+\xi)(1+Y_{e})\right];
+$$
+
+$$L'_{\mu}=\ln\frac{(\mu/m)A^{*}Z^{-1/3}\sqrt{(1+1/\xi)(1+Y_{\mu})}}
+{1+\displaystyle\frac{2m\sqrt{e}A^{*}Z^{-1/3}(1+\xi)(1+Y_{\mu})}{Ev(1-\rho^{2})}}
+$$
+$$
+-\ln\left[\frac{3}{2}\,Z^{1/3}\sqrt{(1+1/\xi)(1+Y_{\mu})}\right].
+$$
+%
+For faster computing, the expressions for $L'_{e,\mu }$ are
+further algebraically transformed.  The functions $L'_{e,\mu }$ include the 
+nuclear size correction \cite{pair.koko71} in comparison with parameterization
+\cite{pair.koko69} :
+%
+$$Y_{e}=\frac{5-\rho^{2}+4\,\beta\,(1+\rho^{2})}
+{2(1+3\beta)\ln(3+{1}/{\xi})-\rho^{2}-2\beta(2-\rho^{2})} ;$$
+
+$$Y_{\mu}=\frac{4+\rho^{2}+3\,\beta\,(1+\rho^{2})}
+{(1+\rho^{2})(\frac{3}{2}+2\beta)\ln(3+\xi)+1-\frac{3}{2}\,\rho^{2}};$$
+%$Y_{e,\mu}$~--~ approximations (\cite{pair.koko69}); there is
+%a possibility that they will be improved , as well as corrections (second
+% terms) in $L_{e,\mu}$.
+% 
+$$\rho_{\rm max}=[1-6\mu^{2}/E^{2}(1-v)]\sqrt{1-4m/Ev}.$$
+
+\subsubsection{Comment on the Calculation of the Integral $\int\!d\rho$ in 
+Eq.~\ref{mupair.a}}
+ 
+The integral $\int\limits_{0}^{\rho_{\max}}G(Z,E,v,\rho)~d\rho$ is computed 
+with the substitutions:
+\begin{eqnarray*}
+t&=& \ln(1-\rho),\\
+1 - \rho &= &\exp(t),\\
+1 + \rho& =& 2 - \exp(t),\\
+1 - \rho^{2} &=&e^{t}\,(2-e^{t}). 
+\end{eqnarray*}
+
+\noindent 
+After that,
+\begin{equation}
+\label{mupair.b}
+\int_{0}^{\rho_{\rm max}}G(Z,E,v,\rho)~d\rho = 
+\int_{t_{\rm min}}^{0}G(Z,E,v,\rho )\,e^{t}\,dt , 
+\end{equation}
+
+\noindent
+where
+
+$$t_{\rm
+min}=\ln\frac{\displaystyle\frac{4m}{\epsilon}+\frac{12\mu^{2}}{EE'}\left(1-\frac{4m}
+{\epsilon}\right)}
+{\displaystyle 1+\left(1-\frac{6\mu^{2}}{EE'}\right)\sqrt{1-\frac{4m}{\epsilon}}}.
+$$
+
+To compute the integral of Eq.~\ref{mupair.b} with an accuracy better than 
+0.5\%, Gaussian quadrature with $N=8$ points is sufficient.
+
+The function $\zeta(E,Z)$ in Eq.~\ref{mupair.a} serves to take into account 
+the process on atomic electrons (inelastic atomic form factor contribution).  
+To treat the energy loss balance correctly, the following approximation, 
+which is an algebraic transformation of the expression in 
+Ref.~\cite{pair.keln97}, is used:
+
+$$\zeta(E,Z)=\frac{\displaystyle 0.073\ln\frac{E/\mu}{ 
+1+\gamma_{1}Z^{2/3}E/\mu}
+-0.26}
+{\displaystyle 0.058\ln\frac{E/\mu}{1+\gamma_{2}Z^{1/3}E/\mu}
+-0.14}; $$
+$$\zeta(E,Z)=0\quad\mbox{if the numerator is negative.}$$
+
+\noindent
+For E $\leq 35\,\mu, ~ \zeta(E,Z)=0$.  Also
+$\gamma_{1}= 1.95\cdot 10^{-5} $ and $\gamma_{2}= 5.30\cdot 10^{-5} $.
+
+The above formulae make use of the Thomas-Fermi model which is not good
+enough for light elements.  For hydrogen ($Z = 1$) the following parameters
+must be changed: \\
+$A^{*}=183 ~\Rightarrow ~202.4;$\\
+$\gamma_{1}= 1.95\cdot 10^{-5}  ~\Rightarrow ~ 4.4\cdot 10^{-5};$\\
+$\gamma_{2}= 5.30\cdot 10^{-5}  ~\Rightarrow  ~4.8\cdot 10^{-5}.$\\
+
+\subsection{Total Cross Section and Restricted Energy Loss}
+
+If the user's cut for the energy transfer $\epsilon_{\rm cut}$ is
+greater than $\epsilon_{\min}$, the process is represented by
+continuous restricted energy loss for interactions with
+$\epsilon\le\epsilon_{\rm cut}$, and discrete collisions with
+$\epsilon>\epsilon_{\rm cut}$. Respective values of the total cross
+section and restricted energy loss rate are defined as:
+$$
+\sigma_{\rm tot}=\int_{\epsilon_{\rm cut}}^{\epsilon_{\max}}
+\sigma(E,\epsilon)\,d\epsilon;\quad
+(dE/dx)_{\rm restr}=\int_{\epsilon_{\min}}^{\epsilon_{\rm cut}}
+\epsilon\,\sigma(E,\epsilon)\,d\epsilon.
+$$ 
+For faster computing, $\ln\epsilon$ substitution and Gaussian quadratures are 
+used.
+
+\subsection{Sampling of Positron - Electron Pair Production}
+
+The e$^+$e$^-$ pair energy $\epsilon_P$, is found numerically by solving the
+equation
+\begin{equation}
+\label{mupair.c}
+ P = \int_{\epsilon_P}^{\epsilon_{\rm max}} \sigma (Z,A,T,\epsilon) d\epsilon
+ \quad /  \int_{cut}^{\epsilon_{\rm max}} \sigma (Z,A,T,\epsilon) d\epsilon
+\end{equation}
+or
+\begin{equation}
+\label{mupair.d}
+  1 - P = \int_{cut}^{\epsilon_P} \sigma (Z,A,T,\epsilon) d\epsilon 
+ \quad /  \int_{cut}^{\epsilon_{\rm max}} \sigma (Z,A,T,\epsilon) d\epsilon
+\end{equation}
+
+To reach high sampling speed, solutions of Eqs.~\ref{mupair.c}, \ref{mupair.d}
+are tabulated at initialization time.  Two 3-dimensional tables (referred to 
+here as A and B) of $\epsilon_{P}(P,T,Z)$ are created, and then interpolation
+is used to sample $\epsilon_P$.
+
+\noindent
+The number and spacing of entries in the table are chosen as follows:
+\begin{itemize}
+\item a constant increment in $\ln T$ is chosen such that there are four 
+points per decade in the range $T_{\rm min}- T_{\rm max}$.  The default range 
+of muon kinetic energies in Geant4 is $T=1\:{\rm GeV}-1000\:{\rm PeV}$.
+
+\item a constant increment in $\ln Z$ is chosen.  The shape of the sampling 
+distribution does depend on $Z$, but very weakly, so that eight points in the 
+range $1\leq Z\leq 128$ are sufficient.  There is practically no dependence 
+on the atomic weight $A$.
+
+\item for probabilities $P \leq 0.5$, Eq.~\ref{mupair.c} is used and Table~A 
+is computed with a constant increment in $\ln P$ in the range 
+$10^{-7}\leq P \leq 0.5$.  The number of points in $\ln P$ for Table~A is
+about 100.
+
+\item for $P \geq 0.5$, Eq.~\ref{mupair.d} is used and Table~B is computed
+with a constant increment in $\ln(1-P)$ in the range 
+$10^{-5} \leq (1-P) \leq 0.5$.  In this case 50 points are sufficient.
+\end{itemize}
+
+\noindent 
+The values of $\ln (\epsilon_{P}-cut$) are stored in both Table~A and Table~B. 
+
+
+To create the ``probability tables" for each $(T, Z)$ pair, the following 
+procedure is used:
+
+\begin{itemize}
+\item a temporary table of $\sim$ 2000 values of 
+$\epsilon \cdot \sigma(Z,A,T,\epsilon)$ is constructed with a constant
+increment ($\sim$ 0.02) in $\ln \epsilon$ in the range 
+$(cut, \epsilon_{\max})$.  $\epsilon$ is taken in the middle of the
+corresponding bin in $\ln \epsilon$.
+
+\item the accumulated cross sections
+$$\sigma_{1}=\int_{\ln\epsilon}^{\ln\epsilon_{\max}} 
+ \epsilon \, \sigma (Z,A,T,\epsilon)\, d (\ln\epsilon)  $$
+and
+ $$\sigma_{2}=\int_{\ln(cut)}^{\ln\epsilon} 
+ \epsilon \, \sigma (Z,A,T,\epsilon)\, d (\ln\epsilon )  $$
+
+are calculated by summing the temporary table over the values above 
+$\ln \epsilon$ (for $\sigma_1$) and below $\ln \epsilon$ (for $\sigma_2$)
+and then normalizing to obtain the accumulated probability functions.
+
+\item finally, values of $\ln(\epsilon_{P} - cut $) for corresponding values
+of $\ln P$ and $\ln (1-P)$ are calculated by linear interpolation of the 
+above accumulated probabilities to form Tables A and B.  The monotonic 
+behavior of the accumulated cross sections is very useful in speeding up
+the interpolation procedure. 
+
+\end{itemize}
+
+The random transferred energy corresponding to a probability $P$, is then 
+found by linear interpolation in $\ln Z$ and $\ln T$, and a cubic 
+interpolation in $\ln P$ for Table A or in $\ln (1-P)$ for Table B.
+For $P \leq 10^{-7}$ and $(1-P) \leq 10^{-5}$, linear extrapolation using
+the entries at the edges of the tables may be safely used.  Electron pair 
+energy is related to the auxiliary variable
+$x = \ln (\epsilon_{P} - cut)$ found by the trivial interpolation
+$\epsilon_{P} = e^{x} + cut$.
+
+Similar to muon bremsstrahlung (section \ref{secmubrem}), this sampling 
+algorithm does not re-initialize the tables for user cuts greater than 
+$cut_{min}$.  Instead, the probability variable is redefined as
+$$ P' = P \sigma_{\rm tot}(cut_{user}) / \sigma_{\rm tot}(cut_{min}),$$
+and $P'$ is used for sampling.
+
+In the simulation of the final state, the muon deflection angle (which is
+of the order of $m/E$) is neglected. The procedure for sampling the energy 
+partition between $e^+$ and $e^-$ and their emission angles is similar to 
+that used for the $\gamma \to e^+\,e^-$ conversion.
+
+\subsection{Status of this document}
+
+12.10.98 created by R.Kokoulin and A.Rybin\\
+18.05.00 edited by S.Kelner, R.Kokoulin, and A.Rybin\\
+27.01.03 re-written by D.H. Wright
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+ 
+\bibitem{pair.koko69} R.P.Kokoulin and A.A.Petrukhin,
+               Proc. 11th Intern. Conf. on Cosmic Rays, Budapest, 1969
+               [Acta Phys. Acad. Sci. Hung.,{\bf  29, Suppl.4},
+               p.277, 1970].
+
+\bibitem{pair.koko71} R.P.Kokoulin and A.A.Petrukhin,
+               Proc. 12th Int. Conf. on Cosmic Rays, Hobart, 1971,
+               {\bf vol.6}, p.2436.
+
+\bibitem{pair.keln97} S.R.Kelner, Phys. Atomic Nuclei, 
+  {\bf 61} (1998) 448.
+
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+ 
+\begin{enumerate}
+\item R.P.Kokoulin and A.A.Petrukhin,
+      Proc. 11th Intern. Conf. on Cosmic Rays, Budapest, 1969
+      [Acta Phys. Acad. Sci. Hung.,{\bf  29, Suppl.4}, p.277, 1970].
+
+\item R.P.Kokoulin and A.A.Petrukhin,
+      Proc. 12th Int. Conf. on Cosmic Rays, Hobart, 1971, {\bf vol.6}, p.2436.
+
+\item S.R.Kelner, Phys. Atomic Nuclei, {\bf 61} (1998) 448.
+\end{enumerate}
+
+\end{htmlonly}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/AnnihiToMuPair.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/AnnihiToMuPair.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/AnnihiToMuPair.tex	(revision 1208)
@@ -0,0 +1,169 @@
+\section{Positron - Electron Annihilation into Muon - Anti-muon}
+
+The class {\tt G4AnnihiToMuPair} simulates the electromagnetic production
+of muon pairs by the annihilation of high-energy positrons with atomic 
+electrons.  Details of the implementation are given below and can also be
+found in Ref. \cite{AnnihiToMuPair}.
+
+\subsection{Total Cross Section}
+
+The annihilation of positrons and target electrons producing muon pairs in 
+the final state (${\rm e}^+{\rm e}^- \to \mu^+\mu^-$) may give an
+appreciable contribution to the total number of muons produced in
+high-energy electromagnetic cascades.  The threshold positron energy in the 
+laboratory system for this process with the target electron at rest is
+\begin{equation}\label{e0}
+E_{\rm th}=2m_\mu^2/m_e-m_e\approx 43.69\:{\rm GeV}\,,
+\end{equation}
+where $m_\mu$ and $m_e$ are the muon and electron masses, respectively.
+The total cross section for the process on the electron is
+\begin{equation}\label{e1}
+\sigma=\frac{\pi\,r_\mu^2} 3\, \xi\left(1+\frac\xi2\right)
+\sqrt{1-\xi}\,,
+\end{equation}
+where $r_\mu=r_e\, m_e/m_\mu$ is the classical muon radius, 
+$\xi=E_{\rm th}/E$, and $E$ is the total positron energy in the laboratory 
+frame.  In Eq.\,\ref{e1}, approximations are made that utilize the 
+inequality $m_e^2\ll m_\mu^2$.
+
+\begin{figure}[htbp]
+\center
+\includegraphics[scale=0.8]{electromagnetic/standard/AnnihiToMuPair1.eps}
+\caption{Total cross section for the process 
+${\rm e}^+{\rm e}^- \rightarrow \mu^+\mu^-$ as a function of the positron 
+energy $E$ in the laboratory system.}
+\label{plot:AnnihiToMuPair1}
+\end{figure}
+\noindent
+The cross section as a function of the positron energy $E$ is shown in 
+Fig.\ref{plot:AnnihiToMuPair1}.  It has a maximum at 
+$E = 1.396 \, E_{\rm th}$ and the value at the maximum is 
+$\sigma_{\max}=0.5426\,r_\mu^2 = 1.008\,\mu{\rm b}$.
+
+\subsection{Sampling of Energies and Angles}
+
+It is convenient to simulate the muon kinematic parameters in the
+center-of-mass (c.m.) system, and then to convert into the laboratory 
+frame.
+
+The energies of all particles are the same in the c.m. frame and equal to
+\begin{equation}\label{e2}
+E_{\rm cm}=\sqrt{\frac12\,m_e(E+m_e)}\,.
+\end{equation}
+The muon momenta in the c.m. frame are 
+$P_{\rm cm}=\sqrt{E_{\rm cm}^2-m_\mu^2}$.  In what follows, let the cosine 
+of the angle between the c.m. momenta of the $\mu^+$ and $e^+$ be denoted as 
+$x=\cos\theta_{\rm cm}$ . 
+
+From the differential cross section it is easy to derive that, apart from
+normalization, the distribution in $x$ is described by
+\begin{equation}\label{e3}
+f(x)\,d x=(1+\xi+x^2\,(1-\xi))\,d x\,, \quad -1\le x \le1\,.
+\end{equation}
+The value of this function is contained in the interval 
+$(1+\xi)\le f(x)\le 2$ and the generation of $x$ is straightforward using 
+the rejection technique.  Fig.\,\ref{plot:AnnihiToMuPair2} shows both 
+generated and analytic distributions.
+\begin{figure}[htpb]
+\center
+\includegraphics[scale=.8]{electromagnetic/standard/AnnihiToMuPair2.eps}
+\caption{Generated histograms with $10^6$ entries each and the expected 
+$\cos\theta_{\rm cm}$ distributions (dashed lines) at $E=50$ and 500\,GeV 
+positron energy in the lab frame.  The asymptotic 
+$1+\cos\theta_{\rm cm}^2$ distribution valid for $E \rightarrow \infty$ is 
+shown as dotted line.}
+\label{plot:AnnihiToMuPair2}
+\end{figure}
+
+The transverse momenta of the $\mu^+$ and $\mu^-$ particles are the same,
+both in the c.m. and the lab frame, and their absolute values are equal to
+\begin{equation}\label{perp}
+P_\perp=P_{\rm cm} \, \sin\theta_{\rm cm}=P_{\rm cm} \, \sqrt{1-x^2}\,.
+\end{equation}
+The energies and longitudinal components of the muon momenta in the 
+lab system may be obtained by means of a Lorentz transformation.  The 
+velocity and Lorentz factor of the center-of-mass in the lab frame may be
+written as
+\begin{equation}\label{e5}
+\beta=\sqrt{\frac{E-m_e}{E+m_e}}\,,\quad \gamma\equiv\frac1{\sqrt{1-\beta^2}}=
+\sqrt{\frac{E+m_e}{2 m_e}} = \frac{E_{\rm cm}}{m_e}\,.
+\end{equation}
+The laboratory energies and longitudinal components of the momenta of the
+positive and negative muons may then be obtained:
+\begin{eqnarray}
+\label{e6}
+E_+&=&\gamma\,(E_{\rm cm}+x \, \beta \,P_{\rm cm})\,,\quad
+P_{+_\parallel}=\gamma\,(\beta E_{\rm cm} + x \, P_{\rm cm})\,, \\
+\label{e7}
+E_-&=&\gamma\,(E_{\rm cm}-x \, \beta \,P_{\rm cm})\,,\quad
+P_{-_\parallel}=\gamma\,(\beta E_{\rm cm} -x \, P_{\rm cm})\,.
+\end{eqnarray}
+Finally, for the vectors of the muon momenta one obtains:
+\begin{eqnarray}
+\label{e8}
+{\bf P}_+&=&(+P_\perp\cos\varphi ,+P_\perp \sin\varphi,P_{+_\parallel})\,,\\
+\label{e9}
+{\bf P}_-&=&(-P_\perp\cos\varphi,
+-P_\perp\sin\varphi,P_{-_\parallel})\,,
+\end{eqnarray}
+where $\varphi$ is a random azimuthal angle chosen between 0 and $2\,\pi$. 
+The $z$-axis is directed along the momentum of the initial positron in the
+lab frame.
+
+The maximum and minimum energies of the muons are given by
+\begin{equation}\label{e10}
+E_{\max}\approx\frac12\,E\left(1+\sqrt{1-\xi}\right)\,,
+\end{equation}
+\begin{equation}\label{e11}
+E_{\min}\approx\frac12\,E\left(1-\sqrt{1-\xi}\right)=
+\frac{\displaystyle
+E_{\rm th}}{\displaystyle 2\left(1+\sqrt{1-\xi} \right)}\,.
+\end{equation}
+The fly-out polar angles of the muons are approximately
+\begin{equation}\label{e12}
+\theta_+\approx P_{{}\perp}/P_{+_\parallel},\quad \theta_-\approx
+P_{{}\perp}/P_{-_\parallel}\,;
+\end{equation}
+the maximal angle $\displaystyle\theta_{\max}\approx\frac{m_e}{m_\mu}\,
+\sqrt{1-\xi}\,$ is always small compared to 1.
+\medskip
+
+\subsection*{Validity}
+
+The process described is assumed to be purely electromagnetic.  It is 
+based on virtual $\gamma$ exchange, and the $Z$-boson exchange and 
+$\gamma - Z$ interference processes are neglected.  The $Z$-pole corresponds 
+to a positron energy of $E = M_Z^2 / 2 m_e = 8136\,{\rm TeV}$.
+The validity of the current implementation is therefore restricted to 
+initial positron energies of less than about 1000\,TeV.
+
+\subsection{Status of this document}
+05.02.03 created by H.Burkhardt \\
+14.04.03 minor re-wording by D.H. Wright
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+
+\bibitem{AnnihiToMuPair}
+H.~Burkhardt, S.~Kelner, and R.~Kokoulin, ``Production of muon pairs in 
+annihilation of high-energy positrons with resting electrons,'' 
+CERN-AB-2003-002 (ABP) and CLIC Note 554, January 2003.
+
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+
+\item H.~Burkhardt, S.~Kelner, and R.~Kokoulin, ``Production of muon pairs in 
+annihilation of high-energy positrons with resting electrons,'' 
+CERN-AB-2003-002 (ABP) and CLIC Note 554, January 2003.
+
+\end{enumerate}
+
+\end{htmlonly}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/CVS/Entries	(revision 1208)
@@ -0,0 +1,19 @@
+D/MuPgen////
+D/plots////
+/AnnihiToMuPair.tex/1.4/Fri Dec 10 21:33:31 2004//
+/AnnihiToMuPair1.eps/1.1/Wed Feb  5 10:28:51 2003//
+/AnnihiToMuPair2.eps/1.1/Wed Feb  5 10:28:53 2003//
+/anniToHadrons.tex/1.4/Wed Jun 14 00:09:46 2006//
+/annil.tex/1.12/Wed Feb 21 11:37:52 2007//
+/compton.tex/1.14/Wed Feb 21 11:37:53 2007//
+/conv.eps/1.1/Thu Jan 17 18:36:00 2002//
+/conv.tex/1.14/Wed Feb 21 11:37:53 2007//
+/ebrem.tex/1.17/Wed Feb 21 11:37:53 2007//
+/eion.tex/1.15/Wed Feb 21 11:37:53 2007//
+/hion.tex/1.15/Sat Dec 11 08:08:50 2004//
+/msc.tex/1.37/Thu Mar 29 07:32:36 2007//
+/pai.tex/1.13/Thu Dec  8 21:49:31 2005//
+/photoelec.tex/1.10/Fri Dec 10 21:33:31 2004//
+/polarisation.tex/1.3/Wed Feb 21 11:37:53 2007//
+/sandia.tex/1.10/Fri Dec 10 21:33:32 2004//
+/synch.tex/1.10/Fri Dec 10 21:33:32 2004//
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/MuPgen/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/MuPgen/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/MuPgen/CVS/Entries	(revision 1208)
@@ -0,0 +1,15 @@
+/Fig1.eps/1.1/Tue May 28 14:28:02 2002//
+/Fig2.eps/1.1/Tue May 28 14:28:02 2002//
+/Fig3.eps/1.1/Tue May 28 14:28:03 2002//
+/MuPgen.tex/1.8/Fri Dec 10 21:32:46 2004//
+/PsiGen.eps/1.1/Tue May 28 14:28:03 2002//
+/SigApRat.eps/1.1/Tue May 28 14:28:03 2002//
+/SigTot.eps/1.1/Tue May 28 14:28:04 2002//
+/dsigdx.eps/1.1/Tue May 28 14:28:04 2002//
+/f1t_10.eps/1.1/Tue May 28 14:28:04 2002//
+/f1t_1000.eps/1.1/Tue May 28 14:28:05 2002//
+/f1tgen.eps/1.1/Tue May 28 14:28:05 2002//
+/rho.eps/1.1/Tue May 28 14:28:05 2002//
+/thetaPlus.eps/1.1/Tue May 28 14:28:05 2002//
+/xPlusGen.eps/1.1/Tue May 28 14:28:06 2002//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/MuPgen/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/MuPgen/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/MuPgen/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/MuPgen
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/MuPgen/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/MuPgen/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/MuPgen/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/MuPgen/MuPgen.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/MuPgen/MuPgen.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/MuPgen/MuPgen.tex	(revision 1208)
@@ -0,0 +1,625 @@
+\section[Gamma Conversion into a Muon - Anti-muon Pair]
+ {Gamma Conversion into a Muon - Anti-muon Pair}
+
+The class {\tt G4GammaConversionToMuons} simulates the process of gamma 
+conversion into muon pairs.  Given the photon energy and $Z$ and $A$ of the 
+material in which the photon converts, the probability for the conversions 
+to take place is calculated according to a parameterized total cross section.
+Next, the sharing of the photon energy between the $\mu^+$ and $\mu^-$ is
+determined.  Finally, the directions of the muons are generated.  Details of
+the implementation are given below and can be also found in\,\cite{MuPgen}.
+
+\subsection{Cross Section and Energy Sharing}
+In the field of the nucleus, muon pair production on atomic electrons,
+$\gamma+e\to e+\mu^+ +\mu^-$, has a threshold of
+$2m_\mu(m_\mu+m_e)/m_e\approx 43.9\;{\rm GeV}$ .
+%hbu check in MuonBkg.C  in fact 43.905 GeV
+Up to several hundred GeV this process has a much lower cross section than 
+the corresponding process on the nucleus.  At higher energies, the cross 
+section on atomic electrons represents a correction of $\sim 1/Z$ to the 
+total cross section.
+
+For the approximately elastic scattering considered here, momentum, but no 
+energy, is transferred to the nucleon.  The photon energy is fully shared 
+by the two muons according to
+\begin{equation}
+E_\gamma = E_\mu^+ + E_\mu^-
+\end{equation}
+or in terms of energy fractions
+\[ x_+ = \frac{E_\mu^+}{E_\gamma}, \qquad x_- = \frac{E_\mu^-}{E_\gamma}, \qquad x_+ + x_- = 1\;.
+\]
+The differential cross section for electromagnetic pair creation of muons in
+terms of the energy fractions of the muons is
+\begin{equation}
+\frac{d\sigma}{d x_+} = 4 \, \alpha \, Z^2 \, r_c^2
+\left(1-\frac43\,x_+x_-\right)\log(W)\;,
+\label{eq:dSigxPlus}
+\end{equation}
+where $Z$ is the charge of the nucleus, $r_c$ is the classical radius of the
+particles which are pair produced (here muons) and
+\begin{equation}
+W = W_\infty \;
+\frac{1+(D_n\sqrt{e}-2)\,\delta\,/m_\mu}{1+B \, Z^{-1/3}\, \sqrt e \,\delta\,/m_e}
+\label{eq:W}
+\end{equation}
+where
+\[
+W_\infty = \frac{B \, Z^{-1/3}}{D_n} \, \frac{m_\mu}{m_e} \qquad
+\delta = \frac{m_\mu^2}{2\,E_\gamma\,x_+x_-} \qquad 
+\sqrt{e}=1.6487\dots .
+\]
+\begin{eqnarray}
+\mbox{For hydrogen} \qquad B=202.4 \qquad D_n=&1.49 & \nonumber\\
+\mbox{and for all other nuclei} \qquad B=183 \qquad D_n=&1.54 \, A^{0.27}. & 
+\end{eqnarray}
+These formulae are obtained from the differential cross section for muon 
+bremsstrahlung \cite{Kelner:1995hu} by means of crossing relations.  The
+formulae take into account the screening of the field of the nucleus by the
+atomic electrons in the Thomas-Fermi model, as well as the finite size of 
+the nucleus, which is essential for the problem under consideration.
+%
+The above parameterization gives good results for $E_\gamma \gg m_\mu$.  The
+fact that it is approximate close to threshold is of little practical 
+importance.  Close to threshold, the cross section is small and the few low 
+energy muons produced will not travel very far.  The cross section 
+calculated from Eq.\,(\ref{eq:dSigxPlus}) is positive for 
+$E_\gamma > 4 m_\mu$ and
+\begin{equation}
+x_{\rm min} \leq x \leq x_{\rm max} \quad {\rm with} \quad
+x_{\rm min} = \frac12 - \sqrt{\frac{1}{4}-\frac{m_\mu}{E_\gamma}} \qquad
+x_{\rm max} = \frac12 + \sqrt{\frac{1}{4}-\frac{m_\mu}{E_\gamma}}\;,
+\end{equation}
+except for very asymmetric pair-production, close to threshold, which can 
+easily be taken care of by explicitly setting $\sigma = 0$ whenever 
+$\sigma < 0$.
+
+Note that the differential cross section is symmetric in $x_+$ and $x_-$ and
+that
+\[ x_+ x_- = x - x^2 \] 
+where $x$ stands for either $x_+$ or $x_-$.  By defining a constant
+\begin{equation}
+\sigma_0 = 4 \, \alpha \, Z^2 \, r_c^2 \log(W_\infty)\;
+\label{eq:sigma0}
+\end{equation}
+the differential cross section Eq.\,(\ref{eq:dSigxPlus}) can be rewritten 
+as a normalized and symmetric as function of $x$: 
+\begin{equation}
+\frac{1}{\sigma_0} \, \frac{d\sigma}{dx} = \left[ 1-\frac43 \,(x - x^2) \right]
+\, \frac{\log W}{\log W_\infty}\;.
+\label{eq:dSigdx}
+\end{equation}
+This is shown in Fig.\,\ref{plot:dsigdx} for several elements and a wide 
+range of photon energies.  The asymptotic differential cross section for 
+$E_\gamma \rightarrow \infty$
+\[  \frac{1}{\sigma_0} \, \frac{d\sigma_\infty}{dx} = 1-\frac43 \,(x - x^2) \]
+is also shown.
+\begin{figure}[htpb]
+\center\includegraphics[scale=.65]{electromagnetic/standard/MuPgen/dsigdx.eps}
+\caption{Normalized differential cross section for pair production as a 
+function of $x$, the energy fraction of the photon energy carried by one of 
+the leptons in the pair.  The function is shown for three different 
+elements, hydrogen, beryllium and lead, and for a wide range of photon 
+energies.}
+\label{plot:dsigdx}
+\end{figure}
+
+\subsection{Parameterization of the Total Cross Section}
+The total cross section is obtained by integration of the differential 
+cross section Eq.\,(\ref{eq:dSigxPlus}), that is
+\begin{equation}
+\sigma_{\rm tot}(E_\gamma) = \int_{x_{\rm min}}^{x_{\rm max}} \frac{d\sigma}{d x_+} \, d x_+
+= 4 \, \alpha \, Z^2 \, r_c^2 \, \int_{x_{\rm min}}^{x_{\rm max}}\left(1-\frac43\,x_+x_-\right)\log(W) \, d x_+ \;.
+\label{eq:sigmatot}
+\end{equation}
+$W$ is a function of ($x_+, E_\gamma$) and ($Z, A$) of the element 
+(see Eq.\,(\ref{eq:W})).  Numerical values of $W$ are given in 
+Table\,\ref{tab:W}.
+
+\begin{table}[htbp]\center
+\caption{Numerical values of $W$ for $x_+=0.5$ for different elements.}
+\label{tab:W}\vskip 1mm
+\begin{tabular}{|c|c|c|c|c|} \hline
+$E_\gamma$ & W for H & W for Be & W for Cu & W for Pb \\
+ GeV      & & & & \\ \hline
+     1    & 2.11  & 1.594  & 1.3505 & 5.212 \\
+    10    & 19.4  & 10.85  & 6.803 & 43.53  \\
+   100    & 191.5 & 102.3  & 60.10 & 332.7  \\
+  1000    & 1803  & 919.3  & 493.3 & 1476.1 \\
+ 10000    & 11427 & 4671   & 1824  & 1028.1 \\
+ $\infty$ & 28087 & 8549   & 2607  & 1339.8 \\ \hline
+\end{tabular}
+\end{table}
+%
+Values of the total cross section obtained by numerical integration are 
+listed in Table\,\ref{tab:sigmatot} for four different elements.  Units are 
+in $\mu{\rm barn}\,$, where $1\,\mu{\rm barn} = 10^{-34}\,{\rm m}^2\,$.
+%
+\begin{table}[htbp]\center
+\caption{Numerical values for the total cross section}
+\label{tab:sigmatot}\vskip 1mm
+\begin{tabular}{|c|c|c|c|c|} \hline
+$E_\gamma$ & $\sigma_{\rm tot}$, H & $\sigma_{\rm tot}$, Be & $\sigma_{\rm tot}$, Cu & $\sigma_{\rm tot}$, Pb \\
+ GeV      & $\mu{\rm barn}\,$       & $\mu{\rm barn}\,$       & $\mu{\rm barn}\,$       & $\mu{\rm barn}\,$      \\ \hline
+     1    & 0.01559 & 0.1515 & 5.047 & 30.22 \\
+    10    & 0.09720 & 1.209  & 49.56 & 334.6 \\
+   100    & 0.1921  & 2.660  & 121.7 & 886.4 \\
+  1000    & 0.2873  & 4.155  & 197.6 & 1476  \\
+ 10000    & 0.3715  & 5.392  & 253.7 & 1880  \\
+ $\infty$ & 0.4319  & 6.108  & 279.0 & 2042  \\ \hline
+\end{tabular}
+\end{table}
+%
+\begin{figure}[htpb]
+\center\includegraphics[scale=.7]{electromagnetic/standard/MuPgen/SigTot.eps}
+\caption{Total cross section for the Bethe-Heitler process 
+$\gamma \rightarrow \mu^+\mu^-$ as a function of the photon energy 
+$E_\gamma$ in hydrogen and lead, normalized to the asymptotic cross section 
+$\sigma_\infty$.}
+\label{plot:SigTot}
+\end{figure}
+
+\noindent
+Well above threshold, the total cross section rises about linearly in 
+$\log(E_\gamma)$ with the slope
+\begin{equation}
+W_M = \frac{1}{4\, D_n \, \sqrt e \,m_\mu}
+\end{equation}
+until it saturates due to screening at $\sigma_\infty$.  
+Fig.\,\ref{plot:SigTot} shows the normalized cross section where
+\begin{equation}
+\sigma_\infty = \frac79 \, \sigma_0 \qquad {\rm and} \qquad \sigma_0 = 4 \, \alpha \, Z^2 \, r_c^2 \, \log(W_\infty)\;.
+\end{equation}
+Numerical values of $W_M$ are listed in Table\,\ref{tab:WM}.
+
+\begin{table}[htbp]\center
+\caption{Numerical values of $W_M$.}
+\label{tab:WM}\vskip 1mm
+\begin{tabular}{|c|c|} \hline
+Element & $W_M$ \\
+        & 1/GeV \\ \hline
+H       & 0.963169 \\
+Be      & 0.514712 \\
+Cu      & 0.303763 \\
+Pb      & 0.220771 \\
+\hline
+\end{tabular}
+\end{table}
+
+
+The total cross section can be parameterized as
+\begin{equation}
+\sigma_{\rm par} = \frac{28 \, \alpha \, Z^2 \, r_c^2}{9}  \; \log(1 + W_M C_f E_g)\;,
+\label{eq:sigpar}
+\end{equation}
+with
+\begin{equation}
+E_g = \left(1-\frac{4 m_\mu}{E_\gamma}\right)^{t}
+\left(W_{\rm sat}^{s} + E_\gamma^{s} \right)^{1/s}\;.
+\end{equation}
+and
+\[
+W_{\rm sat} = \frac{W_\infty}{W_M} = B \, Z^{-1/3} \, \frac{4\,\sqrt e \,m_\mu^2 }{m_e}\;.
+\]
+The threshold behavior in the cross section was found to be well 
+approximated by $t = 1.479 + 0.00799 D_n $ and the saturation by
+$ s = -0.88 $.  The agreement at lower energies is improved using an 
+empirical correction factor, applied to the slope $W_M$, of the form
+\[
+C_f = \left[ 1 + 0.04 \log \left(1+\frac{E_c}{E_\gamma}\right)\right]\;,
+\]
+where
+\[ E_c = \left[ -18.+\frac{4347.}{B \, Z^{-1/3}}\right] \;{\rm GeV}\;.
+\]
+A comparison of the parameterized cross section with the numerical 
+integration of the exact cross section shows that the accuracy of the 
+parametrization is better than 2\%, as seen in Fig.\,\ref{plot:SigApRat}.
+\begin{figure}[htpb]
+\center\includegraphics[scale=.8333]{electromagnetic/standard/MuPgen/SigApRat.eps}
+\caption{Ratio of numerically integrated and parametrized total cross 
+sections as a function of $E_\gamma$ for hydrogen, beryllium, copper and 
+lead.}
+\label{plot:SigApRat}
+\end{figure}
+
+\subsection{Multi-differential Cross Section and Angular Variables}
+The angular distributions are based on the multi-differential cross section
+for lepton pair production in the field of the Coulomb center
+\[
+\frac{d\sigma}{dx_+ \, du_+ \, du_-\,d\varphi} = \frac{4\,Z^2\alpha^3}{\pi}\,\frac{m_\mu^2}{q^4}\,u_+\,u_-
+\]
+\[
+\left\{ \frac{u_+^2+u_-^2}{(1+u_+^2)\,(1+u_-^2)} -2x_+x_- \right.
+\]
+\begin{equation}
+\left.
+\left[\frac{u_+^2}{(1+u_+^2)^2}+\frac{u_-^2}{(1+u_-^2)^2}\right]
+-\frac{2u_+u_-(1-2x_+x_-)\,\cos\varphi}{(1+u_+^2)\,(1+u_-^2)}
+\right\} \,. \\
+\label{eq:MultiDiff}
+\end{equation}
+Here
+\begin{equation}
+u_\pm = \gamma_\pm \theta_\pm \quad , \qquad \gamma_\pm = \frac{E_\mu^\pm}{m_\mu}
+\quad,\qquad q^2=q_{\parallel}^2+q_{\perp}^2\quad, %new
+\label{eq:uthetagamma}
+\end{equation}
+where
+\begin{eqnarray}
+  q_{\parallel}^2=q_{\min}^2\,(1+x_-u_+^2+x_+u_-^2)^2\,, \nonumber \\
+  q_{\perp}^2=m_\mu^2\left[(u_+-u_-)^2+2\,u_+u_-(1-\cos\varphi)
+  \right]\,. \,
+\label{eq:q2}
+\end{eqnarray}
+$q^2$ is the square of the momentum ${\bf q}$ transferred to the target 
+and $q_{\parallel}^2$ and $q_{\perp}^2$ are the squares of the components 
+of the vector ${\bf q}$, which are parallel and perpendicular to the 
+initial photon momentum, respectively.
+The minimum momentum transfer is 
+$q_{\min}=m_\mu^2/(2E_\gamma \, x_+x_-)$.\\
+
+The muon vectors have the components
+\begin{equation}
+  \begin{array}{rcl}\displaystyle
+  {\bf p}_+&=&p_+\,(\;\;\;\sin\theta_+\cos(\varphi_0+\varphi/2)\,,\,\;\;\;\sin\theta_+\sin(\varphi_0+\varphi/2)\,,\,\cos\theta_+)\,,\\ 
+  {\bf p}_-&=&p_-\,(     -\sin\theta_-\cos(\varphi_0-\varphi/2)\,,\,     -\sin\theta_-\sin(\varphi_0-\varphi/2)\,,\,\cos\theta_-)\,,
+  \end{array}
+\label{eq:pvec}
+\end{equation}
+where $p_{\pm}=\sqrt{E_{\pm}^2-m_\mu^2}$.
+The initial photon direction is taken as the $z$-axis.
+The cross section of Eq.\,(\ref{eq:MultiDiff}) does not depend on 
+$\varphi_0$.  Because of azimuthal symmetry, $\varphi_0$ can simply be 
+sampled at random in the interval $(0,\,2\,\pi)$.
+
+Eq.\,(\ref{eq:MultiDiff}) is too complicated for efficient Monte Carlo 
+generation.  To simplify, the cross section is rewritten to be symmetric
+in $u_+$, $u_-$ using a new variable $u$ and small parameters $\xi,\beta$, 
+where $u_\pm=u \pm \xi/2$ and $\beta = u \,\varphi$.  When higher powers 
+in small parameters are dropped, the differential cross section in terms 
+of $u,\xi,\beta$ becomes
+\begin{eqnarray}
+\label{mupgen.a}
+ \frac{d\sigma}{dx_+ \, d\xi \, d\beta\, u du} & = & \frac{4\,Z^2\alpha^3}{\pi}
+\frac{m_\mu^2}{\left(q_{\parallel}^2+m_\mu^2(\xi^2+\beta^2)\right)^2} \\
+& &   \left\{\xi^2\left[\frac1{(1+u^2)^2}-2\,x_+x_-\,\frac{(1-u^2)^2}{(1+u^2)^4}\right]+
+  \frac{\beta^2(1-2x_+x_-)}{(1+u^2)^2}\right\}\,, \nonumber
+\label{eq:MultiDiff2}
+\end{eqnarray}
+where, in this approximation,
+$$
+q_{\parallel}^2=q_{\min}^2\,(1+u^2)^2\,.\,
+$$
+For Monte Carlo generation, it is convenient to replace ($\xi,\beta$) by 
+the polar coordinates ($\rho,\psi$) with $\xi=\rho\,\cos\psi$ and 
+$\beta=\rho\,\sin\psi$.  Integrating Eq.~\ref{mupgen.a} over $\psi$ and 
+using symbolically $du^2$ where $du^2 = 2 u \, du$ yields
+\begin{equation}
+\label{mupgen.b}
+\frac{d\sigma}{dx_+\,d\rho\,du^2} =\frac{4Z^2\alpha^3}{m_\mu^2}\,\frac{\rho^3}{(q_{\parallel}^2/m_\mu^2+\rho^2)^2}
+\,\,\left\{\frac{1-x_+x_-}{(1+u^2)^2}-\frac{x_+x_-(1-u^2)^2}{(1+u^2)^4}\right\}.\,
+\end{equation}
+Integration with logarithmic accuracy over $\rho$ gives
+\begin{equation}\label{q4}
+\int\!\frac{\rho^3\,d\rho}{(q_{\parallel}^2/m_\mu^2+\rho^2)^2}
+\approx \int\limits_{q_{\parallel}/m_\mu}^1\!\frac{d\rho}{\rho}
+=\log\left(\frac{m_\mu}{q_{\parallel}}\right)\,.
+\end{equation}
+Within the logarithmic accuracy, $\log(m_\mu/q_{\parallel})$ can be 
+replaced by $\log(m_\mu/q_{\min})$, so that
+\begin{equation}
+\frac{d\sigma}{dx_+\,du^2}=\frac{4\,Z^2\alpha^3}{m_\mu^2}\,
+\left\{\frac{1-x_+x_-}{(1+u^2)^2}-\frac{x_+x_-(1-u^2)^2}{(1+u^2)^4}\right\}\,
+\log\left(\frac{m_\mu}{q_{\min}}\right)\,.
+\end{equation}
+Making the substitution $u^2 = 1/t -1$, $du^2 = -dt \, / t^2$ gives
+\begin{equation}
+\frac{d\sigma}{dx_+\,dt}=\frac{4\,Z^2\alpha^3}{m_\mu^2}\,
+\left[1-2\,x_+x_-+4\,x_+x_-t\,(1-t)\right]\,
+\log\left(\frac{m_\mu}{q_{\min}}\right) . \,
+\label{eq:sigmadxdt}
+\end{equation}
+Atomic screening and the finite nuclear radius may be taken into account by 
+multiplying the differential cross section determined by 
+Eq.\,(\ref{eq:MultiDiff2}) with the factor
+\begin{equation}\label{q5}
+  \left(F_a(q)-F_n(q)\,\right)^2\,,
+\end{equation}
+where $F_a$ and $F_n$ are atomic and nuclear form factors.
+Please note that after integrating Eq.~\ref{mupgen.b} over $\rho$, the 
+$q$-dependence is lost.
+
+\subsection{Procedure for the Generation of Muon - Anti-muon Pairs}
+
+Given the photon energy $E_\gamma$ and $Z$ and $A$ of the material in which 
+the $\gamma$ converts, the probability for the conversions to take place is 
+calculated according to the parametrized total cross section 
+Eq.\,(\ref{eq:sigpar}).  The next step, determining how the photon energy
+is shared between the $\mu^+$ and $\mu^-$, is done by generating $x_+$ 
+according to Eq.\,(\ref{eq:dSigxPlus}).  The directions of the muons are 
+then generated via the auxilliary variables $t,\,\rho,\,\psi$.  In more
+detail, the final state is generated by the following five steps, in which
+$R_{1,2,3,4,...}$ are random numbers with a flat distribution in the 
+interval [0,1]. The generation proceeds as follows.
+\\ \\
+{\bf 1)} Sampling of the positive muon energy $E_\mu^+ = x_+ \, E_\gamma$. \\
+This is done using the rejection technique.
+$x_+$ is first sampled from a flat distribution within kinematic limits 
+using
+\[ x_+ = x_{\rm min} + R_1 (x_{\rm max} - x_{\rm min}) \]
+and then brought to the shape of Eq.\,(\ref{eq:dSigxPlus}) by keeping all 
+$x_+$ which satisfy 
+\[ \left(1-\frac43\,x_+x_-\right)\frac{\log(W)}{\log(W_{\rm max})} < R_2 \,. \]
+Here $W_{\rm max}= W(x_+=1/2)$ is the maximum value of $W$, obtained for 
+symmetric pair production at $x_+=1/2$.  About 60\% of the events are kept 
+in this step.  Results of a Monte Carlo generation of $x_+$ are illustrated 
+in Fig.\,\ref{plot:xPlusGen}.  The shape of the histograms agrees with the 
+differential cross section illustrated in Fig.\,\ref{plot:dsigdx}.
+\begin{figure}[htpb]
+\center\includegraphics[scale=.7]{electromagnetic/standard/MuPgen/xPlusGen.eps}
+\caption{Histogram of generated $x_+$ distributions for beryllium at three 
+different photon energies.  The total number of entries at each energy is 
+$10^6$.}
+\label{plot:xPlusGen}
+\end{figure}
+\\ \\
+{\bf 2)} Generate $t ( = \frac{1}{\gamma^2 \theta^2 + 1} )$ . \\
+The distribution in $t$ is obtained from Eq.(\ref{eq:sigmadxdt}) as
+\begin{equation}\label{t}
+f_1(t)\,dt=\frac{1-2\,x_+x_-+4\,x_+x_-t\,(1-t)}
+{1+C_1/t^2}\,dt\,,\quad 0<t\le 1\,.
+\end{equation}
+with form factors taken into account by
+\begin{equation}\label{C_1}
+C_1=
+\frac{(0.35\,A^{0.27})^2}{x_+x_-\,E_\gamma/m_\mu }\,.
+\end{equation}
+In the interval considered, the function $f_1(t)$ will always be bounded 
+from above by
+\[
+\max [f_1(t)]=\frac{1-x_+x_-}{1+C_1}\;.\,
+\]
+For small $x_+$ and large $E_\gamma$, $f_1(t)$ approaches unity, as shown
+in Fig.\,\ref{f1t.eps}.
+\begin{figure}[htpb]
+\includegraphics[scale=.65]{electromagnetic/standard/MuPgen/f1t_10.eps}\hfill\includegraphics[scale=.65]{electromagnetic/standard/MuPgen/f1t_1000.eps}
+  \caption{The function $f_1(t)$ at $E_\gamma = 10\,{\rm GeV}$ (left) and
+  $E_\gamma = 1\,{\rm TeV}$ (right) in beryllium for different values of 
+  $x_+$.}
+\label{f1t.eps}
+\end{figure}
+
+\begin{figure}[htpb]
+% \begin{minipage}[t]{7.5cm}
+% \includegraphics[scale=.62]{electromagnetic/standard/MuPgen/f1tgen.eps}
+  \center\includegraphics[scale=.8]{electromagnetic/standard/MuPgen/f1tgen.eps}
+ \caption{Histograms of generated $t$ distributions for 
+  $E_\gamma = 10\,{\rm GeV}$ (solid line) and 
+  $E_\gamma = 100\,{\rm GeV}$ (dashed line) with $10^6$ events each.}
+ \label{f1t_gen.eps}
+% \end{minipage}
+\end{figure}
+% \hfill
+\begin{figure}[htpb]
+%  \begin{minipage}[t]{7.5cm}
+% { \center\includegraphics[scale=.6]{electromagnetic/standard/MuPgen/PsiGen.eps}
+  \center\includegraphics[scale=.8]{electromagnetic/standard/MuPgen/PsiGen.eps}
+  \caption{Histograms of generated $\psi$ distributions for beryllium at 
+  four different photon energies.}
+  \label{plot:PsiGen.eps}
+% }
+% \end{minipage}
+\end{figure}
+
+\noindent
+The Monte Carlo generation is done using the rejection technique.  About 
+70\% of the generated numbers are kept in this step.  Generated 
+$t$-distributions are shown in Fig.\,\ref{f1t_gen.eps}.
+\\ \\
+{\bf 3)} Generate $\psi$ by the rejection technique using $t$ generated in 
+the previous step for the frequency distribution
+\begin{equation}\label{q3}
+f_2(\psi) =\Big[1-2\,x_+x_-+4\,x_+x_-t\,(1-t)\,(1+\cos(2\psi))\Big]\;, \qquad 0\le\psi\le2\pi\,.
+\end{equation}
+The maximum of $f_2(\psi)$ is
+\begin{equation}
+\max [f_2(\psi)]=1-2\,x_+x_-\left[1-4\,t\,(1-t)\right]\,.\,
+\end{equation}
+Generated distributions in $\psi$ are shown in Fig.\,\ref{plot:PsiGen.eps}.
+\\ \\
+{\bf 4)} Generate $\rho$. \\
+%old The frequency distribution to generate is
+%old \begin{equation}
+%old f_2(\rho^2) = \frac{1}{\rho^2 + \kappa^2} \qquad  0 \leq \rho^2 \leq 1
+%old \end{equation}
+%old where $\kappa^2=1/W$ with the value of $W$ calculated in step 1. % according to Eq.\,\ref{eq:W}.
+%old The distribution can be generated by direct transformation.
+%old By integration
+%old \[
+%old F_2(x) = \int_0^x f_2(\rho^2) \, d \rho^2 = \log\left(1 + \frac{x}{\kappa^2} \right)
+%old \]
+%old with the inverse
+%old \[
+%old F_2^{-1}(x) =  \kappa^2 \, \left(e^x -1\right)\;.
+%old \]
+%old This is mapped by linear transform $a + b x$ to the range
+%old $(0,1)$ of the standard random generator.
+%old From
+%old \[ x=0 \quad : \qquad F_2^{-1}(a + b x) = \kappa^2 \, \left(e^a -1\right) = 0 \qquad  \Rightarrow \qquad a=0 \]
+%old and 
+%old \[ x=1 \quad : \qquad F_2^{-1}(a + b x) = \kappa^2 \, \left(e^b -1\right) = 1 \qquad  \Rightarrow \qquad 
+%old b=\log\left( 1+1/\kappa^2\right) = \log\left( 1+W^2\right) \; .\]
+%old The direct transformation $F_2^{-1}(a + b \, R)$, applied to the flat random distribution $R$ to generate $\rho^2$
+%old is therefore
+%old \begin{equation}
+%old \rho^2 = \kappa^2 \left(e^{R \log\left( 1+1/\kappa^2\right)} -1\right)
+%old = \kappa^2 \, \left[ \left( 1+1/\kappa^2\right)^R -1 \right]
+%old = \frac{\left( 1+W^2\right)^R -1 }{W^2} \;.
+%old \end{equation}
+%old Generated distributions in $\rho^2$ are shown in Fig.\,\ref{plot:rho2.eps}.
+%old The distribution is, with growing photon energy, increasingly peaked at 0.
+%old Note that $\rho$ does not depend on $t$. One could do step 3 before 2 or after step 4.
+The distribution in $\rho$ has the form
+\begin{equation}\label{rho1}
+f_3(\rho)\,d\rho=\frac{\rho^3\,d\rho}{\rho^4+C_2}\,,\quad
+0\le\rho\le \rho_{\rm max}\,,\,
+\end{equation}
+where
+\begin{equation}\label{rhomax}
+\rho_{\rm max}^2=\frac{1.9}{A^{0.27}}\,\left(\frac{1}{t}-1\right), \,
+\end{equation}
+and
+\begin{equation}\label{C2}
+C_2=\frac4{\sqrt{x_+x_-}}\left[\left(\frac{m_\mu}{2E_\gamma x_+x_-\,t}
+\right)^2+\left(\frac{m_e}{183 \, Z^{-1/3} \, m_\mu}\right)^2
+\right]^2\,.
+\end{equation}
+The $\rho$ distribution is obtained by a direct transformation applied to 
+uniform random numbers $R_i$ according to
+\begin{equation}\label{rho}
+\rho=\left[C_2(\exp(\beta\,R_i)-1)\right]^{1/4}\,,
+\end{equation}
+where
+\begin{equation}\label{beta}
+\beta=\log\left(\frac{C_2+\rho_{\rm max}^4}{C_2}\right)\,.
+\end{equation}
+Generated distributions of $\rho$ are shown in Fig.\,\ref{plot:rho.eps}
+
+\begin{figure}[htpb]
+% \begin{minipage}[t]{7.5cm}
+% \includegraphics[scale=.6]{electromagnetic/standard/MuPgen/rho.eps}
+\center\includegraphics[scale=.8]{electromagnetic/standard/MuPgen/rho.eps}
+\caption{Histograms of generated $\rho$ distributions for beryllium at 
+ two different photon energies.  The total number of entries at each energy
+ is $10^6$.}
+ \label{plot:rho.eps}
+% \end{minipage}
+\end{figure}
+% \hfill
+\begin{figure}[htpb]
+% \begin{minipage}[t]{7.5cm}
+% \includegraphics[scale=.6]{electromagnetic/standard/MuPgen/thetaPlus.eps}
+\center\includegraphics[scale=.8]{electromagnetic/standard/MuPgen/thetaPlus.eps}
+\caption{Histograms of generated $\theta_+$ distributions at different photon energies.}
+\label{plot:thetaPlus}
+% \end{minipage}
+\end{figure}
+
+\noindent
+{\bf 5)} Calculate $\theta_+,\theta_-$ and $\varphi$ from $t, \rho,\psi$ with
+\begin{equation}
+\gamma_\pm = \frac{E_\mu^\pm}{m_\mu} \qquad {\rm and} \qquad
+u=\sqrt{\frac1t-1}\,.
+\label{eq:gammau}
+\end{equation}
+according to
+\begin{equation}\label{s2}
+\theta_+=
+\frac{1}{\gamma_+}\,\left(u +\frac{\rho}{2}\,\cos\psi\right)\,,\quad \theta_-=
+\frac{1}{\gamma_-}\,\left(u -\frac{\rho}{2}\,\cos\psi\right)\, \quad {\rm and}
+\quad \varphi=\frac{\rho}{u} \, \sin\psi\, . \,
+\end{equation}
+The muon vectors can now be constructed from Eq.\,(\ref{eq:pvec}), where 
+$\varphi_0$ is chosen randomly between 0 and $2\pi$.
+Fig.\,\ref{plot:thetaPlus} shows distributions of $\theta_+$ at different 
+photon energies (in beryllium).  The spectra peak around $1/\gamma$ as 
+expected.
+
+The most probable values are $\theta_+\sim m_\mu/E_\mu^+ = 1 / \gamma_+$. In the small angle
+approximation used here, the values of $\theta_+$ and $\theta_-$
+can in principle be any positive value from 0 to $\infty$.
+In the simulation, this may lead (with a very small probability, of the 
+order of $m_\mu/E_\gamma$) to unphysical events in which $\theta_+$ or
+$\theta_-$ is greater than $\pi$.  To avoid this, a limiting angle 
+$\theta_{\rm cut}=\pi$ is introduced, and the angular sampling repeated, 
+whenever $\max(\theta_+,\,\theta_-)>\theta_{\rm cut}$ \, .
+
+\begin{figure}[htpb]
+\center\includegraphics[scale=.65]{electromagnetic/standard/MuPgen/Fig1.eps}
+\caption{Angular distribution of positive (or negative) muons.
+%old $E_\gamma=10\:{\rm GeV}$, $x_+=0.3$; iron.
+The solid curve represents
+the results of the exact calculations. The histogram is the simulated
+distribution. The angular distribution for pairs created in the field
+of the Coulomb centre (point-like target) is shown by the dashed curve
+for comparison.}
+\label{plot:Fig1}
+\end{figure}
+
+\begin{figure}[htpb]
+% \begin{minipage}[t]{7.5cm}
+% { \center\includegraphics[scale=.65]{electromagnetic/standard/MuPgen/Fig2.eps}
+\center\includegraphics[scale=0.8]{electromagnetic/standard/MuPgen/Fig2.eps}
+ \caption{Angular distribution in logarithmic scale.  The curve corresponds 
+  to the exact calculations and the histogram is the simulated 
+  distribution.}
+ \label{plot:Fig2}
+% }
+% \end{minipage}
+\end{figure}
+% \hfill
+\begin{figure}[htpb]
+% \begin{minipage}[t]{7.5cm}  
+% \includegraphics[scale=.65]{electromagnetic/standard/MuPgen/Fig3.eps}
+\center\includegraphics[scale=0.8]{electromagnetic/standard/MuPgen/Fig3.eps}
+\caption{Distribution of the difference of transverse momenta of positive 
+ and negative muons (with logarithmic x-scale).}
+  \label{plot:Fig3}
+% \end{minipage}
+\end{figure}
+
+Figs.\,\ref{plot:Fig1},\ref{plot:Fig2} and \ref{plot:Fig3} show
+distributions of the simulated angular characteristics of muon pairs in 
+comparison with results of exact calculations.  The latter were obtained 
+by means of numerical integration of the squared matrix elements with 
+respective nuclear and atomic form factors.  All these calculations were 
+made for iron, with $E_\gamma=10\,{\rm GeV}$ and $x_+=0.3$.  As seen from 
+Fig.\,\ref{plot:Fig1}, wide angle pairs (at low values of the argument in 
+the figure) are suppressed in comparison with the Coulomb center 
+approximation.  This is due to the influence of the finite nuclear size
+which is comparable to the inverse mass of the muon.  Typical angles of 
+particle emission are of the order of
+$1/\gamma_\pm=m_\mu/E_\mu^\pm$ (Fig.\,\ref{plot:Fig2}). Fig.\,\ref{plot:Fig3}
+illustrates the influence of the momentum transferred to the target on the 
+angular characteristics of the produced pair.  In the frame of the often 
+used model which neglects target recoil, the pair particles would be 
+symmetric in transverse momenta, and coplanar with the initial photon.
+
+
+\subsection{Status of this document}
+28.05.02 created by H.Burkhardt. \\
+01.12.02 re-worded by D.H. Wright \\
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+
+\bibitem{MuPgen}
+H.~Burkhardt, S.~Kelner, and R.~Kokoulin, ``Monte Carlo Generator for Muon 
+Pair Production''. CERN-SL-2002-016 (AP) and CLIC Note 511, May 2002.
+
+\bibitem{Kelner:1995hu}
+S.~R. Kelner, R.~P. Kokoulin, and A.~A. Petrukhin, ``About cross section 
+for high energy muon bremsstrahlung,''. Moscow Phys. Eng. Inst. 024-95, 1995.
+  31pp.
+
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item H.~Burkhardt, S.~Kelner, and R.~Kokoulin, 
+``Monte Carlo Generator for Muon 
+Pair Production''. CERN-SL-2002-016 (AP) and CLIC Note 511, May 2002.
+
+\item S.~R. Kelner, R.~P. Kokoulin, and A.~A. Petrukhin, ``About cross section 
+for high energy muon bremsstrahlung,''. Moscow Phys. Eng. Inst. 024-95, 1995.
+  31pp.
+\end{enumerate}
+
+\end{htmlonly}
+
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/anniToHadrons.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/anniToHadrons.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/anniToHadrons.tex	(revision 1208)
@@ -0,0 +1,68 @@
+
+\section[Positron - Electron Annihilation into Hadrons]{Positron - Electron Annihilation into Hadrons}
+
+\subsection{Introduction}
+The process {\tt G4eeToHadrons} simulates the in-flight annihilation 
+of a positron with an atomic electron into hadrons.  It is assumed here 
+that the atomic electron is initially free and at rest.  Currently only 
+two-pion production is available with a validity range up to 1 TeV. 
+
+\subsection{Cross Section and Mean Free Path}
+The annihilation of positrons and target electrons producing pion pairs in
+the final state (${\rm e}^+{\rm e}^- \to \pi^+\pi^-$) may give an
+appreciable contribution to electron-jet conversion at the LHC, and
+for the increasing total number of muons produced in the beam pipe of
+the linear collider \cite{anniToHad.mu}.  The threshold positron energy in the
+laboratory system for this process with the target electron at rest is
+\begin{equation}\label{he0}
+E_{\rm th}=2m_\pi^2/m_e-m_e\approx 70.35\:{\rm GeV}\,,
+\end{equation}
+where $m_\pi$ and $m_e$ are the pion and electron masses, respectively.
+The total cross section is dominated by the reaction
+\begin{equation}\label{he1}
+{\rm e}^+{\rm e}^- \to \rho\gamma\to\pi^+\pi^-\gamma, 
+\end{equation}
+where $\gamma$ is a radiative photon and $\rho(770)$ is a well known vector
+meson. This radiative correction is essential, because it significantly 
+modifies the shape of the resonance. Details of the theory are described in 
+\cite{anniToHad.ben}, in which the main term and the leading $\alpha^2$
+corrections are taken into account.
+
+\subsection {Sampling the final state}
+
+The final state of the $e+e-$ annihilation process \ref{he1} 
+is simulated by first determining the kinematic limits of the photon energy
+in the center of mass system
+and then sampling the photon energy within those limits using the 
+differential cross section.  Conservation of energy-momentum is then used to
+determine the four-momentum of the pion final state.  Then 
+the backward transformation to the laboratory system is performed.
+ 
+
+\subsection{Status of this document}
+ 09.12.05 created by V.Ivanchenko    \\
+   
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+\bibitem{anniToHad.mu} A.G. Bogdanov et al., IEEE-NSS-33-179
+conference Record, 2004, accepted by IEEE Transaction.
+\bibitem{anniToHad.ben} M. Benayoun et al., Mod. Phys. Lett. A14, 
+2605 (1999).
+\end{thebibliography}
+
+\end{latexonly}
+   
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item A.G. Bogdanov et al., IEEE-NSS-33-179
+conference Record, 2004, accepted by IEEE Transaction.
+\item M. Benayoun et al., Mod. Phys. Lett. A14, 
+2605 (1999).
+\end{enumerate}
+
+\end{htmlonly}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/annil.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/annil.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/annil.tex	(revision 1208)
@@ -0,0 +1,170 @@
+
+\section[Positron - Electron Annihilation]{Positron - Electron Annihilation}\label{sec:em.annil}
+
+\subsection{Introduction}
+The process {\tt G4eplusAnnihilation} simulates the in-flight annihilation 
+of a positron with an atomic electron.  As is usually done in shower 
+programs \cite{egs4}, it is assumed here that the atomic electron is 
+initially free and at rest.  Also, annihilation processes producing one, or 
+three or more, photons are ignored because these processes are negligible 
+compared to the annihilation into two photons \cite{egs4,messel}.
+
+\subsection{Cross Section and Mean Free Path}
+\subsubsection{Cross Section per Atom}
+The annihilation in flight of a positron and electron is described by 
+the cross section formula of Heitler \cite{heitler,egs4}: 
+
+\begin{eqnarray}
+\sigma(Z,E) & = & \frac{Z \pi r_e^2}{\gamma +1}
+                  \left[\frac{\gamma^2 + 4 \gamma +1}{\gamma^2 -1}
+                  \ln \left(\gamma +\sqrt{\gamma^2 -1} \right)  -\frac
+                  {\gamma +3}{\sqrt{\gamma^2 -1}} \right]  \\
+{\rm where}\nonumber\\
+E      & = & \mbox{total energy of the incident positron}  \nonumber \\
+\gamma & = & E/m c^2  \nonumber \\
+r_e    & = & \mbox{classical electron radius}  \nonumber    
+\end{eqnarray}
+
+\subsubsection{Mean Free Path}
+In a given material the mean free path, $\lambda$, for a positron to be 
+annihilated with an electron is given by
+\begin{equation}
+\lambda(E) =
+ \left( \sum_i n_{ati} \cdot \sigma(Z_i,E) \right)^{-1}
+\end{equation}
+where $n_{ati}$ is the number of atoms per volume of the $i^{th}$ element
+composing the material.
+
+\subsection {Sampling the final state}
+
+The final state of the $e+e-$ annihilation process 
+\[e^+ \; e^- \to \gamma_a \; \gamma_b \]
+is simulated by first determining the kinematic limits of the photon energy
+and then sampling the photon energy within those limits using the 
+differential cross section.  Conservation of energy-momentum is then used to
+determine the directions of the final state photons.
+ 
+\subsubsection{Kinematic Limits}
+
+If the incident $e^+$ has a kinetic energy $T$, then the total energy is
+$E_e = T + mc^2$ and the momentum is $Pc = \sqrt{T(T+2mc^2)}$.
+The total available energy is $E_{tot} = E_e + mc^2 = E_a + E_b$ and
+momentum conservation requires $ \vec{P} = \vec{P}_{\gamma_a} + \vec{P}_{\gamma_b}$ .  The fraction of the total energy transferred to one photon 
+(say $\gamma_a$) is
+\begin{equation}
+ \epsilon = \frac{E_a}{E_{tot}} \equiv \frac{E_a}{T+2mc^2} .
+\end{equation}
+The energy transfered to $\gamma_a$ is largest when $\gamma_a$ is emitted in
+the direction of the incident $e^+$.  In that case 
+$E_{a max} = (E_{tot}+Pc)/2$ .  The energy transfered to $\gamma_a$ is 
+smallest when $\gamma_a$ is emitted in the opposite direction of the 
+incident $e^+$.  Then $E_{a min} = (E_{tot}-Pc)/2$ .  Hence,
+\begin {eqnarray}
+  \epsilon_{max} &=& \frac{E_a \mathsf{max}}{E_{tot}} =
+  \frac{1}{2} \left\lbrack 1+ \sqrt{\frac{\gamma - 1}{\gamma+1}} \right\rbrack \\ 
+  \epsilon_{min} &=& \frac{E_a \mathsf{min}}{E_{tot}} =
+  \frac{1}{2} \left\lbrack 1- \sqrt{\frac{\gamma - 1}{\gamma+1}} 
+  \right\rbrack
+\end {eqnarray}
+\\
+where $\qquad \gamma = (T + mc^2)/mc^2$ .  Therefore the range of $\epsilon$
+is 
+ $\quad \lbrack \epsilon_{min} \; ; \; \epsilon_{max} \rbrack $
+ $\qquad ( \equiv \lbrack \epsilon_{min} \; ; \; 1-\epsilon_{min} \rbrack) $.
+      
+\subsubsection{Sampling the Gamma Energy}
+
+A short overview of the sampling method is given in Chapter \ref{secmessel}.
+
+The differential cross section of the two-photon positron-electron 
+annihilation can be written as 
+\cite{heitler,egs4}:
+\begin{equation}
+   \frac{d \sigma (Z, \epsilon)} {d \epsilon} =
+   \frac{Z \pi r_e^2}{\gamma - 1} \ \frac{1}{\epsilon} \ 
+   \left[
+   1+\frac{2\gamma}{(\gamma+1)^2}-\epsilon-\frac{1}{(\gamma+1)^2}\frac{1}{\epsilon}
+   \right]
+\end{equation}
+where
+$Z$ is the atomic number of the material, $r_e$ the classical electron 
+radius, and $\epsilon \in [ \epsilon_{min} \; ; \; \epsilon_{max} ]$ .
+The differential cross section can be decomposed as
+\begin{equation}
+   \frac{d \sigma (Z, \epsilon)} {d \epsilon} =
+   \frac{Z \pi r_e^2}{\gamma - 1} 
+   \alpha f(\epsilon) g(\epsilon)
+\end{equation}
+where
+\begin{eqnarray}
+\alpha      &=& \ln (\epsilon_{max}/\epsilon_{min})  \nonumber \\  
+f(\epsilon) &=& \frac{1}{\alpha \epsilon} \\
+g(\epsilon) &=& \left[
+    1+\frac{2\gamma}{(\gamma+1)^2}-\epsilon-\frac{1}{(\gamma+1)^2}\frac{1}{\epsilon}
+    \right]  \equiv  
+    1-\epsilon+\frac{2 \gamma \epsilon -1}{\epsilon (\gamma +1)^2}
+\end{eqnarray}
+Given two random numbers $r, r' \in [0,1]$, the photon energies are chosen
+as follows:
+\begin{enumerate}
+\item 
+  sample $\epsilon$ from $f(\epsilon):
+  \epsilon =\epsilon_{min} \left( \frac{\epsilon_{max}}{\epsilon_{min}} \right)^r$
+\item
+  test the rejection function: if $g(\epsilon) \geq r'$ accept
+  $\epsilon$, otherwise return to step 1.
+\end{enumerate}
+Then the photon energies are
+ $E_a = \epsilon E_{tot} \qquad E_b = (1-\epsilon) E_{tot}$ .
+
+\subsubsection{Computing the Final State Kinematics}
+If $\theta$ is the angle between the incident $e^+$ and $\gamma_a$, then 
+from energy-momentum conservation,
+\begin{equation}
+\cos \theta = \frac{1}{Pc} \left[ T+mc^2 \frac{2\epsilon -1}{\epsilon} \right]
+ = \frac{\epsilon(\gamma +1) - 1}{\epsilon \sqrt{\gamma^2 -1}} .
+\end{equation} \\
+The azimuthal angle, $\phi$, is generated isotropically and the photon 
+momentum vectors, $\vec{P_{\gamma_a}}$ and $\vec{P_{\gamma_b}}$, 
+are computed from energy-momentum conservation and transformed into the lab
+coordinate system. 
+
+\subsubsection{Annihilation at Rest} 
+The method {\tt AtRestDoIt} treats the special case when a positron comes 
+to rest before annihilating.  It generates two photons, each with energy 
+$k=mc^2$ and an isotropic angular distribution.
+
+\subsection{Status of this document}
+ 09.10.98 created by M.Maire.     \\
+ 01.08.01 minor corrections (mma) \\
+ 09.01.02 MeanFreePath (mma) \\
+ 01.12.02 Re-written by D.H. Wright \\
+   
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+\bibitem{egs4} R. Ford and W. Nelson.
+   {\em SLAC-265, UC-32} (1985)      
+\bibitem{messel} H. Messel and D. Crawford.
+   {\em Electron-Photon shower distribution, Pergamon Press} (1970)
+\bibitem{heitler} W. Heitler.
+   {\em The Quantum Theory of Radiation, Clarendon Press, Oxford} (1954)
+\end{thebibliography}
+
+\end{latexonly}
+   
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item R. Ford and W. Nelson.
+   {\em SLAC-265, UC-32} (1985)      
+\item H. Messel and D. Crawford.
+   {\em Electron-Photon shower distribution, Pergamon Press} (1970)
+\item W. Heitler.
+   {\em The Quantum Theory of Radiation, Clarendon Press, Oxford} (1954)
+\end{enumerate}
+
+\end{htmlonly}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/compton.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/compton.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/compton.tex	(revision 1208)
@@ -0,0 +1,203 @@
+
+\section[Compton scattering]{Compton scattering}\label{sec:em.compton}
+\subsection{Cross Section and Mean Free Path}
+\subsubsection{Cross Section per Atom}
+When simulating the Compton scattering of a photon from an atomic electron, an
+empirical cross section formula is used, which reproduces the cross section 
+data down to 10 keV:
+\begin{equation}
+\sigma(Z,E_{\gamma}) = \left [ P_{1}(Z) \ \frac{\log(1+2X)}{X} +
+\frac{P_{2}(Z)+P_{3}(Z) X + P_{4}(Z) X^{2}}{1+aX+bX^{2}+cX^{3}} \right ] . 
+\end{equation}
+Here,
+\begin{eqnarray*}
+ Z          & = & \mbox{atomic number of the medium} \, \\
+ E_{\gamma} & = & \mbox{energy of the photon}  \\
+ X          & = & E_{\gamma}/mc^2  \\
+ m          & = & \mbox{electron mass}  \\
+ P_{i}(Z)   & = & Z (d_{i} + e_{i}Z + f_{i}Z^{2}) . \,
+\end{eqnarray*}
+\\ 
+The values of the parameters can be found within the method which computes
+the cross section per atom.  A fit of the parameters was made to over 511 data
+points \cite{hubbell.comp,storm.comp} chosen from the intervals
+\begin{eqnarray*}
+1 \leq Z \leq 100
+\end{eqnarray*}
+and
+\begin{eqnarray*}
+ E_{\gamma} \in [10 \mbox{ keV} , 100 \mbox{ GeV}] .
+\end{eqnarray*}
+The accuracy of the fit was estimated to be
+ 
+\vspace{.3cm}
+$$
+\frac{\Delta\sigma}{\sigma} = \left\{ 
+\begin{array}{lcl}
+\approx 10\% & \makebox[2cm][r]{\rm for } E_{\gamma} & \simeq 10 \mbox{ keV} 
+-20 \mbox{ keV} \\ 
+\leq 5-6\% & \makebox[2cm][r]{\rm for } E_{\gamma} & > 20 \mbox{ keV}
+\end{array} \right.
+$$
+\subsubsection{Mean Free Path}
+In a given material the mean free path, $\lambda$, for a photon to interact 
+via Compton scattering is given by
+\begin{equation}
+\lambda(E_{\gamma}) =
+ \left( \sum_i n_{ati} \cdot \sigma_i (E_{\gamma}) \right)^{-1}
+\end{equation}
+where $n_{ati}$ is the number of atoms per volume of the $i^{th}$ element of
+the material.
+ 
+\subsection {Sampling the Final State} 
+The quantum mechanical Klein-Nishina differential cross section per atom
+is \cite{klein.comp} :
+\begin{equation}
+\frac{d\sigma}{d\epsilon} =\pi r_e^2 \ 
+\frac{m_e c^2}{E_0} \ Z
+     \left[\frac{1}{\epsilon}+\epsilon\right]
+     \left[1 - \frac{\epsilon \sin^2 \theta}{1+\epsilon^2}\right]
+\end{equation}
+where \quad
+\begin{tabular}[t]{l@{\ = \ }l}
+$r_e$       & classical electron radius       \\
+$m_e c^2$   & electron mass                   \\
+$E_0$       & energy of the incident photon   \\
+$E_1$       & energy of the scattered photon  \\
+$\epsilon$  & $E_1/E_0$  .                      
+\end{tabular}
+
+\noindent 
+Assuming an elastic collision, the scattering angle $\theta$ is defined by the
+Compton formula: 
+\begin{equation}
+   E_1   = E_0 \ \frac{m_{\rm e}c^2}{ m_{\rm e}c^2 + E_0(1-\cos\theta )} .
+\end{equation}
+
+\subsubsection{Sampling the Photon Energy}
+The value of $\epsilon$ corresponding to the minimum photon energy (backward 
+scattering) is given by
+\begin{equation}
+\epsilon_0 = \frac{m_{\rm e}c^2}{m_{\rm e}c^2+2E_0} ,
+\end{equation}
+hence $\epsilon \in [\epsilon_0, 1]$.  Using the combined composition and 
+rejection Monte Carlo methods described in
+\cite{butch.comp,messel.comp,ford.comp} one may set
+\begin{equation}
+\Phi(\epsilon)
+     \simeq  \left[ \frac{1}{\epsilon}+\epsilon \right]
+                \left[ 1 - \frac{\epsilon \sin^2 \theta}{1+\epsilon^2} \right]
+     = f(\epsilon) \cdot g(\epsilon)
+     = \left[ \alpha_1 f_1(\epsilon) + \alpha_2 f_2(\epsilon) \right] 
+              \cdot g(\epsilon) ,
+\end{equation}
+where
+$$
+\begin{array}{lcl}
+\alpha_1      = \ln (1/\epsilon_0) & ; & 
+f_1(\epsilon) = 1/(\alpha_1\epsilon)       \\
+\alpha_2      = (1-\epsilon_0^2)/2 & ; &
+f_2(\epsilon) = \epsilon/\alpha_2 .          
+\end{array}
+$$ 
+$f_1$ and $f_2$ are probability density functions defined on the interval
+$\lbrack\epsilon_0, 1\rbrack$, and 
+$$
+g(\epsilon) = \left[ 1 - \frac{\epsilon}{1+\epsilon^2} \sin^2\theta \right]
+$$  
+is the rejection function
+$\forall \epsilon \in [\epsilon_0, 1] \Longrightarrow 0 < g(\epsilon) \leq 1$.\\
+  
+\noindent 
+Given a set of 3 random numbers $r, r', r''$ uniformly distributed on the 
+interval [0,1], the sampling procedure for $\epsilon$ is the following:
+\begin{enumerate}
+\item
+decide whether to sample from $f_1(\epsilon)$ or $f_2(\epsilon)$: \\
+if $ r < \alpha_1/(\alpha_1+\alpha_2)$ select $f_1(\epsilon)$, otherwise
+select $f_2(\epsilon)$
+\item 
+sample $\epsilon$ from the distributions corresponding to $f_1$ or $f_2$: \\ 
+for $f_1 : \epsilon   = \epsilon_0^{r'} \qquad (\equiv \exp(-r' \alpha_1))$ \\ 
+for $f_2 : \epsilon^2 = \epsilon_0^2 + (1-\epsilon_0^2)r'$
+ 
+\item 
+calculate $\sin^2\theta = t(2-t)$ where 
+$t \equiv (1-\cos\theta) = m_e c^2 (1-\epsilon)/(E_0 \epsilon)$
+
+\item 
+test the rejection function: \\
+if $g(\epsilon) \geq r''$ accept $\epsilon$, otherwise go to step 1.
+\end{enumerate}
+
+\subsubsection{Compute the Final State Kinematics}
+After the successful sampling of $\epsilon$, the polar angles of the 
+scattered photon with respect to the direction of the parent photon
+are generated.  The azimuthal angle, $\phi$, is generated isotropically and
+$\theta$ is as defined in the previous section.  The momentum vector of the 
+scattered photon, $\overrightarrow{P_{\gamma1}}$, is then transformed into 
+the {\tt World} coordinate system.  The kinetic energy and momentum of the 
+recoil electron are then
+\begin{eqnarray*}
+T_{el} & = & E_0 - E_1 \\
+\overrightarrow{P_{el}} & = & 
+              \overrightarrow{P_{\gamma0}} - \overrightarrow{P_{\gamma1}} .
+\end{eqnarray*}
+
+\subsection{Validity}
+ 
+The differential cross-section is valid only for those collisions in which the
+energy of the recoil electron is large compared to its binding energy (which 
+is ignored).  However, as pointed out by Rossi \cite{rossi.comp}, this has a 
+negligible effect because of the small number of recoil electrons produced at 
+very low energies.
+
+\subsection{Status of this document}
+09.10.98 created by M.Maire. \\
+14.01.02 minor revision (mma) \\
+22.04.02 reworded by D.H. Wright \\
+18.03.04 include references for total cross section (mma) \\ 
+ 
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+\bibitem{hubbell.comp} Hubbell, Gimm and Overbo.
+   {\em J. Phys. Chem. Ref. Data 9} 1023 (1980)
+\bibitem{storm.comp} H. Storm and H.I. Israel
+   {\em Nucl. Data Tables A7} 565 (1970)   
+\bibitem{klein.comp} O. Klein and Y. Nishina.
+   {\em Z. Physik 52} 853 (1929)
+\bibitem{butch.comp} J.C. Butcher and H. Messel.
+   {\em Nucl. Phys. 20} 15 (1960)   
+\bibitem{messel.comp} H. Messel and D. Crawford.
+   {\em Electron-Photon shower distribution, Pergamon Press} (1970)
+\bibitem{ford.comp} R. Ford and W. Nelson.
+   {\em SLAC-265, UC-32} (1985)    
+\bibitem{rossi.comp} B. Rossi.
+   {\em High energy particles, Prentice-Hall} 77-79 (1952)       
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item Hubbell, Gimm and Overbo.
+   {\em J. Phys. Chem. Ref. Data 9} 1023 (1980)
+\item H. Storm and H.I. Israel
+   {\em Nucl. Data Tables A7} 565 (1970)   
+\item O. Klein and Y. Nishina.
+   {\em Z. Physik 52} 853 (1929)
+\item J.C. Butcher and H. Messel.
+   {\em Nucl. Phys. 20} 15 (1960)   
+\item H. Messel and D. Crawford.
+   {\em Electron-Photon shower distribution, Pergamon Press} (1970)
+\item R. Ford and W. Nelson.
+   {\em SLAC-265, UC-32} (1985)    
+\item B. Rossi.
+   {\em High energy particles, Prentice-Hall} 77-79 (1952)       
+\end{enumerate}
+
+\end{htmlonly}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/conv.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/conv.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/conv.tex	(revision 1208)
@@ -0,0 +1,294 @@
+
+\section[Gamma Conversion into an Electron - Positron Pair]
+ {Gamma Conversion into an Electron - Positron Pair}\label{sec:em.conv}
+ 
+\subsection{Cross Section and Mean Free Path}
+
+\subsubsection{Cross Section per Atom}
+
+The total cross-section per atom for the conversion of a gamma into an 
+$(e^+,e^-)$ pair has been parameterized as 
+\begin{equation} \label{conv1}
+\sigma(Z,E_\gamma) = Z(Z+1) \: \left[ F_1(X) + F_2(X) \: Z + \frac{F_3(X)}{Z}
+                               \right],
+\end{equation}
+where $E_{\gamma}$ is the incident gamma energy and $X = \ln (E_{\gamma}/m_{e}c^2)$ .  The functions $F_n$ are given by
+\begin{eqnarray}
+F_1(X) & = & a_0 + a_1 X + a_2 X^2 + a_3 X^3 + a_4 X^4 + a_5 X^5  \\
+F_2(X) & = & b_0 + b_1 X + b_2 X^2 + b_3 X^3 + b_4 X^4 + b_5 X^5  \nonumber \\
+F_3(X) & = & c_0 + c_1 X + c_2 X^2 + c_3 X^3 + c_4 X^4 + c_5 X^5 ,  \nonumber
+\end{eqnarray} 
+with the parameters $a_i, b_i, c_i$ taken from a least-squares fit to the 
+data \cite{conv.hubb}.  Their values can be found in the function which 
+computes formula \ref{conv1}.
+\\ 
+This parameterization describes the data in the range 
+\begin{eqnarray*}
+ 1\leq Z\leq 100
+\end{eqnarray*}
+and
+\begin{eqnarray*}
+E_\gamma \in [1.5 \mbox{ MeV} , 100 \mbox{ GeV}] . 
+\end{eqnarray*}
+The accuracy of the fit was estimated to be 
+$\frac{\Delta\ \sigma}{\sigma}\leq 5\% $ with a mean value of
+$\approx 2.2\%$.  Above 100 GeV the cross section is constant.  Below 
+$E_{low} = 1.5 \mbox{ MeV}$ the extrapolation
+\begin{equation}
+\sigma(E) = \sigma(E_{low}) \cdot \left( \frac{E-2m_e c^2}{E_{low}-2m_e c^2}
+                                  \right)^2
+\end{equation}
+is used.
+
+\subsubsection{Mean Free Path}
+In a given material the mean free path, $\lambda$, for a photon to convert into
+an $(e^+,e^-)$ pair is
+\begin{equation}
+\lambda(E_{\gamma}) =
+ \left( \sum_i n_{ati} \cdot \sigma (Z_i,E_{\gamma}) \right)^{-1}
+\end{equation}
+where $n_{ati}$ is the number of atoms per volume of the $i^{th}$ element of
+the material.
+
+\subsection{Final State}
+\subsubsection{Choosing an Element}
+The differential cross section depends on the atomic number $Z$ of the 
+material in which the interaction occurs.  In a compound material the element
+$i$ in which the interaction occurs is chosen randomly according to the 
+probability
+\begin{equation}
+  Prob(Z_i,E_{\gamma}) = 
+                      \frac{n_{ati} \sigma(Z_i,E_{\gamma})}
+                      {\sum_i [ n_{ati} \cdot \sigma_i (E_{\gamma})]} .
+\end{equation}
+
+\subsubsection{Corrected Bethe-Heitler Cross Section}
+As written in \cite{conv.heit}, the Bethe-Heitler formula corrected for various
+effects is 
+\begin{eqnarray} \label{conv.eq1}
+\frac{d \sigma(Z,\epsilon)}{d \epsilon} & = & \alpha r_e^2 Z [Z + \xi(Z)]
+\left \{ [\epsilon^2 + ( 1 -\epsilon)^2] 
+\left[ \Phi_1(\delta(\epsilon)) - \frac{F(Z)}{2} \right] \right. \nonumber \\ 
+& & + \left. \frac{2}{3}\epsilon (1-\epsilon) 
+\left[ \Phi_2(\delta(\epsilon)) - \frac{F(Z)}{2} \right] \right \} 
+\end{eqnarray}
+where $\alpha$ is the fine-structure constant and $r_e$ the classical electron
+radius.  Here $\epsilon = E/E_\gamma$, $E_\gamma$ is the energy of the photon 
+and $E$ is the total energy carried by one particle of the $(e^+,e^-)$ pair.
+The kinematical limits of $\epsilon$ are therefore
+\begin{equation}
+\frac{m_e c^2}{E_\gamma} = \epsilon_0 \leq \epsilon \leq 1-\epsilon_0 .
+\end{equation}
+
+\paragraph*{Screening Effect}
+The {\it screening variable}, $\delta$, is a function of $\epsilon$ 
+\begin{equation}
+\delta(\epsilon)=\frac{136}{Z^{1/3}} \ \frac{\epsilon_0}{\epsilon(1-\epsilon)},
+\end{equation}
+and measures the 'impact parameter' of the projectile.  Two screening 
+functions are introduced in the Bethe-Heitler formula :
+\begin{eqnarray}
+\mbox{for } \delta \leq 1 & \Phi_1 (\delta) = 
+                          & 20.867 - 3.242 \delta + 0.625 \delta^2 \\
+                          & \Phi_2 (\delta) =
+                          & 20.209 - 1.930 \delta - 0.086 \delta^2 \nonumber \\
+\mbox{for } \delta > 1    & \Phi_1 (\delta) =
+                          & \Phi_2 (\delta) = 21.12 - 4.184 \ln(\delta+0.952).
+                            \nonumber 
+\end{eqnarray}
+Because the formula \ref{conv.eq1} is symmetric under the exchange $\epsilon
+ \leftrightarrow (1-\epsilon)$, the range of $\epsilon$ can be restricted to 
+\begin{equation}
+\epsilon \in [ \epsilon_0 , 1/2] .
+\end{equation}
+
+\paragraph*{Born Approximation}
+The Bethe-Heitler formula is calculated with plane waves, but Coulomb waves 
+should be used instead.  To correct for this, a 
+{\it Coulomb correction function} is introduced in the Bethe-Heitler formula :
+\begin{eqnarray}
+\mbox{for $E_\gamma$ } <    50 \mbox{ MeV :} & F(z) = & 8/3 \ln Z \\
+\mbox{for $E_\gamma$ } \geq 50 \mbox{ MeV :} & F(z) = & 8/3 \ln Z + 8 f_c (Z)
+                            \nonumber 
+\end{eqnarray}
+with
+\begin{eqnarray} 
+f_c(Z) &=& (\alpha Z)^2 \left[ \frac{1}{1+(\alpha Z)^2} \right.
+ \\ & & \left.
++ 0.20206 - 0.0369 (\alpha Z)^2 + 0.0083 (\alpha Z)^4 - 0.0020 (\alpha Z)^6 
++ \cdots \right]. \nonumber
+\end{eqnarray}
+It should be mentioned that, after these additions, the cross section
+becomes negative if
+\begin{equation} 
+\delta > \delta_{max} (\epsilon_1) = \exp \left[ \frac{42.24 - F(Z)}{8.368}
+                                          \right] - 0.952  .
+\end{equation}
+This gives an additional constraint on $\epsilon$ :
+\begin{equation}
+\delta \leq \delta_{max} \Longrightarrow
+\epsilon \geq \epsilon_1 = \frac{1}{2} -
+ \frac{1}{2} \sqrt{1-\frac{\delta_{min}}{\delta_{max}}}
+\end{equation}
+where
+\begin{equation}
+\delta_{min} = \delta \left(\epsilon = \frac{1}{2} \right) 
+             = \frac{136}{Z^{1/3}} \ 4 \epsilon_0
+\end{equation}
+has been introduced.  Finally the range of $\epsilon$ becomes
+\begin{equation}
+\epsilon \in [ \epsilon_{min}=\max (\epsilon_0,\epsilon_1),\ 1/2] .
+\end{equation}
+\vspace{0mm}
+\begin{center}
+\includegraphics*
+[width=\textwidth,height=0.4\textheight,draft=false]
+                             {electromagnetic/standard/conv.eps}
+\end{center}
+\paragraph*{Gamma Conversion in the Electron Field}
+The electron cloud gives an additional contribution to pair creation,
+proportional to $Z$ (instead of $Z^2$).  This is taken into account through
+the expression
+\begin{equation}
+\xi(Z) = \frac{\ln(1440/Z^{2/3})}{\ln(183/Z^{1/3}) - f_c(Z)} .
+\end{equation}
+
+\paragraph*{Factorization of the Cross Section}
+$\epsilon$ is sampled using the techniques of 'composition+rejection', as 
+treated in \cite{conv.ford,conv.butch,conv.messel}.  First, two auxiliary 
+screening functions should be introduced:
+\begin{eqnarray}
+F_1(\delta) &=& 3 \Phi_1(\delta) - \Phi_2(\delta) - F(Z)  \nonumber \\
+F_2(\delta) &=& \frac{3}{2} \Phi_1(\delta) - \frac{1}{2} \Phi_2(\delta) - F(Z)
+\end{eqnarray}
+It can be seen that $F_1(\delta)$ and $F_2(\delta)$ are decreasing
+functions of $\delta$, $\forall \delta \in [\delta_{min} , \delta_{max}]$.
+They reach their maximum for $\delta_{min} = \delta(\epsilon = 1/2)$ :
+\begin{eqnarray}
+F_{10} = \max F_1(\delta) = F_1(\delta_{min})  \nonumber \\
+F_{20} = \max F_2(\delta) = F_2(\delta_{min}) . \,
+\end{eqnarray}
+After some algebraic manipulations the formula \ref{conv.eq1} can be written :
+\begin{eqnarray} \label{conv.eq2}
+\frac{d \sigma(Z,\epsilon)}{d \epsilon} &=& \alpha r_e^2 Z [Z + \xi(Z)]
+\frac{2}{9} \left[ \frac{1}{2} - \epsilon_{min} \right] \nonumber \\
+ & & \times \left[
+N_1 \ f_1(\epsilon) \ g_1(\epsilon) + N_2 \ f_2(\epsilon) \ g_2(\epsilon)
+\right] ,
+\end{eqnarray}
+where
+\begin{eqnarray*}
+N_1 = \left[ \frac{1}{2} - \epsilon_{min} \right]^2 F_{10} \hspace{5mm} &
+f_1(\epsilon) = \frac{3}{\left[ \frac{1}{2} - \epsilon_{min} \right]^3}
+                \left[ \frac{1}{2} - \epsilon \right]^2    &
+\hspace{5mm} g_1(\epsilon) = \frac{F_1(\epsilon)}{F_{10}}
+\\                              
+N_2 = \frac{3}{2} F_{20} \hspace{5mm} &
+f_2(\epsilon) = \mbox{const}
+              = \frac{1}{\left[ \frac{1}{2} - \epsilon_{min} \right]} &
+\hspace{5mm} g_2(\epsilon) = \frac{F_2(\epsilon)}{F_{20}} .
+\end{eqnarray*}
+$f_1(\epsilon)$ and $f_2(\epsilon)$ are probability density functions on the
+interval $\epsilon \in [\epsilon_{min} , 1/2]$ such that 
+$$ \int_{\epsilon_{min}}^{1/2} f_i(\epsilon) \, d\epsilon = 1 $$ ,
+and $g_1(\epsilon)$ and $g_2(\epsilon)$ are valid rejection functions:
+$0 < g_i (\epsilon) \leq 1$ .
+
+\paragraph*{Sampling the Energy}
+Given a triplet of uniformly distributed random numbers $(r_a, r_b, r_c)$ :
+\begin{enumerate}
+\item use $r_a$ to choose which decomposition term in \ref{conv.eq2} to use:
+\begin{equation}
+ \mbox{if } r_a < N_1/(N_1+N_2) \rightarrow f_1(\epsilon)\ g_1(\epsilon) \\
+ \mbox{  otherwise } \rightarrow f_2(\epsilon)\ g_2(\epsilon)
+\end{equation}
+\item sample $\epsilon$ from $f_1(\epsilon)$ or $f_2(\epsilon)$ with $r_b$ :
+\begin{equation}
+\epsilon = \frac{1}{2} - \left(\frac{1}{2} - \epsilon_{min} \right) r_b^{1/3}
+\hspace{5mm} \mbox{or} \hspace{5mm}
+\epsilon = \epsilon_{min} + \left(\frac{1}{2} - \epsilon_{min} \right) r_b
+\end{equation}
+\item reject $\epsilon$ if $g_1(\epsilon) \mbox{or }  g_2(\epsilon) < r_c$   
+\end{enumerate}
+{\sc note} :
+below $E_{\gamma} = 2$ MeV it is enough to sample $\epsilon$ uniformly on
+$[\epsilon_0,\ 1/2]$, without rejection.
+\paragraph*{Charge}
+The charge of each particle of the pair is fixed randomly.
+
+\subsubsection{Polar Angle of the Electron or Positron}
+The polar angle of the electron (or positron) is defined with respect to the
+direction of the parent photon.  The energy-angle distribution given by 
+Tsai \cite{conv.tsai} is quite complicated to sample and can be approximated
+by a density function suggested by Urban \cite{conv.urban} :
+\begin{equation} \label{conv.eq3}
+\forall u \in [0,\ \infty [  \hspace{3mm}
+f(u) = \frac{9a^2}{9+d} \left[ u \exp (-a u) + d\ u \exp (-3a u) \right] 
+\end{equation}
+with
+\begin{equation}
+a=\frac{5}{8} \hspace{5mm} d=27 \hspace{1cm} \mbox{and } 
+  \theta_\pm = \frac{mc^2}{E_\pm} \ u .
+\end{equation}
+A sampling of the distribution \ref{conv.eq3} requires a triplet of random 
+numbers such that
+\begin{equation}
+\mbox{if } r_1 < \frac{9}{9+d} \rightarrow u = \frac{-\ln(r_2 r_3)}{a}
+          \hspace{5mm} \mbox{otherwise } u = \frac{-\ln(r_2 r_3)}{3a} .
+\end{equation}
+The azimuthal angle $\phi$ is generated isotropically.
+\paragraph*{Final State}
+The $e^+$ and $e^-$ momenta are assumed to be coplanar with the parent photon. 
+This information, together with energy conservation, is used to calculate the 
+momentum vectors of the $(e^+,e^-)$ pair and to rotate them to the global
+reference system.
+
+\subsection{Status of this document}
+12.01.02 created by M.Maire. \\
+21.03.02 corrections in angular distribution (mma) \\
+22.04.02 re-worded by D.H. Wright \\ 
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+\bibitem{conv.hubb} J.H.Hubbell, H.A.Gimm, I.Overbo 
+ {\it Jou. Phys. Chem. Ref. Data 9:1023} (1980)
+\bibitem{conv.heit} W. Heitler
+ {\it The Quantum Theory of Radiation, Oxford University Press} (1957)  
+\bibitem{conv.ford} R. Ford and W. Nelson.
+ {\it SLAC-210, UC-32} (1978)    
+\bibitem{conv.butch} J.C. Butcher and H. Messel.
+ {\it Nucl. Phys. 20} 15 (1960)   
+\bibitem{conv.messel} H. Messel and D. Crawford.
+ {\it Electron-Photon shower distribution, Pergamon Press} (1970)
+\bibitem{conv.tsai}
+  Y. S. Tsai, {\em Rev. Mod. Phys. 46} 815 (1974),
+  Y. S. Tsai, {\em Rev. Mod. Phys. 49} 421 (1977)
+\bibitem{conv.urban} L.Urban in {\sc Geant3} writeup, section PHYS-211.
+ {\it Cern Program Library} (1993) 
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item J.H.Hubbell, H.A.Gimm, I.Overbo 
+ {\it Jou. Phys. Chem. Ref. Data 9:1023} (1980)
+\item W. Heitler
+ {\it The Quantum Theory of Radiation, Oxford University Press} (1957)  
+\item R. Ford and W. Nelson.
+ {\it SLAC-210, UC-32} (1978)    
+\item J.C. Butcher and H. Messel.
+ {\it Nucl. Phys. 20} 15 (1960)   
+\item H. Messel and D. Crawford.
+ {\it Electron-Photon shower distribution, Pergamon Press} (1970)
+\item Y. S. Tsai, {\em Rev. Mod. Phys. 46} 815 (1974),
+  Y. S. Tsai, {\em Rev. Mod. Phys. 49} 421 (1977)
+\item L.Urban in {\sc Geant3} writeup, section PHYS-211.
+ {\it Cern Program Library} (1993) 
+\end{enumerate}
+
+\end{htmlonly}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/ebrem.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/ebrem.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/ebrem.tex	(revision 1208)
@@ -0,0 +1,683 @@
+
+\section[Bremsstrahlung]{Bremsstrahlung} \label{sec:em.ebrem}
+
+The class $G4eBremsstrahlung$ provides the energy loss of electrons and
+positrons due to the radiation of photons in the field of a nucleus
+according to the approach described in Section \ref{en_loss}. 
+Above a given threshold energy the energy loss is simulated by the explicit 
+production of photons.  Below the threshold the emission of soft photons is 
+treated as a continuous energy loss.   
+In GEANT4 the Landau-Pomeranchuk-Migdal effect has also been implemented.  
+
+\subsection{Cross Section and Energy Loss}
+
+$d\sigma(Z,T,k)/dk$ is the differential cross section for the production of a 
+photon of energy $k$ by an electron of kinetic energy $T$ in the field of an 
+atom of charge $Z$.  If $k_c$ is the energy cut-off below which the soft 
+photons are treated as continuous energy loss, then the mean value of the 
+energy lost by the electron is
+\begin{equation}
+  E_{Loss}^{brem} (Z,T,k_c ) =
+\int_{0}^{k_ c}k\frac{d \sigma (Z,T,k)}{dk}dk .
+\end{equation}
+The total cross section for the emission of a photon of energy larger than 
+$k_c$ is
+\begin{equation}
+ \sigma_{brem} (Z,T,k_c ) = \int_{k_c}^{T}\frac{d \sigma (Z,T,k)}{dk} dk .
+\end{equation}
+\\
+
+\subsubsection{Parameterization of the Energy Loss and Total Cross Section}
+
+ The cross section and energy loss due to bremsstrahlung have been
+parameterized using the EEDL (Evaluated Electrons Data Library) data set 
+\cite{eedl} as input.
+
+\noindent
+The following parameterization was chosen for the electron bremsstrahlung 
+cross section :
+\begin{equation}
+\label{ebrem.a}
+\sigma (Z,T,k_c ) =  Z(Z+\xi_{\sigma} ) (1-c_{sigh} Z^{1/4})
+                    \left[ \frac{T}{k_c} \right]^{\alpha} \frac{{f_s}}{N_{Avo}} 
+\end{equation}
+where $f_s$ is a polynomial in $x = lg(T)$ with $Z$-dependent coefficients for
+$x < x_l$ , $f_s= 1 $ for $x \ge x_l$, $\xi_{\sigma}, c_{sigh}, \alpha$ are 
+constants, $N_{Avo}$ is the Avogadro number. 
+For the case of low energy electrons ($T \le T_{lim} = 10 MeV$) the above 
+expression should be multiplied by 
+
+\begin{equation}
+      \left(\frac{T_{lim}}{T}\right)^{c_l} \cdot \left(1 + \frac {a_l}{\sqrt{Z} T}\right),
+\end{equation}
+  with constant $c_l, a_l$ parameters.
+
+ The energy loss parameterization is the following :
+
+\begin{equation}
+\label{ebrem.b}
+E_{Loss}^{brem} (Z,T,k_c ) =\frac{Z(Z+ \xi_l)(T+m)^2 }
+      {(T+2m)}\left[\frac{k_c}{T}\right]^\beta (2-c_{lh} Z^{\frac{1}{4}} )
+        \frac{a + b \frac{T}{T_{lim}}}{1 + c \frac{T}{T_{lim}}}
+       \frac{f_l}{N_{Avo}}
+\end{equation}
+where $m$ is the mass of the electron, $\xi_l, \beta, c_{lh}, a,b,c$ are 
+constants, $f_l$ is a polynomial in $x = lg(T)$ with $Z$-dependent 
+coefficients for $x < x_l$ , $f_l= 1 $ for $x \ge x_l$. 
+  For low energies this expression should be divided by
+   
+\begin{equation}
+      \left(\frac{T_{lim}}{T}\right)^{c_l} 
+\end{equation}
+
+ and if $T < k_c$ the expression should be multiplied by 
+
+\begin{equation}
+      \left(\frac{T}{k_c}\right)^{a_l} 
+\end{equation}
+
+ with some constants $c_l, a_l$.
+ The numerical values of the parameters and the coefficients of the
+ polynomyals $f_s$ and $f_l$ can be found in the class code. 
+\\
+
+\noindent
+The errors of the parameterizations (\ref{ebrem.a}) and (\ref{ebrem.b})
+were estimated to be
+
+\begin{eqnarray*}
+\frac{\Delta\sigma} {\sigma} & = & \left \{
+\begin{array}{llr}
+         6-8 \%    & \mbox{for    } & T \leq 1 MeV \\
+        \leq 4-5\% & \mbox{for    } & 1 MeV < T 
+\end{array}
+\right . \\[1cm]
+\frac{\Delta E_{Loss}^{brem}}
+     {E_{Loss}^{brem}} & = & \left \{
+\begin{array}{llr}
+        8 -10\%    & \mbox{for    } & T \leq1 MeV  \\
+        5-6\%      & \mbox{for    } & 1 MeV < T .
+\end{array}
+\right .
+\end{eqnarray*}
+
+
+\noindent
+When running GEANT4, the energy loss due to soft photon bremsstrahlung is 
+tabulated at initialization time as a function of the medium and of the 
+energy, as is the mean free path for discrete bremsstrahlung.
+
+\subsubsection{Corrections for $e^+ e^-$ Differences}
+
+The preceding section has dealt exclusively with electrons.  One might expect
+that positrons could be treated the same way.  According to reference 
+\cite{ebrem.kim} however, \\
+{\it ``The differences between the radiative loss of positrons
+and electrons are considerable and cannot be disregarded.
+
+[...] The ratio of the radiative energy loss for positrons
+to that for electrons obeys a simple scaling law, [...] is a
+function only of the quantity $T/Z^2$''} \\
+
+\noindent
+The radiative energy loss for electrons or positrons is given by
+\begin{eqnarray*}
+-\frac{1}{\rho} \left ( \frac{dE}{dx} \right )_{rad}^{\pm} & = &
+\frac{N_{Av} \alpha r_e^2}{A} (T+m) Z^2 \Phi_{rad}^{\pm}(Z,T) \\
+\Phi^{\pm}_{rad}(Z,T) & = & \frac{1}{\alpha r_{e}^2 Z^2 (T+m)}
+\int^{T}_{0}{k\frac{d\sigma^{\pm}}{dk}dk}
+\end{eqnarray*}
+and it is the ratio
+\begin{eqnarray*}
+\eta & = & \frac{\Phi_{rad}^{+}(Z,T)}{\Phi_{rad}^{-}(Z,T)} =
+\eta \left (\frac{T}{Z^2}\right )
+\end{eqnarray*}
+that obeys the scaling law. \\
+
+\noindent 
+The authors have calculated this function in the range $10^{-7}
+\leq \frac{T}{Z^2} \leq 0.5$, where the kinetic energy $T$ is expressed in 
+MeV.  Their {\it data} can be fairly accurately reproduced using a 
+parametrization:
+
+\begin{eqnarray*}
+\eta & = & \left \{
+\begin{array}{llr}
+0 & \mbox{if   } & x \leq -8 \\
+\frac{1}{2} + \frac{1}{\pi} \arctan \left( a_1 x + a_3 x^3
++ a_5 x^5 \right ) & \mbox{if  } & -8 < x < 9 \\
+1 & \mbox{if   } & x \geq 9
+\end{array}
+\right .
+\end{eqnarray*}
+where
+\begin{eqnarray*}
+x & = & \log \left ( C \frac{T}{Z^2} \right ) \mbox{(T in GeV)} \\
+C & = & 7.5221 \times 10^{6} \\
+a_1 & = & 0.415 \\
+a_3 & = & 0.0021 \\
+a_5 & = & 0.00054 .
+\end{eqnarray*}
+
+
+\noindent
+The $e^+ e^-$ energy loss difference is not purely a low-energy phenomenon 
+(at least for high $Z$), as shown in Table~\ref{ebrem.c}.
+
+\begin{table}[hbt]
+\begin{centering}
+\begin{tabular}{rr|r|r} \hline
+\multicolumn{1}{c}{$\frac{T}{Z^2} (GeV)$}
+& \multicolumn{1}{c|}{T}
+& \multicolumn{1}{c|}{$\eta$}
+& \multicolumn{1}{c}{$\left ( \frac{rad. \ loss}{total \ loss}
+\right )_{e^-}$} \\[3mm] \hline
+$10^{-9}$ & $\sim 7 keV$ & $\sim 0.1$ & $\sim 0\%$ \\
+$10^{-8}$ & $67 keV $ & $\sim 0.2$ & $\sim 1\%$ \\
+$2 \times 10^{-7}$ & $1.35 MeV$ & $\sim 0.5$ & $\sim 15\%$ \\
+$2 \times 10^{-6}$ & $13.5 MeV$ & $\sim 0.8$ & $\sim 60\%$ \\
+$2 \times 10^{-5}$ & $135. MeV$ & $\sim 0.95$ & $> 90\%$ \\ \hline
+\end{tabular}
+\caption{ratio of the $e^+ e^-$ radiative energy loss in lead
+(Z=82).}
+\label{ebrem.c}
+\end{centering}
+\end{table}
+
+
+\noindent 
+The scaling property will be used to obtain the positron energy loss and 
+discrete bremsstrahlung from the corresponding electron values.  However, 
+while scaling holds for the ratio of the total radiative energy losses, it 
+is significantly broken for the photon spectrum in the screened case.  That is,
+\begin{eqnarray*}
+\frac{\Phi^+}{\Phi^-} = \eta \left ( \frac{T}{Z^2} \right )
+& \hspace{3cm} &
+\frac{\frac{d\sigma^+}{dk}}{\frac{d\sigma^-}{dk}} =
+\mbox{does not scale .}
+\end{eqnarray*}
+For the case of a point Coulomb charge, scaling would be restored for the 
+photon spectrum.  In order to correct for non-scaling, it is useful to note
+that in the photon spectrum from bremsstrahlung reported in \cite{ebrem.kim}:
+\begin{eqnarray*}
+\frac{d\sigma^{\pm}}{dk} = S^{\pm} \left( \frac{k}{T} \right )
+\hspace{2cm}
+\frac{S^{+}(k)}{S^{-}(k)} \leq 1 & \hspace{1cm} & S^{+}(1) = 0
+\hspace{2cm} S^{-}(1)  >  0
+\end{eqnarray*}
+One can further assume that
+\begin{eqnarray}
+\frac{d\sigma^+}{dk} = f(\epsilon) \frac{d\sigma^-}{dk} ,
+& \hspace{2cm} &
+\epsilon = \frac{k}{T}
+\label{ebrem.d}
+\end{eqnarray}
+and require
+\begin{eqnarray}
+\int^{1}_{0}{f(\epsilon)d\epsilon} & = & \eta
+\label{ebrem.e}
+\end{eqnarray}
+in order to approximately satisfy the scaling law for the ratio of the total 
+radiative energy loss.  From the photon spectra the boundary conditions
+\begin{eqnarray}
+\left .
+\begin{array}{l}
+f(0) = 1 \\
+f(1) = 0
+\end{array}
+\right \} \hspace{2cm} \mbox{for all $Z,T$}
+\label{ebrem.f}
+\end{eqnarray}
+may be inferred.  Choosing a simple function for $f$
+\begin{eqnarray}
+f(\epsilon) & = & C (1-\epsilon)^{\alpha} \hspace{3cm} C,\alpha > 0 ,
+\label{ebrem.g}
+\end{eqnarray}
+the conditions (\ref{ebrem.e}), (\ref{ebrem.f}) lead to:
+\begin{eqnarray*}
+C & = & 1 \\
+\alpha & = & \frac{1}{\eta} - 1 \hspace{2cm}
+\mbox{($\alpha > 0$ because $\eta < 1$)} \\
+f(\epsilon) & = & (1-\epsilon)^{\frac{1}{\eta}-1} .
+\end{eqnarray*}
+
+\noindent
+Now the weight factors $F_{l}$ and $F_{\sigma}$ for the positron continuous 
+energy loss and the discrete bremsstrahlung cross section can be defined:
+
+\begin{eqnarray}
+F_{l} = \frac{1}{\epsilon_{0}} \int^{\epsilon_{0}}_{0}
+{f(\epsilon)d\epsilon} & \hspace{3cm} &
+F_{\sigma} = \frac{1}{1-\epsilon_{0}} \int^{1}_{\epsilon_{0}}
+{f(\epsilon)d\epsilon}
+\label{ebrem.h}
+\end{eqnarray}
+where $\epsilon_{0} = \frac{k_c}{T}$ and $k_c$ is the photon cut.  In this 
+scheme the positron energy loss and discrete bremsstrahlung can be calculated 
+as:
+\begin{eqnarray*}
+\left ( - \frac{dE}{dx} \right )^{+} = F_{l}
+\left ( - \frac{dE}{dx} \right )^{-} & \hspace{2cm} &
+\sigma^{+}_{brems} = F_{\sigma} \sigma^{-}_{brems}
+\end{eqnarray*}
+
+\noindent
+In this approximation the photon spectra are identical, therefore the same 
+sampling is used for generating $e^-$ or $e^+$ bremsstrahlung.  The following 
+relations hold:
+\begin{eqnarray*}
+F_{\sigma} & = & \eta (1-\epsilon_{0})^{\frac{1}{\eta}-1}
+< \eta \\
+\epsilon_{0} F_{l} + (1-\epsilon_{0}) F_{\sigma} & = & \eta
+\hspace{6cm} \mbox{from the def (\ref{ebrem.h})} \\
+\Rightarrow F_{l} & = & \eta \frac{1-(1-\epsilon_{0})^{\frac{1}
+{\eta}})}{\epsilon_{0}} > \eta \frac{1-(1-\epsilon_{0})}
+{\epsilon_{0}} = \eta  \hspace{1cm}
+\Rightarrow   \left \{
+\begin{array}{l}
+F_{l} > \eta \\
+F_{\sigma} < \eta
+\end{array} \right .
+\end{eqnarray*}
+which is consistent with the spectra.  The effect of the difference in $e^-$
+and $e^+$ bremsstrahlung can also be seen in electromagnetic shower 
+development when the primary energy is not too high. 
+
+\subsubsection{Landau Pomeranchuk Migdal (LPM) effect}
+
+The LPM effect (see for example \cite{ebrem.galitsky, ebrem.anthony} ) is the 
+suppression of photon production due to the multiple scattering of the 
+electron.  If an electron undergoes multiple scattering while traversing the 
+so called ``formation zone'', the bremsstrahlung amplitudes from before and 
+after the scattering can interfere, reducing the probability of bremsstrahlung
+photon emission (a similar suppression occurs for pair production).  The 
+suppression becomes significant for photon energies below a certain value, 
+given by
+\begin{equation}
+\label{ebrem.k}
+ \frac{k}{E} < \frac{E}{E_{LPM}} ,
+\end{equation}
+where
+\[
+\begin{array}{ll}
+k    & \mbox{photon energy} \\
+E    & \mbox{electron energy} \\
+E_{LPM} & \mbox{characteristic energy for LPM effect (depend on the medium).} 
+\end{array}
+\]
+The value of the LPM characteristic energy can be written as
+\begin{equation}
+\label{ebrem.l}
+  E_{LPM} = \frac{\alpha m^2 X_0}{2 h c} ,
+\end{equation}
+where
+\[
+\begin{array}{ll}
+\alpha  & \mbox{fine structure constant} \\
+m       & \mbox{electron mass} \\
+X_0     & \mbox{radiation length in the material} \\
+h       & \mbox{Planck constant} \\
+c       & \mbox{velocity of light in vacuum.}
+\end{array} 
+\]
+The LPM suppression of the photon spectrum is given by the formula
+\begin{equation}
+\label{ebrem.m}
+  S_{LPM} = \sqrt{\frac{E_{LPM} \cdot k}{E^2}} ,
+\end{equation}
+while the dielectric suppression (included already in the parameterizations) 
+can be written as
+\begin{equation}
+\label{ebrem.n}
+  S_p = \frac{k^2}{k^2 + C_p \cdot E^2} ,
+\end{equation}
+where the quantity $C_p$ is given by
+\begin{equation}
+\label{ebrem.o}
+   C_p = \frac{r_0 \lambda^2_e n}{\pi} .
+\end{equation}
+In eq. \ref{ebrem.o} the parameters are
+\[
+\begin{array}{ll}
+r_0     & \mbox{classical electron radius} \\
+\lambda_e & \mbox{electron Compton wavelength} \\
+n       & \mbox{electron density in the material.}
+\end{array}
+\]
+
+\noindent 
+Both suppression effects reduce the effective formation length of the photon, 
+so the suppressions {\em do not simply multiply.}  For the total suppression 
+$S$ the following equation holds (see \cite{ebrem.galitsky})
+\begin{equation}
+\label{ebrem.p}
+  \frac{1}{S} = 1 + \frac{1}{S_p} + \frac{S}{S^2_{LPM}}
+\end{equation}
+which can be solved easily for $S$
+\begin{equation}
+\label{ebrem.q}
+  S = \frac{\sqrt{S^4_{LPM}\cdot (1 + \frac{1}{S_p})^2 + 4 \cdot S^2_{LPM}}
+      -S^2_{LPM} \cdot (1 + \frac{1}{S_p})}{2} .
+\end{equation}
+
+\noindent 
+The LPM effect was implemented by applying to the energy loss a factor 
+$\frac{S}{S_p}$, which depends on the energy and material.  This is done at 
+initialization time by computing the correction factor
+\begin{equation}
+\label{ebrem.r}
+   f_c = \frac{\int_0^{k_cut} n_\gamma (k) \cdot \frac{S}{S_p} dk}
+              {\int_0^{k_cut} n_\gamma (k) dk} ,
+\end{equation}
+where $n_\gamma(k)$ is the photon spectrum.  A similar correction has not been
+applied to the total cross section given by the parameterization \ref{ebrem.a}.
+Instead the LPM effect is included in the photon generation algorithm.
+
+\subsection{Simulation of Discrete Bremsstrahlung}
+
+The energy of the final state photons is sampled according to the spectrum 
+\cite{ebrem.seltzer} of Seltzer and Berger.  They have calculated the
+bremsstrahlung spectra for materials with atomic numbers Z = 6, 13, 29, 47, 
+74 and 92 in the electron kinetic energy range 1 keV - 10 GeV.  Their tabulated
+results have been used as input in a fit of the parameterized function
+
+\[
+S(x) = C k \frac{d \sigma}{d k} ,
+\]
+which will be used to form the rejection function for the sampling process.
+The parameterization can be written as
+\begin{equation}
+\label{eq:phys341-1}
+S(x) = \left \{
+\begin{array}{ll}
+(1-a_{h} \epsilon )F_{1}(\delta) + b_{h} \epsilon^{2} F_{2} (\delta)
+& T \geq 1 MeV \\
+1 + a_{l} x + b_{l} x^{2} & T < 1 MeV
+\end{array} \right .
+\end{equation}
+where
+\[
+\begin{array}{lcl} 
+C & & \mbox{normalization constant} \\
+k & & \mbox{photon energy} \\ [1mm]
+T, E & & \mbox{kinetic and total energy of the primary electron} \\
+x & = & \frac{k}{T} \\ [2mm]
+\epsilon & = & \frac{k}{E} = x \frac{T}{E} \\
+\end{array}
+\]
+and $a_{h,l}$ and $b_{h,l}$ are the parameters to be fitted.  The 
+$F_{i}(\delta)$ screening functions depend on the screening variable
+\[
+\begin{array}{lcll}
+\delta & = & \frac{136 m_{e}}{Z^{1/3} E} \frac{\epsilon}{1-\epsilon} \\
+F_{1}(\delta) & = & F_{0} (42.392 - 7.796 \delta +1.961 \delta^{2} - F)
+& \delta \leq 1 \\
+F_{2}(\delta) & = & F_{0} (41.734 - 6.484 \delta +1.250 \delta^{2} - F)
+& \delta \leq 1 \\
+F_{1}(\delta) & = & F_{2}(\delta) =
+F_{0} (42.24 - 8.368 \ln(\delta + 0.952) -F) & \delta > 1 \\
+F_{0} & = & \frac{1}{42.392-F} \\
+F & = & 4 \ln Z - 0.55 (\ln Z)^{2} .
+\end{array}
+\]
+
+\noindent 
+The ``high energy'' ($T >$  1 MeV) formula is essentially the 
+Coulomb-corrected, screened Bethe-Heitler formula (see e.g.
+\cite{ebrem.williams,ebrem.butcher,ebrem.egs4}).  However, 
+Eq.~(\ref{eq:phys341-1}) differs from Bethe-Heitler in two ways:
+\begin{enumerate}
+\item $a_{h}, b_{h}$ depend on $T$ and on the atomic number $Z$, whereas in
+the Bethe-Heitler spectrum they are fixed ($a_{h} = 1$, $b_{h} =0.75$);
+\item the function $F$ is not the same as that in the Bethe-Heitler
+cross-section;  the present function gives a better behavior in the
+high frequency limit, i.e. when $k \rightarrow T$  ($x \rightarrow 1$).
+\end{enumerate}
+
+\noindent 
+The $T$ and $Z$ dependence of the parameters are described by the equations:
+
+\begin{eqnarray*}
+a_{h} & = & 1 + \frac{a_{h1}}{u}+\frac{a_{h2}}{u^{2}}+\frac{a_{h3}}{u^{3}} \\
+b_{h} & = & 0.75+\frac{b_{h1}}{u}+\frac{b_{h2}}{u^{2}}+\frac{b_{h3}}{u^{3}} \\
+a_{l} & = & a_{l0} + a_{l1} u + a_{l2} u^{2} \\
+b_{l} & = & b_{l0} + b_{l1} u + b_{l2} u^{2} \\
+\mbox{with} \\
+u & = & \ln \left ( \frac{T}{m_{e}} \right )
+\end{eqnarray*}
+The parameters $a_{hi}, b_{hi}, a_{li}, b_{li}$ are polynomials of second order
+in the variable:
+
+\[
+v = [Z (Z+1)]^{1/3} .
+\]
+In the limiting case $T \rightarrow
+\infty$, $a_{h} \rightarrow 1, b_{h} \rightarrow 0.75$,
+Eq.~(\ref{eq:phys341-1}) gives the Bethe-Heitler cross section. \\
+
+\noindent
+There are altogether 36 linear parameters in the formulae and their values are
+given in the code.  This parameterization reproduces the Seltzer-Berger tables 
+to within 2-3 \% on average, with the maximum error being less than 10-12 \%.
+The original tables, on the other hand, agree well with the experimental data 
+and theoretical (low- and high-energy) results ($<$ 10 \% below 50 MeV and
+$<$ 5 \% above 50 MeV). \\
+
+\noindent 
+Apart from the normalization the cross section differential in photon
+energy can be written as
+\[
+\frac{d \sigma}{d k} = \frac{1}{\ln \frac{1}{x_{c}}} \frac{1}{x}
+g(x) = \frac{1}{\ln \frac{1}{x_{c}}} \frac{1}{x} \frac{S(x)}{S_{max}}
+\]
+where $x_{c} = k_{c}/T$ and $k_{c}$ is the photon cut-off energy below
+which the bremsstrahlung is treated as a continuous energy loss.  Using this 
+decomposition of the cross section and two random numbers $r_{1}$, $r_{2}$ 
+uniformly distributed in $[0,1]$, the sampling of $x$ is done as follows:
+\begin{enumerate}
+\item sample $x$ from
+\[
+\frac{1}{\ln \frac{1}{x_{c}}} \frac{1}{x} \mbox{\hspace{1cm}setting\hspace{1cm}}
+x = e^{r_{1} \ln x_{c}}
+\]
+
+\item calculate the rejection function $g(x)$ and:
+\begin{itemize}
+\item if $r_{2} > g(x)$ reject $x$ and go back to 1;
+\item if $r_{2} \leq g(x)$ accept $x$.
+\end{itemize}
+\end{enumerate}
+
+\noindent 
+The application of the dielectric suppression \cite{ebrem.migdal} and the LPM 
+effect requires that $\epsilon$ also be sampled.  First, the rejection 
+function must be multiplied by a suppression factor 
+\[
+C_M (\epsilon)  =\frac{1 + C_0 / \epsilon_c^2}
+               {1 + C_0 / \epsilon^2}
+\]
+where
+\[
+C_0 =\frac{nr_0 \lambda^2 }{\pi}, \hspace{1cm} \epsilon_c = \frac{k_{c}}{E}
+\]
+\begin{itemize}
+\item[$n$]           electron density in the medium
+\item[$r_0$]         classical electron radius
+\item[$\lambda$]    reduced Compton wavelength of the electron.
+\end{itemize}
+Apart from the Migdal correction factor, this is simply expression 
+\ref{ebrem.n} .  This correction decreases the cross-section for low photon 
+energies. \\
+
+\noindent 
+While sampling $\epsilon$, the suppression factor $f_{LPM}=\frac{S}{S_p}$ is
+also used as a rejection function in order to take into account the LPM effect.
+Here the supression factor is compared to a random number $r$ uniformly
+distributed in the interval $[0,1]$.  If $f_{LPM} \geq r$ the simulation
+continues, otherwise the bremsstrahlung process concludes {\em without photon 
+production}.  It can be seen that this procedure performs the LPM suppression 
+correctly. \\
+
+\noindent
+After the successful sampling of $\epsilon$, the polar angles of the radiated 
+photon are generated with respect to the parent electron's momentum.  It is 
+difficult to find simple formulae for this angle in the literature.  For 
+example the double differential cross section reported by 
+Tsai~\cite{ebrem.tsai1,ebrem.tsai2} is
+\begin{eqnarray*}
+\frac{d \sigma}{dkd \Omega}
+& = & \frac{2 \alpha^{2}e^{2}}{\pi k m^{4}}
+  \left\{ \left[ \frac{2\epsilon-2}{(1+u^2)^2}+
+\frac{12u^2(1-\epsilon)}{(1+u^2)^4}\right]
+      Z(Z+1)  \right. \\
+&   & \mbox{} + \left. \left[ \frac{2-2\epsilon-\epsilon^{2}}{(1+u^2)^2}-
+      \frac{4u^2(1-\epsilon)}{(1+u^2)^4}
+      \right]
+      \left[ X-2Z^{2}f_{c}((\alpha Z)^{2})\right]
+      \right\} \\
+u & = & \frac{E \theta}{m} \\
+X & = & \int_{t_{min}}^{m^{2}(1+u^{2})^{2}}
+{\left [ G_{Z}^{el}(t) + G_{Z}^{in}(t) \right ] \frac{t-t_{min}}
+{t^{2}} dt} \\
+G_{Z}^{el, in}(t) & & \mbox{atomic form factors} \\
+t_{min} & = & \left [ \frac{k m^{2} (1+u^{2})}{2 E (E-k)} \right ] ^{2}
+ = \left [ \frac{\epsilon m^{2} (1+u^{2})}{2 E (1-\epsilon)} \right ] ^{2} .
+\end{eqnarray*}
+The sampling of this distribution is complicated.  It is also only an
+approximation to within a few percent, due at least to the presence of the 
+atomic form factors.  The angular dependence is contained in the variable 
+$u = E \theta m^{-1}$.  For a given value of $u$ the dependence of the shape 
+of the function on $Z$, $E$ and $\epsilon = k/E$ is very weak.  Thus, the 
+distribution can be approximated by a function
+\begin{equation}
+f(u) = C \left( u e^{-au} + d u e^{-3au} \right)
+\end{equation}
+where
+\[
+C = \frac{9a^{2}}{9 + d} \hspace{1cm} a = 0.625 \hspace{1cm}
+d = 27
+\]
+where $E$ is in GeV.  While this approximation is good at high energies,
+it becomes less accurate around a few MeV.  However in that region the
+ionization losses dominate over the radiative losses. \\
+
+\noindent 
+The sampling of the function $f(u)$ can be done with three random numbers
+$r_i$, uniformly distributed on the interval [0,1]: 
+\begin{enumerate}
+\item choose between $u e^{-au}$ and $d u e^{-3au}$:
+\[
+b = \left \{ \begin{array}{ll}
+a & \mbox{if\hspace{0.5cm}}r_{1} < 9/(9+d) \\
+3a & \mbox{if\hspace{0.5cm}}r_{1} \geq 9/(9+d)
+\end{array} \right .
+\]
+\item sample $u e^{-bu}$:
+\[
+u=-\frac{\log ( r_{2} r_{3}) }{b}
+\]
+\item check that:
+\[
+u \leq u_{max} = \frac{E \pi}{m}
+\]
+otherwise go back to 1.
+\end{enumerate}
+The probability of failing the last test is reported in
+table~\ref{tb:phys341-1}. \\
+
+\begin{table}
+\begin{centering}
+\begin{tabular}{|l|l|}
+\multicolumn{2}{c}{$\displaystyle
+P = \int^{\infty}_{u_{max}}{f(u) \: du} \hfill $} \\ [0.5cm]
+\hline
+E (MeV) & P(\%) \\ \hline
+0.511 & 3.4 \\
+0.6 &  2.2 \\
+0.8 & 1.2 \\
+1.0 & 0.7 \\
+2.0 & $<$ 0.1 \\ \hline
+\end{tabular}
+\caption{Angular sampling efficiency}
+\label{tb:phys341-1}
+\end{centering}
+\end{table}
+
+
+\noindent 
+The function $f(u)$ can also be used to describe the angular distribution of 
+the photon in $\mu$ bremsstrahlung and to describe the angular distribution in
+photon pair production. \\
+
+\noindent
+The azimuthal angle $\phi$ is generated isotropically.  Along with $\theta$,
+this information is used to calculate the momentum vectors of the radiated
+photon and parent recoiled electron, and to transform them to the 
+global coordinate system. 
+The momentum transfer to the atomic nucleus is neglected. 
+
+\subsection{Status of this document}
+09.10.98 created by L. Urb\'an. \\
+21.03.02 modif in angular distribution (M.Maire) \\
+27.05.02 re-written by D.H. Wright \\
+01.12.03 minor update by V. Ivanchenko     \\
+20.05.04 updated by L.Urban \\
+09.12.05 minor update by V. Ivanchenko     \\
+15.03.07 modify definition of Elpm (mma)     \\
+  
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+\bibitem{eedl}
+  S.T.Perkins, D.E.Cullen, S.M.Seltzer, UCRL-50400 Vol.31
+\bibitem{ebrem.geant3}
+  GEANT3 manual ,CERN Program Library Long Writeup W5013 (October 1994).
+\bibitem{ebrem.galitsky}
+  V.M.Galitsky and I.I.Gurevich. Nuovo Cimento 32 (1964) 1820.
+\bibitem{ebrem.anthony}
+  P.L. Anthony et al. SLAC-PUB-7413/LBNL-40054 (February 1997)
+\bibitem{ebrem.seltzer}
+  S.M.Seltzer and M.J.Berger. Nucl.Inst.Meth. 80 (1985) 12.
+\bibitem{ebrem.egs4} W.R. Nelson et al.:The EGS4 Code System.
+   {\em SLAC-Report-265 , December 1985 }
+\bibitem{ebrem.messel}
+  H.Messel and D.F.Crawford. Pergamon Press,Oxford,1970.
+\bibitem{ebrem.migdal}
+   A.B. Migdal. Phys.Rev. 103. (1956) 1811.
+\bibitem{ebrem.kim} 
+   L. Kim et al. Phys. Rev. A33 (1986) 3002.
+\bibitem{ebrem.williams}
+   R.W. Williams, Fundamental Formulas of Physics, vol.2., Dover Pubs. (1960).
+\bibitem{ebrem.butcher}
+   J. C. Butcher and H. Messel. Nucl.Phys. 20. (1960) 15.
+\bibitem{ebrem.tsai1}
+   Y-S. Tsai, Rev. Mod. Phys. 46. (1974) 815.
+\bibitem{ebrem.tsai2}
+   Y-S. Tsai, Rev. Mod. Phys. 49. (1977) 421.
+
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item S.T.Perkins, D.E.Cullen, S.M.Seltzer, UCRL-50400 Vol.31
+\item GEANT3 manual ,CERN Program Library Long Writeup W5013 (October 1994).
+\item V.M.Galitsky and I.I.Gurevich. Nuovo Cimento 32 (1964) 1820.
+\item P.L. Anthony et al. SLAC-PUB-7413/LBNL-40054 (February 1997)
+\item S.M.Seltzer and M.J.Berger. Nucl.Inst.Meth. 80 (1985) 12.
+\item W.R. Nelson et al.:The EGS4 Code System.
+   {\em SLAC-Report-265 , December 1985 }
+\item H.Messel and D.F.Crawford. Pergamon Press,Oxford,1970.
+\item A.B. Migdal. Phys.Rev. 103. (1956) 1811.
+\item L. Kim et al. Phys. Rev. A33 (1986) 3002.
+\item R.W. Williams, Fundamental Formulas of Physics, vol.2., Dover Pubs. (1960).
+\item J. C. Butcher and H. Messel. Nucl.Phys. 20. (1960) 15.
+\item Y-S. Tsai, Rev. Mod. Phys. 46. (1974) 815.
+\item Y-S. Tsai, Rev. Mod. Phys. 49. (1977) 421.
+\end{enumerate}
+
+\end{htmlonly}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/eion.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/eion.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/eion.tex	(revision 1208)
@@ -0,0 +1,253 @@
+\section[Ionization]{Ionization} \label{sec:em.eion}
+
+\subsection{Method}
+
+The $G4eIonisation$ class provides the continuous and discrete
+energy losses of electrons and positrons due to ionization in a material
+according to the approach described in Section \ref{en_loss}. 
+The value of the maximum energy transferable to a free electron $T_{max}$ 
+is given by the following relation:
+\begin{equation}
+\label{eion.c}
+T_{max} = \left\{ \begin{array}{ll}
+             E-mc^2 & {for \hspace{.2cm} e^+}  \\
+             (E-mc^2)/2 & {for \hspace{.2cm} e^- } \\
+              \end{array} \right .
+\end{equation}
+where $mc^2$ is the electron mass.  
+Above a given threshold energy the energy loss is simulated by the 
+explicit production of delta rays by M\"{o}ller scattering ($e^- e^-$), or 
+Bhabha scattering ($e^+ e^-$).  Below the threshold the soft electrons 
+ejected are simulated as continuous energy loss by the incident
+${e^{\pm}}$.
+
+\subsection{Continuous Energy Loss} \label{seceloss}
+
+The integration of \ref{comion.a} leads to the Berger-Seltzer 
+formula \cite{eion.messel}:
+\begin{equation}
+\label{eion.d}
+\left. \frac{dE}{dx} \right]_{T < T_{cut}} =
+       2 \pi r_e^2 mc^2 n_{el} \frac{1}{\beta^2}
+       \left [\ln \frac{2(\gamma + 1)} {(I/mc^2)^2}+ F^{\pm} (\tau , \tau_{up})
+       - \delta \right ]
+\end{equation}
+with
+\[
+\begin{array}{ll}
+r_e          & \mbox{classical electron radius:} 
+                  \quad e^2/(4 \pi \epsilon_0 mc^2 )        \\
+mc^2         & \mbox{mass energy of the electron}           \\
+n_{el}       & \mbox{electron density in the material}      \\
+I            & \mbox{mean excitation energy in the material}\\
+\gamma       & \mbox{$E/mc^2$}                              \\
+\beta^2      & 1-(1/\gamma^2)                               \\
+\tau         & \gamma-1                                     \\
+T_{cut}      & \mbox{minimum energy cut for $\delta$ -ray production} \\
+\tau_c       & \mbox{$T_{cut}/mc^2$}                        \\
+\tau_{max}   & \mbox{maximum energy transfer:
+                     $\tau$ for $e^+$, $\tau/2$ for $e^-$}  \\
+\tau_{up}    & \min(\tau_c,\tau_{max})                      \\
+\delta       & \mbox{density effect function} .
+\end{array}
+\]
+In an elemental material the electron density is
+$$ n_{el} = Z \: n_{at} = Z \: \frac{\mathcal{N}_{av} \rho}{A} . $$
+$\mathcal{N}_{av}$ is Avogadro's number, $\rho$ is the material density, 
+and $A$ is the mass of a mole.  In a compound material
+$$ 
+n_{el} = \sum_i Z_i \: n_{ati} 
+       = \sum_i Z_i \: \frac{\mathcal{N}_{av} w_i \rho}{A_i} ,
+$$
+where $w_i$ is the proportion by mass of the $i^{th}$ element, with molar 
+mass $A_i$ .
+\par
+\noindent 
+The mean excitation energies $I$ for all elements are taken from 
+\cite{ioni.icru1}.
+\par
+\noindent 
+The functions $ F^{\pm}$  are given by :
+\begin{eqnarray}
+F^+ (\tau,\tau_{up}) & = &\ln(\tau\tau_{up} ) \\ 
+ & & -\frac{\tau_{up}^2}{\tau}\left[\tau + 2 \tau_{up} -
+\frac{3\tau_{up}^2 y } {2} -\left(\tau_{up} - \frac{\tau_{up}^3 }{3} \right) y^2
+- \left (\frac{\tau_{up}^2}{2} - \tau
+       \frac{\tau_{up}^3}{3} + \frac{\tau_{up}^4 } {4} \right)
+          y^3  \right]  \nonumber
+\end{eqnarray}
+
+\begin{eqnarray}
+F^- (\tau,\tau_{up} ) & = & -1 -\beta^2 \\
+ & & +\ln \left [(\tau - \tau_{up})
+\tau_{up} \right ] + \frac{\tau}{\tau -\tau_{up}}
++ \frac{1}{\gamma^2} \left [
+\frac{\tau_{up}^2}{2} + ( 2\tau +1) \ln
+\left (1- \frac{\tau_{up}}{\tau} \right ) \right ]   \nonumber
+\end{eqnarray}
+where $y = 1/(\gamma+1)$.
+
+ 
+The density effect correction is calculated according to the formalism of 
+Sternheimer \cite{eion.sternheimer}: 
+\input{electromagnetic/utils/densityeffect}
+
+\subsection{Total Cross Section per Atom and Mean Free Path } \label{sectot}
+
+The total cross section per atom for M\"{o}ller scattering ($e^- e^-$) and
+Bhabha scattering ($e^+ e^-$) is obtained by integrating Eq.~\ref{comion.b}.
+In {\sc Geant4} $T_{cut}$ is always 1 keV or larger.  For delta ray energies
+much larger than the excitation energy of the material ($T \gg I$), the 
+total cross section becomes \cite{eion.messel} for M\"{o}ller scattering, 
+\begin{eqnarray}
+\sigma ( Z,E,T_{cut} ) & = & \frac {2 \pi r_e^2 Z}{\beta^2(\gamma -1)} \times \\
+ & &     \left[\frac{(\gamma-1)^2} {\gamma^2}\left(\frac{1}{2}-x\right)
+         +\frac{1}{x}-\frac{1}{1-x}-\frac{2\gamma-1}{\gamma^2}\ln
+         \frac{1-x}{x}\right] , \nonumber
+\end{eqnarray}
+and for Bhabha scattering ($e^+ e^-$),
+\begin{eqnarray}
+\sigma (Z,E,T_{cut}) & = & \frac{ 2 \pi r_e^2 Z }{(\gamma -1)} \times \\
+  & &  \left [\frac {1 }{\beta^2}  \left(\frac{1}{x}-1\right)
+       + B_1 \ln x + B_2 (1-x) -
+       \frac {B_3 } {2} ( 1-x^2 ) +\frac{B_4}{3}(1-x^3)\right] .  \nonumber
+\end{eqnarray}
+Here
+\[
+\begin{array}{lcllcl}
+ \gamma  & = & E/mc^2                &
+ B_1     & = & 2-y^2                \\
+ \beta^2 & = & 1-(1/\gamma^2)        &
+ B_2     & = & (1-2y)(3+y^2 )       \\
+ x       & = & T_{cut}/(E-mc^2)      &
+ B_3     & = & (1-2y)^2+(1-2y)^3    \\
+ y       & = & 1/(\gamma + 1)        &
+ B_4     & = & (1-2y)^3 .  
+\end{array}
+\]
+The above formulae give the total cross section for scattering above the 
+threshold energies
+
+\begin{equation}
+T_{\rm Moller}^{\rm thr} =2T_{cut}  \mbox{\hspace{2cm}and\hspace{2cm}}
+T_{\rm Bhabha}^{\rm thr} = T_{cut} .
+\end{equation}
+
+\noindent
+In a given material the mean free path is then
+\begin{equation}
+\begin{array}{lll} 
+\lambda = (n_{at} \cdot \sigma)^{-1} & or &
+\lambda = \left( \sum_i n_{ati} \cdot \sigma_i \right)^{-1} .
+\end{array}
+\end{equation}
+
+\subsection{Simulation of Delta-ray Production}
+\subsubsection{Differential Cross Section}
+
+For $T \gg I$ the differential cross section per atom becomes 
+\cite{eion.messel} for M\"{o}ller scattering,
+\begin{eqnarray}
+\label{eion.i}
+\frac{d\sigma }{d \epsilon } &=& \frac{2 \pi r_e^2 Z}{\beta^2 (\gamma -1)}
+\times \\
+ & & \left[ \frac{(\gamma -1 )^2}  {\gamma^2 }+\frac{1}{\epsilon}
+     \left(\frac{1}{\epsilon}-\frac{2 \gamma -1 } {\gamma^2 } \right) +
+     \frac{1}{1- \epsilon}\left(\frac{1} {1- \epsilon} - \frac{2 \gamma - 1}
+     {\gamma^2 }\right)  \right] \nonumber
+\end{eqnarray}
+and for Bhabha scattering,
+\begin{equation}
+\label{eion.j}
+\frac{d \sigma}{d \epsilon}=\frac{2 \pi r_e^2 Z}{(\gamma -1)}\left[
+\frac{1} {\beta^2 \epsilon^2}-\frac{B_1}{\epsilon}+B_2 - B_3 \epsilon
++ B_4 \epsilon^2\right] .
+ \end{equation}
+Here $\epsilon = T/(E-mc^2)$.  The kinematical limits of $\epsilon$ are
+\[
+\epsilon_0 = \frac{T_{cut}}{E-mc^2} \leq \epsilon \leq \frac{1}{2}
+\mbox{\hspace{.2cm} for $e^- e^-$} \hspace{2cm}
+\epsilon_0 = \frac{T_{cut}}{E-mc^2} \leq \epsilon \leq 1
+\mbox{\hspace{.2cm} for $e^+ e^-$} .
+\]
+
+\subsubsection{Sampling}
+The delta ray energy is sampled according to methods discussed in 
+Chapter \ref{secmessel}.  Apart from normalization, the cross section can 
+be factorized as
+\begin{equation}
+\frac{d\sigma}{d\epsilon}=f(\epsilon) g(\epsilon) .
+\end{equation}
+For $e^- e^-$ scattering
+\begin{eqnarray}
+f(\epsilon)&=&\frac{1}{\epsilon^2} \frac{\epsilon_0 }{1- 2\epsilon_0} \\
+g(\epsilon)&=&\frac{4}{9\gamma^2 - 10 \gamma + 5}\left[(\gamma -1)^2
+\epsilon^2 - (2 \gamma^2 +2\gamma -1) \frac{\epsilon} {1- \epsilon }+
+\frac{\gamma^2}{(1- \epsilon )^2 }\right]
+\end{eqnarray}
+and for $e^+ e^-$ scattering
+\begin{eqnarray}
+  f(\epsilon)&=&\frac{1}{\epsilon^2} \frac{\epsilon_0}{1- \epsilon_0 } \\
+  g(\epsilon)&=&\frac{B_0 -B_1 \epsilon +B_2 \epsilon^2
+       -B_3 \epsilon^3 +B_4 \epsilon ^4}{B_ 0-B_1\epsilon_0
+       +B_2\epsilon_0^2
+       -B_3 \epsilon_0^3 +B_4 \epsilon_0^4} .
+\end{eqnarray}
+Here $ B_0=\gamma^2/(\gamma^2-1)$ and all other quantities have been defined
+above.
+
+
+To choose $\epsilon$, and hence the delta ray energy,
+\begin{enumerate}
+\item $\epsilon$ is sampled from $f(\epsilon)$
+\item the rejection function $g(\epsilon)$ is calculated using the sampled
+      value of $\epsilon$
+\item $\epsilon$ is accepted with probability $g(\epsilon)$.
+\end{enumerate}
+After the successful sampling of $\epsilon$, the direction of the ejected 
+electron is generated with respect to the direction of the incident 
+particle.  The azimuthal angle $\phi$ is generated isotropically and the 
+polar angle $\theta$ is calculated from energy-momentum conservation.
+This information is used to calculate the energy and momentum of both the
+scattered incident particle and the ejected electron, and to transform them 
+to the global coordinate system.
+
+\subsection{Status of this document}
+ \ 9.10.98 created by L. Urb\'an. \\
+  29.07.01 revised by M.Maire.     \\
+  13.12.01 minor cosmetic by M.Maire.  \\
+  24.05.02 re-written by D.H. Wright. \\
+  01.12.03 revised by V. Ivanchenko.    \\
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+
+\bibitem{eion.messel}
+  H.Messel and D.F.Crawford. Pergamon Press,Oxford,1970.
+\bibitem{ioni.icru1} 
+  ICRU Report No. 37 (1984)
+\bibitem{eion.sternheimer}
+  R.M.Sternheimer. Phys.Rev. B3 (1971) 3681.
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item H.Messel and D.F.Crawford. Pergamon Press,Oxford,1970.
+\item ICRU Report No. 37 (1984)
+\item R.M.Sternheimer. Phys.Rev. B3 (1971) 3681.
+\end{enumerate}
+
+\end{htmlonly}
+
+
+
+
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/hion.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/hion.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/hion.tex	(revision 1208)
@@ -0,0 +1,231 @@
+\section[Ionization]{Ionization}
+
+\subsection{Method}
+ 
+ The class $G4hIonisation$ provides the continuous energy loss due to 
+ionization and simulates the 'discrete' part of the ionization, that is, 
+delta rays produced by charged hadrons.  The class $G4ionIonisation$ is
+intended for the simulation of energy loss by ions and the approach described 
+in Section \ref{en_loss} is used.  The value of the maximum energy 
+transferable to a free electron $T_{max}$ is given by the following relation:
+\begin{equation}
+\label{hion.c}
+T_{max} =\frac{2mc^2(\gamma^2 -1)}{1+2\gamma (m/M)+(m/M)^2 },
+\end{equation}
+where $m$ is the electron mass and $M$ is the mass of the incident particle.
+The method of calculation of the continuous energy loss and the total 
+cross-section are explained below. 
+
+\subsection{Continuous Energy Loss}
+
+The integration of \ref{comion.a} leads to the Bethe-Bloch restricted energy 
+loss formula \cite{hion.pdg} :
+\begin{equation}
+\label{hion.d}
+\left. \frac{dE}{dx} \right]_{T < T_{cut}} =
+       2 \pi r_e^2 mc^2 n_{el} \frac{(z_p)^2}{\beta^2}
+       \left [\ln \left(\frac{2mc^2 \beta^2 \gamma^2 T_{up}} {I^2} \right)
+       - \beta^2 \left( 1 + \frac{T_{up}}{T_{max}} \right)
+       - \delta - \frac{2C_e}{Z} \right ]
+\end{equation}
+ where
+\[
+\begin{array}{ll}
+r_e          & \mbox{classical electron radius:} 
+                  \quad e^2/(4 \pi \epsilon_0 mc^2 )        \\
+mc^2         & \mbox{mass-energy of the electron}           \\
+n_{el}       & \mbox{electrons density in the material}     \\
+I            & \mbox{mean excitation energy in the material}\\
+\gamma       & \mbox{$E/mc^2$}                              \\
+\beta^2      & 1-(1/\gamma^2)                               \\
+T_{up}       & \min(T_{cut},T_{max})                        \\
+\delta       & \mbox{density effect function}               \\
+C_e          & \mbox{shell correction function}
+\end{array}
+\]
+In a single element the electron density is
+$$ n_{el} = Z \: n_{at} = Z \: \frac{\mathcal{N}_{av} \rho}{A} $$
+($\mathcal{N}_{av}$: Avogadro number, $\rho$: density of the material, 
+ $A$: mass of a mole).  In a compound material
+$$ 
+n_{el} = \sum_i Z_i \: n_{ati} 
+       = \sum_i Z_i \: \frac{\mathcal{N}_{av} w_i \rho}{A_i} . 
+$$
+$w_i$ is the proportion by mass of the $i^{th}$ element, with molar mass $A_i$.
+
+
+The mean excitation energy $I$ for all elements is tabulated according to 
+the ICRU recommended values \cite{hion.icru1}.
+
+\subsubsection{Density Correction} 
+
+$\delta$ is a correction term which takes into account the reduction in energy 
+loss due to the so-called {\it density effect}.  This becomes important at 
+high energies because media have a tendency to become polarized as the 
+incident particle velocity increases.  As a consequence, the atoms in a 
+medium can no longer be considered as isolated.  To correct for this effect 
+the formulation of Sternheimer~\cite{hion.sternheimer} is used:
+\input{electromagnetic/utils/densityeffect}
+
+\subsubsection{Shell Correction} 
+
+$2C_e/Z$ is the so-called {\it shell correction term} which accounts for the 
+fact that, at low energies for light elements and at all energies for heavy 
+ones, the probability of collision with the electrons of the inner atomic 
+shells (K, L, etc.) is negligible.  The semi-empirical formula used 
+in {\sc Geant4}, applicable to all materials, is due to 
+Barkas \cite{hion.barkas}:
+\begin{equation}
+\label{hion.dd}
+C_e(I, \beta\gamma) = \frac{a(I)}{(\beta\gamma)^2}
+                     +\frac{b(I)}{(\beta\gamma)^4}
+                     +\frac{c(I)}{(\beta\gamma)^6} .
+\end{equation}
+The functions a(I), b(I) and c(I) can be found in the source code.  This 
+formula breaks down at low energies, and is valid only when
+$\beta\gamma > 0.13$ ($T > 7.9$ MeV for a proton).  For $\beta\gamma \leq
+0.13$ the shell correction term is calculated as:
+\begin{equation}
+\label{hion.ddd}
+\left . C_{e}(I,\beta\gamma) \rule{0mm}{5mm} \right |_{\beta\gamma \leq 0.13}
+ = C_{e}(I,\beta\gamma=0.13)\frac{\ln(T/T_{2l})}{\ln(7.9 \: \rm MeV/T_{2l})},
+\end{equation}
+i.e. the correction is switched off logarithmically from $T=7.9$ MeV
+to $T=T_{2l}=2$ MeV.
+
+\subsubsection{Parameterization} 
+
+The mean energy loss can be described by the Bethe-Bloch formula
+(\ref{muion1}) only if the projectile velocity is larger than that of the
+orbital electrons.  In the low-energy region this is not the case, and the 
+parameterization from the ICRU'49 report \cite{hion.ICRU49} is used in the 
+$G4BraggModel$ class. The Bethe-Bloch model is applied for higher kinetic 
+energies of incident particles
+\begin{equation}
+\label{muion.lowen1}
+T > 2 * M/M_{proton} MeV,
+\end{equation}
+where $M$ is the particle mass.  The details of the low energy
+parameterization are described in Section \ref{le_had_ion}.
+
+
+\subsection{Total Cross Section per Atom and Mean Free Path}
+
+For $T \gg I $ the differential cross section can be written as
+\begin{equation}
+\label{hion.i}
+\frac{d\sigma }{dT} = 2\pi r_e^2 mc^2 Z \frac{z_p^2}{\beta^2} \frac{1}{T^2}
+     \left[ 1 - \beta^2 \frac{T}{T_{max}} + \frac{T^2}{2E^2} \right] 
+\end{equation}
+\cite{hion.pdg}.  In {\sc Geant4} $T_{cut} \geq 1$ keV.  Integrating from
+$T_{cut}$ to $T_{max}$ gives the total cross section per atom :
+\begin{eqnarray}
+\label{hion.j}
+\sigma (Z,E,T_{cut}) & = & \frac {2\pi r_e^2 Z z_p^2}{\beta^2} mc^2 \times 
+  \\ & &     \left[ \left( \frac{1}{T_{cut}} - \frac{1}{T_{max}} \right)
+                   - \frac{\beta^2}{T_{max}} \ln \frac{T_{max}}{T_{cut}}
+                   + \frac{T_{max} - T_{cut}}{2E^2} 
+             \right]  \nonumber   
+\end{eqnarray}
+The last term is for spin $1/2$ only.  In a given material the mean free path 
+is:
+\begin{equation}
+\begin{array}{lll} 
+\lambda = (n_{at} \cdot \sigma)^{-1} & or &
+\lambda = \left( \sum_i n_{ati} \cdot \sigma_i \right)^{-1}
+\end{array}
+\end{equation}
+The mean free path is tabulated during initialization as a function of the
+material and of the energy for all kinds of charged particles.
+
+\subsection{Simulating Delta-ray Production}
+
+A short overview of the sampling method is given in Chapter \ref{secmessel}.
+Apart from the normalization, the cross section \ref{hion.i} can be 
+factorized :
+\begin{eqnarray}
+\frac{d\sigma}{dT}=f(T) g(T) &with& T \in [T_{cut}, \ T_{max}]
+\end{eqnarray}
+where
+\begin{eqnarray}
+f(T) &=& \left(\frac{1}{T_{cut}} - \frac{1}{T_{max}} \right) \frac{1}{T^2} \\
+g(T) &=& 1 - \beta^2 \frac{T}{T_{max}} + \frac{T^2}{2E^2} .
+\end{eqnarray}
+The last term in $g(T)$ is for spin $1/2$ only.  The energy $T$ is chosen by
+\begin{enumerate}
+\item sampling $T$ from $f(T)$
+\item calculating the rejection function $g(T)$ and accepting the sampled 
+$T$ with a probability of $g(T)$.
+\end{enumerate}
+After the successful sampling of the energy, the direction
+of the scattered electron is generated with respect to the direction of the
+incident particle. The azimuthal angle $\phi$ is generated isotropically. 
+The polar angle $\theta$ is calculated from energy-momentum conservation.
+This information is used to calculate the energy and momentum of both 
+scattered particles and to transform them into the {\em global} coordinate 
+system.
+
+\subsubsection{Ion Effective Charge}
+
+As ions penetrate matter they exchange electrons with the medium. In the 
+implementation of $G4ionIonisation$ the effective charge approach is 
+used \cite{hion.Ziegler85}. 
+A state of equilibrium between the ion and the medium is assumed, so that 
+the ion's effective charge can be calculated as a function of its kinetic 
+energy in a given material.  This is done according to the approximation 
+described in Section \ref{le_had_ion}. Before and after each step the dynamic 
+charge of the ion is recalculated and saved in $G4DynamicParticle$, where 
+it can be used not only for energy loss calculations but also for the
+sampling of transportation in an electromagnetic field.
+
+
+\subsection{Status of this document}
+  09.10.98  created by L. Urb\'an. \\
+  14.12.01  revised by M.Maire \\
+  29.11.02  re-worded by D.H. Wright \\
+  01.12.03 revised by V. Ivanchenko     \\
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+
+\bibitem{hion.pdg}
+  Particle Data Group. Rev. of Particle Properties.
+   Eur. Phys. J. C15. (2000) 1. http://pdg.lbl.gov  
+\bibitem{hion.icru1} 
+  ICRU Report No. 37 (1984)
+\bibitem{hion.sternheimer}
+  R.M.Sternheimer. Phys.Rev. B3 (1971) 3681.
+\bibitem{hion.barkas}
+  W. H. Barkas. Technical Report 10292,UCRL, August 1962.
+\bibitem{hion.ICRU49}ICRU (A.~Allisy et al),
+Stopping Powers and Ranges for Protons and Alpha
+Particles,
+ICRU Report 49, 1993.
+\bibitem{hion.Ziegler85}J.F.~Ziegler, J.P.~Biersack, U
+.~Littmark, The Stopping
+and Ranges of Ions in Solids. Vol.1, Pergamon Press, 1985.
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item Particle Data Group. Rev. of Particle Properties.
+   Eur. Phys. J. C15. (2000) 1. http://pdg.lbl.gov  
+\item ICRU Report No. 37 (1984)
+\item R.M.Sternheimer. Phys.Rev. B3 (1971) 3681.
+\item W.H. Barkas. Technical Report 10292,UCRL, August 1962.
+\item ICRU (A.~Allisy et al),
+Stopping Powers and Ranges for Protons and Alpha Particles,
+ICRU Report 49, 1993.
+\item J.F.~Ziegler, J.P.~Biersack, U.~Littmark, The Stopping
+and Ranges of Ions in Solids. Vol.1, Pergamon Press, 1985.
+\end{enumerate}
+
+\end{htmlonly}
+
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/msc.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/msc.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/msc.tex	(revision 1208)
@@ -0,0 +1,788 @@
+
+
+\section[Multiple Scattering]{Multiple Scattering}
+
+ Geant4 uses a new multiple scattering (MSC) model to simulate the
+multiple scattering of charged particles in matter.  This model does not use 
+the Moliere formalism \cite{msc.moliere}, but is based on the more complete 
+Lewis theory \cite{msc.lewis}.  The model simulates the scattering of the
+particle after a given step, and also computes the path length
+correction and the lateral displacement.
+
+\subsection{Introduction}
+
+MSC simulation algorithms can be classified as either {\em detailed} or 
+{\em condensed}.  In the detailed algorithms, all the collisions/interactions 
+experienced by the particle are simulated.  This simulation can be considered 
+as exact;  it gives the same results as the solution of the transport equation.
+However, it can be used only if the number of collisions is not too large, a 
+condition fulfilled only for special geometries (such as thin foils), or low
+enough kinetic energies.  For larger kinetic energies the average number of 
+collisions is very large and the detailed simulation becomes very inefficient.
+High energy simulation codes use condensed simulation algorithms, in which
+the global effects of the collisions are simulated at the end of a track 
+segment.  The global effects generally computed in these codes are the net
+displacement, energy loss, and change of direction of the charged particle. 
+These quantities are computed from the multiple scattering theories used in 
+the codes.  The accuracy of the condensed simulations is limited by the 
+approximations of the multiple scattering theories. \\
+
+\noindent
+Most particle physics simulation codes use the multiple scattering theories
+of Moli\`ere \cite{msc.moliere}, Goudsmit and Saunderson \cite{msc.goudsmit}
+and Lewis \cite{msc.lewis}.  The theories of Moli\`ere and Goudsmit-Saunderson
+give only the angular distribution after a step, while the Lewis theory 
+computes the moments of the spatial distribution as well.  None of these 
+MSC theories gives the probability distribution of the spatial displacement.
+Therefore each of the MSC simulation codes incorporates its own algorithm to 
+determine the spatial displacement of the charged particle after a given step.
+These algorithms are not exact, of course, and are responsible for most of the
+uncertainties in the MSC codes.  Therefore the simulation results can depend 
+on the value of the step length and generally one has to select the value of 
+the step length carefully. \\
+
+\noindent
+A new class of MSC simulation, the {\em mixed} simulation algorithms (see 
+e.g.\cite{msc.fernandez}), appeared in the literature recently.  The mixed 
+algorithm simulates the {\em hard} collisions one by one and uses a MSC theory to 
+treat the effects of the {\em soft} collisions at the end of a given step.  Such 
+algorithms can prevent the number of steps from becoming too large and also 
+reduce the dependence on the step length. \\ 
+
+\noindent
+The MSC model used in Geant4 belongs to the class of condensed 
+simulations.  The model is based on Lewis' MSC theory and uses model functions
+to determine the angular and spatial distributions after a step.  The 
+functions have been chosen in such a way as to give the same moments of the 
+(angular and spatial) distributions as the Lewis theory.
+
+\subsection{Definition of Terms}
+
+In simulation, a particle is transported by steps through the detector 
+geometry.  The shortest distance between the endpoints of a step is called
+the {\em geometrical path length}, $z$. 
+In the absence of a magnetic field, this is a straight line.
+For non-zero fields, $z$ is the shortest distance along 
+a curved trajectory.  Constraints on $z$ are imposed when particle tracks 
+cross volume boundaries.  The path length of an actual particle, however, is 
+usually longer than the geometrical path length, due to physical interactions
+like multiple scattering.  
+This distance is called the {\em true path length}, $t$.
+Constraints on $t$ are imposed by the physical processes acting on the 
+particle. \\
+
+\noindent
+The properties of the multiple scattering process are completely determined
+by the {\em transport mean free paths}, $\lambda_k$, which are functions of the
+energy in a given material.  The $k$-th transport mean free path is defined as
+
+\begin{equation}
+ \frac {1}{\lambda_k} = 2 \pi n_a \int_{-1}^{1} \left[1 - P_k(cos\chi) \right]
+                   \frac{d\sigma(\chi)}{d\Omega} d(cos\chi)
+\label{msc.a1}
+\end{equation}
+
+\noindent
+where $d\sigma(\chi)/d\Omega$ is the differential cross section of the 
+scattering, $P_k(cos\chi)$ is the $k$-th Legendre polynomial, and $n_a$ is the 
+number of atoms per volume. \\
+
+\noindent 
+Most of the mean properties of MSC computed in the simulation codes depend
+only on the first and second transport mean free paths.  The mean value of 
+the geometrical path length (first moment) corresponding to a given true path 
+length $t$ is given by
+\begin{equation}
+ \langle z \rangle =
+            \lambda_1 \left[ 1-\exp \left(-\frac{t}{\lambda_1} \right)\right]
+\label{msc.a}
+\end{equation}
+
+\noindent
+Eq.~\ref{msc.a} is an exact result for the mean value of $z$ if the 
+differential cross section has axial symmetry and the energy loss can be 
+neglected.  The transformation between true and geometrical path lengths is
+called the {\em path length correction}. This formula and other expressions for 
+the first moments of the spatial distribution were taken from either
+ \cite{msc.fernandez} or \cite{msc.kawrakow}, but were originally
+calculated by Goudsmit and Saunderson \cite{msc.goudsmit} and Lewis
+\cite{msc.lewis}. \\
+
+\noindent 
+At the end of the true step length, $t$, the scattering angle is $\theta$.
+The mean value of $cos\theta$ is
+\begin{equation}
+  \langle cos\theta \rangle = \exp \left[-\frac{t}{\lambda_1} \right]
+\label{msc.c}
+\end{equation}
+The variance of $cos\theta$ can be written as
+\begin{equation}
+  \sigma^2 = \langle cos^2\theta \rangle - \langle cos\theta \rangle ^2 = 
+             \frac{1 + 2 e^{- 2 \kappa \tau}} {3} - e^{-2 \tau}
+\label{msc.c1}
+\end{equation}
+
+\noindent
+where $\tau = t/\lambda_1$ and $\kappa = \lambda_1/\lambda_2$. \\
+
+\noindent
+ The mean lateral displacement is given by a more complicated formula
+\cite{msc.fernandez}, but this quantity can also be calculated relatively 
+easily and accurately.  The square of the {\em mean lateral displacement} is
+\begin{equation}
+ \langle x^2 + y^2 \rangle = \frac{4 \lambda_1^2}{3} \ \left[\tau 
+                  - \frac{\kappa+1}{\kappa}
+                  + \frac{\kappa}{\kappa-1} e^{-\tau} -
+                  \frac{1}{\kappa (\kappa -1)} e^{-\kappa \tau} \right]
+\label{msc.e1}
+\end{equation}
+
+\noindent
+Here it is assumed that the initial particle direction is parallel to the 
+the $z$ axis.\\
+
+\noindent 
+ The lateral correlation is determined by the equation
+\begin{equation}
+  \langle x v_x+y v_y \rangle = \frac{2 \lambda_1}{3} \ \left[1
+                      - \frac{\kappa}{\kappa-1} e^{-\tau} +
+                        \frac{1}{\kappa-1} e^{-\kappa \tau} \right]
+\label{msc.e2}
+\end{equation}
+
+\noindent
+ where $v_x$ and $v_y$ are the x and y components of the direction unit
+vector.
+This equation gives the correlation strength between the final lateral
+position and final direction.\\
+
+\noindent
+The transport mean free path values have been calculated by Liljequist et al.
+\cite{msc.liljequist1}, \cite{msc.liljequist2} for electrons and positrons in
+the kinetic energy range \mbox{100 eV - 20 MeV} in 15 materials.  The MSC
+model in Geant4 uses these values for kinetic energies below 10 MeV.
+For high energy particles (above 10 MeV) the transport mean free path
+values have been taken from a paper of R.Mayol and F.Salvat (\cite{msc.mayol}).
+When necessary, the model linearly interpolates
+or extrapolates the transport cross section, $\sigma_1 = 1 / \lambda_1$, in
+atomic number $Z$ and in the square of the particle velocity, $\beta^2$.
+The ratio $\kappa$ is a very slowly varying function of the energy:
+$\kappa > 2$ for $T >$ a few keV, and $\kappa \rightarrow 3$ for very high
+energies (see \cite{msc.kawrakow}).  Hence, a constant value of 2.5 is used
+in the model.\\
+
+\noindent
+  Nuclear size effects are negligible for low energy particles and
+they are accounted for in the Born approximation in \cite{msc.mayol},
+so there is no need for extra corrections of this kind in the model.
+
+\subsection{Path Length Correction}
+
+As mentioned above, the path length correction refers to the transformation
+true path length $\longrightarrow$ geometrical path length and its inverse.
+The true path length $\longrightarrow$ geometrical path length transformation
+is given by eq. \ref{msc.a} if the step is small and the energy loss can be
+neglected.  If the step is not small the energy dependence makes the
+transformation more complicated. For this case Eqs. \ref{msc.c},\ref{msc.a}
+should be modified as
+\begin{equation}
+ \langle cos\theta \rangle = \exp \left[-\int_0^t \frac{du}{\lambda_1 (u)}
+                             \right]
+   \label{msc.ax}
+\end{equation}
+
+\begin{equation}
+ \langle z \rangle =  \int_0^t \langle cos\theta \rangle_u \ du  
+       \label{msc.bx}
+\end{equation}
+
+\noindent
+where $\theta$ is the scattering angle, $t$ and $z$ are the true and
+geometrical path lengths, and $\lambda_1$ is the transport mean free path. \\
+
+\noindent
+In order to compute Eqs. \ref{msc.ax},\ref{msc.bx} the $t$ dependence of the
+transport mean free path must be known. $\lambda_1$ depends on the kinetic
+energy of the particle which decreases along the step.  All computations in
+the model use a linear approximation for this $t$ dependence:
+   \begin{equation}
+          \lambda_1(t) =  \lambda_{10} ( 1- \alpha t)       \label{msc.cx}
+   \end{equation}
+
+\noindent
+Here $\lambda_{10}$ denotes the value of $\lambda_1$ at the start of the step,
+and $\alpha $ is a constant. It is worth noting that Eq. \ref{msc.cx} is 
+\emph{not}
+a crude approximation. It is rather good at low ($ < $ 1 MeV) energy.  At
+higher energies the step is generally much smaller than the range of the
+particle, so the change in energy is small and so is the change in $\lambda_1$.
+ Using Eqs. \ref{msc.ax} -  \ref{msc.cx} the explicit formula for 
+$\langle cos\theta \rangle$ and $\langle z \rangle$ are :
+\begin{equation}
+   \langle cos\theta \rangle = 
+         \left(1 - \alpha t \right)^{\frac{1}{ \alpha \lambda_{10}}}
+  \label{msc.ff}
+\end{equation}
+
+\begin{equation}
+   \langle z \rangle = \frac{1} { \alpha (1 + \frac{1}{\alpha \lambda_{10}})}
+        \left[ 1 - (1 - \alpha t)^{1+ \frac{1}{ \alpha \lambda_{10}}} \right] 
+  \label{msc.dx}
+\end{equation}
+B
+
+\noindent
+The value of the constant $\alpha $ can be expressed using $\lambda_{10}$ and
+$\lambda_{11}$ where $\lambda_{11}$ is the value of the transport mean free
+path at the end of the step
+ \begin{equation}
+    \alpha = \frac{\lambda_{10} - \lambda_{11}} {t \lambda_{10}} 
+   \label{msc.ex}
+ \end{equation}
+
+\noindent
+ At low energies ( $T_{kin} < M$ ,  M - particle mass) $\alpha $ has a simpler 
+ form:
+ \begin{equation}
+      \alpha = \frac{1} { r_0}   \label{msc.fx}
+ \end{equation}
+where $r_0$ denotes the range of the particle at the start of the step.
+
+\noindent
+ It can easily be seen that for a small step (i.e. for a step with small
+ relative energy loss) the formula of $\langle z \rangle$ is
+ \begin{equation}
+   \langle z \rangle = 
+     \lambda_{10} \left[ 1-\exp{\left( -\frac{t}{\lambda_{10}}\right)}\right] 
+    \label{msc.gx}
+ \end{equation}
+
+\noindent
+Eq. \ref{msc.dx} or \ref{msc.gx} gives the mean value of the geometrical step
+length for a given true step length. \\
+
+\noindent
+The actual geometrical path length is sampled in the
+model according to the simple probability density function defined for
+$v = z/t \in [0 , 1]$ :
+ \begin{equation}
+   f(v) = (k+1)(k+2) v^k (1-v)  
+ \label{msc.d2}
+ \end{equation}
+
+\noindent
+The value of the exponent $k$ is computed from the requirement that $f(v)$
+must give the same mean value for $z = v t$  as eq. \ref{msc.dx} or 
+\ref{msc.gx}. Hence
+\begin{equation}
+    k = \frac{3 \langle z \rangle - t}{t - \langle z \rangle}
+\label{msc.d3}
+\end{equation}
+
+\noindent
+The value of $z = v t$ is sampled using  $f(v)$ if $k > 0$, otherwise
+$z = \langle z \rangle$ is used. \\
+
+\noindent
+The geometrical path length $\longrightarrow$ true path length transformation
+is performed using the mean values. The transformation can be written as
+\begin{equation}
+   t(z) = \langle t \rangle = -\lambda_1 \log\left(1-\frac{z}{\lambda_1}\right)
+\label{msc.d4}
+\end{equation}
+ if the geometrical step is small and
+ \begin{equation}
+   t(z) = \frac{1}{\alpha} \left[ 1 - (1 - \alpha w z)^{\frac{1}{w}} \right]
+ \label{msc.hx}
+ \end{equation}
+ where  $$w = 1 + \frac{1}{\alpha \lambda_{10}}$$ if the step is not small, i.e.
+ the energy loss should be taken into account. \\
+
+\noindent
+This transformation is needed when the particle arrives at a volume boundary,
+causing the step to be geometry-limited.  In this case the true path length
+should be computed in order to have the correct energy loss of the particle
+after the step.
+
+\subsection{Angular Distribution}
+
+The quantity $u = cos\theta$ is sampled according to a model function
+$g(u)$.  The shape of this function has been chosen such that  
+Eqs. \ref{msc.c} and \ref{msc.c1} are satisfied.  The functional form of $g$ is
+\begin{equation}
+  g(u) = p [q g_1(u) + (1-q) g_3(u)] + (1-p) g_2(u)
+\label{msc.d}
+\end{equation}
+
+\noindent
+where $ 0 \leq p,q \leq 1 $, and the $g_i$ are simple functions of 
+$u = cos\theta$, normalized over the range $ u \in [-1,\ 1] $.  The functions 
+$g_i$ have been chosen as
+\begin{equation}
+ g_1(u) = C_{1}\hspace{3mm} e^{-a (1-u)} \hspace{2cm} -1 \leq u_0 \leq u \leq 1
+\label{msc.d5}
+\end{equation}
+\begin{equation}
+ g_2(u) =  C_{2}\hspace{3mm} \frac{1} { (b-u)^d} 
+      \hspace{2cm}  -1 \leq u \leq u_0 \leq 1
+\label{msc.d6}
+\end{equation}
+\begin{equation}
+ g_3(u) =  C_{3} \hspace{4.8cm}  -1 \leq u \leq 1
+\label{msc.d7}
+\end{equation}
+where $a > 0$, $b > 0$, $d > 0$ and $u_0$ are model parameters, and the $C_{i}$
+are normalization constants.  It is worth noting that for small scattering 
+angles, $\theta$, $g_1(u)$ is nearly Gaussian ($exp(-\theta^2/2 \theta_0^2)$) 
+if $\theta_0^2 \approx 1 / a$, while $g_2(u)$ has a Rutherford-like tail for 
+large $\theta$, if $b \approx 1$ and $d$ is not far from 2 .
+
+\subsection{Determination of the Model Parameters}
+
+The parameters $a$, $b$, $d$, $u_0$ and $p$, $q$ are not independent.  The
+requirement that the angular distribution function $g(u)$ and its first
+derivative be continuous at $u = u_0$ imposes two constraints on the
+parameters:
+\begin{equation}
+  p\hspace{1mm} g_1(u_0) = (1-p)\hspace{1mm} g_2(u_0)
+\label{msc.p1}
+\end{equation}
+\begin{equation}
+  p\hspace{1mm} a\hspace{1mm} g_1(u_0) = (1-p)\hspace{1mm}
+  \frac{d}{b-u_0}\hspace{1mm} g_2(u_0)
+\label{msc.p2}
+  \end{equation}
+
+\noindent
+A third constraint comes from Eq. \ref{msc.ax} : $g(u)$ must give the same
+mean value for $u$ as the theory. \\
+
+\noindent
+ It follows from Eqs. \ref{msc.ff} and \ref{msc.d} that
+\begin{equation}
+ q \{ p \langle u \rangle_1 + (1-p) \langle u \rangle_2 \} =
+ [ 1 - \alpha \ t ]\ ^{\frac{1}{\alpha \lambda_{10}}} 
+\label{msc.par1}
+\end{equation}
+where $\langle u \rangle_i$ denotes the mean value of $u$ computed from the 
+distribution $g_i(u)$. \\
+
+\noindent
+The parameter $a$ was chosen according to a modified Highland-Lynch-Dahl formula
+for the width of the angular distribution \cite{msc.highland},
+\cite{msc.lynch}.
+\begin{equation}
+   a = \frac {0.5} {1 -cos(\theta_0)}
+\end{equation}
+where $\theta_0$ is
+\begin{equation}
+  \theta_0 = \frac {13.6 MeV}{ \beta c p} z_{ch} \sqrt{\frac{t}{X_0}}
+             \ \left[ 1 + 0.038 \ln \left(\frac{t}{X_0} \right)\ \right]
+\end{equation}
+ 
+\noindent 
+when the original Highland-Lynch-Dahl formula is used.  
+Here $\theta_0 = \theta^{rms}_{plane}$ is the width of the approximate
+Gaussian projected angle distribution, $p$, $\beta c$ and $z_{ch}$ are the 
+momentum,
+velocity and charge number of the incident particle, and $t/X_0$ is the
+true path length in radiation length unit. This value of
+$\theta_0$ is from a fit to the Moli\`ere distribution for singly charged
+particles with $\beta = 1$ for all Z, and is accurate to 11 $\%$ or better
+for $ 10^{-3} \leq t/X_0 \leq 100$ (see e.g. Rev. of Particle Properties,
+section 23.3). \\
+
+\noindent 
+The modified formula for $\theta_0$ is
+\begin{equation}
+\theta_0 = \frac {13.6 MeV}{\beta c p} z_{ch} \sqrt{\frac{t}{X_0} }
+                \left[ 1 + 0.105 \ln \left(\frac{t}{X_0}\right) 
+	                 + 0.0035 \left(\ln \left(\frac{t}{X_0}\right)\right)^2 
+	       \right] ^{\frac{1}{2}} f \left(Z \right)
+\end{equation}
+
+\noindent 
+ where
+\begin{equation}
+   f \left(Z \right) = 1 - \frac{0.24}{ Z \left(Z + 1 \right) }
+\end{equation}
+\noindent 
+ is an empirical correction factor based on high energy proton scattering 
+ data \cite{msc.shen}.
+This formula gives a much smaller step dependence in the angular
+distribution and describes the available
+electron scattering data better than the Highland form.  \\
+
+\noindent
+The value of the parameter $u_0$ has been chosen as
+\begin{equation}
+  u_0 \hspace{4mm} = \hspace{4mm} 1 - \frac{\xi}{a}
+\end{equation}
+where $\xi$ is a constant ($\xi = 3$). \\
+
+\noindent
+ The parameter $d$ is set to
+\begin{equation}
+  d \hspace{4mm} = \hspace{4mm} 2.40 - 0.027 \ Z^ \frac{2}{3} 
+\end{equation}
+ This (empirical) expression is obtained comparing the simulation
+ results to the data of the MuScat experiment \cite{msc.attwood}. \\
+
+\noindent
+The remaining three parameters can be computed from
+Eqs. \ref{msc.p1} - \ref{msc.par1}.
+The numerical value of the parameters can be found in the
+code. \\
+
+\noindent
+It should be noted that in this model there is no step limitation
+originating from the multiple scattering process.  Another important feature
+of this model is that the sum of the 'true' step lengths of the particle, that
+is, the total true path length, does not depend on the length of the steps.
+Most algorithms used in simulations do not have these properties. \\
+
+\noindent
+In the case of heavy charged particles ($\mu$, $\pi$, $p$, etc.) the mean
+transport free path is calculated from the electron or positron $\lambda_1$
+values with a 'scaling' applied.  This is possible because the transport
+mean free path $\lambda_1$ depends only on the variable $P \beta c$, where
+$P$ is the momentum, and $\beta c$ is the velocity of the particle. \\
+
+\noindent
+In its present form the model samples the path length correction and angular
+distribution from model functions, while for the lateral displacement and
+the lateral correlation only
+the mean values are  used and all the other correlations are neglected.
+ However, the model
+is general enough to incorporate other random quantities and correlations in
+the future.
+  
+\subsection{The MSC Process in Geant4}
+
+ The step length of the particles is determined by the physics processes or
+ the geometry of the detectors. The tracking/stepping algorithm checks all the
+ step lengths demanded by the (continuous or discrete) physics processes and
+ determines the minimum of these step lengths. \\
+ 
+ \noindent
+ Then, this minimum step length
+ must be compared with the length determined by the geometry of the detectors
+ and one has to select the minimum of the 'physics step length' and the
+ 'geometrical step length' as the actual step length. \\
+ 
+ \noindent
+ This is the point where the MSC model comes into the game. All the
+ physics processes use the true path length $t$ to sample the interaction point,
+ while the step limitation originated from the geometry is a 
+ geometrical path length $z$. The MSC algorithm transforms the 'physics step 
+ length' into a 'geometrical step length' before the comparison of the two 
+ lengths. This 't'\(\rightarrow\)'z' transformation can be called the 
+ inverse of the path length correction. \\
+ 
+ \noindent
+ After the actual step length has been determined and the particle relocation
+ has been performed  the MSC performs the transformation 'z'\(\rightarrow\)'t',
+ because the energy loss and scattering computation need the true step length 
+ 't'. \\
+ 
+ \noindent
+ The scattering angle $\theta$ of the particle after the step of length 't' is 
+ sampled according to the model function given in eq. \ref{msc.d} .
+ The azimuthal angle $\phi$ is generated uniformly in the range $[0, 2 \pi]$. \\
+ 
+ \noindent
+ After the simulation of the scattering angle, the lateral displacement is
+ computed using eq. \ref{msc.e1}. Then the correlation given by eq. \ref{msc.e2}
+ is used to determine the direction of the lateral displacement.
+ Before 'moving' the particle according to the displacement a check is performed
+ to ensure that the relocation of the particle with the lateral displacement 
+ does not take the particle beyond the volume boundary.
+
+\subsection{Step Limitation Algorithm}
+
+ In Geant4 the boundary crossing is treated by the transportation process.
+ The transportation ensures that the
+ particle does not penetrate in a new volume without stopping at the boundary,
+ it restricts the step size when the particle leaves a volume. However,
+ this step restriction can be rather weak in big volumes and this fact
+ can result a not very good angular distribution after the volume.
+ At the same time, there is no similar
+ step limitation when a particle enters a volume and this fact does not allow
+ a good backscattering simulation for low energy particles. Low energy particles
+ penetrate too deeply into the volume in the first step and then - because
+ of energy loss - they are not able to reach again the boundary in backward
+ direction.\\
+ 
+ \noindent
+ A very simple step limitation algorithm has been implemented in the
+ MSC code to cure this situation. At the start of a track or after
+ entering in a new volume, the algorithm restricts
+ the step size to a value
+ \begin{equation}
+  f_r \cdot max\{r,\lambda_1\}
+ \end{equation}
+ where $r$ is the range of the particle, $f_r$ is a constant ($f_r \in [0, 1]$);
+ taking the max of $r$ and $\lambda_1$ is an empirical choice. In order not to
+ use very small - unphysical - step sizes a lower limit is given for the step 
+ size as
+\begin{equation}
+ tlimitmin = max\left[ \frac{\lambda_1}{nstepmax}, \lambda_{elastic} \right]
+ \end{equation}
+ with $nstepmax = 25$ and $\lambda_{elastic}$ is the elastic mean free path
+ of the particle (see later).\\
+
+\noindent
+ It can be easily seen that this kind of step limitation poses a real constraint
+ only for low energy particles. \\
+ 
+\noindent 
+ In order to prevent a particle from crossing
+ a volume in just one step, an additional limitation is imposed:
+ after entering a volume
+ the step size cannot be bigger than
+ \begin{equation}
+  \frac {d_{geom}}{f_g}
+ \end{equation}
+ where $d_{geom}$ is the distance to the next boundary (in the direction
+ of the particle) and $f_g$ is a constant parameter.  A similar restriction
+ at the start of a track is
+ \begin{equation}
+  \frac {2 d_{geom}}{f_g}
+ \end{equation}
+ 
+\noindent
+ The choice of the parameters $f_r$ and $f_g$ is also
+ related to performance.  By default $f_r = 0.02$ and $f_g = 2.5$
+ are used, but these may
+ be set to any other value in a simple way. One can get an
+ approximate simulation of the backscattering with the default value, while
+ if a better backscattering simulation is needed it is possible to get it
+ using a smaller value for $f_r$. However, this model is very simple and
+ it can only approximately reproduce the backscattering data.
+ 
+\subsection{Boundary Crossing Algorithm}
+
+ A special stepping algorithm has been implemented recently (Autumn 2006)
+ in order to improve the simulation around interfaces.
+ This algorithm does not allow 'big' last steps in a volume and 'big' first steps
+ in the next volume. The step length of these steps around a boundary crossing
+  can not be bigger than the mean free path of the elastic scattering
+ of the particle in the given volume (material). After these small steps the particle
+ scattered according to a single scattering law (i.e. there is no multiple scattering
+ very close to the boundary or at the boundary). \\
+
+\noindent
+  The key parameter of the algorithm is the variable called $skin$. The algorithm is
+ not active for $skin \leq 0$, while for $skin > 0$ it is active in layers
+ of thickness  $skin \cdot \lambda_{elastic}$ before boundary crossing
+ and of thickness $(skin-1) \cdot \lambda_{elastic}$ after
+ boundary crossing (for $skin=1$ there is only one small step just before
+ the boundary). In this active area  the particle
+ performs steps of length $\lambda_{elastic}$ (or smaller if the particle reaches the
+  boundary traversing a smaller distance than this value). \\
+ 
+\noindent 
+ The scattering at the end of a small step is single or
+ plural and for these small steps there are no path length correction
+ and lateral displacement computation. In other words the program works in this
+ thin layer in 'microscopic mode'. \\
+ 
+\noindent  
+  The elastic mean free path can be estimated as 
+ \begin{equation}
+  \lambda_{elastic} = \lambda_1 \cdot rat \left( T_{kin} \right)
+ \end{equation}
+  where $rat(T_{kin})$ a simple empirical function computed from the elastic and
+  first transport cross section values of Mayol and Salvat \cite{msc.mayol}
+  
+ \begin{equation}
+  rat \left( T_{kin} \right) = \frac{0.001 (MeV)^2} 
+                              { T_{kin} \left(T_{kin} + 10 MeV \right)}
+ \end{equation}
+  $T_{kin}$ is the kinetic energy of the particle. \\
+  
+\noindent  
+  At the end of a small step the number of scatterings is sampled according to
+ the Poissonian distribution with a mean value  $t/\lambda_{elastic}$ and in the 
+ case of plural scattering the final scattering angle is computed by summing  
+ the contributions of the individual scatterings. \\
+\noindent  
+  The single scattering is determined by the distribution
+ \begin{equation}
+   g(u) = C \frac{1} {(1 + 0.5 a^2 -u)^2}                          
+ \end{equation}
+  where $u = \cos(\theta)$ , $a$ is the screening parameter,
+    $C$ is a normalization constant. The form of the screening parameter is
+ \begin{equation}
+   a = \frac{\alpha Z^{1/3}}{\sqrt{(\tau (\tau+2))}}                 
+ \end{equation}
+  where $Z$ is the atomic number, $\tau$ is the kinetic energy measured in 
+  particle mass units, $\alpha$ is a constant.
+  It can be shown easily that the function $g(u)$ for small scattering angle $\theta$
+ is equivalent to the well known screened Rutherford scattering formula :
+ \begin{equation}
+  \tilde{g}(\theta) \ d\Omega = \tilde{C} 
+                                 \frac{\theta \ d\theta} { (a^2 + \theta^2)^2}        
+ \end{equation}
+
+
+\subsection{Implementation Details}
+
+The {\sf G4MultipleScattering} process contains some intialization 
+functions which allow the values of stepping and model parameters
+to be defined. \\
+
+\noindent
+The stepping/boundary crossing algorithm is governed by the data members
+$f_r$ and $f_g$ (facrange and facgeom in the code) and $skin$. The default values
+of $f_r$ and $f_g$ parameters are $0.02$ and $2.5$ resp. but these values can be changed
+via set functions :
+\begin{itemize}
+\item
+{\tt MscStepLimitation(bool, double)} - activate/deactivate stepping algorithm
+and set facrange value;
+\item 
+{\tt SetFacrange(double)}
+\item 
+{\tt SetFacgeom(double)}
+\end{itemize}
+  The default value of $skin$ is $1$ for electrons and positrons and $0$ for all
+ the other charged particles. These default values can be changed using the set function
+    {\sf SetSkin(double)}. \\
+
+\noindent
+ The concrete physics model is implemented in the class {\sf G4UrbanMscModel}.
+ As the boundary crossing/stepping algorithm is a part of the model, this class
+ contains it in the {\tt TruePathLengthLimit} method.  \\
+ 
+\noindent 
+ Because multiple scattering is very similar for different particles the base 
+class {\sf G4VMultipleScattering} was created to collect and provide significant
+features of the calculations which are common to different particle types. \\
+
+\noindent
+In the {\tt AlongStepGetPhysicalInteractionLength} method the minimum step 
+size due to the physics processes is compared with the step size constraints 
+imposed by the transportation process and the geometry.  In order to do this, 
+the \mbox{'t' step $\rightarrow$ 'z' step} transformation must be performed.  
+Therefore, the method should be invoked after the 
+{\tt GetPhysicalInteractionLength} methods of other physics processes, 
+but before the same method of the transportation process.
+The reason for this ordering is that the physics processes 'feel' 
+the true path length $t$ traveled by the particle, while the transportation 
+process (geometry) uses the $z$ step length.\\ 
+
+\noindent
+At this point the program also checks whether the particle has entered a
+new volume.  If it has, the particle steps cannot be bigger than
+ $t_{lim} = f_r\hspace{2mm} max( r, \lambda )$.  This step limitation is 
+governed by the physics, because $t_{lim}$ depends on the particle energy 
+and the material. \\
+
+\noindent
+The {\tt PostStepGetPhysicalInteractionLength} method of the multiple
+scattering process simply sets the force flag to 'Forced' in order to 
+ensure that {\tt PostStepDoIt} is called at every step.  It also returns a 
+large value for the interaction length so that there is no step limitation 
+at this level. \\
+
+\noindent
+The {\tt AlongStepDoIt} function of the process performs the inverse,\linebreak
+\mbox{'z' $\rightarrow$ 't'} transformation.  This function should be 
+invoked after the \linebreak {\tt AlongStepDoIt} mehtod of the transportation 
+process, that is, after the particle relocation is determined by the 
+geometrical step length, but before applying any other physics 
+{\tt AlongStepDoIt}. \\
+
+\noindent
+The {\tt PostStepDoIt} method of the process samples the scattering angle 
+and performs the lateral displacement when the particle is not near a boundary.
+
+\subsection{Status of this document}
+ 09.10.98  created by L. Urb\'an. \\
+ 15.11.01  major revision by L. Urb\'an.\\
+ 18.04.02  updated by L. Urb\'an. \\
+ 25.04.02  re-worded by D.H. Wright \\
+ 07.06.02  major revision by L. Urb\'an. \\
+ 18.11.02  updated by L. Urb\'an, now it describes the new angle distribution. \\
+ 05.12.02  grammar check and parts re-written by D.H. Wright \\
+ 13.11.03  revision by L. Urb\'an. \\
+ 01.12.03  revision by V. Ivanchenko. \\
+ 17.05.04  revision by L.Urb\'an. \\
+ 01.12.04  updated by L.Urb\'an. \\
+ 18.03.05  sampling z + mistyping corrections (mma) \\
+ 22.06.05  grammar, spelling check by D.H. Wright \\
+ 12.12.05  revised by L. Urb\'an, according Msc version in Geant4 V8.0 \\
+ 14.12.05  updated Implementation Details (mma) \\
+ 08.06.06  revised by L. Urb\'an, according Msc version in Geant4 V8.1 \\
+ 25.11.06  revised by L. Urb\'an, according Msc version in Geant4 V8.2 \\
+ 29.03.07  revised by L. Urb\'an \\
+ 
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+
+\bibitem{msc.moliere} G. Z. Moli\`ere
+   {\em Z. Naturforsch. 3a (1948) 78. }
+\bibitem{msc.lewis} H. W. Lewis.
+   {\em Phys. Rev. 78 (1950) 526. }
+\bibitem{msc.goudsmit}S. Goudsmit and J. L. Saunderson.
+   {\em Phys. Rev. 57 (1940) 24. }
+\bibitem{msc.fernandez}J. M. Fernandez-Varea et al.
+   {\em NIM B73 (1993) 447.}
+\bibitem{msc.kawrakow} I. Kawrakow and Alex F. Bielajew
+   {\em NIM B 142 (1998) 253. }
+\bibitem{msc.liljequist1} D. Liljequist and M. Ismail.
+   {\em J.Appl.Phys. 62 (1987) 342. }
+\bibitem{msc.liljequist2} D. Liljequist et al.
+   {\em J.Appl.Phys. 68 (1990) 3061. }
+\bibitem{msc.mayol} R.Mayol and F.Salvat
+   {\em At.Data and Nucl.Data Tables} {\bf 65}, p. 55 (1997).
+\bibitem{msc.highland} V.L.Highland 
+   {\em NIM 129 (1975) 497. }
+\bibitem{msc.lynch} G.R. Lynch and O.I. Dahl
+   {\em NIM B58 (1991) 6. }
+\bibitem{msc.shen} G.Shen et al.
+   {\em Phys. Rev. D 20 (1979) 1584.}
+\bibitem{msc.attwood} D. Attwood et al.
+   {\em NIM B 251 (2006) 41.}
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+
+\item  G. Z. Moli\`ere
+   {\em Z. Naturforsch. 3a (1948) 78. }
+\item H. W. Lewis
+   {\em Phys. Rev. 78 (1950) 526. }
+\item S. Goudsmit and J. L. Saunderson.
+   {\em Phys. Rev. 57 (1940) 24. }
+\item J. M. Fernandez-Varea et al.
+   {\em NIM B73 (1993) 447.}
+\item I. Kawrakow and Alex F. Bielajew
+   {\em NIM B 142 (1998) 253. }
+\item D. Liljequist and M. Ismail.
+   {\em J.Appl.Phys. 62 (1987) 342. }
+\item D. Liljequist et al.
+   {\em J.Appl.Phys. 68 (1990) 3061. }
+\item R.Mayol and F.Salvat
+   {\em At.Data and Nucl.Data Tables 65 (1997) 55.}
+\item V.L.Highland
+   {\em NIM 129 (1975) 497. }
+\item G.R. Lynch and O.I. Dahl
+   {\em NIM B58 (1991) 6. }
+\item{msc.shen} G.Shen et al.
+   {\em Phys. Rev. D 20 (1979) 1584.}
+\item{msc.attwood} D. Attwood et al.
+   {\em NIM B 251 (2006) 41.}
+\end{enumerate}
+
+\end{htmlonly}
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/pai.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/pai.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/pai.tex	(revision 1208)
@@ -0,0 +1,250 @@
+\section[Photoabsorption ionization model]{Photoabsorption Ionization Model}
+  \label{secpai}
+  
+\subsection{Cross Section for Ionizing Collisions}
+
+The Photoabsorption Ionization (PAI) model describes the ionization energy 
+loss of a relativistic charged particle in matter.  For such a particle, the
+differential cross section $d\sigma_i/d\omega$ for ionizing collisions with 
+energy transfer $\omega$ can be expressed most generally by the following
+equations \cite{pai.asosk}:
+
+\begin{eqnarray}
+\label{PAI1}
+\frac{d\sigma_i}{d\omega} 
+& = & \frac{2\pi Ze^4}{mv^2}    
+\left\{
+\frac{f(\omega)}{\omega\left|\varepsilon(\omega)\right|^2}
+\left[
+\ln\frac{2mv^2}{\omega\left|1-\beta^2\varepsilon\right|} -  
+\right. \right. \nonumber \\
+&& \left. \left.
+- \frac{\varepsilon_1 - \beta^2\left|\varepsilon\right|^2}{\varepsilon_2}
+\arg(1-\beta^2\varepsilon^*)
+\right] + 
+ \frac{\tilde{F}(\omega)}{\omega^2}
+\right\} ,
+\end{eqnarray}
+
+\[
+\tilde{F}(\omega) = \int_{0}^{\omega}\frac{f(\omega')}
+{\left|\varepsilon(\omega')\right|^2}d\omega' ,
+\]
+
+\[
+f(\omega) = \frac{m\omega\varepsilon_2(\omega)}{2\pi^2ZN\hbar^2} .
+\]
+Here $m$ and $e$ are the electron mass and charge, $\hbar$ is Planck's 
+constant, $\beta = v/c$ is the ratio of the particle's velocity $v$ to
+the speed of light $c$, $Z$ is the effective atomic number, $N$ is the 
+number of atoms (or molecules) per unit volume, and 
+$\varepsilon = \varepsilon_1 + i\varepsilon_2$ is the complex dielectric 
+constant of the medium.  In an isotropic non-magnetic medium the dielectric 
+constant can be expressed in terms of a complex index of refraction, 
+$n(\omega) = n_1 + in_2$, $\varepsilon(\omega) = n^2(\omega)$.  In the 
+energy range above the first ionization potential $I_1$ for all cases of 
+practical interest, and in particular for all gases, $n_1 \sim 1$. 
+Therefore the imaginary part of the dielectric constant can be expressed in 
+terms of the photoabsorption cross section $\sigma_{\gamma}(\omega)$:
+
+\[
+\varepsilon_2(\omega) = 2n_1n_2 \sim 2n_2 = \frac{N\hbar c}{\omega}
+\sigma_{\gamma}(\omega) .
+\]
+The real part of the dielectric constant is calculated in turn from the 
+dispersion relation
+
+\[
+\varepsilon_1(\omega) - 1 = \frac{2N\hbar c}{\pi}V.p.\int_{0}^{\infty}
+\frac{\sigma_{\gamma}(\omega')}{\omega'^2 - \omega^2}d\omega'  ,
+\]
+where the integral of the pole expression is considered in terms of the
+principal value.  In practice it is convenient to calculate the contribution
+from the continuous part of the spectrum only.  In this case the normalized
+photoabsorption cross section
+
+\[
+\tilde{\sigma}_{\gamma}(\omega) = \frac{2\pi^2\hbar e^2Z}{mc}
+\sigma_{\gamma}(\omega)
+\left[
+\int_{I_1}^{\omega_{max}}\sigma_{\gamma}(\omega')d\omega'
+\right]^{-1}, \  \omega_{max} \sim 100 \ keV 
+\]
+is used, which satisfies the quantum mechanical sum rule \cite{pai.fano}:
+
+\[
+\int_{I_1}^{\omega_{max}}\tilde{\sigma}_{\gamma}(\omega')d\omega' = 
+\frac{2\pi^2\hbar e^2Z}{mc} .
+\]
+
+\noindent
+The differential cross section for ionizing collisions is expressed by the 
+photoabsorption cross section in the continuous spectrum region:
+
+\begin{eqnarray}
+\frac{d\sigma_i}{d\omega}
+& = & \frac{\alpha}{\pi\beta^2}
+\left\{
+\frac{\tilde{\sigma}_{\gamma}(\omega)}
+{\omega\left|\varepsilon(\omega)\right|^2}
+\left[
+\ln\frac{2mv^2}{\omega\left|1-\beta^2\varepsilon\right|} - 
+\right. \right.   \nonumber \\
+&   & \left. \left.
+- \frac{\varepsilon_1-\beta^2\left|\varepsilon\right|^2}{\varepsilon_2}
+\arg(1-\beta^2\varepsilon^*)
+\right] 
+ + \frac{1}{\omega^2}\int_{I_1}^{\omega}\frac{\tilde{\sigma}_{\gamma}(\omega')}
+{\left|\varepsilon(\omega')\right|^2}d\omega'
+\right\} ,
+\end{eqnarray}
+
+\[
+\varepsilon_2(\omega) = \frac{N\hbar c}{\omega}
+\tilde{\sigma}_{\gamma}(\omega) ,
+\]
+
+\[
+\varepsilon_1(\omega) - 1 = \frac{2N\hbar c}{\pi}V.p.\int_{I_1}^{\omega_{max}}
+\frac{\tilde{\sigma}_{\gamma}(\omega')}{\omega'^2 - \omega^2}d\omega'  .
+\] 
+\\
+
+\noindent
+For practical calculations using Eq.~\ref{PAI1} it is convenient to
+represent the photoabsorption cross section as a polynomial in $\omega^{-1}$ 
+as was proposed in \cite{sandia}:
+
+\[
+\sigma_{\gamma}(\omega) = \sum_{k=1}^{4}a_{k}^{(i)}\omega^{-k} ,
+\]
+where the coefficients, $a_{k}^{(i)}$ result from a separate least-squares 
+fit to experimental data in each energy interval $i$.  As a rule the 
+interval borders are equal to the corresponding photoabsorption edges.  The 
+dielectric constant can now be calculated analytically with elementary 
+functions for all $\omega$, except near the photoabsorption edges where 
+there are breaks in the photoabsorption cross section and the integral for 
+the real part is not defined in the sense of the principal value. \\
+
+\noindent 
+The third term in Eq. (\ref{PAI1}), which can only be integrated
+numerically, results in a complex calculation of $d\sigma_i/d\omega$. 
+However, this term is dominant for energy transfers $\omega > 10\ keV$, 
+where the function $\left|\varepsilon(\omega)\right|^2 \sim 1$.  This is 
+clear from physical reasons, because the third term represents the 
+Rutherford cross section on atomic electrons which can be considered as 
+quasifree for a given energy transfer \cite{allis}.  In addition, for high 
+energy transfers, 
+$\varepsilon(\omega) = 1 - \omega_{p}^{2}/\omega^2 \sim 1$, 
+where $\omega_{p}$ is the plasma energy of the material.  Therefore the 
+factor $\left|\varepsilon(\omega)\right|^{-2}$ can be removed from under the 
+integral and the differential cross section of ionizing collisions can be 
+expressed as:
+
+\begin{eqnarray}
+\frac{d\sigma_i}{d\omega}
+& = &\frac{\alpha}
+{\pi\beta^2\left|\varepsilon(\omega)\right|^2}
+\left\{
+\frac{\tilde{\sigma}_{\gamma}(\omega)}{\omega}
+\left[
+\ln\frac{2mv^2}{\omega\left|1-\beta^2\varepsilon\right|} - 
+\right. \right. \nonumber \\ 
+&   & \left. \left.
+- \frac{\varepsilon_1-\beta^2\left|\varepsilon\right|^2}{\varepsilon_2}
+\arg(1-\beta^2\varepsilon^*)
+\right]
+ + \frac{1}{\omega^2}\int_{I_1}^{\omega}\tilde{\sigma}_{\gamma}(\omega')d\omega'
+\right\} .
+\end{eqnarray}
+This is especially simple in gases when 
+$\left|\varepsilon(\omega)\right|^{-2} \sim 1$  for all $\omega > I_1$
+\cite{allis}.
+
+\subsection{Energy Loss Simulation}
+
+For a given track length the number of ionizing collisions is simulated by
+a Poisson distribution whose mean is proportional to the total cross
+section of ionizing collisions:
+
+\[
+\sigma_i = \int_{I_1}^{\omega_{max}}\frac{d\sigma(\omega')}{d\omega'}d\omega' .
+\]
+The energy transfer in each collision is simulated according to a
+distribution proportional to
+
+\[
+\sigma_i(>\omega) = \int_{\omega}^{\omega_{max}}
+\frac{d\sigma(\omega')}{d\omega'}d\omega' .
+\]
+The sum of the energy transfers is equal to the energy loss. PAI ionisation is implemented 
+according to the model approach (class G4PAIModel) allowing a user to select specific 
+models in different regions. Here is an example physics list:
+\begin{verbatim}
+  const G4RegionStore* theRegionStore = G4RegionStore::GetInstance();
+  G4Region* gas = theRegionStore->GetRegion("VertexDetector"); 
+  ...
+  if (particleName == "e-") 
+  { 
+    G4eIonisation* eion = new G4eIonisation();
+    G4PAIModel*     pai = new G4PAIModel(particle,
+                                                 "PAIModel");
+    // set energy limits where 'pai' is active
+    pai->SetLowEnergyLimit(0.1*keV);
+    pai->SetHighEnergyLimit(100.0*TeV);
+
+    // here 0 is the highest priority in region 'gas'
+    eion->AddEmModel(0,pai,pai,gas);
+
+    pmanager->AddProcess(eion,-1, 2, 2);
+    pmanager->AddProcess(new G4MultipleScattering, -1, 1,1);
+    pmanager->AddProcess(new G4eBremsstrahlung,-1,1,3);           
+  } 
+\end{verbatim}
+It shows how to select the G4PAIModel to be the preferred ionisation model for electrons 
+in a G4Region named VertexDetector.  The first argument in AddEmModel is 0 which means 
+highest priority. 
+ 
+The class G4PAIPhotonModel generates both $\delta$-electrons and photons as secondaries 
+and can be used for more detailed descriptions of ionisation space distribution around 
+the particle trajectory.
+
+\subsection{Status of  this document}
+
+01.12.05 expanded discussion by V. Grichine \\
+08.05.02 re-written by D.H. Wright \\
+16.11.98 created by V. Grichine \\
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+\bibitem{pai.asosk} Asoskov V.S., Chechin V.A., Grichine V.M. at el,
+{Lebedev Institute annual report, v. 140, p. 3} (1982)
+\bibitem{pai.fano} Fano U., and Cooper J.W.
+{Rev.Mod.Phys., v. 40, p. 441} (1968)
+\bibitem{sandia} Biggs F., and Lighthill R.,
+{Preprint Sandia Laboratory, SAND 87-0070} (1990)
+\bibitem{allis} Allison W.W.M., and Cobb J.
+{Ann.Rev.Nucl.Part.Sci., v.30,p.253} (1980)
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item Asoskov V.S., Chechin V.A., Grichine V.M. at el,
+{Lebedev Institute annual report, v. 140, p. 3} (1982)
+\item Fano U., and Cooper J.W.
+{Rev.Mod.Phys., v. 40, p. 441} (1968)
+\item Biggs F., and Lighthill R.,
+{Preprint Sandia Laboratory, SAND 87-0070} (1990)
+\item Allison W.W.M., and Cobb J.
+{Ann.Rev.Nucl.Part.Sci., v.30,p.253} (1980)
+\end{enumerate}
+
+\end{htmlonly}
+
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/photoelec.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/photoelec.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/photoelec.tex	(revision 1208)
@@ -0,0 +1,131 @@
+
+\section[Photoelectric Effect]{PhotoElectric effect}
+
+The photoelectric effect is the ejection of an electron from a material after
+a photon has been absorbed by that material.  It is simulated by using a
+parameterized photon absorption cross section to determine the mean free path,
+atomic shell data to determine the energy of the ejected electron, and the 
+K-shell angular distribution to sample the direction of the electron.
+ 
+\subsection{Cross Section and Mean Free Path}
+
+The parameterization of the photoabsorption cross section proposed by 
+Biggs et al. \cite{ph.sandia} was used :
+\begin{equation}  \label{eqsandia}
+\sigma(Z,E_{\gamma}) = \frac{a(Z,E_{\gamma})}{E_{\gamma}} +
+                       \frac{b(Z,E_{\gamma})}{E_{\gamma}^2} +
+                       \frac{c(Z,E_{\gamma})}{E_{\gamma}^3} +
+                       \frac{d(Z,E_{\gamma})}{E_{\gamma}^4}
+\end{equation}
+
+\noindent 
+Using the least-squares method, a separate fit of each of the coefficients 
+$a,b,c,d$ to the experimental data was performed in several energy intervals 
+\cite{ph.sandia.grich}.  As a rule, the boundaries of these intervals were 
+equal to the corresponding photoabsorption edges.
+ 
+\noindent
+In a given material the mean free path, $\lambda$, for a photon to interact 
+via the photoelectric effect is given by :
+\begin{equation}  \label{lambda}
+\lambda(E_{\gamma}) =
+ \left( \sum_i n_{ati} \cdot \sigma (Z_i,E_{\gamma}) \right)^{-1}
+\end{equation}
+where $n_{ati}$ is the number of atoms per volume of the $i^{th}$ element
+of the material.  The cross section and mean free path are 
+discontinuous and must be computed 'on the fly' from the formulas 
+ \ref{eqsandia} and \ref{lambda}. 
+
+\subsection{Final State}
+\subsubsection{Choosing an Element}
+The binding energies of the shells depend on the atomic number $Z$ of the
+material.  In compound materials the $i^{th}$ element is chosen randomly 
+according to the probability:
+\[
+  Prob(Z_i,E_{\gamma}) = 
+                      \frac{n_{ati} \sigma(Z_i,E_{\gamma})}
+                      {\sum_i [ n_{ati} \cdot \sigma_i (E_{\gamma})]} .
+\]
+\subsubsection{Shell}
+A quantum can be absorbed if $E_{\gamma} > B_{shell}$ where the shell 
+energies are taken from {\tt G4AtomicShells} data: the closest available 
+atomic shell is chosen.  The photoelectron is emitted with kinetic energy :
+\begin{equation}
+T_{photoelectron} = E_{\gamma}-B_{shell}(Z_i)
+\end{equation}
+
+\subsubsection{Theta Distribution of the Photoelectron}
+The polar angle of the photoelectron is sampled from the Sauter-Gavrila
+distribution (for K-shell) \cite{ph.cost}, which is correct only to zero order 
+in $\alpha Z$ :
+\begin{equation}
+\frac{d\sigma}{d(\cos\theta)} \sim \frac{\sin^2\theta}{(1-\beta\cos\theta)^4}
+\left\lbrace 1 + \frac{1}{2} \gamma (\gamma-1)(\gamma-2)(1-\beta\cos\theta)
+\right\rbrace
+\end{equation}
+where $\beta$ and $\gamma$ are the Lorentz factors of the photoelectron.
+
+\noindent
+$\cos\theta$ is sampled from the probability density function :
+\begin{equation}
+f(\cos\theta) = \frac{1-\beta^2}{2\beta} \frac{1}{(1-\beta\cos\theta)^2}
+\hspace{5mm} \Longrightarrow \hspace{5mm}
+\cos\theta = \frac{(1-2r)+\beta}{(1-2r)\beta+1}
+\end{equation}
+The rejection function is :
+\begin{equation}
+g(\cos\theta) = \frac{1-\cos^2\theta}{(1-\beta\cos\theta)^2}
+\left\lbrack 1+b(1-\beta\cos\theta) \right\rbrack
+\end{equation}
+with $b=\gamma(\gamma-1)(\gamma-2)/2$  \\
+It can be shown that $g(\cos\theta)$ is positive $\forall \cos\theta \in
+[-1,\ +1]$, and can be majored by : 
+\begin{eqnarray}
+gsup&=&\gamma^2 \ \lbrack 1+b(1-\beta) \rbrack \mbox{ if } \gamma \in \ ]1,2] \\
+    &=&\gamma^2 \ \lbrack 1+b(1+\beta) \rbrack \mbox{ if } \gamma > 2 \nonumber
+\end{eqnarray}
+The efficiency of this method is $\sim 50\%$ if $\gamma < 2$, $\sim 25\%$ if
+$\gamma \in [2,\ 3]$. 
+
+\subsubsection{Relaxation} 
+In the current implementation the relaxation of the atom is not simulated,
+but instead is counted as a local energy deposit.
+
+\subsection{Status of this document}
+09.10.98 created by M.Maire. \\
+08.01.02 updated by mma \\
+22.04.02 re-worded by D.H. Wright \\
+02.05.02 modifs in total cross section and final state (mma) \\
+15.11.02 introduction added by D.H. Wright \\
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+\bibitem{ph.sandia} Biggs F., and Lighthill R.,
+{Preprint Sandia Laboratory, SAND 87-0070} (1990)
+\bibitem{ph.sandia.grich} Grichine V.M., Kostin A.P., Kotelnikov S.K. et al.,
+{Bulletin of the Lebedev Institute no. 2-3, 34} (1994).
+\bibitem{ph.cost} Gavrila M.
+{Phys.Rev. 113, 514} (1959).
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item Biggs F., and Lighthill R.,
+{Preprint Sandia Laboratory, SAND 87-0070} (1990)
+\item Grichine V.M., Kostin A.P., Kotelnikov S.K. et al.,
+{Bulletin of the Lebedev Institute no. 2-3, 34} (1994).
+\item Gavrila M.
+{Phys.Rev. 113, 514} (1959).
+\end{enumerate}
+
+\end{htmlonly}
+
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/plots/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/plots/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/plots/CVS/Entries	(revision 1208)
@@ -0,0 +1,27 @@
+/AnnihAsym.eps/1.1/Fri Nov 24 17:59:11 2006//
+/AnnihTA1.eps/1.1/Fri Nov 24 17:59:11 2006//
+/AnnihTA2.eps/1.1/Fri Nov 24 17:59:12 2006//
+/AnnihTransfer1.eps/1.1/Fri Nov 24 17:59:12 2006//
+/AnnihTransfer2.eps/1.1/Fri Nov 24 17:59:12 2006//
+/AnnihXS.eps/1.1/Fri Nov 24 17:59:12 2006//
+/BhabhaAsym.eps/1.1/Fri Nov 24 17:59:13 2006//
+/BhabhaTA1.eps/1.1/Fri Nov 24 17:59:13 2006//
+/BhabhaTA2.eps/1.1/Fri Nov 24 17:59:13 2006//
+/BhabhaTransfer1.eps/1.1/Fri Nov 24 17:59:14 2006//
+/BhabhaTransfer2.eps/1.1/Fri Nov 24 17:59:14 2006//
+/BhabhaXS.eps/1.1/Fri Nov 24 17:59:14 2006//
+/ComptonAsym.eps/1.1/Fri Nov 24 17:59:14 2006//
+/ComptonTA1.eps/1.1/Fri Nov 24 17:59:14 2006//
+/ComptonTA2.eps/1.1/Fri Nov 24 17:59:14 2006//
+/ComptonTransfer1.eps/1.1/Fri Nov 24 17:59:21 2006//
+/ComptonTransfer2.eps/1.1/Fri Nov 24 17:59:21 2006//
+/ComptonXS.eps/1.1/Fri Nov 24 17:59:22 2006//
+/Fyn_diag.eps/1.1/Fri Nov 24 17:59:22 2006//
+/MollerAsym.eps/1.1/Fri Nov 24 17:59:22 2006//
+/MollerTA1.eps/1.1/Fri Nov 24 17:59:22 2006//
+/MollerTA2.eps/1.1/Fri Nov 24 17:59:23 2006//
+/MollerTransfer1.eps/1.1/Fri Nov 24 17:59:23 2006//
+/MollerTransfer2.eps/1.1/Fri Nov 24 17:59:23 2006//
+/MollerXS.eps/1.1/Fri Nov 24 17:59:23 2006//
+/frames.eps/1.1/Fri Nov 24 17:59:23 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/plots/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/plots/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/plots/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/plots
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/plots/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/plots/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/plots/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/polarisation.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/polarisation.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/polarisation.tex	(revision 1208)
@@ -0,0 +1,1860 @@
+
+% ======================================================================
+
+%\newcommand{\bvec}[1]{{\mathbf{#1}}}
+\newcommand{\bvec}[1]{{\boldsymbol{#1}}}  %% use boldsymbol if amsmath is available!
+
+\section{Introduction}\label{sec:pol.intro}
+
+With the EM polarization extension it is possible to track polarized
+particles (leptons and photons). Special emphasis will be 
+put in the proper treatment of polarized matter and its interaction
+with longitudinal polarized electrons/positrons or circularly
+polarized photons, which is for instance essential for the simulation
+of positron polarimetry. The implementation is base on Stokes vectors
+\cite{polIntro:McMaster:1961}. Further details can be found in
+\cite{polIntro:Laihem:thesis}. 
+
+In its current state, the following polarization
+dependent processes are considered
+\begin{itemize}
+\item Bhabha/M{\o}ller scattering,
+\item Positron Annihilation,
+\item Compton scattering,
+\item Pair creation,
+\item Bremsstrahlung.
+\end{itemize}
+
+%\subsection{Existing codes for the simulation of polarized processes}
+
+Several simulation packages for the realistic description
+of the development of electromagnetic showers in matter have been
+developed. A prominent example of such codes is EGS (Electron Gamma 
+Shower)\cite{polIntro:Nelson:1985ec}. 
+For this simulation framework extensions with the treatment of
+polarized particles exist \cite{polIntro:Floettmann:thesis,polIntro:Namito:1993sv,polIntro:Liu:2000ey}; 
+the most complete has been developed by K.~Fl{\"o}ttmann
+\cite{polIntro:Floettmann:thesis}. It is based on the matrix formalism
+\cite{polIntro:McMaster:1961}, which enables a very general treatment of
+polarization. However, the Fl{\"o}ttmann extension concentrates on
+evaluation of polarization transfer, i.e.\ the effects of polarization
+induced asymmetries are neglected, and interactions with polarized
+media are not considered.  
+
+Another important simulation tool for detector studies is \textsc{Geant3}
+\cite{polIntro:Brun:1985ps}. Here also some effort has been made to include
+polarization \cite{polIntro:Alexander:2003fh,polIntro:Hoogduin:thesis}, but these
+extensions are not publicly available.
+
+%\section{Definitions}
+
+In general the implementation of polarization in this EM polarization
+library follows very closely the approach by K.~Fl{\"o}tt\-mann
+\cite{polIntro:Floettmann:thesis}. The basic principle is to associate a {\em
+Stokes vector} to each particle and track the mean polarization from
+one interaction to another. The basics for this approach is the matrix
+formalism as introduced in \cite{polIntro:McMaster:1961}. 
+
+\subsection{Stokes vector}
+
+The {\em Stokes vector} \cite{polIntro:Stokes:1852,polIntro:McMaster:1961} is a rather
+simple object (in comparison to e.g.\ the spin density matrix), three
+real numbers are sufficient for the characterization of the polarization
+state of any single electron, positron or photon.
+Using {\em Stokes vectors} {\bf all} possible polarization states can
+be described, i.e.\ circular and linear polarized photons can be
+handled with the same formalism as longitudinal 
+and transverse polarized electron/positrons.
+
+The {\em Stokes vector} can be used also for beams, in the sense that
+it defines a mean polarization.
+
+In the EM polarization library the Stokes vector is  defined as
+follows:
+
+\begin{center}
+%\rotatebox{90}{ Method A}
+\renewcommand{\arraystretch}{1.15}
+\begin{tabular}{|c|c|c|}
+\hline
+        & Photons                    & Electrons \\
+\hline 
+$\xi_1$ & linear polarization        &  polarization in x direction \\
+$\xi_2$ & linear polarization but $\pi/4$ to right
+                                     &  polarization in y direction \\
+$\xi_3$ & circular polarization      &  polarization in z direction \\
+\hline
+\end{tabular}
+\end{center}
+This definition is assumed in the {\em particle reference frame},
+i.e. with the momentum of the particle pointing to the z direction,
+cf.\ also next section about coordinate transformations. 
+Correspondingly a 100\% longitudinally polarized
+electron or positron is characterized by
+\begin{equation}
+  \bvec{\xi}=\mbox{$\scriptscriptstyle\left(\begin{array}{c}0\\0\\\pm1\end{array}\right)$},
+\end{equation}
+where $\pm1$ corresponds to spin parallel (anti parallel) to 	
+particle's momentum.
+%
+Note that this definition is similar, but not
+identical to the definition used in McMaster \cite{polIntro:McMaster:1961}.
+
+Many scattering cross sections of polarized processes using
+Stokes vectors for the characterization of initial and final states are
+available in \cite{polIntro:McMaster:1961}. In general a differential cross
+section has the form
+\begin{equation}
+  \frac{d\sigma(\bvec{\zeta}^{(1)},\bvec{\zeta}^{(2)},\bvec{\xi}^{(1)},\bvec{\xi}^{(2)})}{d\Omega}\;,
+\end{equation}
+i.e.\ it is a function of the polarization states of the initial
+particles $\bvec{\zeta}^{(1)}$ and $\bvec{\zeta}^{(2)}$, as well as of the polarization states
+of the final state particles $\bvec{\xi}^{(1)}$ and $\bvec{\xi}^{(2)}$ (in addition to the
+kinematic variables $E$, $\theta$, and $\phi$). 
+
+Consequently, in a simulation we have to account for
+\begin{itemize}
+\item   Asymmetries:
+\item[] Polarization of beam ($\bvec{\zeta}^{(1)}$) and target ($\bvec{\zeta}^{(2)}$) can induce
+azimuthal and polar asymmetries, and may also influence on the total
+cross section ({\tt Geant4: GetMeanFreePath()}).
+\item   Polarization transfer / depolarization effects 
+\item[] The dependence on the final state polarizations defines a
+possible transfer from initial polarization to final state particles.
+\end{itemize}
+
+\subsection{Transfer matrix}
+
+%For asymmetries one can extent the existing standard EM physics classes,
+%introducing the polarization of the initial states. On the other hand
+%for a general simulation of polarization transfer one has to work harder.
+Using the formalism of McMaster, differential cross section and
+polarization transfer from the initial state ($\bvec{\zeta}^{(1)}$) to one final state
+particle ($\bvec{\xi}^{(1)}$) are combined in an interaction matrix $T$: 
+
+\begin{equation}
+ \left(\begin{array}{c} 
+    O \\
+ \bvec{\xi}^{(1)}   
+ \end{array}\right)
+ = T \,
+ \left(\begin{array}{c} 
+    I \\
+ \bvec{\zeta}^{(1)}   
+ \end{array}\right)\;,
+\end{equation}
+where $I$ and $O$ are the incoming and outgoing currents, respectively.
+%
+In general the $4\times4$ matrix $T$ depends on the target
+polarization $\bvec{\zeta}^{(2)}$ (and of course on the kinematic
+variables $E$, $\theta$, $\phi$). Similarly one can define
+a matrix defining the polarization transfer to second final state
+particle like
+\begin{equation}
+\left(\begin{array}{c}
+ O \\
+ \bvec{\xi}^{(2)}
+\end{array}\right)   
+  = T' \, 
+\left(\begin{array}{c}I\\
+\bvec{\zeta}^{(1)}\end{array}\right)   \;.
+\end{equation}
+%
+%The components $I$ and $O$ refer to the incoming and outgoing
+%intensities, respectively. 
+In this framework the transfer matrix $T$  is of the form
+\begin{equation}
+ T =
+  \left(
+  \begin{array}{llll}
+     S   &   A_1    &  A_2    &  A_3    \\
+     P_1 &   M_{11} &  M_{21} &  M_{31} \\
+     P_2 &   M_{12} &  M_{22} &  M_{32} \\
+     P_3 &   M_{13} &  M_{23} &  M_{33} \\
+  \end{array}
+  \right)
+ \;.
+\end{equation}
+The matrix elements $T_{ij}$ can be identified as (unpolarized)
+differential cross section ($S$), polarized differential cross section
+($A_j$), polarization transfer ($M_{ij}$), and (de)polarization ($P_i$).
+In the Fl{\"o}ttmann extension the elements $A_j$ and $P_i$ have been
+neglected, thus concentrating on polarization transfer only. 
+Using the full matrix takes now all polarization effects into account.
+
+
+The transformation matrix, i.e.\ the dependence of the mean
+polarization of final state particles, can be derived from the 
+asymmetry of the differential cross section w.r.t.\ this particular
+polarization.  
+Where the asymmetry is defined as usual by
+\begin{equation}
+  A = \frac{\sigma(+1)-\sigma(-1)}{\sigma(+1)+\sigma(-1)} \;.
+\end{equation}
+The mean final state polarizations can be determined coefficient by
+coefficient. 
+%
+%For instance the components of the mean Stokes vector
+%% following eq.\ \eqref{eq:diffxsec}
+%$\bvec{\hat\xi}^{(1)}$ of the first final state particle is obtained
+%by 
+%\begin{equation}
+%  \hat\xi^{(2)}_1 = \frac{\sigma(\bvec{\zeta}^{(1)},\bvec{\zeta}^{(2)},
+%\bvec{\xi}^{(1)}=\mbox{\small$\left(\!\!\begin{array}{c}+1\\0\\0\end{array}\!\!\right)$},
+%\bvec{\xi}^{(2)}=\mbox{\small$\left(\!\!\begin{array}{c}0\\0\\0\end{array}\!\!\right)$})
+%-
+%\sigma(\bvec{\zeta}^{(1)},\bvec{\zeta}^{(2)},
+%\bvec{\xi}^{(1)}=\mbox{\small$\left(\!\!\begin{array}{c}-1\\0\\0\end{array}\!\!\right)$},
+%\bvec{\xi}^{(2)}=\mbox{\small$\left(\!\!\begin{array}{c}0\\0\\0\end{array}\!\!\right)$})
+%}{\sigma(\dots)+\sigma(\dots)}
+%\end{equation}
+%
+%\begin{equation}
+%  \hat\xi^{(2)}_2 = \frac{\sigma(\bvec{\zeta}^{(1)},\bvec{\zeta}^{(2)},
+%\bvec{\xi}^{(1)}=\mbox{\small$\left(\!\!\begin{array}{c}0\\+1\\0\end{array}\!\!\right)$},
+%\bvec{\xi}^{(2)}=\mbox{\small$\left(\!\!\begin{array}{c}0\\0\\0\end{array}\!\!\right)$})
+%-
+%\sigma(\bvec{\zeta}^{(1)},\bvec{\zeta}^{(2)},
+%\bvec{\xi}^{(1)}=\mbox{\small$\left(\!\!\begin{array}{c}0\\-1\\0\end{array}\!\!\right)$},
+%\bvec{\xi}^{(2)}=\mbox{\small$\left(\!\!\begin{array}{c}0\\0\\0\end{array}\!\!\right)$})
+%}{\sigma(\dots)+\sigma(\dots)}
+%\end{equation}
+%
+%\begin{equation}
+%  \hat\xi^{(2)}_3 = \frac{\sigma(\bvec{\zeta}^{(1)},\bvec{\zeta}^{(2)},
+%\bvec{\xi}^{(1)}=\mbox{\small$\left(\!\!\begin{array}{c}0\\0\\+1\end{array}\!\!\right)$},
+%\bvec{\xi}^{(2)}=\mbox{\small$\left(\!\!\begin{array}{c}0\\0\\0\end{array}\!\!\right)$})
+%-
+%\sigma(\bvec{\zeta}^{(1)},\bvec{\zeta}^{(2)},
+%\bvec{\xi}^{(1)}=\mbox{\small$\left(\!\!\begin{array}{c}0\\0\\-1\end{array}\!\!\right)$},
+%\bvec{\xi}^{(2)}=\mbox{\small$\left(\!\!\begin{array}{c}0\\0\\0\end{array}\!\!\right)$})
+%}{\sigma(\dots)+\sigma(\dots)}
+%\end{equation}
+%
+
+In general, the differential cross section is a linear function
+of the polarizations, i.e.
+\begin{eqnarray}
+  \frac{d\sigma(\bvec{\zeta}^{(1)},\bvec{\zeta}^{(2)},\bvec{\xi}^{(1)},\bvec{\xi}^{(2)})}{d\Omega} &=& 
+     \Phi_{(\zeta^{(1)},\zeta^{(2)})}   
+     + \bvec{A}_{(\zeta^{(1)},\zeta^{(2)})}   \cdot\bvec{\xi}^{(1)} 
+     + \bvec{B}_{(\zeta^{(1)},\zeta^{(2)})}   \cdot\bvec{\xi}^{(2)}   \nonumber\\
+    && \quad \quad \quad 
+     +\, {\bvec{\xi}^{(1)}}^T M_{(\zeta^{(1)},\zeta^{(2)})}    \,\bvec{\xi}^{(2)}
+\end{eqnarray}
+In this form, the mean polarization of the final state can be read off
+easily, and one obtains
+\begin{eqnarray}
+\langle\bvec{\xi}^{(1)}\rangle &=& \frac{1}{\Phi_{(\zeta^{(1)},\zeta^{(2)})}}
+ \bvec{A}_{(\zeta^{(1)},\zeta^{(2)})} \;\; \mbox{and} \\
+\langle\bvec{\xi}^{(2)}\rangle &=& \frac{1}{\Phi_{(\zeta^{(1)},\zeta^{(2)})}}
+ \bvec{B}_{(\zeta^{(1)},\zeta^{(2)})} \;.
+\end{eqnarray}
+
+Note, that the {\em mean} polarization states do not depend on the
+correlation matrix $M_{(\zeta^{(1)},\zeta^{(2)})}$. In order to account for
+correlation one has to generate  {\em single} particle Stokes
+vector explicitly, i.e.\ on an event by event basis. However, this
+implementation generates {\em mean} polarization states, and neglects
+correlation effects. 
+
+%\newpage
+\subsection{Coordinate transformations}
+
+\begin{figure}[h!]
+\centerline{\includegraphics[width=8.cm]{electromagnetic/standard/plots/frames.eps}}
+\caption{\label{pol.interframe} 
+  The {\em interaction frame} and the {\em particle frames} for the
+  example of Compton scattering. The momenta of all participating
+  particle lie in the $x$-$z$-plane, the scattering plane. The
+  incoming photon gives the $z$ direction. The outgoing photon is
+  defined as {\em particle 1} and gives the $x$-direction, perpendicular to
+  the $z$-axis. The $y$-axis is then perpendicular to the scattering
+  plane and completes the definition of a right handed coordinate
+  system called {\em interaction frame}.
+  The {\em particle frame} is defined by the Geant4 routine   
+  {\tt G4ThreeMomemtum::rotateUz()}.} 
+\end{figure}
+
+Three different coordinate systems are used in the evaluation of
+polarization states:
+\begin{itemize}
+\item {\bf World frame}
+%\item[] 
+
+The geometry of the target, and the momenta of all particles
+  in Geant4 are noted in the world frame $X$, $Y$, $Z$ (the {\em global
+  reference frame}, GRF). It is the basis of the calculation of any
+  other coordinate system. 
+\item {\bf Particle frame}
+%\item[] 
+
+Each particle is carrying its own coordinate system. 
+  In this system the direction of motion coincides with the
+  $z$-direction. Geant4 provides a transformation from any particle
+  frame to the World frame by the method 
+  {\tt G4ThreeMomemtum::rotateUz()}. Thus, the $y$-axis of the 
+  {\em particle reference frame} (PRF) lies in the $X$-$Y$-plane of
+  the world frame.
+  
+  The Stokes vector of any moving particle is defined w.r.t. the
+  corresponding particle frame.
+  Particles at rest (e.g.\ electrons of a media) use the world frame as
+  particle frame.
+\item {\bf Interaction frame}
+%\item[] 
+
+ For the evaluation of the polarization transfer another
+ coordinate system is used, defined by the scattering plane, cf.\
+fig.\ \ref{pol.interframe}. There the
+ $z$-axis is defined by the direction of motion of the incoming
+ particle. The scattering plane is spanned by the $z$-axis and the
+ $x$-axis, in a way, that the direction of {\em particle~1} has a
+ positive $x$ component. The definition of {\em particle~1} depends on
+ the process, for instance in Compton scattering, the outgoing photon
+ is referred as {\em particle~1}\footnote{Note, for an incoming
+   particle travelling on the $Z$-axis (of GRF), the $y$-axis of the PRF
+   of both outgoing particles is parallel to the $y$-axis of the
+   {\em interaction frame}.}.
+\end{itemize}
+
+All frames are right handed.
+
+
+\subsection{Polarized beam and material}
+
+Polarization of beam particles is well established. It can be used for
+simulating low-energy Compton scattering of linear polarized
+photons. The interpretation as Stokes vector allows now the usage in a
+more general framework. 
+%
+The polarization state of a (initial) beam particle can be fixed
+using standard the ParticleGunMessenger class. For example, the class {\tt 
+G4ParticleGun} provides the method {\tt SetParticlePolarization()},
+which is usually accessable via 
+\begin{verbatim}
+  /gun/polarization <Sx> <Sy> <Sz>
+\end{verbatim}
+in a macro file.
+
+In addition for the simulation of polarized media, a possibility
+to assign Stokes vectors to physical volumes is provided by a new
+class, the so-called {\em G4PolarizationManager}.   
+%It also provides some helper routines for the evaluation of Stokes
+%vectors in different frames of reference.
+%
+The procedure to assign a polarization vector to a media, is done
+during the {\em detector construction}. There the {\em
+logical volumes} with certain polarization are made known to
+{\em polarization manager}. One example {\tt DetectorConstruction}
+might look like follows:
+
+\begin{verbatim}
+  G4double Targetthickness = .010*mm;
+  G4double Targetradius    = 2.5*mm;
+
+  G4Tubs *solidTarget = 
+    new G4Tubs("solidTarget", 
+               0.0, 
+               Targetradius, 
+               Targetthickness/2, 
+               0.0*deg, 
+               360.0*deg );
+
+  G4LogicalVolume * logicalTarget = 
+    new G4LogicalVolume(solidTarget, 
+                        iron,
+                        "logicalTarget",
+                        0,0,0);
+
+  G4VPhysicalVolume *  physicalTarget = 
+    new G4PVPlacement(0,G4ThreeVector(0.*mm, 0.*mm, 0.*mm),
+                      logicalTarget,
+                      "physicalTarget",
+                      worldLogical,
+                      false,
+                      0);
+
+  G4PolarizationManager * polMgr = G4PolarizationManager::GetInstance();
+  polMgr->SetVolumePolarization(logicalTarget,G4ThreeVector(0.,0.,0.08));
+\end{verbatim}
+Once a logical volume is known to the {\tt G4PolarizationManager}, its
+polarization vector can be accessed from a macro file by its name,
+e.g.\ the polarization of the logical volume called ``logicalTarget''
+can be changed via
+\begin{verbatim}
+  /polarization/volume/set logicalTarget 0. 0. -0.08
+\end{verbatim}
+Note, the polarization of a material is stated in the world frame.
+
+\subsection{Status of this document}
+20.11.06 created by A.Sch{\"a}licke\\
+
+\begin{latexonly}
+
+\begin{thebibliography}{10}
+
+\bibitem{polIntro:McMaster:1961}
+W.~H.~McMaster, Rev.\ Mod.\ Phys.\ {\bf 33} (1961) 8; and references therein.
+
+\bibitem{polIntro:Laihem:thesis}
+K.~Laihem, PhD thesis, Humboldt University Berlin, Germany, (2007).
+
+%%EGS
+\bibitem{polIntro:Nelson:1985ec}
+W.~R.~Nelson, H.~Hirayama, D.~W.~O.\ Rogers,
+%``The Egs4 Code System,''
+SLAC-R-0265.
+
+\bibitem{polIntro:Floettmann:thesis}
+K.~Fl\"ottmann, PhD thesis, DESY Hamburg (1993); DESY-93-161.
+
+%kek extension
+\bibitem{polIntro:Namito:1993sv}
+Y.~Namito, S.~Ban, H.~Hirayama,
+%``Implementation of linearly polarized photon scattering into the EGS4 code,''
+Nucl.\ Instrum.\ Meth.\ A {\bf 332} (1993) 277.
+
+\bibitem{polIntro:Liu:2000ey}
+J.~C.~Liu, T.~Kotseroglou, W.~R.~Nelson, D.~C.~Schultz,
+%``Polarization study for NLC positron source using EGS4,''
+SLAC-PUB-8477.
+%Geant3
+\bibitem{polIntro:Brun:1985ps}
+R.~Brun, M.~Caillat, M.~Maire, G.~N.~Patrick, L.~Urban,
+%``The Geant3 Electromagnetic Shower Program And A Comparison With The Egs3
+%Code,''
+CERN-DD/85/1.
+
+%% E166
+\bibitem{polIntro:Alexander:2003fh}
+G.~Alexander {\it et al.},
+%``Undulator-based production of polarized positrons: A proposal for
+%  the  50-GeV beam in the FFTB,''
+SLAC-TN-04-018, SLAC-PROPOSAL-E-166.
+
+\bibitem{polIntro:Hoogduin:thesis}
+J.~Hoogduin, PhD thesis, Rijksuniversiteit Groningen (1997).
+
+\bibitem{polIntro:Stokes:1852}
+G.~Stokes,
+Trans.\ Cambridge Phil.\ Soc.\  {\bf 9} (1852) 399.
+
+
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\begin{enumerate}{10}
+\item
+W.~H.~McMaster, Rev.\ Mod.\ Phys.\ {\bf 33} (1961) 8; and references therein.
+
+\item
+K.~Laihem, PhD thesis, Humboldt University Berlin, Germany, (2007).
+
+%%EGS
+\item
+W.~R.~Nelson, H.~Hirayama, D.~W.~O.\ Rogers,
+%``The Egs4 Code System,''
+SLAC-R-0265.
+
+\item
+K.~Fl\"ottmann, PhD thesis, DESY Hamburg (1993); DESY-93-161.
+
+%kek extension
+\item
+Y.~Namito, S.~Ban, H.~Hirayama,
+%``Implementation of linearly polarized photon scattering into the EGS4 code,''
+Nucl.\ Instrum.\ Meth.\ A {\bf 332} (1993) 277.
+
+\item
+J.~C.~Liu, T.~Kotseroglou, W.~R.~Nelson, D.~C.~Schultz,
+%``Polarization study for NLC positron source using EGS4,''
+SLAC-PUB-8477.
+%Geant3
+\item
+R.~Brun, M.~Caillat, M.~Maire, G.~N.~Patrick, L.~Urban,
+%``The Geant3 Electromagnetic Shower Program And A Comparison With The Egs3
+%Code,''
+CERN-DD/85/1.
+
+%% E166
+\item
+G.~Alexander {\it et al.},
+%``Undulator-based production of polarized positrons: A proposal for
+%  the  50-GeV beam in the FFTB,''
+SLAC-TN-04-018, SLAC-PROPOSAL-E-166.
+
+\item
+J.~Hoogduin, PhD thesis, Rijksuniversiteit Groningen (1997).
+
+\item
+G.~Stokes,
+Trans.\ Cambridge Phil.\ Soc.\  {\bf 9} (1852) 399.
+
+\end{enumerate}
+
+\end{htmlonly}
+
+
+
+
+% ======================================================================
+\newcommand{\Mvariable}[1]{r_e}
+
+\newpage
+\section{Ionization}\label{sec:polarizedIonization}
+\subsection{Method}
+The class {\em G4ePolarizedIonization} provides continuous and
+discrete energy losses of polarized electrons and positrons in a
+material. It evaluates polarization transfer and -- if the material
+is polarized -- asymmetries in the explicit delta rays production.
+The implementation baseline follows the approach derived for the
+class {\em G4eIonization} described in sections              
+\ref{en_loss} and \ref{sec:em.eion}.  
+For continuous energy losses the effects of a polarized beam or
+target are negligible provided the separation cut $T_{\rm cut}$ is
+small, and are therefore not considered separately. On the other
+hand, in the explicit production of delta rays by M{\o}ller or
+Bhabha scattering, the effects of polarization on total cross
+section and mean free path, on distribution of final state particles
+and the average polarization of final state particles are taken into
+account.
+
+% ----------------------------------------------------------------------
+
+\subsection{Total cross section and mean free path}
+
+Kinematics of Bhabha and M{\o}ller scattering is fixed by initial
+energy 
+\begin{equation}
+  \gamma=\frac{E_{k_1}}{m c^2}% =\frac{s}{2m^2}-1
+\end{equation}
+and variable
+\begin{equation}
+  \epsilon = \frac{E_{p_2}-m c^2}{E_{k_1}-m c^2},
+\end{equation}
+which is the part of kinetic energy of initial particle carried out by
+scatter. Lower kinematic limit for $\epsilon$ is $0$, but in order
+to avoid divergencies in both total and differential cross sections
+one sets 
+\begin{equation}
+   \epsilon_{min}= x = \frac{T_{min}}{E_{k_1}-mc^2},
+\end{equation}
+where $T_{min}$ has meaning of minimal kinetic energy of secondary
+electron. And, $\epsilon_{\rm max}=1(1/2)$ for Bhabha(M{\o}ller)
+scatterings.  
+
+% ----------------------------------------------------------------------
+\subsubsection{Total M{\o}ller cross section}
+
+The total cross section of the polarized M{\o}ller scattering can be expressed as follows
+\begin{equation}\label{totalMoller}
+\sigma^M_{pol}=\frac{2\pi\gamma^2 r_e^2}{(\gamma-1)^2(\gamma+1)}\left[
+  \sigma^M_0 + \zeta_3^{(1)}\zeta_3^{(2)}\sigma^M_L 
+            + \left(\zeta_1^{(1)}\zeta_1^{(2)}+\zeta_2^{(1)}\zeta_2^{(2)}\right)\sigma^M_T\right],
+\end{equation}
+  where the $r_e$ is classical electron radius, and
+\begin{eqnarray}
+\sigma^M_0&=&
+  - \frac{1}{1 - x} + \frac{1}{x} 
+  - \frac{{\left( \gamma - 1 \right)}^2}{{\gamma}^2} 
+    \left(\frac{1}{2} - x \right)
+  +  \frac{ 2 - 4\,\gamma }{2\,{\gamma}^2}
+ \,\ln \left(\frac{1-x}{x}\right)
+\nonumber\\
+\sigma^M_L&=&
+\frac{ \left( -3 + 2\,\gamma + {\gamma}^2 \right) 
+      \,\left( 1 - 2\,x \right) }{2\, {\gamma}^2} 
+  + \frac{2\,\gamma\,\left( -1 + 2\,\gamma \right)}{2\,
+    {\gamma}^2} \,\ln \left(\frac{1-x}{x}\right)
+\nonumber\\
+\sigma^M_T&=&
+\frac{2\,\left( \gamma - 1 \right) \,\left( 2\,x  -1  \right)}{2\,{\gamma}^2}
+  + \frac{
+    \left( 1 - 3\,\gamma \right) }{2\,{\gamma}^2} \,\ln \left(\frac{1-x}{x}\right)
+\label{mollertotal}
+\end{eqnarray}
+
+% ----------------------------------------------------------------------
+\subsubsection{Total Bhabha cross section}
+
+The total cross section of the polarized Bhabha scattering can be expressed as follows
+\begin{equation}\label{totalBhabha}
+\sigma^B_{pol}=\frac{2\pi r_e^2}{\gamma-1}
+\left[
+\sigma^B_0 + \zeta_3^{(1)}\zeta_3^{(2)}\sigma^B_L + \left(\zeta_1^{(1)}\zeta_1^{(2)} + \zeta_2^{(1)}\zeta_2^{(2)}\right)\sigma^B_T
+\right],
+\end{equation}
+where
+\begin{eqnarray}
+\sigma^B_0&=&
+\frac{1 - x}{2\,\left( \gamma - 1 \right) \,x} +
+  \frac{2\,\left( -1 + 3\,x - 6\,x^2 + 4\,x^3 \right) }
+   {3\,{\left( 1 + \gamma \right) }^3}
+    \nonumber\\
+  &+&\frac{-1 - 5\,x + 12\,x^2 - 10\,x^3 + 4\,x^4}{2\,\left( 1 + \gamma \right) \,x}
+ + \frac{-3 - x + 8\,x^2 - 4\,x^3 - \ln (x)}{{\left( 1 + \gamma \right) }^2}
+    \nonumber\\
+  &+&\frac{3 + 4\,x - 9\,x^2 + 3\,x^3 - x^4 + 6\,x\,\ln (x)}{3\,x}
+    \nonumber\\
+  \sigma^B_L&=&
+\frac{2\,\left( 1 - 3\,x + 6\,x^2 - 4\,x^3 \right) }{3\,{\left( 1 + \gamma \right) }^3} +
+  \frac{-14 + 15\,x - 3\,x^2 + 2\,x^3 - 9\,\ln (x)}{3\,\left( 1 + \gamma \right) }
+\nonumber\\
+  &+&\frac{5 + 3\,x - 12\,x^2 + 4\,x^3 + 3\,\ln (x)}{3\,{\left( 1 + \gamma \right) }^2} +
+  \frac{7 - 9\,x + 3\,x^2 - x^3 + 6\,\ln (x)}{3}
+\nonumber\\
+\sigma^B_T&=&
+\frac{2\,\left( -1 + 3\,x - 6\,x^2 + 4\,x^3 \right) }{3\,{\left( 1 + \gamma \right) }^3} +
+  \frac{-7 - 3\,x + 18\,x^2 - 8\,x^3 - 3\,\ln (x)}{3\,{\left( 1 + \gamma \right) }^2}
+\nonumber\\
+  &+&\frac{5 + 3\,x - 12\,x^2 + 4\,x^3 + 9\,\ln (x)}{6\,\left( 1 + \gamma \right) }
+\end{eqnarray}
+
+% ----------------------------------------------------------------------
+\subsubsection{Mean free path}
+
+With the help of the total polarized  M{\o}ller cross section
+one can define a longitudinal asymmetry $A^M_L$ and the transverse
+asymmetry $A^M_T$, by
+
+\begin{tabular}{ccc}
+ $ A^M_L = \displaystyle \frac{\sigma^M_L}{\sigma^M_0}  \quad$ & and &
+ $\quad A^M_T = \displaystyle \frac{\sigma^M_T}{\sigma^M_0}\;$.
+\end{tabular}
+
+Similarly, using the polarized Bhabha cross section one can introduce a
+longitudinal asymmetry $A^B_L$ and the transverse asymmetry $A^B_T$
+via
+
+\begin{tabular}{ccc}
+ $ A^B_L = \displaystyle \frac{\sigma^B_L}{\sigma^B_0}  \quad$ & and &
+ $\quad A^B_T = \displaystyle \frac{\sigma^B_T}{\sigma^B_0}\;$.
+\end{tabular}
+
+These asymmetries are depicted in figures \ref{pol.moller1} and
+\ref{pol.bhabha1} respectively. 
+
+If both beam and target are polarized the mean free path as defined in
+section \ref{sec:em.eion} has to be modified. In the class {\em
+G4ePolarizedIonization} the polarized mean free path $\lambda^{\rm
+pol}$ is derived from the unpolarized mean free path $\lambda^{\rm
+unpol}$ via
+\begin{equation}
+  \lambda^{\rm pol} = \frac{\lambda^{\rm unpol}}{1 +
+\zeta_3^{(1)}\zeta_3^{(2)}\, A_L +
+\left(\zeta_1^{(1)}\zeta_1^{(2)}+\zeta_2^{(1)}\zeta_2^{(2)}\right) \,A_T}
+\end{equation}
+
+%
+\begin{figure}[t]
+\begin{center}
+  \includegraphics[width=6.5cm]{electromagnetic/standard/plots/MollerTA1.eps}
+  \includegraphics[width=6.5cm]{electromagnetic/standard/plots/MollerTA2.eps}
+\end{center}
+\caption{\label{pol.moller1}M{\o}ller total cross section
+asymmetries depending on the total energy of the incoming
+electron, with a cut-off $T_{\rm cut}= 1 {\rm keV}$. Transverse
+asymmetry is plotted in blue, longitudinal asymmetry in red. Left
+part, between 0.5 MeV and 2 MeV, right part up to 10 MeV.}
+%\end{figure}	
+%
+%\begin{figure}[t]
+\begin{center}
+  \includegraphics[width=6.5cm]{electromagnetic/standard/plots/BhabhaTA1.eps}
+  \includegraphics[width=6.5cm]{electromagnetic/standard/plots/BhabhaTA2.eps}
+\end{center}
+\caption{\label{pol.bhabha1}Bhabha total cross section
+asymmetries depending on the total energy of the incoming
+positron, with a cut-off $T_{\rm cut}= 1 {\rm keV}$. Transverse
+asymmetry is plotted in blue, longitudinal asymmetry in red. Left
+part, between 0.5 MeV and 2 MeV, right part up to 10 MeV.}
+\end{figure}
+
+
+
+
+% ----------------------------------------------------------------------
+\subsection{Sampling the final state}
+
+\subsubsection{Differential cross section}
+
+The polarized differential cross section is rather complicated,
+the full result can be found in \cite{polIoni:Star:2006,polIoni:Ford:1957,polIoni:Stehle:1957}. 
+In {\em G4PolarizedMollerCrossSection} the complete result is
+available taking all mass effects into account, only binding effects
+are neglected.  
+Here we state only the ultra-relativistic approximation (URA), to show
+the general dependencies. 
+\begin{eqnarray}
+&&\frac{d\sigma_{URA}^M}{d\epsilon d\varphi}=
+\frac{{{r_\epsilon}}^2}{ \gamma + 1} \times
+\nonumber\\
+&&\Bigg[
+\frac{{\left( 1 - \epsilon + \epsilon^2 \right) }^2}{4\,{\left( \epsilon - 1 \right) }^2\,\epsilon^2} +
+\zeta_3^{(1)}\zeta_3^{(2)}\frac{2 - \epsilon +
+\epsilon^2}{-4\,\epsilon ( 1 - \epsilon)} +
+\left(\zeta_2^{(1)}\zeta_2^{(2)}  -\zeta_1^{(1)}\zeta_1^{(2)}\right)\frac{1}{4}
+\nonumber\\
+&&+
+  \left(\xi_3^{(1)}\zeta_3^{(1)} - \xi_3^{(2)}\zeta_3^{(2)}\right)
+\frac{1 - \epsilon  + 2\,\epsilon^2}{4\,\left( 1 -  \epsilon  \right) \,\epsilon^2}
++ \left(\xi_3^{(2)}\zeta_3^{(1)} - \xi_3^{(1)}\zeta_3^{(2)}\right)
+\frac{2 - 3\,\epsilon + 2\,\epsilon^2}{4\,{\left( 1 - \epsilon \right) }^2\,\epsilon}
+   \Bigg] \nonumber\\
+&&
+\end{eqnarray}
+%
+The corresponding cross section for Bhabha cross section is
+implemented in  {\em G4PolarizedBhabhaCrossSection}. In the
+ultra-relativistic approximation it reads
+\begin{eqnarray}
+&&\frac{d\sigma_{URA}^B}{d\epsilon d\varphi}=
+\frac{{{r_\epsilon}}^2}{ \gamma - 1} \times
+\nonumber\\
+&&\Bigg[
+\frac{{\left( 1 - \epsilon + \epsilon^2 \right) }^2}{4\,\epsilon^2} +
+\zeta_3^{(1)}\zeta_3^{(2)}\frac{\left( \epsilon - 1 \right) \,\left( 2 - \epsilon + \epsilon^2 \right) }{4\,\epsilon}
++\left(\zeta_2^{(1)}\zeta_2^{(2)}  -\zeta_1^{(1)}\zeta_1^{(2)}\right)\frac{(1-\epsilon)^2}{4}
+\nonumber\\
+&&+
+  \left(\xi_3^{(1)}\zeta_3^{(1)} - \xi_3^{(2)}\zeta_3^{(2)}\right)\frac{1 - 2\,\epsilon + 3\,\epsilon^2 - 2\,\epsilon^3}{4\,\epsilon^2}
++ \left(\xi_3^{(2)}\zeta_3^{(1)} - \xi_3^{(1)}\zeta_3^{(2)}\right)\frac{ 2 - 3\,\epsilon + 2\,\epsilon^2}{4\epsilon}
+   \Bigg] \nonumber\\
+&&
+\end{eqnarray}
+where
+\begin{tabular}[t]{l@{\ = \ }l}
+$r_e$       & classical electron radius       \\
+$\gamma$    & $E_{k_1}/m_e c^2$ \\
+$\epsilon$  & ($E_{p_1}-m_e c^2)/(E_{k_1}-m_e c^2)$  \\                      
+$E_{k_1}$   & energy of the incident electron/positron   \\
+$E_{p_1}$   & energy of the scattered electron/positron  \\
+$m_e c^2$   & electron mass                   \\
+$\bvec{\zeta}^{(1)}$ & Stokes vector of the incoming electron/positron \\
+$\bvec{\zeta}^{(2)}$ & Stokes vector of the target electron \\
+$\bvec{\xi}^{(1)}$   & Stokes vector of the outgoing electron/positron \\
+$\bvec{\xi}^{(2)}$   & Stokes vector of the outgoing (2nd) electron .
+\end{tabular}
+
+\subsubsection{Sampling}
+
+The delta ray is sampled according to methods discussed in Chapter
+2. After exploitation of the symmetry in the M{\o}ller cross section
+under exchanging $\epsilon$ versus $(1-\epsilon)$, the differential
+cross section can be approximated by a simple function $f^M(\epsilon)$:
+\begin{equation}
+   f^M(\epsilon) = \frac{1}{\epsilon^2} \frac{\epsilon_0}{1-2\epsilon_0}
+\end{equation}
+with the kinematic limits given by
+\begin{equation}
+  \epsilon_0 = \frac{T_{\rm cut}}{E_{k_1}-m_e c^2} \le \epsilon \le
+\frac{1}{2}
+\end{equation}
+A similar function $f^B(\epsilon)$ can be found for Bhabha scattering:
+\begin{equation}
+   f^B(\epsilon) = \frac{1}{\epsilon^2} \frac{\epsilon_0}{1-\epsilon_0}
+\end{equation}
+with the kinematic limits given by
+\begin{equation}
+  \epsilon_0 = \frac{T_{\rm cut}}{E_{k_1}-m_e c^2} \le \epsilon \le 1
+\end{equation}
+
+The kinematic of the delta ray production is constructed by the
+following steps:
+\begin{enumerate}
+   \item $\epsilon$ is sampled from $f(\epsilon)$
+   \item calculate the differential cross section, depending on the
+         initial polarizations $\bvec{\zeta}^{(1)}$ and $\bvec{\zeta}^{(2)}$.
+   \item $\epsilon$ is accepted with the probability defined by ratio
+         of the differential cross section over the approximation
+         function.
+   \item The $\varphi$ is diced uniformly. 
+   \item $\varphi$ is determined from the differential cross section,
+         depending on the initial polarizations $\bvec{\zeta}^{(1)}$ and $\bvec{\zeta}^{(2)}$
+\end{enumerate}
+Note, for initial states without transverse polarization components, the
+$\varphi$ distribution is always uniform.
+In figure \ref{pol.moller2} the asymmetries indicate the influence of
+polarization. In general the effect is largest around
+$\epsilon=\frac{1}{2}$. 
+%
+%\begin{figure}[ht]
+%\includegraphics[scale=0.5]{electromagnetic/standard/plots/MollerXS.eps}
+%\caption{M{\o}ller differential cross section in arbitrary units. Black - unpolarized, Red - (+-),Blue (++).
+%This cross section is symmetric around point $\epsilon=1/2$.
+%}
+%\end{figure}
+%\begin{figure}[ht]
+%\includegraphics[scale=0.5]{electromagnetic/standard/plots/BhabhaXS.eps}
+%\caption{Bhabha differential cross section in arbitrary units. Black - unpolarized, Red - (+-),Blue (++)}
+%\end{figure}
+%
+\begin{figure}[ht]
+\begin{center}
+\includegraphics[width=6.5cm]{electromagnetic/standard/plots/MollerAsym.eps}
+\includegraphics[width=6.5cm]{electromagnetic/standard/plots/BhabhaAsym.eps}
+\end{center}
+%\caption{M{\o}ller differential cross section asymmetries in\%. 
+%Red - ZZ, Gren - XX, Blue - YY, LightBlue -ZX} 
+\caption{\label{pol.moller2}Differential cross section asymmetries in\% for M{\o}ller
+(left) and Bhabha (right) scattering ( red - $A_{ZZ}(\epsilon)$, 
+ green - $A_{XX}(\epsilon)$, blue - $A_{YY}(\epsilon)$, lightblue - $A_{ZX}(\epsilon)$)}
+\end{figure}
+
+After both $\phi$ and $\epsilon$ are known, the kinematic can be
+constructed fully. Using momentum conservation the momenta of the
+scattered incident particle and the ejected electron are constructed
+in global coordinate system.
+
+\subsubsection{Polarization transfer}
+
+After the kinematics is fixed the polarization properties of the
+outgoing particles are determined. Using the dependence of
+the differential cross section on the final state polarization a mean
+polarization is calculated according to method described in section
+\ref{sec:pol.intro}. 
+
+The resulting polarization transfer functions $\xi^{(1,2)}_3(\epsilon)$
+are depicted in figures \ref{pol.moller3} and \ref{pol.bhabha3}.
+
+\begin{figure}[ht]
+\includegraphics[width=6.5cm]{electromagnetic/standard/plots/MollerTransfer1.eps}
+\includegraphics[width=6.5cm]{electromagnetic/standard/plots/MollerTransfer2.eps}
+\caption{\label{pol.moller3}Polarization transfer functions in
+M{\o}ller scattering. Longitudinal polarization
+$\xi^{(2)}_3$ of electron with energy $E_{p_2}$ in blue; longitudinal
+polarization $\xi^{(1)}_3$ of second electron in red. Kinetic energy of incoming electron $T_{k_1} = 10 {\rm MeV}$}. 
+\end{figure}
+
+\begin{figure}[ht]
+\includegraphics[width=6.5cm]{electromagnetic/standard/plots/BhabhaTransfer1.eps}
+\includegraphics[width=6.5cm]{electromagnetic/standard/plots/BhabhaTransfer2.eps}
+\caption{\label{pol.bhabha3}Polarization Transfer in Bhabha scattering.
+Longitudinal polarization
+$\xi^{(2)}_3$ of electron with energy $E_{p_2}$ in blue; longitudinal
+polarization $\xi^{(1)}_3$ of scattered positron. Kinetic energy of incoming positron $T_{k_1} = 10 {\rm MeV}$}.
+\end{figure}
+
+% ----------------------------------------------------------------------
+\subsection{Status of this document}
+20.11.06 created by P.Starovoitov\\
+21.02.07 minor update by A.Sch{\"a}licke\\
+
+\begin{latexonly}
+
+\begin{thebibliography}{9}
+\bibitem{polIoni:Star:2006} P.~Starovoitov {\em et.al.}, in preparation.
+\bibitem{polIoni:Ford:1957}
+G.~W.~Ford, C.~J.~Mullin,
+Phys.~Rev.\ {\bf 108} (1957) 477.
+\bibitem{polIoni:Stehle:1957}
+P.~Stehle,
+Phys.~Rev.\ {\bf 110} (1958) 1458.
+
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+\begin{enumerate}
+\item %{Star:2006} 
+ P.~Starovoitov {\em et.al.}, in preparation.
+\item %{Ford:1957}
+G.~W.~Ford, C.~J.~Mullin,
+Phys.~Rev.\ {\bf 108} (1957) 477.
+\item % {Stehle:1957}
+P.~Stehle,
+Phys.~Rev.\ {\bf 110} (1958) 1458.
+\end{enumerate}
+
+\end{htmlonly}
+
+
+\clearpage
+% ======================================================================
+\section{Positron - Electron Annihilation}
+\subsection{Method}
+The class {\em G4eplusPolarizedAnnihilation} simulates
+annihilation of polarized positrons with electrons in a material. 
+The implementation baseline follows the approach derived for the class
+{\em  G4eplusAnnihilation} described in section
+\ref{sec:em.annil}.
+It evaluates polarization transfer and -- if the material is polarized --
+asymmetries in the produced photons. Thus, it takes the effects of
+polarization on total cross section and mean free path, on
+distribution of final state photons into account. And 
+calculates the average polarization of these generated photons.
+The material electrons are assumed to be free and at rest.
+
+\subsection{Total cross section and mean free path}
+Kinematics of annihilation process is fixed by initial energy
+\begin{equation}
+\gamma=\frac{E_{k_1}}{mc^2}%=\frac{s}{2(mc^2)^2}-1
+\end{equation}
+and variable
+\begin{equation}
+\epsilon = \frac{E_{p_1}}{E_{k_1}+mc^2},
+\end{equation}
+which is the part of total energy available in initial state carried out by first photon.
+This variable has the following kinematical limits
+\begin{equation}
+\frac{1}{2}\left(1-\sqrt{\frac{\gamma-1}{\gamma+1}}\right)\;<\;
+\epsilon
+\;<\;\frac{1}{2}\left(1+\sqrt{\frac{\gamma-1}{\gamma+1}}\right)
+\;.
+\end{equation}
+
+% ----------------------------------------------------------------------
+\subsubsection{Total Cross Section}
+The total cross section of the annihilation of a polarized $e^+e^-$
+pair into two photons could be expressed as follows 
+\begin{equation}\label{totalAnnih}
+\sigma^A_{pol}=\frac{\pi r_e^2}{\gamma+1}\left[
+\sigma^A_0 + \zeta_3^{(1)}\zeta_3^{(2)}\sigma^A_L + \left(\zeta_1^{(1)}\zeta_1^{(2)}+\zeta_2^{(1)}\zeta_2^{(2)}\right)\sigma^A_T\right],
+\end{equation}
+where
+\renewcommand{\Mvariable}[1]{\gamma}
+\begin{equation}
+\sigma^A_0=
+\frac{- \left( 3 + \Mvariable{gam} \right) \,{\sqrt{-1 + {\Mvariable{gam}}^2}}   +
+    \left( 1 + \Mvariable{gam}\,\left( 4 + \Mvariable{gam} \right)  \right) \,
+     \ln (\Mvariable{gam} + {\sqrt{-1 + {\Mvariable{gam}}^2}})}{4\,
+    \left( {\Mvariable{gam}}^2 - 1 \right) }
+\end{equation}
+\begin{equation}
+\sigma^A_L=
+\frac{- {\sqrt{-1 + {\Mvariable{gam}}^2}}\,
+       \left( 5 + \Mvariable{gam}\,\left( 4 + 3\,\Mvariable{gam} \right)  \right)    +
+    \left( 3 + \Mvariable{gam}\,\left( 7 + \Mvariable{gam} + {\Mvariable{gam}}^2 \right)  \right) \,
+     \ln (\Mvariable{gam} + {\sqrt{{\Mvariable{gam}}^2-1 }})}{4\,
+    {\left( \Mvariable{gam} -1\right) }^2\,\left( 1 + \Mvariable{gam} \right) }
+\end{equation}
+\begin{equation}
+\sigma^A_T=
+\frac{\left( 5 + \Mvariable{gam} \right) \,{\sqrt{-1 + {\Mvariable{gam}}^2}} -
+    \left( 1 + 5\,\Mvariable{gam} \right) \,\ln (\Mvariable{gam} + {\sqrt{-1 + {\Mvariable{gam}}^2}})}
+    {4\,{\left( -1 + \Mvariable{gam} \right) }^2\,\left( 1 + \Mvariable{gam} \right) }
+\end{equation}
+
+
+\subsubsection{Mean free path}
+
+With the help of the total polarized annihilation cross section
+one can define a longitudinal asymmetry $A^A_L$ and the transverse
+asymmetry $A^A_T$, by
+
+\begin{tabular}{ccc}
+ $ A^A_L = \displaystyle \frac{\sigma^A_L}{\sigma^A_0}  \quad$ & and &
+ $\quad A^A_T = \displaystyle \frac{\sigma^A_T}{\sigma^A_0}\;$.
+\end{tabular}
+
+These asymmetries are depicted in figure \ref{pol.annihi1}. 
+
+If both incident positron and target electron are polarized the mean
+free path as defined in section \ref{sec:em.annil} has to be
+modified. The polarized mean free path $\lambda^{\rm pol}$ is derived
+from the unpolarized mean free path $\lambda^{\rm unpol}$ via
+\begin{equation}
+  \lambda^{\rm pol} = \frac{\lambda^{\rm unpol}}{1 +
+\zeta_3^{(1)}\zeta_3^{(2)}\, A_L +
+\left(\zeta_1^{(1)}\zeta_1^{(2)}+\zeta_2^{(1)}\zeta_2^{(2)}\right) \,A_T}
+\end{equation}
+
+\begin{figure}[ht]
+\begin{center}
+\includegraphics[width=6.5cm]{electromagnetic/standard/plots/AnnihTA1.eps}
+\includegraphics[width=6.5cm]{electromagnetic/standard/plots/AnnihTA2.eps}
+\end{center}
+\caption{\label{pol.annihi1}Annihilation total cross section asymmetries depending on the
+total energy of the incoming positron $E_{k_1}$. The transverse asymmetry
+is shown in blue, the longitudinal asymmetry in red. } 
+\end{figure}
+
+\clearpage
+
+% ----------------------------------------------------------------------
+\subsection{Sampling the final state}
+\subsubsection{Differential Cross Section}
+The fully polarized differential cross section is implemented in the
+class {\em G4PolarizedAnnihilationCrossSection}, which takes all mass
+effects into account, but binding effects are neglected \cite{polAnnihi:Star:2006,polAnnihi:Page:1957}.  
+In the ultra-relativistic approximation (URA) and concentrating on
+longitudinal polarization states only the cross section is
+rather simple:
+\begin{eqnarray}
+\frac{d\sigma_{URA}^A}{d\epsilon d\varphi} & = &
+\frac{{{r_e}}^2}{ \gamma - 1}  \times 
+\Bigg(
+\frac{1 - 2\,\epsilon + 2\,\epsilon^2}{8\,\epsilon - 8\,\epsilon^2}\left(1 + \zeta_3^{(1)}\zeta_3^{(2)}\right)
+\nonumber\\
+&&\quad\quad
++ \frac{ \left( 1 - 2\,\epsilon \right) \,\left( \zeta _{3}^{(1)} + \zeta _{3}^{(2)} \right) \,
+      \left( \xi _{3}^{(1)} - \xi _{3}^{(2)} \right)  }{8\,\left( \epsilon -1  \right) \,\epsilon}
+         \Bigg)
+\end{eqnarray}
+%
+where
+\begin{tabular}[t]{l@{\ = \ }l}
+$r_e$       & classical electron radius       \\
+$\gamma$    & $E_{k_1}/m_e c^2$ \\
+$E_{k_1}$   & energy of the incident positron   \\
+$m_e c^2$   & electron mass                   \\
+$\bvec{\zeta}^{(1)}$ & Stokes vector of the incoming positron \\
+$\bvec{\zeta}^{(2)}$ & Stokes vector of the target electron \\
+$\bvec{\xi}^{(1)}$   & Stokes vector of the 1st photon \\
+$\bvec{\xi}^{(2)}$   & Stokes vector of the 2nd photon .
+\end{tabular}
+%
+\begin{figure}[ht]
+\begin{center}
+  \includegraphics[width=9.5cm]{electromagnetic/standard/plots/AnnihXS.eps}
+\end{center}
+\caption{Annihilation differential cross section in arbitrary
+units. Black line corresponds to unpolarized cross section;
+red line -- to the antiparallel spins of initial particles, and blue line -- to the parallel spins.
+Kinetic energy of the incoming positron $T_{k_1} = 10 {\rm MeV}$.}
+\end{figure}
+
+\subsubsection{Sampling}
+
+The photon energy is sampled according to methods discussed in Chapter
+2. After exploitation of the symmetry in the Annihilation cross section
+under exchanging $\epsilon$ versus $(1-\epsilon)$, the differential
+cross section can be approximated by a simple function $f(\epsilon)$:
+\begin{equation}
+   f(\epsilon) = \frac{1}{\epsilon}
+\ln^{-1}\left(\frac{\epsilon_{\rm max}}{\epsilon_{\rm min}}\right)
+\end{equation}
+with the kinematic limits given by
+\begin{eqnarray}
+\epsilon_{\rm min} &=&
+\frac{1}{2}\left(1-\sqrt{\frac{\gamma-1}{\gamma+1}}\right)\;, \nonumber\\
+\epsilon_{\rm max} &=&
+\frac{1}{2}\left(1+\sqrt{\frac{\gamma-1}{\gamma+1}}\right)
+\;.
+\end{eqnarray}
+
+The kinematic of the two photon final state is constructed by the
+following steps:
+\begin{enumerate}
+   \item $\epsilon$ is sampled from $f(\epsilon)$
+   \item calculate the differential cross section, depending on the
+         initial polarizations $\bvec{\zeta}^{(1)}$ and $\bvec{\zeta}^{(2)}$. 
+   \item $\epsilon$ is accepted with the probability defined by the ratio
+         of the differential cross section over the approximation
+         function  $f(\epsilon)$.
+   \item The $\varphi$ is diced uniformly. 
+   \item $\varphi$ is determined from the differential cross section,
+         depending on the initial polarizations $\bvec{\zeta}^{(1)}$ and $\bvec{\zeta}^{(2)}$.
+\end{enumerate}
+A short overview over the sampling method is given in Chapter 2.
+In figure \ref{pol.annihi2} the asymmetries indicate the influence of
+polarization for an 10MeV incoming positron. The actual behavior is
+very sensitive to the energy of the incoming positron. 
+
+
+\begin{figure}[ht]
+\includegraphics[scale=0.5]{electromagnetic/standard/plots/AnnihAsym.eps}
+\caption{\label{pol.annihi2}Annihilation differential cross section
+asymmetries in\%.
+ Red line corrsponds to $A_{ZZ}(\epsilon)$, green line -- $A_{XX}(\epsilon)$,
+ blue line -- $A_{YY}(\epsilon)$, lightblue line -- $A_{ZX}(\epsilon)$).
+ Kinetic energy of the incoming positron $T_{k_1} = 10 {\rm MeV}$.}
+\end{figure}
+
+\subsubsection{Polarization transfer}
+
+After the kinematics is fixed the polarization of the
+outgoing photon is determined. Using the dependence of
+the differential cross section on the final state polarizations a mean
+polarization is calculated for each photon according to method
+described in section \ref{sec:pol.intro}. 
+
+The resulting polarization transfer functions $\xi^{(1,2)}(\epsilon)$
+are depicted in figure \ref{pol.annihi3}.
+
+\begin{figure}[ht]
+\includegraphics[width=6.5cm]{electromagnetic/standard/plots/AnnihTransfer1.eps}
+\includegraphics[width=6.5cm]{electromagnetic/standard/plots/AnnihTransfer2.eps}
+\caption{\label{pol.annihi3}
+Polarization Transfer in annihilation process.
+Blue line corresponds to the circular polarization $\xi_3^{(1)}$ of the photon with energy $m(\gamma + 1)\epsilon$;
+red line -- circular polarization $\xi_3^{(2)}$ of the photon photon with energy $m(\gamma + 1)(1-\epsilon)$.}
+\end{figure}
+
+\subsection{Annihilation at Rest}
+
+The method \verb!AtRestDoIt! treats the special case where a positron
+comes to rest before annihilating. It generates two photons, each with
+energy $E_{p_{1/2}}=m c^2$ and an isotropic angular distribution.
+%Eventhough the asymmetry for annihilation at rest is 100\% (cf.\
+%figure \ref{pol.annihi1}), there are always unpolarized electrons in
+%the a material.
+Starting with the differential cross section for annihilation with
+positron and electron spins opposed and parallel,
+respectively,\cite{polAnnihi:Page:1957} 
+\begin{eqnarray}
+ d\sigma_1 &=& \sim \frac{(1 - \beta^2) + \beta^2 (1 - \beta^2) (1 -
+\cos^2\theta)^2}{(1 - \beta^2\cos^2\theta)^2} d \cos\theta \\
+ d\sigma_2 &=& \sim \frac{\beta^2(1 -
+\cos^4\theta)}{(1 - \beta^2\cos^2\theta)^2} d \cos\theta \\
+\end{eqnarray}
+In the limit $\beta\to0$ the cross section $d\sigma_1$ becomes one,
+and the cross section $d\sigma_2$ vanishes. For the opposed spin
+state, the total angular 
+momentum is zero and we have a uniform photon distribution. For the
+parallel case the total angular momentum is 1. Here the two photon
+final state is forbidden by angular momentum conservation, and it can
+be assumed that higher order processes (e.g.\ three photon final
+state) play a dominant role. However, in reality 100\% polarized
+electron targets do not exist, consequently there are always electrons
+with opposite spin, where the positron can annihilate with.
+% Leading again to a uniform distribution. 
+Final state polarization does not play a role for the decay products
+of a spin zero state, and can be safely neglected. (Is set to zero)
+
+\subsection{Status of this document}
+20.11.06 created by P.Starovoitov\\
+21.02.07 minor update by A.Sch{\"a}licke\\
+
+\begin{latexonly}
+
+\begin{thebibliography}{9}
+\bibitem{polAnnihi:Star:2006} P.~Starovoitov {\em et.al.}, in preparation.
+\bibitem{polAnnihi:Page:1957}
+L.~A.~Page,
+%Polarization Effects in the Two-Quantum Annihilation of Positrons
+Phys.~Rev.\ {\bf 106} (1957) 394-398. 
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+\begin{enumerate}
+\item P.~Starovoitov {\em et.al.}, in preparation.
+\item L.~A.~Page,
+%Polarization Effects in the Two-Quantum Annihilation of Positrons
+Phys.~Rev.\ {\bf 106} (1957) 394-398. 
+\end{enumerate}
+
+\end{htmlonly}
+
+% ======================================================================
+\clearpage
+\section{Polarized Compton scattering}
+\subsection{Method}
+The class {\em G4PolarizedCompton}  simulates
+Compton scattering of polarized photons with (possibly polarized)
+electrons in a material. The implementation follows the approach
+described for the class {\em G4ComptonScattering} introduced
+in section \ref{sec:em.compton}. 
+Here the explicit production of a Compton scattered photon and the
+ejected electron is considered taking the effects of polarization on
+total cross section and mean free path as well as on the distribution
+of final state particles into account. Further the average
+polarizations of the scattered photon and electron are calculated.
+The material electrons are assumed to be free and at rest.
+
+\subsection{Total cross section and mean free path}
+
+Kinematics of the Compton process is fixed by the initial energy
+\begin{equation}
+X=\frac{E_{k_1}}{mc^2}
+\end{equation}
+and the variable
+\begin{equation}
+\epsilon = \frac{E_{p_1}}{E_{k_1}},
+\end{equation}
+which is the part of total energy avaible in initial state carried out
+by scattered photon, and the scattering angle
+\begin{equation}
+\cos{\theta} = 1 - \frac{1}{X}\left(\frac{1}{\epsilon} - 1\right)
+\end{equation}
+The variable $\epsilon$ has the following limits:
+\begin{equation}
+\frac{1}{1+2X} \;<\;  \epsilon  \;<\;1
+\end{equation}
+
+
+% ----------------------------------------------------------------------
+\subsubsection{Total Cross Section}
+The total cross section of Compton scattering reads
+\begin{equation}
+\sigma^{C}_{pol}=
+%\frac{\pi \,{{r_e}}^2}{4\,X^2\,{\left( 1 + 2\,X \right) }^2}
+\frac{\pi \,{{r_e}}^2}{X^2\,{\left( 1 + 2\,X \right) }^2}
+\left[\sigma^{C}_0 + \zeta^{(1)}_3\zeta^{(2)}_3 \sigma^{C}_L\right]
+\end{equation}
+where
+\begin{equation}
+\sigma^{C}_0 = \frac{2\,X\,\left( 2 + X\,\left( 1 + X \right) \,\left( 8 + X \right)  \right)  -
+    {\left( 1 + 2\,X \right) }^2\,\left( 2 + \left( 2 - X \right) \,X \right) \,
+     \ln (1 + 2\,X)}{X}
+\end{equation}
+and
+\begin{equation}
+\sigma^{C}_L = 2\,X\,\left( 1 + X\,\left( 4 + 5\,X \right)  \right)  -
+    \left( 1 + X \right) \,{\left( 1 + 2\,X \right) }^2\,\ln (1 + 2\,X) 
+\end{equation}
+
+\begin{figure}[ht]
+\includegraphics[width=6.5cm]{electromagnetic/standard/plots/ComptonTA1.eps}
+\includegraphics[width=6.5cm]{electromagnetic/standard/plots/ComptonTA2.eps}
+\caption{\label{pol.compton1}Compton total cross section asymmetry depending on the energy of incoming photon.
+Left part, between $0$ and $\sim 1$ MeV, right part -- up to 10MeV. }
+\end{figure}
+
+
+\subsubsection{Mean free path}
+When simulating the Compton scattering of a photon with an atomic
+electron, an empirical cross section formula is used, which reproduces
+the cross section data down to 10 keV (see section
+\ref{sec:em.compton}). If both, beam and target, are polarized this
+mean free path has to be corrected. 
+
+In the class {\em G4ComptonScattering} the polarized mean free path
+$\lambda^{\rm  pol}$ is defined on the basis of the the unpolarized
+mean free path $\lambda^{\rm unpol}$ via
+\begin{equation}
+  \lambda^{\rm pol} = \frac{\lambda^{\rm unpol}}{1 +
+\zeta_3^{(1)}\zeta_3^{(2)}\, A^C_L }
+\end{equation}
+where
+\begin{equation}
+ A^C_L = \displaystyle \frac{\sigma^A_L}{\sigma^A_0} 
+\end{equation}
+is the expected asymmetry from the the total polarized Compton
+cross section given above.
+This asymmetry is depicted in figure \ref{pol.compton1}. 
+
+
+% ----------------------------------------------------------------------
+\subsection{Sampling the final state}
+\subsubsection{Differential Compton Cross Section}
+
+In the ultra-relativistic approximation the dependence of the
+differential cross section on the longitudinal/circular degree of
+polarization is very simple. It reads
+\begin{eqnarray}
+&&\frac{d\sigma_{URA}^C}{de d\varphi}=
+%\frac{{{r_e}}^2 \,Z}{ 4X}
+\frac{{{r_e}}^2 }{ X}
+\Bigg(
+\frac{\epsilon^2 + 1}{2\,\epsilon} + 
+\frac{ \epsilon^2  -1  }{2\,\epsilon} \left(\zeta_3^{(1)}\zeta_3^{(2)} +
+ \zeta _{3}^{(2)}\,\xi _{3}^{(1)} - \zeta _{3}^{(1)}\,\xi _{3}^{(2)}\right)
+\nonumber\\
+&&+\frac{\epsilon^2 + 1}{2\,\epsilon}   \left( \zeta _{3}^{(1)}\,\xi _{3}^{(1)} - \zeta _{3}^{(2)}  \,\xi _{3}^{(2)} \right)
+   \Bigg)
+\end{eqnarray}
+where
+\begin{tabular}[t]{l@{\ = \ }l}
+$r_e$       & classical electron radius       \\
+$X$         & $E_{k_1}/m_e c^2$ \\
+$E_{k_1}$   & energy of the incident photon   \\
+$m_e c^2$   & electron mass                   \\
+\end{tabular}
+
+The fully polarized differential cross section is available in the class {\em 
+G4PolarizedComptonCrossSection}. It takes all mass effects into
+account, but binding effects are neglected \cite{polCompt:Star:2006,polCompt:Lipps:1954}.  
+The cross section dependence on $\epsilon$ for right handed circularly polarized
+photons and longitudinally polarized electrons is plotted in figure \ref{pol.compton2a}
+%
+\begin{figure}
+\includegraphics[scale=0.5]{electromagnetic/standard/plots/ComptonXS.eps}
+\caption{\label{pol.compton2a}
+Compton scattering differential cross section in arbitrary
+units. Black line corresponds to the unpolarized cross section;
+red line -- to the antiparallel spins of initial particles, and blue line -- to the parallel spins.
+Energy of the incoming photon $E_{k_1} = 10 {\rm MeV}$.
+}
+\end{figure}
+%
+\begin{figure}
+\includegraphics[scale=0.5]{electromagnetic/standard/plots/ComptonAsym.eps}
+\caption{\label{pol.compton2}Compton scattering differential cross section asymmetries in\%.
+Red line corresponds to the asymmetry due to circular photon and longitudinal electron initial state polarization,
+green line -- due to circular photon and transverse electron initial state polarization,
+blue line -- due to linear photon and transverse electron initial state polarization.}
+\end{figure}
+
+
+\subsubsection{Sampling}
+
+The photon energy is sampled according to methods discussed in Chapter
+2. The differential cross section can be approximated by a simple
+function $\Phi(\epsilon)$: 
+\begin{equation}
+   \Phi(\epsilon) = \frac{1}{\epsilon} + \epsilon
+\end{equation}
+with the kinematic limits given by
+\begin{eqnarray}
+ \epsilon_{\rm min} &=& \frac{1}{1+2X} \\  
+ \epsilon_{\rm max} &=& 1
+\end{eqnarray}
+
+
+
+
+The kinematic of the scattered photon is constructed by the
+following steps:
+\begin{enumerate}
+   \item $\epsilon$ is sampled from $\Phi(\epsilon)$
+   \item calculate the differential cross section, depending on the
+         initial polarizations $\bvec{\zeta}^{(1)}$ and $\bvec{\zeta}^{(2)}$, which
+         the correct normalization. 
+   \item $\epsilon$ is accepted with the probability defined by ratio
+         of the differential cross section over the approximation
+         function.
+   \item The $\varphi$ is diced uniformly. 
+   \item $\varphi$ is determined from the differential cross section,
+         depending on the initial polarizations $\bvec{\zeta}^{(1)}$ and $\bvec{\zeta}^{(2)}$.
+\end{enumerate}
+In figure \ref{pol.compton2} the asymmetries indicate the influence of
+polarization for an 10MeV incoming positron. The actual behavior is
+very sensitive to energy of the incoming positron. 
+
+\subsubsection{Polarization transfer}
+
+After the kinematics is fixed the polarization of the
+outgoing photon is determined. Using the dependence of
+the differential cross section on the final state polarizations a mean
+polarization is calculated for each photon according to the method
+described in section \ref{sec:pol.intro}. 
+
+The resulting polarization transfer functions $\xi^{(1,2)}(\epsilon)$
+are depicted in figure \ref{pol.compton3}.
+
+\begin{figure}[ht]
+\includegraphics[width=6.5cm]{electromagnetic/standard/plots/ComptonTransfer1.eps}
+\includegraphics[width=6.5cm]{electromagnetic/standard/plots/ComptonTransfer2.eps}
+\caption{\label{pol.compton3} Polarization Transfer in Compton scattering.
+Blue line corresponds to the longitudinal polarization $\xi_3^{(2)}$ of the electron,
+red line -- circular polarization $\xi_3^{(1)}$ of the photon.}
+\end{figure}
+
+\subsection{Status of this document}
+20.11.06 created by P.Starovoitov\\
+21.02.07 corrected cross section and some minor update by A.Sch{\"a}licke\\
+
+\begin{latexonly}
+
+\begin{thebibliography}{9}
+\bibitem{polCompt:Star:2006} P.~Starovoitov {\em et.al.}, in preparation.
+%\bibitem{polCompt:Stokes:1852}
+%G.~Stokes, Trans.\ Cambridge Phil.\ Soc.\  {\bf 9} (1852) 399.
+%
+%\bibitem{polCompt:McMaster:1961}
+%W.~H.~McMaster, Rev.\ Mod.\ Phys.\ {\bf 33} (1961) 8; and references therein.
+\bibitem{polCompt:Lipps:1954}
+F.W.~Lipps, H.A.~Tolhoek,
+%Polarization Phenomena of Electrons and Photons I,
+Physica {\bf 20}  (1954) 85;
+F.W.~Lipps, H.A.~Tolhoek,
+%Polarization Phenomena of Electrons and Photons II, 
+Physica {\bf 20} (1954) 395.
+
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+\begin{enumerate}
+\item P.~Starovoitov {\em et.al.}, in preparation.
+\item
+F.W.~Lipps, H.A.~Tolhoek,
+%Polarization Phenomena of Electrons and Photons I,
+Physica {\bf 20}  (1954) 85;
+F.W.~Lipps, H.A.~Tolhoek,
+%Polarization Phenomena of Electrons and Photons II, 
+Physica {\bf 20} (1954) 395.
+\end{enumerate}
+
+\end{htmlonly}
+
+
+\newpage
+\section{Polarized Bremsstrahlung for electron and positron}\label{sec:pol.bremsstrahlung}
+\subsection{Method}
+
+The polarized version of Bremsstrahlung is based on the unpolarized
+cross section. Energy loss, mean free path, and distribution of
+explicitly generated final state particles are treated by the
+unpolarized version {\em G4eBremsstrahlung}. For details consult
+section \ref{sec:em.ebrem}. 
+
+The remaining task is to attribute polarization vectors to the
+generated final state particles, which is discussed in the following. 
+
+\subsection{Polarization in gamma conversion and brems\-strahlung}
+
+Gamma conversion and bremsstrahlung are cross-symmetric processes
+(i.e. the Feynman diagram for electron bremsstrahlung can be obtained
+from the gamma conversion diagram by flipping the incoming photon and
+outgoing positron lines) and their cross sections closely related. For
+both processes, the interaction occurs in the field of the nucleus and
+the total and differential cross section are polarization
+independent. Therefore, only the polarization transfer from the
+polarized incoming particle to the outgoing particles is taken into
+account.  
+%
+\begin{figure}[htb]
+\begin{center}
+ \includegraphics [scale=.33] {electromagnetic/standard/plots/Fyn_diag.eps}
+ \caption {Feynman diagrams of Gamma conversion and bremsstrahlung processes.}
+\end{center}
+\end{figure}
+
+
+\noindent
+For both processes, the scattering can be formulated by: 
+\begin{equation}
+    \mathcal{K}_{1}(k_{1},\bvec{\zeta}^{(1)}) + \mathcal{N}_{1}(k_{\mathcal
+{N}_{1}}, \bvec{\zeta}^{(\mathcal {N}_{1})}) 
+    \longrightarrow 
+   \mathcal{P}_{1}(p_{1},\bvec{\xi}^{(1)}) + \mathcal{P}_{2}(p_{2},\bvec{\xi}^{(2)}) + \mathcal{N}_{2}(p_{\mathcal{N}_{2}}, \bvec{\xi}^{(\mathcal{N}_{2})})
+\end{equation}
+%
+Where $\mathcal{N}_{1}(k_{\mathcal {N}_{1}}, \bvec{\zeta}^{(\mathcal
+{N}_{1})})$ and $\mathcal{N}_{2}(p_{\mathcal{N}_{2}},
+\bvec{\xi}^{(\mathcal{N}_{2})})$ are the initial and final state of the
+field of the nucleus respectively assumed to be unchanged, at rest and
+unpolarized. This leads to $k_{\mathcal {N}_{1}} = k_{\mathcal
+{N}_{2}} = 0$ and $\bvec{\zeta}^{(\mathcal {N}_{1})} =
+\bvec{\xi}^{(\mathcal{N}_{2})} = 0$ 
+
+% Gamma conversion process
+\textbf{In the case of gamma conversion process}:\\
+$\mathcal{K}_{1}(k_{1},\bvec{\zeta}^{(1)})$ is the incoming photon initial
+state with momentum $k_{1}$ and polarization state $\bvec{\zeta}^{(1)}$. \\
+$\mathcal{P}_{1}(p_{1},\bvec{\xi}^{(1)})$ and
+$\mathcal{P}_{2}(p_{2},\bvec{\xi}^{(2)})$ are the two photons final states with
+momenta $p_{1}$ and $p_{2}$ and polarization states $\bvec{\xi}^{(1)}$ and $\bvec{\xi}^{(2)}$.
+
+% Bremsstrahlung process
+\textbf{In the case of bremsstrahlung process}:\\
+$\mathcal{K}_{1}(k_{1},\bvec{\zeta}^{(1)})$ is the incoming lepton
+$e^{-}(e^{+})$ initial state with momentum $k_{1}$ and polarization
+state $\bvec{\zeta}^{(1)}$. \\
+$\mathcal{P}_{1}(p_{1},\bvec{\xi}^{(1)})$ is the lepton $e^{-}(e^{+})$ final
+state with momentum $p_{1}$ and polarization state $\bvec{\xi}^{(1)}$. \\
+$\mathcal{P}_{2}(p_{2},\bvec{\xi}^{(2)})$ is the bremsstrahlung photon in
+final state with momentum $p_{2}$ and polarization state $\bvec{\xi}^{(2)}$. 
+
+\subsection[Polarization transfer to the photon]{Polarization transfer from the lepton $e^{-}(e^{+})$ to a photon}
+The polarization transfer from an electron (positron) to a photon in a
+brems\-strahlung process was first calculated by Olsen and Maximon
+\cite{polBrems:Olsen_Maximon} taking into account both Coulomb and screening
+effects. In the Stokes vector formalism, the $e^{-}(e^{+})$
+polarization state can be transformed to a photon polarization finale
+state by means of interaction matrix $T_{\gamma}^{b}$. It defined via
+%
+\begin{equation}
+ \left(\begin{array}{c} 
+    O \\
+ \bvec{\xi}^{(2)}   
+ \end{array}\right)
+= T_{\gamma}^{b} \,
+ \left(\begin{array}{c} 
+    1 \\
+ \bvec{\zeta}^{(1)}   
+\end{array}\right)\;,
+\label{eq:brem_gamma}
+\end{equation}
+%
+and
+%
+\begin{equation}
+T_{\gamma}^{b}\approx
+\left( 
+\begin{array}{cccc}
+1 & 0 & 0 & 0 \\
+D & 0 & 0 & 0 \\
+0 & 0 & 0 & 0 \\
+0 & T & 0 & L \\ 
+\end{array} 
+\right)\;,
+\label{eq:matrix_brem_g}
+\end{equation} 
+%
+where
+\begin{eqnarray}
+I &=& (\epsilon_{1}^{2}+\epsilon_{2}^{2})(3+2\Gamma)-2\epsilon_{1}\epsilon_{2}(1+4u^{2}\hat\xi^{2}\Gamma)\\
+D &=& \left\lbrace 8\epsilon_{1}\epsilon_{2}u^{2}\hat\xi^{2}\Gamma \right\rbrace / I\\
+T &=& \left\lbrace -4k\epsilon_{2}\hat\xi(1-2\hat\xi)u \Gamma \right\rbrace  / I \\
+L &=& 
+k\lbrace(\epsilon_{1}^{2}+\epsilon_{2}^{2})(3+2\Gamma)-2\epsilon_{2}(1+4u^{2}\hat\xi^{2}\Gamma)\rbrace
+/ I
+\end{eqnarray}
+%
+and
+%
+\begin{center}
+\begin{tabular}{ll}
+$\epsilon_{1}$ 	     &  Total energy of the incoming lepton $e^{+}(e^{-})$ in units $mc^{2}$\\
+$\epsilon_{2}$ 	     &  Total energy of the outgoing lepton $e^{+}(e^{-})$ in units $mc^{2}$\\
+$k$ &$=(\epsilon_{1}-\epsilon_{2})$, the energy of the bremsstrahlung photon in units of $mc^{2}$
+\\
+$\bvec{p}$ &  Electron (positron) initial momentum in units $mc$\\
+$\bvec{k}$ &  Bremsstrahlung photon momentum in units $mc$\\
+$\bvec{u}$ &  Component of $\bvec{p}$
+      perpendicular to $\bvec{k}$ in units $mc$ and $u=\vert \bvec{u} \vert $\\
+$\hat\xi$ & $ = 1/(1+u^{2})$
+\end{tabular}
+\end{center}
+%
+Coulomb and screening effects are contained in \(\Gamma\), defined as
+follows
+\begin{eqnarray}
+\Gamma &=& \ln\left(\frac{1}{\delta}\right)-2-f(Z)+
+           \mathcal{F}\left(\frac{\hat\xi}{\delta}\right) \quad \mbox{for } \Delta \le 120 \\ 
+\Gamma &=& \ln\left( \frac{111}{\hat\xi Z^{\frac{1}{3}}}\right)-2-f(z)
+           \quad \mbox{for } \Delta \ge 120 
+\end{eqnarray}
+%
+with
+%
+\begin{eqnarray}
+\Delta &=& \frac{12 Z^{\frac{1}{3}}\epsilon_{1}\epsilon_{2} \hat\xi}{121
+k} \quad \mbox{with $Z$ the atomic number and } \delta =
+\frac{k}{2\epsilon_{1}\epsilon{2}}
+\end{eqnarray}
+%
+%
+\noindent
+$f(Z)$ is the coulomb correction term derived by Davies, Bethe
+and Maximon \cite{polBrems:Davise}.
+$ \mathcal{F}({\hat\xi}/{\delta})$ contains the screening effects
+and is zero for $\Delta \le 0.5 $ (No screening effects). For $0.5 \le
+\Delta \le 120 $ (intermediate screening) it is a slowly decreasing
+function. The $\mathcal{F}({\hat\xi}/{\delta})$ values versus
+$\Delta$ are given in table \ref{koch} and used with a linear
+interpolation in between. 
+
+The polarization vector of the incoming $e^{-}(e^{+})$ must be rotated
+into the frame defined by the scattering plane (x-z-plane) and the
+direction of the outgoing photon (z-axis). The resulting polarization
+vector of the bremsstrahlung photon is also given in this frame.  
+\begin{table}[h]
+\caption{$ \mathcal{F}({\hat\xi}/{\delta})$ for intermediate values of the screening factor \cite{polBrems:koch}.}
+\label{koch}
+\begin{center}
+\begin{tabular}{|cc|cc|}
+\hline
+$\Delta$ &$ -\mathcal{F}\left({\hat\xi}/{\delta}\right)$ & $\Delta$& $ -\mathcal{F}\left({\hat\xi}/{\delta}\right)$\\
+\hline
+0.5  & 0.0145 & 40.0  & 2.00 \\
+1.0  & 0.0490 & 45.0  & 2.114\\
+2.0  & 0.1400 & 50.0  & 2.216\\
+4.0  & 0.3312 & 60.0  & 2.393\\
+8.0  & 0.6758 & 70.0  & 2.545\\
+15.0 & 1.126  & 80.0  & 2.676\\
+20.0 & 1.367  & 90.0  & 2.793\\
+25.0 & 1.564  & 100.0 & 2.897\\ 
+30.0 & 1.731  & 120.0 & 3.078\\ 
+35.0 & 1.875  & & \\ 
+\hline
+\end{tabular} 
+\end{center}
+\end{table}
+%
+Using Eq.\ (\ref{eq:brem_gamma}) and the transfer matrix given by
+Eq.\ (\ref{eq:matrix_brem_g}) the bremsstrahlung photon polarization
+state in the Stokes formalism \cite{polBrems:McMaster1, polBrems:McMaster2} is given by
+%
+\begin{equation}
+\xi^{(2)} = \left( 
+\begin{array}{c}
+\xi_{1}^{(2)}\\
+\xi_{2}^{(2)} \\
+\xi_{3}^{(2)} \\ 
+\end{array} 
+\right)
+\approx 
+\left( 
+\begin{array}{c}
+D \\
+0 \\
+\zeta_{1}^{(1)}L + \zeta_{2}^{(1)}T \\ 
+\end{array} 
+\right)
+\end{equation}
+
+\subsection[Polarization transfer to the lepton]{Remaining polarization of the lepton after emitting a bremsstrahlung photon}
+The \(e^{-}(e^{+})\) polarization final state after emitting a
+bremsstrahlung photon can be calculated using the interaction matrix
+\(T_{l}^{b}\) which describes the lepton depolarization. The
+polarization vector for the outgoing \(e^{-}(e^{+})\) is not given by
+Olsen and Maximon. However, their results can be used to calculate the
+following transfer matrix \cite{polBrems:klausFl,polBrems:hoogduin}. 
+%
+\begin{equation}
+ \left(\begin{array}{c} 
+    O \\
+ \bvec{\xi}^{(1)}   
+ \end{array}\right)
+ = T_{l}^{b} \,
+ \left(\begin{array}{c} 
+    1 \\
+ \bvec{\zeta}^{(1)}   
+\end{array}\right)
+\label{eq:brem_lepton}
+\end{equation}
+%
+\begin{equation}
+T_{l}^{b}\approx
+\left( 
+\begin{array}{cccc}
+1 & 0 & 0 & 0 \\
+D & M & 0 & E \\
+0 & 0 & M & 0 \\
+0 & F & 0 & M+P \\ 
+\end{array} 
+\right)
+\label{eq:matrix_brem_l}
+\end{equation}
+%
+where
+%
+\begin{eqnarray}
+  I &=&(\epsilon_{1}^{2}+\epsilon_{2}^{2})(3+2\Gamma)-2\epsilon_{1}\epsilon_{2}(1+4u^{2}\hat\xi^{2}\Gamma)\\
+  F &=& \epsilon_{2} \left\lbrace 4k\hat\xi u (1-2\hat\xi)\Gamma\right\rbrace /I \\
+  E &=& \epsilon_{1}  \left\lbrace 4k\hat\xi u (2\hat\xi-1)\Gamma \right\rbrace /I\\
+  M &=& \left\lbrace 4k\epsilon_{1}\epsilon_{2}(1+\Gamma - 2 u^{2}\hat\xi^{2} \Gamma)\right\rbrace / I \\
+  P &=& \left\lbrace k^{2} (1+8 \Gamma(\hat\xi - 0.5)^{2}\right\rbrace  / I
+\end{eqnarray}
+%
+and
+%
+\begin{center}
+\begin{tabular}{ll}
+$\epsilon_{1}$       &  Total energy of the incoming $e^{+}/e^{-}$ in units $mc^{2}$\\
+$\epsilon_{2}$       &  Total energy of the outgoing $e^{+}/e^{-}$ in units $mc^{2}$\\
+$k$ & $=(\epsilon_{1}-\epsilon_{2})$, energy of the photon in units of $mc^{2}$\\
+$\bvec{p}$ &  Electron (positron) initial momentum in units $mc$\\
+$\bvec{k}$ &  Photon momentum in units $mc$\\
+$\bvec{u}$ &  Component of $\bvec{p}$
+perpendicular  to $\bvec{k}$ in units $mc$ and $u=\vert \bvec{u} \vert $
+\end{tabular}
+\end{center}
+
+Using Eq.\ (\ref{eq:brem_lepton}) and the transfer matrix given by
+Eq.\ (\ref{eq:matrix_brem_l}) the \(e^{-}(e^{+})\) polarization state
+after emitting a bremsstrahlung photon is given in the Stokes
+formalism by
+%
+\begin{equation}
+\xi^{(1)} = \left( 
+\begin{array}{c}
+\xi_{1}^{(1)}\\
+\xi_{2}^{(1)} \\
+\xi_{3}^{(1)} \\ 
+\end{array} 
+\right)
+\approx 
+\left( 
+\begin{array}{c}
+ \zeta_{1}^{(1)} M + \zeta_{3}^{(1)} E \\
+ \zeta_{2}^{(1)} M  \\
+ \zeta_{3}^{(1)}(M+P) + \zeta_{1}^{(1)} F \\ 
+\end{array} 
+\right)
+\;.
+\end{equation}
+
+\subsection{Status of this document}
+20.11.06 created by K.Laihem\\
+21.02.07 minor update by A.Sch{\"a}licke\\
+
+\begin{latexonly}
+
+\begin{thebibliography}{7}
+
+\bibitem{polBrems:Olsen_Maximon} H.~Olsen and L.C.~Maximon. Photon and electron polarization in high- energy bremsstrahlung and pair production with screening. Physical Review, 114:887-904, 1959.
+
+\bibitem{polBrems:McMaster1} W.H.~McMaster. Polarization and the Stokes parameters. American Journal of Physics, 22(6):351-362, 1954.
+
+\bibitem{polBrems:McMaster2}W.H.~McMaster. Matrix representation of polarization. Reviews of Modern Physics, 33(1):8-29, 1961.
+
+\bibitem{polBrems:klausFl}K.~Fl{\"o}ttmann. Investigations toward the development of polarized and unpolarized high intensity positron sources for linear colliders. PhD thesis, Universitat Hamburg, 1993.
+
+\bibitem{polBrems:hoogduin}Hoogduin, Johannes Marinus. Electron, positron and photon polarimetry. PhD thesis, Rijksuniversiteit Groningen 1997.
+
+\bibitem{polBrems:Davise}H.~Davies, H.A.~Bethe and L.C.~Maximon. Theory of Bremsstrahlung and Pair Production. II. Integral Cross Section for Pair Production. Physical Review, 93(4):788-795, 1954.
+
+\bibitem{polBrems:koch}H.W.~Koch and J.W.~Motz. Bremsstrahlung cross-section formulas and related data. Review Mod. Phys., 31(4):920-955, 1959.
+
+\bibitem{polBrems:Laihem:thesis}
+K.~Laihem, PhD thesis, Humboldt University Berlin, Germany, (2007).
+
+\end{thebibliography}
+\end{latexonly}
+
+\begin{htmlonly}
+\begin{thebibliography}{9}
+\begin{enumerate}
+
+\item H.~Olsen and L.C.~Maximon. Photon and electron polarization in high- energy bremsstrahlung and pair production with screening. Physical Review, 114:887-904, 1959.
+
+\item W.H.~McMaster. Polarization and the Stokes parameters. American Journal of Physics, 22(6):351-362, 1954.
+
+\item W.H.~McMaster. Matrix representation of polarization. Reviews of Modern Physics, 33(1):8-29, 1961.
+
+\item K.~Fl{\"o}ttmann. Investigations toward the development of polarized and unpolarized high intensity positron sources for linear colliders. PhD thesis, Universitat Hamburg, 1993.
+
+\item Hoogduin, Johannes Marinus. Electron, positron and photon polarimetry. PhD thesis, Rijksuniversiteit Groningen 1997.
+
+\item H.~Davies, H.A.~Bethe and L.C.~Maximon. Theory of Bremsstrahlung and Pair Production. II. Integral Cross Section for Pair Production. Physical Review, 93(4):788-795, 1954.
+
+\item H.W.~Koch and J.W.~Motz. Bremsstrahlung cross-section formulas and related data. Review Mod. Phys., 31(4):920-955, 1959.
+
+\item K.~Laihem, PhD thesis, Humboldt University Berlin, Germany, (2007).
+
+\end{enumerate}
+\end{htmlonly}
+
+\newpage
+\section{Polarized Gamma conversion into an electron--positron pair}
+\subsection{Method}
+
+The polarized version of gamma conversion is based on the EM standard
+process {\em G4GammaConversion}. Mean free path and the distribution
+of  explicitly generated final state particles are treated by this
+version. For details consult 
+section \ref{sec:em.conv}. 
+
+The remaining task is to attribute polarization vectors to the
+generated final state leptons, which is discussed in the following. 
+
+
+\subsection[Polarization transfer]{Polarization transfer from the photon to the two leptons}
+Gamma conversion process is essentially the inverse process of
+Bremsstrahlung and the interaction matrix is obtained by inverting the
+rows and columns of the bremsstrahlung matrix and changing the sign of
+\(\epsilon_{2}\), cf.\ section \ref{sec:pol.bremsstrahlung}. It
+follows from the work by Olsen and Maximon  
+\cite{polPair:Olsen_Maximon} that the polarization state \(\xi^{(1)}\) of an
+electron or positron after pair production is obtained by 
+%
+\begin{equation}
+ \left(\begin{array}{c} 
+    O \\
+ \bvec{\xi}^{(1)}   
+ \end{array}\right)
+ = T_{l}^{p}  \,
+ \left(\begin{array}{c} 
+    1 \\
+ \bvec{\zeta}^{(1)}   
+\end{array}\right)
+\label{eq:conv_lepton}
+\end{equation}
+%
+and
+%
+\begin{equation}
+T_{l}^{p}\approx
+\left( 
+\begin{array}{cccc}
+1 & D & 0 & 0 \\
+0 & 0 & 0 & T \\
+0 & 0 & 0 & 0 \\
+0 & 0 & 0 & L \\ 
+\end{array} 
+\right)
+\;,
+\label{eq:matrix_conv}
+\end{equation}
+%
+where
+\begin{eqnarray}
+I &=& (\epsilon_{1}^{2}+\epsilon_{2}^{2})(3+2\Gamma)+2\epsilon_{1}\epsilon_{2}(1+4u^{2}\hat\xi^{2}\Gamma)\\
+D &=& \left\lbrace -8\epsilon_{1}\epsilon_{2}u^{2}\hat\xi^{2}\Gamma \right\rbrace / I\\
+T &=& \left\lbrace -4k\epsilon_{2}\hat\xi(1-2\hat\xi)u \Gamma \right\rbrace  / I \\
+L &=&
+k\lbrace(\epsilon_{1}^{2}+\epsilon_{2}^{2})(3+2\Gamma)-2\epsilon_{2}(1+4u^{2}\hat\xi^{2}\Gamma)\rbrace/ I
+\end{eqnarray}
+and
+\begin{center}
+\begin{tabular}{ll}
+$\epsilon_{1}$ 	&  total energy of the first lepton $e^{+}(e^{-})$ in units $mc^{2}$\\
+$\epsilon_{2}$ 	& total energy of the second lepton $e^{-}(e^{+})$ in units $mc^{2}$\\
+$k=(\epsilon_{1}+\epsilon_{2})$ & energy of the incoming photon in units of $mc^{2}$\\
+$\bvec{p}$	& electron=positron initial momentum in units $mc$\\
+$\bvec{k}$	& photon momentum in units $mc$\\
+$\bvec{u}$	& electron/positron initial momentum in units $mc$\\
+$u$ & $=\vert \bvec{u} \vert $
+\end{tabular}
+\end{center}
+%
+%Here, $\epsilon_{1}(\epsilon_{2})$  is the energy of the observed
+%electron or positron. The matrix (\ref{eq:matrix_conv}) for pair
+%production is the transpose of matrix (\ref{eq:matrix_brem_g}).
+Coulomb and screening effects are contained in \(\Gamma\), defined in
+section \ref{sec:pol.bremsstrahlung}.
+
+
+Using Eq.\ (\ref{eq:conv_lepton}) and the transfer matrix given by
+Eq.\ (\ref{eq:matrix_conv}) the polarization state of
+the produced $e^{-}(e^{+})$ is given in the Stokes formalism by: 
+
+\begin{equation}
+\xi^{(1)} = \left( 
+\begin{array}{c}
+\xi_{1}^{(1)}\\
+\xi_{2}^{(1)} \\
+\xi_{3}^{(1)} \\ 
+\end{array} 
+\right)
+\approx 
+\left( 
+\begin{array}{c}
+\zeta_{3}^{(1)} T  \\
+0 \\ 
+\zeta_{3}^{(1)} L  \\
+\end{array} 
+\right)
+\end{equation}
+
+
+\subsection{Status of this document}
+20.11.06 created by K.Laihem\\
+21.02.07 minor update by A.Sch{\"a}licke\\
+
+\begin{latexonly}
+
+\begin{thebibliography}{9}
+
+\bibitem{polPair:Olsen_Maximon} H.~Olsen and L.C.~Maximon. Photon and electron polarization in high- energy bremsstrahlung and pair production with screening. Physical Review, 114:887-904, 1959.
+
+\bibitem{polPair:Laihem:thesis}
+K.~Laihem, PhD thesis, Humboldt University Berlin, Germany, (2007).
+
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+\begin{enumerate}
+
+\item H.~Olsen and L.C.~Maximon. Photon and electron polarization in high- energy bremsstrahlung and pair production with screening. Physical Review, 114:887-904, 1959.
+
+\item K.~Laihem, PhD thesis, Humboldt University Berlin, Germany, (2007).
+
+\end{enumerate}
+
+\end{htmlonly}
+
+
+
+% LocalWords:  Bhabha
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/sandia.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/sandia.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/sandia.tex	(revision 1208)
@@ -0,0 +1,77 @@
+\section[Photoabsorption cross section at low energies]
+{Photoabsorption Cross Section at Low Energies} \label{secsandia}
+
+\subsection{Method}
+
+The photoabsorption cross section, $\sigma_{\gamma}(\omega)$, where $\omega$ 
+is the photon energy, is used in Geant4 for the description of the
+photo-electric effect, X-ray transportation and ionization effects in very 
+thin absorbers.  As mentioned in the discussion of photoabsorption 
+ionization (see section \ref{secpai}), it is convenient to represent the 
+cross section as a polynomial in $\omega^{-1}$ 
+\cite{sandia.bigg} :
+\begin{equation}
+\sigma_{\gamma}(\omega) = \sum_{k=1}^{4}a_{k}^{(i)}\omega^{-k} . 
+\end{equation} \\
+
+\noindent
+Using cross sections from the original Sandia data tables, calculations of 
+primary ionization and energy loss distributions produced by relativistic 
+charged particles in gaseous detectors show clear disagreement with 
+experimental data, especially for gas mixtures which include xenon. \\
+
+\noindent
+Therefore a special investigation was performed \cite{sandia.grich} by 
+fitting the coefficients $a_{k}^{(i)}$ to modern data from synchrotron 
+radiation experiments in the energy range of $ 10 - 50 \ eV$.  The fits
+were performed for elements typically used in detector gas mixtures:
+hydrogen, fluorine, carbon, nitrogen and oxygen.  Parameters for these 
+elements were extracted from data on molecular gases such as $N_2$, $O_2$, 
+$CO_2$, $CH_4$, and $CF_4$ \cite{sandia.lee73, sandia.lee77}.  Parameters 
+for the noble gases were found using data given in the tables 
+\cite{sandia.marr, sandia.west}.
+
+\subsection{Status of  this document}
+18.11.98 created by V. Grichine \\
+10.05.02 re-written by D.H. Wright \\
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+\bibitem{sandia.bigg} Biggs F., and Lighthill R.,
+{Preprint Sandia Laboratory, SAND 87-0070} (1990)
+\bibitem{sandia.grich} Grichine V.M., Kostin A.P., Kotelnikov S.K. et al.,
+{Bulletin of the Lebedev Institute no. 2-3, 34} (1994).
+\bibitem{sandia.lee73} Lee L.C. et al.,
+{J.Q.S.R.T., v. 13, p. 1023} (1973).
+\bibitem{sandia.lee77} Lee L.C. et al.,
+{Journ. of Chem. Phys., v. 67, p. 1237} (1977).
+\bibitem{sandia.marr} G.V. Marr and J.B. West,
+{Atom. Data Nucl. Data Tabl., v. 18, p. 497} (1976).
+\bibitem{sandia.west} J.B. West and J. Morton,
+{Atom. Data Nucl. Data Tabl., v. 30, p. 253} (1980).
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item Biggs F., and Lighthill R.,
+{Preprint Sandia Laboratory, SAND 87-0070} (1990)
+\item Grichine V.M., Kostin A.P., Kotelnikov S.K. et al.,
+{Bulletin of the Lebedev Institute no. 2-3, 34} (1994).
+\item Lee L.C. et al.,
+{J.Q.S.R.T., v. 13, p. 1023} (1973).
+\item Lee L.C. et al.,
+{Journ. of Chem. Phys., v. 67, p. 1237} (1977).
+\item G.V. Marr and J.B. West,
+{Atom. Data Nucl. Data Tabl., v. 18, p. 497} (1976).
+\item J.B. West and J. Morton,
+{Atom. Data Nucl. Data Tabl., v. 30, p. 253} (1980).
+\end{enumerate}
+
+\end{htmlonly}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/synch.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/synch.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/synch.tex	(revision 1208)
@@ -0,0 +1,157 @@
+\section[Synchrotron Radiation]{Synchrotron Radiation}
+
+Synchrotron radiation photons are produced when ultra-relativistic electrons
+travel along an approximately circular path.  In the following treatment, 
+the magnetic field is assumed to be constant and uniform, and the radius of
+curvature of the electron is assumed to be constant over its trajectory.
+
+\subsection{Spectral and Angular Distributions of Synchrotron Radiation}
+
+The spectral distribution of the mean number of synchrotron radiation
+photons, $d\bar{N}/d\omega$, produced by an ultra-relativistic electron 
+along a circular trajectory of length $L$, can be expressed in terms of the 
+mean energy loss spectrum $d\bar{\Delta}/d\omega$ \cite{synch.maier}:
+
+\begin{equation}
+\label{synch.a}
+\frac{d\bar{N}}{d\omega} = \frac{1}{\omega}\frac{d\bar{\Delta}}{d\omega} = 
+\frac{\sqrt{3}}{2\pi}\alpha\left(\frac{L\gamma}{R}\right)\frac{1}{\omega_{c}}
+\int_{\omega/\omega_{c}}^{\infty}K_{5/3}(\eta)d\eta   .
+\end{equation}
+
+Here,
+\begin{eqnarray*}
+\omega   &  & \mbox{photon energy} \\
+\alpha   &  & \mbox{fine structure constant} \\
+R        &  & \mbox{instantaneous radius of curvature of the trajectory} \\ 
+K        &  & \mbox{Macdonald function} \\
+\omega_c = 1.5\beta(\hbar c/R)\gamma^3 &  & \mbox{characteristic energy of synchrotron radiation.} \\   
+\end{eqnarray*} 
+$\beta$ is the ratio of the electron velocity $v$ to $c$, 
+$\gamma = 1/\sqrt{1 - \beta^2}$, and $\eta$ is an arbitrary integration
+variable.  In the SI system of units: $R(m) = P(GeV/c)/0.3B_{\bot}(T)$ , 
+where $B_{\bot}$ is the component of magnetic flux density perpendicular to 
+the electron velocity, and $P$ is the electron momentum.
+
+In order to simulate the energy spectrum of synchrotron radiation using
+the Monte Carlo method, $\bar{N}_{>\omega}$, the mean number of photons
+above a given energy $\omega$, must be determined.  This is done by
+integrating Eq.~\ref{synch.a} over energy, after first transforming  
+$d\bar{N}/d\omega$ by using the integral representation of the Macdonald 
+function \cite{synch.abram}:
+
+\begin{eqnarray}
+\label{synch.b}
+\bar{N}_{>\omega}& = &
+\int_{\omega}^{\infty}\frac{d\bar{N}}{d\omega'}d\omega' \nonumber\\
+& = &
+\frac{\sqrt{3}}{2\pi}\alpha\left(\frac{L\gamma}{R}\right)
+\int_0^{\infty}\frac{\cosh\left(\frac{5}{3}t\right)}{\cosh^2(t)}
+\exp\left[-\frac{\omega}{\omega_c}\cosh(t)\right]dt .
+\end{eqnarray}
+Here, $t$ is also an arbitrary integration variable.  The latter integral 
+is calculated numerically by the quadrature Laguerre 
+formula \cite{synch.korn}.  Calculations indicate that about 50 roots of 
+the Laguerre polynomials are required in order for the accuracy of the 
+integral estimation to be better than $10^{-4}$ \cite{synch.bag}.  
+
+The Monte Carlo method also requires the mean number of synchrotron 
+radiation photons at all energies, $\bar{N}$  (= $\bar{N}_{>0}$), in order 
+to determine the next occurrence of synchrotron radiation along a 
+trajectory, and to normalize the spectral distribution of the radiation.
+Setting $\omega = 0$ in Eq.~\ref{synch.b} yields
+\begin{eqnarray}
+\bar{N} = \bar{N}_{>0}& = & 
+\frac{\sqrt{3}}{2\pi}\alpha\left(\frac{L\gamma}{R}\right)
+\int_0^{\infty}\frac{\cosh\left(\frac{5}{3}t\right)}{\cosh^2(t)}dt \nonumber\\
+& = &
+\frac{5}{2\sqrt{3}}\alpha\left(\frac{L\gamma}{R}\right) \approx 
+10^{-2}\left(\frac{L\gamma}{R}\right) .
+\end{eqnarray}
+
+Qualitatively this result can be manipulated using the fact that the mean 
+number of photons produced along the formation zone length 
+$z \approx R/\gamma$ is proportional to $\alpha$.  Then for length $L$, 
+$\bar{N} \approx \alpha L/(R/\gamma)$.  Note that when $\gamma\gg1$, and
+$R \sim \gamma$, $\bar{N}$ does not depend on the electron energy but is 
+defined by the values of $L$ and $B_{\bot}$ only.  Instead, it is the mean 
+energy loss due to synchrotron radiation $\bar\Delta$, corresponding to a 
+trajectory of length $L$, that displays the characteristic 
+relativistic rise:
+
+\begin{equation}
+\bar{\Delta} = \int_0^{\infty}\omega\frac{d\bar{N}}{d\omega}d\omega =
+\frac{2}{3}\alpha\hbar c\left(\frac{L\gamma^2}{R^2}\right)\beta\gamma^2 =   
+\frac{8\bar{N}}{15\sqrt{3}}\omega_{c} 
+\approx 0.31\bar{N}\omega_{c} \sim \gamma^2 .
+\end{equation}
+
+The angular distribution of synchrotron radiation produced by 
+ultra-relativistic electrons shows a clear 'searchlight' effect.  Most of
+the photons are radiated within an angular range of order $1/\gamma$
+centered on the electron trajectory direction.  In the interesting region 
+of $\gamma > 10^3$ the angular resolution of X-ray and gamma detectors 
+usually does not allow the details of the angular distribution to be 
+measured.  Therefore, the angular distribution is set to be flat in the 
+range $0 - 1/\gamma$.
+
+\subsection{Simulating Synchrotron Radiation}
+
+The distance $x$ along the electron/positron trajectory to the next 
+occurrence of a synchrotron radiation photon is simulated according to the
+exponential distribution, $exp(-x\bar{N}/L)$.  The energy $\omega$ of the 
+photon is simulated according to the distribution 
+$\bar{N}_{>\omega}/\bar{N}$.  The direction of the photon 
+($\theta$, $\varphi$) is generated relative to the local $z$-axis which is 
+taken to be along the instantaneous direction of the electron.  $\theta$
+and $\varphi$ are distributed randomly in the ranges [0, $1/\gamma$] and 
+[0, $2\pi$], respectively.
+
+\subsection{Status of this document}
+15.10.98 created by V.Grichine \\
+02.12.02 re-written by D.H. Wright \\
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+
+\bibitem{synch.maier}  R. Maier,
+{\em Synchrotron Radiation, CERN Report 91-04, 97-115} (1991).
+
+\bibitem{synch.abram} Edited by M. Abramovwitz and I.A. Stegan,
+{\em Handbook of Mathemaatical Functions,
+ NBS Applied Mathematics Series 55} (1964).
+
+\bibitem{synch.korn}G.A. Korn and T.M. Korn,
+{\em Mathematical Handbook for scientists and 
+    engineers, McGRAW-HILL BOOK COMPANY, INC} (1961).
+
+\bibitem{synch.bag} A.V. Bagulya and V.M. Grichine,
+{Bulletin of Lebedev Institute, no.9-10, 7 } (1998).
+
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item  R. Maier,
+{\em Synchrotron Radiation, CERN Report 91-04, 97-115} (1991).
+
+\item Edited by M. Abramovwitz and I.A. Stegan,
+{\em Handbook of Mathemaatical Functions,
+ NBS Applied Mathematics Series 55} (1964).
+
+\item G.A. Korn and T.M. Korn,
+{\em Mathematical Handbook for scientists and 
+    engineers, McGRAW-HILL BOOK COMPANY, INC} (1961).
+
+\item A.V. Bagulya and V.M. Grichine,
+{Bulletin of Lebedev Institute, no.9-10, 7 } (1998).
+
+\end{enumerate}
+
+\end{htmlonly}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/utils/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/utils/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/utils/CVS/Entries	(revision 1208)
@@ -0,0 +1,5 @@
+/densityeffect.tex/1.5/Mon Dec  1 18:48:51 2003//
+/enloss.tex/1.18/Wed Jun 14 00:04:16 2006//
+/integral.tex/1.5/Sat Nov 25 19:56:10 2006//
+/fluctuations.tex/1.15/Mon Nov 30 13:46:17 2009//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/utils/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/utils/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/utils/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/utils
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/utils/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/utils/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/utils/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/utils/densityeffect.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/utils/densityeffect.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/utils/densityeffect.tex	(revision 1208)
@@ -0,0 +1,52 @@
+\\
+$x$ is a kinetic variable of the particle :
+ $ x = \log_{10}(\gamma \beta) = \ln(\gamma^{2} \beta^{2})/4.606 $, \linebreak 
+ and $\delta(x)$ is defined by
+\begin{equation}
+% \label{muion.de1}
+\begin{array}{rll}
+\mbox{for} & x < x_0 :            & \delta(x) = 0  \\
+\mbox{for} & x \in [x_0,\  x_1] : & \delta(x) = 4.606 x - C + a(x_1 - x)^m \\
+\mbox{for} & x > x_1 :            & \delta(x) = 4.606 x - C
+\end{array}
+\end{equation}
+where the matter-dependent constants are calculated as follows:
+\begin{equation}
+% \label{muion.de2}
+\begin{array}{lcl}
+h\nu_p & = & \mbox{ plasma energy of the medium } 
+               = \sqrt{4\pi n_{el} r_e^3} mc^2/\alpha
+               = \sqrt{4\pi n_{el} r_e} \hbar c        \\
+C      & = & 1 + 2 \ln (I/h\nu_p)                      \\
+x_a    & = & C/4.606                                   \\
+a      & = & 4.606(x_a - x_0)/(x_1 - x_0)^m            \\
+m      & = & 3 .
+\end{array}
+\end{equation}
+For condensed media
+$$
+\begin{array}{ll}
+I < 100 \: \mbox{eV} & \left \{
+\begin{array}{rll}
+\mbox{for } C \leq 3.681 & x_0 = 0.2           & x_1 = 2 \\
+\mbox{for } C >    3.681 & x_0 = 0.326 C - 1.0 & x_1 = 2
+\end{array} \right . \\
+I \geq 100 \: \mbox{eV} & \left \{
+\begin{array}{rll}
+\mbox{for } C \leq 5.215 & x_0 = 0.2           & x_1 = 3 \\
+\mbox{for } C >    5.215 & x_0 = 0.326 C - 1.5 & x_1 = 3
+\end{array} \right .
+\end{array}
+$$
+and for gaseous media 
+\[
+\begin{array}{rlll}
+\mbox{for} & C < 10.                  & x_0 = 1.6 & x_1 = 4  \\
+\mbox{for} & C \in [10.0,\  10.5[     & x_0 = 1.7 & x_1 = 4  \\
+\mbox{for} & C \in [10.5,\  11.0[     & x_0 = 1.8 & x_1 = 4  \\
+\mbox{for} & C \in [11.0,\  11.5[     & x_0 = 1.9 & x_1 = 4  \\
+\mbox{for} & C \in [11.5,\  12.25[    & x_0 = 2.  & x_1 = 4  \\
+\mbox{for} & C \in [12.25,\  13.804[  & x_0 = 2.  & x_1 = 5  \\
+\mbox{for} & C \geq 13.804            & x_0 = 0.326 C -2.5 & x_1 = 5 .
+\end{array}
+\]
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/utils/enloss.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/utils/enloss.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/utils/enloss.tex	(revision 1208)
@@ -0,0 +1,238 @@
+\section{Computing the Mean Energy Loss} \label{en_loss}
+ 
+Energy loss processes are very similar for \(e+/e-\) , \(\mu+/\mu-\) and
+charged hadrons, so a common description for them was a natural choice in 
+Geant4.  Any energy loss process must calculate the continuous and discrete
+energy loss in a material.  Below a given energy threshold the energy loss 
+is continuous and above it the energy loss is simulated by the explicit 
+production of secondary particles -  gammas, electrons, and positrons. 
+
+\subsection{Method}
+
+Let
+\[\frac{d\sigma(Z,E,T)}{dT}\]
+be the differential cross-section per atom (atomic number $Z$) for the ejection
+of a secondary particle with kinetic energy $T$ by an incident particle of 
+total energy $E$ moving in a material of density $\rho$.  The value of the 
+{\em kinetic energy cut-off} or {\em production threshold} is denoted by 
+$T_{cut}$.  Below this threshold the soft secondaries ejected are simulated as 
+continuous energy loss by the incident particle, and above it they are 
+explicitly generated.  The mean rate of energy loss is given by:
+\begin{equation}
+\label{comion.a}
+\frac{dE_{soft}(E,T_{cut})}{dx} = n_{at} \cdot
+ \int_{0}^{T_{cut}} \frac{d \sigma (Z,E,T)}{dT} T \: dT  
+\end{equation}
+where $n_{at}$ is the number of atoms per volume in the material. 
+The total cross section per atom for the ejection of a secondary of 
+energy \linebreak $T > T_{cut}$ is
+\begin{equation}
+\label{comion.b}
+\sigma (Z,E,T_{cut})
+= \int_{T_{cut}}^{T_{max}}\frac{d \sigma (Z,E,T)} {dT} \: dT \,
+\end{equation}
+where $T_{max}$ is the maximum energy transferable to the secondary particle.
+
+\noindent
+If there are several processes providing energy loss for a given particle, then
+the total continuous part of the energy loss is the sum:
+\begin{equation}
+\label{comion.c}
+\frac{dE_{soft}^{tot}(E,T_{cut})}{dx} = \sum_i{\frac{dE_{soft,i}(E,T_{cut})}{dx}}.
+\end{equation}
+These values are pre-calculated during the initialization phase of {\sc Geant4}
+and stored in the $dE/dx$ table. Using this table the ranges of the particle in
+given materials are calculated and stored in the $Range$ table. The $Range$ 
+table is then inverted to provide the $InverseRange$ table.  At run time, 
+values of the particle's continuous energy loss and range are obtained using 
+these tables. Concrete processes contributing to the energy loss are not 
+involved in the calculation at that moment. In contrast, the production of 
+secondaries with kinetic energies above the production threshold is sampled 
+by each concrete energy loss process. 
+
+The default energy interval for these tables extends from 100 eV to 100 TeV and
+the default number of bins is 120. For muon energy loss processes models are 
+valid for higher energies and this interval can be extended up to 1000 PeV. 
+Note that this extention should be done for all three processes which 
+contribute to muon energy loss.
+
+\subsection{Implementation Details}
+
+Common calculations are performed in the class $G4VEnergyLossProcess$ in which 
+the following methods are implemented:
+\begin{itemize}
+\item
+BuildPhysicsTable;
+\item
+StorePhysicsTable;
+\item
+RetrievePhysicsTable;
+\item
+AlongStepDoIt;
+\item
+PostStepDoIt;
+\item
+GetMeanFreePath;
+\item
+GetContinuousStepLimit;
+\item
+MicroscopicCrossSection;
+\item
+GetDEDXDispersion;
+\item
+SetMinKinEnergy;
+\item
+SetMaxKinEnergy;
+\item
+SetDEDXBinning;
+\item
+SetLambdaBinning;
+\end{itemize}
+This interface is used by the following processes:
+\begin{itemize}
+\item
+G4eIonisation;
+\item
+G4eBremsstrahlung;
+\item
+G4hIonisation;
+\item
+G4hhIonisation;
+\item
+G4ionIonisation;
+\item
+G4MuIonisation;
+\item
+G4MuBremsstrahlung;
+\item
+G4MuPairProduction.
+\end{itemize}
+These processes mainly provide initialization. The physics models are 
+implemented using the $G4VEmModel$ interface. Because a model is defined to
+be active over a given energy range and for a defined set of $G4Region$s,
+an energy loss process can have one or several models defined for a particle 
+and $G4Region$. The following models are available:
+\begin{itemize}
+\item
+G4BetheBlochModel;
+\item
+G4BetheBlochNoDeltaModel;
+\item
+G4BraggModel;
+\item
+G4BraggIonModel;
+\item
+G4BraggNoDeltaModel;
+\item
+G4MollerBhabhaModel;
+\item
+G4PAIModel;
+\item
+G4PAIPhotonModel;
+\item
+G4eBremmstrahlungModel;
+\item
+G4MuBetheBlochModel;
+\item
+G4MuBremmstrahlungModel;
+\item
+G4MuPairProductionModel;
+\end{itemize}
+ 
+\subsubsection{Stepsize Limit Due to Continuous Energy Loss}
+
+Continuous energy loss imposes a limit on the stepsize because of the 
+energy dependence of the cross sections. It is generally assumed in MC programs
+\cite{enloss.G3}  
+that the particle cross sections are approximately constant along a step, i.e. 
+the step size should be small enough that the change in cross section, from 
+the beginning of the step to the end, is also small.  In principle one must
+use very small steps in order to insure an accurate simulation, however 
+the computing time increases as the stepsize decreases. A good compromise is
+to limit the stepsize by not allowing the stopping range of the particle to
+decrease by more than 20 \% during the step. This condition works well for
+particles with kinetic energies $> 1 MeV$, but for lower energies it gives 
+very short stepsizes.
+
+To cure this problem a lower limit on the stepsize was introduced.  There is a 
+natural choice for this limit: the stepsize cannot be smaller than the 
+{\em range cut} parameter of the program.  The stepsize limit varies smoothly 
+with decreasing energy from the value given by the 
+condition \(\Delta range/range=0.20\) to the lowest possible value
+{\em range cut}. These are the default step limitation parameters; they can be
+overwritten using the UI command ``/process/eLoss/StepFunction 0.2 1 mm'',
+for example.
+
+
+\subsubsection{Energy Loss Computation}
+
+The computation of the {\em mean energy loss} after a given step is done
+by using the $dE/dx$, $Range$, and $InverseRange$ tables. The $dE/dx$ table 
+is used if the energy deposition is less than  5 \% of kinetic energy of the 
+particle.  When a larger percentage of energy is lost, the mean loss 
+\(\Delta T\) can be written as
+  \begin{equation}
+       \Delta T = T_0 - f_T(r_0-step)
+  \end{equation}
+where \(T_0\) is the kinetic energy,
+      \(r_0\)    the range           at the beginning of the step \(step\),
+       the function \(f_T(r)\) is the inverse of the $Range$ table (i.e. it
+       gives the kinetic energy of the particle for a range value of $r$) .
+\\       
+After the mean energy loss has been calculated, the process computes the
+{\em actual} energy loss, i.e. the loss with fluctuations.  The fluctuation
+is computed from a model described in Section \ref{gen_fluctuations}.
+
+
+\subsection{Energy Loss by Heavy Charged Particles}
+
+To save memory 
+in the case of hadron energy loss, $dE/dx$, $Range$ and $InverseRange$ tables 
+are constructed only for {\em protons}. The energy loss for other heavy, 
+charged particles is computed from these tables at the 
+{\em scaled kinetic energy} $T_{scaled}$ :
+\begin{equation}
+  T_{scaled} = q^2_{eff}\frac{ M_{proton} T}{ M_{particle}},
+\end{equation}
+where $T$ is the kinetic energy of the particle, $q_{eff}$ its effective 
+change in units of positron charge, $M_{proton}$ and
+$M_{particle}$ are the masses of the proton and particle.
+Note that in this approach the small differences between $T_{max}$ 
+values calculated for different changed particles are neglected.
+This is acceptable for hadrons and ions, but is not very accurate 
+for the simulation of muon energy loss, which is simulated by a 
+separate process. For slow ions effective charge is different from the charge 
+of ion nucleus, because of exchange between trasporting ion and the media.
+The effective charge approach is used \cite{enloss.Ziegler88}.
+
+\subsection{Status of this document}
+ 09.10.98  created by L. Urb\'an.\\
+ 01.12.03  revised by V.Ivanchenko.\\
+ 02.12.03  spelling and grammar check by D.H. Wright \\
+ 09.12.05  minor update by V.Ivanchenko.\\
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+\bibitem{enloss.G3} {\sc geant3} manual
+  {\em Cern Program Library Long Writeup W5013 (1994)}   
+\bibitem{enloss.Ziegler88} J.F.~Ziegler and
+J.M.~Manoyan, Nucl. Instr. and Meth.
+B35 (1988) 215.
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item {\sc geant3} manual
+  {\em Cern Program Library Long Writeup W5013} (1994).  
+\item J.F.~Ziegler and
+J.M.~Manoyan, Nucl. Instr. and Meth.
+B35 (1988) 215.
+\end{enumerate}
+
+\end{htmlonly}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/utils/fluctuations.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/utils/fluctuations.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/utils/fluctuations.tex	(revision 1208)
@@ -0,0 +1,254 @@
+
+\section{Energy loss fluctuations}  \label{gen_fluctuations}
+
+
+\subsection{Fluctuations in thick absorbers}
+
+The total continuous energy loss of charged particles is a stochastic
+quantity with a distribution described in terms of a straggling function.
+The straggling is partially taken into account in the simulation
+of energy loss by the production of $\delta$-electrons with energy
+$T > T_c$.  However, continuous energy loss also has fluctuations.
+Hence in the current GEANT4 implementation two different models of
+fluctuations are applied depending on the value of the parameter $\kappa$
+which is the lower limit of the number of interactions of the particle in
+a step.  The default value chosen is $\kappa = 10$. In the case of a high
+range cut (i.e. energy loss without delta ray production)
+for thick absorbers the following condition should be fulfilled:
+\begin{equation}
+\Delta E > \kappa \ T_{max}
+\label{cond}
+\end{equation}
+where $\Delta E$ is the mean continuous energy loss in a track segment of
+length $s$, and $T_{max}$ is the maximum kinetic energy that can be 
+transferred to the atomic electron. If this condition holds the fluctuation 
+of the total (unrestricted) energy loss follows a  Gaussian distribution. It 
+is worth noting that this condition can be true only for heavy particles, 
+because for electrons, $T_{max}=T/2$, and for positrons, $T_{max}=T$, where 
+$T$ is the kinetic energy of the particle.
+ In order to
+simulate the fluctuation of the continuous (restricted) energy loss, the
+condition should be modified. After a study, the following conditions
+have been chosen:
+\begin{equation}
+\Delta E > \kappa \ T_c
+\label{cond2}
+\end{equation}
+
+ and
+
+\begin{equation}
+T_{max} <=    2  \ T_c
+\label{cond3}
+\end{equation}
+where  $T_c$ is the cut kinetic energy of $\delta$-electrons.  For thick
+absorbers the
+straggling function approaches the Gaussian distribution with Bohr's
+variance \cite{eloss.ICRU49}:
+\begin{equation}
+\Omega^2 = 2\pi r^2_e m_e c^2 N_{el}\frac{Z_h^2}{\beta^2} T_c s
+\left(1 - \frac{\beta^2}{2} \right),
+\label{sig.fluc}
+\end{equation}
+where $r_e$ is the classical electron radius, $N_{el}$ is the electron
+density of the medium, $Z_{h}$ is the charge of the incident particle in
+units of positron charge, and $\beta$ is the relativistic velocity.
+
+
+\subsection{Fluctuations in thin absorbers}
+If the conditions \ref{cond2} and \ref{cond3} are not satisfied the model of
+energy
+fluctuations in thin absorbers is applied.  The formulae used to compute
+the energy loss fluctuation (straggling) are based on a very simple physics
+model of the atom.  It is assumed that the atoms have only two energy levels
+with binding energies $E_1$ and $E_2$. The particle-atom interaction can be
+an excitation with energy loss $E_1$ or $E_2$, or ionization with energy
+loss distributed according to a function $g(E) \sim 1/E^2$ :
+\begin{equation} \label{fluct.eqn0}
+\int_{E_0}^{T_{up}} g(E)\ dE = 1 \Longrightarrow
+     g(E) = \frac{E_0 T_{up}}{T_{up}-E_0} \frac{1}{E^2} .
+\end{equation}
+
+\noindent
+The macroscopic cross section for excitation $(i=1,2)$ is
+\begin{equation} \label{fluct.eqn1}
+  \Sigma_i = C \frac{f_i}{E_i}
+               \frac{\ln[2mc^2 \ (\beta\gamma)^2/E_i]-\beta^2}
+                    {\ln[2mc^2 \ (\beta\gamma)^2/I]-\beta^2}\ (1-r)
+\end{equation}
+and the ionization cross section is
+\begin{equation}  \label{fluct.eqn2}
+     \Sigma_3 = C \frac{T_{up}-E_0}
+         {E_0 T_{up}\ln(\frac{T_{up}}{E_0})}\ r
+\end{equation}
+where $E_0$ denotes the ionization energy of the atom, $I$ is the mean
+ionization energy, $T_{up}$ is the
+production threshold for delta ray production (or the maximum energy
+transfer if this value smaller than the
+production threshold), $E_i$ and $f_i$ are the energy levels and
+corresponding oscillator strengths of the atom, and $C$ and $r$ are model
+parameters.
+\noindent
+The oscillator strengths $f_i$ and energy levels $E_i$ should satisfy the
+constraints
+   \begin{equation}  \label{fluct.eqn3}
+        f_1 + f_2 = 1
+   \end{equation}
+   \begin{equation}   \label{fluct.eqn4}
+        f_1 \cdotp lnE_1 + f_2 \cdotp lnE_2 = lnI .
+   \end{equation}
+The cross section formulae \ref{fluct.eqn1},\ref{fluct.eqn2} and the sum
+rule equations \ref{fluct.eqn3},\ref{fluct.eqn4} can be found e.g. in
+Ref. \cite{straggling.bichsel}.
+\noindent
+The model parameter $C$ can be defined in the following way. The numbers of
+collisions ($n_i$, $i=1,2$ for excitation and $3$ for ionization)
+follow the Poisson distribution with a mean value $\langle n_i \rangle$.
+In a step of length $\Delta x$ the mean number of collisions is given by
+   \begin{equation}
+        \langle n_i \rangle = \Delta x \ \Sigma_i
+   \end{equation}
+The mean energy loss in a step is the sum of the excitation and ionization
+contributions and can be written as
+   \begin{equation}
+     \frac{dE}{dx} \cdotp \Delta x =
+     \left \{ \Sigma_1 E_1 + \Sigma_2 E_2 +
+        \int_{E_0}^{T_{up}} E g(E) dE \right \} \Delta x .
+   \end{equation}
+From this, using eq. \ref{fluct.eqn1} - \ref{fluct.eqn4}, one can see that
+   \begin{equation}
+         C = dE/dx .
+   \end{equation}
+
+\noindent
+The other parameters in the fluctuation model have been chosen
+in the following way. $Z \cdotp f_1$ and $Z \cdotp f_2$ represent in
+the model the number of loosely/tightly bound electrons
+   \begin{equation}
+         f_2 = 0 \hspace {15 pt} for \hspace {15 pt} Z \leq 2.8
+   \end{equation}
+   \begin{equation}
+         f_2 = 2.8/Z \hspace {15 pt} for \hspace {15 pt} Z > 2.8
+   \end{equation}
+   \begin{equation}
+         E_2 = 10 \mbox{ eV } Z^2
+   \end{equation}
+   \begin{equation}
+         E_0 = 10 \mbox{ eV } .
+   \end{equation}
+Using these parameter values, $E_2$ corresponds approximately to the
+K-shell energy of the atoms.
+The parameters $f_1$ and $E_1$ can be obtained from Eqs.~ \ref{fluct.eqn3}
+and \ref{fluct.eqn4}.
+\noindent
+The parameter $r$ is the only variable in the model which can be tuned.
+This parameter determines the relative contribution of ionization and
+excitation to the energy loss. Based on comparisons of simulated energy
+loss distributions to experimental data, its value has been parametrized
+ as
+   \begin{equation}
+      r = 0.03 + 0.23 \cdotp ln(ln(\frac{T_{up}}{I}))
+   \end{equation}
+
+ This simple parametrization in the model gives good 
+ values for the most probable energy loss. The width (FWHM) of the energy loss
+ distribution is good too, if the absorber layer is not too thin.
+ In order to get good FWHM in thin absorbers a width correction has been
+ applied. The form of this correction is
+
+  \begin{equation}
+    w = \sqrt{\frac{10 E_1}{\Delta E}} \hspace{25 mm} for \Delta E > 10 E_1  
+   \end{equation}
+  \begin{equation}
+    w = 1      \hspace{35 mm}           for \Delta E \leq 10 E_1  
+   \end{equation}
+
+ and the transformation
+   $\langle n_1 \rangle \longrightarrow \langle n_1 \rangle \cdot w$ , $E_1 \longrightarrow \frac{E_1}{w}$ should be applied.
+ This correction is a kind of scaling for the energy of the lower level and for the mean
+ number of excitations with lower energy.
+
+\paragraph{Sampling the energy loss.}
+The energy loss is computed in the model under the assumption that
+the step length (or relative energy loss) is small and, in consequence, the
+cross section can be  considered constant along the step.  The loss due to
+the excitation is
+   \begin{equation}
+         \Delta E_{exc} = n_1 E_1 + n_2 E_2
+   \end{equation}
+where $n_1$ and $n_2$ are sampled from a Poisson distribution. The energy
+loss due to ionization can be generated from the distribution $g(E)$
+by the inverse transformation method :
+   \begin{equation}
+      u = F(E) = \int_{E_0}^E g(x) dx
+   \end{equation}
+   \begin{equation}
+      E = F^{-1}(u) = \frac {E_0}{1-u \frac{T_{up}-E_0}{T_{up}}}
+   \end{equation}
+where $u$ is a uniformly distributed random number $\in [0,\ 1]$.
+The contribution coming from the ionization will then be
+   \begin{equation}
+     \Delta E_{ion} = \sum_{j = 1}^{n3} \frac {E_0}
+                      {1-u_j \frac{T_{up}-E_0}{T_{up}}}
+   \end{equation}
+where $n_3$ is the number of ionizations sampled from the Poisson
+distribution. The total energy loss in a step will be
+$ \Delta E = \Delta E_{exc} + \Delta E_{ion}$ and the energy loss
+fluctuation comes from fluctuations in the number of collisions $n_i$
+ and from the sampling of the ionization loss.
+
+\paragraph{Thick layers}
+If the mean energy loss and step are in the range of validity of the
+Gaussian approximation of the fluctuation, the much faster Gaussian
+sampling is used to compute the actual energy loss.
+
+\paragraph{Conclusions}
+This simple model of energy loss fluctuations is rather fast and can
+be used for any thickness of material.  This has been verified by performing
+many simulations and comparing the results with experimental data, such
+as those in Ref.\cite{straggling.lassila}. \\
+As the limit of validity of Landau's theory is approached, the loss
+distribution approaches the Landau form smoothly.
+
+\subsection{Status of this document}
+ 30.01.02  created by L. Urb\'an.\\
+ 28.08.02  updated by V.Ivanchenko.\\
+ 17.08.04  moved to common to all charged particles (mma) \\
+ 04.12.04  spelling and grammar check by D.H. Wright \\
+ 04.05.05  updated by L. Urb\'an.\\ 
+ 09.12.05  updated by V.Ivanchenko.\\
+ 29.03.07  updated by L. Urb\'an.\\
+ 
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+\bibitem{straggling.bichsel} H.Bichsel
+   {\em Rev.Mod.Phys. 60 (1988) 663}
+\bibitem{straggling.lassila} K.Lassila-Perini, L.Urb\'an
+   {\em Nucl.Inst.Meth. A362(1995) 416}
+\bibitem{eloss.geant3} {\sc geant3} manual
+  {\em Cern Program Library Long Writeup W5013 (1994)}
+\bibitem{eloss.ICRU49}ICRU (A.~Allisy et al),
+Stopping Powers and Ranges for Protons and Alpha
+Particles,
+ICRU Report 49, 1993.
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item H.Bichsel {\em Rev.Mod.Phys. 60 (1988) 663}
+\item K.Lassila-Perini, L.Urb\'an
+   {\em Nucl.Inst.Meth. A362(1995) 416}
+\item {\sc geant3} manual
+  {\em Cern Program Library Long Writeup W5013} (1994).
+\item ICRU (A.~Allisy et al),
+Stopping Powers and Ranges for Protons and Alpha
+Particles, ICRU Report 49, 1993.
+\end{enumerate}
+
+\end{htmlonly}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/utils/integral.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/utils/integral.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/utils/integral.tex	(revision 1208)
@@ -0,0 +1,93 @@
+\section{Correcting the cross section for energy variation } \label{integral}  
+
+As described in Sections \ref{en_loss} and \ref{ip} the step size limitation 
+is provided by energy loss processes in order to insure the precise 
+calculation of the probability of particle interaction. It is generally 
+assumed in Monte Carlo programs that the particle cross sections are
+approximately constant during a step, hence the reaction probability $p$ at 
+the end of the step can be expressed as
+\begin{equation}
+\label{int_a}
+p = 1 - \exp \left ( -n s \sigma(E_i) \right ),
+\end{equation}
+where $n$ is the density of atoms in the medium, $s$ is the step length,
+$E_i$ is the energy of the incident particle at the beginning of the step, 
+and $\sigma(E_i)$ is the reaction cross section at the beginning of the step.
+
+However, it is possible to sample the reaction probability from the exact 
+expression
+\begin{equation}
+\label{int_b}
+p = 1 - \exp \left ( -\int_{E_i}^{E_f}{n \sigma(E) ds} \right ),
+\end{equation}
+where $E_f$ is the energy of the incident particle at the end of the step, 
+by using the integral approach to particle transport.  This approach is
+available for processes implemented via the $G4VEnergyLossProcess$ 
+and $G4VEmProcess$ interfaces.
+
+The Monte Carlo method of integration is used for sampling the reaction 
+probability \cite{int.unimod}.  It is assumed that during the step 
+the reaction cross section 
+smaller, than some value $\sigma(E) < \sigma_m$. The mean free path 
+for the given step is computed using $\sigma_m$. If the process is chosen
+as the process happens at the step, the sampling of the final state is performed only
+with the probability $p=\sigma(E_f)/\sigma_m$, alternatively no interaction
+happen and tracking of the particle is continued.
+To estimate the maximum value 
+$\sigma_m$ for the given tracking step at Geant4 initialisation the energy
+$E_m$ of absoluted maximum $\sigma_{max}$
+of the cross section for given material is determined and stored. 
+If at the tracking time
+particle energy $E < E_m$, then $\sigma_m=\sigma(E)$. For higher initial energies
+if $0.8E>E_m$ then $\sigma_m=min(\sigma(E),\sigma(0.8E))$. In the opposit 
+case $\sigma_m=\sigma_{max}$. Thus described method is precise if the
+cross section has only one maximum. 
+Note, that it is a typical case for electromagnetic processes. 
+
+
+The integral variant of step limitation is the default for the 
+$G4eIonisation$, $G4eBremsstrahlung$ and some otehr process 
+but is not automatically activated for others. 
+To do so the boolean UI command ``/process/eLoss/integral true'' can be used.
+The integral variant of the energy loss sampling process is less dependent on 
+values of the production cuts \cite{int.g403} and allows
+to have less step limitation, however it should be applied 
+on a case-by-case basis because may require extra CPU.  
+
+\subsection{Status of this document}
+ 01.12.03  integral method subsection added by V. Ivanchenko \\
+ 17.08.04 moved to common to all charged particles by M. Maire \\
+ 25.11.06  revision by V. Ivanchenko \\
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+\bibitem{int.unimod}
+V.N.Ivanchenko et al.,
+Proc. of Int. Conf. MC91: Detector and event simulation in high
+energy physics, Amsterdam 1991, pp. 79-85. (HEP INDEX 30 (1992) No. 3237).
+\bibitem{int.g403}
+V.N.Ivanchenko.
+Geant4 Workshop (TRIUMF, Canada, 2003)
+http://www.triumf.ca/\\
+geant4-03/talks/04-Thursday-AM-1/02-V.Ivanchenko/eloss03.ppt
+
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item V.N.Ivanchenko et al.,
+Proc. of Int. Conf. MC91: Detector and event simulation in high
+energy physics, Amsterdam 1991, pp. 79-85. (HEP INDEX 30 (1992) No. 3237).
+\item V.N.Ivanchenko.
+Geant4 Workshop (TRIUMF, Canada, 2003)
+http://www.triumf.ca/\\
+geant4-03/talks/04-Thursday-AM-1/02-V.Ivanchenko/eloss03.ppt
+\end{enumerate}
+
+\end{htmlonly}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/CVS/Entries	(revision 1208)
@@ -0,0 +1,4 @@
+D/SynchRad////
+/cerenkov.tex/1.4/Fri Dec 10 21:35:17 2004//
+/scint.tex/1.3/Wed May  8 17:45:17 2002//
+/xtr.tex/1.17/Thu Dec 15 15:29:38 2005//
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/SynchRad/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/SynchRad/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/SynchRad/CVS/Entries	(revision 1208)
@@ -0,0 +1,6 @@
+/InvSynFracInt_Geant4.tex/1.3/Tue Jun 13 23:21:29 2006//
+/InvSynFracIntxyLog.eps/1.1/Thu Jun  8 17:08:20 2006//
+/SynFracIntxyLog.eps/1.1/Thu Jun  8 17:08:20 2006//
+/g4_TestEm16.eps/1.1/Thu Jun  8 17:08:20 2006//
+/gesynrad_Direct_gen_1.eps/1.1/Thu Jun  8 17:08:20 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/SynchRad/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/SynchRad/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/SynchRad/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/SynchRad
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/SynchRad/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/SynchRad/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/SynchRad/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/SynchRad/InvSynFracInt_Geant4.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/SynchRad/InvSynFracInt_Geant4.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/SynchRad/InvSynFracInt_Geant4.tex	(revision 1208)
@@ -0,0 +1,393 @@
+
+\section{Synchrotron Radiation}
+
+\subsection{Photon spectrum}
+
+Synchrotron radiation photons are emitted by relativistic charged particles traveling 
+in magnetic fields.  The properties of synchrotron radiation are well understood and 
+described in textbooks\,\cite{SokolovTernov,BookJDJackson, BookHofmannSynRad}.
+
+In the simplest case, we have an electron of momentum $p$ moving perpendicular to a 
+homogeneous magnetic field $B$.  The magnetic field will keep the particle on a circular 
+path, with radius
+\begin{equation}
+\rho = \frac{p}{e\,B}=\frac{m\gamma \beta c}{e\,B}\,.\,\quad \mbox{Numerically we have } \quad \rho[ {\rm m} ] = p [ {\rm GeV/c} ] \, \frac{3.336\,{\rm m}}{B[ {\rm T} ]}\,.
+\label{eq:rho}
+\end{equation}
+In general, there will be an arbitrary angle $\theta$ between the local magnetic field 
+${\bf B}$ and momentum vector ${\bf p}$ of the particle.  The motion has a circular 
+component in the plane perpendicular to the magnetic field, and in addition a constant 
+momentum component parallel to the magnetic field.  For a constant homogeneous field, 
+the resulting trajectory is a helix.
+
+The critical energy of the synchrotron radiation can be calculated using the radius 
+$\rho$ of Eq.\ref{eq:rho} and angle $\theta$ or the magnetic field perpendicular to the 
+particle direction $B_\perp = B \sin \theta$ according to
+\begin{equation}
+E_c = \frac{3}{2}\;\hbar c \, \frac{\gamma^3\sin\theta}{\rho} =
+\frac{3\,\hbar}{2\,m}\,\,\gamma^2 \,e B_\perp\;.
+\label{eq:EcritGen}
+\end{equation}
+Half of the synchrotron radiation power is radiated by photons above the critical energy.
+
+With $x$ we denote the photon energy $E_\gamma$, expressed in units of the critical 
+energy $E_c$
+\begin{equation}
+x = \frac{E_\gamma}{E_c}\,.
+\label{eq:DefOfRatioK}
+\end{equation}
+
+The photon spectrum (number of photons emitted per path length $s$ and relative energy 
+$x$) can be written as
+\begin{equation}
+\frac{d^2\,N}{ds\,dx} = \frac{\sqrt{3}\,\alpha}{2\pi}\, \,\frac{e B_\perp}{m c} \,\int_{x}^{\infty} K_{5/3}(\xi)\,d\xi
+\label{eq:dndx}
+\end{equation}
+where $\alpha = e^2 /\;4\pi\epsilon_0\hbar c$ is the dimensionless electromagnetic 
+coupling (or fine structure) constant and $K_{5/3}$ is the modified Bessel function of 
+the third kind.
+
+The number of photons emitted per unit length and the mean free path $\lambda$ 
+between two photon emissions is obtained by integration over all photon energies. Using
+\begin{equation}
+\int_0^\infty\,dx\int_{x}^{\infty} K_{5/3}(\xi)\,d\xi=\frac{5\pi}{3}
+\end{equation}
+we find that
+\begin{equation}
+\frac{dN}{ds} = \frac{5\,\alpha}{2\sqrt{3}}\,\frac{e B_\perp}{m \beta c} = \frac{1}{\lambda}\,.
+\end{equation}
+
+Here we are only interested in ultra-relativistic ($\beta \approx 1$) particles, for 
+which $\lambda$ only depends on the field $B$ and not on the particle energy. We define 
+a constant $\lambda_B$ such that
+\begin{equation}
+\lambda =  \frac{\lambda_B}{B_\perp} \qquad \mbox{where} \quad
+\lambda_B = \frac{2\sqrt{3}}{5}\,\frac{m\,c }{\alpha\,e} = 0.16183\,{\rm T m}\;.
+\end{equation}
+
+As an example, consider a 10\,GeV electron, travelling perpendicular to a 1\,T field.  
+It moves along a circular path of radius $\rho = 33.356\,{\rm m}$. For the Lorentz factor 
+we have $\gamma = 19569.5$ and $\beta= 1-1.4\times10^{-9}$.  The critical energy is 
+$E_c = 66.5\,{\rm keV}$ and the mean free path between two photon emissions is 
+$\lambda = 0.16183\,{\rm m}$.
+
+\subsection{Validity}
+The spectrum given in Eq.\,\ref{eq:dndx} can generally be expected to provide a very 
+accurate description for the synchrotron radiation spectrum generated by GeV electrons 
+in magnetic fields.
+
+Here we discuss some known limitations and possible extensions.
+
+For particles traveling on a circular path, the spectrum observed in one location will 
+in fact not be a continuous spectrum, but a discrete spectrum, consisting only of 
+harmonics or modes $n$ of the revolution frequency. In practice, the mode numbers 
+will generally be too high to make this a visible effect. The critical mode number 
+corresponding to the critical energy is $n_c = 3/2\,\gamma^3$.  10\,GeV electrons for 
+example have $n_c \approx 10^{13}$.
+
+Synchrotron radiation can be neglected for slower particles and only becomes
+relevant for ultra-relativistic particles with $\gamma > 10^3$.
+Using $\beta = 1$ introduces an uncertainty of about $1/2\gamma^2$ or less than 
+$5\times 10^{-7}$.
+
+It is rather straightforward to extend the formulas presented here to particles 
+other than electrons, with arbitrary charge $q$ and mass $m$, 
+see \cite{BurkhardtEdge1998}.
+The number of photons and the power scales with the square of the charge.
+
+The standard synchrotron spectrum of Eq.\,\ref{eq:dndx} is only valid as long as the 
+photon energy remains small compared to the particle 
+energy\,\cite{FritzHerlach1971,Erber:1988tk}. This is a very safe 
+assumption for GeV electrons and standard magnets with fields of order of Tesla.
+
+An extension of synchrotron radiation to fields exceeding several hundred Tesla, 
+such as those present in the beam-beam interaction in linear-colliders, is also 
+known as beamstrahlung. For an introduction see\,\cite{Chen_LNP_296}.
+
+The standard photon spectrum applies to homogeneous fields and remains a good 
+approximation for magnetic fields which remain approximately constant over a the 
+length $\rho/\gamma$, also known as the formation length for synchrotron radiation. 
+Short magnets and edge fields will result instead in more energetic photons than 
+predicted by the standard spectrum.
+
+We also note that short bunches of many particles will start to radiate coherently like
+a single particle of the equivalent charge at wavelengths which are longer than the bunch dimensions.
+
+Low energy, long-wavelength synchrotron radiation may destructively interfere with conducting surfaces\,\cite{Murphy:1996yt}.
+
+The soft part of the synchrotron radiation spectrum emitted by charged particles travelling through a medium will be modified 
+for frequencies close to and lower than the plasma frequency\,\cite{Grichine:2002ns}.
+
+\subsection{Direct inversion and generation of the photon energy spectrum}
+The task is to find an algorithm that effectively transforms
+the flat distribution given by standard pseudo-random generators
+into the desired distribution proportional to the expressions given in Eqs.\,\ref{eq:dndx},\,\ref{eq:dndx2}.
+% There are standard techniques to generate an arbitrary
+% distribution, see for instance \cite{MonteCarloDevroye} or Section\,33 in \cite{Eidelman:2004wy}.
+% Generally, to obtain the probability density function $f(x)$,
+The transformation is obtained from the inverse $F^{-1}$ of the
+cumulative distribution function $F(x)=\int_0^x f(t) dt $.
+
+Leaving aside constant factors, the probability density function relevant for the photon energy spectrum is
+\begin{equation}
+{\rm SynRad}(x) = \int_x^\infty K_{5/3}(t) dt\;.  %  \frac{3}{5\pi} \,
+\label{eq:dndx2}
+\end{equation}
+Numerical methods to evaluate $K_{5/3}$ are discussed in \cite{Luke_special_func}. An efficient algorithm to evaluate 
+the integral SynRad using Chebyshev polynomials is described in\,\cite{Umstaetter_synrad}. This has been used in an 
+earlier version of the Monte Carlo generator for synchrotron radiation using approximate transformations and the 
+rejection method\,\cite{LEP_Note_632}.
+
+The cumulative distribution function is the integral of the probability density function. Here we have
+\begin{equation}
+{\rm SynRadInt}(z) = \int_z^\infty \, {\rm SynRad}(x)\,dx\;,
+\label{eq:SynRadInt}
+\end{equation}
+with normalization
+\begin{equation}
+{\rm SynRadInt}(0) =  \int_0^\infty \, {\rm SynRad}(x)\,dx\ = \frac{5\pi}{3}\;,
+\end{equation}
+such that $\frac{3}{5\pi}{\rm SynRadInt}(x)$ gives the fraction of photons above $x$.
+
+It is possible to directly obtain the desired distribution with a fast and accurate algorithm using an analytical 
+description based on simple transformations and Chebyshev polynomials.  This approach is used here.
+
+We now describe in some detail how the analytical description was obtained. For more details see \cite{InvSynFracInt_report}.
+
+It turned out to be convenient to start from the normalized complement rather then Eq.\,\ref{eq:SynRadInt} directly, that is
+\begin{equation}
+{\rm SynFracInt}(x) = \frac{3}{5\pi} \int_0^x \int_x^\infty K_{5/3}(t) dt\,dx
+= 1 - \frac{3}{5\pi} \, {\rm SynRadInt}(x)\;,
+\end{equation}
+which gives the fraction of photons below $x$.
+
+\begin{figure}
+\center{
+\includegraphics[scale=.7]{electromagnetic/xrays/SynchRad/SynFracIntxyLog.eps}
+\includegraphics[scale=.7]{electromagnetic/xrays/SynchRad/InvSynFracIntxyLog.eps}}
+  \vspace{-2mm}\caption{SynFracInt (left) and its inverse InvSynFracInt (right), on a $\log x$ scale.
+  The functions $x^{1/3}$, $y^3$ and $1-e^{-x}$, $-\log(1-y)$ are shown as dashed lines.}
+  \label{plot:SynFracIntxyLog}
+\end{figure}
+%---------figure end
+
+Figure\,\ref{plot:SynFracIntxyLog} shows on the left hand side $y = {\rm SynFracInt(x)}$ and on the right hand side the inverse
+$x = {\rm InvSynFracInt}(y)$ together with simple approximate functions.
+We can see, that SynFracInt can be approximated by $x^{1/3}$ for small arguments, and by $1-e^{-x}$ for large $x$.
+Consequently, we have for the inverse, ${\rm InvSynFracInt}(y)$, which can be approximated for small $y$ by $y^3$ 
+and for large $y$ by $-\log(1-y)$.
+
+Good convergence for ${\rm InvSynFracInt}(y)$ was obtained using Chebyshev polynomials combined with the approximate expressions 
+for small and large arguments.
+For intermediate values, a Chebyshev polynomial can be used directly.
+Table\,\ref{tab:InvSynFracInt} summarizes the expressions used in the different intervals.
+
+\begin{table}[htbp]\center
+\caption{InvSynFracInt.}
+\label{tab:InvSynFracInt}\vskip 1mm
+\begin{tabular} {|cc|} \hline
+$y$ & $x={\rm InvSynFracInt}(y)$ \\ \hline
+$y<0.7$ & $y^3 \, {\rm P}_{\rm Ch}(y)$ \\
+$0.7 \leq y \leq 0.9999$ & ${\rm P}_{\rm Ch}(y)$ \\
+$y > 0.9999$ & $-\log(1-y) {\rm P}_{\rm Ch}(-\log(1-y))$ \\
+\hline
+\end{tabular}
+\end{table}
+
+\noindent
+The procedure for Monte Carlo simulation is to generate $y$ at random uniformly distributed between $0$ at $1$, 
+as provided by standard random generators, and then to calculate the
+energy $x$ in units of the critical energy according to $x={\rm InvSynFracInt}(y)$.
+
+The numerical accuracy of the energy spectrum presented here is about 14 decimal places, close to the machine precision.
+Fig.\,\ref{gesynrad_Direct_gen_1} shows a comparison of generated and expected spectra.
+%---------figure start
+\begin{figure}
+\center
+\includegraphics[scale=0.7]{electromagnetic/xrays/SynchRad/gesynrad_Direct_gen_1.eps}
+\vspace{-2mm}\caption{Comparison of the exact (smooth curve) and generated (histogram) spectra for $2\times 10^7$ events. 
+The photon spectrum is shown on the left and the power spectrum on the right side.}
+  \label{gesynrad_Direct_gen_1}
+\end{figure}
+%---------figure end
+A Geant4 display of an electron moving in a magnetic field radiating synchrotron photons is presented in 
+Fig.\,\ref{plot:SynRadGeant4} %---------figure start
+\begin{figure}
+\center
+\includegraphics[width=12cm]{electromagnetic/xrays/SynchRad/g4_TestEm16.eps}
+\vspace{-2mm}\caption{Geant4 display. 10 GeV e$^+$ moving initially in x-direction, bends downwards on a circular 
+path by a 0.1\,T magnetic field in z-direction.}
+  \label{plot:SynRadGeant4}
+\end{figure}
+%---------figure end
+
+
+\subsection{Properties of the photon energy and power spectra}
+
+The normalised probability function describing the photon energy spectrum is 
+\begin{equation}
+n_\gamma(x) = \frac{3}{5\pi} \int_x^\infty K_{5/3}(t) dt\;.
+\label{eq:ngam}
+\end{equation}
+$n_\gamma(x)$ gives the fraction of photons in the interval $x$ to $x+dx$, where $x$ is the photon energy in units 
+of the critical energy.
+
+The first moment or mean value is
+\begin{equation}
+\mu =  \int_0^\infty x \, n_\gamma(x) \, dx = \frac{8}{15\,\sqrt{3}}\;.
+\end{equation}
+implying that the mean photon energy is $\frac{8}{15\,\sqrt{3}} = 0.30792$ of the critical energy.\\ \\
+The second moment about the mean, or variance, is
+\begin{equation}
+\sigma^2 =  \int_0^\infty (x-\mu)^2 \, n_\gamma(x) \, dx = \frac{211}{675}\;,
+\end{equation}
+and the r.m.s. value of the photon energy spectrum is $\sigma=\sqrt{\frac{211}{675}}=0.5591$.
+
+The normalised power spectrum is
+\begin{equation}
+P_\gamma(x) = \frac{9\sqrt{3}}{8\pi} \, x \int_x^\infty K_{5/3}(t) dt\;.
+\end{equation}
+$P_\gamma(x)$ gives the fraction of the power which is radiated in the interval $x$ to $x+dx$.
+
+Half of the power is radiated below the critical energy
+\begin{equation}
+\int_0^1 P_\gamma(x)\,dx = 0.5000
+\end{equation}
+
+The mean value of the power spectrum is
+\begin{equation}
+\mu =  \int_0^\infty x \, P_\gamma(x) \, dx = \frac{55}{24\,\sqrt{3}} = 1.32309\;.
+\end{equation}
+The variance is
+\begin{equation}
+\sigma^2 =  \int_0^\infty (x-\mu)^2 \, P_\gamma(x) \, dx = \frac{2351}{1728}\;,
+\end{equation}
+and the r.m.s. width is $\sigma=\sqrt{\frac{2351}{1728}}=1.16642$.
+
+\subsection{Status of this document}
+08.06.06 created by H.~Burkhardt\\
+
+%% \providecommand{\href}[2]{#2}\begingroup\raggedright\begin{thebibliography}{10}
+\begin{latexonly}
+\begin{thebibliography}{99}
+
+\bibitem{SokolovTernov}
+A.A.Sokolov and I.M.Ternov, {\em {Radiation from Relativistic Electrons}},
+\newblock Amer. Inst of Physics, 1986.
+
+\bibitem{BookJDJackson}
+J.~Jackson, {\em {Classical Electrodynamics}}.
+\newblock John Wiley \& Sons, third~ed., 1998.
+
+\bibitem{BookHofmannSynRad}
+A.~Hofmann, {\em {The Physics of Synchrotron Radiation}}.
+\newblock Cambridge University Press, 2004.
+
+\bibitem{BurkhardtEdge1998}
+H.~Burkhardt, ``{Reminder of the Edge Effect in Synchrotron Radiation}'', LHC
+  Project Note 172, CERN Geneva 1998.
+
+\bibitem{FritzHerlach1971}
+F.~Herlach, R.~McBroom, T.~Erber, J.~.Murray, and R.~Gearhart, ``{Experiments
+  with Megagauss targets at SLAC}'', IEEE Trans Nucl Sci, NS 18, 3 (1971)
+  809-814.
+
+\bibitem{Erber:1988tk}
+T.~Erber, G.~B. Baumgartner, D.~White, and H.~G. Latal, ``Megagauss
+  Bremsstrahlung and Radiation Reaction'', in *Batavia 1983, proceedings, High
+  Energy Accelerators*, 372-374.
+
+\bibitem{Chen_LNP_296}
+P.~Chen, ``{An Introduction to Beamstrahlung and Disruption}'', in {\em
+  Frontiers of Particle Beams}, M.~Month and S.~Turner, eds., Lecture Notes in
+  Physics 296, pp.~481--494.
+\newblock Springer-Verlag, 1986.
+
+\bibitem{Murphy:1996yt}
+J.~B. Murphy, S.~Krinsky, and R.~L. Gluckstern, ``Longitudinal wakefield for an
+  electron moving on a circular orbit'', {\em Part. Acc.} { 57} (1997) 9.
+
+\bibitem{Grichine:2002ns}
+V.~M. Grichine, ``Radiation of accelerated charge in absorbing medium'',
+  CERN-OPEN-2002-056.
+
+\bibitem{Luke_special_func}
+Y.~Luke, ``{The special functions and their approximations}'', New York, NY:
+  Academic Press, 1975.- 585 p.
+
+\bibitem{Umstaetter_synrad}
+H.H.Umst\"atter. CERN/PS/SM/81-13, CERN Geneva 1981.
+
+\bibitem{LEP_Note_632}
+H.~Burkhardt, ``{Monte Carlo Generator for Synchrotron Radiation}'', LEP Note
+  632, CERN, December, 1990.
+
+\bibitem{InvSynFracInt_report}
+H.~Burkhardt, ``{Monte Carlo Generation of the Energy Spectrum of Synchrotron
+  Radiation}'', {to be published as CERN-AB and EuroTeV report}.
+
+%% \end{thebibliography}\endgroup
+\end{thebibliography}
+\end{latexonly}
+
+\begin{htmlonly}
+\subsection{Bibliography}
+\begin{enumerate}
+
+\item{SokolovTernov}
+A.A.Sokolov and I.M.Ternov, {\em {Radiation from Relativistic Electrons}},
+\newblock Amer. Inst of Physics, 1986.
+
+\item{BookJDJackson}
+J.~Jackson, {\em {Classical Electrodynamics}}.
+\newblock John Wiley \& Sons, third~ed., 1998.
+
+\item{BookHofmannSynRad}
+A.~Hofmann, {\em {The Physics of Synchrotron Radiation}}.
+\newblock Cambridge University Press, 2004.
+
+\item{BurkhardtEdge1998}
+H.~Burkhardt, ``{Reminder of the Edge Effect in Synchrotron Radiation}'', LHC
+  Project Note 172, CERN Geneva 1998.
+
+\item{FritzHerlach1971}
+F.~Herlach, R.~McBroom, T.~Erber, J.~.Murray, and R.~Gearhart, ``{Experiments
+  with Megagauss targets at SLAC}'', IEEE Trans Nucl Sci, NS 18, 3 (1971)
+  809-814.
+
+\item{Erber:1988tk}
+T.~Erber, G.~B. Baumgartner, D.~White, and H.~G. Latal, ``Megagauss
+  Bremsstrahlung and Radiation Reaction'', in *Batavia 1983, proceedings, High
+  Energy Accelerators*, 372-374.
+
+\item{Chen_LNP_296}
+P.~Chen, ``{An Introduction to Beamstrahlung and Disruption}'', in {\em
+  Frontiers of Particle Beams}, M.~Month and S.~Turner, eds., Lecture Notes in
+  Physics 296, pp.~481--494.
+\newblock Springer-Verlag, 1986.
+
+\item{Murphy:1996yt}
+J.~B. Murphy, S.~Krinsky, and R.~L. Gluckstern, ``Longitudinal wakefield for an
+  electron moving on a circular orbit'', {\em Part. Acc.} { 57} (1997) 9.
+
+\item{Grichine:2002ns}
+V.~M. Grichine, ``Radiation of accelerated charge in absorbing medium'',
+  CERN-OPEN-2002-056.
+
+\item{Luke_special_func}
+Y.~Luke, ``{The special functions and their approximations}'', New York, NY:
+  Academic Press, 1975.- 585 p.
+
+\item{Umstaetter_synrad}
+H.H.Umst\"atter. CERN/PS/SM/81-13, CERN Geneva 1981.
+
+\item{LEP_Note_632}
+H.~Burkhardt, ``{Monte Carlo Generator for Synchrotron Radiation}'', LEP Note
+  632, CERN, December, 1990.
+
+\item{InvSynFracInt_report}
+H.~Burkhardt, ``{Monte Carlo Generation of the Energy Spectrum of Synchrotron
+  Radiation}'', {to be published as CERN-AB and EuroTeV report}.
+
+\end{enumerate}
+\end{htmlonly}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/cerenkov.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/cerenkov.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/cerenkov.tex	(revision 1208)
@@ -0,0 +1,126 @@
+% GEANT4 Physics Reference Manual - Cerenkov Process
+% in LaTex 2e - adopted from GEANT3 manual by P. Gumplinger
+
+%\documentclass[11pt,twoside,a4page]{article}
+%\usepackage{epsfig}
+
+%\setlength{\parindent}{0pt}
+
+%\begin{document}
+
+%\title{\v{C}erenkov Process}
+%\author{P.~Gumplinger}
+%\date{December 7, 1998}
+%\maketitle
+
+
+\section{\v{C}erenkov Effect}
+
+The radiation of \v{C}erenkov light occurs when a charged particle moves 
+through a dispersive medium faster than the speed of light in that medium.
+A dispersive medium is one whose index of refraction is an increasing function
+of photon energy.  Two things happen when such a particle slows down:
+\begin{enumerate} 
+\item a cone of \v{C}erenkov photons is emitted, with the cone angle (measured
+with respect to the particle momentum) decreasing as the particle loses
+energy;
+
+\item the momentum of the photons produced increases, while the number of 
+photons produced decreases. 
+\end{enumerate} 
+When the particle velocity drops below the local speed of light, photons are 
+no longer emitted.  At that point, the \v{C}erenkov cone collapses to zero.
+\\
+
+\noindent
+In order to simulate \v{C}erenkov radiation the number of photons per track
+length must be calculated.  The formulae used for this calculation can be
+found below and in \cite{Jackson98, pdg}.  Let $n$ be the refractive index of 
+the dielectric material acting as a radiator.  Here $n=c/c'$ where $c'$ is the 
+group velocity of light in the material, hence $1 \leq n$.  In a dispersive 
+material $n$ is an increasing function of the photon energy $\epsilon$ 
+($dn/d\epsilon \geq 0$).  A particle traveling with speed $\beta = v/c$ will 
+emit photons at an angle $\theta$ with respect to its direction, where 
+$\theta$ is given by 
+\begin{displaymath}
+\cos \theta = \frac{1}{\beta n} .
+\end{displaymath}
+From this follows the limitation for the momentum of the emitted
+photons: 
+\begin{displaymath}
+n(\epsilon_{min}) = \frac{1}{\beta} .
+\end{displaymath}
+Photons emitted with an energy beyond a certain value are immediately
+re-absorbed by the material;  this is the window of transparency of the
+radiator.  As a consequence, all photons are contained in a cone of
+opening angle $\cos \theta_{max} = 1/(\beta n(\epsilon_{max}))$. \\ 
+
+\noindent
+The average number of photons produced is given by the relations :
+\begin{eqnarray*}
+dN &=& \frac{\alpha z^{2}}{\hbar c}\sin^{2}\theta d\epsilon dx =
+\frac{\alpha z^{2}}{\hbar c}(1 - \frac{1}{n^{2}\beta^2}) d\epsilon dx 
+\\
+ & \approx & 370z^{2}
+\frac{photons}{eV\,cm}(1 - \frac{1}{n^{2}\beta^{2}})d\epsilon dx
+\end{eqnarray*}
+and the number of photons generated per track length is 
+\begin{displaymath}
+\frac{dN}{dx} \approx 370z^{2} \int_{\epsilon_{min}}^{\epsilon_{max}}
+d\epsilon \left(1 - \frac{1}{n^{2}\beta^2} \right) 
+= 370z^{2} \left \lbrack \epsilon_{max}
+- \epsilon_{min} - \frac{1}{\beta^{2}}
+\int_{\epsilon_{min}}^{\epsilon_{max}} \frac{d\epsilon}
+{n^2 (\epsilon)}\right \rbrack 
+\end{displaymath} . \\
+
+\noindent
+The number of photons produced is calculated from a Poisson distribution with 
+a mean of $\langle n \rangle = \mbox{StepLength}\ dN/dx$.  The energy 
+distribution of the photon is then sampled from the density function 
+\begin{displaymath}
+f(\epsilon)=\left \lbrack 1 - \frac{1}{n^{2}(\epsilon)\beta^{2}} \right \rbrack
+\end{displaymath} .
+
+\subsection{Status of this document}
+07.12.98 created by P.Gumplinger \\
+11.12.01 SI units (mma) \\
+08.05.02 re-written by D.H. Wright \\
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+\bibitem{Jackson98}
+J.D.Jackson, Classical Electrodynamics, John Wiley and Sons (1998)
+
+\bibitem{pdg}
+  D.E. Groom et al.
+  Particle Data Group . Rev. of Particle Properties.
+  Eur. Phys. J. C15,1 (2000) http://pdg.lbl.gov/        
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item J.D.Jackson, Classical Electrodynamics, John Wiley and Sons (1998)
+
+\item D.E. Groom et al.
+  Particle Data Group . Rev. of Particle Properties.
+  Eur. Phys. J. C15,1 (2000) http://pdg.lbl.gov/        
+\end{enumerate}
+
+\end{htmlonly}
+
+
+
+
+
+
+
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/scint.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/scint.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/scint.tex	(revision 1208)
@@ -0,0 +1,40 @@
+% GEANT4 Physics Reference Manual - Scintillation Process
+% in LaTex 2e - by P. Gumplinger
+
+%\documentclass[11pt,twoside,a4page]{article}
+%\usepackage{epsfig}
+
+%\setlength{\parindent}{0pt}
+
+%\begin{document}
+
+%\title{Scintillation}
+%\author{P.~Gumplinger}
+%\date{December 7, 1998}
+%\maketitle
+
+\section{Scintillation}
+
+Every scintillating material has a characteristic light yield, $Y\,
+(photons/MeV$), and an intrinsic resolution which generally broadens
+the statistical distribution, $\sigma_i/\sigma_s > 1$, due to impurities
+which are typical for doped crystals like NaI(Tl) and CsI(Tl). The
+average yield can have a non-linear dependence on the local energy
+deposition.  Scintillators also have a time distribution spectrum with
+one or more exponential decay time constants, $\tau_{i}$, with each
+decay component having its intrinsic photon emission spectrum. These are
+empirical parameters typical for each material. \\ 
+
+\noindent
+The generation of scintillation light can be simulated by sampling the 
+number of photons from a Poisson distribution.  This distribution is based
+on the energy lost during a step in a material and on the scintillation
+properties of that material.  The frequency of each photon is sampled from 
+the empirical spectra.  The photons are generated evenly along the track 
+segment and are emitted uniformly into $4\pi$ with a random linear 
+polarization.
+ 
+\subsection{Status of this document}
+07.12.98 created by P.Gumplinger
+
+%\end{document}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/xtr.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/xtr.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/electromagnetic/xrays/xtr.tex	(revision 1208)
@@ -0,0 +1,395 @@
+\section[Transition radiation]{Transition radiation}
+
+\subsection{The Relationship of Transition Radiation to X-ray Cherenkov
+Radiation}
+X-ray transition radiation (XTR ) occurs when a relativistic charged
+particle passes from one medium to another of a different dielectric
+permittivity.  In order to describe this process it is useful to begin
+with an explanation of X-ray Cherenkov radiation, which is closely related.
+
+The mean number of X-ray Cherenkov radiation (XCR) photons of frequency 
+$\omega$ emitted into an angle $\theta$ per unit distance along a particle
+trajectory is ~\cite{griCR}
+%
+\begin{equation}
+\label{Nxcr}
+\frac{d^3 \bar{N}_{xcr}}{\hbar d\omega\,dx\,d\theta^2}=
+\frac{\alpha}{\pi\hbar c}\frac{\omega}{c}\theta^2
+\textrm{Im}\left\{Z\right\}.
+\end{equation}
+%
+Here the quantity $Z$ is introduced as the {\em complex formation zone} of
+XCR in the medium:
+%
+\begin{equation}
+\label{Zj}
+Z=\frac{L}{1-i\displaystyle\frac{L}{l}},\quad L=\frac{c}{\omega}
+\left[\gamma^{-2}+\displaystyle\frac{\omega^2_p}{\omega^2}+\theta^2\right]^{-1}, 
+\quad \gamma^{-2}=1-\beta^2.
+\end{equation}
+%
+with $l$ and $\omega_p$ the photon absorption length and the plasma 
+frequency, respectively, in the medium.  For the case of a transparent 
+medium, $l \rightarrow \infty$ and the complex formation zone reduces to 
+the {\em coherence length} $L$ of XCR.  The coherence length roughly 
+corresponds to that part of the trajectory in which an XCR photon can be 
+created. 
+
+Introducing a complex quantity $Z$ with its imaginary part proportional to 
+the absorption cross-section ($\sim l^{-1}$) is required in order to account
+for absorption in the medium.  Usually, 
+$\omega_p^2/\omega^2 \gg c/\omega l$.  Then it can be seen from Eqs. 
+\ref{Nxcr} and \ref{Zj} that the number of emitted XCR photons is 
+considerably suppressed and disappears in the limit of a transparent 
+medium.  This is caused by the destructive interference between the photons 
+emitted from different parts of the particle trajectory.
+
+The destructive interference of X-ray Cherenkov radiation is removed if 
+the particle crosses a boundary between two media with different 
+dielectric permittivities, $\epsilon$, where 
+%
+\begin{equation}
+\label{eps}
+\epsilon=1-\frac{\omega^2_p}{\omega^2}+
+i\frac{c}{\omega l}.
+\end{equation}
+%
+Here the standard high-frequency approximation for the dielectric 
+permittivity has been used.  This is valid for energy transfers larger than 
+the $K$-shell excitation potential.
+
+If layers of media are alternated with spacings of order $L$, the X-ray 
+radiation yield from a trajectory of unit length can be increased by roughly 
+$l/L$ times.  The radiation produced in this case is called X-ray transition 
+radiation (XTR). 
+
+\subsection{Calculating the X-ray Transition Radiation Yield}
+
+Using the methods developed in Ref. \cite{gri01} one can derive the relation
+describing the mean number of XTR photons generated per unit photon 
+frequency and $\theta^2$ {\em inside} the radiator for a general XTR 
+radiator consisting of $n$ different absorbing media with fluctuating 
+thicknesses: 
+%
+\begin{eqnarray}
+%\begin{equation}
+\label{Nin}
+&&\frac{d^2 \bar{N}_{in}}{\hbar d\omega\,d\theta^2}=
+\frac{\alpha}{\pi\hbar c^2}\omega\theta^2 
+\textrm{Re}\left\{\sum_{i=1}^{n-1}(Z_{i}-Z_{i+1})^2+
+\right. \\ 
+&+&\left.
+2\sum_{k=1}^{n-1}\,\sum_{i=1}^{k-1}(Z_{i}-Z_{i+1})\left[\prod_{j=i+1}^{k}F_{j}\right](Z_{k}-Z_{k+1})
+\right\},\,F_j=\exp\left[-\frac{t_j}{2Z_j}\right]. \nonumber
+%\end{equation}
+\end{eqnarray}
+%
+In the case of gamma distributed gap thicknesses (foam or fiber radiators) the values 
+$F_j$, ($j=1,2$) can be estimated as:
+%
+\begin{equation}
+\label{Hj}
+F_j = \int_0^{\infty}dt_j\,
+\left(\frac{\nu_j}{\bar{t}_j}\right)^{\nu_j}
+\frac{t_j^{\nu_j - 1}}{\Gamma(\nu_j)}
+\exp\left[-\frac{\nu_j t_j}{\bar{t}_j}-\,i\frac{t_j}{2Z_j}\right]= \left[1 + 
+\displaystyle i\frac{\bar{t}_j}{2Z_j\nu_j}\right]^{-\nu_j},
+\end{equation}
+%
+where $Z_j$ is the complex formation zone of XTR 
+(similar to relation \ref{Zj} for XCR) in the $j$-th medium 
+\cite{gri01,g4xtr}.  $\Gamma$ is the Euler gamma function, $\bar{t}_j$ is 
+the mean thickness of the $j$-th medium in the radiator and $\nu_j > 0$ is 
+the parameter roughly describing the relative fluctuations of $t_j$.  In 
+fact, the relative fluctuation is $\delta t_j/\bar{t}_j\sim 1/\sqrt{\nu_j}$. 
+
+In the particular case of $n$ foils of the first medium ($Z_1, F_1$) 
+interspersed with gas gaps of the second medium ($Z_2, F_2$), one obtains:
+%
+\begin{equation}
+\label{Nn1}
+\frac{d^2 \bar{N}_{in}}{\hbar d\omega\,d\theta^2} = 
+\frac{2\alpha}{\pi\hbar c^2}\omega\theta^2 
+\textrm{Re}\left\{\langle R^{(n)}\rangle\right\},\quad F = F_1 F_2,
+\end{equation}
+%
+\begin{equation}
+\label{Rn}
+\langle R^{(n)}\rangle=(Z_1-Z_2)^2\left\{n\frac{(1-F_1)(1-F_2)}{1-F}+
+\frac{(1-F_1)^2F_2[1-F^n]}{(1-F)^2}\right\}.
+\end{equation} 
+%
+Here $\langle R^{(n)}\rangle$ is the stack factor reflecting the radiator geometry. 
+The integration of (\ref{Nn1}) with respect to $\theta^2$ can be simplified for the
+case of a regular radiator ($\nu_{1,2}\rightarrow\infty$), transparent in terms
+of XTR generation media, and $n\gg 1$~\cite{gar71}. The frequency spectrum of
+emitted XTR photons is given by:
+%
+\begin{eqnarray}
+\label{Nntr}
+&&\frac{d \bar{N}_{in}}{\hbar d\omega}=
+\int_{0}^{\sim 10\gamma^{-2}}d\theta^2\frac{d^2 \bar{N}_{in}}{\hbar d\omega\,d\theta^2}=
+\frac{4\alpha n}{\pi\hbar\omega}(C_1+C_2)^2 \nonumber \\
+&&\cdot\sum_{k=k_{min}}^{k_{max}}
+\frac{(k-C_{min})}{(k-C_1)^2(k+C_2)^2}
+%\cdot \nonumber \\
+\sin^2\left[\frac{\pi t_1}{t_1+t_2}(k+C_2)\right],\nonumber \\
+\end{eqnarray}
+%
+%
+\[
+C_{1,2}=\frac{t_{1,2}(\omega^2_1-\omega^2_2)}{4\pi c\omega},\quad 
+C_{min}=\frac{1}{4\pi c}\left[\frac{\omega(t_1+t_2)}{\gamma^2}+
+\frac{t_1\omega^2_1+t_2\omega^2_2}{\omega}\right].
+\]
+The sum in (\ref{Nntr}) is defined by terms with $k\geq k_{min}$ corresponding
+to the region of $\theta\geq 0$. Therefore $k_{min}$ should be the nearest
+to $C_{min}$ integer $k_{min}\ge C_{min}$. The value of $k_{max}$ is defined by the
+maximum emission angle $\theta^2_{max}\sim 10\gamma^{-2}$. It can be evaluated as the
+integer part of
+\[
+C_{max}=C_{min}+\frac{\omega(t_1+t_2)}{4\pi c}\frac{10}{\gamma^2}, \quad 
+k_{max}-k_{min}\sim10^2\div 10^3\gg 1.
+\]
+Numerically, however, only a few tens of terms contribute substantially to the
+sum, that is, one can choose $k_{max}\sim k_{min}+20$. Equation (\ref{Nntr})
+corresponds to the spectrum of the total number of photons emitted inside a
+regular transparent radiator. Therefore the mean interaction length, $\lambda_{XTR}$,
+of the XTR process in this kind of radiator can be introduced as:
+\[
+\lambda_{XTR}=n(t_1+t_2)\left[\int_{\hbar\omega_{min}}^{\hbar\omega_{max}}
+\hbar d\omega\frac{d \bar{N}_{in}}{\hbar d\omega}\right]^{-1},
+\]
+where $\hbar\omega_{min}\sim 1$ keV, and $\hbar\omega_{max}\sim 100$ keV for the
+majority of high energy physics experiments. Its value is constant along 
+the particle trajectory in the approximation of a transparent regular radiator. 
+The spectrum of the total number of XTR photons {\em after} regular transparent 
+radiator is defined by (\ref{Nntr}) with:
+\[
+n\rightarrow n_{eff}=\sum_{k=0}^{n-1}\exp[-k(\sigma_1t_1+\sigma_2t_2)]=
+\frac{1-\exp[-n(\sigma_1t_1+\sigma_2t_2)]}
+{1-\exp[-(\sigma_1t_1+\sigma_2t_2)]},
+\]
+where $\sigma_1$ and $\sigma_2$ are the photo-absorption cross-sections corresponding 
+to the photon frequency $\omega$ in the first and the second medium, respectively. 
+With this correction taken into account the XTR absorption in the 
+radiator (\ref{Nntr}) corresponds to the results of \cite{fab75}. In the more 
+general case of the flux of XTR photons {\em after} a radiator, the XTR absorption 
+can be taken into account with a calculation based on the stack factor derived 
+in \cite{gar74}:
+%
+\begin{eqnarray}
+\label{Rflux}
+\langle R^{(n)}_{flux}\rangle&=& (L_1-L_2)^2\left\{
+\frac{1-Q^n}{1-Q}\frac{(1 + Q_1)(1 + F) - 2F_1 - 2 Q_1 F_2}{2(1-F)}\right.\nonumber \\
+&+&\left.\frac{(1 - F_1 )(Q_1 - F_1)F_2 (Q^n -F^n)}{(1 - F)(Q - F)}
+\right\},
+\end{eqnarray}
+%
+%
+\[
+Q = Q_1\cdot Q_2, \quad Q_j=\exp\left[-t_j/l_j\right]=\exp\left[-\sigma_j t_j\right],\quad j=1,2.
+\]
+Both XTR energy loss (\ref{Rn}) and flux (\ref{Rflux}) models can be implemented 
+as a discrete electromagnetic process (see below). 
+
+
+\subsection{Simulating X-ray Transition Radiation Production}
+
+A typical XTR radiator consits of many ($\sim 100$) boundaries between different 
+materials.  To improve the tracking performance in such a volume one can introduce 
+an artificial material \cite{g4xtr}, which is the geometrical mixture of foil and 
+gas contents.  Here is an example:
+\begin{verbatim}
+  // In DetectorConstruction of an application 
+  // Preparation of mixed radiator material
+  foilGasRatio  = fRadThickness/(fRadThickness+fGasGap);
+  foilDensity  = 1.39*g/cm3;     // Mylar      
+  gasDensity   = 1.2928*mg/cm3 ; // Air  
+  totDensity   = foilDensity*foilGasRatio + 
+                 gasDensity*(1.0-foilGasRatio);
+  fractionFoil =  foilDensity*foilGasRatio/totDensity; 
+  fractionGas  =  gasDensity*(1.0-foilGasRatio)/totDensity;      
+  G4Material* radiatorMat = new G4Material("radiatorMat", 
+                                            totDensity, 
+                                            ncomponents = 2 );
+  radiatorMat->AddMaterial( Mylar, fractionFoil );
+  radiatorMat->AddMaterial( Air,   fractionGas  );
+  G4cout << *(G4Material::GetMaterialTable()) << G4endl;  
+  // materials of the TR radiator
+  fRadiatorMat = radiatorMat;   // artificial for geometry  
+  fFoilMat     = Mylar;  
+  fGasMat      = Air;  
+\end{verbatim}
+
+This artificial material will be assigned to the logical volume in which
+XTR will be generated:
+
+\begin{verbatim}
+  solidRadiator = new G4Box("Radiator",
+                             1.1*AbsorberRadius , 
+                             1.1*AbsorberRadius, 
+                             0.5*radThick        );                          
+  logicRadiator = new G4LogicalVolume( solidRadiator,   
+                                       fRadiatorMat,  // !!!      
+                                      "Radiator");                                                
+  physiRadiator = new G4PVPlacement(0,
+                                     G4ThreeVector(0,0,zRad),           
+                                     "Radiator", logicRadiator,         
+                                     physiWorld, false, 0       );      
+\end{verbatim}
+
+XTR photons generated by a relativistic charged particle intersecting a 
+radiator with $2n$ interfaces between different media can be simulated by 
+using the following algorithm.  First the total number of XTR photons is
+estimated using a Poisson distribution about the mean number of photons 
+given by the following expression: 
+%
+%\begin{equation}
+%\label{Nn2}
+\[
+\bar{N}^{(n)}=\int_{\omega_1}^{\omega_2}d\omega
+\int_{0}^{\theta_{max}^2}d\theta^2
+\frac{d^2 \bar{N}^{(n)}}{d\omega\,d\theta^2}=
+%\nonumber\\&=&
+\frac{2\alpha}{\pi c^2}\int_{\omega_1}^{\omega_2}\omega d\omega
+\int_{0}^{\theta_{max}^2}\theta^2 d\theta^2 
+\textrm{Re}\left\{\langle R^{(n)}\rangle\right\}.
+\]
+%\end{equation}
+%
+Here $\theta_{max}^2\sim 10\gamma^{-2}$, $\hbar\omega_1\sim 1$~keV, 
+$\hbar\omega_2\sim 100$~keV, and $\langle R^{(n)}\rangle$ correspond to the 
+geometry of the experiment.  For events in which the number of XTR 
+photons is not equal to zero, the energy and angle of each XTR quantum 
+is sampled from the integral distributions obtained by the numerical 
+integration of expression (\ref{Nn1}).  For example, the integral 
+energy spectrum of emitted XTR photons, $\bar{N}^{(n)}_{>\omega}$, is defined 
+from the following integral distribution:
+%
+%\begin{equation}
+%\label{Nomega}
+\[
+\bar{N}^{(n)}_{>\omega}=\frac{2\alpha}{\pi c^2}
+\int_{\omega}^{\omega_2}\omega d\omega
+\int_{0}^{\theta_{max}^2}\theta^2 d\theta^2 
+\textrm{Re}\left\{\langle R^{(n)}\rangle\right\}.
+\]
+%\end{equation}
+%
+In { \sc Geant4} XTR generation {\em inside} or {\em after} radiators is 
+described as a discrete electromagnetic process. It is convenient for the 
+description of tracks in magnetic fields and can be used for the cases when 
+the radiating charge experiences a scattering inside the radiator. The base 
+class {\tt G4VXTRenergyLoss} is responsible for the creation of tables with 
+integral energy and angular distributions of XTR photons.  It also contains
+the {\tt PostDoIt} function providing XTR photon generation and motion
+(if fExitFlux=true) through a XTR radiator to its boundary.  Particular models 
+like {\tt G4RegularXTRadiator} implement the pure virtual function 
+{\tt GetStackFactor}, which calculates the response of the XTR radiator 
+reflecting its geometry. Included below are some comments for the declaration 
+of XTR in a user application.
+
+In the physics list one should pass to the XTR process additional
+details of the XTR radiator involved:
+
+\begin{verbatim}
+// In PhysicsList of an application
+else if (particleName == "e-")  // Construct processes for electron with XTR 
+{
+   pmanager->AddProcess(new G4MultipleScattering, -1, 1,1 );
+   pmanager->AddProcess(new G4eBremsstrahlung(),  -1,-1,1 ); 
+   pmanager->AddProcess(new Em10StepCut(),        -1,-1,1 );
+// in regular radiators:             
+   pmanager->AddDiscreteProcess(                
+   new G4RegularXTRadiator        // XTR dEdx in general regular radiator
+// new G4XTRRegularRadModel        - XTR flux after general regular radiator
+// new G4TransparentRegXTRadiator  - XTR dEdx in transparent 
+//                                   regular radiator
+// new G4XTRTransparentRegRadModel - XTR flux after transparent 
+//                                   regular radiator
+                         (pDet->GetLogicalRadiator(), // XTR radiator
+
+                          pDet->GetFoilMaterial(), // real foil
+                          pDet->GetGasMaterial(),  // real gas
+                          pDet->GetFoilThick(),    // real geometry
+                          pDet->GetGasThick(),
+                          pDet->GetFoilNumber(),   
+                          "RegularXTRadiator"));
+// or for foam/fiber radiators:
+   pmanager->AddDiscreteProcess(                
+   new G4GammaXTRadiator    - XTR dEdx in general foam/fiber radiator
+// new G4XTRGammaRadModel   - XTR flux after general foam/fiber radiator
+                          ( pDet->GetLogicalRadiator(),
+                            1000.,
+                            100.,
+                            pDet->GetFoilMaterial(),
+                            pDet->GetGasMaterial(),
+                            pDet->GetFoilThick(),
+                            pDet->GetGasThick(),
+                            pDet->GetFoilNumber(),
+                            "GammaXTRadiator"));
+} 
+\end{verbatim}
+Here for the foam/fiber radiators the values 1000 and 100 are the $\nu$ parameters 
+(which can be varied) of the Gamma distribution for the foil and gas gaps, 
+respectively. Classes G4TransparentRegXTRadiator and G4XTRTransparentRegRadModel 
+correspond (\ref{Nntr}) to $n$ and $n_{eff}$, respectively.
+ 
+\subsection{Status of this document}
+18.11.05 modified by V.Grichine \\
+29.11.02 re-written by D.H. Wright \\
+29.05.02 created by V.Grichine \\
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+
+\bibitem{griCR}  V.M. Grichine, 
+{\em Nucl. Instr. and Meth.}, {\bf A482} (2002) 629. 
+
+\bibitem{gri01} V.M. Grichine, {\em Physics Letters}, {\bf B525} (2002) 225-239 
+
+\bibitem{gar71} G.M. Garibyan,
+{\em Sov. Phys. JETP} {\bf 32} (1971) 23.
+
+\bibitem{fab75} C.W. Fabian and W. Struczinski
+{\em Physics Letters}, {\bf B57 } (1975) 483.
+
+\bibitem{gar74} G.M. Garibian, L.A. Gevorgian, and C. Yang,
+{\em Sov. Phys.- JETP, 39 (1975) 265.}
+
+\bibitem{g4xtr} J. Apostolakis, S. Giani, V. Grichine et al.,
+{\em Comput. Phys. Commun.} {\bf 132} (2000) 241. 
+
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item  V.M. Grichine, 
+{\em Nucl. Instr. and Meth.}, {\bf A482} (2002) 629. 
+
+\item V.M. Grichine, {\em Physics Letters}, {\bf B525} (2002) 225-239 
+
+\item G.M. Garibyan,
+{\em Sov. Phys. JETP} {\bf 32} (1971) 23.
+
+\item C.W. Fabian and W. Struczinski
+{\em Physics Letters}, {\bf B57 } (1975) 483.
+
+\item G.M. Garibian, L.A. Gevorgian, and C. Yang,
+{\em Sov. Phys.- JETP, 39 (1975) 265.}
+
+\item J. Apostolakis, S. Giani, V. Grichine et al.,
+{\em Comput. Phys. Commun.} {\bf 132} (2000) 241. 
+
+\end{enumerate}
+
+\end{htmlonly}
+
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/generalities/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/generalities/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/generalities/CVS/Entries	(revision 1208)
@@ -0,0 +1,4 @@
+/introduction.tex/1.1/Tue Dec 18 19:07:58 2001//
+/messel.tex/1.2/Fri Dec 10 21:36:55 2004//
+/transportation.tex/1.1/Mon Jun 16 22:31:17 2003//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/generalities/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/generalities/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/generalities/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/generalities
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/generalities/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/generalities/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/generalities/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/generalities/introduction.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/generalities/introduction.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/generalities/introduction.tex	(revision 1208)
@@ -0,0 +1,62 @@
+\chapter[Introduction]
+   {Introduction}
+
+\section{Scope of This Manual} 
+
+The Physics Reference Manual provides detailed explanations of the physics
+implemented in the Geant4 toolkit.  The manual's purpose is threefold:
+
+\begin{itemize}
+
+\item to present the theoretical formulation, model, or parameterization of 
+      the physics interactions included in Geant4,
+
+\item to describe the probability of the occurrence of an interaction and the
+      sampling mechanisms required to simulate it, and
+
+\item to serve as a reference for toolkit users and developers who wish to 
+      consult the underlying physics of an interaction.
+
+\end{itemize}
+
+This manual does not discuss code implementation or how to use the 
+implemented physics interactions in a simulation.  These topics are
+discussed in the User's Guide for Application Developers.  Details 
+of the object-oriented design and functionality of the Geant4 toolkit 
+are given in the User's Guide for Toolkit Developers.  The 
+Installation Guide for Setting up Geant4 in Your Computing Environment
+describes how to get the Geant4 code, install it, and run it. 
+
+\section{Definition of Terms}
+
+Several terms used throughout the Physics Reference Manual have specific
+meaning within Geant4, but are not well-defined in general usage.  The 
+definitions of these terms are given here.
+
+\begin{itemize}
+
+\item {\bf process} - a C++ class which describes how and when a specific 
+                      kind of physical interaction takes place along a 
+                      particle track.  A given particle type typically 
+                      has several processes assigned to it.  
+                      Occaisionally ``process'' refers to the interaction
+                      which the process class describes.
+
+\item {\bf model} - a C++ class whose methods implement the details of an 
+                    interaction, such as its kinematics.  One or more
+                    models may be assigned to each process.  In sections
+                    discussing the theory of an interaction, ``model'' may 
+                    refer to the formulae or parameterization on which 
+                    the model class is based. 
+
+\item {\bf Geant3} - a physics simulation tool written in Fortran,
+                     and the predecessor of Geant4.  Although many 
+                     references are made to Geant3, no knowledge 
+                     of it is required to understand this manual.
+
+\end{itemize}
+
+\section{Status of this document}
+  4.12.01   created by D.H. Wright
+
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/generalities/messel.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/generalities/messel.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/generalities/messel.tex	(revision 1208)
@@ -0,0 +1,87 @@
+
+\chapter[Monte Carlo Methods]
+{Monte Carlo Methods}    \label{secmessel}
+
+The Geant4 toolkit uses a combination of the composition and
+rejection Monte Carlo methods.  Only the basic formalism of these methods is 
+outlined here.  For a complete account of the Monte Carlo methods, the 
+interested user is referred to the publications of Butcher and Messel, 
+Messel and Crawford, or Ford and Nelson \cite{m.butch,m.messel,m.egs4}.
+
+\noindent
+Suppose we wish to sample $x$ in the interval $[x_1,\ x_2]$ from the 
+distribution $f(x)$ and the {\it normalised} probability density function can 
+be written as :
+\begin{equation}
+f(x)  = \sum_{i=1}^{n} N_{i} f_{i} (x) g_{i} (x)
+\end{equation}
+where $N_i>0$, $f_i(x)$ are {\it normalised} density functions on $[x_1,\ x_2]$ 
+, and $0 \leq g_i (x) \leq 1$.
+
+\noindent
+According to this method, $x$ can sampled in the following way:
+\begin{enumerate}
+\item
+select a random integer $i \in \{1,2,\cdots n\}$
+with probability proportional to $N_i $
+\item
+select a value $x_0$ from the distribution $f_i (x)$
+\item
+calculate $g_i (x_0)$ and accept $x = x_0$ with probability $g_i (x_0)$;
+\item if $x_0$ is rejected restart from step 1.
+\end{enumerate}
+It can be shown that this scheme is correct and the mean
+number of tries to accept a value is $ \sum_{i} N_i $.
+
+\noindent
+In practice, a good method of sampling from the distribution $f(x)$ has the 
+following properties:
+\begin{itemize}
+\item all the subdistributions $ f_i (x)$ can be sampled easily;
+\item the rejection functions $ g_i(x)$ can be evaluated easily/quickly;
+\item the mean number of tries is not too large.
+\end{itemize}
+Thus the different possible decompositions of the distribution
+$f(x)$ are not equivalent from the practical point of view (e.g. they
+can be very different in computational speed) and it can be useful
+to optimise the decomposition.
+
+\noindent
+A remark of practical importance : if our distribution is not
+normalised 
+$$\int_{x_1}^{x_2} f(x)dx = C > 0$$ 
+the method can be used in the same
+manner; the mean number of tries in this
+case is $\sum_ {i} N_i/C$.
+
+\section{Status of this document}
+18.01.02 created by M.Maire. \\
+
+\begin{latexonly}
+  
+\begin{thebibliography}{99}
+\bibitem{m.butch} J.C. Butcher and H. Messel.
+  {\em Nucl. Phys. 20} 15 (1960)   
+\bibitem{m.messel} H. Messel and D. Crawford.
+  {\em Electron-Photon shower distribution, Pergamon Press} (1970)
+\bibitem{m.egs4} R. Ford and W. Nelson.
+  {\em SLAC-265, UC-32} (1985)
+\bibitem{m.pdg}
+  Particle Data Group. Rev. of Particle Properties.
+  {\em Eur. Phys. J. C15. (2000) 1.} http://pdg.lbl.gov         
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\section{Bibliography}
+
+\begin{enumerate}
+\item J.C. Butcher and H. Messel {\em Nucl. Phys. 20} 15 (1960).   
+\item H. Messel and D. Crawford {\em Electron-Photon shower distribution, Pergamon Press} (1970).
+\item R. Ford and W. Nelson {\em SLAC-265, UC-32} (1985).
+\item Particle Data Group. Rev. of Particle Properties {\em Eur. Phys. J. C15. (2000) 1.} http://pdg.lbl.gov .         
+\end{enumerate}
+
+\end{htmlonly}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/generalities/transportation.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/generalities/transportation.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/generalities/transportation.tex	(revision 1208)
@@ -0,0 +1,30 @@
+\chapter{Transportation}
+
+      The transportation process is responsible for determining the
+geometrical limits of a step.  It calculates the length of step with which a
+track will cross into 
+another volume.  When the track actually arrives at a boundary, the
+transportation process locates the next volume that it enters.
+
+   If the particle is charged and there is an electromagnetic (or
+potentially other) field, it is responsible for propagating the particle in
+this field.  It does this according to an equation of motion.  This equation 
+can be provided by Geant4, for the case a magnetic or EM field, 
+or can be provided by the user for other fields.
+
+   The transportation updates the time of flight of a particle, utilising its
+initial velocity.
+
+\textit{Some additional details on motion in fields:}
+
+  In order to intersect the model Geant4 geometry of a detector or setup, the
+curved trajectory followed by a charged particle is split into 'chords segments'.  A
+chord is a straight line segment between two trajectory points.  Chords are
+created utilizing a criterion for the maximum estimated distance between a
+curve point and the chord. This distance is also known as the sagitta.
+
+  The equations of motions are solved utilising Runge Kutta methods.
+Runge Kutta methods of different can be utilised for fields depending on the
+numerical method utilised for approximating the field.  Specialised methods
+for near-constant magnetic fields are under development.
+   
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/CVS/Entries	(revision 1208)
@@ -0,0 +1,9 @@
+D/elastic////
+D/he_elastic////
+D/lowEnergyNeutron////
+D/lpbias////
+D/parametrization_driven////
+D/radioactive////
+D/stopping////
+D/theory_driven////
+/hadronic.tex/1.10/Mon Nov 30 13:46:17 2009//
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/elastic/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/elastic/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/elastic/CVS/Entries	(revision 1208)
@@ -0,0 +1,11 @@
+/diffuselastic.tex/1.3/Tue Nov 27 03:29:28 2007//
+/elastic.tex/1.3/Sun Dec  5 02:01:59 2004//
+/pHeT301GeVsum.eps/1.1/Sun Nov 18 10:33:48 2007//
+/pHeT45GeVsum.eps/1.1/Sun Nov 18 10:33:48 2007//
+/pPbsum9p92GeVc.eps/1.1/Sun Nov 18 10:33:48 2007//
+/pPbsumT1GeV.eps/1.1/Sun Nov 18 10:33:48 2007//
+/pSisumT1GeV.eps/1.1/Sun Nov 18 10:33:48 2007//
+/pimPbsum9p92GeVc.eps/1.1/Sun Nov 18 10:33:48 2007//
+/pipCsum9p92GeVc.eps/1.1/Sun Nov 18 10:33:48 2007//
+/pipPbsum9p92GeVc.eps/1.1/Sun Nov 18 10:33:48 2007//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/elastic/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/elastic/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/elastic/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/elastic
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/elastic/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/elastic/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/elastic/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/elastic/diffuselastic.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/elastic/diffuselastic.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/elastic/diffuselastic.tex	(revision 1208)
@@ -0,0 +1,216 @@
+\chapter{Optical Elastic Model}
+
+\section{ The model description  }
+
+This model is based on the optical approach in which a nucleus is considered to be a drop of 
+an absorptive and refractive medium.  Absorption results in the diffraction of a projectile 
+hadron, while refraction (scattering) in the surface layer provides some smoothing of the 
+diffraction picture. The differential cross section in the center mass system can be written 
+ \cite{bethe40,ap45,bs98}:
+\[
+\frac{d\sigma_{el}}{d\Omega}= R^2F_d^2(k\,d\,\theta)
+\left\{\frac{J_1^2(k\,R\,\theta)}{\theta^2}+
+\left[(\gamma\,k)^2+
+(\delta\,k^2\,\theta)^2\right]J_0^2(k\,R\,\theta)\right\},
+\quad d\Omega=2\pi\sin\theta\,d\theta,
+\]
+where $J_k$ is the Bessel function of k-th order ($k = 0,1$) and $\Omega$ and $\theta$ are 
+the solid and polar scattering angles, respectively. 
+$R$ and $d$ are nuclear geometrical parameters of the Woods-Saxon density form
+\[
+\rho(r)=\rho_o\left\{1+\displaystyle\exp\left[\frac{(r-R)}{d}\right]\right\}^{-1},
+\]
+in which $k$ is the projectile wave vector ($k=p/\hbar\,c$, $p$ is the projectile 
+momentum multiplied by $c$), and $F_d$ is the dumping factor:
+\[
+F_d(k\,d\,\theta)=\frac{\pi\,k\,d\,\theta}{\sinh(\pi\,k\,d\,\theta)}.
+\]
+$\gamma$ is the refraction (nuclear scattering) parameter, and $\delta$ is the 
+spin-orbital interaction parameter.
+
+The model can be modified for charged particles by taking into account that a simple 
+summation of nuclear and Coulomb cross sections does not work.  However for small Coulomb 
+scattering  
+$\delta f_{Coulomb}(\theta)\ll f_{nuclear}(\theta)$ the amplitudes can be summarized:
+\[
+\frac{d\sigma_{el}}{d\Omega} = | \delta f_{Coulomb}(\theta)+f_{nuclear}(\theta)|^2. 
+\]
+This case is assumed in the diffuse optical model considered, where we should correct the 
+nuclear refraction (scattering) term:
+\[
+\gamma\,k \rightarrow \gamma\,k + \frac{n}{2kR}\left[\sin^2(\frac{\theta}{2}) + A_m \right]^{-1},
+\quad n = \frac{\alpha Z_1  Z_2}{\beta} \ll kR,
+\]
+where $n$ is Zommerfeld parameter for the Coulomb field, $\beta=v/c$ is the particle velocity, 
+and $Z_1$ and $Z_2$ are the hadron and nucleus charges, respectively. 
+The parameter $A_m$ reflects Coulomb atomic shell screening and can be estimated as:
+\[
+A_m = \frac{1.13 + 3.76n^2}{(1.77ka_oZ^{-1/3})^2},
+\]
+where $a_o$ is the Bohr radius, and $Z$ is the atomic number.
+
+This method corresponds to elastic Coulomb-Wentzel scattering recently implemented 
+in electromagnetic physics \cite{fer93}:
+\[
+\frac{d\sigma_{el}^{cw}}{d\Omega}= \frac{n^2}{4k^2}
+\left[\sin^2(\frac{\theta}{2}) + A_m \right]^{-2}, \quad V(r)=\frac{e^2Z_1Z_2}{r^2}\exp(-r/R),
+\quad A_m = (2kR)^{-2}.
+\]
+The Coulomb-Wentzel cross-section reads:
+\[
+\sigma_{el}^{cw}= \frac{n^2}{k^2}\frac{\pi}{A_m(1+A_m)}, \quad 
+\sigma_{el}^{cw}(\theta_1,\theta_2)=2\pi\frac{n^2}{k^2}\frac{\cos\theta_1-\cos\theta_2}
+{(1-\cos\theta_1+2A_m)(1-\cos\theta_2+2A_m)}.
+\]
+This cross-section is much bigger than the integral nuclear cross section.  However the 
+main contribution comes from very small angles where the differential nuclear elastic 
+cross section is approximately constant. In this region the Coulomb correction can be 
+switched off. This avoids double counting of Coulomb scattering in electromagnetic and nuclear 
+processes.
+
+\section{Validation}
+
+
+Figs. \ref{pPb1GeV}-\ref{pipC9p92GeVc} show the elastic differential cross sections of protons 
+and pions with energies in the range 1 - 301 GeV on different targets: helium, carbon, silicon 
+and lead.
+One can see that Coulomb corrections improve the description of differential cross sections 
+in the regions of the minima.
+
+\begin{figure*}
+\centering \includegraphics[width=10cm,height=7cm]{hadronic/elastic/pPbsumT1GeV.eps}
+\vspace{-0.5cm}
+\caption{ Differential elastic scattering cross sections of protons with energy 
+1 GeV on lead. Curves show pure nuclear and Coulomb-corrected models. Points are 
+experimental data. The Coulomb cross section dominates at small angles resulting 
+in a large integral cross section: $\sigma_{el}^{nucl}=1210$ mb, with $\lambda = 25$ cm, 
+$\sigma_{el}^{cw}(2^{0}, 16^{o})=642.65$ mb, with $\lambda = 47$ cm, 
+$\sigma_{el}^{cw}(0,1^o)\sim \sigma_{el}^{cw} = 2.36423\cdot10^{9}$ mb, 
+with $\lambda = 0.13$ micron.}
+\label{pPb1GeV}
+\end{figure*}
+
+\begin{figure*}
+\centering \includegraphics[width=10cm,height=7cm]{hadronic/elastic/pSisumT1GeV.eps}
+\vspace{-0.5cm}
+\caption{ Differential elastic scattering cross sections of protons with energy 
+1 GeV on silicon. Curves show pure nuclear and Coulomb-corrected models. Points are 
+experimental data. The Coulomb cross section dominates at small angles resulting in 
+a large integral cross-section: 
+$\sigma_{el}^{cw}(0,1^o)\sim \sigma_{el}^{cw}=5.46779\cdot10^{8}$ mb, 
+with $\lambda = 0.366068$ micron.}
+\label{pSi1GeV}
+\end{figure*}
+
+\begin{figure*}
+\centering \includegraphics[width=10cm,height=7cm]{hadronic/elastic/pPbsum9p92GeVc.eps}
+\vspace{-0.5cm}
+\caption{ Differential elastic scattering cross sections of protons with momentum 
+9.92 GeV/c on lead. Curves show pure nuclear and Coulomb-corrected models. Points are 
+experimental data. The Coulomb cross section dominates at small angles resulting in a
+large integral cross section
+$\sigma_{el}^{cw}(0,4 \ mrad)\sim \sigma_{el}^{cw}=2.11854\cdot10^{9}$ mb, 
+with $\lambda = 0.143101$ micron. 
+$\sigma_{el}^{cw}(4  \ mrad,40 \ mrad)=919.547$ mb, 
+with $\lambda = 329689$ micron (33 cm).}
+\label{pPb9p92GeVc}
+\end{figure*}
+
+\begin{figure*}
+\centering \includegraphics[width=10cm,height=7cm]{hadronic/elastic/pHeT45GeVsum.eps}
+\vspace{-0.5cm}
+\caption{ Differential elastic scattering cross sections of protons with energy 
+45 GeV on helium. Curves show pure nuclear and Coulomb-corrected models. Points are 
+experimental data.}
+\label{pHe45GeV}
+\end{figure*}
+
+\begin{figure*}
+\centering \includegraphics[width=10cm,height=7cm]{hadronic/elastic/pHeT301GeVsum.eps}
+\vspace{-0.5cm}
+\caption{ Differential elastic scattering cross sections of protons with energy 
+301 GeV on helium. Curves show pure nuclear and Coulomb-corrected models. Points are 
+experimental data.}
+\label{pHe301GeV}
+\end{figure*}
+
+\begin{figure*}
+\centering \includegraphics[width=10cm,height=7cm]{hadronic/elastic/pimPbsum9p92GeVc.eps}
+\vspace{-0.5cm}
+\caption{ Differential elastic scattering cross sections of $\pi^{-}$ with momentum 
+9.92 GeV/c on lead. Curves show pure nuclear and Coulomb-corrected models. Points are 
+experimental data. }
+\label{pimPb9p92GeVc}
+\end{figure*}
+
+\begin{figure*}
+\centering \includegraphics[width=10cm,height=7cm]{hadronic/elastic/pipPbsum9p92GeVc.eps}
+\vspace{-0.5cm}
+\caption{ Differential elastic scattering cross sections of $\pi^{+}$ with momentum 
+9.92 GeV/c on lead. Curves show pure nuclear and Coulomb-corrected models. Points are 
+experimental data.}
+\label{pipPb9p92GeVc}
+\end{figure*}
+
+\begin{figure*}
+\centering \includegraphics[width=10cm,height=7cm]{hadronic/elastic/pipCsum9p92GeVc.eps}
+\vspace{-0.5cm}
+\caption{ Differential elastic scattering cross sections of $\pi^{+}$ with momentum 
+9.92 GeV/c on carbon. Curves show pure nuclear and Coulomb-corrected models. Points are 
+experimental data.}
+\label{pipC9p92GeVc}
+\end{figure*}
+
+\section{Implementation} 
+
+This model is implemented in the class {\em G4DiffuseElastic}. It conforms to the general 
+interface of hadronic models and performs initialization for different elements during 
+tracking.
+
+
+\section{Status of this document}
+18.11.07 created by V. Grichine \\
+
+
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+
+\bibitem{bethe40} P. Placzec, H.A. Bethe, {\em Phys. Rev.}, {\bf 57} (1940) 1075A.
+
+\bibitem{ap45} A. Akhiezer, I. Pomeranchuk, {\em J. Phys. (USSR)}, {\bf 9} (1945) 471; 
+{\em Sov. Phys. USPEKHI}, {\bf 65} (1958) 593.
+
+\bibitem{bs98} Yu.A. Berezhnoy, V.A. Slipko, {\em Int. J. of Mod. Phys.}, {\bf E7} (1998) 723.
+
+\bibitem{fer93} J.M. Fernandez-Varea, R. Moyol, J. Baro, F. Salvat, 
+{\em Nucl. Instr. and Math. in Phys. Res.}, {\bf B73} (1993) 447.
+
+
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\section{Bibliography}
+
+\begin{enumerate}
+
+\item P. Placzec, H.A. Bethe, {\em Phys. Rev.}, {\bf 57} (1940) 1075A.
+
+
+\item A. Akhiezer, I. Pomeranchuk, {\em J. Phys. (USSR)}, {\bf 9} (1945) 471; 
+{\em Sov. Phys. USPEKHI}, {\bf 65} (1958) 593.
+
+\item Yu.A. Berezhnoy, V.A. Slipko, {\em Int. J. of Mod. Phys.}, {\bf E7} (1998) 723.
+
+\item J.M. Fernandez-Varea, R. Moyol, J. Baro, F. Salvat, 
+{\em Nucl. Instr. and Math. in Phys. Res.}, {\bf B73} (1993) 447.
+
+
+\end{enumerate}
+
+\end{htmlonly}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/elastic/elastic.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/elastic/elastic.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/elastic/elastic.tex	(revision 1208)
@@ -0,0 +1,37 @@
+\chapter{Coherent elastic scattering}
+
+\section{Nucleon-Nucleon elastic Scattering}
+The classes G4LEpp and G4LEnp provide data-driven models for
+proton-proton (or neutron-neutron) and neutron-proton elastic
+scattering over the range 10-1200 MeV.  Final states (primary
+and recoil particle) are derived by sampling from tables of
+the cumulative distribution function of the centre-of-mass scattering
+angle, tabulated for a discrete set of lab kinetic energies from
+10 MeV to 1200 MeV.  The CDF's are tabulated at 1 degree intervals and
+sampling is done using bi-linear interpolation in energy and
+CDF values.  The data are derived from differential cross sections
+obtained from the SAID database, R. Arndt, 1998.
+
+In class G4LEpp there are two data sets: one including Coulomb effects
+(for p-p scattering) and one with no Coulomb effects (for n-n
+scattering or p-p scattering with Coulomb effects suppressed).
+The method G4LEpp::SetCoulombEffects can be used to select the
+desired data set:
+\begin{itemize}
+\item       SetCoulombEffects(0):    No Coulomb effects (the default)
+\item        SetCoulombEffects(1):    Include Coulomb effects
+\end{itemize}
+The recoil particle will be generated as a new secondary particle.
+In class G4LEnp, the possiblity of a charge-exchange reaction is
+included, in which case the incident track will be stopped and both
+the primary and recoil particles will be generated as secondaries.
+
+\newpage
+
+
+
+
+%%% Local Variables: 
+%%% mode: latex
+%%% TeX-master: " "
+%%% End: 
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/hadronic.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/hadronic.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/hadronic.tex	(revision 1208)
@@ -0,0 +1,11 @@
+\input{hadronic/theory_driven/ChiralInvariantPhaseSpace/PhotoElectroNucCrsSctn}
+\input{hadronic/theory_driven/CrossSection/NNXSections}
+\input{hadronic/elastic/elastic}
+\input{hadronic/elastic/diffuselastic}
+\input{hadronic/he_elastic/elastic_he}
+\input{hadronic/stopping/stopping}
+\input{hadronic/parametrization_driven/parametrization_driven}
+\input{hadronic/lpbias/mars5gev}
+\input{hadronic/theory_driven/theory_driven}
+\input{hadronic/lowEnergyNeutron/lowEnergyNeutron}
+\input{hadronic/radioactive/radDecay}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/he_elastic/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/he_elastic/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/he_elastic/CVS/Entries	(revision 1208)
@@ -0,0 +1,14 @@
+/elastic_he.tex/1.4/Sat Dec 11 19:02:14 2004//
+/p_016_1.eps/1.1/Thu Jun 17 10:15:44 2004//
+/p_B11_1.eps/1.1/Thu Jun 17 10:15:44 2004//
+/p_Be9_1.eps/1.1/Thu Jun 17 10:15:45 2004//
+/p_C12_1.eps/1.1/Thu Jun 17 10:15:45 2004//
+/p_Ca40_1.eps/1.1/Thu Jun 17 10:15:45 2004//
+/p_He4_1.eps/1.1/Thu Jun 17 10:15:45 2004//
+/p_He4_301.eps/1.1/Thu Jun 17 10:15:45 2004//
+/p_He4_45.eps/1.1/Thu Jun 17 10:15:45 2004//
+/p_Ni58_1.eps/1.1/Thu Jun 17 10:15:45 2004//
+/p_Pb208_1.eps/1.1/Thu Jun 17 10:15:45 2004//
+/p_Si28_1.eps/1.1/Thu Jun 17 10:15:45 2004//
+/p_Zr90_1.eps/1.1/Thu Jun 17 10:15:45 2004//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/he_elastic/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/he_elastic/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/he_elastic/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/he_elastic
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/he_elastic/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/he_elastic/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/he_elastic/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/he_elastic/elastic_he.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/he_elastic/elastic_he.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/he_elastic/elastic_he.tex	(revision 1208)
@@ -0,0 +1,359 @@
+\chapter{ Hadron-nucleus Elastic Scattering at Medium and High Energy.}
+
+\vspace{2ex}
+\section{Method of Calculation}
+
+The Glauber model \cite{helast.1} is used as an alternative method of
+calculating differential cross sections for elastic and quasi-elastic 
+hadron-nucleus scattering at high and intermediate energies. 
+
+For high energies this includes corrections for inelastic screening and
+for quasi-elastic scattering the exitation of a discrete level or a state in
+the continuum is considered.
+ 
+The usual expression for the Glauber model amplitude for multiple scattering 
+was used
+
+\begin{equation}
+   F(q)=\frac{ik}{2\pi} \int d^2{b}e^{\vec{\mathstrut q}
+   \cdot \vec{\mathstrut b}} M(\vec b) .
+\label{helast.eq1}
+\end{equation}
+Here $M(\vec b)$ is the hadron-nucleus amplitude in the impact 
+parameter representation
+\begin{equation}
+ M(\vec b) = 1-[1-e^{-A\int d^{3}r\Gamma(\vec{\mathstrut b}-
+      \vec{\mathstrut s})\rho(\vec {r})}]^A,
+ \label{helast.eq2}
+\end{equation}
+$k$ is the incident particle momentum,
+$\vec q = \vec k' - \vec k$  is the momentum transfer, and
+$\vec k'$ is the scattered particle momentum.
+Note that $\left| \vec q \right| ^2 = -t$ - invariant momentum transfer
+squared in the center of mass system.
+$\Gamma(\vec {b})$ is the hadron-nucleon amplitude of 
+elastic scattering in the impact-parameter representation
+
+\begin{equation}
+  \Gamma(\vec b)=\frac{\displaystyle 1}
+                      {\displaystyle 2\pi ik^{hN}}
+  \int d\vec {q} e^{-\vec {\mathstrut q} \cdot \vec{\mathstrut b}} 
+  f(\vec {q}).
+ \label{helast.eq3}
+\end{equation}
+
+The exponential parameterization of the hadron-nucleon amplitude is usually 
+used:
+
+\begin{equation}
+  f(\vec {q})=\frac{\displaystyle ik^{hN}\sigma^{hN}}{2\pi}
+   e^{-0.5q^2B}.
+ \label{helast.eq4}
+\end{equation}
+Here  $\sigma^{hN}=\sigma_{tot}^{hN}(1-i\alpha)$, 
+$\sigma_{tot}^{hN}$ is the total
+cross section of a hadron-nucleon scattering, $B$ is the slope of the 
+diffraction cone and $\alpha$ is the ratio of the real to imaginary parts of 
+the amplitude at $q=0$.  The value $k^{hN}$ is the hadron momentum in the 
+hadron-nucleon coordinate system.
+
+The important difference of these calculations from the usual ones 
+is that the two-gaussian form of the nuclear density was used
+
+\begin{equation}
+   \rho(r) = C (e^{-(r/R_{1})^2}-pe^{-(r/R_2)^2}),   
+ \label{helast.eq5}
+\end{equation}
+where $R_1$, $R_2$ and $p$ are the fitting parameters and $C$ is a 
+normalization constant.
+
+This density representation allows the expressions for amplitude and 
+differential cross section to be put into analytical form.  It was earlier 
+used for light \cite{helast.2, helast.3} and medium \cite{helast.4} nuclei. 
+Described below is an extension of this method to heavy nuclei.
+The form \ref{helast.eq5} is not physical for a heavy nucleus, but 
+nevertheless works rather well (see figures below).  The reason is that 
+the nucleus absorbs the hadrons very strongly, especially at small impact 
+parameters where the absorption is full. As a result only the peripherial part 
+of the nucleus participates in elastic scattering.  Eq. \ref{helast.eq5}
+therefore describes only the edge of a heavy nucleus.
+
+ Substituting Eqs. \ref{helast.eq5} and \ref{helast.eq4} into Eqs.
+\ref{helast.eq1}, \ref{helast.eq2} and \ref{helast.eq3} yields the following 
+formula
+
+\begin{eqnarray}
+   F(q) = \frac{ik\pi}{2} 
+   \sum\limits_{k=1}^A (-1)^k {A\choose k} 
+   [\frac{\sigma^{hN}}{2\pi(R_1^3-pR_2^3)}]^k 
+   \sum\limits_{m=0}^{k} (-1)^m {k \choose m}
+   \left[ \frac{R_1^3}{R_1^2+2B}
+   \right]^{k-m} \nonumber
+\end{eqnarray}
+
+\begin{eqnarray}
+  \times \qquad {} \left[ 
+  \frac{pR_2^3}{R_2^2+2B}
+  \right]^{m} \left( 
+  \frac{m}{R_2^2+2B}+\frac{k-m}{R_1^2+2B} \right)^{-1} \nonumber
+\end{eqnarray}
+
+\begin{eqnarray}
+  \times \qquad {} \exp\left[ -\frac{-q^2}{4} 
+  \left(
+  \frac{m}{R_2^2+2B}+
+  \frac{k-m}{R_1^2+2B} \right)^{-1}
+  \right].
+\label{helast.eq6}
+\end{eqnarray}
+% \end{eqnarray}
+
+An analogous procedure can be used to get the inelastic screening corrections 
+to the hadron-nucleus amplitude $\Delta M(\vec b)$ \cite{helast.5}.
+In this case an intermediate inelastic diffractive state is created which 
+rescatters on the nucleons of the nucleus and then returns into the initial 
+hadron. Hence it is nessesary to integrate the production cross section over
+the mass distribution of the exited system $\frac{d\sigma^{diff}}{dtdM_x^2}$. 
+The expressions for the corresponding amplitude are quite long and so are not
+presented here.  The corrections for the total cross-sections can be found in 
+\cite{helast.5}.
+
+The full amplitude is the sum $M(\vec b)+ \Delta M(\vec b)$.
+
+The differential cross section is connected with the amplitude in the 
+following way
+
+\begin{equation}
+  \frac{d\sigma}{d\Omega_{CM}}=\left| F(q) \right|^2, \qquad 
+   \frac{d\sigma}{|dt|}=\frac{d\sigma}{dq_{CM}^2}=
+  \frac{\pi}{k_{CM}^2} \left|F(q) \right|^2.
+ \label{helast.eq7}
+\end{equation}
+                      
+The main energy dependence of the hadron-nucleus elastic scattering 
+cross section comes from the energy dependence of the parameters of 
+hadron-nucleon scattering 
+($\sigma_{tot}^{hN} \alpha$, $B$ and 
+$\frac{d\sigma^{diff}}{dtdM_x^2}$). 
+At interesting energies these parameters were fixed at their well-known 
+values.  The fitting of the nuclear density parameters was performed 
+over a wide range of atomic numbers $(A=4 - 208)$ using experimental data 
+on proton-nuclei elastic scattering at a kinetic energy of $T_p=1 GeV$. 
+
+The fitting was perfomed both for individual nuclei and for the entire set 
+of nuclei at once. 
+%%In the last event the following dependensies for nuclei
+%%parameters $(for A=12 \div 208)$ were obtained
+
+%\vspace{2ex}
+%$R_1=4.18A^{0.302}$, $R_2=3.81(A-10)^{0.268}$, $p=0.95$.
+%\hspace{3cm} (8)
+%\vspace{2ex}
+
+%%\vspace{2ex}
+%%$R_1=4.45(A-1)^{0.309}$, $R_2=2.3A^{0.36}$, 
+
+%%$p=0.176+0.0017A+8.7.10^{-6}A^2$.
+%%\hspace{3cm} (8)
+%%\vspace{2ex} 
+
+It is necessary to note that for every nucleus 
+an optimal set of density parameters exists and it
+differs slightly from the one derived for the full set of nuclei.
+
+A comparision of the phenomenological cross sections \cite{helast.6} with 
+experiment is presented in Figs. \ref{helast.fig1} - \ref{helast.fig9}
+
+% where the data of the proton-nucleus scattering 
+% are imaged.
+  
+In this comparison, the individual nuclei parameters were used.
+The experimental data were obtained in Gatchina (Russia) and in 
+Saclay (France) \cite{helast.6}. 
+The horizontal axis is the scattering angle in the center of mass
+system $\Theta_{CM}$ and the vertical axis is
+$\frac{\displaystyle d\sigma}{\displaystyle d\Omega_{CM}}$ 
+in $\frac{\displaystyle mb}{\displaystyle Ster}$.
+%The lower curve in the figures is the diferencial cross-section 
+%of a coherent elastic scattering but upper one is the
+%cross-section for noncoherent scattering.
+
+Comparisions were also made for $p ^4He$ elastic scatering at 
+$T_ = 1 GeV$[7], $45 GeV$ and $301 GeV$ [3]. The resulting
+cross sections $\frac {d \sigma}{d\left| t \right|}$ are shown 
+in the Figs. \ref{helast.fig10} - \ref{helast.fig12}.
+
+In order to generate events the distribution function ${\cal F}$ of a 
+corresponding process must be known. 
+The differential cross section is proportional to the density distribution.
+Therefore to get the distribution function it is sufficient to integrate the
+differential cross section and normalize it:
+
+\begin{equation}
+    {\cal F}(q^2)=
+ \frac
+ {\displaystyle
+   \int\limits_{0}^{q^2}d(q^2)
+   \frac {\displaystyle d\sigma}{\displaystyle d(q^2)}
+  }
+ {\displaystyle
+   \int\limits_{0}^{q_{max}^2}d(q^2)
+   \frac {\displaystyle d\sigma}{\displaystyle d(q^2)} .
+  }
+\label{helast.eq8}
+\end{equation}
+
+Expressions \ref{helast.eq6} and \ref{helast.eq7} allow analytic integration
+in Eq. \ref{helast.eq8} but the result is too long to be given here.
+
+For light and medium nuclei the analytic expression is more convenient for 
+calculations than the numerical integration of Eq. \ref{helast.eq8}, but for
+heavy nuclei the latter is preferred due to the large number of terms in the 
+analytic expression.
+
+\section{Status of this document}
+18.06.04 created by Nikolai Starkov \\
+19.06.04 re-written for spelling and grammar by D.H. Wright \\
+
+
+\begin{latexonly}
+
+\begin{thebibliography}{599}
+
+\bibitem{helast.1} R.J. Glauber, 
+    in "High Energy Physics and Nuclear Structure",
+    edited by S. Devons (Plenum Press, NY 1970).
+
+
+\bibitem{helast.2} R. H. Bassel, W. Wilkin, Phys. Rev., 174, p. 1179, 1968; \\ 
+T. T. Chou, Phys. Rev., 168, 1594, 1968; \\
+M. A. Nasser, M. M. Gazzaly, J. V. Geaga et al., Nucl. Phys.,
+ A312, pp. 209-216, 1978. 
+
+
+\bibitem{helast.3} Bujak, P. Devensky, A. Kuznetsov et al.,
+Phys. Rev., D23, N 9, pp. 1895-1910, 1981.
+
+
+\bibitem{helast.4} V. L. Korotkikh, N. I. Starkov, Sov. Journ. of Nucl. Phys., 
+v. 37, N 4, pp. 610-613, 1983; \\
+ N. T. Ermekov, V. L. Korotkikh,
+N. I. Starkov, Sov. Journ. of Nucl. Phys., 33, N 6, pp. 775-777,
+1981.
+
+ 
+\bibitem{helast.5} R.A. Nam, S. I. Nikol'skii, N. I. Starkov et al., 
+Sov. Journ. of Nucl. Phys., v. 26, N 5,  pp. 550-555, 1977.
+
+
+\bibitem{helast.6} G.D. Alkhazov et al., Phys. Rep., 1978, C42, N 2, pp. 89-144;
+\bibitem{helast.7} J. V. Geaga, M. M. Gazzaly, G. J. Jgo et al., 
+  Phys. Rev. Lett. 38, N 22, pp. 1265-1268; \\
+ S. J. Wallace. Y. Alexander,  Phys. Rev. Lett. 38, N 22, pp. 1269-1272.
+
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\section{Bibliography}
+
+\begin{enumerate}
+\item R.J. Glauber, 
+    in "High Energy Physics and Nuclear Structure",
+    edited by S. Devons (Plenum Press, NY 1970).
+
+
+\item R. H. Bassel, W. Wilkin, Phys. Rev., 174, p. 1179, 1968; \\ 
+T. T. Chou, Phys. Rev., 168, 1594, 1968; \\
+M. A. Nasser, M. M. Gazzaly, J. V. Geaga et al., Nucl. Phys.,
+ A312, pp. 209-216, 1978. 
+
+
+\item Bujak, P. Devensky, A. Kuznetsov et al.,
+Phys. Rev., D23, N 9, pp. 1895-1910, 1981.
+
+
+\item V. L. Korotkikh, N. I. Starkov, Sov. Journ. of Nucl. Phys., 
+v. 37, N 4, pp. 610-613, 1983; \\
+ N. T. Ermekov, V. L. Korotkikh,
+N. I. Starkov, Sov. Journ. of Nucl. Phys., 33, N 6, pp. 775-777,
+1981.
+
+ 
+\item R.A. Nam, S. I. Nikol'skii, N. I. Starkov et al., 
+Sov. Journ. of Nucl. Phys., v. 26, N 5,  pp. 550-555, 1977.
+
+
+\item G.D. Alkhazov et al., Phys. Rep., 1978, C42, N 2, pp. 89-144;
+\bibitem{helast.7} J. V. Geaga, M. M. Gazzaly, G. J. Jgo et al., 
+  Phys. Rev. Lett. 38, N 22, pp. 1265-1268; \\
+ S. J. Wallace. Y. Alexander,  Phys. Rev. Lett. 38, N 22, pp. 1269-1272.
+
+\end{enumerate}
+
+\end{htmlonly}
+
+
+\begin{figure}
+  \includegraphics[scale=0.7]{hadronic/he_elastic/p_Be9_1.eps}
+  \caption{Elastic proton scattering on $^9$Be at 1 GeV}
+  \label{helast.fig1}
+\end{figure}
+\begin{figure}
+  \includegraphics[scale=0.7]{hadronic/he_elastic/p_B11_1.eps}
+  \caption{Elastic proton scattering on $^{11}$B at 1 GeV}
+  \label{helast.fig2}
+\end{figure}
+\begin{figure}
+  \includegraphics[scale=0.7]{hadronic/he_elastic/p_C12_1.eps}
+  \caption{Elastic proton scattering on $^{12}$C at 1 GeV}
+  \label{helast.fig3}
+\end{figure}
+\begin{figure}
+  \includegraphics[scale=0.7]{hadronic/he_elastic/p_016_1.eps}
+  \caption{Elastic proton scattering on $^{16}$O at 1 GeV}
+  \label{helast.fig4}
+\end{figure}
+\begin{figure}
+  \includegraphics[scale=0.7]{hadronic/he_elastic/p_Si28_1.eps}
+  \caption{Elastic proton scattering on $^{28}$Si at 1 GeV}
+  \label{helast.fig5}
+\end{figure}
+\begin{figure}
+  \includegraphics[scale=0.7]{hadronic/he_elastic/p_Ca40_1.eps}
+  \caption{Elastic proton scattering on $^{40}$Ca at 1 GeV}
+  \label{helast.fig6}
+\end{figure}
+\begin{figure}
+  \includegraphics[scale=0.7]{hadronic/he_elastic/p_Ni58_1.eps}
+  \caption{Elastic proton scattering on $^{58}$Ni at 1 GeV}
+  \label{helast.fig7}
+\end{figure}
+\begin{figure}
+  \includegraphics[scale=0.7]{hadronic/he_elastic/p_Zr90_1.eps}
+  \caption{Elastic proton scattering on $^{90}$Zr at 1 GeV}
+ \label{helast.fig8}
+\end{figure}
+\begin{figure}
+  \includegraphics[scale=0.7]{hadronic/he_elastic/p_Pb208_1.eps}
+  \caption{Elastic proton scattering on $^{208}$Pb at 1 GeV}
+  \label{helast.fig9}
+\end{figure}
+
+\begin{figure}
+  \includegraphics[scale=0.7]{hadronic/he_elastic/p_He4_1.eps}
+  \caption{Elastic proton scattering on $^4$He at 1 GeV}
+  \label{helast.fig10}
+\end{figure}
+\begin{figure}
+  \includegraphics[scale=0.7]{hadronic/he_elastic/p_He4_45.eps}
+  \caption{Elastic proton scattering on $^4$He at 45 GeV}
+  \label{helast.fig11}
+\end{figure}
+\begin{figure}
+  \includegraphics[scale=0.7]{hadronic/he_elastic/p_He4_301.eps}
+  \caption{Elastic proton scattering on $^4$He at 301 GeV}
+  \label{helast.fig12}
+\end{figure}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/lowEnergyNeutron.tex/1.6/Thu Dec  8 22:37:01 2005//
+D/neutrons////
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/lowEnergyNeutron.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/lowEnergyNeutron.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/lowEnergyNeutron.tex	(revision 1208)
@@ -0,0 +1,26 @@
+\chapter{Low Energy Neutron Interactions}
+\section{Introduction}
+\input{hadronic/lowEnergyNeutron/neutrons/introduction}
+%\section*{Design Model}
+%\input{neutrons/design}
+\section{Physics and Verification}
+\subsection{Inclusive Cross-sections}
+\input{hadronic/lowEnergyNeutron/neutrons/cross_sections}
+\subsection{Elastic Scattering}
+\input{hadronic/lowEnergyNeutron/neutrons/elastic}
+\subsection{Radiative Capture}
+\input{hadronic/lowEnergyNeutron/neutrons/capture}
+\subsection{Fission}
+\input{hadronic/lowEnergyNeutron/neutrons/fission}
+\subsection{Inelastic Scattering}
+\input{hadronic/lowEnergyNeutron/neutrons/inelastic}
+\section{High Precision Models and Low Energy Parameterized Models}
+\input{hadronic/lowEnergyNeutron/neutrons/HPorLEP}
+\section{Summary}
+\input{hadronic/lowEnergyNeutron/neutrons/summary}
+\section{Status of this document}
+
+00.00.00 created by H.P. Wellisch \\
+08.12.05 section on high precision and low energy parameterized model added by T. Koi \\
+
+\input{hadronic/lowEnergyNeutron/neutrons/bibliography}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/CVS/Entries	(revision 1208)
@@ -0,0 +1,11 @@
+D/plots////
+/HPorLEP.tex/1.1/Thu Dec  8 19:18:22 2005//
+/bibliography.tex/1.2/Sat Dec 11 19:01:01 2004//
+/capture.tex/1.2/Thu Nov 14 19:30:13 2002//
+/cross_sections.tex/1.2/Thu Nov 29 18:41:42 2001//
+/design.tex/1.1/Sun Oct 11 09:11:38 1998//
+/elastic.tex/1.4/Thu Nov 14 19:29:57 2002//
+/fission.tex/1.4/Thu Nov 14 19:30:27 2002//
+/inelastic.tex/1.2/Sat Dec  5 12:40:25 1998//
+/introduction.tex/1.2/Thu Nov 29 18:41:42 2001//
+/summary.tex/1.1/Sun Oct 11 09:11:40 1998//
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/HPorLEP.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/HPorLEP.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/HPorLEP.tex	(revision 1208)
@@ -0,0 +1,16 @@
+The high precision neutron models discussed in the previous section
+depend on an evaluated neutron data library (G4NDL) for cross sections,
+angular distributions and final state information.  However the library
+is not complete because there are no data for several key elements.
+In order to use the high precision models, users must develop their
+detectors using only elements which exist in the library.  In order to
+avoid this difficulty, alternative models were developed which use 
+the high precision models when data are found in the library, but 
+use the low energy parameterized neutron models when data are missing.
+
+The alternative models cover the same types of interaction as the 
+originals, that is elastic and inelastic scattering, capture and fission.
+Because the low energy parameterized part of the models is independent
+of G4NDL, results will not be as precise as they would be if the 
+relevant data existed. 
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/bibliography.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/bibliography.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/bibliography.tex	(revision 1208)
@@ -0,0 +1,45 @@
+
+\begin{latexonly}
+
+\begin{thebibliography}{599}
+\bibitem{ENDF} ENDF/B-VI: Cross Section Evaluation Working Group, {\it ENDF/B-VI Summary
+Document}, Report {\bf BNL-NCS-17541 (ENDF-201)} (1991), edited by P.F. Rose,
+National Nuclear Data Center, Brookhave National Laboratory, Upton, NY, USA.
+\bibitem{JENDL} JENDL-3: T. Nakagawa, et al., {\it Japanese Evaluated Nuclear Data
+Library, Version 3, Revision 2, \bf J. Nucl. Sci. Technol. 32}, 1259 (1995).
+\item Jef-2: C. Nordborg, M. Salvatores, {\it Status of the JEF Evaluated Data
+Library}, {\bf Nuclear Data for Science and Technology}, edited by J. K. Dickens
+(American Nuclear Society, LaGrange, IL, 1994).
+\bibitem{CENDL} CENDL-2: Chinese Nuclear Data Center, {\it CENDL-2, The Chinese Evaluated
+Nuclear Data Library for Neutron Reaction Data}, Report {\bf IAEA-NDS-61}, Rev. 3
+(1996), International Atomic Energy Agency, Vienna, Austria.
+\bibitem{Brond} Brond-2.2: A.I Blokhin et al., {\it Current status of Russian Nuclear
+Data Libraries}, {\bf Nuclear Data for Science and Technology}, Volume2, p.695.
+edited by J. K. Dickens (American Nuclear Society, LaGrange, IL, 1994)
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\section{Bibliography}
+
+\begin{enumerate}
+\item ENDF/B-VI: Cross Section Evaluation Working Group, {\it ENDF/B-VI Summary
+Document}, Report {\bf BNL-NCS-17541 (ENDF-201)} (1991), edited by P.F. Rose,
+National Nuclear Data Center, Brookhave National Laboratory, Upton, NY, USA.
+\item JENDL-3: T. Nakagawa, et al., {\it Japanese Evaluated Nuclear Data
+Library, Version 3, Revision 2, \bf J. Nucl. Sci. Technol. 32}, 1259 (1995).
+\item Jef-2: C. Nordborg, M. Salvatores, {\it Status of the JEF Evaluated Data
+Library}, {\bf Nuclear Data for Science and Technology}, edited by J. K. Dickens
+(American Nuclear Society, LaGrange, IL, 1994).
+\item CENDL-2: Chinese Nuclear Data Center, {\it CENDL-2, The Chinese Evaluated
+Nuclear Data Library for Neutron Reaction Data}, Report {\bf IAEA-NDS-61}, Rev. 3
+(1996), International Atomic Energy Agency, Vienna, Austria.
+\item Brond-2.2: A.I Blokhin et al., {\it Current status of Russian Nuclear
+Data Libraries}, {\bf Nuclear Data for Science and Technology}, Volume2, p.695.
+edited by J. K. Dickens (American Nuclear Society, LaGrange, IL, 1994)
+\end{enumerate}
+
+\end{htmlonly}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/capture.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/capture.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/capture.tex	(revision 1208)
@@ -0,0 +1,55 @@
+The final state of radiative capture is described by either photon 
+multiplicities, or photon production cross-sections, and the discrete and 
+continuous contributions to the photon energy spectra, along with the angular 
+distributions of the emitted photons.
+
+For the description of the photon multiplicity there are two supported data
+representations.
+It can either be tabulated as a function of the energy of
+the incoming neutron for each discrete photon as well as the eventual
+continuum contribution, or the full transition probability array is known, and
+used to determine the photon yields. If photon production cross-sections are
+used, only a tabulated form is supported.
+
+The photon energies $E_\gamma$ are associated to the multiplicities or the
+cross-sections for
+all discrete photon emissions. For the continuum contribution, the normalised
+emission probability $f$ is broken down into a weighted 
+sum of normalised distributions $g$.
+$$f\left(E\rightarrow E_\gamma\right)~=~
+\sum_{i}p_i(E)g_i(E\rightarrow E_\gamma)$$
+The weights $p_i$ are tabulated as a function of the energy $E$
+of the incoming neutron. 
+For each neutron energy, the distributions $g$ are tabulated as a function 
+of the photon energy. As in the ENDF/B-VI data formats\cite{ENDF}, several 
+interpolation laws are used to minimise the amount of data, and optimise
+the descriptive power. All data are derived from evaluated data libraries.
+
+The techniques used to describe and sample the angular distributions are 
+identical to the case of elastic scattering, with the difference that there 
+is either a tabulation or a set of legendre coefficients for each photon 
+energy and continuum distribution.
+
+As an example of the results is shown in figure\ref{capture} the energy
+distribution of the emitted photons for the radiative
+capture of 15~MeV neutrons on Uranium ($^{238}$U). 
+Similar comparisons for photon yields, energy and angular distributions have
+been performed for capture on
+${\rm^{238}U}$, 
+${\rm^{235}U}$, 
+${\rm^{23}Na}$, and 
+${\rm^{14}N}$
+for a set of incoming neutron energies.
+In all cases investigated
+the agreement between evaluated data and Monte Carlo is very good.
+
+\begin{figure}[b!] % fig 1
+% \centerline{\epsfig{file=hadronic/lowEnergyNeutron/neutrons/plots/cap92u238.energy.fine.epsi,height=5.5in,width=3.5in}}
+\includegraphics[angle=0,scale=0.6]{hadronic/lowEnergyNeutron/neutrons/plots/cap92u238.energy.fine.epsi}
+\vspace{10pt}
+\caption{Comparison of data and Monte Carlo for photon energy
+distributions for radiative capture of 15~MeV neutrons on Uranium ($^{238}U$). 
+The points are evaluated data, the histogram is
+the Monte Carlo prediction.}
+\label{capture}
+\end{figure}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/cross_sections.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/cross_sections.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/cross_sections.tex	(revision 1208)
@@ -0,0 +1,21 @@
+All cross-section data are taken from the ENDF/B-VI\cite{ENDF} 
+evaluated data library. 
+
+All inclusive cross-sections
+are treated as point-wise cross-sections for reasons of performance. 
+For this purpose, the data from the evaluated data library have been processed, 
+to explicitly include all neutron nuclear resonances in the form of
+point-like cross-sections rather than in the form of parametrisations.
+The resulting data have been transformed into a linearly interpolable format, 
+such that the error due to linear interpolation between adjacent data points 
+is smaller than a few percent.
+
+The inclusive cross-sections comply with the cross-sections data set interface 
+of the {\sc Geant4} hadronic design.
+They are, when registered with the tool-kit at initialisation, used 
+to select the basic process. 
+In the case of fission and inelastic scattering, point-wise
+semi-inclusive cross-sections are also used in order to decide on the active 
+channel
+for an individual interaction. As an example, in the case of fission 
+this could be first, second, third, or forth chance fission.
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/elastic.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/elastic.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/elastic.tex	(revision 1208)
@@ -0,0 +1,54 @@
+The final state of elastic scattering is described by sampling the differential
+scattering cross-sections
+${{\rm d} \sigma \over {\rm d} \Omega}$. 
+Two representations
+are supported
+for the normalised differential cross-section for 
+elastic scattering.
+The first is a tabulation of the differential cross-section, 
+ as a 
+function of the cosine of the scattering angle $\theta$ and the kinetic energy
+$E$ of the incoming
+neutron.
+$${{\rm d} \sigma \over {\rm d} \Omega}~=~
+{{\rm d} \sigma \over {\rm d} \Omega}\left(\cos{\theta,~E}\right)$$
+The tabulations used are normalised by $\sigma/(2\pi)$ so the integral of the
+differential cross-sections over the scattering angle yields unity.
+
+In the second representation, the normalised cross-section are represented
+as a series of legendre polynomials $P_l(\cos{\theta})$, and the 
+legendre coefficients $a_l$ are
+tabulated as a function of the incoming energy of the neutron.
+$${2\pi\over\sigma (E)}{{\rm d} \sigma \over {\rm d} \Omega}\left(\cos{\theta,~E}\right)~=~
+\sum_{l=0}^{n_l} {2l+1\over 2}a_l(E)P_l(\cos{\theta})$$
+
+Describing the details of the sampling procedures is outside the scope
+of this paper.
+
+An example of the result we show in figure \ref{elastic} for the elastic
+scattering of 15~MeV neutrons off Uranium
+a comparison of the simulated angular distribution of the scattered neutrons
+with evaluated data.
+The points are the evaluated data,
+the histogram is the Monte Carlo prediction. 
+
+In order to provide full
+test-coverage for the algorithms, similar tests have been performed for 
+${\rm^{72}Ge}$, 
+${\rm^{126}Sn}$, 
+${\rm^{238}U}$, 
+${\rm^{4}He}$, and
+${\rm^{27}Al}$ for a set of neutron kinetic energies.
+The agreement is very good for all values of scattering angle and neutron 
+energy investigated.
+\begin{figure}[b!] % fig 1
+% \centerline{\epsfig{file=hadronic/lowEnergyNeutron/neutrons/plots/elastic.u238.14mev.costh.epsi,height=5.5in,width=3.5in}}
+\includegraphics[angle=0,scale=0.6]{hadronic/lowEnergyNeutron/neutrons/plots/elastic.u238.14mev.costh.epsi}
+\vspace{10pt}
+\caption{Comparison of data and Monte Carlo for the angular distribution of 
+15~MeV neutrons scattered
+elastically off Uranium ($^{238}U$). The points are evaluated data, and the histogram is
+the Monte Carlo prediction. The lower plot excludes the forward peak, to better show
+the Frenel structure of the angular distribution of the scattered neutron.}
+\label{elastic}
+\end{figure}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/fission.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/fission.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/fission.tex	(revision 1208)
@@ -0,0 +1,84 @@
+For neutron induced fission, we take first chance, second chance, third chance 
+and forth chance fission into account. 
+
+Neutron yields are tabulated
+as a function of both the incoming and outgoing neutron energy.
+The neutron angular distributions are either tabulated, or represented in terms
+of an expansion in legendre polynomials, similar to the angular distributions
+for neutron elastic scattering. In case no data are available on the angular
+distribution, isotropic emission in the centre of mass system of the collision
+is assumed.
+
+There are six different possibilities implemented to represent the neutron 
+energy distributions. The energy distribution of the fission neutrons 
+$f(E\rightarrow E')$ 
+can be tabulated as a normalised 
+function of the incoming and outgoing neutron energy, again using the ENDF/B-VI
+interpolation schemes to minimise data volume and maximise precision. 
+
+The energy distribution can also be represented 
+as a general evaporation spectrum,
+$$f(E\rightarrow E')~=~f\left(E'/\Theta(E)\right).$$
+Here $E$ is the energy of the incoming neutron, $E'$ is the energy of a fission
+neutron, and $\Theta(E)$ is effective temperature used to characterise the
+secondary neutron energy distribution. Both the effective temperature and the
+functional behaviour of the energy distribution are taken from tabulations.
+
+Alternatively energy distribution can be represented 
+as a Maxwell spectrum, $$f(E\rightarrow E')~\propto~\sqrt{E'}{\rm e}^{E'/\Theta(E)},$$
+or a evaporation spectrum
+$$f(E\rightarrow E')~\propto~E'{\rm e}^{E'/\Theta(E)}.$$
+In both these cases, the temperature is tabulated as a function of the incoming
+neutron energy.
+
+The last two options are the energy dependent Watt spectrum, and the Madland
+Nix spectrum. For the energy dependent Watt spectrum, the energy distribution
+is represented as 
+$$f(E\rightarrow E')~\propto~{\rm e}^{-E'/a(E)}\sinh{\sqrt{b(E)E'}}.$$
+Here both the parameters a, and b are used from tabulation as function of the
+incoming neutron energy.
+In the case of the Madland Nix spectrum, the energy distribution is described
+as
+$$f(E\rightarrow E')~=~{1\over 2}\left[g(E',<K_l>)~+~g(E',<K_h>)\right].$$
+Here 
+$$g(E',<K>)~=~ {1\over 3\sqrt{<K>\Theta}}\left[u_2^{3/2}E_1(u_2)-u_1^{3/2}E_1(u_1)
++\gamma(3/2, u_2) - \gamma(3/2, u_1)\right],$$
+$$ u_1(E',<K>) = {(\sqrt{E'}-\sqrt{<K>})^2 \over \Theta},~{\rm and}$$
+$$ u_2(E',<K>) = {(\sqrt{E'}+\sqrt{<K>})^2 \over \Theta}.$$
+Here $K_l$ is the kinetic energy of light fragments and $K_h$ the kinetic energy
+of heavy fragments, $E_1(x)$ is the exponential integral, and $\gamma(x)$ is the
+incomplete gamma function. The mean kinetic energies for light and heavy
+fragments are assumed to be energy independent.
+The temperature $\Theta$ is tabulated as a function of the kinetic
+energy of the incoming neutron.
+
+Fission photons are describes in analogy to capture photons, where evaluated
+data are available. The measured nuclear excitation levels and transition
+probabilities are used otherwise, if available.
+
+As an example of the results is shown in figure\ref{fission} the energy
+distribution of the fission neutrons in third chance fission
+of 15~MeV neutrons on Uranium ($^{238}$U). This distribution contains two
+evaporation spectra and one Watt spectrum.
+Similar comparisons for neutron yields, energy and angular distributions, and
+well as fission photon yields, energy and angular distributions have
+been performed for
+${\rm^{238}U}$, 
+${\rm^{235}U}$, 
+${\rm^{234}U}$, and 
+${\rm^{241}Am}$
+for a set of incoming neutron energies.
+In all cases the agreement between evaluated data and Monte Carlo is very good.
+
+\begin{figure}[b!] % fig 1
+% \centerline{\epsfig{file=hadronic/lowEnergyNeutron/neutrons/plots/fissionu238.tc.15mev.energy.epsi,height=3.5in,width=3.5in}}
+\includegraphics[angle=0,scale=0.6]{hadronic/lowEnergyNeutron/neutrons/plots/fissionu238.tc.15mev.energy.epsi}
+\vspace{10pt}
+\caption{Comparison of data and Monte Carlo for fission neutron energy
+distributions for induced fission by 15~MeV neutrons on Uranium ($^{238}U$). 
+The curve represents evaluated data and the histogram is
+the Monte Carlo prediction.}
+\label{fission}
+\end{figure}
+
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/inelastic.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/inelastic.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/inelastic.tex	(revision 1208)
@@ -0,0 +1,47 @@
+For inelastic scattering, the currently supported final states are (nA$\rightarrow$)
+n$\gamma$s (discrete and continuum), np, nd, nt, n$^3$He, n$\alpha$, nd2$\alpha$,
+nt2$\alpha$, n2p, n2$\alpha$, np$\alpha$, n3$\alpha$, 2n, 2np,
+2nd, 2n$\alpha$, 2n2$\alpha$, nX, 3n, 3np, 3n$\alpha$, 4n, p,
+pd, p$\alpha$, 2p d, d$\alpha$, d2$\alpha$, dt, t, t2$\alpha$,
+$^3$He, $\alpha$, 2$\alpha$, and 3$\alpha$.
+
+The photon distributions are again described as in the case of 
+radiative capture. 
+
+The 
+possibility to describe the angular and energy distributions of the final 
+state particles as in the case of fission is maintained, except that normally
+only the arbitrary tabulation of secondary energies is applicable. 
+
+In addition, we support the possibility to describe the energy angular
+correlations explicitly, in analogy with the ENDF/B-VI data formats. 
+In this case, the production cross-section for
+reaction product n can be written as
+$$\sigma_n(E, E', \cos(\theta))~=~\sigma(E)Y_n(E)p(E, E', \cos(\theta)).$$
+Here $Y_n(E)$ is the product multiplicity, $\sigma(E)$ is the inelastic
+cross-section, and $p(E, E', \cos(\theta))$ is the distribution probability.
+Azimuthal symmetry is assumed.
+
+The representations for the distribution probability supported are iso\-tro\-pic
+emission, discrete two-body kinematics, N-body phase-space distribution, 
+continuum energy-angle distributions, and continuum angle-energy distributions 
+in the laboratory system.
+
+The description of isotropic emission and discrete two-body kinematics is
+possible without further information. In the case of N-body phase-space 
+distribution, tabulated values for the number of particles being treated by the
+law, and the total mass of these particles are used.
+For the continuum energy-angle distributions, several options for representing
+the angular dependence are available. Apart from the already introduced methods
+of expansion in terms of legendre polynomials, and tabulation (here in
+both the incoming neutron energy, and the secondary energy), the Kalbach-Mann
+systematic is available.
+In the case of the continuum angle-energy distributions 
+in the laboratory system, only the tabulated form in incoming neutron energy,
+product energy, and product angle is implemented.
+
+First comparisons for product yields, energy and angular distributions have
+been performed for a set of incoming neutron energies, but full test coverage
+is still to be achieved.
+In all cases currently investigated, the agreement between evaluated data and 
+Monte Carlo is very good.
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/introduction.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/introduction.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/introduction.tex	(revision 1208)
@@ -0,0 +1,16 @@
+The neutron transport class library described here 
+simulates the interactions of neutrons with kinetic energies 
+from thermal energies up to O(20~MeV). The upper limit is set by
+the comprehensive evaluated neutron scattering data libraries that the
+simulation is based on.
+The result is a set of secondary particles that can be passed on to the
+tracking sub-system for further 
+geometric tracking within {\sc Geant4}. 
+
+The interactions of neutrons at low energies are split
+into four parts in analogy to the other hadronic processes in {\sc Geant4}. 
+We consider radiative capture, elastic scattering, fission, and 
+inelastic scattering as separate models. These models
+comply with the interface for use with the {\sc Geant4} hadronic processes
+which enables their transparent use within the {\sc Geant4} tool-kit together with
+all other {\sc Geant4} compliant hadronic shower models.
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/plots/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/plots/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/plots/CVS/Entries	(revision 1208)
@@ -0,0 +1,4 @@
+/cap92u238.energy.fine.epsi/1.1/Sun Oct 11 09:11:41 1998//
+/elastic.u238.14mev.costh.epsi/1.1/Sun Oct 11 09:11:42 1998//
+/fissionu238.tc.15mev.energy.epsi/1.1/Sun Oct 11 09:11:43 1998//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/plots/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/plots/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/plots/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/plots
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/plots/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/plots/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/plots/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/plots/cap92u238.energy.fine.epsi
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/plots/cap92u238.energy.fine.epsi	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/plots/cap92u238.energy.fine.epsi	(revision 1208)
@@ -0,0 +1,1203 @@
+%!PS-Adobe-2.0 EPSF-1.2
+%%Title: cap92u238.energy.fine.ps (Portrait A 4)
+%%Creator: HIGZ Version 1.23/09
+%%CreationDate: 98/08/07   16.15
+%%For:jwellisc jwellisc
+%%Pages: 1
+%%DocumentFonts:
+%%BoundingBox: 27 50 526 762
+%%BeginPreview: 500 711 1 711
+% 000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00
+% 108000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1c8000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 128000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 118000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1f0000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 148000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 158000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1b0000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1f0000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 148000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 158000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1f0000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 040000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 9f8000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 800000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 10000000000400000000003e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 10000000000400000000007f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1f8000000007c000000000ff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000ff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1080000000040000000000ff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 11800000000400000000007f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% fef1e387000400000000007e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 101204448004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 002204484004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1fe3e4284004000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 101024284007f80000000038000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 100814284004000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 111a34484004000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1fb362c58004000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0060c1830004000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0c0000000004000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 150000000004000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 148000000004000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 158000000007c00000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0e0000000004000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 040000000004000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c0000000006c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000064000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000044000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000044000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000044000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000044000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000044000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000044000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00000000044000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000044000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000044000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000044000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00f0c18300040000000000c4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 001122448004000000000084000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 002224484004000000000084000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 006214284004000000000084000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 001214284007f80000000084000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000a14284004000000000384000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 011a244840040000000007e4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 011222448004000000000fe4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00f1e3c78004000000000ff4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000ff4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000ff4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000fe4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c000000007c4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000084000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000086000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000182000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00000000102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00000000102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00000000102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000302000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000203000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00f3e3c78004000000000201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 011204484004000000000201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0013e4284004000000000201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 001024284007f80000000201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 002014284004000000000201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 004014484004000000000201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0082244cc004000000000201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 01f9e3c78004000000000201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00000000201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000601000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00000000401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00000000401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000401800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000400800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000400800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000400800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000400800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000400800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00000000400800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000400800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000400800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000400800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000400800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00f1e3c78004000000000400800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 019224484004000000000400800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 011214284004000000000c00800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 001214284004000000000800800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 002214284007f80000000800800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 004224484004000000000800800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00822448c004000000000800800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 01f9e3c78004000000000800800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000800800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000801c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000803f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000807f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00000000807f80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000807f80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000807f80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000807f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000803e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000800400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000800400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000800400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00000000800400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000800400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000800400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000800400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000800400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000800400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000800400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000800400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00000000800400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000800600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000800200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000001800200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000001000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000001000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000001000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000001000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00000079000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000fd000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000001fd000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000001ff000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0063e3c780040000001ff000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00e20448c0040000001fd000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0023c44840040000000fd000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00232428400400000007d000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 002024284007f8000000d000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00201448400400000003d000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00222448c004000000025000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0023e3c78004000000025000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000025000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000025000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000025000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000027000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00000023800100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000400000002fc00100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000400000002fe00100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000400000007fe00100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000400000005fe00100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000400000005fe00100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000400000004fe00100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000047c00100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00000040000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000040000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000040000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000040000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000c0000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000080000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000080000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000080000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00000080000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000080000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000080000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000080000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000080000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000080000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000080000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000180000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c000001000003f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000001000003f8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000001000007f8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000001000007f8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0061e3c780040000001000007f8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00a2244480040000001000003f8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0022244840040000001000003f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 002214284004000000100000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 002214284007f80000100000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 002214284004000000100000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00222448c004000000100000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 002162c50004000000300000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0020c1830004000000200000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000200000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000200000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000200000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00000200000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000200000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000200000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000700000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000001f80000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000001fc0000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000003fc0000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000003fc0000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00003fc0000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000001fc000000c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000f80000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000400000040000000f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000400000040000001f800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000c0000003f800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000400000080000003fc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000400000080000003fc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c0000080000003f800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000400000080000001f800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000400000080000000f800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000800000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000800000000f000000000000000000000000000000000000000000000003bc000000000000000000000000000000000000000000000200
+% 000000000004000000800000001f80000000000000000000000000000000000000000000000ffe000000000000000000000000000000000000000000000200
+% 000000000004000000800000001fc0000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000200
+% 000000000004000000800000003fc000000000000000000000000000000000000000000000ffffe00000000000000000000000000000000000000000000200
+% 000000000007c00000800000003fc000000000000000000000000000000000000000000001fffff00000000000000000000000000000000000000000000200
+% 000000000004000001800000001fc00000000000000000000000000000000000000000000ffffffe0000000000000000000000000000000000000000000200
+% 000000000004000001000000001f800000000000000000000000000000000000000000001fffffff1f00000000000000000000000000000000000000000200
+% 000000000004000001000000000f000000000000000000000000000000000000000000001fffffff9f80000000000000000000000000000000000000000200
+% 0001e38700040000030000000003000000000000000000000000000000000000000000003ffc07ffffc0000000000000000000000000000000000000000200
+% 000204448004000002000000000100000000000000000000000000000000000000000001ffc003ffffcfc00000000000000000000000000000000000000200
+% 000204484004000002000000000100000000000000000000000000000000000000000003ffc0007fffdfe00000000000000000000000000000000000000200
+% 0003e428400780000f000000000100000000000000000000000000000000000000000003ffc0003f3fdfe00000000000000000000000000000000000000200
+% 000024284007f8001f800000000100000000000000000000000000000000000000000003fc00001e1fffe00000000000000000000000000000000000000200
+% 000014284007e0003f800000000180000000000000000000000000000000000000000003fc000000001ffc0000000000000000000000000000000000000200
+% 000234484007e0003fc0000000008000000000000000000000000000000000000000001ffc000000001ffe0000000000000000000000000000000000000200
+% 000362c58007e0003fc000000000c000000000000000000000000000000000000000003ff8000000000ffe0000000000000000000000000000000000000200
+% 0000c1830007f8003f80000000004000000000000000000000000000000000000000003f800000000001fe0000000000000000000000000000000000000200
+% 000000000007fe001f80000000004000000000000000000000000000000000000000007f800000000000fe0000000000000000000000000000000000000200
+% 000000000007fe000f00000000004000000000000000000000000000000000000000003f800000000000ffc000000000000000000000000000000000000200
+% 000000000007ff00080000000000400000000000000000000000000000000000000001ff800000000000ffe000000000000000000000000000000000000200
+% 000000000007ff00180000000000400000000000000000000000000000000000000003ff8000000000000ff000000000000000000000000000000000000200
+% 000000000006ff00100000000000fc0000000000000000000000000000000000000003fc0000000000000ff000000000000000000000000000000000000200
+% 000000000006fe00100000000001fc0000000000000000000000000000000000000007fc0000000000000ff000000000000000000000000000000000000200
+% 0000000000067c00100000000001fe0000000000000000000000000000000000000007f80000000000000ff800000000000000000000000000000000000200
+% 0000000000060600100000000001fe000000000000000000000000000000000000003ff800000000000007ec00000000000000000000000000000000000200
+% 0000000000060200f00000000001fe000000000000000000000000000000000000007ff000000000000003e400000000000000000000000000000000000200
+% 0000000000060203f00000000001fc00000f00000000000000000000000000000001ffe0000000000000000400000000000000000000000000000000000200
+% 000000000006021ff80000000000fc0001ff80000000000000000000000000000007ff800000000000000005e0000000000000000000000000000000000200
+% 000000000007c23ff800000000000fc003fff8001c00000000000000000000000007ff800000000000000007f0000000000000000000000000000000000200
+% 00000000000603fff800000000000ff807fffc007e0000000000000000000000007fff000000000000000007f8000000000000000000ff8000000000000200
+% 00000000000607fff800000000001ffe07fffc07ff3f0000000c00000000000000ffff000000000000000007f8000000000000000001ffc380000000000200
+% 0000000000060ffff800000000001ffe3fffffffff3f8800000c0000000000000ffff0000000000000000007fbf000000000000001e3ffcfe0000000000200
+% 0000000000040ffff000000000001fffffffffffffffc8c0030c0000000000f03ffff0000000000000000007fff800000000000003f3ffffe0000000000200
+% 0000000000040fff0000000000000fffffffffffff7ffec0c30d0000000001fb3fffe0000000000000000003f7fc80000000f8001fffffdfe3e00000000200
+% 00000000000407fe0000000000000fffff81ffffff7f82dfdf7f8180c63c03fb3ffe00000000000000000001e7fcbc000001fc01bfffffdfe7fc0000000200
+% 00000000000407e000000000000000ffff801ffffe3f83ff51f3e79ff77feffffffe0000000000000000000003fffff0ffe1fc3de7f9ffcfe7f40000000200
+% 000000000007c000000000000000007fff001fffe03f000071833cfc15ffbbff8fe00000000000000000000003fdc7dfeffdffbf67f8ffcffff7f8c07c3e00
+% 00000000000400000000000000000007ff000ffc00000000000000301c07bbfc0fc00000000000000000000001f801818ff7fffc07f00007c7f3f8ccfe7e00
+% 00000000000400000000000000000007e00000780000000000000030180019fc000000000000000000000000000001818c01ff1c0000000007f0ffdefe7e00
+% 00000000000400000000000000000000000000000000000000000000000000f0000000000000000000000000000000000001fc000000000003e001fbfffe00
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f80000000000000001e3fefe00
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fe7e00
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007c3e00
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00000000020000000000100000000000800000000004000000000020000000000200000000001000000000008000000000040000000000200
+% 000000000004000000000020000000000100000000000800000000004000000000020000000000200000000001000000000008000000000040000000000200
+% 000000000004000000000020000000000100000000000800000000004000000000020000000000200000000001000000000008000000000040000000000200
+% 000000000004000000000020000000000100000000000800000000004000000000020000000000200000000001000000000008000000000040000000000200
+% 000000030004020100804020100804020100804020100804020100804020100804020101008040201008040201008040201008040201008040201008040200
+% 000000048007020100804020100804020100804020100804020100804020100804020101008040201008040201008040201008040201008040201008040200
+% 000000084007820100804020100804020100804020100804020100804020100804020101008040201008040201008040201008040201008040201008040200
+% 000000084007820100804020100804020100804020100804020100804020100804020101008040201008040201008040201008040201008040201008040200
+% 000000084007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00
+% 000000084000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000084000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000078000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 00000000000c000000000c0100000000601c0000000301f0000000180100000000c07c000000060080000000303f0000000180600000000c03000000000100
+% 000000000012000000001203000000009026000000048020000000240300000001204000000009036000000048010000000240980000001204800000000300
+% 00000000002100000000220700000001102200000008802000000044030000000220400000001102200000008802000000044088000000220c400000000700
+% 000000000021000000002201000000011002000000088060000000440500000002207800000011038000000088020000000440f80000002208400000000100
+% 000000000021000000002101000000010804000000084010000000420900000002104400000010836000000084040000000420f00000002104c00000000100
+% 00000000002100000000230100000001180800000008c010000000461fc000000230040000001182200000008c040000000461880000002307c00000000100
+% 000000000021000000002201000000011010000000088010000000440100000002200400000011022000000088080000000441080000002200400000000100
+% 00000000001200000000226100000001132000000008993000000044c100000002264c00000011226000000089080000000448880000002244800000000100
+% 00000000001e000000001e6100000000f37e0000000799e00000003cc100000001e6780000000f31c0000000798000000003ccf80000001e67800000000100
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f801d04001c00
+% 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000110c042400
+% 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000110c042400
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001194f24400
+% 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e001195124400
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001155f28400
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010481165018400
+% 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105f1125b18400
+% 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001fed1d04601c00
+% 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006d4000000000
+% 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004d4000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00
+% 108000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 188000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 148000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 128000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 118000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1f0000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 150000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 148000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1d8000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1b0000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1e0000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 150000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 148000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 158000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0e0000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 800000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 9f8000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 100000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1f8000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0001c3870004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000324448004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 108224484004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% ff01e4284004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 100324284007f80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000214284004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0f8214484004003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 100362c58004003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1000c1830004003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1000000000040030000000000000000000e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1f8000000004c030000000000000000000a0180000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c030000000000000000000a0180000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004c030000000000000000000a3980000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1e0000000004c030000000000000000000afd80000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 158000000004c03000000000000000000caff80000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 148000000004c03000000000000000000cbff80000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 140000000004c03000000000000000000cbff80000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0e0000000004c1b600000000000000000cbff80000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c1b600000000000000000cafe80000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004c1b600000000000000000dffe80000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004c1bfe0000000000000000ffbe80000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004c1aff0000000000000000ffbec0000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004e1aff0000000000000018fffff6000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004a1eff0000000000000018bffffe000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004a1cff060000000000001ebfbffe000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007e1cff060000000000001e9fbffe000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007e1cff060000000000001e9fbffe000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007e1cd7860000000000001e9a8ff6000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007f10169e000000000000de9a8ff6000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007ff0169e000000000000de9b8ebe000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007fb016be000000000000de998ebe000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007eb016ae000000000603df998ebe000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007eb016ae000000000603dd9988be000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004bb010ae00000000c6025d9988a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007b3010ae00000000c6025d9988a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007b3010ae00000000c6027d9988a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0003f3c78007b3010ae00000000c60e6d9988a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00002448c00633010ae00000000f60e6d9988a1e00000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00002448400633000ae00000000f64e6d8188a1a00000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00004428400633000ae00000000f64e6d8188a1a00000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000044284007fb000ee00000000f66e6d8180a1a00000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000084484006320006200000000f668618000a1a00000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00008448c006320000200000000f7e8018000a1a18000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000103c78006320000200000000f5a8018000a0218000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004020000200000000f5a8018000a0218000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004020000300000000f5a8018000a0218000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000100000000f5a8018000e0218000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00000100000000f5a8018000c02d8000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000100000000f5b8018000002d8000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000100000018f598018000002d8000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000100000018fd98018000003f8000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000100000018ed9801800000068000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000400000010000001fed9800000000068000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000600000018000001ded8000000000068000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c0000008c00001ded8000000000068000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000700000008c0000dd8d8000000000068000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000700000009c0018dd8d800000000006e000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000070000000d40018dd8d800000000006e000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000070000000740018dd8d800000000006e000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000060000000340018fd8d800000000006e000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000340018b08d8000000000062000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c000000358018b08d8000000000062000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000358018b08d8000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000358018b08d8000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000005ef3db0818000000000003800000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000057f2580818000000000003800000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000005ffa780800000000000003800000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000005fea780800000000000003e00000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00000005fea780800000000000003200000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000005fee600800000000000003300000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000005fec600800000000000003300000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000c1830004000000005fe06008000000000000033c0000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0001224480040000000077e00000000000000000033c0000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0003044840040000000031e00000000000000000031c0000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0002c42840040000000001e00000000000000000001c0000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000324284007f800000001e00000000000000000001c0000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0002142840040000000001800000000000000000001f0000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0002144840040000000001800000000000000000001f0000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0001624480040000000001800000000000000000001f0000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000c18300040000000001800000000000000000001f0000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000001800000000000000000001f1800000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000001800000000000000000001f1800000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c000000001800000000000000000001f1800000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000001800000000000000000001f1800000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000001800000000000000000001f1800000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000001800000000000000000001fd800000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000001800000000000000000001e5800000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000180000000000000000000185c00000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000185400000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00000000000000000000000000000005700000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000005100000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000005100000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000005100000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000007100000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000003100000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000003100000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c000000000000000000000000000000031000c0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000000000000000000000000001300c0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000000000000000000000000001f00c0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000000000000000000000000001f00c0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000000000000000000000000000700c0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000000000000000000000000000780c0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000000000000000000000000000680c0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000000000000000000000000000680c0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c0000000000000000000000000000000006c0c0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000000000000000000000000000640c0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000000000000000000000000000640c0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0003e3c780040000000000000000000000000000000000658c0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00020448c0040000000000000000000000000000000000658c0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0003c44840040000000000000000000000000000000000058c0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0003242840040000000000000000000000000000000000058c0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000024284007f800000000000000000000000000000000078c0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000142840040000000000000000000000000000000000038c0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00022448c0040000000000000000000000000000000000008c0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0003e3c780040000000000000000000000000000000000008c0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000000000000000000000000000008c0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000000000000000000000000000008c0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000000000000000000000000000008e0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c000000000000000000000000000000000008a0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000ca0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000000000000000000000000000004a0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000000000000000000000000000004a0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000000000000000000000000000004a0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000000000000000000000000000004a0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000000000000000000000000000001a3000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000000000000000000000000000001a3000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000023000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000023000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00000000000000000000000000000000000027000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000035100000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000015100000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000015100000000000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000400000000000000000000000000000000000001dd00000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000019d00000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000019d00000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00000000000000000000000000000000000019d00000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000019d00000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000001f00000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000001f00000000000000000000000000000000000000000000000000000000000000000000000200
+% 000043c78004000000000000000000000000000000000000001f00000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000c4484004000000000000000000000000000000000000001f00000000000000000000000000000000000000000000000000000000000000000000000200
+% 000144284004000000000000000000000000000000000000001f00000000000000000000000000000000000000000000000000000000000000000000000200
+% 000144284007f80000000000000000000000000000000000001f00000000000000000000000000000000000000000000000000000000000000000000000200
+% 000244284004000000000000000000000000000000000000001900000000000000000000000000000000000000000000000000000000000000000000000200
+% 0003f4484004000000000000000000000000000000000000001980000000000000000000000000000000000000000000000000000000000000000000000200
+% 0000444cc004000000000000000000000000000000000000001880000000000000000000000000000000000000000000000000000000000000000000000200
+% 000043c78004000000000000000000000000000000000000001880000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000001880000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000001880000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00000000000000000000000000000000000001880000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000001880180000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000000000000000000000000000000018e0180000000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000000000000000000000000000000018f0180000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000001818180000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000001808180000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000001808180000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000001808180000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c0000000000000000000000000000000000000180bf80000000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000ff80000000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000ff80000000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000ff80000000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000ff80000000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000ff80000000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000ff80000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c0000000000000000000000000000000000000000ff800c0000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000df800c0000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000de800c0000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000c6800c0000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000069c0c0000000000000000000000000000000000000000000000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000069c1c0000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000000000000000000000000000000000006bd940000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c000000000000000000000000000000000000000000ad940000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000000000000000000000000000000000000a794c000000000000000000000000000000000000000000000000000000000000000200
+% 0000000000040000000000000000000000000000000000000000000e697c000000000000000000000000000000000000000000000000000000000000000200
+% 0001e3870004000000000000000000000000000000000000000000066b7c000000000000000000000000000000000000000000000000000000000000000200
+% 000024448004000000000000000000000000000000000000000000066a7c000000000000000000000000000000000000000000000000000000000000000200
+% 000044484004000000000000000000000000000000000000000000066a7c000000000000000000000000000000000000000000000000000000000000000200
+% 0000e4284004000000000000000000000000000000000000000000066a7c000000000000000000000000000000000000000000000000000000000000000200
+% 000024284007f80000000000000000000000000000000000000000066a7c000000000000000000000000000000000000000000000000000000000000000200
+% 000014284004000000000000000000000000000000000000000000000a7f000000000000000000000000000000000000000000000000000000000000000200
+% 00023448c004000000000000000000000000000000000000000000000e7f600000000000000000000000000000000000030000000000000000000000000200
+% 000362c58004000000000000000000000000000000000000000000000067600000000000000000000000000000000000030000000000000000000000000200
+% 0000c1830004000000000000000000000000000000000000000000000067600000000000000000000000000000000000030000000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000067600000000000000000000000000000000000030000000000000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000616000000000000000000000000000000000000f8000000000000000000000000200
+% 000000000007c000000000000000000000000000000000000000000000016300000000000000000000000000000000001fc000000000000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000017b00000000000000000000000000000000001fe000000000000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000017b00000000000000000000000000000000001fe000000000000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000017b00000000000000000000000000000000001fe000000000000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000017b00000000000000000000000000000000001fc000000000000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000017b00000000000000000000000000000000000fc000000000000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000017fbc000000000000000000000000000000000f0000000000000000000000000200
+% 000000000007c000000000000000000000000000000000000000000000017cbc000000000000000000000000000000000f0000000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000001fcbc000000000000000000000000000000002f0000000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000030bc000000000000000000000000000000002f6000000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000030bc000000000000000000000000000000002f6000000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000bc00000000000000000000000000000000296000000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000be00000000000000000000000000000000296000000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000ba00000000000000000000000000000000296000000000000000000000000200
+% 000000000007c0000000000000000000000000000000000000000000000000e20000000000000000000000000000000039e000000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000020000000000000000000000000000000030e000000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000300000000000000000000000000000001f0e000000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000106000000000000000000000000000003f8e000000000000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000001c6000000000000000000000000000007f8e000000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000005fb00000000000000000000000000007f8e000000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000005ff00000000000000000000000000007f8f000000000000000000000000200
+% 000000000007c0000000000000000000000000000000000000000000000000005f700000000000000000000000000003f8f000000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000005f700000000000000000000000000003f0f000000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000005f700000000000000000000000000000c0f000000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000005f70000000000000000000000000000080fe00000000000000000000000200
+% 0001e3c7800400000000000000000000000000000000000000000000000000007c100000000000000000000000000000807f00000000000000000000000200
+% 00032448400400000000000000000000000000000000000000000000000000006c120000000000000000000000000000807f00000000000000000000000200
+% 00022428400400000000000000000000000000000000000000000000000000000c120000000000000000000000000000807f00000000000000000000000200
+% 00002428400400000000000000000000000000000000000000000000000000000c1e6000000000000000000000000001807f00000000000000000000000200
+% 000044284007f8000000000000000000000000000000000000000000000000000c1e6000000000000000000000000001007f00000000000000000000000200
+% 0000844840040000000000000000000000000000000000000000000000000000041e6000000000000000000000000001007f00000000000000000000000200
+% 00010448c0040000000000000000000000000000000000000000000000000000041ff000000000000000000000000001003e00000000000000000000000200
+% 0003f3c780040000000000000000000000000000000000000000000000000000041ff000000000000000000000000001000800000000000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000041ff900000000000000000000000003000c00000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000407ff00000000000000000000000002000400000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000407ff00000000000000000000000002000400000000000000000000000200
+% 000000000007c0000000000000000000000000000000000000000000000000000007ff00000000000000000000000002000400000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000003fb80000000000000000000000002000400000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000029b80000000000000000000000002000400000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000029b80000000000000000000000006000400000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000029b81000000000000000000000004000600000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000028381000000000000000000000004000200000000000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000283e1000000000000000000000004000300000000000000000000000200
+% 000000000007c000000000000000000000000000000000000000000000000000000383e100000000000000000000000c000100000000000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000300e1000000000000000000000008000100000000000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000300e100000000000000000000007c000100000000000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000f90000000000000000000000fe000100000000000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000ff6000000000000000000000fe000100000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000f6000000000003c00000001fe000100000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000fe000000000007e00000000fe000100000000000000000000000200
+% 000000000007c0000000000000000000000000000000000000000000000000000000000fb800000000007f00000000fe000100000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000fb80000000000ff00000000fe000100000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000f080000000001ff0000000020000100000000000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000030800000000017f0000000020000100000000000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000d80000000017e00000000e0000100000000000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000780000000013c00000000e0000100000000000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000381800000013600000000e0000100000000000000000000000200
+% 000000000007c0000000000000000000000000000000000000000000000000000000000003818000000d3600000000c0000100000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000003f18000000d07b0000000c00001c0000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000003d18000000f03b0000000c0000040000000000000000000000200
+% 00004183000400000000000000000000000000000000000000000000000000000000000003118000000b03f800000080000040000000000000000000000200
+% 0000c2448004000000000000000000000000000000000000000000000000000000000000001d8000000b03f800000080000040000000000000000000000200
+% 0001444840040000000000000000000000000000000000000000000000000000000000000005c000000803fc00000080000040000000000000000000000200
+% 0000442840040000000000000000000000000000000000000000000000000000000000000005e000000803fc00000f80000060000000000000000000000200
+% 000044284007f800000000000000000000000000000000000000000000000000000000000007f800001803fc00000f000000f0000000000000000000000200
+% 0000442840040000000000000000000000000000000000000000000000000000000000000003f800001003f800001f800001f8000000000000000000000200
+% 0000444840040000000000000000000000000000000000000000000000000000000000000003380001f001f800003fc00003fc000000000000000000000200
+% 0000424480040000000000000000000000000000000000000000000000000000000000000003080003f0001800003fc00003fc000000000000000000000200
+% 00004183000400000000000000000000000000000000000000000000000000000000000000030e0007f8000800003fc00003fc000000000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000020007f8000800003fc00003fc000000000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000020007f8000c00001f800001f8000000000000000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000003203ff8000400007800000038000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000001bffff0000600005800000008000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000ffff000007c000d800000008000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000ffff00000fe003d800000008000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000ffff00000fe007f800000008000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000fffe00001fe067f800000008000000000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000003ffe00000fe06ff800000008000000000000000000000200
+% 000000000007c000000000000000000000000000000000000000000000000000000000000000001ffc00000fed7ff000000008000000000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000001ec000000ffffff000000008000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000000000000000000003fffe000000008000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000000000000000000007fffc000000008000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000000000000000000007ffe0000000008000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000000000000000000007ffe0000000008000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000000000000000000007ffe0000000008000000000000000000000200
+% 000000000007c0000000000000000000000000000000000000000000000000000000000000000000000000003ffc000000000f000000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000000000000000000001e000000000007c00000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007e00000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fe00000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ff00000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ff00000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fff0000000000000000000200
+% 000000000004000000000000040000000000000400000000000004000000000000020000000000000200000000000002000007ff8000020000f00000000200
+% 000000000007c00000000000040000000000000400000000000004000000000000020000000000000200000000000002000003ff81c002003ff80000000200
+% 000000000004000000000000040000000000000400000000000004000000000000020000000000000200000000000002000000ffc7f07ee07ffc0000000200
+% 0000000000040000000000000400000000000004000000000000040000000000000200000000000002000000000000020000007fcffcfff87ffd8000000200
+% 0000000780040080100200200400801001002004008008010020040040080100200200400801002002004008010010020040083ffffffffbffff9fc0100200
+% 00000008c0040080100200200400801001002004008008010020040040080100200200400801002002004008010010020040083ffff1ffffffffbfe0100200
+% 000000084004008010020020040080100100200400800801002004004008010020020040080100200200400801001002004008009ff1fff9fffcfff0100200
+% 0000000840040080100200200400801001002004008008010020040040080100200200400801002002004008010010020040080087f0fff87ff47ff0100200
+% 000000084007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00
+% 000000084000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 00000008c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000078000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 00000000000400000000000080f800000000000e000000000003c07800000000000f800000000001f07c000000000001000000000000207c00000000000f80
+% 00000000001c000000000003808000000000001100000000000220400000000000010000000000002040000000000003000000000000604000000000000800
+% 00000000000400000000000080e000000000001100000000000220b00000000000020000000000004070000000000005000000000000a05800000000000f00
+% 000000000004000000000000809000000000000100000000000060c8000000000003000000000000e048000000000005000000000001206400000000000c80
+% 000000000004000000000000800800000000000200000000000040040000000000008000000000001004000000000009000000000001200200000000000040
+% 00000000000400000000000080040000000000040000000000008004000000000000800000000000100200000000000fc00000000003f80200000000000040
+% 000000000004000000000000808800000000000800000000000100840000000000108000000000021044000000000001000000000000204200000000000840
+% 0000000000040000000000008cf000000000001f000000000003e6f800000000001f000000000003e678000000000001000000000000237c00000000000f80
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f801d0c043c00
+% 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000110c042400
+% 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000118ce44400
+% 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e001195924400
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001195f24400
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010481155018400
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010481165118400
+% 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001fef1d24f19c00
+% 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006d0000000000
+% 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004d4000000000
+%%EndImage
+%%EndPreview
+save
+countdictstack
+mark
+newpath
+/showpage {} def
+%%EndProlog
+%%Page 1 1
+/s {stroke} def /l {lineto} def /m {moveto} def /t {translate} def
+/sw {stringwidth} def /r {rotate} def /rl {roll}  def /R {repeat} def
+/d {rlineto} def /rm {rmoveto} def /gr {grestore} def /f {eofill} def
+/c {setrgbcolor} def /lw {setlinewidth} def /sd {setdash} def
+/cl {closepath} def /sf {scalefont setfont} def /black {0 setgray} def
+/box {m dup 0 exch d exch 0 d 0 exch neg d cl} def
+/NC{systemdict begin initclip end}def/C{NC box clip newpath}def
+/bl {box s} def /bf {box f} def /Y { 0 exch d} def /X { 0 d} def 
+/mp {newpath /y exch def /x exch def} def
+/side {[w .77 mul w .23 mul] .385 w mul sd w 0 l currentpoint t -144 r} def
+/mr {mp x y w2 0 360 arc} def /m24 {mr s} def /m20 {mr f} def
+/mb {mp x y w2 add m w2 neg 0 d 0 w neg d w 0 d 0 w d cl} def
+/mt {mp x y w2 add m w2 neg w neg d w 0 d cl} def
+/m21 {mb f} def /m25 {mb s} def /m22 {mt f} def /m26 {mt s} def
+/m23 {mp x y w2 sub m w2 w d w neg 0 d cl f} def
+/m27 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3  w2 d cl s} def
+/m28 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d
+ 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d
+ 0 w3 neg d w3 neg 0 d cl s } def
+/m29 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t
+ 4 {side} repeat cl fill gr} def
+/m30 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t
+ 5 {side} repeat s gr} def
+/m31 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d
+ x w2 sub y w2 add m w w neg d x w2 sub y w2
+ sub m w w d s} def
+/m2 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d s} def
+/m5 {mp x w2 sub y w2 sub m w w d x w2 sub y w2 add m w w neg d s} def
+/DP {/PT exch def gsave 47.2 47.2 scale PT 1  eq { 16 16 1 [ 16 0 0 16 neg 0 16
+] { < AA AA 55 55 AA AA 55 55 AA AA 55 55 AA AA 55 55 AA AA 55 55 AA AA 55 55
+AA AA 55 55 AA AA 55 55 > } image } if PT 2 eq { 16 16 1 [ 16 0 0 16 neg 0 16
+] { < BB BB EE EE BB BB EE EE BB BB EE EE BB BB EE EE BB BB EE EE BB BB EE EE
+BB BB EE EE BB BB EE EE > } image } if PT 3 eq { 16 16 1 [ 16 0 0 16 neg 0 16
+] { < FF FF BB BB FF FF EE EE FF FF BB BB FF FF EE EE FF FF BB BB FF FF EE EE
+FF FF BB BB FF FF EE EE > } image } if PT 4 eq { 16 16 1 [ 16 0 0 16 neg 0 16
+] { < DF DF BF BF 7F 7F FE FE FD FD FB FB F7 F7 EF EF DF DF BF BF 7F 7F FE FE
+FD FD FB FB F7 F7 EF EF > } image } if PT 5 eq { 16 16 1 [ 16 0 0 16 neg 0 16
+] { < 7F 7F BF B F DF DF EF EF F7 F7 FB FB FD FD FE FE 7F 7F BF BF DF DF EF
+EF F7 F7 FB FB FD FD FE FE > } image } if PT 6 eq { 16 16 1 [ 16 0 0 16 neg 0
+16 ] { < BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB
+BB BB BB BB BB BB BB BB BB > } image } if PT 7 eq { 16 16 1 [ 16 0 0 16 neg 0
+16 ] { < FF FF FF FF FF FF 00 00 FF FF FF FF FF FF 00 00 FF FF FF FF FF FF 00
+00 FF FF FF FF FF FF 00 00 > } image } if PT 8 eq { 16 16 1 [ 16 0 0 16 neg 0
+16 ] { < EE EE 47 47 83 83 C5 C5 EE EE 5C 5C 38 38 74 74 EE EE 47 47 83 83 C5
+C5 EE EE 5C 5C 38 38 74 74 > } image } if PT 9 eq { 16 16 1 [ 16 0 0 16 neg 0
+16 ] { < EF EF EF EF D7 D7 38 38 FE FE FE FE 7D 7D 83 83 EF EF EF EF D7 D7 38
+38  FE FE FE FE 7D 7D 83 83 > } image } if PT 10 eq { 16 16 1 [ 16 0 0 16 neg
+0 16 ] { <  EF EF EF EF EF EF 00 00 FE FE FE FE FE FE 00 00 EF EF EF EF EF EF
+00 00 FE FE FE FE FE FE 00 00 > } image } if PT 11 eq { 16 16 1 [ 16 0 0 16
+neg 0 16 ] { < F7 F7 B6 B6 D5 D5 E3 E3 D5 D5 B6 B6 F7 F7 FF FF 7F 7F 6B 6B 5D
+5D 3E 3E 5D 5D 6B 6B 7F 7F FF FF > } image } if PT 12 eq { 16 16 1 [ 16 0 0
+16 neg 0 16 ] { < E3 E3 DD DD BE BE BE BE BE BE DD DD E3 E3 FF FF 3E 3E DD DD
+EB EB EB EB EB EB DD DD 3E 3E FF FF > } image } if PT 13 eq { 16 16 1 [ 16 0
+0 16 neg 0 16 ] { <  FE FE 7D 7D BB BB D7 D7 EF EF D7 D7 BB BB 7D 7D FE FE 7D
+7D BB BB D7 D7 EF EF D7 D7 BB BB 7D 7D > } image } if PT 14 eq { 16 16 1 [ 16
+0 0 16 neg 0 16 ] { < 00 00 EE EF EE EF EE EF 0E E0 EE EE EE EE EE EE 00 EE
+FE EE FE EE FE EE 00 00 FE EF FE EF FE EF > } image } if PT 15 eq { 16 16 1 [
+16 0 0 16 neg 0 16 ] { < DD DD AA AA DD DD FF FF 77 77 AA AA 77 77 FF FF DD
+DD AA AA DD DD FF FF 77 77 AA AA 77 77 FF FF > } image } if PT 16 eq { 16 16
+1 [ 16 0 0 16 neg 0 16 ] { <  F1 F1 EE EE 1F 1F FF FF F1 F1 EE EE 1F 1F FF FF
+F1 F1 EE EE 1F 1F FF FF F1 F1 EE EE 1F 1F FF FF > } image } if PT 17 eq { 16
+16 1 [ 16 0 0 16 neg 0 16 ] { <  EE EE DD DD BB BB FF FF EE EE DD DD BB BB FF
+ FF EE EE DD DD BB BB FF FF EE EE DD DD BB BB FF FF > } image } if PT 18 eq {
+16 16 1 [ 16 0 0 16 neg 0 16 ] { <  BB BB DD DD EE EE FF FF BB BB DD DD EE EE
+FF FF BB BB DD DD EE EE FF FF BB BB DD DD EE EE FF FF > } image } if PT 19 eq
+{ 16 16 1 [ 16 0 0 16 neg 0 16 ] { < 1F FC 67 F3 7B EF BD DE BD DE DE BD E6
+B3 F8 0F E6 B3 DE BD BD DE BD DE 7B EF 67 F3 1F FC 7F FF > } image } if PT
+20 eq { 16 16 1 [ 16 0 0 16 neg 0 16 ] { < DD DD EE EE EE EE EE EE DD DD BB
+BB BB BB BB BB DD DD EE EE EE EE EE EE DD DD BB BB BB BB BB BB > } image }
+if PT 21 eq { 16 16 1 [ 16 0 0 16 neg 0 16 ] { < 0E 0E EF EF EF EF EF EF E0
+E0 FE FE FE FE FE FE 0E 0E EF EF EF EF EF EF E0 E0 FE FE FE FE FE FE > }
+image }  if PT 22 eq { 16 16 1 [ 16 0 0 16 neg 0 16 ] { < 70 70 F7 F7 F7 F7 F7
+F7 07 07 7F 7F 7F 7F 7F 7F 70 70 F7 F7 F7 F7 F7 F7 07 07 7F 7F 7F 7F 7F 7F >
+} image } if PT 23 eq  { 16 16 1 [ 16 0 0 16 neg 0 16 ] { < AA AA 55 55 A9 A9
+D1 D1 E1 E1 D1 D1 A9 A9 55 55 AA AA 55 55 A9 A9 D1 D1 E1 E1 D1 D1 A9 A9 55 55
+> } image } if PT 24 eq { 16 16 1 [ 16 0 0 16 neg 0 16 ] { < FF FE FF FC EA
+A8 D5 54 EA A8 D5 54 E8 28 D4 54 E8 E8 D4 D4 E8 EA 54 D5 A8 EA 54 D5 00 C0 00
+80 > } image } if PT 25 eq {  16 16 1 [ 16 0 0 16 neg 0 16 ] { < FF FE FF FC
+FF F8 FF F0 F0 00 F0 00 F0 20 F0 60 F0 E0 F1 E0 F3 E0 F0 00 E0 00 C0 00 80 00
+00 00 > } image } if gr } def /FA { /PT exch def gsave clip 0 0 translate 1 1
+54 { 1 sub 47.2 mul /Xcurr exch def 1 1 74 { 1 sub 47.2 mul /Ycurr exch def
+gsave Xcurr Ycurr translate PT DP gr } for } for gr newpath } def
+/reencdict 24 dict def /ReEncode {reencdict begin /nco&na exch def
+/nfnam exch def /basefontname exch def /basefontdict basefontname findfont def
+/newfont basefontdict maxlength dict def basefontdict {exch dup /FID ne
+{dup /Encoding eq {exch dup length array copy newfont 3 1 roll put} {exch
+newfont 3 1 roll put} ifelse} {pop pop} ifelse } forall newfont
+/FontName nfnam put nco&na aload pop nco&na length 2 idiv {newfont
+/Encoding get 3 1 roll put} repeat nfnam newfont definefont pop end } def
+/accvec [ 176 /agrave 181 /Agrave 190 /acircumflex 192 /Acircumflex
+201 /adieresis 204 /Adieresis 209 /ccedilla 210 /Ccedilla 211 /eacute
+212 /Eacute 213 /egrave 214 /Egrave 215 /ecircumflex 216 /Ecircumflex
+217 /edieresis 218 /Edieresis 219 /icircumflex 220 /Icircumflex
+221 /idieresis 222 /Idieresis 223 /ntilde 224 /Ntilde 226 /ocircumflex
+228 /Ocircumflex 229 /odieresis 230 /Odieresis 231 /ucircumflex 236 /Ucircumflex
+237 /udieresis 238 /Udieresis 239 /aring 242 /Aring 243 /ydieresis
+244 /Ydieresis 246 /aacute 247 /Aacute 252 /ugrave 253 /Ugrave] def
+/Times-Roman /Times-Roman accvec ReEncode
+/Times-Italic /Times-Italic accvec ReEncode
+/Times-Bold /Times-Bold accvec ReEncode
+/Times-BoldItalic /Times-BoldItalic accvec ReEncode
+/Helvetica /Helvetica accvec ReEncode
+/Helvetica-Oblique /Helvetica-Oblique accvec ReEncode
+/Helvetica-Bold /Helvetica-Bold accvec ReEncode
+/Helvetica-BoldOblique /Helvetica-BoldOblique  accvec ReEncode
+/Courier /Courier accvec ReEncode
+/Courier-Oblique /Courier-Oblique accvec ReEncode
+/Courier-Bold /Courier-Bold accvec ReEncode
+/Courier-BoldOblique /Courier-BoldOblique accvec ReEncode
+/oshow {gsave [] 0 sd true charpath stroke gr} def
+/stwn { /fs exch def /fn exch def /text exch def fn findfont fs sf
+ text sw pop xs add /xs exch def} def
+/stwb { /fs exch def /fn exch def /nbas exch def /textf exch def
+textf length /tlen exch def nbas tlen gt {/nbas tlen def} if
+fn findfont fs sf textf dup length nbas sub nbas getinterval sw
+pop neg xs add /xs exch def} def
+/accspe [ 65 /plusminus 66 /bar 67 /existential 68 /universal
+69 /exclam 70 /numbersign 71 /greater 72 /question 73 /integral
+74 /colon 75 /semicolon 76 /less 77 /bracketleft 78 /bracketright
+79 /greaterequal 80 /braceleft 81 /braceright 82 /radical
+83 /spade 84 /heart 85 /diamond 86 /club 87 /lessequal
+88 /multiply 89 /percent 90 /infinity 48 /circlemultiply 49 /circleplus
+50 /emptyset 51 /lozenge 52 /bullet 53 /arrowright 54 /arrowup
+55 /arrowleft 56 /arrowdown 57 /arrowboth 48 /degree 44 /comma 43 /plus
+ 45 /angle 42 /angleleft 47 /divide 61 /notequal 40 /equivalence 41 /second
+ 97 /approxequal 98 /congruent 99 /perpendicular 100 /partialdiff 101 /florin
+ 102 /intersection 103 /union 104 /propersuperset 105 /reflexsuperset
+ 106 /notsubset 107 /propersubset 108 /reflexsubset 109 /element 110 /notelement
+ 111 /gradient 112 /logicaland 113 /logicalor 114 /arrowdblboth
+ 115 /arrowdblleft 116 /arrowdblup 117 /arrowdblright 118 /arrowdbldown
+ 119 /ampersand 120 /omega1 121 /similar 122 /aleph ] def
+/Symbol /Special accspe ReEncode
+/Zone {/iy exch def /ix exch def  ix 1 sub  2224 mul  1 iy sub  3144
+ mul t} def
+ gsave  20 28 t .25 .25 scale  gsave 
+ gsave 
+ 1 1 Zone
+ gsave 0 0 t black [] 0 sd 1 lw 1799 1254 212 1678 bl 1799 1254 212 1678 C 212
+ 1678 m 26 Y 3 X 60 Y 4 X 48 Y 4 X 13 Y 3 X -13 Y 4 X 18 Y 3 X -15 Y 4 X -12 Y 4
+ X -9 Y 3 X -5 Y 4 X -16 Y 3 X -13 Y 4 X -6 Y 4 X 10 Y 3 X -9 Y 4 X 7 Y 3 X 11 Y
+ 4 X -7 Y 4 X 3 Y 3 X 2 Y 4 X -8 Y 3 X 3 Y 4 X -5 Y 3 X 20 Y 4 X 5 Y 4 X 21 Y 3
+ X 20 Y 4 X -1 Y 3 X 30 Y 4 X 11 Y 4 X 24 Y 3 X 24 Y 4 X 28 Y 3 X 45 Y 4 X 46 Y
+ 4 X 43 Y 3 X 39 Y 4 X 38 Y 3 X 2 Y 4 X 14 Y 4 X -33 Y 3 X -5 Y 4 X -6 Y 3 X 86
+ Y 4 X 114 Y 4 X 97 Y 3 X 85 Y 4 X 92 Y 3 X 57 Y 4 X 50 Y 4 X -4 Y 3 X 101 Y 4 X
+ 3 Y 3 X -99 Y 4 X -104 Y 4 X -104 Y 3 X -122 Y 4 X -95 Y 3 X -63 Y 4 X -67 Y 4
+ X -33 Y 3 X -75 Y 4 X -36 Y 3 X -14 Y 4 X -8 Y 4 X -36 Y 3 X -21 Y 4 X -11 Y 3
+ X -16 Y 4 X -8 Y 4 X -8 Y 3 X 3 Y 4 X -29 Y 3 X -8 Y 4 X -17 Y 4 X -8 Y 3 X -26
+ Y 4 X -17 Y 7 X -26 Y 4 X 20 Y 3 X -16 Y 4 X 6 Y 3 X -10 Y 8 X 2 Y 3 X -1 Y 4 X
+ -7 Y 3 X 1 Y 4 X -3 Y 4 X -4 Y 3 X 3 Y 11 X -3 Y 4 X 2 Y 3 X -5 Y 4 X 8 Y 3 X 6
+ Y 4 X -6 Y 4 X 16 Y 3 X s 575 1768 m -4 Y 4 X -6 Y 3 X 1 Y 4 X 12 Y 4 X -11 Y 3
+ X 5 Y 4 X -7 Y 3 X 9 Y 4 X -8 Y 4 X 1 Y 3 X 6 Y 4 X -4 Y 3 X -2 Y 4 X -5 Y 4 X
+ -5 Y 3 X 14 Y 4 X -15 Y 3 X -1 Y 4 X 1 Y 4 X 2 Y 3 X -6 Y 4 X -1 Y 3 X 10 Y 4 X
+ -4 Y 4 X -2 Y 3 X -2 Y 4 X 9 Y 3 X 9 Y 4 X -4 Y 4 X -3 Y 3 X 5 Y 4 X -7 Y 3 X 2
+ Y 4 X -6 Y 4 X 7 Y 10 X -2 Y 4 X 6 Y 4 X -3 Y 3 X -3 Y 4 X -9 Y 3 X 9 Y 4 X -6
+ Y 4 X 12 Y 3 X -5 Y 4 X -4 Y 3 X 2 Y 4 X -1 Y 4 X 9 Y 3 X -10 Y 4 X 3 Y 3 X -8
+ Y 4 X -2 Y 4 X 12 Y 3 X -10 Y 4 X -2 Y 3 X 3 Y 4 X -1 Y 4 X 4 Y 7 X -6 Y 3 X 4
+ Y 4 X 3 Y 4 X -12 Y 3 X 3 Y 4 X 8 Y 3 X -2 Y 4 X -1 Y 4 X 2 Y 3 X 6 Y 4 X -13 Y
+ 3 X 3 Y 4 X 3 Y 4 X -3 Y 3 X 5 Y 4 X 13 Y 3 X -13 Y 4 X -8 Y 4 X 9 Y 3 X -3 Y 4
+ X -4 Y 3 X -1 Y 4 X -3 Y 4 X 1 Y 3 X 1 Y 4 X 1 Y 3 X 1 Y 4 X 3 Y 4 X -1 Y 3 X
+ -4 Y 4 X -1 Y 3 X -8 Y 4 X 10 Y 4 X -3 Y 3 X 6 Y 4 X -1 Y 3 X -1 Y 4 X 5 Y 4 X
+ -6 Y 3 X 3 Y 4 X s 939 1748 m -3 Y 3 X -10 Y 4 X 3 Y 4 X 13 Y 3 X -4 Y 4 X -6 Y
+ 3 X 1 Y 4 X 3 Y 4 X -2 Y 3 X 6 Y 4 X -5 Y 3 X 6 Y 4 X -13 Y 4 X 9 Y 3 X -7 Y 4
+ X 6 Y 3 X 2 Y 4 X -7 Y 4 X 2 Y 3 X -7 Y 4 X 13 Y 11 X -3 Y 3 X -1 Y 4 X -2 Y 3
+ X 3 Y 4 X 1 Y 7 X -13 Y 4 X 9 Y 3 X 14 Y 4 X -13 Y 4 X 4 Y 3 X -2 Y 4 X 14 Y 3
+ X -11 Y 4 X -10 Y 4 X 6 Y 3 X 7 Y 4 X -3 Y 3 X 4 Y 4 X 3 Y 4 X 8 Y 3 X -6 Y 4 X
+ 6 Y 3 X -14 Y 4 X 12 Y 4 X -1 Y 3 X 6 Y 4 X -1 Y 3 X 1 Y 4 X -1 Y 4 X 1 Y 3 X 3
+ Y 4 X 3 Y 3 X 12 Y 4 X -2 Y 4 X 5 Y 7 X 14 Y 3 X -5 Y 4 X 12 Y 3 X -7 Y 4 X -2
+ Y 4 X 27 Y 3 X -4 Y 4 X -2 Y 3 X 8 Y 4 X -1 Y 4 X 3 Y 3 X 14 Y 4 X 4 Y 3 X -16
+ Y 4 X 27 Y 4 X -7 Y 3 X 6 Y 4 X 4 Y 3 X -18 Y 4 X 16 Y 4 X 10 Y 3 X -5 Y 4 X 15
+ Y 3 X -15 Y 4 X 9 Y 4 X -3 Y 3 X -12 Y 4 X 22 Y 3 X -13 Y 4 X 8 Y 4 X -1 Y 3 X
+ 3 Y 4 X -6 Y 3 X -1 Y 4 X -13 Y 4 X -6 Y 3 X -2 Y 4 X 3 Y 3 X 4 Y 4 X -10 Y 7 X
+ s 1302 1847 m 5 Y 4 X 9 Y 3 X -10 Y 4 X 2 Y 4 X -7 Y 3 X 6 Y 4 X 11 Y 3 X -13 Y
+ 4 X -10 Y 4 X 24 Y 3 X -13 Y 4 X -1 Y 3 X 4 Y 4 X -17 Y 4 X 2 Y 3 X -1 Y 4 X 5
+ Y 3 X -6 Y 4 X 14 Y 4 X -10 Y 3 X -17 Y 4 X 11 Y 3 X -1 Y 4 X -19 Y 4 X 7 Y 3 X
+ -12 Y 4 X -4 Y 3 X 5 Y 4 X -5 Y 4 X -10 Y 3 X 2 Y 4 X -11 Y 3 X 7 Y 4 X -1 Y 4
+ X -4 Y 3 X -24 Y 4 X 2 Y 3 X -4 Y 4 X -3 Y 4 X 2 Y 3 X -1 Y 4 X -2 Y 7 X 1 Y 4
+ X -9 Y 3 X 12 Y 4 X -10 Y 3 X -7 Y 4 X -1 Y 4 X -1 Y 3 X 13 Y 4 X -13 Y 3 X 4 Y
+ 11 X -4 Y 4 X 9 Y 3 X -12 Y 4 X 6 Y 4 X 3 Y 3 X -3 Y 4 X 4 Y 3 X -9 Y 4 X 5 Y 4
+ X -11 Y 3 X 11 Y 4 X -3 Y 3 X 2 Y 4 X 1 Y 4 X -5 Y 7 X 1 Y 3 X 1 Y 4 X -11 Y 4
+ X 15 Y 3 X -6 Y 4 X -1 Y 3 X 6 Y 4 X -2 Y 4 X -12 Y 3 X 15 Y 4 X -11 Y 3 X 9 Y
+ 4 X -7 Y 4 X 9 Y 3 X -9 Y 4 X 3 Y 3 X 2 Y 4 X -2 Y 4 X -3 Y 10 X 2 Y 4 X -5 Y 4
+ X 5 Y 3 X 2 Y 4 X -1 Y 3 X -8 Y 4 X 9 Y 4 X -7 Y 3 X 8 Y 4 X s 1666 1744 m -6 Y
+ 7 X 9 Y 4 X -11 Y 3 X 9 Y 4 X -9 Y 3 X 7 Y 4 X -1 Y 4 X 9 Y 3 X -3 Y 4 X -5 Y 3
+ X 7 Y 4 X 5 Y 4 X -3 Y 3 X -13 Y 4 X 6 Y 3 X 9 Y 4 X -3 Y 7 X 7 Y 4 X -7 Y 3 X
+ -7 Y 4 X 7 Y 4 X 3 Y 3 X -3 Y 7 X 4 Y 4 X -3 Y 4 X 8 Y 3 X -5 Y 4 X -1 Y 3 X 5
+ Y 4 X -11 Y 4 X 9 Y 3 X -7 Y 4 X 7 Y 3 X -14 Y 4 X 17 Y 7 X -6 Y 4 X -12 Y 3 X
+ 7 Y 4 X 6 Y 4 X -5 Y 3 X 3 Y 4 X -8 Y 7 X -4 Y 4 X 3 Y 3 X -1 Y 15 X -8 Y 3 X
+ 14 Y 4 X -11 Y 3 X 3 Y 4 X 10 Y 4 X -1 Y 3 X -6 Y 4 X -7 Y 3 X 7 Y 4 X -8 Y 4 X
+ 5 Y 3 X -8 Y 4 X 5 Y 3 X 3 Y 4 X -7 Y 7 X 1 Y 4 X -10 Y 3 X 16 Y 4 X -14 Y 4 X
+ 5 Y 3 X 1 Y 4 X -1 Y 3 X 6 Y 4 X -4 Y 4 X -9 Y 3 X 6 Y 4 X 7 Y 3 X -13 Y 4 X 6
+ Y 7 X -8 Y 4 X 9 Y 3 X 4 Y 4 X -6 Y 7 X -5 Y 4 X -2 Y 3 X 7 Y 4 X -6 Y 4 X 4 Y
+ 3 X -8 Y 4 X 6 Y 3 X -48 Y s NC 212 1678 m 1254 Y s 243 1678 m -31 X s 228 1710
+ m -16 X s 228 1742 m -16 X s 228 1774 m -16 X s 228 1806 m -16 X s 243 1838 m
+ -31 X s 228 1871 m -16 X s 228 1903 m -16 X s 228 1935 m -16 X s 228 1967 m -16
+ X s 243 1999 m -31 X s 228 2031 m -16 X s 228 2063 m -16 X s 228 2096 m -16 X s
+ 228 2128 m -16 X s 243 2160 m -31 X s 228 2192 m -16 X s 228 2224 m -16 X s 228
+ 2256 m -16 X s 228 2288 m -16 X s 243 2320 m -31 X s 228 2353 m -16 X s 228
+ 2385 m -16 X s 228 2417 m -16 X s 228 2449 m -16 X s 243 2481 m -31 X s 228
+ 2513 m -16 X s 228 2545 m -16 X s 228 2577 m -16 X s 228 2610 m -16 X s 243
+ 2642 m -31 X s 228 2674 m -16 X s 228 2706 m -16 X s 228 2738 m -16 X s 228
+ 2770 m -16 X s 243 2802 m -31 X s 243 2802 m -31 X s 228 2834 m -16 X s 228
+ 2867 m -16 X s 228 2899 m -16 X s 228 2931 m -16 X s 154 1693 m -4 -2 d -3 -4 d
+ -2 -7 d -4 Y 2 -7 d 3 -5 d 4 -1 d 3 X 4 1 d 3 5 d 1 7 d 4 Y -1 7 d -3 4 d -4 2
+ d -3 X cl s 106 1853 m -14 X -2 -12 d 2 1 d 4 1 d 4 X 4 -1 d 3 -3 d 2 -4 d -3 Y
+ -2 -4 d -3 -3 d -4 -1 d -4 X -4 1 d -2 2 d -1 2 d s 126 1853 m -5 -1 d -2 -4 d
+ -2 -7 d -5 Y 2 -7 d 2 -4 d 5 -1 d 2 X 5 1 d 2 4 d 2 7 d 5 Y -2 7 d -2 4 d -5 1
+ d -2 X cl s 154 1853 m -4 -1 d -3 -4 d -2 -7 d -5 Y 2 -7 d 3 -4 d 4 -1 d 3 X 4
+ 1 d 3 4 d 1 7 d 5 Y -1 7 d -3 4 d -4 1 d -3 X cl s 65 2008 m 3 2 d 4 4 d -30 Y
+ s 97 2014 m -4 -1 d -3 -5 d -1 -7 d -4 Y 1 -7 d 3 -4 d 4 -2 d 3 X 4 2 d 3 4 d 2
+ 7 d 4 Y -2 7 d -3 5 d -4 1 d -3 X cl s 126 2014 m -5 -1 d -2 -5 d -2 -7 d -4 Y
+ 2 -7 d 2 -4 d 5 -2 d 2 X 5 2 d 2 4 d 2 7 d 4 Y -2 7 d -2 5 d -5 1 d -2 X cl s
+ 154 2014 m -4 -1 d -3 -5 d -2 -7 d -4 Y 2 -7 d 3 -4 d 4 -2 d 3 X 4 2 d 3 4 d 1
+ 7 d 4 Y -1 7 d -3 5 d -4 1 d -3 X cl s 65 2169 m 3 1 d 4 5 d -30 Y s 106 2175 m
+ -14 X -2 -13 d 2 1 d 4 2 d 4 X 4 -2 d 3 -3 d 2 -4 d -3 Y -2 -4 d -3 -3 d -4 -1
+ d -4 X -4 1 d -2 2 d -1 3 d s 126 2175 m -5 -2 d -2 -4 d -2 -7 d -4 Y 2 -7 d 2
+ -5 d 5 -1 d 2 X 5 1 d 2 5 d 2 7 d 4 Y -2 7 d -2 4 d -5 2 d -2 X cl s 154 2175 m
+ -4 -2 d -3 -4 d -2 -7 d -4 Y 2 -7 d 3 -5 d 4 -1 d 3 X 4 1 d 3 5 d 1 7 d 4 Y -1
+ 7 d -3 4 d -4 2 d -3 X cl s 62 2328 m 2 Y 2 2 d 1 2 d 3 1 d 5 X 3 -1 d 2 -2 d 1
+ -2 d -3 Y -1 -3 d -3 -4 d -14 -14 d 19 X s 97 2335 m -4 -1 d -3 -4 d -1 -7 d -5
+ Y 1 -7 d 3 -4 d 4 -1 d 3 X 4 1 d 3 4 d 2 7 d 5 Y -2 7 d -3 4 d -4 1 d -3 X cl s
+ 126 2335 m -5 -1 d -2 -4 d -2 -7 d -5 Y 2 -7 d 2 -4 d 5 -1 d 2 X 5 1 d 2 4 d 2
+ 7 d 5 Y -2 7 d -2 4 d -5 1 d -2 X cl s 154 2335 m -4 -1 d -3 -4 d -2 -7 d -5 Y
+ 2 -7 d 3 -4 d 4 -1 d 3 X 4 1 d 3 4 d 1 7 d 5 Y -1 7 d -3 4 d -4 1 d -3 X cl s
+ 62 2489 m 1 Y 2 3 d 1 1 d 3 2 d 5 X 3 -2 d 2 -1 d 1 -3 d -3 Y -1 -2 d -3 -5 d
+ -14 -14 d 19 X s 106 2496 m -14 X -2 -13 d 2 2 d 4 1 d 4 X 4 -1 d 3 -3 d 2 -4 d
+ -3 Y -2 -5 d -3 -2 d -4 -2 d -4 X -4 2 d -2 1 d -1 3 d s 126 2496 m -5 -2 d -2
+ -4 d -2 -7 d -4 Y 2 -7 d 2 -4 d 5 -2 d 2 X 5 2 d 2 4 d 2 7 d 4 Y -2 7 d -2 4 d
+ -5 2 d -2 X cl s 154 2496 m -4 -2 d -3 -4 d -2 -7 d -4 Y 2 -7 d 3 -4 d 4 -2 d 3
+ X 4 2 d 3 4 d 1 7 d 4 Y -1 7 d -3 4 d -4 2 d -3 X cl s 64 2657 m 15 X -8 -12 d
+ 4 X 3 -1 d 1 -2 d 1 -4 d -3 Y -1 -4 d -3 -3 d -4 -1 d -4 X -4 1 d -2 2 d -1 3 d
+ s 97 2657 m -4 -2 d -3 -4 d -1 -7 d -4 Y 1 -7 d 3 -5 d 4 -1 d 3 X 4 1 d 3 5 d 2
+ 7 d 4 Y -2 7 d -3 4 d -4 2 d -3 X cl s 126 2657 m -5 -2 d -2 -4 d -2 -7 d -4 Y
+ 2 -7 d 2 -5 d 5 -1 d 2 X 5 1 d 2 5 d 2 7 d 4 Y -2 7 d -2 4 d -5 2 d -2 X cl s
+ 154 2657 m -4 -2 d -3 -4 d -2 -7 d -4 Y 2 -7 d 3 -5 d 4 -1 d 3 X 4 1 d 3 5 d 1
+ 7 d 4 Y -1 7 d -3 4 d -4 2 d -3 X cl s 64 2817 m 15 X -8 -11 d 4 X 3 -2 d 1 -1
+ d 1 -4 d -3 Y -1 -4 d -3 -3 d -4 -1 d -4 X -4 1 d -2 1 d -1 3 d s 106 2817 m
+ -14 X -2 -13 d 2 2 d 4 1 d 4 X 4 -1 d 3 -3 d 2 -4 d -3 Y -2 -4 d -3 -3 d -4 -1
+ d -4 X -4 1 d -2 1 d -1 3 d s 126 2817 m -5 -1 d -2 -4 d -2 -8 d -4 Y 2 -7 d 2
+ -4 d 5 -1 d 2 X 5 1 d 2 4 d 2 7 d 4 Y -2 8 d -2 4 d -5 1 d -2 X cl s 154 2817 m
+ -4 -1 d -3 -4 d -2 -8 d -4 Y 2 -7 d 3 -4 d 4 -1 d 3 X 4 1 d 3 4 d 1 7 d 4 Y -1
+ 8 d -3 4 d -4 1 d -3 X cl s 212 1678 m 1799 X s 212 1710 m -32 Y s 248 1694 m
+ -16 Y s 284 1694 m -16 Y s 320 1694 m -16 Y s 356 1694 m -16 Y s 392 1710 m -32
+ Y s 428 1694 m -16 Y s 464 1694 m -16 Y s 500 1694 m -16 Y s 536 1694 m -16 Y s
+ 572 1710 m -32 Y s 608 1694 m -16 Y s 644 1694 m -16 Y s 680 1694 m -16 Y s 716
+ 1694 m -16 Y s 752 1710 m -32 Y s 788 1694 m -16 Y s 824 1694 m -16 Y s 860
+ 1694 m -16 Y s 896 1694 m -16 Y s 932 1710 m -32 Y s 968 1694 m -16 Y s 1004
+ 1694 m -16 Y s 1040 1694 m -16 Y s 1076 1694 m -16 Y s 1112 1710 m -32 Y s 1148
+ 1694 m -16 Y s 1183 1694 m -16 Y s 1219 1694 m -16 Y s 1255 1694 m -16 Y s 1291
+ 1710 m -32 Y s 1327 1694 m -16 Y s 1363 1694 m -16 Y s 1399 1694 m -16 Y s 1435
+ 1694 m -16 Y s 1471 1710 m -32 Y s 1507 1694 m -16 Y s 1543 1694 m -16 Y s 1579
+ 1694 m -16 Y s 1615 1694 m -16 Y s 1651 1710 m -32 Y s 1687 1694 m -16 Y s 1723
+ 1694 m -16 Y s 1759 1694 m -16 Y s 1795 1694 m -16 Y s 1831 1710 m -32 Y s 1867
+ 1694 m -16 Y s 1903 1694 m -16 Y s 1939 1694 m -16 Y s 1975 1694 m -16 Y s 2011
+ 1710 m -32 Y s 210 1657 m -4 -2 d -3 -4 d -1 -7 d -4 Y 1 -7 d 3 -5 d 4 -1 d 3 X
+ 4 1 d 3 5 d 2 7 d 4 Y -2 7 d -3 4 d -4 2 d -3 X cl s 369 1657 m -4 -2 d -3 -4 d
+ -1 -7 d -4 Y 1 -7 d 3 -5 d 4 -1 d 3 X 4 1 d 3 5 d 1 7 d 4 Y -1 7 d -3 4 d -4 2
+ d -3 X cl s 392 1630 m -2 -2 d 2 -1 d 1 1 d -1 2 d cl s 407 1651 m 3 1 d 4 5 d
+ -30 Y s 549 1657 m -4 -2 d -3 -4 d -1 -7 d -4 Y 1 -7 d 3 -5 d 4 -1 d 3 X 4 1 d
+ 3 5 d 1 7 d 4 Y -1 7 d -3 4 d -4 2 d -3 X cl s 572 1630 m -2 -2 d 2 -1 d 1 1 d
+ -1 2 d cl s 584 1650 m 1 Y 2 3 d 1 1 d 3 2 d 6 X 2 -2 d 2 -1 d 1 -3 d -3 Y -1
+ -3 d -3 -4 d -14 -14 d 20 X s 729 1657 m -4 -2 d -3 -4 d -1 -7 d -4 Y 1 -7 d 3
+ -5 d 4 -1 d 3 X 4 1 d 3 5 d 1 7 d 4 Y -1 7 d -3 4 d -4 2 d -3 X cl s 752 1630 m
+ -2 -2 d 2 -1 d 1 1 d -1 2 d cl s 766 1657 m 15 X -8 -12 d 4 X 3 -1 d 1 -1 d 2
+ -5 d -2 Y -2 -5 d -3 -3 d -4 -1 d -4 X -4 1 d -2 2 d -1 3 d s 909 1657 m -4 -2
+ d -3 -4 d -1 -7 d -4 Y 1 -7 d 3 -5 d 4 -1 d 3 X 4 1 d 3 5 d 1 7 d 4 Y -1 7 d -3
+ 4 d -4 2 d -3 X cl s 932 1630 m -2 -2 d 2 -1 d 1 1 d -1 2 d cl s 957 1657 m -14
+ -20 d 21 X s 957 1657 m -30 Y s 1089 1657 m -4 -2 d -3 -4 d -2 -7 d -4 Y 2 -7 d
+ 3 -5 d 4 -1 d 3 X 4 1 d 3 5 d 1 7 d 4 Y -1 7 d -3 4 d -4 2 d -3 X cl s 1112
+ 1630 m -2 -2 d 2 -1 d 1 1 d -1 2 d cl s 1140 1657 m -14 X -2 -13 d 2 1 d 4 2 d
+ 4 X 4 -2 d 3 -2 d 2 -5 d -2 Y -2 -5 d -3 -3 d -4 -1 d -4 X -4 1 d -2 2 d -1 3 d
+ s 1269 1657 m -4 -2 d -3 -4 d -2 -7 d -4 Y 2 -7 d 3 -5 d 4 -1 d 3 X 4 1 d 3 5 d
+ 1 7 d 4 Y -1 7 d -3 4 d -4 2 d -3 X cl s 1291 1630 m -1 -2 d 1 -1 d 2 1 d -2 2
+ d cl s 1321 1652 m -1 3 d -5 2 d -2 X -5 -2 d -2 -4 d -2 -7 d -7 Y 2 -6 d 2 -3
+ d 5 -1 d 1 X 4 1 d 3 3 d 2 5 d 1 Y -2 4 d -3 3 d -4 1 d -1 X -5 -1 d -2 -3 d -2
+ -4 d s 1449 1657 m -4 -2 d -3 -4 d -2 -7 d -4 Y 2 -7 d 3 -5 d 4 -1 d 3 X 4 1 d
+ 3 5 d 1 7 d 4 Y -1 7 d -3 4 d -4 2 d -3 X cl s 1471 1630 m -1 -2 d 1 -1 d 2 1 d
+ -2 2 d cl s 1502 1657 m -14 -30 d s 1483 1657 m 19 X s 1629 1657 m -4 -2 d -3
+ -4 d -2 -7 d -4 Y 2 -7 d 3 -5 d 4 -1 d 3 X 4 1 d 3 5 d 1 7 d 4 Y -1 7 d -3 4 d
+ -4 2 d -3 X cl s 1651 1630 m -1 -2 d 1 -1 d 2 1 d -2 2 d cl s 1670 1657 m -4 -2
+ d -2 -3 d -2 Y 2 -3 d 2 -2 d 6 -1 d 4 -1 d 3 -3 d 1 -3 d -4 Y -1 -3 d -1 -2 d
+ -5 -1 d -5 X -4 1 d -2 2 d -1 3 d 4 Y 1 3 d 3 3 d 4 1 d 6 1 d 3 2 d 1 3 d 2 Y
+ -1 3 d -5 2 d -5 X cl s 1809 1657 m -4 -2 d -3 -4 d -2 -7 d -4 Y 2 -7 d 3 -5 d
+ 4 -1 d 3 X 4 1 d 3 5 d 1 7 d 4 Y -1 7 d -3 4 d -4 2 d -3 X cl s 1831 1630 m -1
+ -2 d 1 -1 d 2 1 d -2 2 d cl s 1861 1647 m -1 -4 d -3 -3 d -4 -2 d -2 X -4 2 d
+ -3 3 d -1 4 d 1 Y 1 4 d 3 3 d 4 2 d 2 X 4 -2 d 3 -3 d 1 -5 d -7 Y -1 -7 d -3 -5
+ d -4 -1 d -3 X -5 1 d -1 3 d s 2006 1651 m 2 1 d 5 5 d -30 Y s 1799 1254 212
+ 1678 C /w 30 def /w2 {w 2 div} def /w3 {w 3 div} def 212 1678 221 1828 239 1807
+ 257 1757 275 1763 293 1771 311 1828 329 1939 347 2176 365 2111 383 2623 401
+ 2829 419 2283 437 2018 455 1908 473 1872 491 1790 509 1761 527 1755 545 1746
+ 563 1750 581 1765 599 1768 617 1762 635 1750 653 1748 671 1753 689 1759 725
+ 1754 1031 1744 1085 1750 1103 1757 1121 1767 1139 1777 1157 1796 1174 1817 1192
+ 1838 1210 1854 1228 1865 1246 1871 1264 1872 1282 1862 1300 1852 1336 1849 1372
+ 1838 1390 1821 1408 1800 1444 1764 1480 1749 1642 1740 1732 1749 1768 1756 1786
+ 1756 1822 1751 1858 1742 1966 1730 2002 1730 2056 1736 2326 1738 2686 1728 3496
+ 1738 3586 1739 3676 1737 4756 1706 5655 1693 6375 1683 6465 1683 6555 1685 6735
+ 1689 6825 1686 6915 1683 7005 1682 7095 1682 7185 1683 7275 1685 7365 1689 7455
+ 1696 7545 1700 7635 1694 7725 1685 7815 1680 7905 1679 8085 1678 8265 1678 8355
+ 1678 8535 1679 8625 1679 8805 1678 8850 1678 89 { m20} R 2223 3144 0 0 C 1838
+ 1593 m -29 Y s 1838 1593 m 18 X s 1838 1579 m 11 X s 1838 1564 m 18 X s 1862
+ 1571 m -15 Y s 1869 1566 m -7 -7 d s 1865 1562 m 4 -6 d s 1873 1571 m 1 -1 d 2
+ Y -1 -1 d cl s 1874 1566 m -10 Y s 1879 1566 m -10 Y s 1879 1563 m 2 2 d 2 1 d
+ 2 X 1 -1 d 1 -2 d -7 Y s 1893 1558 m -2 Y 1 1 d -1 1 d cl s 1901 1593 m -29 Y s
+ 1903 1593 m -29 Y s 1901 1593 m 8 X s 1901 1564 m 8 X s 1917 1593 m -29 Y s
+ 1917 1593 m 12 -29 d s 1940 1593 m -11 -29 d s 1940 1593 m -29 Y s 1950 1575 m
+ 17 X 3 Y -2 2 d -1 2 d -3 1 d -4 X -3 -1 d -3 -3 d -1 -4 d -3 Y 1 -4 d 3 -3 d 3
+ -1 d 4 X 3 1 d 3 3 d s 1972 1593 m 12 -29 d s 1995 1593 m -11 -29 d s 2005 1593
+ m -29 Y s 2007 1593 m -29 Y s 1999 1593 m 8 X s 1999 1564 m 8 X s 52 2764 m 17
+ Y -3 X -2 -1 d -2 -2 d -1 -2 d -5 Y 1 -2 d 3 -3 d 4 -2 d 3 X 4 2 d 3 3 d 2 2 d
+ 5 Y -2 2 d -3 3 d s 44 2791 m 20 X s 49 2791 m -4 4 d -1 3 d 4 Y 1 3 d 4 2 d 15
+ X s 34 2819 m 24 X 4 2 d 2 3 d 2 Y s 44 2815 m 10 Y s 44 2835 m 20 X s 52 2835
+ m -4 1 d -3 3 d -1 3 d 4 Y s 34 2852 m 1 1 d -1 2 d -2 -2 d 2 -1 d cl s 44 2853
+ m 20 X s 52 2863 m 17 Y -3 X -2 -1 d -2 -2 d -1 -3 d -4 Y 1 -3 d 3 -2 d 4 -2 d
+ 3 X 4 2 d 3 2 d 2 3 d 4 Y -2 3 d -3 3 d s 48 2904 m -3 -1 d -1 -5 d -4 Y 1 -4 d
+ 3 -1 d 3 1 d 1 3 d 2 7 d 1 3 d 3 1 d 1 X 3 -1 d 2 -5 d -4 Y -2 -4 d -3 -1 d s
+ 44 2928 m 20 -15 d s 44 2913 m 15 Y s 64 2913 m 15 Y s 1799 1254 212 1678 C NC
+ 1799 1254 212 212 bl 1799 1254 212 212 C 212 212 m 964 Y 3 X 17 Y 4 X 37 Y 4 X
+ -9 Y 3 X 105 Y 4 X -47 Y 3 X -86 Y 4 X 42 Y 4 X 16 Y 3 X -1 Y 4 X -62 Y 3 X 19
+ Y 4 X 92 Y 4 X -39 Y 3 X 15 Y 4 X 66 Y 3 X -56 Y 4 X -28 Y 4 X 40 Y 3 X -10 Y 4
+ X -69 Y 3 X 43 Y 4 X 21 Y 3 X -45 Y 4 X 47 Y 4 X -27 Y 3 X -52 Y 4 X -1 Y 3 X
+ 44 Y 4 X 6 Y 4 X -44 Y 3 X -5 Y 4 X 67 Y 3 X -85 Y 4 X -34 Y 4 X -14 Y 3 X -6 Y
+ 4 X -20 Y 3 X 31 Y 4 X 5 Y 4 X -38 Y 3 X -34 Y 4 X -3 Y 3 X 49 Y 4 X -13 Y 4 X
+ -1 Y 3 X -19 Y 4 X -70 Y 3 X 91 Y 4 X -44 Y 4 X 44 Y 3 X -2 Y 4 X -5 Y 3 X -18
+ Y 4 X 6 Y 4 X 18 Y 3 X 33 Y 4 X -34 Y 3 X -26 Y 4 X 20 Y 4 X 7 Y 3 X -16 Y 4 X
+ 52 Y 3 X -16 Y 4 X -20 Y 4 X 61 Y 3 X -40 Y 4 X 27 Y 7 X -28 Y 4 X -46 Y 3 X
+ 150 Y 4 X -85 Y 3 X 69 Y 4 X -50 Y 4 X -54 Y 3 X 127 Y 4 X -44 Y 3 X -91 Y 4 X
+ 94 Y 4 X 15 Y 3 X -8 Y 4 X -34 Y 3 X -13 Y 4 X 63 Y 4 X -15 Y 3 X 33 Y 4 X -4 Y
+ 3 X 18 Y 4 X -54 Y 4 X 7 Y 3 X 19 Y 4 X 51 Y 3 X -73 Y 4 X 66 Y 4 X -30 Y 3 X
+ -80 Y 4 X 150 Y 3 X -33 Y 4 X 9 Y 4 X 4 Y 3 X s 575 1291 m -73 Y 4 X 114 Y 3 X
+ -1 Y 4 X -80 Y 4 X -44 Y 3 X 87 Y 4 X -3 Y 3 X -30 Y 4 X 24 Y 4 X -75 Y 3 X 82
+ Y 4 X -48 Y 3 X 54 Y 4 X 30 Y 4 X -151 Y 3 X 4 Y 4 X 76 Y 3 X -20 Y 4 X 15 Y 4
+ X -15 Y 3 X 42 Y 4 X -46 Y 3 X -35 Y 4 X 19 Y 4 X 1 Y 3 X -52 Y 7 X 14 Y 4 X
+ -56 Y 4 X 23 Y 3 X 20 Y 4 X 31 Y 3 X -67 Y 4 X 10 Y 4 X -67 Y 3 X 35 Y 4 X -12
+ Y 3 X 3 Y 4 X -23 Y 4 X 15 Y 3 X -76 Y 4 X 66 Y 3 X -59 Y 4 X 39 Y 4 X -35 Y 7
+ X -31 Y 3 X -14 Y 4 X 64 Y 4 X -21 Y 3 X -7 Y 4 X -9 Y 7 X -37 Y 4 X 1 Y 3 X
+ -37 Y 4 X 42 Y 3 X -16 Y 4 X -10 Y 4 X -24 Y 3 X -4 Y 4 X -5 Y 3 X 20 Y 4 X -48
+ Y 4 X -19 Y 3 X -3 Y 4 X -18 Y 3 X 131 Y 4 X -83 Y 4 X -61 Y 3 X -4 Y 4 X -27 Y
+ 3 X 17 Y 4 X 13 Y 4 X 18 Y 3 X -134 Y 4 X 103 Y 3 X -43 Y 4 X 22 Y 4 X 31 Y 3 X
+ -60 Y 4 X -30 Y 3 X 3 Y 4 X -3 Y 4 X -6 Y 3 X -54 Y 4 X 19 Y 3 X -4 Y 4 X -13 Y
+ 4 X 28 Y 3 X -8 Y 4 X -37 Y 3 X 21 Y 4 X 61 Y 4 X -94 Y 3 X -18 Y 4 X 31 Y 3 X
+ 9 Y 4 X -13 Y 4 X 14 Y 3 X -40 Y 4 X s 939 640 m 23 Y 3 X 7 Y 4 X -41 Y 4 X 3 Y
+ 3 X 21 Y 4 X 21 Y 3 X 19 Y 4 X -80 Y 4 X 16 Y 3 X 28 Y 4 X -25 Y 3 X 31 Y 4 X
+ -44 Y 4 X 17 Y 3 X -56 Y 4 X -1 Y 3 X 53 Y 4 X -60 Y 4 X 30 Y 3 X 4 Y 4 X -27 Y
+ 3 X 6 Y 4 X 27 Y 4 X -26 Y 3 X -31 Y 7 X 33 Y 4 X -29 Y 4 X 13 Y 3 X 13 Y 4 X
+ -22 Y 3 X -17 Y 4 X -8 Y 7 X -32 Y 4 X 6 Y 3 X 23 Y 4 X -41 Y 4 X -23 Y 3 X 71
+ Y 4 X -28 Y 3 X 22 Y 4 X -7 Y 4 X -14 Y 3 X 18 Y 4 X -54 Y 3 X 19 Y 4 X -16 Y 4
+ X 26 Y 3 X -78 Y 4 X 10 Y 3 X 37 Y 4 X 21 Y 4 X -14 Y 3 X -32 Y 4 X 16 Y 3 X 7
+ Y 4 X -35 Y 4 X 39 Y 3 X -17 Y 4 X -41 Y 3 X 23 Y 4 X -22 Y 3 X 6 Y 4 X -26 Y 4
+ X 22 Y 3 X -27 Y 4 X 55 Y 3 X -47 Y 4 X 10 Y 4 X 9 Y 3 X -19 Y 4 X 7 Y 3 X -19
+ Y 4 X -3 Y 4 X -20 Y 3 X 25 Y 4 X -12 Y 3 X -9 Y 4 X 3 Y 4 X 3 Y 3 X -12 Y 7 X
+ -15 Y 4 X -16 Y 4 X 50 Y 3 X -37 Y 4 X 14 Y 3 X -7 Y 4 X -11 Y 4 X 7 Y 3 X -15
+ Y 4 X -1 Y 3 X -10 Y 4 X -3 Y 4 X -17 Y 3 X 11 Y 4 X 8 Y 3 X -13 Y 4 X -17 Y 4
+ X 27 Y 3 X s 1302 323 m -30 Y 4 X 28 Y 3 X -8 Y 4 X -17 Y 4 X 8 Y 3 X -3 Y 4 X
+ -2 Y 3 X 19 Y 4 X 2 Y 4 X 20 Y 3 X -29 Y 4 X 17 Y 3 X 20 Y 4 X -7 Y 7 X 15 Y 4
+ X 11 Y 3 X 17 Y 4 X -9 Y 4 X -7 Y 3 X 36 Y 7 X -2 Y 4 X -19 Y 4 X 21 Y 3 X 8 Y
+ 4 X -32 Y 3 X 7 Y 4 X -17 Y 4 X 10 Y 3 X -26 Y 4 X 13 Y 3 X 11 Y 4 X -35 Y 4 X
+ -13 Y 3 X -6 Y 4 X -17 Y 7 X 7 Y 4 X -15 Y 7 X -12 Y 3 X 2 Y 4 X 11 Y 4 X -9 Y
+ 3 X -8 Y 4 X 16 Y 3 X -8 Y 4 X -22 Y 4 X 38 Y 3 X -10 Y 4 X -14 Y 3 X 13 Y 4 X
+ -23 Y 4 X 34 Y 3 X -13 Y 4 X 10 Y 3 X 13 Y 4 X 10 Y 4 X 1 Y 3 X -25 Y 4 X 54 Y
+ 3 X -11 Y 4 X 12 Y 7 X 37 Y 4 X -21 Y 3 X 13 Y 4 X 23 Y 4 X 2 Y 3 X 28 Y 4 X 14
+ Y 3 X 24 Y 4 X 21 Y 4 X 19 Y 3 X 14 Y 4 X 47 Y 3 X -58 Y 4 X 34 Y 4 X 61 Y 3 X
+ -47 Y 4 X 60 Y 3 X -73 Y 4 X -41 Y 4 X 60 Y 3 X -67 Y 4 X 21 Y 3 X -28 Y 4 X
+ -24 Y 4 X -28 Y 3 X -5 Y 4 X -67 Y 7 X -19 Y 4 X -32 Y 3 X 2 Y 4 X -37 Y 3 X
+ -19 Y 4 X -9 Y 4 X 7 Y 3 X -3 Y 4 X s 1666 267 m -31 Y 3 X 18 Y 4 X -12 Y 4 X 1
+ Y 3 X -8 Y 4 X -6 Y 3 X -2 Y 4 X 6 Y 4 X 10 Y 3 X -10 Y 4 X -11 Y 3 X 3 Y 4 X
+ -5 Y 4 X 10 Y 3 X 2 Y 4 X -12 Y 3 X 5 Y 4 X -6 Y 4 X 4 Y 3 X -4 Y 7 X 6 Y 4 X 5
+ Y 4 X -4 Y 7 X -6 Y 3 X -3 Y 4 X 3 Y 4 X -1 Y 3 X 4 Y 4 X 3 Y 3 X 4 Y 4 X -7 Y
+ 4 X -1 Y 7 X -5 Y 3 X 6 Y 4 X -4 Y 4 X -4 Y 3 X 2 Y 4 X 6 Y 7 X 3 Y 4 X -9 Y 3
+ X 8 Y 4 X 2 Y 3 X -8 Y 4 X 7 Y 4 X -6 Y 3 X 6 Y 4 X 3 Y 3 X -2 Y 4 X -1 Y 4 X 1
+ Y 7 X 6 Y 3 X -11 Y 4 X 1 Y 4 X -1 Y 3 X 5 Y 4 X -5 Y 3 X 7 Y 4 X -10 Y 4 X 1 Y
+ 3 X 2 Y 4 X -3 Y 7 X -6 Y 4 X 2 Y 3 X -2 Y 7 X -1 Y 90 X s NC 212 212 m 1254 Y
+ s 243 212 m -31 X s 228 240 m -16 X s 228 269 m -16 X s 228 297 m -16 X s 228
+ 326 m -16 X s 243 354 m -31 X s 228 383 m -16 X s 228 411 m -16 X s 228 440 m
+ -16 X s 228 468 m -16 X s 243 496 m -31 X s 228 525 m -16 X s 228 553 m -16 X s
+ 228 582 m -16 X s 228 610 m -16 X s 243 639 m -31 X s 228 667 m -16 X s 228 696
+ m -16 X s 228 724 m -16 X s 228 753 m -16 X s 243 781 m -31 X s 228 810 m -16 X
+ s 228 838 m -16 X s 228 867 m -16 X s 228 895 m -16 X s 243 924 m -31 X s 228
+ 952 m -16 X s 228 981 m -16 X s 228 1009 m -16 X s 228 1037 m -16 X s 243 1066
+ m -31 X s 228 1094 m -16 X s 228 1123 m -16 X s 228 1151 m -16 X s 228 1180 m
+ -16 X s 243 1208 m -31 X s 228 1237 m -16 X s 228 1265 m -16 X s 228 1294 m -16
+ X s 228 1322 m -16 X s 243 1351 m -31 X s 243 1351 m -31 X s 228 1379 m -16 X s
+ 228 1408 m -16 X s 228 1436 m -16 X s 228 1465 m -16 X s 154 227 m -4 -2 d -3
+ -4 d -2 -7 d -4 Y 2 -7 d 3 -5 d 4 -1 d 3 X 4 1 d 3 5 d 1 7 d 4 Y -1 7 d -3 4 d
+ -4 2 d -3 X cl s 93 363 m 3 2 d 4 4 d -30 Y s 126 369 m -5 -2 d -2 -4 d -2 -7 d
+ -4 Y 2 -7 d 2 -4 d 5 -2 d 2 X 5 2 d 2 4 d 2 7 d 4 Y -2 7 d -2 4 d -5 2 d -2 X
+ cl s 154 369 m -4 -2 d -3 -4 d -2 -7 d -4 Y 2 -7 d 3 -4 d 4 -2 d 3 X 4 2 d 3 4
+ d 1 7 d 4 Y -1 7 d -3 4 d -4 2 d -3 X cl s 90 504 m 2 Y 2 2 d 1 2 d 3 1 d 6 X 2
+ -1 d 2 -2 d 1 -2 d -3 Y -1 -3 d -3 -4 d -14 -14 d 20 X s 126 511 m -5 -1 d -2
+ -4 d -2 -7 d -5 Y 2 -7 d 2 -4 d 5 -1 d 2 X 5 1 d 2 4 d 2 7 d 5 Y -2 7 d -2 4 d
+ -5 1 d -2 X cl s 154 511 m -4 -1 d -3 -4 d -2 -7 d -5 Y 2 -7 d 3 -4 d 4 -1 d 3
+ X 4 1 d 3 4 d 1 7 d 5 Y -1 7 d -3 4 d -4 1 d -3 X cl s 92 654 m 15 X -8 -12 d 4
+ X 3 -1 d 1 -1 d 2 -5 d -3 Y -2 -4 d -3 -3 d -4 -1 d -4 X -4 1 d -2 2 d -1 3 d s
+ 126 654 m -5 -2 d -2 -4 d -2 -7 d -4 Y 2 -7 d 2 -5 d 5 -1 d 2 X 5 1 d 2 5 d 2 7
+ d 4 Y -2 7 d -2 4 d -5 2 d -2 X cl s 154 654 m -4 -2 d -3 -4 d -2 -7 d -4 Y 2
+ -7 d 3 -5 d 4 -1 d 3 X 4 1 d 3 5 d 1 7 d 4 Y -1 7 d -3 4 d -4 2 d -3 X cl s 103
+ 796 m -14 -20 d 21 X s 103 796 m -30 Y s 126 796 m -5 -1 d -2 -5 d -2 -7 d -4 Y
+ 2 -7 d 2 -4 d 5 -2 d 2 X 5 2 d 2 4 d 2 7 d 4 Y -2 7 d -2 5 d -5 1 d -2 X cl s
+ 154 796 m -4 -1 d -3 -5 d -2 -7 d -4 Y 2 -7 d 3 -4 d 4 -2 d 3 X 4 2 d 3 4 d 1 7
+ d 4 Y -1 7 d -3 5 d -4 1 d -3 X cl s 106 938 m -14 X -2 -12 d 2 1 d 4 2 d 4 X 4
+ -2 d 3 -3 d 2 -4 d -3 Y -2 -4 d -3 -3 d -4 -1 d -4 X -4 1 d -2 2 d -1 2 d s 126
+ 938 m -5 -1 d -2 -4 d -2 -7 d -5 Y 2 -7 d 2 -4 d 5 -1 d 2 X 5 1 d 2 4 d 2 7 d 5
+ Y -2 7 d -2 4 d -5 1 d -2 X cl s 154 938 m -4 -1 d -3 -4 d -2 -7 d -5 Y 2 -7 d
+ 3 -4 d 4 -1 d 3 X 4 1 d 3 4 d 1 7 d 5 Y -1 7 d -3 4 d -4 1 d -3 X cl s 107 1077
+ m -1 2 d -4 2 d -3 X -4 -2 d -3 -4 d -2 -7 d -7 Y 2 -6 d 3 -2 d 4 -2 d 1 X 4 2
+ d 3 2 d 2 5 d 1 Y -2 4 d -3 3 d -4 1 d -1 X -4 -1 d -3 -3 d -2 -4 d s 126 1081
+ m -5 -2 d -2 -4 d -2 -7 d -4 Y 2 -7 d 2 -4 d 5 -2 d 2 X 5 2 d 2 4 d 2 7 d 4 Y
+ -2 7 d -2 4 d -5 2 d -2 X cl s 154 1081 m -4 -2 d -3 -4 d -2 -7 d -4 Y 2 -7 d 3
+ -4 d 4 -2 d 3 X 4 2 d 3 4 d 1 7 d 4 Y -1 7 d -3 4 d -4 2 d -3 X cl s 109 1223 m
+ -14 -30 d s 89 1223 m 20 X s 126 1223 m -5 -1 d -2 -5 d -2 -7 d -4 Y 2 -7 d 2
+ -4 d 5 -2 d 2 X 5 2 d 2 4 d 2 7 d 4 Y -2 7 d -2 5 d -5 1 d -2 X cl s 154 1223 m
+ -4 -1 d -3 -5 d -2 -7 d -4 Y 2 -7 d 3 -4 d 4 -2 d 3 X 4 2 d 3 4 d 1 7 d 4 Y -1
+ 7 d -3 5 d -4 1 d -3 X cl s 96 1365 m -4 -1 d -2 -3 d -3 Y 2 -2 d 3 -2 d 5 -1 d
+ 4 -2 d 3 -2 d 2 -3 d -5 Y -2 -2 d -1 -2 d -4 -1 d -6 X -4 1 d -2 2 d -1 2 d 5 Y
+ 1 3 d 3 2 d 4 2 d 6 1 d 3 2 d 1 2 d 3 Y -1 3 d -4 1 d -6 X cl s 126 1365 m -5
+ -1 d -2 -4 d -2 -7 d -4 Y 2 -8 d 2 -4 d 5 -1 d 2 X 5 1 d 2 4 d 2 8 d 4 Y -2 7 d
+ -2 4 d -5 1 d -2 X cl s 154 1365 m -4 -1 d -3 -4 d -2 -7 d -4 Y 2 -8 d 3 -4 d 4
+ -1 d 3 X 4 1 d 3 4 d 1 8 d 4 Y -1 7 d -3 4 d -4 1 d -3 X cl s 212 212 m 1799 X
+ s 212 243 m -31 Y s 257 228 m -16 Y s 302 228 m -16 Y s 347 228 m -16 Y s 392
+ 228 m -16 Y s 437 243 m -31 Y s 482 228 m -16 Y s 527 228 m -16 Y s 572 228 m
+ -16 Y s 617 228 m -16 Y s 662 243 m -31 Y s 707 228 m -16 Y s 752 228 m -16 Y s
+ 797 228 m -16 Y s 842 228 m -16 Y s 887 243 m -31 Y s 932 228 m -16 Y s 977 228
+ m -16 Y s 1022 228 m -16 Y s 1067 228 m -16 Y s 1112 243 m -31 Y s 1157 228 m
+ -16 Y s 1201 228 m -16 Y s 1246 228 m -16 Y s 1291 228 m -16 Y s 1336 243 m -31
+ Y s 1381 228 m -16 Y s 1426 228 m -16 Y s 1471 228 m -16 Y s 1516 228 m -16 Y s
+ 1561 243 m -31 Y s 1606 228 m -16 Y s 1651 228 m -16 Y s 1696 228 m -16 Y s
+ 1741 228 m -16 Y s 1786 243 m -31 Y s 1831 228 m -16 Y s 1876 228 m -16 Y s
+ 1921 228 m -16 Y s 1966 228 m -16 Y s 2011 243 m -31 Y s 206 185 m 3 1 d 4 5 d
+ -30 Y s 410 185 m 3 1 d 4 5 d -30 Y s 437 164 m -2 -2 d 2 -1 d 1 1 d -1 2 d cl
+ s 465 191 m -14 X -2 -13 d 2 1 d 4 2 d 4 X 4 -2 d 3 -3 d 2 -4 d -3 Y -2 -4 d -3
+ -3 d -4 -1 d -4 X -4 1 d -2 2 d -1 3 d s 653 183 m 2 Y 2 3 d 1 1 d 3 2 d 5 X 3
+ -2 d 2 -1 d 1 -3 d -3 Y -1 -3 d -3 -4 d -14 -14 d 19 X s 857 183 m 2 Y 1 3 d 2
+ 1 d 3 2 d 5 X 3 -2 d 1 -1 d 2 -3 d -3 Y -2 -3 d -2 -4 d -14 -14 d 19 X s 887
+ 164 m -2 -2 d 2 -1 d 1 1 d -1 2 d cl s 915 191 m -14 X -2 -13 d 2 1 d 4 2 d 4 X
+ 4 -2 d 3 -3 d 2 -4 d -3 Y -2 -4 d -3 -3 d -4 -1 d -4 X -4 1 d -2 2 d -1 3 d s
+ 1104 191 m 16 X -8 -12 d 4 X 3 -1 d 1 -2 d 1 -4 d -3 Y -1 -4 d -3 -3 d -4 -1 d
+ -4 X -5 1 d -1 2 d -1 3 d s 1308 191 m 16 X -9 -12 d 5 X 2 -1 d 2 -2 d 1 -4 d
+ -3 Y -1 -4 d -3 -3 d -4 -1 d -5 X -4 1 d -1 2 d -2 3 d s 1336 164 m -1 -2 d 1
+ -1 d 2 1 d -2 2 d cl s 1365 191 m -14 X -2 -13 d 2 1 d 4 2 d 4 X 4 -2 d 3 -3 d
+ 2 -4 d -3 Y -2 -4 d -3 -3 d -4 -1 d -4 X -4 1 d -2 2 d -1 3 d s 1566 191 m -14
+ -20 d 21 X s 1566 191 m -30 Y s 1769 191 m -14 -20 d 21 X s 1769 191 m -30 Y s
+ 1786 164 m -1 -2 d 1 -1 d 2 1 d -2 2 d cl s 1815 191 m -15 X -1 -13 d 1 1 d 5 2
+ d 4 X 4 -2 d 3 -3 d 1 -4 d -3 Y -1 -4 d -3 -3 d -4 -1 d -4 X -5 1 d -1 2 d -1 3
+ d s 2018 191 m -14 X -1 -13 d 1 1 d 4 2 d 5 X 4 -2 d 3 -3 d 1 -4 d -3 Y -1 -4 d
+ -3 -3 d -4 -1 d -5 X -4 1 d -1 2 d -2 3 d s 1799 1254 212 212 C 3 2684 7 3057
+ 12 3327 16 3536 21 3643 25 3650 30 3483 34 3294 43 3238 52 3048 57 2744 61 2373
+ 70 1742 79 1480 119 1311 142 1475 151 1598 155 1593 164 1504 173 1357 200 1131
+ 209 1143 223 1249 290 1273 380 1092 583 1276 605 1303 628 1267 898 708 1123 474
+ 1303 309 1325 311 1348 333 1393 404 1415 358 1438 305 1460 280 1483 282 1505
+ 300 1528 341 1550 417 1573 533 1595 601 1618 500 1640 341 1663 252 1685 233
+ 1730 223 1775 221 1798 219 1843 225 1865 228 1910 214 1921 212 54 { m20} R 2223
+ 3144 0 0 C 1838 127 m -30 Y s 1838 127 m 18 X s 1838 113 m 11 X s 1838 97 m 18
+ X s 1862 105 m -15 Y s 1869 100 m -7 -7 d s 1865 96 m 4 -6 d s 1873 105 m 1 -1
+ d 2 Y -1 -1 d cl s 1874 100 m -10 Y s 1879 100 m -10 Y s 1879 97 m 2 2 d 2 1 d
+ 2 X 1 -1 d 1 -2 d -7 Y s 1893 91 m -1 Y 1 1 d -1 X cl s 1901 127 m -30 Y s 1903
+ 127 m -30 Y s 1901 127 m 8 X s 1901 97 m 8 X s 1917 127 m -30 Y s 1917 127 m 12
+ -30 d s 1940 127 m -11 -30 d s 1940 127 m -30 Y s 1950 109 m 17 X 3 Y -2 2 d -1
+ 2 d -3 1 d -4 X -3 -1 d -3 -3 d -1 -4 d -3 Y 1 -4 d 3 -3 d 3 -2 d 4 X 3 2 d 3 3
+ d s 1972 127 m 12 -30 d s 1995 127 m -11 -30 d s 2005 127 m -30 Y s 2007 127 m
+ -30 Y s 1999 127 m 8 X s 1999 97 m 8 X s 52 1298 m 17 Y -3 X -2 -1 d -2 -2 d -1
+ -3 d -4 Y 1 -3 d 3 -2 d 4 -2 d 3 X 4 2 d 3 2 d 2 3 d 4 Y -2 3 d -3 3 d s 44
+ 1325 m 20 X s 49 1325 m -4 4 d -1 3 d 4 Y 1 3 d 4 2 d 15 X s 34 1353 m 24 X 4 2
+ d 2 2 d 3 Y s 44 1349 m 10 Y s 44 1369 m 20 X s 52 1369 m -4 1 d -3 3 d -1 3 d
+ 4 Y s 34 1386 m 1 1 d -1 2 d -2 -2 d 2 -1 d cl s 44 1387 m 20 X s 52 1397 m 17
+ Y -3 X -2 -1 d -2 -2 d -1 -3 d -4 Y 1 -3 d 3 -3 d 4 -1 d 3 X 4 1 d 3 3 d 2 3 d
+ 4 Y -2 3 d -3 3 d s 48 1438 m -3 -1 d -1 -5 d -4 Y 1 -4 d 3 -2 d 3 2 d 1 3 d 2
+ 7 d 1 3 d 3 1 d 1 X 3 -1 d 2 -5 d -4 Y -2 -4 d -3 -2 d s 44 1462 m 20 -16 d s
+ 44 1446 m 16 Y s 64 1446 m 16 Y s 1799 1254 212 212 C gr 
+showpage
+ gr 
+ gr  gr 
+%%Trailer
+cleartomark
+countdictstack exch sub { end } repeat
+restore
+%%EOF
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/plots/elastic.u238.14mev.costh.epsi
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/plots/elastic.u238.14mev.costh.epsi	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/plots/elastic.u238.14mev.costh.epsi	(revision 1208)
@@ -0,0 +1,1155 @@
+%!PS-Adobe-2.0 EPSF-1.2
+%%Title: elastic.u238.14mev.costh.ps (Portrait A 4)
+%%Creator: HIGZ Version 1.23/09
+%%CreationDate: 98/08/24   18.49
+%%For:jwellisc jwellisc
+%%Pages: 1
+%%DocumentFonts:
+%%BoundingBox: 27 49 523 776
+%%BeginPreview: 497 726 1 726
+% 00000000000000000000000000000000000000080008800000008800180000019821387cf00087c10400000000080000000000000000000000000000000000
+% 000000000000000000000000000000000000000800088000000088001000000230216409980184018c04200000080000000000000000000000000000000000
+% 000000000000000000000000000000000000000800080000000088000000000220214211180084018c02200000080000000000000000000000000000000000
+% 00000000000000000000000000000000000003c8f3de9e0f9e3dfe79d3e7c1e778210418f00087818cf240f1e45cf79f3c0000000000000000000000000000
+% 000000000000000000000000000000000000022914489008b0448889122c411220210c0490008041558a408b14488c91240000000000000000000000000000
+% 00000000000000000000000000000000000003e91388a007204488f912284112202110050800804155f9408bf4488851380000000000000000000000000000
+% 00000000000000000000000000000000000002091048a000a04488811228411220232085080080415501808a044888d1040000000000000000000000000000
+% 0000000000000000000000000000000000000369b6c89b0d976c8cd91225c1b2203640dd990085c124b8808975c885912c0000000000000000000000000000
+% 0000000000000000000000000000000000000188f1868c030c3c6631122340c220087e306100830104600088c3468311180000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000800000000000010000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00
+% 1f0000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 148000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 158000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1b0000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1f0000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 148000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 158000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1f0000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 040000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 9f8000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 800000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1f8000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 108000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% f9e0c1830004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% fe9122448004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 911224484004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% f91214284004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 9f8a14284007f80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 151a14284004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 9d1224484004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 98b162448004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 7fe0c1830004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0c00000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 1500000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 1480000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 1580000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0e00000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0400000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 000000000007c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 000000000007c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 000000000007c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 000000000007c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 10f1e3c780040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 31122448c0040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 3112244840040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 510a142840040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 911a14284007f800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% fd12244840040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c0000000000200
+% 11122448c0040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c0000000000200
+% 10f1e3c780040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 000000000007c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000200
+% 000000000007c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c0000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% f8f1e3c78004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 111224484004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 311214284004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 090a14284007f80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 051a14284004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 0d1224484004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 8912244cc004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% f8f1e3c78004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000640000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 70e1c3870004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% c91224448004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 891224484004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 091a14284004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 110a14284007f80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 211214284004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 41122448c004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 80b162c58004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% fc60c1830004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c40000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c40000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c40000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c40000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000000200
+% 30f1e3c78004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000000200
+% 71122448c004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000000200
+% 111224484004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000000200
+% 110a14284004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000000200
+% 111a14284007f80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000000200
+% 111224484004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000000200
+% 11122448c004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000000200
+% 10f1e3c78004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e040000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008040000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c040000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c040000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008040000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010040000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040040000000000200
+% 000000000007c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0040000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f80000e0040000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001fff8000c0040000000000200
+% 00000000000400000000002000000000000000000000080000000000000000000002000000000000000000000100000000001fd83c00080040000000000200
+% 00000000000400000000002000000000000000000000080000000000000000000002000000000000000000000100000000001e000700080040000000000200
+% 0000000000040000000000200000000000000000000008000000000000000000000200000000000000000000010000000000fc000780080040000000000200
+% 000000000004000000000020000000000000000000000800000000000000000000020000000000000000000001000000000fe00003c0080040000000000200
+% 000000030004020000800020000800020000800020000800020000800020000800020001000040001000040001000040007e00040071380040001000040200
+% 00000004800402000080002000080002000080002000080002000080002000080002000100004000100004000100004007f600040071200040001000040200
+% 0000000840040200008000200008000200008000200008000200008000200008000200010000400016dddfbf77eedc5b77f000040079e00040001000040200
+% 00000008400402000080003bb76eeddbbb76eeddbbb76eeddbbb76eeddbbb76eeddbbb77efddfbf7ffffffffffffffffff100004000fe00040001000040200
+% 000000084007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00
+% 000000084000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000084000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000078000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 00000000000000000000000200000000000000000000300f0000000000000000000600000000000000000000301f0000000000000000000020000000000000
+% 000000000000000000000002000000000000000000004810000000000000000000090000000000000000000048100000000000000000000060000000000000
+% 00000000000000000000000600000000000000000000c4100000000000000000001080000000000000000000881000000000000000000000e0000000000000
+% 00000000000000000000000200000000000000000000841f0000000000000000001080000000000000000000881e0000000000000000000020000000000000
+% 000000000000000000000002000000000000000000008400800000000000000000108000000000000000000084110000000000000000000020000000000000
+% 000000000000000000001fc2000000000000000000fe840080000000000000000010800000000000000000008c010000000000000000000020000000000000
+% 00000000000000000000000200000000000000000000c410800000000000000000108000000000000000000088010000000000000000000020000000000000
+% 000000000000000000000002000000000000000000004891800000000000000000090000000000000000000089130000000000000000000020000000000000
+% 00000000000000000000000200000000000000000000788f0000000000000000000f00000000000000000000799e0000000000000000000020000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000801000
+% 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001098800
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003108400
+% 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e3cf2108400
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106482178400
+% 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001042f2108400
+% 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010461a108400
+% 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001b2cd9098c00
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061861060800
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000801000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c01000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00
+% 120000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 150000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 148000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1d8000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1b0000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1e0000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 150000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 148000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 158000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0e63e3c78004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 00e224484004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 802164284004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 9fa1e4284007f80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 002224284004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 102214484004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1022344cc004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1fa1e3c78004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 108000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% ff0000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 100000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 0f8000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 1f8000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070000000000000000000200
+% 1e0000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000000000000200
+% 1580000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d0000000000000000000200
+% 148000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090000000000000000000200
+% 140000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090000000000000000000200
+% 0e0000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000098000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000088000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000088000000000000000000200
+% 000000000007c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c8000000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8000000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c8000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000088000000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009c000000000000000000200
+% 0061e3c7800400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009c000000000000000000200
+% 00e12448c00400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009c000000000000000000200
+% 002204484004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000088000000000000000000200
+% 0023e4284004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000088000000000000000000200
+% 002324284007f80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000388000000000000000000200
+% 002214484004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000208000000000000000000200
+% 00212448c00400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e000000000000000000200
+% 0021e3c78004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000402000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000402000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000402000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000402000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000402000000000000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000402000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000402000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e02000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e02000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e02000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000402000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000402000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000402000000000000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000402000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000402000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000402000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000402000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000402000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000402000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000402000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000402000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000403000000000000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000401000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000401000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000401000000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000403800000000000000000200
+% 006043c78004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000403800000000000000000200
+% 00a044448004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000403800000000000000000200
+% 0020c4484004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c01000000000000000000200
+% 002144284004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001000000000000000000200
+% 002244284007f80000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001000000000000000000200
+% 0023f4284004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003001000000000000000000200
+% 00204448c004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002001000000000000000000200
+% 002042c50004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002001000000000000000000200
+% 002041830004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002001c00000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000400000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000400000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000400000000000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000400000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000400000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000400000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007000400000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007000400000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000400000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000400000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000400000000000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000400000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000400000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000400000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000400000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000400000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000400000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000400000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000400000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000400000000000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000400000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000600000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000200000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000200000000000000000200
+% 0020c183000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e000200000000000000000200
+% 006322448004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000200000000000000000200
+% 00a224484004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000200000000000000000200
+% 002024284004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000200000000000000000200
+% 002044284007f80000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000200000000000000000200
+% 002084284004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000200000000000000000200
+% 002104484004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000200000000000000000200
+% 002202448004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000200000000000000000200
+% 0023f1830004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000200000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000200000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000200000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000200000000000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000200000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000200000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000200000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000200000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000200000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000200000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000200000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000200000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000200000000000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000070000200000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070000200000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070000200000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000200000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000200000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000200000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000200000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070000200000000000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000200000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000300000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000380000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000380000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000380000000000000000200
+% 0061e3c78004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000080000000000000000200
+% 00e224484004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000080000000000000000200
+% 002214284004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000080000000000000000200
+% 002214284007f80000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000080000000000000000200
+% 002214284004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000080000000000000000200
+% 002224484004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000080000000000000000200
+% 0022244cc004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000080000000000000000200
+% 0021e3c78004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000080000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000080000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000080000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000080000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000080000000000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000080000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000080000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000080000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000080000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000080000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000080000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000080000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000080000000000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000080000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000080000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000080000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000080000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000080000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000080000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000080000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000c0000000000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000380000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000380000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000040000000000000000200
+% 0001e3c78004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000380000040000000000000000200
+% 00022448c004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000040000000000000000200
+% 000324484004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000040000000000000000200
+% 0001e4284004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000040000000000000000200
+% 000224284007f80000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000040000000000000000200
+% 000214484004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000040000000000000000200
+% 00021448c004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000040000000000000000200
+% 0003e3c78004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000040000000000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000040000000000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c00000040000000000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c00000040000000000000000200
+% 0000c3870004000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c00000040000000000000000200
+% 000124448004000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000040000000000000000200
+% 000304484004000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000040000000000000000200
+% 0003e4284004000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000040000000000000000200
+% 000324284007f80000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000040000000000000000200
+% 000214284004000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000040000000000000000200
+% 00022448c004000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000040000000000000000200
+% 0001e2c58004000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000040000000000000000200
+% 0000c1830004000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000040000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000070000000000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000010000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000010000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000010000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000030000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000070000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000070000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000010000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000010000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000010000000000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000010000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000010000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000010000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000010000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000010000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000010000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000010000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000010000000000000000200
+% 000000000007c0000000000000000000000000000000000000000000000000000000000000000000000000000000000001e000000010000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000001c000000010000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000001c000000010000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000010000000000000000200
+% 000041830004000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000010000000000000000200
+% 000042448004000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000010000000000000000200
+% 0000c4484004000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000010000000000000000200
+% 000144284004000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000010000000000000000200
+% 000144284007f80000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000010000000000000000200
+% 0003f4284004000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000010000000000000000200
+% 000044484004000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000010000000000000000200
+% 000042448004000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000010000000000000000200
+% 000043c78004000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000010000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000010000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000010000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000010000000000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000000000000000000000000000000000000070000000010000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000018000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000008000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000008000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000008000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000008000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000008000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000008000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000001e0000000008000000000000000200
+% 000000000007c000000000000000000000000000000000000000000000000000000000000000000000000000000000001e0000000008000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000008000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000008000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000008000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000001c00000000040000000008000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000014ce000000040000000008000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000016fa000000040000000008000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000000003f9a0000003c0000000008000000000000000200
+% 000000000007c0000000000000000000000000000000000000000000000000000000000000000000000001ffb20000002c0000000008000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000000000000000001d07a0000002c0000000008000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000ff036000000200000000008000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000000f3007000000200000000008000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000003f3007000000200000000008000000000000000200
+% 0001e3c780040000000000000000000000000000000000000000000000000000000000000000000000006c3003000000200000000008000000000000000200
+% 000224484004000000000000000000000000000000000000000000000000000000000000000000000000ec3001e00000200000000008000000000000000200
+% 000024284004000000000000000000000000000000000000000000000000000000000000000000000000ec0001e00000e00000000008000000000000000200
+% 000024284007f80000000000000000000000000000000000000000000000000000000000000000000001ec0001600000e00000000008000000000000000200
+% 00004428400400000000000000000000000000000000000000000000000000000000000000000000001f6c0001f80000e00000000008000000000000000200
+% 00008448400400000000000000000000000000000000000000000000000000000000000000000000001f6000000f0000400000000008000000000000000200
+% 0001044cc00400000000000000000000000000000000000000000000000000000000000000000000001f0000000f000040000000000e000000000000000200
+% 0003f3c780040000000000000000000000000000000000000000000000000000000000000000000000100000000f0000400000000002000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000000300000000d0000400000000002000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000078000000010000400000000002000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000000000000007000000001c000400000000002000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000000000000004000000001e000400000000002000000000000000200
+% 000000000007c000000000000000000000000000000000000000000000000000000000000000000003c000000001e007400000000002000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000380000000003007c00000000002000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000380000000001806000000000002000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000000200000000003c0e000000000002000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000001e00000000001ff8000000000002000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000003c000000000017f8000000000002000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000002000000000001ff8000000000002000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000002000000000000000200
+% 000000000007c0000000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000002000000000000000200
+% 00000000000400000000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000002000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000d0000000000000000000000000007000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000007000000000000000200
+% 0000000000040000000000000000000000000000000000000000000000000000000000000000006e0000000000000000000000000002000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000780000000000000000000000000002000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000002000000000000000200
+% 000000000004000000000000000000000000000000000000000000000000000000000000000007600000000000000000000000000002000000000000000200
+% 000000000007c00000000000000000000000000000000000000000000000000180c00000000007c00000000000000000000000000002000000000000000200
+% 000000000004000000000020000000000000000000000800000000000000000180da0000000037000000000001000000000000000003000040000000000200
+% 000000000004000000000020000000000000000000000800000000000007fffffffa00000003fe000000000001000000000000000001000040000000000200
+% 0000000000040000000000380000000000000000000008000000000003bfffffbffffd8000fff0000000000001000000000000000001000040000000000200
+% 00000000000400000000003f78000000000000000000080000000000dfff7e3f37efffffefff80000000000001000000000000000001000040000000000200
+% 000000078004020000800027fe080002000080002066dd80020000ffffa000080002fffffffe40001000040001000040001000040001000040001000040200
+% 00000008c004020000800023ffc8000efd808000ffffffff7eddbffff8200008000200377e0040001000040001000040001000040001000040001000040200
+% 00000008400402000080002007fdbb7ffffbfefffffefdfffffffffe0020000800020001600040001000040001000040001000040001000040001000040200
+% 00000008400402000080002000fffffedfbffffffb0008037ffdf8800020000800020001000040001000040001000040001000040001000040001000040200
+% 000000084007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00
+% 000000084000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 00000008c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000078000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 00000000000000000000000200000000000000000000781f0000000000000000000f00000000000000000000781f0000000000000000000020000000000000
+% 0000000000000000000000060000000000000000000044100000000000000000001180000000000000000000881000000000000000000000e0000000000000
+% 00000000000000000000000200000000000000000000841e0000000000000000001080000000000000000000881c0000000000000000000020000000000000
+% 000000000000000000000002000000000000000000008419000000000000000000108000000000000000000084120000000000000000000020000000000000
+% 000000000000000000001fc2000000000000000000fe840080000000000000000010800000000000000000008c010000000000000000000020000000000000
+% 000000000000000000000002000000000000000000008400800000000000000000108000000000000000000088010000000000000000000020000000000000
+% 000000000000000000000002000000000000000000004410800000000000000000118000000000000000000088210000000000000000000020000000000000
+% 00000000000000000000000200000000000000000000789f0000000000000000000f00000000000000000000799e0000000000000000000020000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000801000
+% 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010f0800
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001188800
+% 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e38f3108400
+% 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001b249a178400
+% 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001042c2108400
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104232108400
+% 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011249a198400
+% 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e3cf10f0c00
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000800
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000801000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000
+%%EndImage
+%%EndPreview
+save
+countdictstack
+mark
+newpath
+/showpage {} def
+%%EndProlog
+%%Page 1 1
+/s {stroke} def /l {lineto} def /m {moveto} def /t {translate} def
+/sw {stringwidth} def /r {rotate} def /rl {roll}  def /R {repeat} def
+/d {rlineto} def /rm {rmoveto} def /gr {grestore} def /f {eofill} def
+/c {setrgbcolor} def /lw {setlinewidth} def /sd {setdash} def
+/cl {closepath} def /sf {scalefont setfont} def /black {0 setgray} def
+/box {m dup 0 exch d exch 0 d 0 exch neg d cl} def
+/NC{systemdict begin initclip end}def/C{NC box clip newpath}def
+/bl {box s} def /bf {box f} def /Y { 0 exch d} def /X { 0 d} def 
+/mp {newpath /y exch def /x exch def} def
+/side {[w .77 mul w .23 mul] .385 w mul sd w 0 l currentpoint t -144 r} def
+/mr {mp x y w2 0 360 arc} def /m24 {mr s} def /m20 {mr f} def
+/mb {mp x y w2 add m w2 neg 0 d 0 w neg d w 0 d 0 w d cl} def
+/mt {mp x y w2 add m w2 neg w neg d w 0 d cl} def
+/m21 {mb f} def /m25 {mb s} def /m22 {mt f} def /m26 {mt s} def
+/m23 {mp x y w2 sub m w2 w d w neg 0 d cl f} def
+/m27 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3  w2 d cl s} def
+/m28 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d
+ 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d
+ 0 w3 neg d w3 neg 0 d cl s } def
+/m29 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t
+ 4 {side} repeat cl fill gr} def
+/m30 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t
+ 5 {side} repeat s gr} def
+/m31 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d
+ x w2 sub y w2 add m w w neg d x w2 sub y w2
+ sub m w w d s} def
+/m2 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d s} def
+/m5 {mp x w2 sub y w2 sub m w w d x w2 sub y w2 add m w w neg d s} def
+/DP {/PT exch def gsave 47.2 47.2 scale PT 1  eq { 16 16 1 [ 16 0 0 16 neg 0 16
+] { < AA AA 55 55 AA AA 55 55 AA AA 55 55 AA AA 55 55 AA AA 55 55 AA AA 55 55
+AA AA 55 55 AA AA 55 55 > } image } if PT 2 eq { 16 16 1 [ 16 0 0 16 neg 0 16
+] { < BB BB EE EE BB BB EE EE BB BB EE EE BB BB EE EE BB BB EE EE BB BB EE EE
+BB BB EE EE BB BB EE EE > } image } if PT 3 eq { 16 16 1 [ 16 0 0 16 neg 0 16
+] { < FF FF BB BB FF FF EE EE FF FF BB BB FF FF EE EE FF FF BB BB FF FF EE EE
+FF FF BB BB FF FF EE EE > } image } if PT 4 eq { 16 16 1 [ 16 0 0 16 neg 0 16
+] { < DF DF BF BF 7F 7F FE FE FD FD FB FB F7 F7 EF EF DF DF BF BF 7F 7F FE FE
+FD FD FB FB F7 F7 EF EF > } image } if PT 5 eq { 16 16 1 [ 16 0 0 16 neg 0 16
+] { < 7F 7F BF B F DF DF EF EF F7 F7 FB FB FD FD FE FE 7F 7F BF BF DF DF EF
+EF F7 F7 FB FB FD FD FE FE > } image } if PT 6 eq { 16 16 1 [ 16 0 0 16 neg 0
+16 ] { < BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB
+BB BB BB BB BB BB BB BB BB > } image } if PT 7 eq { 16 16 1 [ 16 0 0 16 neg 0
+16 ] { < FF FF FF FF FF FF 00 00 FF FF FF FF FF FF 00 00 FF FF FF FF FF FF 00
+00 FF FF FF FF FF FF 00 00 > } image } if PT 8 eq { 16 16 1 [ 16 0 0 16 neg 0
+16 ] { < EE EE 47 47 83 83 C5 C5 EE EE 5C 5C 38 38 74 74 EE EE 47 47 83 83 C5
+C5 EE EE 5C 5C 38 38 74 74 > } image } if PT 9 eq { 16 16 1 [ 16 0 0 16 neg 0
+16 ] { < EF EF EF EF D7 D7 38 38 FE FE FE FE 7D 7D 83 83 EF EF EF EF D7 D7 38
+38  FE FE FE FE 7D 7D 83 83 > } image } if PT 10 eq { 16 16 1 [ 16 0 0 16 neg
+0 16 ] { <  EF EF EF EF EF EF 00 00 FE FE FE FE FE FE 00 00 EF EF EF EF EF EF
+00 00 FE FE FE FE FE FE 00 00 > } image } if PT 11 eq { 16 16 1 [ 16 0 0 16
+neg 0 16 ] { < F7 F7 B6 B6 D5 D5 E3 E3 D5 D5 B6 B6 F7 F7 FF FF 7F 7F 6B 6B 5D
+5D 3E 3E 5D 5D 6B 6B 7F 7F FF FF > } image } if PT 12 eq { 16 16 1 [ 16 0 0
+16 neg 0 16 ] { < E3 E3 DD DD BE BE BE BE BE BE DD DD E3 E3 FF FF 3E 3E DD DD
+EB EB EB EB EB EB DD DD 3E 3E FF FF > } image } if PT 13 eq { 16 16 1 [ 16 0
+0 16 neg 0 16 ] { <  FE FE 7D 7D BB BB D7 D7 EF EF D7 D7 BB BB 7D 7D FE FE 7D
+7D BB BB D7 D7 EF EF D7 D7 BB BB 7D 7D > } image } if PT 14 eq { 16 16 1 [ 16
+0 0 16 neg 0 16 ] { < 00 00 EE EF EE EF EE EF 0E E0 EE EE EE EE EE EE 00 EE
+FE EE FE EE FE EE 00 00 FE EF FE EF FE EF > } image } if PT 15 eq { 16 16 1 [
+16 0 0 16 neg 0 16 ] { < DD DD AA AA DD DD FF FF 77 77 AA AA 77 77 FF FF DD
+DD AA AA DD DD FF FF 77 77 AA AA 77 77 FF FF > } image } if PT 16 eq { 16 16
+1 [ 16 0 0 16 neg 0 16 ] { <  F1 F1 EE EE 1F 1F FF FF F1 F1 EE EE 1F 1F FF FF
+F1 F1 EE EE 1F 1F FF FF F1 F1 EE EE 1F 1F FF FF > } image } if PT 17 eq { 16
+16 1 [ 16 0 0 16 neg 0 16 ] { <  EE EE DD DD BB BB FF FF EE EE DD DD BB BB FF
+ FF EE EE DD DD BB BB FF FF EE EE DD DD BB BB FF FF > } image } if PT 18 eq {
+16 16 1 [ 16 0 0 16 neg 0 16 ] { <  BB BB DD DD EE EE FF FF BB BB DD DD EE EE
+FF FF BB BB DD DD EE EE FF FF BB BB DD DD EE EE FF FF > } image } if PT 19 eq
+{ 16 16 1 [ 16 0 0 16 neg 0 16 ] { < 1F FC 67 F3 7B EF BD DE BD DE DE BD E6
+B3 F8 0F E6 B3 DE BD BD DE BD DE 7B EF 67 F3 1F FC 7F FF > } image } if PT
+20 eq { 16 16 1 [ 16 0 0 16 neg 0 16 ] { < DD DD EE EE EE EE EE EE DD DD BB
+BB BB BB BB BB DD DD EE EE EE EE EE EE DD DD BB BB BB BB BB BB > } image }
+if PT 21 eq { 16 16 1 [ 16 0 0 16 neg 0 16 ] { < 0E 0E EF EF EF EF EF EF E0
+E0 FE FE FE FE FE FE 0E 0E EF EF EF EF EF EF E0 E0 FE FE FE FE FE FE > }
+image }  if PT 22 eq { 16 16 1 [ 16 0 0 16 neg 0 16 ] { < 70 70 F7 F7 F7 F7 F7
+F7 07 07 7F 7F 7F 7F 7F 7F 70 70 F7 F7 F7 F7 F7 F7 07 07 7F 7F 7F 7F 7F 7F >
+} image } if PT 23 eq  { 16 16 1 [ 16 0 0 16 neg 0 16 ] { < AA AA 55 55 A9 A9
+D1 D1 E1 E1 D1 D1 A9 A9 55 55 AA AA 55 55 A9 A9 D1 D1 E1 E1 D1 D1 A9 A9 55 55
+> } image } if PT 24 eq { 16 16 1 [ 16 0 0 16 neg 0 16 ] { < FF FE FF FC EA
+A8 D5 54 EA A8 D5 54 E8 28 D4 54 E8 E8 D4 D4 E8 EA 54 D5 A8 EA 54 D5 00 C0 00
+80 > } image } if PT 25 eq {  16 16 1 [ 16 0 0 16 neg 0 16 ] { < FF FE FF FC
+FF F8 FF F0 F0 00 F0 00 F0 20 F0 60 F0 E0 F1 E0 F3 E0 F0 00 E0 00 C0 00 80 00
+00 00 > } image } if gr } def /FA { /PT exch def gsave clip 0 0 translate 1 1
+54 { 1 sub 47.2 mul /Xcurr exch def 1 1 74 { 1 sub 47.2 mul /Ycurr exch def
+gsave Xcurr Ycurr translate PT DP gr } for } for gr newpath } def
+/reencdict 24 dict def /ReEncode {reencdict begin /nco&na exch def
+/nfnam exch def /basefontname exch def /basefontdict basefontname findfont def
+/newfont basefontdict maxlength dict def basefontdict {exch dup /FID ne
+{dup /Encoding eq {exch dup length array copy newfont 3 1 roll put} {exch
+newfont 3 1 roll put} ifelse} {pop pop} ifelse } forall newfont
+/FontName nfnam put nco&na aload pop nco&na length 2 idiv {newfont
+/Encoding get 3 1 roll put} repeat nfnam newfont definefont pop end } def
+/accvec [ 176 /agrave 181 /Agrave 190 /acircumflex 192 /Acircumflex
+201 /adieresis 204 /Adieresis 209 /ccedilla 210 /Ccedilla 211 /eacute
+212 /Eacute 213 /egrave 214 /Egrave 215 /ecircumflex 216 /Ecircumflex
+217 /edieresis 218 /Edieresis 219 /icircumflex 220 /Icircumflex
+221 /idieresis 222 /Idieresis 223 /ntilde 224 /Ntilde 226 /ocircumflex
+228 /Ocircumflex 229 /odieresis 230 /Odieresis 231 /ucircumflex 236 /Ucircumflex
+237 /udieresis 238 /Udieresis 239 /aring 242 /Aring 243 /ydieresis
+244 /Ydieresis 246 /aacute 247 /Aacute 252 /ugrave 253 /Ugrave] def
+/Times-Roman /Times-Roman accvec ReEncode
+/Times-Italic /Times-Italic accvec ReEncode
+/Times-Bold /Times-Bold accvec ReEncode
+/Times-BoldItalic /Times-BoldItalic accvec ReEncode
+/Helvetica /Helvetica accvec ReEncode
+/Helvetica-Oblique /Helvetica-Oblique accvec ReEncode
+/Helvetica-Bold /Helvetica-Bold accvec ReEncode
+/Helvetica-BoldOblique /Helvetica-BoldOblique  accvec ReEncode
+/Courier /Courier accvec ReEncode
+/Courier-Oblique /Courier-Oblique accvec ReEncode
+/Courier-Bold /Courier-Bold accvec ReEncode
+/Courier-BoldOblique /Courier-BoldOblique accvec ReEncode
+/oshow {gsave [] 0 sd true charpath stroke gr} def
+/stwn { /fs exch def /fn exch def /text exch def fn findfont fs sf
+ text sw pop xs add /xs exch def} def
+/stwb { /fs exch def /fn exch def /nbas exch def /textf exch def
+textf length /tlen exch def nbas tlen gt {/nbas tlen def} if
+fn findfont fs sf textf dup length nbas sub nbas getinterval sw
+pop neg xs add /xs exch def} def
+/accspe [ 65 /plusminus 66 /bar 67 /existential 68 /universal
+69 /exclam 70 /numbersign 71 /greater 72 /question 73 /integral
+74 /colon 75 /semicolon 76 /less 77 /bracketleft 78 /bracketright
+79 /greaterequal 80 /braceleft 81 /braceright 82 /radical
+83 /spade 84 /heart 85 /diamond 86 /club 87 /lessequal
+88 /multiply 89 /percent 90 /infinity 48 /circlemultiply 49 /circleplus
+50 /emptyset 51 /lozenge 52 /bullet 53 /arrowright 54 /arrowup
+55 /arrowleft 56 /arrowdown 57 /arrowboth 48 /degree 44 /comma 43 /plus
+ 45 /angle 42 /angleleft 47 /divide 61 /notequal 40 /equivalence 41 /second
+ 97 /approxequal 98 /congruent 99 /perpendicular 100 /partialdiff 101 /florin
+ 102 /intersection 103 /union 104 /propersuperset 105 /reflexsuperset
+ 106 /notsubset 107 /propersubset 108 /reflexsubset 109 /element 110 /notelement
+ 111 /gradient 112 /logicaland 113 /logicalor 114 /arrowdblboth
+ 115 /arrowdblleft 116 /arrowdblup 117 /arrowdblright 118 /arrowdbldown
+ 119 /ampersand 120 /omega1 121 /similar 122 /aleph ] def
+/Symbol /Special accspe ReEncode
+/Zone {/iy exch def /ix exch def  ix 1 sub  2224 mul  1 iy sub  3144
+ mul t} def
+ gsave  20 28 t .25 .25 scale  gsave 
+ gsave 
+ 1 1 Zone
+ gsave 0 0 t black [] 0 sd 1 lw 1799 1254 212 1678 bl 1799 1254 212 1678 C 2223
+ 3144 0 0 C 632 2967 m 17 X 3 Y -2 3 d -1 1 d -3 1 d -4 X -3 -1 d -3 -3 d -1 -4
+ d -3 Y 1 -4 d 3 -3 d 3 -1 d 4 X 3 1 d 3 3 d s 658 2985 m -29 Y s 685 2975 m -19
+ Y s 685 2971 m -3 3 d -2 1 d -5 X -2 -1 d -3 -3 d -2 -4 d -3 Y 2 -4 d 3 -3 d 2
+ -1 d 5 X 2 1 d 3 3 d s 711 2971 m -2 3 d -4 1 d -4 X -4 -1 d -2 -3 d 2 -3 d 2
+ -1 d 7 -2 d 3 -1 d 2 -3 d -1 Y -2 -3 d -4 -1 d -4 X -4 1 d -2 3 d s 722 2985 m
+ -24 Y 1 -4 d 3 -1 d 3 X s 718 2975 m 10 X s 736 2985 m 1 -1 d 2 1 d -2 2 d -1
+ -2 d cl s 737 2975 m -19 Y s 764 2971 m -3 3 d -2 1 d -5 X -2 -1 d -3 -3 d -2
+ -4 d -3 Y 2 -4 d 3 -3 d 2 -1 d 5 X 2 1 d 3 3 d s 802 2971 m -1 3 d -4 1 d -4 X
+ -5 -1 d -1 -3 d 1 -3 d 3 -1 d 7 -2 d 3 -1 d 1 -3 d -1 Y -1 -3 d -4 -1 d -4 X -5
+ 1 d -1 3 d s 828 2971 m -3 3 d -3 1 d -4 X -3 -1 d -3 -3 d -1 -4 d -3 Y 1 -4 d
+ 3 -3 d 3 -1 d 4 X 3 1 d 3 3 d s 853 2975 m -19 Y s 853 2971 m -3 3 d -2 1 d -5
+ X -2 -1 d -3 -3 d -2 -4 d -3 Y 2 -4 d 3 -3 d 2 -1 d 5 X 2 1 d 3 3 d s 866 2985
+ m -24 Y 1 -4 d 3 -1 d 3 X s 862 2975 m 10 X s 883 2985 m -24 Y 1 -4 d 3 -1 d 3
+ X s 879 2975 m 10 X s 897 2967 m 17 X 3 Y -2 3 d -1 1 d -3 1 d -4 X -3 -1 d -3
+ -3 d -1 -4 d -3 Y 1 -4 d 3 -3 d 3 -1 d 4 X 3 1 d 3 3 d s 924 2975 m -19 Y s 924
+ 2967 m 1 4 d 3 3 d 3 1 d 4 X s 941 2985 m 1 -1 d 2 1 d -2 2 d -1 -2 d cl s 942
+ 2975 m -19 Y s 953 2975 m -19 Y s 953 2970 m 5 4 d 2 1 d 5 X 3 -1 d 1 -4 d -14
+ Y s 996 2975 m -22 Y -2 -4 d -1 -2 d -3 -1 d -4 X -3 1 d s 996 2971 m -3 3 d -3
+ 1 d -4 X -3 -1 d -3 -3 d -1 -4 d -3 Y 1 -4 d 3 -3 d 3 -1 d 4 X 3 1 d 3 3 d s
+ 1027 2975 m -3 -1 d -3 -3 d -1 -4 d -3 Y 1 -4 d 3 -3 d 3 -1 d 4 X 3 1 d 3 3 d 1
+ 4 d 3 Y -1 4 d -3 3 d -3 1 d -4 X cl s 1056 2985 m -2 X -3 -1 d -2 -4 d -24 Y s
+ 1045 2975 m 10 X s 1073 2985 m -2 X -3 -1 d -2 -4 d -24 Y s 1062 2975 m 10 X s
+ 1096 2985 m -21 Y 1 -4 d 3 -3 d 4 -1 d 3 X 5 1 d 2 3 d 2 4 d 21 Y s 1127 2978 m
+ 2 Y 1 2 d 2 2 d 3 1 d 5 X 3 -1 d 2 -2 d 1 -2 d -3 Y -1 -3 d -3 -4 d -14 -14 d
+ 19 X s 1157 2985 m 15 X -8 -11 d 4 X 3 -1 d 1 -2 d 2 -4 d -3 Y -2 -4 d -3 -3 d
+ -4 -1 d -4 X -4 1 d -2 1 d -1 3 d s 1189 2985 m -4 -1 d -2 -3 d -3 Y 2 -3 d 3
+ -1 d 5 -1 d 5 -2 d 2 -3 d 2 -3 d -4 Y -2 -3 d -1 -1 d -4 -1 d -6 X -4 1 d -2 1
+ d -1 3 d 4 Y 1 3 d 3 3 d 5 2 d 5 1 d 3 1 d 1 3 d 3 Y -1 3 d -4 1 d -6 X cl s
+ 1215 2957 m -2 -1 d -1 1 d 1 1 d 2 -1 d -3 Y -2 -3 d -1 -1 d s 1243 2980 m 3 1
+ d 4 4 d -29 Y s 1284 2985 m -14 X -2 -12 d 2 1 d 4 1 d 4 X 4 -1 d 3 -3 d 2 -4 d
+ -3 Y -2 -4 d -3 -3 d -4 -1 d -4 X -4 1 d -2 1 d -1 3 d s 1311 2985 m -29 Y s
+ 1311 2985 m 11 -29 d s 1333 2985 m -11 -29 d s 1333 2985 m -29 Y s 1343 2967 m
+ 17 X 3 Y -1 3 d -2 1 d -3 1 d -4 X -3 -1 d -3 -3 d -1 -4 d -3 Y 1 -4 d 3 -3 d 3
+ -1 d 4 X 3 1 d 3 3 d s 1366 2985 m 11 -29 d s 1388 2985 m -11 -29 d s 1409 2975
+ m -19 Y s 1409 2970 m 5 4 d 2 1 d 5 X 2 -1 d 2 -4 d -14 Y s 1435 2967 m 17 X 3
+ Y -2 3 d -1 1 d -3 1 d -4 X -3 -1 d -3 -3 d -1 -4 d -3 Y 1 -4 d 3 -3 d 3 -1 d 4
+ X 3 1 d 3 3 d s 1462 2975 m -14 Y 1 -4 d 3 -1 d 4 X 3 1 d 4 4 d s 1477 2975 m
+ -19 Y s 1490 2985 m -24 Y 1 -4 d 3 -1 d 3 X s 1486 2975 m 9 X s 1505 2975 m -19
+ Y s 1505 2967 m 2 4 d 3 3 d 2 1 d 5 X s 1529 2975 m -3 -1 d -2 -3 d -2 -4 d -3
+ Y 2 -4 d 2 -3 d 3 -1 d 5 X 2 1 d 3 3 d 2 4 d 3 Y -2 4 d -3 3 d -2 1 d -5 X cl s
+ 1550 2975 m -19 Y s 1550 2970 m 5 4 d 3 1 d 4 X 3 -1 d 1 -4 d -14 Y s 1591 2971
+ m -1 3 d -4 1 d -4 X -5 -1 d -1 -3 d 1 -3 d 3 -1 d 7 -2 d 3 -1 d 1 -3 d -1 Y -1
+ -3 d -4 -1 d -4 X -5 1 d -1 3 d s 1799 1254 212 1678 C 212 1678 m 180 X 1 Y 12
+ X -1 Y 414 X s 818 1678 m 126 X 1 Y 6 X -1 Y 12 X 1 Y 36 X -1 Y 6 X 1 Y 120 X
+ -1 Y 6 X 1 Y 12 X -1 Y 23 X 1 Y 6 X -1 Y 48 X 1 Y 6 X -1 Y 6 X 1 Y 6 X -1 Y 6 X
+ 1 Y 42 X 1 Y 6 X -1 Y 6 X 1 Y 24 X 1 Y 30 X 1 Y 36 X 1 Y 6 X -1 Y 6 X 1 Y 6 X 1
+ Y 6 X -1 Y 12 X s 1423 1683 m 1 Y 42 X -1 Y 6 X -1 Y 6 X 1 Y 6 X -1 Y 24 X -1 Y
+ 12 X -1 Y 6 X 1 Y 18 X -1 Y 6 X 1 Y 24 X 1 Y 6 X 2 Y 12 X 2 Y 6 X 1 Y 6 X 1 Y 6
+ X 3 Y 6 X 2 Y 6 X 2 Y 6 X 2 Y 6 X 3 Y 6 X 2 Y 6 X 2 Y 6 X 2 Y 6 X 4 Y 12 X 4 Y
+ 6 X 1 Y 6 X 2 Y 12 X -1 Y 6 X -2 Y 6 X -3 Y 6 X -1 Y 6 X -3 Y 6 X -5 Y 6 X -4 Y
+ 6 X -7 Y 6 X -5 Y 6 X -4 Y 6 X -3 Y 12 X 5 Y 6 X 11 Y 6 X 20 Y 6 X 31 Y 6 X 52
+ Y 6 X 70 Y 6 X 94 Y 6 X 134 Y 6 X 173 Y 6 X 239 Y 6 X 299 Y 6 X -1129 Y 180 X s
+ NC 212 1678 m 1254 Y s 243 1678 m -31 X s 228 1724 m -16 X s 228 1770 m -16 X s
+ 228 1816 m -16 X s 228 1862 m -16 X s 243 1908 m -31 X s 228 1954 m -16 X s 228
+ 2000 m -16 X s 228 2047 m -16 X s 228 2093 m -16 X s 243 2139 m -31 X s 228
+ 2185 m -16 X s 228 2231 m -16 X s 228 2277 m -16 X s 228 2323 m -16 X s 243
+ 2369 m -31 X s 228 2415 m -16 X s 228 2461 m -16 X s 228 2507 m -16 X s 228
+ 2554 m -16 X s 243 2600 m -31 X s 228 2646 m -16 X s 228 2692 m -16 X s 228
+ 2738 m -16 X s 228 2784 m -16 X s 243 2830 m -31 X s 243 2830 m -31 X s 228
+ 2876 m -16 X s 228 2922 m -16 X s 154 1693 m -4 -2 d -3 -4 d -2 -7 d -4 Y 2 -7
+ d 3 -5 d 4 -1 d 3 X 4 1 d 3 5 d 1 7 d 4 Y -1 7 d -3 4 d -4 2 d -3 X cl s 37
+ 1917 m 3 2 d 4 4 d -30 Y s 69 1923 m -4 -1 d -3 -5 d -1 -7 d -4 Y 1 -7 d 3 -4 d
+ 4 -2 d 3 X 4 2 d 3 4 d 1 7 d 4 Y -1 7 d -3 5 d -4 1 d -3 X cl s 97 1923 m -4 -1
+ d -3 -5 d -1 -7 d -4 Y 1 -7 d 3 -4 d 4 -2 d 3 X 4 2 d 3 4 d 2 7 d 4 Y -2 7 d -3
+ 5 d -4 1 d -3 X cl s 126 1923 m -5 -1 d -2 -5 d -2 -7 d -4 Y 2 -7 d 2 -4 d 5 -2
+ d 2 X 5 2 d 2 4 d 2 7 d 4 Y -2 7 d -2 5 d -5 1 d -2 X cl s 154 1923 m -4 -1 d
+ -3 -5 d -2 -7 d -4 Y 2 -7 d 3 -4 d 4 -2 d 3 X 4 2 d 3 4 d 1 7 d 4 Y -1 7 d -3 5
+ d -4 1 d -3 X cl s 34 2147 m 1 Y 1 3 d 2 1 d 3 2 d 5 X 3 -2 d 1 -1 d 2 -3 d -3
+ Y -2 -3 d -2 -4 d -15 -14 d 20 X s 69 2154 m -4 -2 d -3 -4 d -1 -7 d -4 Y 1 -7
+ d 3 -5 d 4 -1 d 3 X 4 1 d 3 5 d 1 7 d 4 Y -1 7 d -3 4 d -4 2 d -3 X cl s 97
+ 2154 m -4 -2 d -3 -4 d -1 -7 d -4 Y 1 -7 d 3 -5 d 4 -1 d 3 X 4 1 d 3 5 d 2 7 d
+ 4 Y -2 7 d -3 4 d -4 2 d -3 X cl s 126 2154 m -5 -2 d -2 -4 d -2 -7 d -4 Y 2 -7
+ d 2 -5 d 5 -1 d 2 X 5 1 d 2 5 d 2 7 d 4 Y -2 7 d -2 4 d -5 2 d -2 X cl s 154
+ 2154 m -4 -2 d -3 -4 d -2 -7 d -4 Y 2 -7 d 3 -5 d 4 -1 d 3 X 4 1 d 3 5 d 1 7 d
+ 4 Y -1 7 d -3 4 d -4 2 d -3 X cl s 35 2384 m 16 X -9 -11 d 5 X 2 -2 d 2 -1 d 1
+ -4 d -3 Y -1 -4 d -3 -3 d -4 -2 d -4 X -5 2 d -1 1 d -2 3 d s 69 2384 m -4 -1 d
+ -3 -5 d -1 -7 d -4 Y 1 -7 d 3 -4 d 4 -2 d 3 X 4 2 d 3 4 d 1 7 d 4 Y -1 7 d -3 5
+ d -4 1 d -3 X cl s 97 2384 m -4 -1 d -3 -5 d -1 -7 d -4 Y 1 -7 d 3 -4 d 4 -2 d
+ 3 X 4 2 d 3 4 d 2 7 d 4 Y -2 7 d -3 5 d -4 1 d -3 X cl s 126 2384 m -5 -1 d -2
+ -5 d -2 -7 d -4 Y 2 -7 d 2 -4 d 5 -2 d 2 X 5 2 d 2 4 d 2 7 d 4 Y -2 7 d -2 5 d
+ -5 1 d -2 X cl s 154 2384 m -4 -1 d -3 -5 d -2 -7 d -4 Y 2 -7 d 3 -4 d 4 -2 d 3
+ X 4 2 d 3 4 d 1 7 d 4 Y -1 7 d -3 5 d -4 1 d -3 X cl s 47 2614 m -15 -19 d 22 X
+ s 47 2614 m -29 Y s 69 2614 m -4 -1 d -3 -4 d -1 -7 d -4 Y 1 -8 d 3 -4 d 4 -1 d
+ 3 X 4 1 d 3 4 d 1 8 d 4 Y -1 7 d -3 4 d -4 1 d -3 X cl s 97 2614 m -4 -1 d -3
+ -4 d -1 -7 d -4 Y 1 -8 d 3 -4 d 4 -1 d 3 X 4 1 d 3 4 d 2 8 d 4 Y -2 7 d -3 4 d
+ -4 1 d -3 X cl s 126 2614 m -5 -1 d -2 -4 d -2 -7 d -4 Y 2 -8 d 2 -4 d 5 -1 d 2
+ X 5 1 d 2 4 d 2 8 d 4 Y -2 7 d -2 4 d -5 1 d -2 X cl s 154 2614 m -4 -1 d -3 -4
+ d -2 -7 d -4 Y 2 -8 d 3 -4 d 4 -1 d 3 X 4 1 d 3 4 d 1 8 d 4 Y -1 7 d -3 4 d -4
+ 1 d -3 X cl s 49 2845 m -14 X -1 -13 d 1 2 d 5 1 d 4 X 4 -1 d 3 -3 d 1 -4 d -3
+ Y -1 -4 d -3 -3 d -4 -2 d -4 X -5 2 d -1 1 d -2 3 d s 69 2845 m -4 -2 d -3 -4 d
+ -1 -7 d -4 Y 1 -7 d 3 -4 d 4 -2 d 3 X 4 2 d 3 4 d 1 7 d 4 Y -1 7 d -3 4 d -4 2
+ d -3 X cl s 97 2845 m -4 -2 d -3 -4 d -1 -7 d -4 Y 1 -7 d 3 -4 d 4 -2 d 3 X 4 2
+ d 3 4 d 2 7 d 4 Y -2 7 d -3 4 d -4 2 d -3 X cl s 126 2845 m -5 -2 d -2 -4 d -2
+ -7 d -4 Y 2 -7 d 2 -4 d 5 -2 d 2 X 5 2 d 2 4 d 2 7 d 4 Y -2 7 d -2 4 d -5 2 d
+ -2 X cl s 154 2845 m -4 -2 d -3 -4 d -2 -7 d -4 Y 2 -7 d 3 -4 d 4 -2 d 3 X 4 2
+ d 3 4 d 1 7 d 4 Y -1 7 d -3 4 d -4 2 d -3 X cl s 212 1678 m 1799 X s 392 1710 m
+ -32 Y s 464 1694 m -16 Y s 536 1694 m -16 Y s 608 1694 m -16 Y s 680 1694 m -16
+ Y s 752 1710 m -32 Y s 824 1694 m -16 Y s 896 1694 m -16 Y s 968 1694 m -16 Y s
+ 1040 1694 m -16 Y s 1112 1710 m -32 Y s 1183 1694 m -16 Y s 1255 1694 m -16 Y s
+ 1327 1694 m -16 Y s 1399 1694 m -16 Y s 1471 1710 m -32 Y s 1543 1694 m -16 Y s
+ 1615 1694 m -16 Y s 1687 1694 m -16 Y s 1759 1694 m -16 Y s 1831 1710 m -32 Y s
+ 392 1710 m -32 Y s 320 1694 m -16 Y s 248 1694 m -16 Y s 1831 1710 m -32 Y s
+ 1903 1694 m -16 Y s 1975 1694 m -16 Y s 365 1640 m 25 X s 404 1651 m 3 1 d 4 5
+ d -30 Y s 704 1640 m 25 X s 747 1657 m -4 -2 d -3 -4 d -1 -7 d -4 Y 1 -7 d 3 -5
+ d 4 -1 d 3 X 4 1 d 3 5 d 2 7 d 4 Y -2 7 d -3 4 d -4 2 d -3 X cl s 770 1630 m -1
+ -2 d 1 -1 d 1 1 d -1 2 d cl s 798 1657 m -14 X -1 -13 d 1 1 d 4 2 d 5 X 4 -2 d
+ 3 -2 d 1 -5 d -2 Y -1 -5 d -3 -3 d -4 -1 d -5 X -4 1 d -1 2 d -2 3 d s 1110
+ 1657 m -4 -2 d -3 -4 d -1 -7 d -4 Y 1 -7 d 3 -5 d 4 -1 d 3 X 4 1 d 3 5 d 1 7 d
+ 4 Y -1 7 d -3 4 d -4 2 d -3 X cl s 1449 1657 m -4 -2 d -3 -4 d -2 -7 d -4 Y 2
+ -7 d 3 -5 d 4 -1 d 3 X 4 1 d 3 5 d 1 7 d 4 Y -1 7 d -3 4 d -4 2 d -3 X cl s
+ 1471 1630 m -1 -2 d 1 -1 d 2 1 d -2 2 d cl s 1500 1657 m -14 X -2 -13 d 2 1 d 4
+ 2 d 4 X 4 -2 d 3 -2 d 1 -5 d -2 Y -1 -5 d -3 -3 d -4 -1 d -4 X -4 1 d -2 2 d -1
+ 3 d s 1826 1651 m 3 1 d 4 5 d -30 Y s 1799 1254 212 1678 C /w 11
+ def /w2 {w 2 div} def /w3 {w 3 div} def 399 1679 413 1678 428 1678 442 1678 456
+ 1678 471 1678 485 1678 500 1678 514 1678 528 1678 543 1678 557 1678 572 1678
+ 586 1678 600 1678 615 1678 629 1678 644 1678 658 1678 672 1678 687 1678 701
+ 1678 716 1678 730 1678 744 1678 759 1678 773 1678 788 1678 802 1678 816 1678
+ 831 1678 845 1678 860 1678 874 1678 888 1678 903 1678 917 1678 932 1678 946
+ 1678 960 1679 975 1679 989 1679 1004 1679 1018 1679 1032 1679 1047 1679 1061
+ 1679 1076 1679 1090 1679 1104 1679 50 { m20} R 1104 1679 1119 1679 1133 1678
+ 1148 1678 1162 1678 1176 1678 1191 1678 1205 1678 1219 1678 1234 1678 1248 1679
+ 1263 1679 1277 1679 1291 1679 1306 1680 1320 1680 1335 1681 1349 1681 1363 1682
+ 1378 1683 1392 1683 1407 1683 1421 1684 1435 1684 1450 1684 1464 1683 1479 1683
+ 1493 1682 1507 1681 1522 1681 1536 1680 1551 1681 1565 1681 1579 1683 1594 1686
+ 1608 1690 1623 1695 1637 1700 1651 1706 1666 1712 1680 1715 1695 1716 1709 1712
+ 1723 1703 1738 1691 1752 1680 1767 1682 1781 1719 1795 1830 1810 2085 50 { m20
+} R 1810 2085 1824 2592 2 { m20} R 2223 3144 0 0 C 1886 1579 m -3 3 d -3 1 d -4
+ X -3 -1 d -3 -3 d -1 -4 d -3 Y 1 -4 d 3 -3 d 3 -1 d 4 X 3 1 d 3 3 d s 1901 1583
+ m -3 -1 d -2 -3 d -2 -4 d -3 Y 2 -4 d 2 -3 d 3 -1 d 4 X 3 1 d 3 3 d 2 4 d 3 Y
+ -2 4 d -3 3 d -3 1 d -4 X cl s 1936 1579 m -1 3 d -4 1 d -4 X -5 -1 d -1 -3 d 1
+ -3 d 3 -1 d 7 -2 d 3 -1 d 1 -3 d -1 Y -1 -3 d -4 -1 d -4 X -5 1 d -1 3 d s 1956
+ 1599 m -3 -3 d -2 -4 d -3 -6 d -2 -7 d -6 Y 2 -7 d 3 -5 d 2 -5 d 3 -2 d s 1973
+ 1593 m -3 -1 d -2 -3 d -2 -3 d -1 -4 d -7 Y 1 -4 d 2 -3 d 2 -3 d 3 -1 d 6 X 3 1
+ d 2 3 d 2 3 d 1 4 d 7 Y -1 4 d -2 3 d -2 3 d -3 1 d -6 X cl s 1972 1579 m 8 X s
+ 1996 1599 m 3 -3 d 2 -4 d 3 -6 d 2 -7 d -6 Y -2 -7 d -3 -5 d -2 -5 d -3 -2 d s
+ 52 2788 m 17 Y -3 X -2 -1 d -2 -2 d -1 -2 d -5 Y 1 -2 d 3 -3 d 4 -2 d 3 X 4 2 d
+ 3 3 d 2 2 d 5 Y -2 2 d -3 3 d s 44 2815 m 20 X s 49 2815 m -4 4 d -1 3 d 4 Y 1
+ 3 d 4 2 d 15 X s 34 2843 m 24 X 4 2 d 2 3 d 2 Y s 44 2839 m 10 Y s 44 2859 m 20
+ X s 52 2859 m -4 1 d -3 3 d -1 3 d 4 Y s 34 2876 m 1 1 d -1 2 d -2 -2 d 2 -1 d
+ cl s 44 2877 m 20 X s 52 2887 m 17 Y -3 X -2 -1 d -2 -2 d -1 -3 d -4 Y 1 -3 d 3
+ -2 d 4 -2 d 3 X 4 2 d 3 2 d 2 3 d 4 Y -2 3 d -3 3 d s 48 2928 m -3 -1 d -1 -5 d
+ -4 Y 1 -4 d 3 -1 d 3 1 d 1 3 d 2 7 d 1 3 d 3 1 d 1 X 3 -1 d 2 -5 d -4 Y -2 -4 d
+ -3 -1 d s 1799 1254 212 1678 C NC 1799 1254 212 212 bl 1799 1254 212 212 C 212
+ 212 m 180 X 19 Y 12 X -5 Y 6 X 2 Y 6 X -4 Y 6 X 1 Y 6 X 4 Y 6 X -3 Y 6 X -3 Y 6
+ X -3 Y 6 X -2 Y 12 X -3 Y 6 X -1 Y 6 X -1 Y 6 X -1 Y 6 X 2 Y 6 X -2 Y 6 X 2 Y 6
+ X -1 Y 6 X 2 Y 6 X 1 Y 6 X 1 Y 6 X -3 Y 6 X 4 Y 6 X -1 Y 6 X -1 Y 6 X 1 Y 6 X 1
+ Y 6 X -2 Y 12 X 1 Y 6 X -1 Y 6 X -2 Y 12 X 4 Y 6 X -4 Y 6 X 2 Y 6 X -1 Y 6 X -2
+ Y 6 X 1 Y 18 X -2 Y 6 X 4 Y 18 X 5 Y 6 X -5 Y 6 X 8 Y 6 X -4 Y 6 X 3 Y 6 X -3 Y
+ 6 X 2 Y 18 X 2 Y 6 X -1 Y 6 X -1 Y 6 X -4 Y 6 X 1 Y 6 X 3 Y 6 X -2 Y 6 X -2 Y 6
+ X -1 Y 6 X 1 Y 6 X 2 Y 12 X -2 Y 6 X 6 Y 6 X -8 Y 6 X s 818 216 m 4 Y 6 X -2 Y
+ 6 X -2 Y 6 X 2 Y 6 X -2 Y 6 X -1 Y 6 X 3 Y 6 X -2 Y 12 X 4 Y 6 X -2 Y 12 X 2 Y
+ 12 X 3 Y 6 X -1 Y 6 X -2 Y 6 X 4 Y 6 X 2 Y 6 X -5 Y 6 X 1 Y 6 X 8 Y 6 X -4 Y 6
+ X 3 Y 6 X 3 Y 6 X 2 Y 6 X -2 Y 6 X 7 Y 6 X -6 Y 6 X 4 Y 6 X -8 Y 6 X 11 Y 6 X
+ -6 Y 12 X 6 Y 6 X -2 Y 6 X -7 Y 6 X 3 Y 6 X -2 Y 6 X 14 Y 6 X -6 Y 6 X -7 Y 6 X
+ 3 Y 6 X -4 Y 6 X -1 Y 6 X 17 Y 6 X -12 Y 6 X 5 Y 6 X -9 Y 12 X 2 Y 6 X -6 Y 6 X
+ 5 Y 6 X 2 Y 6 X -6 Y 12 X 1 Y 6 X -4 Y 5 X 6 Y 6 X -3 Y 12 X 1 Y 6 X -10 Y 6 X
+ 2 Y 12 X 4 Y 12 X 8 Y 6 X -6 Y 6 X 4 Y 6 X -4 Y 6 X 7 Y 6 X 2 Y 6 X -2 Y 6 X 4
+ Y 6 X 1 Y 6 X 6 Y 6 X 2 Y 6 X 16 Y 6 X -7 Y 6 X 5 Y 6 X 6 Y 6 X 6 Y 6 X 9 Y 6 X
+ 7 Y 6 X 4 Y 6 X 1 Y 6 X 6 Y 6 X 9 Y 6 X 8 Y 6 X 23 Y 6 X -8 Y 6 X 10 Y 6 X 2 Y
+ 6 X -7 Y 6 X 23 Y 6 X -20 Y 6 X 22 Y 6 X 16 Y 6 X -10 Y 6 X -14 Y 6 X s 1423
+ 355 m 41 Y 6 X -11 Y 6 X -7 Y 6 X 14 Y 6 X -5 Y 6 X -6 Y 6 X 10 Y 6 X -34 Y 6 X
+ -16 Y 6 X 13 Y 6 X -11 Y 6 X -15 Y 6 X 9 Y 6 X -18 Y 6 X -3 Y 6 X -8 Y 6 X -21
+ Y 6 X 9 Y 6 X -2 Y 6 X 2 Y 6 X -8 Y 12 X 10 Y 6 X 14 Y 6 X -4 Y 6 X 35 Y 6 X 41
+ Y 6 X -8 Y 6 X 69 Y 6 X 26 Y 6 X 39 Y 6 X 73 Y 6 X 62 Y 6 X 48 Y 6 X 66 Y 6 X
+ 101 Y 6 X 56 Y 6 X 42 Y 6 X 69 Y 6 X 110 Y 6 X 13 Y 6 X 118 Y 6 X 8 Y 6 X 59 Y
+ 6 X 6 Y 6 X -20 Y 6 X -55 Y 6 X -88 Y 6 X -50 Y 6 X -89 Y 6 X -143 Y 6 X -113 Y
+ 6 X -199 Y 6 X -141 Y 6 X -108 Y 6 X -91 Y 6 X -32 Y 252 X s NC 212 212 m 1254
+ Y s 243 212 m -31 X s 228 245 m -16 X s 228 278 m -16 X s 228 312 m -16 X s 243
+ 345 m -31 X s 228 378 m -16 X s 228 411 m -16 X s 228 445 m -16 X s 243 478 m
+ -31 X s 228 511 m -16 X s 228 544 m -16 X s 228 578 m -16 X s 243 611 m -31 X s
+ 228 644 m -16 X s 228 677 m -16 X s 228 711 m -16 X s 243 744 m -31 X s 228 777
+ m -16 X s 228 810 m -16 X s 228 844 m -16 X s 243 877 m -31 X s 228 910 m -16 X
+ s 228 944 m -16 X s 228 977 m -16 X s 243 1010 m -31 X s 228 1043 m -16 X s 228
+ 1077 m -16 X s 228 1110 m -16 X s 243 1143 m -31 X s 228 1176 m -16 X s 228
+ 1210 m -16 X s 228 1243 m -16 X s 243 1276 m -31 X s 228 1309 m -16 X s 228
+ 1343 m -16 X s 228 1376 m -16 X s 243 1409 m -31 X s 243 1409 m -31 X s 228
+ 1442 m -16 X s 154 227 m -4 -2 d -3 -4 d -2 -7 d -4 Y 2 -7 d 3 -5 d 4 -1 d 3 X
+ 4 1 d 3 5 d 1 7 d 4 Y -1 7 d -3 4 d -4 2 d -3 X cl s 90 353 m 1 Y 2 3 d 1 1 d 3
+ 2 d 6 X 2 -2 d 2 -1 d 1 -3 d -3 Y -1 -3 d -3 -4 d -14 -14 d 20 X s 126 360 m -5
+ -2 d -2 -4 d -2 -7 d -4 Y 2 -7 d 2 -5 d 5 -1 d 2 X 5 1 d 2 5 d 2 7 d 4 Y -2 7 d
+ -2 4 d -5 2 d -2 X cl s 154 360 m -4 -2 d -3 -4 d -2 -7 d -4 Y 2 -7 d 3 -5 d 4
+ -1 d 3 X 4 1 d 3 5 d 1 7 d 4 Y -1 7 d -3 4 d -4 2 d -3 X cl s 103 493 m -14 -20
+ d 21 X s 103 493 m -30 Y s 126 493 m -5 -2 d -2 -4 d -2 -7 d -4 Y 2 -7 d 2 -5 d
+ 5 -1 d 2 X 5 1 d 2 5 d 2 7 d 4 Y -2 7 d -2 4 d -5 2 d -2 X cl s 154 493 m -4 -2
+ d -3 -4 d -2 -7 d -4 Y 2 -7 d 3 -5 d 4 -1 d 3 X 4 1 d 3 5 d 1 7 d 4 Y -1 7 d -3
+ 4 d -4 2 d -3 X cl s 107 621 m -1 3 d -4 2 d -3 X -4 -2 d -3 -4 d -2 -7 d -7 Y
+ 2 -6 d 3 -3 d 4 -1 d 1 X 4 1 d 3 3 d 2 5 d 1 Y -2 4 d -3 3 d -4 1 d -1 X -4 -1
+ d -3 -3 d -2 -4 d s 126 626 m -5 -2 d -2 -4 d -2 -7 d -4 Y 2 -7 d 2 -5 d 5 -1 d
+ 2 X 5 1 d 2 5 d 2 7 d 4 Y -2 7 d -2 4 d -5 2 d -2 X cl s 154 626 m -4 -2 d -3
+ -4 d -2 -7 d -4 Y 2 -7 d 3 -5 d 4 -1 d 3 X 4 1 d 3 5 d 1 7 d 4 Y -1 7 d -3 4 d
+ -4 2 d -3 X cl s 96 759 m -4 -2 d -2 -2 d -3 Y 2 -3 d 3 -2 d 5 -1 d 4 -1 d 3 -3
+ d 2 -3 d -4 Y -2 -3 d -1 -1 d -4 -2 d -6 X -4 2 d -2 1 d -1 3 d 4 Y 1 3 d 3 3 d
+ 4 1 d 6 1 d 3 2 d 1 3 d 3 Y -1 2 d -4 2 d -6 X cl s 126 759 m -5 -2 d -2 -4 d
+ -2 -7 d -4 Y 2 -7 d 2 -4 d 5 -2 d 2 X 5 2 d 2 4 d 2 7 d 4 Y -2 7 d -2 4 d -5 2
+ d -2 X cl s 154 759 m -4 -2 d -3 -4 d -2 -7 d -4 Y 2 -7 d 3 -4 d 4 -2 d 3 X 4 2
+ d 3 4 d 1 7 d 4 Y -1 7 d -3 4 d -4 2 d -3 X cl s 65 886 m 3 2 d 4 4 d -30 Y s
+ 97 892 m -4 -2 d -3 -4 d -1 -7 d -4 Y 1 -7 d 3 -4 d 4 -2 d 3 X 4 2 d 3 4 d 2 7
+ d 4 Y -2 7 d -3 4 d -4 2 d -3 X cl s 126 892 m -5 -2 d -2 -4 d -2 -7 d -4 Y 2
+ -7 d 2 -4 d 5 -2 d 2 X 5 2 d 2 4 d 2 7 d 4 Y -2 7 d -2 4 d -5 2 d -2 X cl s 154
+ 892 m -4 -2 d -3 -4 d -2 -7 d -4 Y 2 -7 d 3 -4 d 4 -2 d 3 X 4 2 d 3 4 d 1 7 d 4
+ Y -1 7 d -3 4 d -4 2 d -3 X cl s 65 1019 m 3 2 d 4 4 d -30 Y s 90 1018 m 1 Y 2
+ 3 d 1 1 d 3 2 d 6 X 2 -2 d 2 -1 d 1 -3 d -3 Y -1 -2 d -3 -5 d -14 -14 d 20 X s
+ 126 1025 m -5 -2 d -2 -4 d -2 -7 d -4 Y 2 -7 d 2 -4 d 5 -2 d 2 X 5 2 d 2 4 d 2
+ 7 d 4 Y -2 7 d -2 4 d -5 2 d -2 X cl s 154 1025 m -4 -2 d -3 -4 d -2 -7 d -4 Y
+ 2 -7 d 3 -4 d 4 -2 d 3 X 4 2 d 3 4 d 1 7 d 4 Y -1 7 d -3 4 d -4 2 d -3 X cl s
+ 65 1152 m 3 2 d 4 4 d -30 Y s 103 1158 m -14 -20 d 21 X s 103 1158 m -30 Y s
+ 126 1158 m -5 -1 d -2 -5 d -2 -7 d -4 Y 2 -7 d 2 -4 d 5 -2 d 2 X 5 2 d 2 4 d 2
+ 7 d 4 Y -2 7 d -2 5 d -5 1 d -2 X cl s 154 1158 m -4 -1 d -3 -5 d -2 -7 d -4 Y
+ 2 -7 d 3 -4 d 4 -2 d 3 X 4 2 d 3 4 d 1 7 d 4 Y -1 7 d -3 5 d -4 1 d -3 X cl s
+ 65 1285 m 3 2 d 4 4 d -30 Y s 107 1287 m -1 3 d -4 1 d -3 X -4 -1 d -3 -5 d -2
+ -7 d -7 Y 2 -5 d 3 -3 d 4 -2 d 1 X 4 2 d 3 3 d 2 4 d 1 Y -2 4 d -3 3 d -4 2 d
+ -1 X -4 -2 d -3 -3 d -2 -4 d s 126 1291 m -5 -1 d -2 -5 d -2 -7 d -4 Y 2 -7 d 2
+ -4 d 5 -2 d 2 X 5 2 d 2 4 d 2 7 d 4 Y -2 7 d -2 5 d -5 1 d -2 X cl s 154 1291 m
+ -4 -1 d -3 -5 d -2 -7 d -4 Y 2 -7 d 3 -4 d 4 -2 d 3 X 4 2 d 3 4 d 1 7 d 4 Y -1
+ 7 d -3 5 d -4 1 d -3 X cl s 65 1418 m 3 2 d 4 4 d -30 Y s 96 1424 m -4 -1 d -2
+ -3 d -3 Y 2 -3 d 3 -1 d 5 -2 d 4 -1 d 3 -3 d 2 -3 d -4 Y -2 -3 d -1 -1 d -4 -2
+ d -6 X -4 2 d -2 1 d -1 3 d 4 Y 1 3 d 3 3 d 4 1 d 6 2 d 3 1 d 1 3 d 3 Y -1 3 d
+ -4 1 d -6 X cl s 126 1424 m -5 -1 d -2 -5 d -2 -7 d -4 Y 2 -7 d 2 -4 d 5 -2 d 2
+ X 5 2 d 2 4 d 2 7 d 4 Y -2 7 d -2 5 d -5 1 d -2 X cl s 154 1424 m -4 -1 d -3 -5
+ d -2 -7 d -4 Y 2 -7 d 3 -4 d 4 -2 d 3 X 4 2 d 3 4 d 1 7 d 4 Y -1 7 d -3 5 d -4
+ 1 d -3 X cl s 212 212 m 1799 X s 392 243 m -31 Y s 464 228 m -16 Y s 536 228 m
+ -16 Y s 608 228 m -16 Y s 680 228 m -16 Y s 752 243 m -31 Y s 824 228 m -16 Y s
+ 896 228 m -16 Y s 968 228 m -16 Y s 1040 228 m -16 Y s 1112 243 m -31 Y s 1183
+ 228 m -16 Y s 1255 228 m -16 Y s 1327 228 m -16 Y s 1399 228 m -16 Y s 1471 243
+ m -31 Y s 1543 228 m -16 Y s 1615 228 m -16 Y s 1687 228 m -16 Y s 1759 228 m
+ -16 Y s 1831 243 m -31 Y s 392 243 m -31 Y s 320 228 m -16 Y s 248 228 m -16 Y
+ s 1831 243 m -31 Y s 1903 228 m -16 Y s 1975 228 m -16 Y s 365 174 m 25 X s 404
+ 185 m 3 1 d 4 5 d -30 Y s 704 174 m 25 X s 747 191 m -4 -2 d -3 -4 d -1 -7 d -4
+ Y 1 -7 d 3 -5 d 4 -1 d 3 X 4 1 d 3 5 d 2 7 d 4 Y -2 7 d -3 4 d -4 2 d -3 X cl s
+ 770 164 m -1 -2 d 1 -1 d 1 1 d -1 2 d cl s 798 191 m -14 X -1 -13 d 1 1 d 4 2 d
+ 5 X 4 -2 d 3 -3 d 1 -4 d -3 Y -1 -4 d -3 -3 d -4 -1 d -5 X -4 1 d -1 2 d -2 3 d
+ s 1110 191 m -4 -2 d -3 -4 d -1 -7 d -4 Y 1 -7 d 3 -5 d 4 -1 d 3 X 4 1 d 3 5 d
+ 1 7 d 4 Y -1 7 d -3 4 d -4 2 d -3 X cl s 1449 191 m -4 -2 d -3 -4 d -2 -7 d -4
+ Y 2 -7 d 3 -5 d 4 -1 d 3 X 4 1 d 3 5 d 1 7 d 4 Y -1 7 d -3 4 d -4 2 d -3 X cl s
+ 1471 164 m -1 -2 d 1 -1 d 2 1 d -2 2 d cl s 1500 191 m -14 X -2 -13 d 2 1 d 4 2
+ d 4 X 4 -2 d 3 -3 d 1 -4 d -3 Y -1 -4 d -3 -3 d -4 -1 d -4 X -4 1 d -2 2 d -1 3
+ d s 1826 185 m 3 1 d 4 5 d -30 Y s 1799 1254 212 212 C 399 232 412 227 426 225
+ 440 221 453 217 467 214 481 213 494 213 508 215 522 216 535 218 549 219 563 218
+ 576 218 590 216 604 215 617 214 631 214 645 214 658 215 672 216 686 218 699 219
+ 713 221 727 221 740 222 754 222 768 221 781 220 795 219 809 218 822 218 836 217
+ 850 217 864 218 877 218 891 220 905 222 918 224 932 226 946 228 959 230 973 232
+ 987 233 1000 235 1014 235 1028 236 1041 236 1055 236 1069 235 50 { m20} R 1069
+ 235 1082 234 1096 233 1110 232 1123 231 1137 230 1151 229 1164 227 1178 227
+ 1192 226 1205 226 1219 228 1233 230 1246 233 1260 238 1274 245 1288 254 1301
+ 265 1315 278 1329 292 1342 307 1356 323 1370 339 1383 353 1397 366 1411 375
+ 1424 380 1438 380 1452 375 1465 365 1479 351 1493 333 1506 314 1520 298 1534
+ 288 1547 289 1561 307 1575 346 1588 412 1602 506 1616 628 1629 776 1643 938
+ 1657 1097 1670 1230 1684 1306 1698 1291 1711 1158 1725 901 1739 561 50 { m20} R
+ 1739 561 1753 268 2 { m20} R 2223 3144 0 0 C 1886 113 m -3 3 d -3 1 d -4 X -3
+ -1 d -3 -3 d -1 -4 d -3 Y 1 -4 d 3 -3 d 3 -2 d 4 X 3 2 d 3 3 d s 1901 117 m -3
+ -1 d -2 -3 d -2 -4 d -3 Y 2 -4 d 2 -3 d 3 -2 d 4 X 3 2 d 3 3 d 2 4 d 3 Y -2 4 d
+ -3 3 d -3 1 d -4 X cl s 1936 113 m -1 3 d -4 1 d -4 X -5 -1 d -1 -3 d 1 -3 d 3
+ -1 d 7 -2 d 3 -1 d 1 -3 d -1 Y -1 -3 d -4 -2 d -4 X -5 2 d -1 3 d s 1956 133 m
+ -3 -3 d -2 -4 d -3 -6 d -2 -7 d -6 Y 2 -7 d 3 -5 d 2 -5 d 3 -2 d s 1973 127 m
+ -3 -1 d -2 -3 d -2 -3 d -1 -4 d -7 Y 1 -5 d 2 -2 d 2 -3 d 3 -2 d 6 X 3 2 d 2 3
+ d 2 2 d 1 5 d 7 Y -1 4 d -2 3 d -2 3 d -3 1 d -6 X cl s 1972 113 m 8 X s 1996
+ 133 m 3 -3 d 2 -4 d 3 -6 d 2 -7 d -6 Y -2 -7 d -3 -5 d -2 -5 d -3 -2 d s 52
+ 1322 m 17 Y -3 X -2 -1 d -2 -2 d -1 -3 d -4 Y 1 -3 d 3 -2 d 4 -2 d 3 X 4 2 d 3
+ 2 d 2 3 d 4 Y -2 3 d -3 3 d s 44 1349 m 20 X s 49 1349 m -4 4 d -1 3 d 4 Y 1 3
+ d 4 2 d 15 X s 34 1377 m 24 X 4 2 d 2 2 d 3 Y s 44 1373 m 10 Y s 44 1393 m 20 X
+ s 52 1393 m -4 1 d -3 3 d -1 3 d 4 Y s 34 1410 m 1 1 d -1 2 d -2 -2 d 2 -1 d cl
+ s 44 1411 m 20 X s 52 1421 m 17 Y -3 X -2 -1 d -2 -2 d -1 -3 d -4 Y 1 -3 d 3 -3
+ d 4 -1 d 3 X 4 1 d 3 3 d 2 3 d 4 Y -2 3 d -3 3 d s 48 1462 m -3 -2 d -1 -4 d -4
+ Y 1 -4 d 3 -2 d 3 2 d 1 3 d 2 7 d 1 2 d 3 2 d 1 X 3 -2 d 2 -4 d -4 Y -2 -4 d -3
+ -2 d s 1799 1254 212 212 C gr 
+showpage
+ gr 
+ gr  gr 
+%%Trailer
+cleartomark
+countdictstack exch sub { end } repeat
+restore
+%%EOF
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/plots/fissionu238.tc.15mev.energy.epsi
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/plots/fissionu238.tc.15mev.energy.epsi	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/plots/fissionu238.tc.15mev.energy.epsi	(revision 1208)
@@ -0,0 +1,801 @@
+%!PS-Adobe-2.0 EPSF-1.2
+%%Title: fissionu238.tc.15mev.energy.ps (Portrait A 4)
+%%Creator: HIGZ Version 1.23/09
+%%CreationDate: 98/08/22   14.44
+%%For:jwellisc jwellisc
+%%Pages: 1
+%%DocumentFonts:
+%%BoundingBox: 27 166 527 659
+%%BeginPreview: 501 492 1 492
+% 0000000000000000000000000000000000220600400100000000036000c0000000010461f0c00087c082000000000100000000000000000000000000000000
+% 000000000000000000000000000000000022040040010000000006400040000000010498132001840086020800000100000000000000000000000000000000
+% 000000000000000000000000000000000022000040010000000004000000000000010488221003840086011000000100000000000000000000000000000000
+% 00000000000000000000000000000000007ae4b3c071e3e7871e0f4f9e471f03c781040861e0008780ca79103c79139ef1e3c0000000000000000000000000
+% 00000000000000000000000000000000002324c44081262448220448a24891062481041011e0008440cac91024c91111892440000000000000000000000000
+% 000000000000000000000000000000000022248440811424503f044e18509104244104200a10008040cafca022fd1111091380000000000000000000000000
+% 000000000000000000000000000000000022248440811424502004418650910424410c401a10008040b280a0228111110910c0000000000000000000000000
+% 00000000000000000000000000000000002224844089122448a20448a2489102644088811212008c40b2484022491110991440000000000000000000000000
+% 00000000000000000000000000000000001a2483c07113e4471e044f9e471103c440f1f9f1e20087808278002278f1d0f113c0000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800
+% 010000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 128000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 168000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 148000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 1d8000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 1d8000000001f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 148000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 148000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 148000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0f0000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 400000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% df8000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 100000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 1078f1e1e001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0c890b121001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 1f810a121001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00f90a0a1001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 10890a1a1001ff8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 11850a121001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 7f8909123001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 1058a1a14001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00306040c001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 1f8000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 100000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 100000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 100000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 1f8000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 1d8000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 148000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 148000000001f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 158000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0f0000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000001f8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000000128000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000000158000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000000188000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000000188000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001f0000000000000018c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00000000000100000000000000010c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00000000000100000000000000010a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00000000000100000000000000010a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00000000000100000000000000030a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000000309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000003f09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000002209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000002208800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000002208800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000002408800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000002408800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000002408800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000002408400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001f00000000000002408400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000002408400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000002408400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000002c08200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000002808200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000002808200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000002808200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00000000000100000000000000280fe00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000002800500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000002800500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000002800500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000002800500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000002800500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000003000480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001f00000000000003000480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000003000480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000030007e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000030000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000030000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000003000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000003000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000003000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000003000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000002000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00f8e0e1c001000000000000002000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 008091122001000000000000002000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00810b121001000000000000002000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00f90a121001000000000000002000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00890a0a1001ff8000000000002000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00050a1a1001000000000000002000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000d0a121001000000000000002000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 008999123001000000000000002000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00f8f1e1e001000000000000002000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000002000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000002000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000002000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000002000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000002000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000006000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000006000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000006000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000006000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001f00000000000006000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000006000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000006000024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000006000024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000006000024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00000000000100000000000003e000024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00000000000100000000000002400003f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000024000005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000024000005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000024000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000024000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000028000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000028000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000028000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001f00000000000028000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000028000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000028000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000028000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000028000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000028000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000028000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000028000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000028000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000028000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000028000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000028000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000028000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000028000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000030000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001f00000000000030000001400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000030000001400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000030000001400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000030000001400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000030000001400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000030000001400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000030000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000030000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000030000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000030000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000030000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000030000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000030000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000030000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001f00000000000030000001f80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000030000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000030000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000030000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000030000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000030000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000030000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000030000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000030000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000030000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0010f1e1e001000000000000030000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 003109123001000000000000030000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00310a1210010000000000000200000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00510a0a10010000000000000200000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00910a0a1001ff80000000000200000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00fd0a1210010000000000000200000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0011091230010000000000000200000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0010b1a160010000000000000200000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00106040c0010000000000000200000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000200000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000200000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000200000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000200000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000200000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000200000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000020000000090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000020000000090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000020000000090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001f00000000000020000000090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000020000000090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000020000000090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000020000000088000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000020000000088000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000020000000088000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000020000000088000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000020000000088000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000088000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000600000000fc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001f00000000000060000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001f00000000000060000000004800000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000004800000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000004800000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000004800000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000004800000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000004800000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000060000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000e0000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000a0000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000a0000000004200000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000a0000000004200000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001f000000000000a0000000004200000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000a0000000007e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000a0000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000a0000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000a0000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000a0000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000a0000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000a0000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000a0000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000a0000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00f860c0c0010000000000000a0000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0008912120010000000000000a0000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00110b1210010000000000000a0000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00310a1210010000000000000a0000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00090a0a1001ff80000000000a0000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00050a1a10010000000000000a0000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000d0a1210010000000000000a0000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0089991230010000000000000a0000000000240000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00f8f1e1e0010000000000000a0000000000240000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000a0000000000240000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000a0000000000240000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000a00000000003f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000a0000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000a0000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000a0000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000a0000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000a0000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000a0000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001f000000000000a0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000a0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000a0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000a0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000a0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000000a0000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000001a0000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000120000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000120000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000120000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000120000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000120000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000120000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000120000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000120000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001f00000000000120000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000120000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000120000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000120000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000120000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000120000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000120000000000011000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000120000000000011000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000120000000000011000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000120000000000011000000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00000000000100000000000012000000000001f800000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000007e0000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000500000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000500000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001f00000000000500000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000500000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000500000000000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000500000000000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000500000000000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000500000000000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000500000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000500000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000500000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000500000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000500000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000500000000000000900000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000500000000000000900000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000500000000000000900000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001f00000000000500000000000000900000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000500000000000000880000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000500000000000000880000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000500000000000000880000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000500000000000000fc0000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000005000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000500000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0078f1e1e001000000000000400000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 008909123001000000000000400000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00890a121001000000000000400000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00090a1a1001000000000000400000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00110a0a1001ff8000000000400000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00210a121001000000000000400000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 004109123001000000000000400000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0080b1a16001000000000000400000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00fc6040c001000000000000400000000000000048000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000048000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00000000000100000000000040000000000000007e000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00000000000100000000000040000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001f00000000000400000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000002800000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000002800000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000002800000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000002800000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000003f00000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001f00000000000400000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000004000000000000000001f8000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001f00000000000400000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00000000000100000000000040000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00000000000100000000000040000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00000000000100000000000040000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00000000000100000000000040000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00000000000100000000000040000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00000000000100000000000040000000000000000000fc00000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000001400000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000001400000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001f00000000000400000000000000000000c00000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000c00000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 001060c0c0010000000000004000000000000000000007e0000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0030912120010000000000004000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00510b121001000000000000400000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00110a121001000000000000400000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00110a0a1001ff8000000000400000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00110a1a1001000000000000400000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00110a121001000000000000400000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 001109123001000000000000400000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0010f1e1e001000000000000400000000000000000000028000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000028000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000028000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00000000000100000000000040000000000000000000003e000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000002800000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000002800000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001f00000000000400000000000000000000003f00000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000110000000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000004000000000000000000000001f8000000000000000000000000000000000000000000000000000000000000000000000000800
+% 00000000000100000000000040000000000000000000000000fc00000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001f00000000000400000000000000000000000001400000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000001400000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000004000000000000000000000000007e0000000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000004000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000800
+% 00000000000100000000000040000000000000000000000000003f000000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001f00000000000400000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000000001f80000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000004000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000004000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000000000098000000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000004000000000000000000000000000000fc000000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000000000007e00000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000004000000000000000000000000000000003f0000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001f00000000000400000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000000000000011c00000000000000000000000000000000000000000000000000000000000000800
+% 00000000000100000000000040000000000000000000000000000000001ffc0000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000800
+% 00000000000100000000000040000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000800
+% 000000000001000000000000400000000000000000000000000000000000003f00000000000000000000000000000000000000000000000000000000000800
+% 0000000000010000000000004000000000002000000000001000000000000403f8000000020000000000008000000000004000000000002000000000000800
+% 00000000000100000000000040000000000020000000000010000000000004003c7e0000020000000000008000000000004000000000002000000000000800
+% 00000000000100000000000040000000000020000000000010000000000004000ff20000020000000000008000000000004000000000002000000000000800
+% 0000000000010000000000004000000000002000000000001000000000000400000fe000020000000000008000000000004000000000002000000000000800
+% 00000001e00100080080080040040040020020020010010010008008008004004003ffe0020010010010008008008004004004002002002001001001000800
+% 00000002200100080080080040040040020020020010010010008008008004004002013ffe0010010010008008008004004004002002002001001001000800
+% 0000000210010008008008004004004002002002001001001000800800800400400200f80fffffe10010008008008004004004002002002001001001000800
+% 00000002100100080080080040040040020020020010010010008008008004004002002003ff1fffffffff8008008004004004002002002001001001000800
+% 000000021001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800
+% 000000021000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000021000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 00000000c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 0000000000001c0000000000c00000000000700000000000040000000000060000000000070000000000081800000000020c00000000010100000000008180
+% 000000000000360000000001200000000000d800000000000c0000000000190000000000088000000000182400000000061300000000030300000000008240
+% 0000000000002200000000021000000000008800000000001400000000001100000000000880000000003842000000000e2100000000070300000000018600
+% 0000000000000200000000021000000000000800000000001400000000001400000000000d8000000000084200000000020100000000010500000000008580
+% 0000000000000400000000021000000000001000000000002400000000001a00000000000f8000000000084200000000020200000000010900000000008640
+% 0000000000ff080000000002100000000000200000000000440000000000110000000000088000000000084200000000020400000000010900000000008620
+% 0000000000001000000000021000000000004000000000007e0000000000110000000000084000000000084200000000020800000000010fc0000000008420
+% 000000000000200000000002100000000000800000000000040000000000110000000000084000000000084600000000021000000000010100000000008260
+% 0000000000007f0000000001e00000000001fc00000000000400000000000e00000000000f8000000000083c00000000023f000000000101000000000083c0
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ff001d040417000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050011040213000
+% 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010500118c0213000
+% 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000118c7923000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e00011548923000
+% 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100001154f923000
+% 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010058115480c3000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001004f112488c3000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f84d1d047007000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006d00000000000
+% 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004d40000000000
+%%EndImage
+%%EndPreview
+save
+countdictstack
+mark
+newpath
+/showpage {} def
+%%EndProlog
+%%Page 1 1
+/s {stroke} def /l {lineto} def /m {moveto} def /t {translate} def
+/sw {stringwidth} def /r {rotate} def /rl {roll}  def /R {repeat} def
+/d {rlineto} def /rm {rmoveto} def /gr {grestore} def /f {eofill} def
+/c {setrgbcolor} def /lw {setlinewidth} def /sd {setdash} def
+/cl {closepath} def /sf {scalefont setfont} def /black {0 setgray} def
+/box {m dup 0 exch d exch 0 d 0 exch neg d cl} def
+/NC{systemdict begin initclip end}def/C{NC box clip newpath}def
+/bl {box s} def /bf {box f} def /Y { 0 exch d} def /X { 0 d} def 
+/mp {newpath /y exch def /x exch def} def
+/side {[w .77 mul w .23 mul] .385 w mul sd w 0 l currentpoint t -144 r} def
+/mr {mp x y w2 0 360 arc} def /m24 {mr s} def /m20 {mr f} def
+/mb {mp x y w2 add m w2 neg 0 d 0 w neg d w 0 d 0 w d cl} def
+/mt {mp x y w2 add m w2 neg w neg d w 0 d cl} def
+/m21 {mb f} def /m25 {mb s} def /m22 {mt f} def /m26 {mt s} def
+/m23 {mp x y w2 sub m w2 w d w neg 0 d cl f} def
+/m27 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3  w2 d cl s} def
+/m28 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d
+ 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d
+ 0 w3 neg d w3 neg 0 d cl s } def
+/m29 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t
+ 4 {side} repeat cl fill gr} def
+/m30 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t
+ 5 {side} repeat s gr} def
+/m31 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d
+ x w2 sub y w2 add m w w neg d x w2 sub y w2
+ sub m w w d s} def
+/m2 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d s} def
+/m5 {mp x w2 sub y w2 sub m w w d x w2 sub y w2 add m w w neg d s} def
+/DP {/PT exch def gsave 47.2 47.2 scale PT 1  eq { 16 16 1 [ 16 0 0 16 neg 0 16
+] { < AA AA 55 55 AA AA 55 55 AA AA 55 55 AA AA 55 55 AA AA 55 55 AA AA 55 55
+AA AA 55 55 AA AA 55 55 > } image } if PT 2 eq { 16 16 1 [ 16 0 0 16 neg 0 16
+] { < BB BB EE EE BB BB EE EE BB BB EE EE BB BB EE EE BB BB EE EE BB BB EE EE
+BB BB EE EE BB BB EE EE > } image } if PT 3 eq { 16 16 1 [ 16 0 0 16 neg 0 16
+] { < FF FF BB BB FF FF EE EE FF FF BB BB FF FF EE EE FF FF BB BB FF FF EE EE
+FF FF BB BB FF FF EE EE > } image } if PT 4 eq { 16 16 1 [ 16 0 0 16 neg 0 16
+] { < DF DF BF BF 7F 7F FE FE FD FD FB FB F7 F7 EF EF DF DF BF BF 7F 7F FE FE
+FD FD FB FB F7 F7 EF EF > } image } if PT 5 eq { 16 16 1 [ 16 0 0 16 neg 0 16
+] { < 7F 7F BF B F DF DF EF EF F7 F7 FB FB FD FD FE FE 7F 7F BF BF DF DF EF
+EF F7 F7 FB FB FD FD FE FE > } image } if PT 6 eq { 16 16 1 [ 16 0 0 16 neg 0
+16 ] { < BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB
+BB BB BB BB BB BB BB BB BB > } image } if PT 7 eq { 16 16 1 [ 16 0 0 16 neg 0
+16 ] { < FF FF FF FF FF FF 00 00 FF FF FF FF FF FF 00 00 FF FF FF FF FF FF 00
+00 FF FF FF FF FF FF 00 00 > } image } if PT 8 eq { 16 16 1 [ 16 0 0 16 neg 0
+16 ] { < EE EE 47 47 83 83 C5 C5 EE EE 5C 5C 38 38 74 74 EE EE 47 47 83 83 C5
+C5 EE EE 5C 5C 38 38 74 74 > } image } if PT 9 eq { 16 16 1 [ 16 0 0 16 neg 0
+16 ] { < EF EF EF EF D7 D7 38 38 FE FE FE FE 7D 7D 83 83 EF EF EF EF D7 D7 38
+38  FE FE FE FE 7D 7D 83 83 > } image } if PT 10 eq { 16 16 1 [ 16 0 0 16 neg
+0 16 ] { <  EF EF EF EF EF EF 00 00 FE FE FE FE FE FE 00 00 EF EF EF EF EF EF
+00 00 FE FE FE FE FE FE 00 00 > } image } if PT 11 eq { 16 16 1 [ 16 0 0 16
+neg 0 16 ] { < F7 F7 B6 B6 D5 D5 E3 E3 D5 D5 B6 B6 F7 F7 FF FF 7F 7F 6B 6B 5D
+5D 3E 3E 5D 5D 6B 6B 7F 7F FF FF > } image } if PT 12 eq { 16 16 1 [ 16 0 0
+16 neg 0 16 ] { < E3 E3 DD DD BE BE BE BE BE BE DD DD E3 E3 FF FF 3E 3E DD DD
+EB EB EB EB EB EB DD DD 3E 3E FF FF > } image } if PT 13 eq { 16 16 1 [ 16 0
+0 16 neg 0 16 ] { <  FE FE 7D 7D BB BB D7 D7 EF EF D7 D7 BB BB 7D 7D FE FE 7D
+7D BB BB D7 D7 EF EF D7 D7 BB BB 7D 7D > } image } if PT 14 eq { 16 16 1 [ 16
+0 0 16 neg 0 16 ] { < 00 00 EE EF EE EF EE EF 0E E0 EE EE EE EE EE EE 00 EE
+FE EE FE EE FE EE 00 00 FE EF FE EF FE EF > } image } if PT 15 eq { 16 16 1 [
+16 0 0 16 neg 0 16 ] { < DD DD AA AA DD DD FF FF 77 77 AA AA 77 77 FF FF DD
+DD AA AA DD DD FF FF 77 77 AA AA 77 77 FF FF > } image } if PT 16 eq { 16 16
+1 [ 16 0 0 16 neg 0 16 ] { <  F1 F1 EE EE 1F 1F FF FF F1 F1 EE EE 1F 1F FF FF
+F1 F1 EE EE 1F 1F FF FF F1 F1 EE EE 1F 1F FF FF > } image } if PT 17 eq { 16
+16 1 [ 16 0 0 16 neg 0 16 ] { <  EE EE DD DD BB BB FF FF EE EE DD DD BB BB FF
+ FF EE EE DD DD BB BB FF FF EE EE DD DD BB BB FF FF > } image } if PT 18 eq {
+16 16 1 [ 16 0 0 16 neg 0 16 ] { <  BB BB DD DD EE EE FF FF BB BB DD DD EE EE
+FF FF BB BB DD DD EE EE FF FF BB BB DD DD EE EE FF FF > } image } if PT 19 eq
+{ 16 16 1 [ 16 0 0 16 neg 0 16 ] { < 1F FC 67 F3 7B EF BD DE BD DE DE BD E6
+B3 F8 0F E6 B3 DE BD BD DE BD DE 7B EF 67 F3 1F FC 7F FF > } image } if PT
+20 eq { 16 16 1 [ 16 0 0 16 neg 0 16 ] { < DD DD EE EE EE EE EE EE DD DD BB
+BB BB BB BB BB DD DD EE EE EE EE EE EE DD DD BB BB BB BB BB BB > } image }
+if PT 21 eq { 16 16 1 [ 16 0 0 16 neg 0 16 ] { < 0E 0E EF EF EF EF EF EF E0
+E0 FE FE FE FE FE FE 0E 0E EF EF EF EF EF EF E0 E0 FE FE FE FE FE FE > }
+image }  if PT 22 eq { 16 16 1 [ 16 0 0 16 neg 0 16 ] { < 70 70 F7 F7 F7 F7 F7
+F7 07 07 7F 7F 7F 7F 7F 7F 70 70 F7 F7 F7 F7 F7 F7 07 07 7F 7F 7F 7F 7F 7F >
+} image } if PT 23 eq  { 16 16 1 [ 16 0 0 16 neg 0 16 ] { < AA AA 55 55 A9 A9
+D1 D1 E1 E1 D1 D1 A9 A9 55 55 AA AA 55 55 A9 A9 D1 D1 E1 E1 D1 D1 A9 A9 55 55
+> } image } if PT 24 eq { 16 16 1 [ 16 0 0 16 neg 0 16 ] { < FF FE FF FC EA
+A8 D5 54 EA A8 D5 54 E8 28 D4 54 E8 E8 D4 D4 E8 EA 54 D5 A8 EA 54 D5 00 C0 00
+80 > } image } if PT 25 eq {  16 16 1 [ 16 0 0 16 neg 0 16 ] { < FF FE FF FC
+FF F8 FF F0 F0 00 F0 00 F0 20 F0 60 F0 E0 F1 E0 F3 E0 F0 00 E0 00 C0 00 80 00
+00 00 > } image } if gr } def /FA { /PT exch def gsave clip 0 0 translate 1 1
+54 { 1 sub 47.2 mul /Xcurr exch def 1 1 74 { 1 sub 47.2 mul /Ycurr exch def
+gsave Xcurr Ycurr translate PT DP gr } for } for gr newpath } def
+/reencdict 24 dict def /ReEncode {reencdict begin /nco&na exch def
+/nfnam exch def /basefontname exch def /basefontdict basefontname findfont def
+/newfont basefontdict maxlength dict def basefontdict {exch dup /FID ne
+{dup /Encoding eq {exch dup length array copy newfont 3 1 roll put} {exch
+newfont 3 1 roll put} ifelse} {pop pop} ifelse } forall newfont
+/FontName nfnam put nco&na aload pop nco&na length 2 idiv {newfont
+/Encoding get 3 1 roll put} repeat nfnam newfont definefont pop end } def
+/accvec [ 176 /agrave 181 /Agrave 190 /acircumflex 192 /Acircumflex
+201 /adieresis 204 /Adieresis 209 /ccedilla 210 /Ccedilla 211 /eacute
+212 /Eacute 213 /egrave 214 /Egrave 215 /ecircumflex 216 /Ecircumflex
+217 /edieresis 218 /Edieresis 219 /icircumflex 220 /Icircumflex
+221 /idieresis 222 /Idieresis 223 /ntilde 224 /Ntilde 226 /ocircumflex
+228 /Ocircumflex 229 /odieresis 230 /Odieresis 231 /ucircumflex 236 /Ucircumflex
+237 /udieresis 238 /Udieresis 239 /aring 242 /Aring 243 /ydieresis
+244 /Ydieresis 246 /aacute 247 /Aacute 252 /ugrave 253 /Ugrave] def
+/Times-Roman /Times-Roman accvec ReEncode
+/Times-Italic /Times-Italic accvec ReEncode
+/Times-Bold /Times-Bold accvec ReEncode
+/Times-BoldItalic /Times-BoldItalic accvec ReEncode
+/Helvetica /Helvetica accvec ReEncode
+/Helvetica-Oblique /Helvetica-Oblique accvec ReEncode
+/Helvetica-Bold /Helvetica-Bold accvec ReEncode
+/Helvetica-BoldOblique /Helvetica-BoldOblique  accvec ReEncode
+/Courier /Courier accvec ReEncode
+/Courier-Oblique /Courier-Oblique accvec ReEncode
+/Courier-Bold /Courier-Bold accvec ReEncode
+/Courier-BoldOblique /Courier-BoldOblique accvec ReEncode
+/oshow {gsave [] 0 sd true charpath stroke gr} def
+/stwn { /fs exch def /fn exch def /text exch def fn findfont fs sf
+ text sw pop xs add /xs exch def} def
+/stwb { /fs exch def /fn exch def /nbas exch def /textf exch def
+textf length /tlen exch def nbas tlen gt {/nbas tlen def} if
+fn findfont fs sf textf dup length nbas sub nbas getinterval sw
+pop neg xs add /xs exch def} def
+/accspe [ 65 /plusminus 66 /bar 67 /existential 68 /universal
+69 /exclam 70 /numbersign 71 /greater 72 /question 73 /integral
+74 /colon 75 /semicolon 76 /less 77 /bracketleft 78 /bracketright
+79 /greaterequal 80 /braceleft 81 /braceright 82 /radical
+83 /spade 84 /heart 85 /diamond 86 /club 87 /lessequal
+88 /multiply 89 /percent 90 /infinity 48 /circlemultiply 49 /circleplus
+50 /emptyset 51 /lozenge 52 /bullet 53 /arrowright 54 /arrowup
+55 /arrowleft 56 /arrowdown 57 /arrowboth 48 /degree 44 /comma 43 /plus
+ 45 /angle 42 /angleleft 47 /divide 61 /notequal 40 /equivalence 41 /second
+ 97 /approxequal 98 /congruent 99 /perpendicular 100 /partialdiff 101 /florin
+ 102 /intersection 103 /union 104 /propersuperset 105 /reflexsuperset
+ 106 /notsubset 107 /propersubset 108 /reflexsubset 109 /element 110 /notelement
+ 111 /gradient 112 /logicaland 113 /logicalor 114 /arrowdblboth
+ 115 /arrowdblleft 116 /arrowdblup 117 /arrowdblright 118 /arrowdbldown
+ 119 /ampersand 120 /omega1 121 /similar 122 /aleph ] def
+/Symbol /Special accspe ReEncode
+/Zone {/iy exch def /ix exch def  ix 1 sub  2224 mul  1 iy sub  3144
+ mul t} def
+ gsave  20 28 t .25 .25 scale  gsave 
+ gsave 
+ 1 1 Zone
+ gsave 0 0 t black [] 0 sd 1 lw 1779 1778 222 683 bl 1779 1778 222 683 C 2223
+ 2224 0 460 C 587 2517 m -25 Y 1 -5 d 3 -1 d 3 X s 582 2506 m 11 X s 603 2517 m
+ -31 Y s 603 2500 m 5 5 d 3 1 d 4 X 3 -1 d 1 -5 d -14 Y s 630 2517 m 1 -2 d 2 2
+ d -2 1 d -1 -1 d cl s 631 2506 m -20 Y s 643 2506 m -20 Y s 643 2498 m 2 4 d 3
+ 3 d 3 1 d 4 X s 679 2517 m -31 Y s 679 2502 m -3 3 d -3 1 d -5 X -3 -1 d -3 -3
+ d -1 -4 d -3 Y 1 -5 d 3 -3 d 3 -1 d 5 X 3 1 d 3 3 d s 722 2502 m -3 3 d -3 1 d
+ -5 X -3 -1 d -3 -3 d -1 -4 d -3 Y 1 -5 d 3 -3 d 3 -1 d 5 X 3 1 d 3 3 d s 732
+ 2517 m -31 Y s 732 2500 m 5 5 d 3 1 d 4 X 3 -1 d 1 -5 d -14 Y s 777 2506 m -20
+ Y s 777 2502 m -3 3 d -3 1 d -5 X -3 -1 d -3 -3 d -1 -4 d -3 Y 1 -5 d 3 -3 d 3
+ -1 d 5 X 3 1 d 3 3 d s 788 2506 m -20 Y s 788 2500 m 5 5 d 3 1 d 4 X 3 -1 d 2
+ -5 d -14 Y s 833 2502 m -3 3 d -3 1 d -4 X -3 -1 d -3 -3 d -2 -4 d -3 Y 2 -5 d
+ 3 -3 d 3 -1 d 4 X 3 1 d 3 3 d s 842 2498 m 18 X 2 Y -2 3 d -1 2 d -3 1 d -5 X
+ -3 -1 d -3 -3 d -1 -4 d -3 Y 1 -5 d 3 -3 d 3 -1 d 5 X 3 1 d 3 3 d s 894 2517 m
+ -3 X -3 -2 d -2 -4 d -25 Y s 882 2506 m 10 X s 901 2517 m 2 -2 d 1 2 d -1 1 d
+ -2 -1 d cl s 903 2506 m -20 Y s 929 2502 m -1 3 d -5 1 d -4 X -5 -1 d -1 -3 d 1
+ -3 d 3 -1 d 8 -2 d 3 -1 d 1 -3 d -2 Y -1 -3 d -5 -1 d -4 X -5 1 d -1 3 d s 954
+ 2502 m -1 3 d -5 1 d -4 X -4 -1 d -2 -3 d 2 -3 d 3 -1 d 7 -2 d 3 -1 d 1 -3 d -2
+ Y -1 -3 d -5 -1 d -4 X -4 1 d -2 3 d s 963 2517 m 2 -2 d 1 2 d -1 1 d -2 -1 d
+ cl s 965 2506 m -20 Y s 983 2506 m -3 -1 d -3 -3 d -2 -4 d -3 Y 2 -5 d 3 -3 d 3
+ -1 d 4 X 3 1 d 3 3 d 1 5 d 3 Y -1 4 d -3 3 d -3 1 d -4 X cl s 1005 2506 m -20 Y
+ s 1005 2500 m 4 5 d 3 1 d 5 X 3 -1 d 1 -5 d -14 Y s 1054 2506 m -3 -1 d -3 -3 d
+ -2 -4 d -3 Y 2 -5 d 3 -3 d 3 -1 d 4 X 3 1 d 3 3 d 2 5 d 3 Y -2 4 d -3 3 d -3 1
+ d -4 X cl s 1076 2506 m -20 Y s 1076 2500 m 4 5 d 3 1 d 5 X 3 -1 d 1 -5 d -14 Y
+ s 1119 2517 m -22 Y 1 -5 d 3 -3 d 5 -1 d 3 X 4 1 d 3 3 d 2 5 d 22 Y s 1152 2509
+ m 2 Y 1 3 d 1 1 d 3 2 d 6 X 3 -2 d 2 -1 d 1 -3 d -3 Y -1 -3 d -3 -5 d -15 -14 d
+ 21 X s 1183 2517 m 16 X -9 -12 d 5 X 2 -2 d 2 -1 d 1 -4 d -3 Y -1 -5 d -3 -3 d
+ -4 -1 d -5 X -4 1 d -2 2 d -1 3 d s 1217 2517 m -5 -2 d -1 -3 d -3 Y 1 -3 d 3
+ -1 d 6 -2 d 5 -1 d 3 -3 d 1 -3 d -4 Y -1 -3 d -2 -2 d -4 -1 d -6 X -5 1 d -1 2
+ d -2 3 d 4 Y 2 3 d 3 3 d 4 1 d 6 2 d 3 1 d 2 3 d 3 Y -2 3 d -4 2 d -6 X cl s
+ 1243 2487 m -1 -1 d -2 1 d 2 2 d 1 -2 d -3 Y -1 -3 d -2 -1 d s 1273 2511 m 3 1
+ d 4 5 d -31 Y s 1316 2517 m -15 X -1 -14 d 1 2 d 5 1 d 4 X 5 -1 d 3 -3 d 1 -4 d
+ -3 Y -1 -5 d -3 -3 d -5 -1 d -4 X -5 1 d -1 2 d -2 3 d s 1344 2517 m -31 Y s
+ 1344 2517 m 12 -31 d s 1368 2517 m -12 -31 d s 1368 2517 m -31 Y s 1378 2498 m
+ 18 X 2 Y -1 3 d -2 2 d -3 1 d -4 X -3 -1 d -3 -3 d -2 -4 d -3 Y 2 -5 d 3 -3 d 3
+ -1 d 4 X 3 1 d 3 3 d s 1402 2517 m 12 -31 d s 1426 2517 m -12 -31 d s 1448 2506
+ m -20 Y s 1448 2500 m 4 5 d 3 1 d 5 X 3 -1 d 1 -5 d -14 Y s 1475 2498 m 17 X 2
+ Y -1 3 d -2 2 d -3 1 d -4 X -3 -1 d -3 -3 d -1 -4 d -3 Y 1 -5 d 3 -3 d 3 -1 d 4
+ X 3 1 d 3 3 d s 1503 2506 m -14 Y 1 -5 d 3 -1 d 5 X 3 1 d 4 5 d s 1519 2506 m
+ -20 Y s 1532 2517 m -25 Y 2 -5 d 3 -1 d 3 X s 1528 2506 m 10 X s 1549 2506 m
+ -20 Y s 1549 2498 m 1 4 d 3 3 d 3 1 d 5 X s 1574 2506 m -3 -1 d -3 -3 d -2 -4 d
+ -3 Y 2 -5 d 3 -3 d 3 -1 d 4 X 3 1 d 3 3 d 2 5 d 3 Y -2 4 d -3 3 d -3 1 d -4 X
+ cl s 1596 2506 m -20 Y s 1596 2500 m 5 5 d 3 1 d 4 X 3 -1 d 1 -5 d -14 Y s 1639
+ 2502 m -1 3 d -5 1 d -4 X -5 -1 d -1 -3 d 1 -3 d 3 -1 d 8 -2 d 3 -1 d 1 -3 d -2
+ Y -1 -3 d -5 -1 d -4 X -5 1 d -1 3 d s 1779 1778 222 683 C 222 683 m 198 X 687
+ Y 20 X 649 Y 19 X 219 Y 20 X 45 Y 20 X -104 Y 20 X -38 Y 19 X -128 Y 20 X -147
+ Y 20 X -149 Y 20 X -134 Y 20 X -82 Y 19 X -125 Y 20 X -91 Y 20 X -63 Y 20 X -70
+ Y 19 X -65 Y 20 X -51 Y 20 X -55 Y 20 X -46 Y 19 X -24 Y 20 X -45 Y 20 X -2 Y
+ 20 X -39 Y 19 X -25 Y 20 X -11 Y 20 X -21 Y 20 X -5 Y 19 X -18 Y 20 X -15 Y 40
+ X -6 Y 19 X -6 Y 20 X -3 Y 20 X -8 Y 20 X 4 Y 20 X -14 Y 39 X -7 Y 20 X 4 Y 39
+ X -7 Y 20 X 1 Y 20 X 3 Y 20 X -1 Y 19 X -4 Y 99 X -1 Y 20 X -1 Y 59 X -1 Y 79 X
+ 1 Y 20 X -1 Y 20 X 1 Y 20 X -1 Y 395 X s NC 222 683 m 1778 Y s 256 683 m -34 X
+ s 239 739 m -17 X s 239 796 m -17 X s 239 852 m -17 X s 239 909 m -17 X s 256
+ 965 m -34 X s 239 1021 m -17 X s 239 1078 m -17 X s 239 1134 m -17 X s 239 1191
+ m -17 X s 256 1247 m -34 X s 239 1304 m -17 X s 239 1360 m -17 X s 239 1416 m
+ -17 X s 239 1473 m -17 X s 256 1529 m -34 X s 239 1586 m -17 X s 239 1642 m -17
+ X s 239 1699 m -17 X s 239 1755 m -17 X s 256 1812 m -34 X s 239 1868 m -17 X s
+ 239 1924 m -17 X s 239 1981 m -17 X s 239 2037 m -17 X s 256 2094 m -34 X s 239
+ 2150 m -17 X s 239 2207 m -17 X s 239 2263 m -17 X s 239 2319 m -17 X s 256
+ 2376 m -34 X s 256 2376 m -34 X s 239 2432 m -17 X s 162 698 m -5 -1 d -3 -5 d
+ -1 -7 d -4 Y 1 -8 d 3 -4 d 5 -2 d 3 X 4 2 d 3 4 d 1 8 d 4 Y -1 7 d -3 5 d -4 1
+ d -3 X cl s 68 975 m 3 1 d 5 5 d -32 Y s 102 981 m -4 -2 d -3 -4 d -2 -8 d -4 Y
+ 2 -8 d 3 -4 d 4 -2 d 3 X 5 2 d 3 4 d 1 8 d 4 Y -1 8 d -3 4 d -5 2 d -3 X cl s
+ 132 981 m -5 -2 d -3 -4 d -1 -8 d -4 Y 1 -8 d 3 -4 d 5 -2 d 3 X 4 2 d 3 4 d 2 8
+ d 4 Y -2 8 d -3 4 d -4 2 d -3 X cl s 162 981 m -5 -2 d -3 -4 d -1 -8 d -4 Y 1
+ -8 d 3 -4 d 5 -2 d 3 X 4 2 d 3 4 d 1 8 d 4 Y -1 8 d -3 4 d -4 2 d -3 X cl s 65
+ 1255 m 2 Y 2 3 d 1 1 d 3 2 d 6 X 3 -2 d 2 -1 d 1 -3 d -3 Y -1 -3 d -3 -5 d -15
+ -14 d 20 X s 102 1263 m -4 -2 d -3 -4 d -2 -8 d -4 Y 2 -7 d 3 -5 d 4 -1 d 3 X 5
+ 1 d 3 5 d 1 7 d 4 Y -1 8 d -3 4 d -5 2 d -3 X cl s 132 1263 m -5 -2 d -3 -4 d
+ -1 -8 d -4 Y 1 -7 d 3 -5 d 5 -1 d 3 X 4 1 d 3 5 d 2 7 d 4 Y -2 8 d -3 4 d -4 2
+ d -3 X cl s 162 1263 m -5 -2 d -3 -4 d -1 -8 d -4 Y 1 -7 d 3 -5 d 5 -1 d 3 X 4
+ 1 d 3 5 d 1 7 d 4 Y -1 8 d -3 4 d -4 2 d -3 X cl s 67 1545 m 16 X -9 -12 d 5 X
+ 3 -1 d 1 -2 d 1 -4 d -3 Y -1 -5 d -3 -3 d -4 -1 d -5 X -4 1 d -2 2 d -1 3 d s
+ 102 1545 m -4 -2 d -3 -4 d -2 -7 d -5 Y 2 -7 d 3 -5 d 4 -1 d 3 X 5 1 d 3 5 d 1
+ 7 d 5 Y -1 7 d -3 4 d -5 2 d -3 X cl s 132 1545 m -5 -2 d -3 -4 d -1 -7 d -5 Y
+ 1 -7 d 3 -5 d 5 -1 d 3 X 4 1 d 3 5 d 2 7 d 5 Y -2 7 d -3 4 d -4 2 d -3 X cl s
+ 162 1545 m -5 -2 d -3 -4 d -1 -7 d -5 Y 1 -7 d 3 -5 d 5 -1 d 3 X 4 1 d 3 5 d 1
+ 7 d 5 Y -1 7 d -3 4 d -4 2 d -3 X cl s 79 1827 m -15 -21 d 22 X s 79 1827 m -31
+ Y s 102 1827 m -4 -1 d -3 -5 d -2 -7 d -5 Y 2 -7 d 3 -5 d 4 -1 d 3 X 5 1 d 3 5
+ d 1 7 d 5 Y -1 7 d -3 5 d -5 1 d -3 X cl s 132 1827 m -5 -1 d -3 -5 d -1 -7 d
+ -5 Y 1 -7 d 3 -5 d 5 -1 d 3 X 4 1 d 3 5 d 2 7 d 5 Y -2 7 d -3 5 d -4 1 d -3 X
+ cl s 162 1827 m -5 -1 d -3 -5 d -1 -7 d -5 Y 1 -7 d 3 -5 d 5 -1 d 3 X 4 1 d 3 5
+ d 1 7 d 5 Y -1 7 d -3 5 d -4 1 d -3 X cl s 82 2109 m -15 X -2 -13 d 2 1 d 4 2 d
+ 5 X 4 -2 d 3 -3 d 1 -4 d -3 Y -1 -4 d -3 -3 d -4 -2 d -5 X -4 2 d -2 1 d -1 3 d
+ s 102 2109 m -4 -1 d -3 -5 d -2 -7 d -4 Y 2 -8 d 3 -4 d 4 -2 d 3 X 5 2 d 3 4 d
+ 1 8 d 4 Y -1 7 d -3 5 d -5 1 d -3 X cl s 132 2109 m -5 -1 d -3 -5 d -1 -7 d -4
+ Y 1 -8 d 3 -4 d 5 -2 d 3 X 4 2 d 3 4 d 2 8 d 4 Y -2 7 d -3 5 d -4 1 d -3 X cl s
+ 162 2109 m -5 -1 d -3 -5 d -1 -7 d -4 Y 1 -8 d 3 -4 d 5 -2 d 3 X 4 2 d 3 4 d 1
+ 8 d 4 Y -1 7 d -3 5 d -4 1 d -3 X cl s 83 2387 m -1 3 d -5 1 d -3 X -4 -1 d -3
+ -4 d -2 -8 d -7 Y 2 -6 d 3 -3 d 4 -2 d 2 X 4 2 d 3 3 d 1 4 d 2 Y -1 4 d -3 3 d
+ -4 2 d -2 X -4 -2 d -3 -3 d -2 -4 d s 102 2391 m -4 -1 d -3 -4 d -2 -8 d -4 Y 2
+ -8 d 3 -4 d 4 -2 d 3 X 5 2 d 3 4 d 1 8 d 4 Y -1 8 d -3 4 d -5 1 d -3 X cl s 132
+ 2391 m -5 -1 d -3 -4 d -1 -8 d -4 Y 1 -8 d 3 -4 d 5 -2 d 3 X 4 2 d 3 4 d 2 8 d
+ 4 Y -2 8 d -3 4 d -4 1 d -3 X cl s 162 2391 m -5 -1 d -3 -4 d -1 -8 d -4 Y 1 -8
+ d 3 -4 d 5 -2 d 3 X 4 2 d 3 4 d 1 8 d 4 Y -1 8 d -3 4 d -4 1 d -3 X cl s 222
+ 683 m 1779 X s 222 716 m -33 Y s 272 699 m -16 Y s 321 699 m -16 Y s 371 699 m
+ -16 Y s 420 716 m -33 Y s 469 699 m -16 Y s 519 699 m -16 Y s 568 699 m -16 Y s
+ 618 716 m -33 Y s 667 699 m -16 Y s 716 699 m -16 Y s 766 699 m -16 Y s 815 716
+ m -33 Y s 865 699 m -16 Y s 914 699 m -16 Y s 963 699 m -16 Y s 1013 716 m -33
+ Y s 1062 699 m -16 Y s 1112 699 m -16 Y s 1161 699 m -16 Y s 1210 716 m -33 Y s
+ 1260 699 m -16 Y s 1309 699 m -16 Y s 1359 699 m -16 Y s 1408 716 m -33 Y s
+ 1457 699 m -16 Y s 1507 699 m -16 Y s 1556 699 m -16 Y s 1606 716 m -33 Y s
+ 1655 699 m -16 Y s 1704 699 m -16 Y s 1754 699 m -16 Y s 1803 716 m -33 Y s
+ 1853 699 m -16 Y s 1902 699 m -16 Y s 1951 699 m -16 Y s 2001 716 m -33 Y s 194
+ 643 m 27 X s 233 653 m 2 Y 1 3 d 2 1 d 3 2 d 6 X 2 -2 d 2 -1 d 1 -3 d -3 Y -1
+ -3 d -3 -5 d -15 -15 d 21 X s 418 661 m -4 -2 d -3 -4 d -1 -8 d -4 Y 1 -8 d 3
+ -4 d 4 -2 d 3 X 5 2 d 3 4 d 1 8 d 4 Y -1 8 d -3 4 d -5 2 d -3 X cl s 609 653 m
+ 2 Y 1 3 d 2 1 d 3 2 d 5 X 3 -2 d 2 -1 d 1 -3 d -3 Y -1 -3 d -3 -5 d -15 -15 d
+ 21 X s 820 661 m -15 -21 d 22 X s 820 661 m -32 Y s 1022 656 m -2 3 d -4 2 d -3
+ X -5 -2 d -3 -4 d -1 -8 d -7 Y 1 -6 d 3 -3 d 5 -2 d 1 X 5 2 d 3 3 d 1 4 d 2 Y
+ -1 4 d -3 3 d -5 2 d -1 X -5 -2 d -3 -3 d -1 -4 d s 1207 661 m -4 -2 d -2 -3 d
+ -3 Y 2 -3 d 3 -1 d 6 -2 d 4 -1 d 3 -3 d 2 -3 d -5 Y -2 -3 d -1 -1 d -5 -2 d -6
+ X -4 2 d -2 1 d -1 3 d 5 Y 1 3 d 3 3 d 5 1 d 6 2 d 3 1 d 1 3 d 3 Y -1 3 d -5 2
+ d -6 X cl s 1387 655 m 3 1 d 5 5 d -32 Y s 1421 661 m -4 -2 d -3 -4 d -2 -8 d
+ -4 Y 2 -8 d 3 -4 d 4 -2 d 3 X 5 2 d 3 4 d 1 8 d 4 Y -1 8 d -3 4 d -5 2 d -3 X
+ cl s 1585 655 m 3 1 d 4 5 d -32 Y s 1611 653 m 2 Y 2 3 d 1 1 d 3 2 d 6 X 3 -2 d
+ 2 -1 d 1 -3 d -3 Y -1 -3 d -3 -5 d -15 -15 d 21 X s 1782 655 m 3 1 d 5 5 d -32
+ Y s 1822 661 m -14 -21 d 22 X s 1822 661 m -32 Y s 1980 655 m 3 1 d 4 5 d -32 Y
+ s 2024 656 m -1 3 d -4 2 d -3 X -5 -2 d -3 -4 d -1 -8 d -7 Y 1 -6 d 3 -3 d 5 -2
+ d 1 X 4 2 d 3 3 d 2 4 d 2 Y -2 4 d -3 3 d -4 2 d -1 X -5 -2 d -3 -3 d -1 -4 d s
+ 1779 1778 222 683 C 428 1277 m 2 96 d 2 78 d 2 78 d 2 74 d 2 78 d 3 63 d 2 63 d
+ 1 16 d 2 54 d 2 52 d 3 49 d 3 50 d 3 44 d 2 36 d 3 29 d 3 30 d 3 27 d 3 25 d 4
+ 22 d 3 15 d 4 10 d 4 8 d 5 3 d 4 -2 d 5 -9 d 7 -17 d 5 -18 d 7 -32 d 4 -16 d 6
+ -33 d 9 -56 d 11 -70 d 5 -32 d 16 -106 d 16 -105 d 16 -102 d 16 -97 d 13 -78 d
+ 2 -13 d 13 -70 d 3 -13 d 13 -64 d 3 -13 d 13 -59 d 3 -10 d 13 -55 d 3 -8 d 15
+ -57 d 16 -51 d 16 -46 d 16 -41 d 16 -36 d 15 -33 d 16 -29 d 16 -26 d 16 -23 d
+ 16 -20 d 15 -18 d 16 -16 d 16 -14 d 16 -12 d 16 -11 d 15 -10 d 16 -9 d 16 -8 d
+ 16 -6 d 16 -6 d 16 -5 d 15 -5 d 16 -4 d 16 -4 d 16 -3 d 16 -3 d 15 -2 d 16 -2 d
+ 16 -2 d 16 -2 d 16 -2 d 15 -1 d s 1202 692 m 7 X 8 -1 d 8 X 9 -1 d 8 X 8 -1 d 8
+ X 8 -1 d 15 X 10 -1 d 22 X 11 -1 d 21 X 12 -1 d 35 X 16 -1 d 95 X 16 -1 d 458 X
+ s 1977 683 m 16 X s 2223 2224 0 460 C 1804 594 m -31 Y s 1804 594 m 20 X s 1804
+ 579 m 12 X s 1804 563 m 20 X s 1830 596 m -10 Y s 1830 593 m 2 3 d 5 X 1 -3 d
+ -7 Y s 1844 571 m -16 Y s 1851 565 m -7 -7 d s 1847 561 m 5 -6 d s 1855 571 m 1
+ -1 d 1 1 d -2 X cl s 1856 565 m -10 Y s 1862 565 m -10 Y s 1862 562 m 2 3 d 6 X
+ -10 Y s 1877 556 m -1 X 1 -1 d 1 1 d -1 X cl s 1885 594 m -31 Y s 1887 594 m
+ -31 Y s 1885 594 m 8 X s 1885 563 m 8 X s 1902 594 m -31 Y s 1902 594 m 12 -31
+ d s 1926 594 m -12 -31 d s 1926 594 m -31 Y s 1936 575 m 18 X 3 Y -1 3 d -2 1 d
+ -3 1 d -4 X -3 -1 d -3 -3 d -2 -4 d -3 Y 2 -5 d 3 -3 d 3 -1 d 4 X 3 1 d 3 3 d s
+ 1960 594 m 12 -31 d s 1984 594 m -12 -31 d s 1994 594 m -31 Y s 1996 594 m -31
+ Y s 1988 594 m 8 X s 1988 563 m 8 X s 55 2310 m 18 Y -3 X -3 -2 d -2 -1 d -1 -3
+ d -5 Y 1 -3 d 3 -2 d 5 -2 d 3 X 4 2 d 3 2 d 2 3 d 5 Y -2 3 d -3 3 d s 46 2338 m
+ 21 X s 52 2338 m -5 5 d -1 3 d 4 Y 1 3 d 5 2 d 15 X s 36 2368 m 25 X 4 1 d 2 3
+ d 3 Y s 46 2363 m 11 Y s 46 2384 m 21 X s 55 2384 m -5 2 d -3 3 d -1 3 d 4 Y s
+ 36 2402 m 1 1 d -1 2 d -2 -2 d 2 -1 d cl s 46 2403 m 21 X s 55 2414 m 18 Y -3 X
+ -3 -2 d -2 -1 d -1 -3 d -5 Y 1 -3 d 3 -3 d 5 -1 d 3 X 4 1 d 3 3 d 2 3 d 5 Y -2
+ 3 d -3 3 d s 50 2457 m -3 -2 d -1 -4 d -5 Y 1 -4 d 3 -2 d 3 2 d 2 3 d 1 7 d 2 3
+ d 3 2 d 1 X 3 -2 d 2 -4 d -5 Y -2 -4 d -3 -2 d s 1779 1778 222 683 C gr 
+showpage
+ gr 
+ gr  gr 
+%%Trailer
+cleartomark
+countdictstack exch sub { end } repeat
+restore
+%%EOF
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/summary.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/summary.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lowEnergyNeutron/neutrons/summary.tex	(revision 1208)
@@ -0,0 +1,14 @@
+By the way of abstraction and code reuse we minimised the amount of code to be 
+written and 
+maintained. The concept of container-sampling lead to abstraction and 
+encapsulation of data 
+representation and the corresponding random number generators.
+The Object Oriented design allows for easy extension of the cross-section base 
+of the system, and the
+ENDF-B VI data evaluations have already been supplemented with evaluated data 
+on nuclear excitation
+levels, thus improving the energy spectra of de-excitation photons.
+Other established data evaluations have been investigated,
+and extensions based on the JENDL\cite{JENDL}, CENDL\cite{CENDL}, and 
+Brond\cite{Brond} data 
+libraries are foreseen for next year.
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lpbias/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lpbias/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lpbias/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/mars5gev.tex/1.4/Sat Dec 11 18:59:49 2004//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lpbias/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lpbias/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lpbias/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lpbias
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lpbias/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lpbias/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lpbias/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lpbias/mars5gev.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lpbias/mars5gev.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/lpbias/mars5gev.tex	(revision 1208)
@@ -0,0 +1,218 @@
+\chapter{Leading Particle Bias} 
+
+\section{Overview}
+{\it G4Mars5GeV} is an inclusive event generator for hadron\,(photon)
+interactions with nuclei, and translated from the MARS code system\,(MARS13\,(98)).
+To construct a cascade tree, only a fixed
+number of particles are generated at each vertex.
+A corresponding statistical weight is assigned to each secondary particle
+according to its type and phase-space. Rarely-produced particles 
+or interesting phase-space region can be enhanced. \\ [2mm]
+%%
+N.B. This inclusive simulation is implemented in Geant4 partially 
+for the moment, not completed yet.  \\ [3mm]
+%% 
+{\bf MARS Code System} \\
+MARS is a set of Monte Carlo programs for inclusive simulation 
+of particle interactions, and high multiplicity or rare events 
+can be simulated fast with its sophisticated biasing techniques.
+For the details on the MARS code system, see \cite{MARS98, MARSWWW}.  \\
+
+\section{Method}
+In {\it G4Mars5GeV}, three secondary hadrons are generated 
+in the final state of an hadron(photon)-nucleus inelastic interaction, 
+and a statistical weight is assigned to each particle
+according to its type, energy and emission angle.
+%% what really affects on weights?
+%%
+In this code, energies, momenta and weights of the secondaries are sampled, 
+and the primary particle is simply terminated at the vertex.
+The allowed projectile kinetic energy is $E_0 \leq $~5~GeV, and 
+following particles can be simulated;
+$$
+        p,~n,~\pi^+,~\pi^-,~K^+,~K^-,~\gamma,~\bar{p}~.
+$$
+
+Prior to a particle generation, a Coulomb barrier is considered
+for projectile charged hadrons\,($p$, $\pi^+$, $K^+$ and $\bar{p}$) 
+with kinetic energy of less than 200 MeV. The coulomb potential
+$V_{\rm coulmb}$ is given by 
+\begin{equation}
+        V_{\rm columb} = 1.11\times10^{-3} \times Z/A^{1/3}~~~~{\rm (GeV)},
+\end{equation}
+where $Z$~and~$A$ are atomic and mass number, respectivelly. \\ [2mm]
+%%
+%%      secondary particle generation
+%%
+\subsection{Inclusive hadron production}
+%%
+The following three steps are carried out in a sequence
+to produce secondary particles:
+\begin{itemize}
+\item nucleon production,
+\item charged pion/kaon production and
+\item neutral pion production. 
+\end{itemize}
+%%
+These processes are performed independently, i.e. 
+the energy and momentum conservation law is broken at each event, however,
+fulfilled on the average over a number of events simulated. \\ [5mm]
+%%
+%% -- nucleon production
+{\bf nucleon production} \\ [1mm]
+Projectiles $K^\pm$ and $\bar{p}$ are
+replaced with $\pi^\pm$ and $p$, individually to generate
+the secondary nucleon.
+Either of neutron or proton is selected randomly as the secondary 
+except for the case of gamma projectiling.
+The gamma is handled as a pion. \\ [5mm]
+%% reason??
+%%
+%% -- nucleon production
+{\bf charged pion/kaon production} \\ [1mm]
+If the incident nucleon does not have enough energy to produce 
+the pion\,($> 280$ MeV), charged and neutral pions are not produced.
+A charged pion is selected with the equal probability, and a bias is eliminated
+with the appropriate weight which is assigned taking into account the difference between 
+$\pi^+$ and $\pi^-$ both for production probability and for inclusive spectra.
+It is replaced with a charged kaon a certain fraction 
+of the time, that depends on the projectile energy if $E_0 > 2.1$~GeV.
+The ratio of kaon replacement is given by
+\begin{equation}
+        R_{\rm kaon} = 1.3 \times \biggl\{ C_{\rm min} + ( C - C_{\rm min} )
+        \frac{ \log(E_0/2) }{ \log(100/2) } \biggr\}~~~~~
+        ( 2.1 \leq E_0 \leq 5.2~{\rm GeV} ),
+\end{equation}
+where $C_{\rm min}$ is 0.03\,(0.08) for nucleon\,(others) projectiling, and \\
+{\it ~\hspace*{35mm}Produced particle~\hspace*{5mm}
+Projectile particle}
+\begin{equation}
+C = \left\{
+\begin{array}{ll}
+0.071 & (~\pi^+~) \\
+0.083 & (~\pi^-~)
+\end{array} \right\}
+\times
+\left\{
+\begin{array}{ll}
+1.3 & (~\pi^\pm~) \\
+2.0 & (~K^\pm~) \\
+1.0 & (~{\rm others}~)
+\end{array} \right\}
+\end{equation}
+A similar strangeness replacement is not considered for nucleon production.
+\\ [3mm]
+%%
+%% -- nucleon production
+%%
+%%
+
+\subsection{Sampling of energy and emission angle of the secondary}
+%
+The energy and emission angle of the secondary particle depends on 
+projectile energy. There are formulae depending on whether or not 
+the interaction particle\,(IP) is identical to the secondary\,(JP). \\ [2mm]
+%%
+%%
+For IP $\neq$ JP, the secondary energy $E_2$ is simply given by
+\begin{equation}
+        E_2 = E_{\rm th} \times \biggl(\frac{E_{\rm max}}
+        {E_{\rm th}}\biggr)^\epsilon~~~~~~~~~~~~~~{\rm (MeV)}~,
+\end{equation}
+where $E_{\rm max} = max\,(E_0,0.5\,{\rm MeV})$, $E_{\rm th} = 1$ MeV, 
+and $\epsilon$ is a uniform random between 0 and 1. \\ [2mm]
+%%
+%%
+For IP = JP,
+\begin{equation}\label{eq:energy}
+E_2 = \left\{
+\begin{array}{l l l}
+E_{\rm th} + \epsilon\,(E_{\rm max} - E_{\rm th}) &
+        & E_0 < 100\,E_{\rm th}~{\rm MeV} \\
+E_{\rm th}\times\,e^{\epsilon\,(\beta+99)} & {\rm (MeV)}
+        & E_0 \geq 100\,E_{\rm th}~{\rm and}~\epsilon < \eta \\
+E_0\times\bigl( \beta\,(\epsilon - 1) + 1 + 99\epsilon )/100  &
+        & E_0 \geq 100\,E_{\rm th}~{\rm and}~\epsilon \geq \eta
+\end{array} \right.
+\end{equation}
+Here, $\beta = \log(E_0/100\,E_{\rm th})$ and 
+$\eta = \beta/(99 + \beta)$.
+If resulting $E_2$ is less than 0.5 MeV, nothing is generated. \\ [5mm]
+%
+%
+{\bf Angular distribution} \\ [1mm]
+%
+The angular distribution is mainly determined by the energy ratio
+of the secondary to the projectile\,(i.e. 
+the emission angle and probability of the occurrence
+increase as the energy ratio decreases).
+The emission angle of the secondary particle with respect to the incident direction
+is given by 
+\begin{equation}\label{eq:angle}
+        \theta = - \log \bigl( 1 - \epsilon ( 1 - e^{-\pi\,\tau} ) \bigr)/
+        \tau~,
+\end{equation}
+where $\tau = E_0/5(E_0 + 1/2)$. \\
+%%
+%%
+\subsection{Sampling statistical weight}
+The kinematics of the secondary particle are determined randomly
+using the above formulae\,(\ref{eq:energy},\ref{eq:angle}).
+A statistical weight is calculated and assigned to each generated particle
+to reproduce a true inclusive spectrum in the event.
+The weight is given by 
+\begin{equation}
+D2N = V10({\rm JP}) \times DW\,(E) \times DA\,(\theta) \times 
+V1\,(E,\theta,{\rm JP}),
+\end{equation}
+%%
+where \\
+$\bullet~V10$ is the statistical weight for the production rate
+based on neutral pion production\,($V10 = 1$).
+\begin{equation}
+V10 = \left\{
+\begin{array}{ll}
+2.0\,(2.5) & {\rm nucleon~production\,(the~case~of~gamma~projectile)} \\
+2.1        & {\rm charged~pion/kaon~production} 
+\end{array} \right.
+\end{equation}\vspace*{2mm}\\
+%%
+%%
+$\bullet$~DW and DA are dominantly determined by the secondary energy and 
+emission angle, individually. \\ [2mm]
+%%
+%%
+$\bullet$~V1 is a true double-differential production cross-section (divided by the total
+inelastic cross-section)~\cite{MARS98}, calculated in {\it G4Mars5GeV::D2N2}
+according to the projectile type and energy, target atomic mass, and simulated secondary 
+energy, emission angle and particle type. \\
+
+\section{Status of this document}
+11.06.2002 created by N. Kanaya. \\
+20.06.2002 modified by N.V.Mokhov. \\
+
+
+\begin{latexonly}
+
+\begin{thebibliography}{599}
+\bibitem{MARS98} N.V.~Mokhov, {\it The MARS Code System User's Guide, Version 13(98)},
+                 Fermilab-FN-628.
+
+\bibitem{MARSWWW} {\it http://www-ap.fnal.gov/MARS/}
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\section{Bibliography}
+
+\begin{enumerate}
+\item N.V.~Mokhov, {\it The MARS Code System User's Guide, Version 13(98)},
+                 Fermilab-FN-628.
+
+\item {\it http://www-ap.fnal.gov/MARS/}
+\end{enumerate}
+
+\end{htmlonly}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/parametrization_driven/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/parametrization_driven/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/parametrization_driven/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/parametrization_driven.tex/1.10/Mon Nov  8 18:13:37 2004//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/parametrization_driven/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/parametrization_driven/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/parametrization_driven/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/parametrization_driven
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/parametrization_driven/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/parametrization_driven/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/parametrization_driven/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/parametrization_driven/parametrization_driven.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/parametrization_driven/parametrization_driven.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/parametrization_driven/parametrization_driven.tex	(revision 1208)
@@ -0,0 +1,545 @@
+\chapter{Parametrization Driven Models}
+
+\section{Introduction}
+
+Two sets of parameterized models are provided for the simulation of high 
+energy hadron-nucleus interactions.  The so-called ``low energy model'' is 
+intended for hadronic projectiles with incident energies between 1 GeV and 
+25 GeV, while the ``high energy model'' is valid for projectiles between 25 
+GeV and 10 TeV.  Both are based on the well-known GHEISHA package of GEANT3.
+The physics underlying these models comes from an old-fashioned multi-chain 
+model in which the incident particle collides with a nucleon inside the 
+nucleus.  The final state of this interaction consists of a recoil nucleon, 
+the scattered incident particle, and possibly many hadronic secondaries.  
+Hadron production is approximated by the formation zone concept, in which the 
+interacting quark-partons require some time and therefore some range to 
+hadronize into real particles.  All of these particles are able to re-interact
+within the nucleus, thus developing an intra-nuclear cascade. \\ 
+
+\noindent
+In these models only the first hadron-nucleon collision is simulated in 
+detail.  The remaining interactions within the nucleus are simulated by 
+generating additional hadrons and treating them as secondaries from the 
+initial collision.  The numbers, types and distributions of the extra 
+hadrons are determined by functions which were fitted to experimental data 
+or which reproduce general trends in hadron-nucleus collisions.  Numerous 
+tunable parameters are used throughout these models to obtain reasonable
+physical behavior.  This restricts the use of these models as generators for 
+hadron-nucleus interactions because it is not always clear how the parameters
+relate to physical quantities.  On the other hand a precise simulation of 
+minimum bias events is possible, with significant predictive power for 
+calorimetry.  
+
+\section{Low Energy Model}
+
+In the low energy parameterized model the mean number of hadrons produced in 
+a hadron-nucleus collision is given by  
+\begin{equation} 
+\label{pm.eq1}
+ N_m = C(s) A^{1/3} N_{ic} 
+\end{equation}
+where $A$ is the atomic mass, $C(s)$ is a function only of the center of 
+mass energy $s$, and $N_{ic}$ is approximately the number of hadrons generated
+in the initial collision.  Assuming that the collision occurs at the center of 
+the nucleus, each of these hadrons must traverse a distance roughly equal to 
+the nuclear radius.  They may therefore potentially interact with a number of 
+nucleons proportional to $A^{1/3}$.  If the energy-dependent cross section 
+for interaction in the nuclear medium is included in $C$ then Eq. \ref{pm.eq1}
+can be interpreted as the number of target nucleons excited by the initial 
+collision.  Some of these nucleons are added to the intra-nuclear cascade.
+The rest, especially at higher momenta where nucleon production is suppressed,
+are replaced by pions and kaons. \\
+
+\noindent
+Once the mean number of hadrons, $N_m$ is calculated, the total number of 
+hadrons in the intra-nuclear cascade is sampled from a Poisson distribution 
+about the mean.  Sampling from additional distribution functions provides
+\begin{itemize}
+\item the combined multiplicity $w(\vec{a},n_{i})$ for all particles
+$i$, $i = \pi^{+}, \pi^{0}, \pi^{-}, p, n, .....$, including the
+correlations between them,
+\item the additive quantum numbers $E$ (energy), $Q$ (charge), $S$ 
+(strangeness) and $B$ (baryon number) in the entire phase space region, and
+\item the reaction products from nuclear fission and evaporation.
+\end{itemize}
+A universal function $f(\vec{b},x/p_{T},m_{T})$ is used for the distribution
+of the additive quantum numbers, where $x$ is the Feynman variable, $p_T$ is
+the transverse momentum and $m_T$ is the transverse mass.  $\vec{a}$ and 
+$\vec{b}$ are parameter vectors, which depend on the particle type of the 
+incoming beam and the atomic number $A$ of the target.  Any dependence on 
+the beam energy is completely restricted to the multiplicity distribution 
+and the available phase space. \\ 
+
+\noindent 
+The low energy model can be applied to the $\pi^+$, $\pi^-$, $K^+$, $K^-$,
+$K^0$ and $\overline{K^0}$ mesons.  It can also be applied to the baryons $p$,
+$n$, $\Lambda$, $\Sigma^+$, $\Sigma^-$, $\Xi^0$, $\Xi^-$, $\Omega^-$, and 
+their anti-particles, as well as the light nuclei, $d$, $t$ and $\alpha$.  The 
+model can in principal be applied down to zero projectile energy, but the 
+assumptions used to develop it begin to break down in the sub-GeV region.
+
+
+\section{High Energy Model}
+
+The high energy model is valid for incident particle energies from 10-20 GeV 
+up to 10-20 TeV.  Individual implementations of the model exist for $\pi^+$, 
+$\pi^-$, $K^+$, $K^-$, $K^0_S$ and $K^0_L$ mesons, and for $p$, $n$, 
+$\Lambda$, $\Sigma^+$, $\Sigma^-$, $\Xi^0$, $\Xi^-$, and $\Omega^-$ baryons 
+and their anti-particles.
+
+\subsection{Initial Interaction}
+In a given implementation, the generation of the final state begins with the
+selection of a nucleon from the target nucleus.  The pion multiplicities 
+resulting from the initial interaction of the incident particle and the target
+nucleon are then calculated.  The total pion multiplicity is taken to be a 
+function of the log of the available energy in the center of mass of the 
+incident particle and target nucleon, and the $\pi^+$, $\pi^-$ and $\pi^0$ 
+multiplicities are given by the KNO distribution.
+
+From this initial set of particles, two are chosen at random to be replaced 
+with either a kaon-anti-kaon pair, a nucleon-anti-nucleon pair, or a kaon and 
+a hyperon.  The relative probabilities of these options are chosen according 
+to a logarithmically interpolated table of strange-pair and 
+nucleon-anti-nucleon pair cross sections.  The particle types of the 
+pair are chosen according to averaged, parameterized cross sections typical at
+energies of a few GeV.  If the increased mass of the new pair causes the total
+available energy to be exceeded, particles are removed from the initial set as
+necessary.
+
+\subsection{Intra-nuclear Cascade}
+The cascade of these particles through the nucleus, and the additional
+particles generated by the cascade are simulated by several models.  These 
+include high energy cascading, high energy cluster production, medium energy 
+cascading and medium energy cluster production.  For each event, high energy 
+cascading is attempted first.  If the available energy is sufficient, this 
+method will likely succeed in producing the final state and the interaction 
+will have been completely simulated.  If it fails due to lack of energy or 
+other reasons, the remaining models are called in succession until the final 
+state is produced.  If none of these methods succeeds, quasi-elastic 
+scattering is attempted and finally, as a last resort, elastic scattering is 
+performed.  These models are responsible for assigning final state momenta to 
+all generated particles, and for checking that, on average, energy and 
+momentum are conserved. 
+
+\subsection{High Energy Cascading}
+
+As particles from the initial collision cascade through the nucleus more
+particles will be generated.  The number and type of these particles are
+parameterized in terms of the CM energy of the initial particle-nucleon
+collision.  The number of particles produced from the cascade is given 
+roughly by 
+\begin{equation}
+\label{he.eq1}
+ N_m = C(s) [A^{1/3} - 1] N_{ic}
+\end{equation}
+where $A$ is the atomic mass, $C(s)$ is a function only of $s$, the square of 
+the center of mass energy, and $N_{ic}$ is approximately the number of hadrons
+generated in the initial collision. This can be understood qualitatively 
+by assuming that the collision occurs, on average, at the center of the 
+nucleus. Then each of the $N_{ic}$ hadrons must traverse a distance 
+roughly equal to the nuclear radius.  They may therefore potentially interact 
+with a number of nucleons proportional to $A^{1/3}$.  If the energy-dependent 
+cross section for interaction in the nuclear medium is included in $C(s)$ then 
+Eq. \ref{he.eq1} can be interpreted as the number of target nucleons excited 
+by the initial collision and its secondaries.  
+
+Some of these nucleons are added to the intra-nuclear cascade. The rest, 
+especially at higher momenta where nucleon production is suppressed, are 
+replaced by pions, kaons and hyperons.  The mean of the total number of
+hadrons generated in the cascade is partitioned into the mean number of 
+nucleons, $N_n$, pions, $N_\pi$ and strange particles, $N_s$.  Each of these
+is used as the mean of a Poisson distribution which produces the randomized
+number of each type of particle.  
+
+The momenta of these particles are generated by first dividing the final state
+phase space into forward and backward hemispheres, where forward is in the 
+direction of the original projectile.  Each particle is assigned to one 
+hemisphere or the other according to the particle type and origin: 
+
+\begin{itemize} 
+
+\item the original projectile, or its substitute if charge or strangeness 
+exchange occurs, is assigned to the forward hemisphere and the target nucleon 
+is assigned to the backward hemisphere;
+
+\item the remainder of the particles from the initial collision are assigned 
+at random to either hemisphere;
+
+\item pions and strange particles generated in the intra-nuclear cascade are 
+assigned 80\% to the backward hemisphere and 20\% to the forward hemisphere;
+
+\item nucleons generated in the intra-nuclear cascade are all assigned 
+to the backward hemisphere.
+
+\end{itemize}
+
+It is assumed that energy is separately conserved for each hemisphere.  If
+too many particles have been added to a given hemisphere, randomly chosen 
+particles are deleted until the energy budget is met.  The final state 
+momenta are then generated according to two different algorithms, a cluster 
+model for the backward nucleons from the intra-nuclear cascade, and a
+fragmentation model for all other particles.  Several corrections are then 
+applied to the final state particles, including momentum re-scaling, effects 
+due to Fermi motion, and binding energy subtraction.  Finally the 
+de-excitation of the residual nucleus is treated by adding lower energy 
+protons, neutrons and light ions to the final state particle list. \\       
+
+\noindent
+{\bf Fragmentation Model.} This model simulates the fragmentation of the
+highly excited hadrons formed in the initial projectile-nucleon collision.
+Particle momenta are generated by first sampling the average transverse 
+momentum $p_T$ from an exponential distribution:
+
+\begin{equation}
+\label{he.eq2}
+ exp [-a {p_T}^b ]
+\end{equation}
+where 
+\begin{eqnarray}
+ 1.70 \le a \le 4.00 ; \
+ 1.18 \le b \le 1.67 .
+\label{he.eq3} 
+\end{eqnarray}
+
+The values of $a$ and $b$ depend on particle type and result from a
+parameterization of experimental data.  The value selected for $p_T$ is 
+then used to set the scale for the determination of $x$, the fraction of
+the projectile's momentum carried by the fragment.  The sampling of $x$
+assumes that the invariant cross section for the production of fragments 
+can be given by
+
+\begin{equation}
+\label{he.eq4}
+ E \frac{d^3 \sigma}{dp^3} = \frac{K}{(M^2 x^2 + {p_T}^2)^{3/2}}
+\end{equation}  
+where $E$ and $p$ are the energy and momentum, respectively, of the produced
+fragment, and $K$ is a proportionality constant.  $M$ is the average 
+transverse mass which is parameterized from data and varies from 0.75 GeV to 
+0.10 GeV, depending on particle type.  Taking $m$ to be the mass of the 
+fragment and noting that 
+\begin{equation}
+   p_z \simeq x E_{proj}
+\label{he.eq5}
+\end{equation}
+in the forward hemisphere and
+\begin{equation}
+   p_z \simeq x E_{targ}
+\label{he.eq6}
+\end{equation}
+in the backward hemisphere, Eq. \ref{he.eq4} can be re-written to give the 
+sampling function for $x$:
+\begin{equation}
+ \frac{d^3 \sigma}{dp^3} = \frac{K}{(M^2 x^2 + {p_T}^2)^{3/2}} 
+           \frac{1}{ \sqrt{m^2 + {p_T}^2 + x^2 E_i^2} } ,
+\label{he.eq7}
+\end{equation}
+where $i = proj$ or $targ$.
+
+$x$-sampling is performed for each fragment in the final-state candidate list.
+Once a fragment's momentum is assigned, its total energy is checked to see 
+if it exceeds the energy budget in its hemisphere.  If so, the momentum of 
+the particle is reduced by 10\%, as is $p_T$ and the integral of the 
+$x$-sampling function, and the momentum selection process is repeated.  If 
+the offending particle starts out in the forward hemisphere, it is moved to 
+the backward hemisphere, provided the budget for the backward hemisphere is 
+not exceeded.  If, after six iterations, the particle still does not fit, it
+is removed from the candidate list and the kinetic energies of the particles 
+selected up to this point are reduced by 5\%.  The entire procedure is 
+repeated up to three times for each fragment.
+
+The incident and target particles, or their substitutes in the case of charge-
+or strangeness-exchange, are guaranteed to be part of the final state.
+They are the last particles to be selected and the remaining energy in their
+respective hemispheres is used to set the $p_z$ components of their momenta.
+The $p_T$ components selected by $x$-sampling are retained. \\ 
+
+\noindent
+{\bf Cluster Model.} This model groups the nucleons produced in the 
+intra-nuclear cascade together with the target nucleon or hyperon, and 
+treats them as a cluster moving forward in the center of mass frame.  The 
+cluster disintegrates in such a way that each of its nucleons is given a 
+kinetic energy 
+\begin{equation}
+40 < T_{nuc} < 600 \rm{MeV} 
+\label{he.eq8}
+\end{equation}
+if the kinetic energy of the original projectile, $T_{inc}$, is 5 GeV or more.
+If $T_{inc}$ is less than 5 GeV,
+\begin{equation}
+ 40 ( T_{inc}/5 \rm{GeV} )^2 < T_{nuc} < 600 ( T_{inc}/5 \rm{GeV} )^2 .
+\label{he.eq9}
+\end{equation}  
+In each range the energy is sampled from a distribution which is skewed 
+strongly toward the high energy limit.  In addition, the angular distribution 
+of the nucleons is skewed forward in order to simulate the forward motion 
+of the cluster. \\
+
+\noindent
+{\bf Momentum Re-scaling.} Up to this point, all final state momenta have 
+been generated in the center of mass of the incident projectile and the 
+target nucleon.  However, the interaction involves more than one nucleon 
+as evidenced by the intra-nuclear cascade.  A more correct center of mass 
+should then be defined by the incident projectile and all of the baryons 
+generated by the cascade, and the final state momenta already calculated 
+must be re-scaled to reflect the new center of mass.
+
+This is accomplished by correcting the momentum of each particle in the 
+final state candidate list by the factor $T_1 / T_2$.  $T_2$ is the total 
+kinetic energy in the lab frame of all the final state candidates generated
+assuming a projectile-nucleon center of mass.  $T_1$ is the total kinetic 
+energy in the lab frame of the same final state candidates, but whose momenta 
+have been calculated by the phase space decay of an imaginary particle.  
+This particle has the total CM energy of the original projectile and a 
+cluster consisting of all the baryons generated from the intra-nuclear 
+cascade. \\
+
+\noindent
+{\bf Corrections.} Part of the Fermi motion of the target nucleons is taken 
+into account by smearing the transverse momentum components of the final 
+state particles.  The Fermi momentum is first sampled from an average 
+distribution and a random direction for its transverse component is chosen.  
+This component, which is proportional to the number of baryons produced in 
+the cascade, is then included in the final state momenta.
+
+Each final state particle must escape the nucleus, and in the process reduce
+its kinetic energy by the nuclear binding energy.  The binding energy is 
+parameterized as a function of $A$:
+\begin{equation}
+E_B = 25\rm{MeV} \left( \frac{A-1}{120} \right) e^{-(A-1)/120)} .
+\label{he.eq10}
+\end{equation}
+
+Another correction reduces the kinetic energy of final state $\pi^0$s when 
+the incident particle is a $\pi^+$ or $\pi^-$.  This reduction increases 
+as the log of the incident pion energy, and is done to reproduce
+experimental data.  In order to conserve energy on average, the energy 
+removed from the $\pi^0$s is re-distributed among the final state $\pi^+$s,
+$\pi^-$s and $\pi^0$s. \\
+
+\noindent
+{\bf Nuclear De-excitation.} After the generation of initial interaction
+and cascade particles, the target nucleus is left in an excited state.
+De-excitation is accomplished by evaporating protons, neutrons, deuterons,
+tritons and alphas from the nucleus according to a parameterized model.
+The total kinetic energy given to these particles is a function of the
+incident particle kinetic energy:
+\begin{equation}
+T_{evap} = 7.716 \rm{GeV} \left( \frac{A-1}{120} \right) F(T) e^{-F(T) - (A-1)/120} ,
+\end{equation}
+where
+\begin{equation}
+F(T) = \rm{max} [ 0.35 + 0.1304 ln(T) , 0.15 ] ,
+\end{equation}
+and 
+\begin{eqnarray}
+T = 0.1 \rm{GeV} \quad \rm{for} \quad T_{inc} < 0.1 \rm{GeV} \\
+T = T_{inc} \quad \rm{for} \quad 0.1 \rm{GeV} \le T_{inc} \le 4 \rm{GeV} \\
+T = 4 \rm{GeV} \quad \rm{for} \quad T_{inc} > 4 \rm{GeV} .
+\end{eqnarray}
+The mean energy allocated for proton and neutron emission is 
+$\overline{T_{pn}}$ and that for deuteron, triton and alpha emission is 
+$\overline{T_{dta}}$.  These are determined by partitioning $T_{evap}$ : 
+\begin{eqnarray}
+\overline{T_{pn}} = T_{evap} R \quad , \quad \overline{T_{dta}} = T_{evap} (1-R) \quad \rm{with} \nonumber
+\end{eqnarray}
+\begin{eqnarray}
+R = \rm{max}[ 1 - (T/4\rm{GeV})^2 , 0.5 ] .
+\end{eqnarray} 
+The simulated values of $T_{pn}$ and $T_{dta}$ are sampled from normal 
+distributions about $\overline{T_{pn}}$ and $\overline{T_{dta}}$ and their 
+sum is constrained not to exceed the incident particle's kinetic energy,
+$T_{inc}$.
+
+The number of proton and neutrons emitted, $N_{pn}$, is sampled from a
+Poisson distribution about a mean which depends on $R$ and the number of
+baryons produced in the intranuclear cascade.  The average kinetic energy 
+per emitted particle is then $T_{av} = T_{pn}/N_{pn}$.  $T_{av}$ is used
+to parameterize an exponential which qualitatively describes the nuclear
+level density as a function of energy.  The simulated kinetic energy of 
+each evaporated proton or neutron is sampled from this exponential.  Next, 
+the nuclear binding energy is subtracted and the final momentum is 
+calculated assuming an isotropic angular distribution.  The number of 
+protons and neutrons emitted is $(Z/A)N_{pn}$ and $(N/A)N_{pn}$, 
+respectively.
+
+A similar procedure is followed for the deuterons, tritons and
+alphas.  The number of each species emitted is $0.6 N_{dta}$, $0.3 N_{dta}$
+and $0.1 N_{dta}$, respectively. \\
+
+\noindent
+{\bf Tuning of the High Energy Cascade} The final stage of the high 
+energy cascade method involves adjusting the momenta of the produced 
+particles so that they agree better with data.  Currently, five such 
+adjustments are performed, the first three of which apply only to 
+charged particles incident upon light and medium nuclei at incident 
+energies above $\simeq$ 65 GeV.
+  
+\begin{itemize}
+
+\item If the final state particle is a nucleon or light ion with a 
+momentum of less than 1.5 GeV/c, its momentum will be set to zero 
+some fraction of the time.  This fraction increases with the logarithm 
+of the kinetic energy of the incident particle and decreases with 
+$log_{10}(A)$.
+
+\item If the final state particle with the largest momentum happens 
+to be a $\pi^0$, its momentum is exchanged with either the $\pi^+$ 
+or $\pi^-$ having the largest momentum, depending on whether the 
+incident particle charge is positive or negative.
+
+\item If the number of baryons produced in the cascade is a significant 
+fraction ($ > 0.3 $) of $A$, about 25\% of the nucleons and light ions 
+already produced will be removed from the final particle list, provided 
+their momenta are each less than 1.2 GeV/c.
+
+\item The final state of the interaction is of course heavily 
+influenced by the quantum numbers of the incident particle, particularly 
+in the forward direction.  This influence is enforced by compiling, for 
+each forward-going final state particle, the sum
+\begin{equation}
+S_{forward} = \Delta_M + \Delta_Q + \Delta_S + \Delta_B, 
+\end{equation}
+where each $\Delta$ corresponds to the absolute value of the 
+difference of the quantum number between the incident particle and 
+the final state particle.  $M$, $Q$, $S$, and $B$ refer to mass, 
+charge, strangeness and baryon number, respectively.  For final 
+state particles whose character is significantly different from the 
+incident particle ($S$ is large), the momentum component parallel to 
+the incident particle momentum is reduced.  The transverse component 
+is unchanged.  As a result, large-$S$ particles are driven away from 
+the axis of the hadronic shower.  For backward-going particles, a 
+similar procedure is followed based on the calculation of $S_{backward}$.
+
+\item Conservation of energy is imposed on the particles in the 
+final state list in one of two ways, depending on whether or not 
+a leading particle has been chosen from the list.  If all the 
+particles differ significantly from the incident particle in 
+momentum, mass and other quantum numbers, no leading particle is 
+chosen and the kinetic energy of each particle is scaled by the 
+same correction factor.  If a leading particle is chosen, its 
+kinetic energy is altered to balance the total energy, while all 
+the remaining particles are unaltered. 
+
+\end{itemize}
+
+\subsection{High Energy Cluster Production}
+
+As in the high energy cascade model, the high energy cluster model 
+randomly assigns particles from the initial collision to either a 
+forward- or backward-going cluster.  Instead of performing the 
+fragmentation process, however, the two clusters are treated 
+kinematically as the two-body final state of the hadron-nucleon 
+collision.  Each cluster is assigned a kinetic energy $T$ which is 
+sampled from a distribution
+\begin{equation}
+exp[-aT^{1/b}]
+\end{equation}
+where both $a$ and $b$ decrease with the number of particles in a 
+cluster.  If the combined total energy of the two clusters is 
+larger than the center of mass energy, the energy of each cluster
+is reduced accordingly.  The center of mass momentum of each 
+cluster can then be found by sampling the 4-momentum transfer 
+squared, $t$, from the distribution
+\begin{equation}
+ exp [t (4.0 + 1.6ln(p_{inc}) ) ]
+\end{equation}
+where $t < 0$ and $p_{inc}$ is the incident particle momentum.
+Then,
+\begin{equation}
+ cos\theta = 1 + \frac{t - (E_c - E_i)^2  + (p_c - p_i)^2}{2p_c p_i},
+\end{equation}
+where the subscripts $c$ and $i$ refer to the cluster and incident 
+particle, respectively.  Once the momentum of each cluster is 
+calculated, the cluster is decomposed into its constituents.  The
+momenta of the constituents are determined using a phase space decay 
+algorithm.
+
+The particles produced in the intra-nuclear cascade are grouped into 
+a third cluster.  They are treated almost exactly as in the high 
+energy cascade model, where Eq. \ref{he.eq1} is used to estimate the 
+number of particles produced.  The main difference is that the cluster
+model does not generate strange particles from the cascade.  Nucleon 
+suppression is also slightly stronger, leading to relatively higher 
+pion production at large incident momenta.  Kinetic energy and 
+direction are assigned to the cluster as described in the cluster 
+model paragraph in the previous section.  
+
+The remaining steps to produce the final state particle list are 
+the same as those in high energy cascading: 
+\begin{itemize}
+\item re-scaling of the momenta to reflect a center of mass which 
+involves the cascade baryons,
+\item corrections due to Fermi motion and binding energy,
+\item reduction of final state $\pi^0$ energies,
+\item nuclear de-excitation and 
+\item high energy tuning.
+\end{itemize}
+
+\subsection{Medium Energy Cascading}
+The medium energy cascade algorithm is very similar to the high 
+energy cascade algorithm, but it may be invoked for lower incident 
+energies (down to 1 GeV).  The primary difference between the two 
+codes is the parameterization of the fragmentation process.  The 
+medium energy cascade samples larger transverse momenta for pions 
+and smaller transverse momenta for kaons and baryons.
+
+A second difference is in the treatment of the cluster consisting 
+of particles generated in the cascade.  Instead of parameterizing 
+the kinetic energies and angles of the outgoing particles, the
+phase space decay approach is used.  
+
+Another difference is that the high energy tuning of the final 
+state distribution is not performed.
+
+\subsection{Medium Energy Cluster Production}
+The medium energy cluster algorithm is nearly identical to the
+high energy cluster algorithm, but it may be invoked for incident 
+energies down to 10 MeV.  There are three significant differences 
+at medium energy: less nucleon suppression, fewer particles 
+generated in the intra-nuclear cascade, and no high energy tuning 
+of the final state particle distributions.    
+
+\subsection{Elastic and Quasi-elastic Scattering}
+When no additional particles are produced in the initial 
+interaction, either elastic or quasi-elastic scattering is 
+performed.  If there is insufficient energy to induce an 
+intra-nuclear cascade, but enough to excite the target nucleus, 
+quasi-elastic scattering is performed.  The final state is
+calculated using two-body scattering of the incident particle 
+and the target nucleon, with the scattering angle in the center
+of mass sampled from an exponential:
+\begin{equation}
+exp [ - 2 b p_{in} p_{cm} (1 - cos\theta) ] .
+\end{equation} 
+Here $p_{in}$ is the incident particle momentum, $p_{cm}$ is the 
+momentum in the center of mass, and $b$ is a logarithmic function 
+of the incident momentum in the lab frame as parameterized from 
+data.  As in the cascade and cluster production models, the 
+residual nucleus is then de-excited by evaporating nucleons and
+light ions.
+
+If the incident energy is too small to excite the nucleus,
+elastic scattering is performed.  The angular distribution of 
+the scattered particle is sampled from the sum of two 
+exponentials whose parameters depend on $A$.
+
+
+\section{Status of this document}
+
+7.10.02 re-written by D.H. Wright \\
+1.11.04 new section on high energy model by D.H. Wright \\
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/radioactive/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/radioactive/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/radioactive/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/radDecay.tex/1.3/Thu Dec  4 22:52:37 2003//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/radioactive/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/radioactive/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/radioactive/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/radioactive
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/radioactive/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/radioactive/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/radioactive/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/radioactive/radDecay.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/radioactive/radDecay.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/radioactive/radDecay.tex	(revision 1208)
@@ -0,0 +1,135 @@
+\chapter{Radioactive Decay} 
+
+\section{The Radioactive Decay Module} 
+$G4RadioactiveDecay$ and associated classes are used to simulate the 
+decay of radioactive nuclei by $\alpha$, $\beta^{+}$, and $\beta^{-}$ emission
+and by electron capture (EC).  The simulation model is empirical and 
+data-driven, and uses the Evaluated Nuclear Structure Data File 
+(ENSDF)~\cite{rdk.ENSDF} for information on:
+
+{\noindent \rm{}}
+
+%\check
+{\noindent \rm{}\LARGE$\cdot $\normalsize \indent nuclear half-lives,}
+
+%\check
+{\noindent \rm{}\LARGE$\cdot $\normalsize \indent
+nuclear level structure for the parent or daughter nuclide,}
+
+%\check
+{\noindent \rm{}\LARGE$\cdot $\normalsize \indent
+decay branching ratios, and}
+
+%\check
+{\noindent \rm{}\LARGE$\cdot $\normalsize \indent
+the energy of the decay process.}
+
+%\check
+{\noindent \rm{}}
+
+If the daughter of a nuclear decay is an excited isomer, its prompt nuclear
+de-excitation is treated using the $G4PhotoEvaporation$ 
+class~\cite{rdk.photevap}.
+
+\section{Sampling}
+Sampling of the $\beta$-spectrum, which includes the coordinated energies and 
+momenta of the $\beta^{\pm}$, $\nu$, or $\bar{\nu}$ and residual nucleus, is 
+performed either from histogrammed data, or through a three-body decay 
+algorithm. In the latter case, the effect of the Coulomb barrier on the 
+probability of $\beta^{\pm}$-emission can also be taken into account using the 
+Fermi function:
+
+\begin{equation}
+F(E_0)=\frac {\gamma} {1-e^{-\gamma}}
+\left \lgroup {\frac {Z^2(E_0 + 1)^2} {137^2} + \frac {E_0 ^2+2E_0} {4}} \right \rgroup ^
+{\sqrt {1 - \frac {Z^2} {137^2}} - 1} .
+\end{equation}
+Here $E_0$ is the energy of the $\beta$-particle given as a fraction of the 
+end-point energy, $Z$ is the atomic number of the nucleus, and $\gamma$ is 
+given by the expression:
+\par
+
+\begin{equation}
+\gamma = \frac {2\pi Z} {137} \frac {1+E_0} {\sqrt {E_0 ^2 + 2E_0}} .
+\end{equation}
+
+Due to the level of imprecision of the rest-mass energy of the nuclei generated
+by $G4IonTable::GetNucleusMass$, the mass of the parent nucleus is 
+modified to a minor extent just before performing the two- or three-body decay 
+so that the $Q$ for the transition process equals that identified in the ENSDF 
+data.
+
+\subsection{Biasing Methods}
+By default, sampling of the times of radioactive decay and branching ratios is 
+done according to standard, analogue Monte Carlo modeling. The user may switch 
+on one or more of the following variance reduction schemes, which can provide 
+significant improvement in the modelling efficiency:
+
+1. The decays can be biased to occur more frequently at certain times, for
+example, corresponding to times when measurements are taken in a real 
+experiment. The statistical weights of the daughter nuclides are reduced 
+according to the probability of survival to the time of the event, $t$, which 
+is determined from the decay rate. The decay rate of the $n^{th}$ nuclide in a 
+decay chain is given by the recursive formulae:
+\par
+
+%\check
+\begin{equation}
+R_n (t) = \sum \limits_{i=1} \limits^{n-1} A_{n:i}f(t,\tau_i) +
+A_{n:n}f(t,\tau_n)
+\end{equation}
+
+%\check
+{\noindent \rm{}where:}
+\par
+
+%\check
+\begin{equation}
+\label{rdk.eq4}
+A_{n:i} = \frac {\tau_i} {\tau_i-\tau_n} A_{n:i} \quad \forall i<n
+\end{equation}
+\begin{equation}
+A_{n:n} = -\sum \limits_{i=1} \limits^{n-1} \frac{\tau_n} {\tau_i-\tau_n} A_{n:i} - y_n
+\end{equation}
+\begin{equation}
+\label{rdk.eq6}
+f(t,\tau_i)= \frac {e^{-\frac{t}{\tau_i}}} {\tau_i} \int \limits_{-\inf} \limits^t F(t')e^{\frac{t'}{\tau_i}}dt' .
+\end{equation}
+The values $\tau_i$ are the mean life-times for the nuclei, $y_i$ is the 
+yield of the $i^{th}$ nucleus, and $F(t)$ is a function identifying the time 
+profile of the source.  The above expression for decay rate is simplified, 
+since it assumes that the $i^{th}$ nucleus undergoes 100\% of the decays to the
+$(i+1)^{th}$ nucleus.  Similar expressions which allow for branching and 
+merging of different decay chains can be found in Ref.~\cite{rdk.Tru96}.
+
+A consequence of the form of equations \ref{rdk.eq4} and \ref{rdk.eq6} is that 
+the user may provide a source time profile so that each decay produced as a 
+result of a simulated source particle incident at time $t=0$ is convolved over 
+the source time profile to derive the actual decay rate for that source 
+function.
+
+This form of variance reduction is only appropriate if the radionuclei can be 
+considered to be at rest with respect to the geometry when decay occurs.
+
+2. For a given decay mode ($\alpha$, $\beta^++EC$, or $\beta^-$) the branching 
+ratios to the daughter nuclide can be sampled with equal probability, so that 
+some low probability branches which may have a disproportionately greater 
+effect on the measurement are sampled with increased probability.
+
+3. Each parent nuclide can be split into a user-defined number of nuclides 
+(of proportionally lower statistical weight) prior to treating decay in order t
+o increase the sampling of the effects of the daughter products.
+
+\section{Status of this document}
+
+00.00.00 created by ? \\
+21.11.03 bibliography added, minor re-wording by D.H. Wright \\
+
+\begin{thebibliography}{99}
+\bibitem{rdk.ENSDF} J. Tuli, {\it "Evaluated Nuclear Structure Data File,"} 
+BNL-NCS-51655-Rev87, 1987.
+
+\bibitem{rdk.photevap} Chapter 25, Geant4 Physics Reference Manual.
+
+\bibitem{rdk.Tru96} P.R. Truscott, PhD Thesis, University of London, 1996.
+\end{thebibliography}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/stopping/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/stopping/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/stopping/CVS/Entries	(revision 1208)
@@ -0,0 +1,4 @@
+/mg.tex/1.4/Thu Nov 29 18:42:20 2001//
+/piabs.tex/1.5/Sat Dec 11 18:57:37 2004//
+/stopping.tex/1.7/Sun Dec  5 01:58:37 2004//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/stopping/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/stopping/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/stopping/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/stopping
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/stopping/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/stopping/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/stopping/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/stopping/mg.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/stopping/mg.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/stopping/mg.tex	(revision 1208)
@@ -0,0 +1,31 @@
+\section{Complementary parameterised and theoretical treatment}
+
+Absorption of negative pions and kaons at rest from a nucleus 
+is described in literature
+\cite{Gadioli}, \cite{Chiang}, \cite{Ashery}, \cite{Weyer}
+as consisting of two main components:
+\begin{itemize}
+\item a primary absorption process, involving the interaction of the
+incident stopped hadron with one or more nucleons of the target nucleus;
+\item the deexcitation of the remnant nucleus, left in an excitated 
+state as a result of the occurrence of the primary absorption process.
+\end{itemize}
+
+This interpretation is supported by several experiments
+\cite{Hartmann}, \cite{Madley}, \cite{Schleputz}, \cite{Orth},
+\cite{Pruys}, \cite{Heusi}, \cite{Isaak},
+that have measured various features characterizing these processes.
+In many cases 
+the experimental measurements are capable to distinguish the final
+products originating from the primary absorption process and those 
+resulting from the nuclear deexcitation component.
+
+A set of stopped particle absorption processes is implemented in GEANT4,
+based on this two-component model (PiMinusAbsorptionAtRest and 
+KaonMinusAbsorptionAtRest classes, for $\pi^{-}$ and $K^{-}$ respectively.
+Both implementations adopt the same approach:
+the primary absorption component of the process is parameterised,
+based on available experimental data; 
+the nuclear deexcitation component is handled through the theoretical models
+described elsewhere in this Manual.
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/stopping/piabs.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/stopping/piabs.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/stopping/piabs.tex	(revision 1208)
@@ -0,0 +1,145 @@
+\subsection {Pion absorption at rest}
+The absorption of stopped negative pions in nuclei is interpreted 
+\cite{Gadioli}, \cite{Chiang}, \cite{Ashery}, \cite{Weyer}
+as starting with the absorption of the pion by two or
+more correlated nucleons; the total energy of the pion is transferred to
+the absorbing nucleons, which then may leave the nucleus directly, or
+undergo final-state interactions with the residual nucleus. The remaining
+nucleus de-excites by evaporation of low energetic particles.
+
+G4PiMinusAbsorptionAtRest generates the primary absorption component of 
+the process through
+the parameterisation of existing experimental data;
+the primary absorption component is handled by class G4PiMinusStopAbsorption.
+In the current implementation only absorption on a nucleon pair is considered,
+while contributions from absorption on nucleon clusters are neglected; 
+this approximation is supported by experimental 
+results 
+\cite{Gadioli}, \cite{Machner2}
+showing that it is the dominating contribution.
+
+Several features of stopped pion absorption are known from experimental
+measurements on various materials \cite{Hartmann}, \cite{Madley}, 
+\cite{Schleputz}, \cite{Orth},
+\cite{Pruys}, \cite{Heusi}, \cite{Isaak}, \cite{Isaak-ang}:
+\begin{itemize}
+\item the average number of nucleons emitted, as resulting from the
+primary absorption process;
+\item the ratio of nn vs np as nucleon pairs involved in the absorption
+process;
+\item the energy spectrum of the resulting nucleons emitted and their
+opening angle distribution.
+\end{itemize}
+The corresponding final state products and related distributions are
+generated according to a parameterisation
+of the available experimental measurements listed above. The dependence on
+the material is handled by a strategy pattern:
+the features pertaining to material for which experimental data are available 
+are treated in G4PiMinusStopX classes (where X represents an element),
+inheriting from G4StopMaterial base class. In case of absorption on an element
+for which experimental data are not available, the experimental distributions
+for the elements closest in Z are used. 
+
+The excitation energy of the residual nucleus is calculated by difference
+between the initial energy and the energy of the final state products of
+the primary absorption process.
+
+Another strategy handles the nucleus deexcitation; the current default
+implementation consists in handling the deexcitatoin component of the process
+through the evaporation model described elsewhere in this Manual.
+
+\begin{latexonly}
+
+\begin{thebibliography}{999}
+
+\bibitem{Gadioli} E. Gadioli and E. Gadioli Erba
+  {\em Phys. Rev. C 36} 741 (1987)
+
+\bibitem{Chiang} H.C. Chiang and J. Hufner
+  {\em Nucl. Phys. A352} 442 (1981)
+
+\bibitem{Ashery} D. Ashery and J. P. Schiffer
+  {\em Ann. Rev. Nucl. Part. Sci. 36} 207 (1986)
+
+\bibitem{Weyer} H. J. Weyer
+  {\em Phys. Rep. 195} 295 (1990)
+
+\bibitem{Hartmann} R. Hartmann et al.,
+  {\em Nucl. Phys. A300} 345 (1978)
+
+\bibitem{Madley} R. Madley et al.,
+  {\em Phys. Rev. C 25} 3050 (1982)
+
+\bibitem{Schleputz} F. W. Schleputz et al.,
+  {\em Phys. Rev. C 19} 135 (1979)
+
+\bibitem{Orth} C.J. Orth et al.,
+  {\em Phys. Rev. C 21} 2524 (1980)
+
+\bibitem{Pruys} H.S. Pruys et al.,
+  {\em Nucl. Phys. A316} 365 (1979)
+
+\bibitem{Heusi} P. Heusi et al.,
+  {\em Nucl. Phys. A407} 429 (1983)
+
+\bibitem{Isaak} H.P. Isaak et al.,
+  {\em Nucl. Phys. A392} 368 (1983)
+
+\bibitem{Isaak-ang} H.P. Isaak et al.,
+  {\em Helvetica Physica Acta 55} 477 (1982)
+
+\bibitem{Machner2}  H. Machner
+  {\em Nucl. Phys. A395} 457 (1983)
+
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item E. Gadioli and E. Gadioli Erba
+  {\em Phys. Rev. C 36} 741 (1987)
+
+\item H.C. Chiang and J. Hufner
+  {\em Nucl. Phys. A352} 442 (1981)
+
+\item D. Ashery and J. P. Schiffer
+  {\em Ann. Rev. Nucl. Part. Sci. 36} 207 (1986)
+
+\item H. J. Weyer
+  {\em Phys. Rep. 195} 295 (1990)
+
+\item R. Hartmann et al.,
+  {\em Nucl. Phys. A300} 345 (1978)
+
+\item R. Madley et al.,
+  {\em Phys. Rev. C 25} 3050 (1982)
+
+\item F. W. Schleputz et al.,
+  {\em Phys. Rev. C 19} 135 (1979)
+
+\item C.J. Orth et al.,
+  {\em Phys. Rev. C 21} 2524 (1980)
+
+\item H.S. Pruys et al.,
+  {\em Nucl. Phys. A316} 365 (1979)
+
+\item P. Heusi et al.,
+  {\em Nucl. Phys. A407} 429 (1983)
+
+\item H.P. Isaak et al.,
+  {\em Nucl. Phys. A392} 368 (1983)
+
+\item H.P. Isaak et al.,
+  {\em Helvetica Physica Acta 55} 477 (1982)
+
+\item H. Machner
+  {\em Nucl. Phys. A395} 457 (1983)
+
+\end{enumerate}
+
+\end{htmlonly}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/stopping/stopping.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/stopping/stopping.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/stopping/stopping.tex	(revision 1208)
@@ -0,0 +1,14 @@
+\chapter{Interactions of Stopping Particles}
+
+\input{hadronic/stopping/mg}
+\newpage
+\input{hadronic/stopping/piabs}
+\newpage
+
+
+
+
+%%% Local Variables: 
+%%% mode: latex
+%%% TeX-master: " "
+%%% End: 
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/AbrasionAblation/AbrasionAblation.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/AbrasionAblation/AbrasionAblation.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/AbrasionAblation/AbrasionAblation.tex	(revision 1208)
@@ -0,0 +1,584 @@
+
+\chapter{Abrasion-ablation Model}
+
+\section{Introduction}
+\label{Intro}
+The abrasion model is a simplified macroscopic model for nuclear-nuclear 
+interactions based largely on geometric arguments rather than detailed 
+consideration of nucleon-nucleon collisions.  As such the speed of the 
+simulation is found to be faster than models such as G4BinaryCascade, 
+but at the cost of accuracy.  The version of the model implemented is 
+interpreted from the so-called abrasion-ablation model described by Wilson 
+{\normalsize\it{}et al} \cite{aaWilson},\cite{aaTownsend} together with an 
+algorithm from Cucinotta to approximate the secondary nucleon energy 
+spectrum \cite{aaCucinotta}.  By default, instead of performing an ablation 
+process to simulate the de-excitation of the nuclear pre-fragments, the Geant4 
+implementation of the abrasion model makes use of existing and more detailed 
+nuclear de-excitation models within Geant4 (G4Evaporation, G4FermiBreakup, 
+G4StatMF) to perform this function (see section \ref{deexcitation}).  However, 
+in some cases cross sections for the production of fragments with large 
+$\Delta$A from the pre-abrasion nucleus are more accurately determined using a 
+Geant4 implementation of the ablation model (see section \ref{ablation}).
+
+
+\noindent The abrasion interaction is the initial fast process in which the 
+overlap region between the projectile and target nuclei is sheered-off (see 
+figure \ref{fig:1})  The spectator nucleons in the projectile are assumed to 
+undergo little change in momentum, and likewise for the spectators in the 
+target nucleus.  Some of the nucleons in the overlap region do suffer a change 
+in momentum, and are assumed to be part of the original nucleus which then 
+undergoes de-excitation.
+
+
+\noindent Less central impacts give rise to an overlap region in which the 
+nucleons can suffer significant momentum change, and zones in the projectile 
+and target outside of the overlap where the nucleons are considered as 
+spectators to the initial energetic interaction.
+
+
+\noindent The initial description of the interaction must, however, take into 
+consideration changes in the direction of the projectile and target nuclei due 
+to Coulomb effects, which can then modify the distance of closest approach 
+compared with the initial impact parameter.  Such effects can be important for 
+low-energy collisions.
+
+
+\section{Initial nuclear dynamics and impact parameter}
+\label{InitDyn}
+For low-energy collisions, we must consider the deflection of the nuclei as a 
+result of the Coulomb force (see figure \ref{fig:2}).  Since the dynamics are 
+non-relativistic, the motion is governed by the conservation of energy 
+equation:
+
+\begin{equation}
+E_{tot}  = \frac{1}{2}\mu \dot r^2  + \frac{{l^2 }}{{2\mu r^2 }} + \frac{{Z_P Z_T e^2 }}{r}
+\label{eqn1}
+\end{equation}
+%Equation ??.1
+
+\noindent where:
+
+\(E_{tot}\) $\>$ = total energy in the centre of mass frame;
+
+\(r\),\(\dot r\) $\>$ = distance between nuclei, and rate of change of distance;
+
+\(l\) $\>$ = angular momentum;
+
+\(\mu\) $\>$ = reduced mass of system {\normalsize\it{}i.e.} \(m_1m_2/(m_1+m_2)\);
+
+\(e\) $\>$ = electric charge (units dependent upon the units for \(E_{tot}\) and \(r\));
+
+\(Z_P\), \(Z_T\) $\>$ = charge numbers for the projectile and target nuclei.
+
+\noindent The angular momentum is based on the impact parameter between the 
+nuclei when their separation is large, {\normalsize\it{}i.e.}
+
+\begin{equation}
+E_{tot}  = \frac{1}{2}\frac{{l^2 }}{{\mu b^2 }}\; \Rightarrow \;l{}^2 = 2E_{tot} \mu b^2 
+\label{eqn2}
+\end{equation}
+%Equation ??.2
+
+\noindent At the point of closest approach, \(\dot r\)=0, therefore:
+
+
+\begin{equation}
+\begin{array}{l}
+ E_{tot}  = \frac{{E_{tot} b^2 }}{{r^2 }} + \frac{{Z_P Z_T e^2 }}{r} \\ 
+ r^2  = b^2  + \frac{{Z_P Z_T e^2 }}{{E_{tot} }}r \\ 
+ \end{array}
+\label{eqn3}
+\end{equation}
+%Equation ??.3
+
+\noindent Rearranging this equation results in the expression:
+
+\begin{equation}
+b^2  = r(r - r_m )
+\label{eqn4}
+\end{equation}
+%Equation ??.4
+
+\noindent where:
+
+\begin{equation}
+r_m  = \frac{{Z_P Z_T e^2 }}{{E_{tot} }}
+\label{eqn5}
+\end{equation}
+%Equation ??.5
+
+\noindent In the implementation of the abrasion process in Geant4, the 
+square of the far-field impact parameter, \(b\), is sampled uniformly subject 
+to the distance of closest approach, \(r\), being no greater than 
+\(r_P\) + \(r_T\) (the sum of the projectile and target nuclear radii).
+
+\section{Abrasion process}
+\label{abrasion}
+In the abrasion process, as implemented by Wilson {\normalsize\it{}et al} 
+\cite{aaWilson} it is assumed that the nuclear density for the projectile is 
+constant up to the radius of the projectile (\(r_P\)) and zero outside.  This 
+is also assumed to be the case for the target nucleus.  The amount of nuclear 
+material abraded from the projectile is given by the expression:
+
+\begin{equation}
+\Delta _{abr}  = FA_P \left[ {1 - \exp \left( { - \frac{{C_T }}{\lambda }} \right)} \right]
+\label{eqn6}
+\end{equation}
+%Equation ??.6
+
+\noindent where F is the fraction of the projectile in the interaction zone, 
+\(\lambda\) is the nuclear mean-free-path, assumed to be:
+
+\begin{equation}
+\lambda  = \frac{{16.6}}{{E^{0.26} }}
+\label{eqn7}
+\end{equation}
+%Equation ??.7
+\noindent \(E\) is the energy of the projectile in MeV/nucleon and \(C_T\) is 
+the chord-length at the position in the target nucleus for which the 
+interaction probability is maximum.  For cases where the radius of the target 
+nucleus is greater than that of the projectile ({\normalsize\it{}i.e.} 
+\(r_T > r_P\)):
+
+\begin{equation}
+C_T  = \left\{ {\begin{array}{*{20}c}
+   {2\sqrt {r_T^2  - x^2 } } & {:x > 0}  \\
+   {2\sqrt {r_T^2  - r^2 } } & {:x \le 0}  \\
+\end{array}} \right.
+\end{equation}
+
+\noindent where:
+
+\begin{equation}
+x = \frac{{r_P^2  + r^2  - r_T^2 }}{{2r}}
+\label{eqn8}
+\end{equation}
+%Equation ??.8
+
+\noindent In the event that \(r_P > r_T\) then \(C_T\) is:
+
+\begin{equation}
+C_T  = \left\{ {\begin{array}{*{20}c}
+   {2\sqrt {r_T^2  - x^2 } } & {:x > 0}  \\
+   {2r_T } & {:x \le 0}  \\
+\end{array}} \right.
+\end{equation}
+
+\noindent where:
+
+\begin{equation}
+x = \frac{{r_T^2  + r^2  - r_P^2 }}{{2r}}
+\label {eqn9}
+\end{equation}
+%Equation ??.9
+
+\noindent The projectile and target nuclear radii are given by the expression:
+
+\begin{equation}
+\begin{array}{l}
+ r_P  \approx 1.29\sqrt {r_{RMS,P}^2  - 0.84^2 }  \\ 
+ r_T  \approx 1.29\sqrt {r_{RMS,T}^2  - 0.84^2 }  \\ 
+ \end{array}
+\label{eqn10}
+\end{equation}
+%Equation ??.10
+\noindent The excitation energy of the nuclear fragment formed by the 
+spectators in the projectile is assumed to be determined by the excess surface 
+area, given by:
+
+\begin{equation}
+\Delta S = 4\pi r_P^2 \left[ {1 + P - \left( {1 - F} \right)^{{\raise0.7ex\hbox{$2$} \!\mathord{\left/
+ {\vphantom {2 3}}\right.\kern-\nulldelimiterspace}
+\!\lower0.7ex\hbox{$3$}}} } \right]
+\label{eqn11}
+\end{equation}
+%Equation ??.11
+
+\noindent where the functions \(P\) and \(F\) are given in section 
+\ref{PandF}.  Wilson {\normalsize\it{}et al} equate this surface area to the 
+excitation to:
+
+\begin{equation}
+E_S  = 0.95\Delta S
+\label{eqn12}
+\end{equation}
+%Equation ??.12
+
+\noindent if the collision is peripheral and there is no significant 
+distortion of the nucleus, or
+
+\begin{equation}
+\begin{array}{l}
+ E_S  = 0.95\left\{ {1 + 5F + \Omega F^3 } \right\}\Delta S \\ 
+ \Omega  = \left\{ {\begin{array}{*{20}c}
+   0 & {:A_P  > {\rm 16}}  \\
+   {1500} & {:A_P  < 12}  \\
+   {1500 - 320\left( {A_P  - 12} \right)} & {:12 \le A_P  \le 16}  \\
+\end{array}} \right. \\ 
+ \end{array}
+\label{eqn13}
+\end{equation}
+%Equation ??.13
+\noindent if the impact separation is such that \(r << r_P\)+\(r_T\).  
+\(E_S\) is in MeV provided \(\Delta S\) is in fm$^2$.
+
+\noindent For the abraded region, Wilson {\normalsize\it{}et al} assume that 
+fragments with a nucleon number of five are unbounded, 90\% of fragments with 
+a nucleon number of eight are unbound, and 50\% of fragments with a nucleon 
+number of nine are unbound.  This was not implemented within the Geant4 
+version of the abrasion model, and disintegration of the pre-fragment was only 
+simulated by the subsequent de-excitation physics models in the 
+G4DeexcitationHandler (evaporation, {\normalsize\it{}etc.} or 
+G4WilsonAblationModel) since the yields of lighter fragments were already 
+underestimated compared with experiment.
+
+\noindent In addition to energy as a result of the distortion of the fragment, 
+some energy is assumed to be gained from transfer of kinetic energy across the 
+boundaries of the nuclei.  This is approximated to the average energy 
+transferred to a nucleon per unit intersection pathlength (assumed to be 13
+MeV/fm) and the longest chord-length, \(C_l\), and for half of the 
+nucleon-nucleon collisions it is assumed that the excitation energy is:
+
+
+\begin{equation}
+E_X^*  = \left\{ {
+\begin{array}{*{20}c}
+   {13 \cdot \left[ {1 + \frac{{C_t  - 1.5}}{3}} \right]C_l } & {:C_t  > 1.5{\rm fm}}  \\
+   {{\rm 13} \cdot {\rm C}_l } & {:C_t  \le 1.5{\rm fm}}  \\
+\end{array}} \right.
+\label{eqn14}
+\end{equation}
+%Equation ??.14
+
+\noindent where:
+
+\begin{equation}
+C_l  = \left\{ {
+\begin{array}{*{20}c}
+   {2\sqrt {r_P^2  + 2rr_T  - r^2  - r_T^2 } } & {r > r_T }  \\
+   {2r_P } & {r \le r_T }  \\
+\end{array}} \right.
+\end{equation}
+\begin{equation}
+C_t  = 2\sqrt {r_P^2  - \frac{{\left( {r_P^2  + r^2  - r_T^2 } \right)^2 }}{{4r^2 }}} 
+\label{eqn15}
+\end{equation}
+%Equation ??.15
+
+\noindent For the remaining events, the projectile energy is assumed to be 
+unchanged.  Wilson {\normalsize\it{}et al} assume that the energy required to 
+remove a nucleon is 10MeV, therefore the number of nucleons removed from the 
+projectile by ablation is:
+
+\begin{equation}
+\Delta _{abl}  = \frac{{E_S  + E_X }}{{10}} + \Delta _{spc} 
+\label{eqn16}
+\end{equation}
+%Equation ??.16
+
+\noindent where \(\Delta _{spc}\) is the number of loosely-bound spectators 
+in the interaction region, given by:
+
+\begin{equation}
+\Delta _{spc}  = A_P F\exp \left( { - \frac{{C_T }}{\lambda }} \right)
+\label{eqn17}
+\end{equation}
+%Equation ??.17
+\noindent Wilson {\normalsize\it{}et al} appear to assume that for half of the 
+events the excitation energy is transferred into one of the nuclei (projectile 
+or target), otherwise the energy is transferred in to the other (target or 
+projectile respectively).
+
+\noindent The abrasion process is assumed to occur without preference for the 
+nucleon type, {\normalsize\it{}i.e.} the probability of a proton being abraded 
+from the projectile is proportional to the fraction of protons in the original 
+projectile, therefore:
+
+\begin{equation}
+\Delta Z_{abr}  = \Delta _{abr} \frac{{Z_P }}{{A_P }}
+\label{eqn18}
+\end{equation}
+%Equation ??.18
+
+\noindent In order to calculate the charge distribution of the final fragment, 
+Wilson {\normalsize\it{}et al} assume that the products of the interaction lie 
+near to nuclear stability and therefore can be sampled according to the 
+Rudstam equation (see section \ref{ablation}).  The other obvious condition is 
+that the total charge must remain unchanged.
+
+\section{Abraded nucleon spectrum}
+\label{spectrum}
+Cucinotta has examined different formulae to represent the secondary protons 
+spectrum from heavy ion collisions \cite{aaCucinotta}.  One of the models 
+(which has been implemented to define the final state of the abrasion process) 
+represents the momentum distribution of the secondaries as:
+
+\begin{equation}
+\psi (p) \propto \sum\limits_{i = 1}^3 {C_i \exp \left( { - \frac{{p^2 }}{{2p_i^2 }}} \right)}  + d_0 \frac{{\gamma p}}{{\sinh \left( {\gamma p} \right)}}
+\label{eqn19}
+\end{equation}
+%Equation ??.19
+
+\noindent where:
+
+\(\psi (p)\) \indent = number of secondary protons with momentum \(p\) per 
+unit of momentum phase space [c$^3$/MeV$^3$];
+
+\(p\) \indent = magnitude of the proton momentum in the rest frame of the 
+nucleus from which the particle is projected [MeV/c];
+
+\(C1\), \(C2\), \(C3\) \indent = 1.0, 0.03, and 0.0002;
+
+\(p1\), \(p2\), \(p3\) \indent = \(\sqrt \frac{2} {5} p_F\), 
+\(\sqrt \frac{6} {5} p_F\), 500 [MeV/c]
+
+\(p_F\) \indent = Momentum of nucleons in the nuclei at the Fermi surface 
+[MeV/c]
+
+\(d_0\) \indent = 0.1
+
+\(\frac 1 \gamma\) \indent = 90 [MeV/c];
+
+\noindent G4WilsonAbrasionModel approximates the momentum distribution for the 
+neutrons to that of the protons, and as mentioned above, the nucleon type 
+sampled is proportional to the fraction of protons or neutrons in the original 
+nucleus.
+
+\noindent The angular distribution of the abraded nucleons is assumed to be 
+isotropic in the frame of reference of the nucleus, and therefore those 
+particles from the projectile are Lorentz-boosted according to the initial 
+projectile momentum.
+
+\section{De-excitation of the projectile and target nuclear pre-fragments 
+by standard Geant4 de-excitation physics}
+\label{deexcitation}
+Unless specified otherwise, G4WilsonAbrasionModel will instantiate the 
+following de-excitation models to treat subsequent particle emission of the 
+excited nuclear pre-fragments (from both the projectile and the target):
+
+\trivlist
+\item 1 G4Evaporation, which will perform nuclear evaporation of 
+($\alpha$-particles, $^3$He, $^3$H, $^2$H, protons and neutrons, in 
+competition with photo-evaporation and nuclear fission (if the nucleus has 
+sufficiently high A).
+
+\item 2 G4FermiBreakUp, for nuclei with \(A \le\) 12 and \(Z \le\) 6.
+
+\item 3 G4StatMF, for multi-fragmentation of the nucleus (minimum energy for 
+this process set to 5 MeV).
+\endtrivlist
+
+\noindent As an alternative to using this de-excitation scheme, the user may 
+provide to the G4WilsonAbrasionModel a pointer to her own de-excitation 
+handler, or invoke instantiation of the ablation model (G4WilsonAblationModel).
+
+\section{De-excitation of the projectile and target nuclear pre-fragments by 
+nuclear ablation}
+\label{ablation}
+A nuclear ablation model, based largely on the description provided by 
+Wilson {\normalsize\it{}et al} \cite{aaWilson}, has been developed to provide 
+a better approximation for the final nuclear fragment from an abrasion 
+interaction.  The algorithm implemented in G4WilsonAblationModel uses the same 
+approach for selecting the final-state nucleus as NUCFRG2 and determining the 
+particles evaporated from the pre-fragment in order to achieve that state.  
+However, use is also made of classes in Geant4's evaporation physics to 
+determine the energies of the nuclear fragments produced.
+
+\noindent The number of nucleons ablated from the nuclear pre-fragment 
+(whether as nucleons or light nuclear fragments) is determined based on the 
+average binding energy, assumed by Wilson {\normalsize\it{}et al} to be 
+10 MeV, {\normalsize\it{}i.e.}:
+
+\begin{equation}
+A_{abl}  = \left\{ {\begin{array}{*{20}c}
+   {Int\left( {\frac{{E_x }}{{10MeV}}} \right)} \hfill & {:A_{PF}  > Int\left( {\frac{{E_x }}{{10MeV}}} \right)} \hfill  \\
+   {A_{PF} } \hfill & {:otherwise} \hfill  \\
+\end{array}} \right.
+\label{eqn20}
+\end{equation}
+%Equation ??.20
+
+\noindent Obviously, the nucleon number of the final fragment, \(A_F\), is 
+then determined by the number of remaining nucleons. The proton number of the 
+final nuclear fragment (\(Z_F\)) is sampled stochastically using the Rudstam 
+equation:
+
+\begin{equation}
+\sigma (A_F ,Z_F ) \propto \exp \left( { - R\left| {Z_F  - SA_F  - TA_F^2 } \right|^{{\raise0.7ex\hbox{$3$} \!\mathord{\left/
+ {\vphantom {3 2}}\right.\kern-\nulldelimiterspace}
+\!\lower0.7ex\hbox{$2$}}} } \right)
+\label{eqn21}
+\end{equation}
+%Equation ??.21
+
+\noindent Here \(R\)=\(11.8/AF^{0.45}\), \(S\)=\(0.486\), and 
+\(T\)=\(3.8 \cdot 10^{-4}\).  Once \(Z_F\) and \(A_F\) have been calculated, 
+the species of the ablated (evaporated) particles are determined again using 
+Wilson's algorithm.  The number of $\alpha$-particles is determined first, on 
+the basis that these have the greatest binding energy:
+
+\begin{equation}
+N_\alpha   = \left\{ {\begin{array}{*{20}c}
+   {Int\left( {\frac{{Z_{abl} }}{2}} \right)} & {:Int\left( {\frac{{Z_{abl} }}{2}} \right) < Int\left( {\frac{{A_{abl} }}{4}} \right)}  \\
+   {Int\left( {\frac{{A_{abl} }}{4}} \right)} & {:Int\left( {\frac{{Z_{abl} }}{2}} \right) \ge Int\left( {\frac{{A_{abl} }}{4}} \right)}  \\
+\end{array}} \right.
+\label{eqn22}
+\end{equation}
+%Equation ??.22
+
+\noindent Calculation of the other ablated nuclear/nucleon species is 
+determined in a similar fashion in order of decreasing binding energy per 
+nucleon of the ablated fragment, and subject to conservation of charge and 
+nucleon number.
+
+\noindent Once the ablated particle species are determined, use is made of the 
+Geant4 evaporation classes to sample the order in which the particles are 
+ejected (from G4AlphaEvaporationProbability, G4He3EvaporationProbability, 
+G4TritonEvaporationProbability, G4DeuteronEvaporationProbability, 
+G4ProtonEvaporationProbability and G4NeutronEvaporationProbability) and the 
+energies and momenta of the evaporated particle and the residual nucleus at 
+each two-body decay (using G4AlphaEvaporationChannel, G4He3EvaporationChannel, 
+G4TritonEvaporationChannel, G4DeuteronEvaporationChannel, 
+G4ProtonEvaporationChannel and G4NeutronEvaporationChannel).  If at any stage 
+the probability for evaporation of any of the particles selected by the 
+ablation process is zero, the evaporation is forced, but no significant 
+momentum is imparted to the particle/nucleus.  Note, however, that any 
+particles ejected from the projectile will be Lorentz boosted depending upon 
+the initial energy per nucleon of the projectile.
+
+\section{Definition of the functions P and F used in the abrasion model}
+\label{PandF}
+In the first instance, the form of the functions $P$ and $F$ used in the 
+abrasion model are dependent upon the relative radii of the projectile and 
+target and the distance of closest approach of the nuclear centres.  Four 
+radius condtions are treated.
+
+\noindent
+\underline{\bf $r_T > r_P$ and $r_T-r_P \le r \le r_T+r_P$} :
+
+\begin{equation}
+P = 0.125\sqrt {\mu \nu } \left( {\frac{1}{\mu } - 2} \right)\left( {\frac{{1 - \beta }}{\nu }} \right)^2  - 0.125\left[ {0.5\sqrt {\mu \nu } \left( {\frac{1}{\mu } - 2} \right) + 1} \right]\left( {\frac{{1 - \beta }}{\nu }} \right)^3 
+\end{equation}
+
+\begin{equation}
+F = 0.75\sqrt {\mu \nu } \left( {\frac{{1 - \beta }}{\nu }} \right)^2  - 0.125\left[ {3\sqrt {\mu \nu }  - 1} \right]\left( {\frac{{1 - \beta }}{\nu }} \right)^3 
+\end{equation} \\
+
+\noindent where:
+
+\begin{eqnarray}
+  \nu  = \frac{{r_P }}{{r_P  + r_T }} \\ 
+  \beta  = \frac{r}{{r_P  + r_T }} \\ 
+  \mu  = \frac{{r_T }}{{r_P }} 
+\end{eqnarray}
+
+
+\noindent
+\underline{\bf $r_T > r_P$ and $r < r_T-r_P$} :
+
+\begin{equation}
+P =  - 1
+\end{equation}
+\begin{equation}
+F = 1
+\end{equation}
+
+\noindent
+\underline{\bf $r_P > r_T$ and $r_P-r_T \le r \le r_P+r_T$} :
+
+\begin{eqnarray}
+ P = 0.125\sqrt {\mu \nu } \left( {\frac{1}{\mu } - 2} \right)\left( {\frac{{1 - \beta }}{\nu }} \right)^2 
+\end{eqnarray}
+\begin{eqnarray}
+ - 0.125\left\{ {0.5\sqrt {\frac{\nu }{\mu }} \left( {\frac{1}{\mu } - 2} \right) - \left[ {\frac{{\sqrt {1 - \mu ^2 } }}{\nu } - 1} \right]\sqrt {\frac{{2 - \mu }}{{\mu ^5 }}} } \right\}\left( {\frac{{1 - \beta }}{\nu }} \right)^3 \nonumber 
+\end{eqnarray}
+
+\begin{eqnarray}
+ F = 0.75\sqrt {\mu \nu } \left( {\frac{{1 - \beta }}{\nu }} \right)^2 
+\end{eqnarray}
+\begin{eqnarray}
+ - 0.125\left[ {3\sqrt {\frac{\nu }{\mu }}  - \frac{{\left[ {1 - \left( {1 - \mu ^2 } \right)^{{\raise0.7ex\hbox{$3$} \!\mathord{\left/
+  {\vphantom {3 2}}\right.\kern-\nulldelimiterspace}
+ \!\lower0.7ex\hbox{$2$}}} } \right]\sqrt {1 - \left( {1 - \mu } \right)^2 } }}{{\mu ^3 }}} \right]\left( {\frac{{1 - \beta }}{\nu }} \right)^3 \nonumber
+\end{eqnarray}
+
+
+\noindent
+\underline{\bf $r_P > r_T$ and $r < r_T-r_P$} :
+
+\begin{equation}
+P = \left[ {\frac{{\sqrt {1 - \mu ^2 } }}{\nu } - 1} \right]\sqrt {1 - \left( {\frac{\beta }{\nu }} \right)^2 } 
+\end{equation}
+\begin{equation}
+F = \left[ {1 - \left( {1 - \mu ^2 } \right)^{{\raise0.7ex\hbox{$3$} \!\mathord{\left/
+ {\vphantom {3 2}}\right.\kern-\nulldelimiterspace}
+\!\lower0.7ex\hbox{$2$}}} } \right]\sqrt {1 - \left( {\frac{\beta }{\nu }} \right)^2 } 
+\end{equation}
+
+\begin{figure}
+  \includegraphics[scale=0.8]{hadronic/theory_driven/AbrasionAblation/abrasion.eps}
+\caption{In the abrasion process, a fraction of the nucleons in the projectile 
+and target nucleons interact to form a fireball region with a velocity between 
+that of the projectile and the target.  The remaining spectator nucleons in 
+the projectile and target are not initially affected (although they do suffer 
+change as a result of longer-term de-excitation).}
+\label{fig:1}       % Give a unique label
+\end{figure}
+
+\begin{figure}
+  \includegraphics[scale=0.55, angle=0]{hadronic/theory_driven/AbrasionAblation/deflection.eps}
+\caption{Illustration clarifying impact parameter in the far-field (\(b\)) and 
+ actual impact parameter (\(r\)).}
+\label{fig:2}       % Give a unique label
+\end{figure}
+
+\section{Status of this document}
+ 18.06.04 created by Peter Truscott \\
+
+\begin{latexonly}
+
+\begin{thebibliography}{}
+
+\bibitem{aaWilson}
+J W Wilson, R K Tripathi, F A Cucinotta, J K Shinn, F F Badavi, S Y Chun, 
+J W Norbury, C J Zeitlin, L Heilbronn, and J Miller, "NUCFRG2: An evaluation 
+of the semiempirical nuclear fragmentation database," NASA Technical Paper 
+3533, 1995.
+
+\bibitem{aaTownsend}
+Lawrence W Townsend, John W Wilson, Ram K Tripathi, John W Norbury, 
+Francis F Badavi, and Ferdou Khan, "HZEFRG1, An energy-dependent semiempirical 
+nuclear fragmentation model," NASA Technical Paper 3310, 1993.
+
+\bibitem{aaCucinotta}
+Francis A Cucinotta, "Multiple-scattering model for inclusive proton 
+production in heavy ion collisions," NASA Technical Paper 3470, 1994.
+
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\section{Bibliography}
+
+\begin{enumerate}
+\item
+J W Wilson, R K Tripathi, F A Cucinotta, J K Shinn, F F Badavi, S Y Chun, 
+J W Norbury, C J Zeitlin, L Heilbronn, and J Miller, "NUCFRG2: An evaluation 
+of the semiempirical nuclear fragmentation database," NASA Technical Paper 
+3533, 1995.
+
+\item
+Lawrence W Townsend, John W Wilson, Ram K Tripathi, John W Norbury, 
+Francis F Badavi, and Ferdou Khan, "HZEFRG1, An energy-dependent semiempirical 
+nuclear fragmentation model," NASA Technical Paper 3310, 1993.
+
+\item
+Francis A Cucinotta, "Multiple-scattering model for inclusive proton 
+production in heavy ion collisions," NASA Technical Paper 3470, 1994.
+
+\end{enumerate}
+
+\end{htmlonly}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/AbrasionAblation/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/AbrasionAblation/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/AbrasionAblation/CVS/Entries	(revision 1208)
@@ -0,0 +1,4 @@
+/AbrasionAblation.tex/1.4/Mon Dec 18 10:28:26 2006//
+/abrasion.eps/1.1/Mon Jun 21 18:13:39 2004//
+/deflection.eps/1.2/Mon Dec 18 10:28:26 2006//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/AbrasionAblation/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/AbrasionAblation/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/AbrasionAblation/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/AbrasionAblation
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/AbrasionAblation/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/AbrasionAblation/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/AbrasionAblation/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/BinaryCascade.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/BinaryCascade.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/BinaryCascade.tex	(revision 1208)
@@ -0,0 +1,5 @@
+\chapter{The {\sc Geant4} Binary Cascade}
+\input{hadronic/theory_driven/BinaryCascade/modeling}		%GF, HPW
+\input{hadronic/theory_driven/BinaryCascade/comparisons}		%VI
+\input{hadronic/theory_driven/BinaryCascade/neutrons}		%VI
+\input{hadronic/theory_driven/BinaryCascade/bibliography}		% all
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/CVS/Entries	(revision 1208)
@@ -0,0 +1,36 @@
+/BinaryCascade.tex/1.1/Thu Dec 12 11:00:56 2002//
+/angularDistributions.tex/1.1/Thu Dec 12 11:00:57 2002//
+/bibliography.tex/1.4/Sat Dec 11 06:57:18 2004//
+/comparisons.tex/1.1/Thu Dec 12 11:00:58 2002//
+/decay.tex/1.1/Thu Dec 12 11:00:59 2002//
+/dsde_256.eps/1.1/Thu Dec 12 11:01:00 2002//
+/dsdedt_256_7.5.eps/1.1/Thu Dec 12 11:01:01 2002//
+/dsdedt_al_113.eps/1.1/Thu Dec 12 11:01:02 2002//
+/dsdedt_al_256.eps/1.1/Thu Dec 12 11:01:02 2002//
+/dsdedt_al_600.eps/1.1/Thu Dec 12 11:01:03 2002//
+/dsdedt_al_800.eps/1.1/Thu Dec 12 11:01:04 2002//
+/dsdedt_fe_113.eps/1.1/Thu Dec 12 11:01:04 2002//
+/dsdedt_fe_256.eps/1.1/Thu Dec 12 11:01:05 2002//
+/dsdedt_fe_600.eps/1.1/Thu Dec 12 11:01:06 2002//
+/dsdedt_fe_800.eps/1.1/Thu Dec 12 11:01:07 2002//
+/dsdedt_pb_113.eps/1.1/Thu Dec 12 11:01:07 2002//
+/dsdedt_pb_256.eps/1.1/Thu Dec 12 11:01:08 2002//
+/dsdedt_pb_600.eps/1.1/Thu Dec 12 11:01:09 2002//
+/dsdedt_pb_800.eps/1.1/Thu Dec 12 11:01:10 2002//
+/escape.tex/1.1/Thu Dec 12 11:01:10 2002//
+/excitationFragment.tex/1.1/Thu Dec 12 11:01:11 2002//
+/inclusive.tex/1.2/Tue Jan 28 21:32:14 2003//
+/light.tex/1.2/Thu Dec  4 21:39:57 2003//
+/modeling.tex/1.2/Thu Dec  4 16:58:03 2003//
+/modelingOverview.tex/1.1/Thu Dec 12 11:01:13 2002//
+/neutrons.tex/1.3/Mon Dec 18 10:28:26 2006//
+/nnElastic.tex/1.1/Thu Dec 12 11:01:15 2002//
+/nucleus.tex/1.2/Tue Jan 28 21:32:38 2003//
+/pauliBlocking.tex/1.1/Thu Dec 12 11:01:16 2002//
+/pi_45.eps/1.1/Thu Dec 12 11:01:17 2002//
+/potentials.tex/1.1/Thu Dec 12 11:01:18 2002//
+/propagation.tex/1.1/Thu Dec 12 11:01:19 2002//
+/scatteringTerm.tex/1.1/Thu Dec 12 11:01:19 2002//
+/toPrecompound.tex/1.3/Thu Dec  4 21:32:04 2003//
+/transport.tex/1.1/Thu Dec 12 11:01:21 2002//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/angularDistributions.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/angularDistributions.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/angularDistributions.tex	(revision 1208)
@@ -0,0 +1,49 @@
+%\subsection{Angular distributions \editor{Johannes Peter}}
+
+Angular distributions for final states other than 
+nucleon elastic scattering are
+calculated analytically, derived from the collision term of the
+in-medium relativistic Boltzmann-Uehling-Uhlenbeck equation,
+absed on the nucleon nucleon elastic scattering cross-sections:
+
+$$
+\sigma_{NN\rightarrow NN}(s,t) = 
+{1\over(2\pi)^2s}\left(D(s,t)+E(s,t) + (inverted t,u)\right)
+$$
+
+Here $s$, $t$, $u$ are the Mandelstamm variables, 
+$D(s,t)$ is the direct term, and $E(s,t)$ is the exchange
+term, with
+\begin{eqnarray}
+D(s,t) = &{(g_{NN}^\sigma)^4(t-4m^{*}2)^2 \over2(t-m_\sigma^2 )^2} +
+          {(g_{NN}^\omega)^4(2s^2+2st+t^2-8m^{*2}s+8m^{*4}) \over (t-m_\omega^2)^2} + \nonumber\\
+	 & {24(g_{NN}^\pi)^4m^{*2}t^2\over (t-m_\pi^2)^2} -  
+	   {4(g_{NN}^\sigma g_{NN}^\omega)^2(2s+t-4m^{*2})m^{*2}\over
+	  (t-m_\sigma^2)(t-m_\omega^2)}, \nonumber
+\end{eqnarray}
+and
+\begin{eqnarray}
+E(s,t) = &{(g_{NN}^\sigma)^4\left( t(t+s)+4m^{*2}(s-t)\right)\over
+          8(t-m_\sigma^2)(u-m_\sigma^2) }+
+         {(g_{NN}^\omega)^4(s-2m^{*2})(s-6m^{*2}))\over 2(t-m_\omega^2)(u-m_\omega^2) } - \nonumber\\
+	 &{6(g_{NN}^\pi)^4(4m^{*2}-s-t)m^{*4}t\over (t-m_\pi^2)(u=m_pi^2) }+
+	 {3(g_{NN}^\sigma g_{NN}^\pi)^2 
+	   m^{*2} (4m^{*2}-s-t)(4m^{*2}-t) \over (t-m_\sigma^2)(u-m_\pi^2) } + \nonumber\\
+	 &{3(g_{NN}^\sigma g_{NN}^\pi)^2 
+	   t(t+s)m^{*2}\over 2(t-m_\pi^2)(u-m_\sigma^2) } + 
+	 {(g_{NN}^\sigma g_{NN}^\omega)^2
+	   t^2-4m^{*2}s-10m^{*2}t+24m^{*4}\over4(t-m_\sigma^2)(u-m_\omega^2) } + \nonumber\\
+	 &{(g_{NN}^\sigma g_{NN}^\omega)^2
+	   (t+s)^2-2m^{*2}s+2m^{*2}t\over 4(t-m_\omega^2)(u-m_\sigma^2)} + 
+	 {3(g_{NN}^\omega g_{NN}^\pi)^2
+	   (t+s-4m^{*2})(t+s-2m^{*2})\over (t-m_\omega^2)(u-m_\pi^2)} + \nonumber\\
+	 &{3(g_{NN}^\omega g_{NN}^\pi)^2
+	   m^{*2} (t^2-2m^{*2}t)\over (t-m_\pi^2)(u-m_\omega^2)}. \\
+\end{eqnarray} 
+Here, in this first release, the in-medium mass was set to the free mass, and the nucleon
+nucleon coupling constants used were 1.434 for the $\pi$, 7.54 for the $\omega$, and 6.9 for
+the $\sigma$. This formula was used for elementary hadron-nucleon differential cross-sections 
+by scaling teh center of mass energy squared accordingly.
+
+Finite size effects were taken into account at the meson nucleon vertex,
+using a phenomenological form factor (cut-off) at each vertex.
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/bibliography.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/bibliography.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/bibliography.tex	(revision 1208)
@@ -0,0 +1,192 @@
+
+\begin{latexonly}
+
+\begin{thebibliography}{9}
+%  introduction
+\bibitem{1}
+J. Cugnon, C. Volant, S. Vuillier DAPNIA-SPHN-97-01, Dec 1996.
+62pp. Submitted to Nucl.Phys.A, \\
+G. Peter, D. Behrens, C.C. Noack
+Phys.Rev. C49, 3253, (1994),\\
+Hai-Qiao Wang, Xu Cai, Yong Liu
+High Energy Phys.Nucl.Phys. 16, 101, (1992),\\
+A.S. Ilinov, A.B. Botvina, E.S. Golubeva, I.A. Pshenichnov,
+Sov. J. Nucl. Phys. 55, 734, (1992),\\
+and citations therein.
+
+
+% references from modeling
+
+% description of nucleus
+\bibitem{GLMP91.BC} Grypeos M. E., Lalazissis G. A., Massen S. E., Panos C. P.,
+J. Phys. {\bf G17} 1093 (1991).
+
+\bibitem{Elton61.BC} Elton L. R. B., Nuclear Sizes, Oxford University Press,
+Oxford, 1961.
+
+\bibitem{DF74.BC} DeShalit A., Feshbach H., Theoretical Nuclear Physics, 
+Vol. 1: Nuclear Structure, Wyley, 1974.
+
+\bibitem{nucleus_binding}
+ reference to be completed
+
+%potentials
+\bibitem{stricker79}
+K. Stricker, H. McManus, J. A. Carr
+Nuclear scattering of low energy pions, Phys. Rev. C \underline{\bf 19}, 929,
+(1979)
+
+%neutron data 
+\bibitem{Meier89}
+M. M. Meier et al.,
+Differential neutron production cross sections and 
+neutron yields from stopping-length targets for 113-MeV protons, 
+Nucl. Scien. Engin.  \underline{\bf 102}, 310,
+(1989)
+
+\bibitem{Meier92}
+M. M. Meier et al.,
+Differential neutron production cross sections  
+for 256-MeV protons, 
+Nucl. Scien. Engin.  \underline{\bf 110}, 289,
+(1992)
+
+\bibitem{Amian93}
+W. B. Amian et al.,
+Differential neutron production cross sections  
+for 597-MeV protons, 
+Nucl. Scien. Engin.  \underline{\bf 115}, 1,
+(1993)
+
+\bibitem{Amian92}
+W. B. Amian et al.,
+Differential neutron production cross sections  
+for 800-MeV protons, 
+Nucl. Scien. Engin.  \underline{\bf 112}, 78,
+(1992)
+
+%pion data 
+\bibitem{Crawford80}
+J. F. Crawford et al.,
+Measurement of  cross sections and asymmetry parameters for the
+production of charged pions from various nuclei by 585-MeV protons,  
+Phys. Rev.  \underline{\bf C 22}, 1184,
+(1980)
+
+\bibitem{GSI1}
+J.~J.~Gaimard and K.~H.~Schmidt,
+``A Reexamination of the abrasion - ablation model for the description of the nuclear fragmentation reaction,''
+Nucl.\ Phys.\ A {\bf 531} (1991) 709.
+\bibitem{UrQMD1.BC}
+ reference to be completed.
+
+\bibitem{SoH92}
+ reference to be completed
+
+\bibitem{res.BC}
+ reference to be completed
+
+\bibitem{deexcitation}
+ reference to be completed
+
+\end{thebibliography}
+
+\end{latexonly}
+
+
+\begin{htmlonly}
+
+\section{Bibliography}
+
+\begin{enumerate}
+%  introduction
+\item
+J. Cugnon, C. Volant, S. Vuillier DAPNIA-SPHN-97-01, Dec 1996.
+62pp. Submitted to Nucl.Phys.A, \\
+G. Peter, D. Behrens, C.C. Noack
+Phys.Rev. C49, 3253, (1994),\\
+Hai-Qiao Wang, Xu Cai, Yong Liu
+High Energy Phys.Nucl.Phys. 16, 101, (1992),\\
+A.S. Ilinov, A.B. Botvina, E.S. Golubeva, I.A. Pshenichnov,
+Sov. J. Nucl. Phys. 55, 734, (1992),\\
+and citations therein.
+
+
+% references from modeling
+
+% description of nucleus
+\item Grypeos M. E., Lalazissis G. A., Massen S. E., Panos C. P.,
+J. Phys. {\bf G17} 1093 (1991).
+
+\item Elton L. R. B., Nuclear Sizes, Oxford University Press,
+Oxford, 1961.
+
+\item DeShalit A., Feshbach H., Theoretical Nuclear Physics, 
+Vol. 1: Nuclear Structure, Wyley, 1974.
+
+\item
+ reference to be completed
+
+%potentials
+\item
+K. Stricker, H. McManus, J. A. Carr
+Nuclear scattering of low energy pions, Phys. Rev. C \underline{\bf 19}, 929,
+(1979)
+
+%neutron data 
+\item
+M. M. Meier et al.,
+Differential neutron production cross sections and 
+neutron yields from stopping-length targets for 113-MeV protons, 
+Nucl. Scien. Engin.  \underline{\bf 102}, 310,
+(1989)
+
+\item
+M. M. Meier et al.,
+Differential neutron production cross sections  
+for 256-MeV protons, 
+Nucl. Scien. Engin.  \underline{\bf 110}, 289,
+(1992)
+
+\item
+W. B. Amian et al.,
+Differential neutron production cross sections  
+for 597-MeV protons, 
+Nucl. Scien. Engin.  \underline{\bf 115}, 1,
+(1993)
+
+\item
+W. B. Amian et al.,
+Differential neutron production cross sections  
+for 800-MeV protons, 
+Nucl. Scien. Engin.  \underline{\bf 112}, 78,
+(1992)
+
+%pion data 
+\item
+J. F. Crawford et al.,
+Measurement of  cross sections and asymmetry parameters for the
+production of charged pions from various nuclei by 585-MeV protons,  
+Phys. Rev.  \underline{\bf C 22}, 1184,
+(1980)
+
+\item
+J.~J.~Gaimard and K.~H.~Schmidt,
+``A Reexamination of the abrasion - ablation model for the description of the nuclear fragmentation reaction,''
+Nucl.\ Phys.\ A {\bf 531} (1991) 709.
+\item
+ reference to be completed.
+
+\item
+ reference to be completed
+
+\item
+ reference to be completed
+
+\item
+ reference to be completed
+
+\end{enumerate}
+
+\end{htmlonly}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/comparisons.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/comparisons.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/comparisons.tex	(revision 1208)
@@ -0,0 +1,5 @@
+\section{Comparison with experiments}
+We add here a set of preliminary results produced with this code, focusing
+on neutron and pion production. Given that we
+are still in the process of writing up the paper, we apologize for the at
+release time still less then publication quality plots.
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/decay.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/decay.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/decay.tex	(revision 1208)
@@ -0,0 +1,11 @@
+%\subsection{Decay \editor{Johannes Peter}}
+In the simulation of decay of strong resonances, we use the nominal 
+decay branching
+ratios from the particle data book. The stochastic mass of a individual
+resonance created is sampled at creation time from the Breit-Wigner form, under
+the mass constraints posed by center of mass energy of the scattering, and the
+mass in the lightest decay channel. The decay width from the particle data book 
+are then adjusted according to equation \ref{width}, to take the stochastic mass
+value into account.
+
+All decay channels with nominal branching ratios greater than 1\% are simulated.
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/escape.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/escape.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/escape.tex	(revision 1208)
@@ -0,0 +1,14 @@
+%\subsection{The escaping particle and coherent effects \editor{Gunter}}
+
+When a nucleon other than the incident particle leaves the nucleus,
+the ground state of the nucleus changes. The energy of the outgoing
+particle cannot be such that the total mass of the new nucleus would
+be below its ground state mass. To avoid this, we reduce the energy of
+an outgoing nucleons by the mass-difference  of old and new nucleus.
+
+Furthermore, the momentum of the final exited nucleus derived from
+energy momentum balance may be such that its mass is below its ground
+state mass. In this case, we arbitrarily scale the momenta of all
+outgoing particles by a factor derived from the mass of the nucleus
+and the mass of the system of outgoing particles.
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/excitationFragment.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/excitationFragment.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/excitationFragment.tex	(revision 1208)
@@ -0,0 +1,22 @@
+%\subsection{Calculation of excitation energies and residuals \editor{Gunter}}
+
+At the end of the cascade, we form a fragment for further treatment in
+precompound and nuclear de-excitation models (\cite{deexcitation}).
+
+These models need information about the nuclear fragment created by the cascade.
+The fragment is characterized by the number of nucleons in the fragment, 
+the charge of the fragment, the number
+of holes, the number of all excitons, and the number of charged excitons, and the
+four momentum of the fragment.
+
+The number of holes is given by the difference of the number of nucleons in the
+original nucleus and the number of non-excited nucleons left in the fragment.
+An exciton is a nucleon captured in the  fragment at the end of the cascade.
+
+The momentum of the fragment calculated by the difference between the momentum of
+the primary and the outgoing secondary particles must be split in two
+components. The first is the momentum acquired by coherent elastic effects, and
+the second is the momentum of the excitons in the nucleus rest frame. Only the
+later part is passed to the de-excitation models. Secondaries arising from
+de-excitation models, including the final nucleus, are transformed back
+the frame of the moving fragment.
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/inclusive.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/inclusive.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/inclusive.tex	(revision 1208)
@@ -0,0 +1,108 @@
+%\subsection{Inclusive cross-sections \editor{Johannes Peter}}
+Experimental data are used in the calculation of the total, inelastic and
+elastic cross-section wherever available. 
+\subsubsection{hadron-nucleon scattering}
+For the case of proton-proton(pp) and proton-neutron(pn) collisions, as well as
+$\pi^=$ and $\pi^-$ nucleon collisions, experimental
+data are readily available as collected by the Particle Data Group (PDG) for both
+elastic and inelastic collisions. We use a tabulation based on a sub-set of
+these data for $\sqrt{S}$ below 3~GeV. For higher energies, parametrizations from
+the CERN-HERA collection are included. 
+
+% As an example, FixME: An example plot.
+%Figure \ref{np} shows a
+%comparison of the {\sc Geant4} scattering cross-sections with data from the
+%PDG\cite{PDG2002}.
+\subsection{Channel cross-sections}
+A large fraction of the cross-section in individual channels involving meson
+nucleon scattering can be modeled as resonance excitation in the s-channel.
+This kind of interactions show a resonance structure in the energy dependency of
+the cross-section, and can be modeled using the Breit-Wigner function
+
+$$\sigma_{res}(\sqrt{s}) = \sum_{FS}{}{2J+1\over (2S_1+1)(2S_2+1)}
+{\pi\over k^2}{\Gamma_IS\Gamma_FS\over (\sqrt{s}-M_R)^2+\Gamma/4},$$
+
+Where $S1$ and $S2$ are the spins of the two fusing particles, $J$ is the spin
+of the resonance, $\sqrt(s)$ the energy in the center of mass system, $k$ the
+momentum of the fusing particles in the center of mass system, $\Gamma_IS$ and
+$\Gamma)FS$ the partial width of the resonance for the initial and final state
+respectively. $M_R$ is the nominal mass of the resonance.
+
+The initial states included in the model are pion and kaon nucleon
+scattering. The product
+resonances taken into account are the Delta resonances with masses 1232, 1600,
+1620, 1700, 1900, 1905, 1910, 1920, 1930, and 1950~MeV, the excited nucleons with
+masses of 1440, 1520, 1535, 1650, 1675, 1680, 1700, 1710, 1720, 1900, 1990,
+2090, 2190, 2220, and 2250~MeV, the Lambda, and its excited states at 1520,
+1600, 1670, 1690, 1800, 1810, 1820, 1830, 1890, 2100, and 2110~MeV, and the
+Sigma and its excited states at 1660, 1670, 1750, 1775, 1915, 1940, and
+2030~MeV. 
+
+% FixME: An example plot.
+
+\subsection{Mass dependent resonance width and partial width}
+During the cascading, the resonances produced are assigned reall masses, with
+values distributed according to the production cross-section described above.
+The concrete (rather than nominal) masses of these resonances may be small
+compared to the PDG value, and this implies that some channels may not be open 
+for decay. In general it means, that the partial and total width will depend 
+on the concrete mass of the resonance.  We are using the 
+UrQMD\cite{UrQMD1.BC}\cite{SoH92} approach for calculating these actual width,
+\begin{equation}
+\Gamma_{R\rightarrow 12}(M) = 
+(1+r){\Gamma_{R\rightarrow 12}(M_R)\over p(M_R)^{(2l+1)}}{M_R\over M}
+{p(M)^{(2l+1)}\over 1+r(p(M)/p(M_R))^{2l}}.
+\label{width}
+\end{equation}
+Here $M_R$ is the nominal mass of the resonance, $M$ the actual mass, $p$ is
+the momentum in the center of mass system of the particles, $L$ the angular
+momentum of the final state, and r=0.2.
+
+\subsection{Resonance production cross-section in the t-channel}
+In resonance production in the t-channel, single and double resonance 
+excitation in nucleon-nucleon collisions are taken into account.  The 
+resonance production cross-sections are as much as possible based on 
+parametrizations of experimental data\cite{res.BC} for proton proton
+scattering.  The basic formula used is motivated from the form of the 
+exclusive production cross-section of the $\Delta_{1232}$ in proton proton 
+collisions:
+
+$$\sigma_{AB} = 2\alpha_{AB}\beta_{AB}{\sqrt{s}-\sqrt{s_0}
+\over (\sqrt{s}-\sqrt{s_0})^2+\beta_{AB}^2}
+\left ( {\sqrt{s0}+\beta_{AB}\over \sqrt{s}}\right )^{\gamma_{AB}} $$
+
+The parameters of the description for the various channels 
+are given in table\ref{Parameters}. For all other channels, the 
+parametrizations were derived from these by adjusting the threshold
+behavior.
+\begin{table*}[hbt]
+\begin{center}
+\begin{tabular}{|c||c|c|c|c|c|c|c|}\hline
+Reaction & $\alpha$ & $\beta$ & $\gamma$ \\ \hline \hline
+$\rm pp\rightarrow p\Delta_{1232}$ & 25~mbarn & 0.4~GeV & 3  \\ \hline 
+$\rm pp\rightarrow \Delta_{1232}\Delta_{1232}$ & 1.5~mbarn & 1~GeV & 1  \\ \hline 
+$\rm pp\rightarrow pp^{*}$    & 0.55~mbarn & 1~GeV & 1 \\ \hline 
+$\rm pp\rightarrow p\Delta_{*}   $ & 0.4~mbarn &  1~GeV & 1  \\ \hline 
+$\rm pp\rightarrow \Delta_{1232}\Delta^{*}$  & 0.35~mbarn & 1~GeV & 1 \\ \hline
+$\rm pp\rightarrow \Delta_{1232}N^{*}$  & 0.55~mbarn & 1~GeV & 1 \\ \hline
+\end{tabular}
+\caption{\label{Parameters}
+Values of the parameters of the cross-section formula for 
+the individual channels.
+}
+\end{center}
+\end{table*}
+
+% FiXME: The $\Delta_{1232}$ and omega production as examples.
+
+The reminder of the cross-section are
+derived from these, applying detailed balance. Iso-spin invariance
+is assumed. The formalism used to apply detailed balance is
+\begin{equation}
+\sigma(cd\rightarrow ab) = 
+\sum_{J,M}{}{\left < j_cm_cj_dm_d\parallel JM\right >^2
+\over \left < j_am_aj_bm_b\parallel JM\right >^2}  \\
+ {(2S_a+1)(2S_b+1)\over (2S_c+1)(2S_d+1)}\\
+ {\left< p_{ab}^2\right> \over \left< p_{cd}^2\right> }\sigma(ab\rightarrow cd)
+\end{equation}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/light.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/light.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/light.tex	(revision 1208)
@@ -0,0 +1,15 @@
+%\subsection{Transition to pre-compound modeling \editor{Johannes Peter}}
+In simulating light ion reactions, the initial state of the cascade is prepared
+in the form of two nuclei, as described in the above section on the nuclear 
+model.
+
+The lighter of the collision partners is selected to be the projectile. The 
+nucleons in the projectile are then entered, with position and momenta, into 
+the initial state of the cascade. Note that before the first scattering of an 
+individual nucleon, a projectile nucleon's Fermi-momentum is not taken into 
+account in the tracking inside the target nucleus. The nucleon distribution 
+inside the projectile nucleus is taken to be a representative distribution of 
+its nucleons in configuration space, rather than an initial state in the sense 
+of QMD. The Fermi momentum and the local field are taken into account in the 
+calculation of the collision probabilities and final states of the binary 
+collisions.
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/modeling.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/modeling.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/modeling.tex	(revision 1208)
@@ -0,0 +1,34 @@
+\section{Modeling overview}
+\input{hadronic/theory_driven/BinaryCascade/modelingOverview}
+\subsection{The transport algorithm}
+\input{hadronic/theory_driven/BinaryCascade/transport}
+\subsection{The description of the target nucleus and fermi motion}
+\input{hadronic/theory_driven/BinaryCascade/nucleus}
+
+\subsection{Optical and phenomenological potentials }
+\input{hadronic/theory_driven/BinaryCascade/potentials}
+\subsection{Pauli blocking simulation}
+\input{hadronic/theory_driven/BinaryCascade/pauliBlocking}
+
+\subsection{The scattering term }
+\input{hadronic/theory_driven/BinaryCascade/scatteringTerm}
+\subsection{Total inclusive cross-sections }
+\input{hadronic/theory_driven/BinaryCascade/inclusive}
+\subsection{Nucleon Nucleon elastic collisions }
+\input{hadronic/theory_driven/BinaryCascade/nnElastic}
+\subsection{Generation of transverse momentum }
+\input{hadronic/theory_driven/BinaryCascade/angularDistributions}
+\subsection{Decay}
+\input{hadronic/theory_driven/BinaryCascade/decay}
+
+\subsection{The escaping particle and coherent effects}
+\input{hadronic/theory_driven/BinaryCascade/escape}
+
+\subsection{Light ion reactions}
+\input{hadronic/theory_driven/BinaryCascade/light}
+\subsection{Transition to pre-compound modeling}
+\input{hadronic/theory_driven/BinaryCascade/toPrecompound}
+
+\subsection{Calculation of excitation energies and residuals}
+\input{hadronic/theory_driven/BinaryCascade/excitationFragment}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/modelingOverview.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/modelingOverview.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/modelingOverview.tex	(revision 1208)
@@ -0,0 +1,13 @@
+%\section{Modeling overview \editor{?} }
+
+
+The Geant4 Binary Cascade is an intranuclear cascade propagating primary and
+secondary particles in a nucleus. Interactions are
+between a primary or secondary particle and an individual nucleon of the
+nucleus, leading to the name Binary Cascade. Cross section data are used to
+select collisions. Where available, experimental cross sections are used
+by the simulation. Propagating of particles is the nuclear field is done by
+numerically solving the equation of motion. The cascade terminates
+when the average and maximum energy of secondaries is below threshold. The
+remaining fragment is treated by precompound and de-excitation models documented
+in the corresponding chapters.
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/neutrons.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/neutrons.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/neutrons.tex	(revision 1208)
@@ -0,0 +1,180 @@
+% \subsection{Neutron production}
+
+% \begin{figure}[tbp]
+% \resizebox{0.95\textwidth}{!}
+% {
+%    \includegraphics{hadronic/theory_driven/BinaryCascade/dsde_256.eps}
+% }
+% \caption{1}
+% \label{nSigma}
+% \end{figure}
+% 
+% \begin{figure}[tbp]
+% \resizebox{0.95\textwidth}{!}
+% {
+%    \includegraphics{hadronic/theory_driven/BinaryCascade/dsdedt_256_7.5.eps}
+% }
+% \caption{2}
+% \label{nSigma}
+% \end{figure}
+% 
+
+\begin{figure}[tbp]
+\begin{center}
+  \includegraphics[width=6.5cm]{hadronic/theory_driven/BinaryCascade/dsdedt_al_113.eps}
+\end{center}
+\caption{
+Double differential cross-section for neutrons produced in proton
+scattering off Aluminum. Proton incident energy was 113~MeV.
+}
+\label{nSigma.BC}
+\end{figure}
+
+\begin{figure}[tbp]
+\begin{center}   
+  \includegraphics[width=6.5cm]{hadronic/theory_driven/BinaryCascade/dsdedt_al_256.eps}
+\end{center}
+\caption{
+Double differential cross-section for neutrons produced in proton
+scattering off Aluminum. Proton incident energy was 256~MeV. The points
+are data, the histogram is Binary Cascade prediction.
+}
+\label{dsdedt_al_256}
+\end{figure}
+
+\begin{figure}[tbp]
+\begin{center}   
+   \includegraphics[width=6.5cm]{hadronic/theory_driven/BinaryCascade/dsdedt_al_600.eps}
+\end{center}
+\caption{
+Double differential cross-section for neutrons produced in proton
+scattering off Aluminum. Proton incident energy was 597~MeV. The points
+are data, the histogram is Binary Cascade prediction.
+}
+\label{dsdedt_al_600}
+\end{figure}
+
+\begin{figure}[tbp]
+\begin{center}
+  \includegraphics[width=6.5cm]{hadronic/theory_driven/BinaryCascade/dsdedt_al_800.eps}
+\end{center}
+\caption{
+Double differential cross-section for neutrons produced in proton
+scattering off Aluminum. Proton incident energy was 800~MeV. The points
+are data, the histogram is Binary Cascade prediction.
+}
+\label{dsdedt_al_800}
+\end{figure}
+
+\begin{figure}[tbp]
+\begin{center}
+  \includegraphics[width=6.5cm]{hadronic/theory_driven/BinaryCascade/dsdedt_fe_113.eps}
+\end{center}
+\caption{
+Double differential cross-section for neutrons produced in proton
+scattering off Iron. Proton incident energy was 113~MeV. The points
+are data, the histogram is Binary Cascade prediction.
+}
+\label{dsdedt_fe_113}
+\end{figure}
+
+\begin{figure}[tbp]
+\begin{center}
+  \includegraphics[width=6.5cm]{hadronic/theory_driven/BinaryCascade/dsdedt_fe_256.eps}
+\end{center}
+\caption{
+Double differential cross-section for neutrons produced in proton
+scattering off Iron. Proton incident energy was 256~MeV. The points
+are data, the histogram is Binary Cascade prediction.
+}
+\label{dsdedt_fe_256}
+\end{figure}
+
+\begin{figure}[tbp]
+\begin{center}
+  \includegraphics[width=6.5cm]{hadronic/theory_driven/BinaryCascade/dsdedt_fe_600.eps}
+\end{center}
+\caption{
+Double differential cross-section for neutrons produced in proton
+scattering off Iron. Proton incident energy was 597~MeV. The points
+are data, the histogram is Binary Cascade prediction.
+}
+\label{dsdedt_fe_600}
+\end{figure}
+
+\begin{figure}[tbp]
+\begin{center}
+  \includegraphics[width=6.5cm]{hadronic/theory_driven/BinaryCascade/dsdedt_fe_800.eps}
+\end{center}
+\caption{
+Double differential cross-section for neutrons produced in proton
+scattering off Iron. Proton incident energy was 800~MeV. The points
+are data, the histogram is Binary Cascade prediction.
+}
+\label{dsdedt_fe_800}
+\end{figure}
+
+\begin{figure}[tbp]
+\begin{center}
+  \includegraphics[width=6.5cm]{hadronic/theory_driven/BinaryCascade/dsdedt_pb_113.eps}
+\end{center}
+\caption{
+Double differential cross-section for neutrons produced in proton
+scattering off Lead. Proton incident energy was 113~MeV. The points
+are data, the histogram is Binary Cascade prediction.
+}
+\label{dsdedt_pb_113}
+\end{figure}
+
+\begin{figure}[tbp]
+\begin{center}
+  \includegraphics[width=6.5cm]{hadronic/theory_driven/BinaryCascade/dsdedt_pb_256.eps}
+\end{center}
+\caption{
+Double differential cross-section for neutrons produced in proton
+scattering off Lead. Proton incident energy was 256~MeV. The points
+are data, the histogram is Binary Cascade prediction.
+}
+\label{dsdedt_pb_256}
+\end{figure}
+
+\begin{figure}[tbp]
+\begin{center}
+  \includegraphics[width=6.5cm]{hadronic/theory_driven/BinaryCascade/dsdedt_pb_600.eps}
+\end{center}
+\caption{
+Double differential cross-section for neutrons produced in proton
+scattering off Lead. Proton incident energy was 597~MeV. The points
+are data, the histogram is Binary Cascade prediction.
+}
+\label{dsdedt_pb_600}
+\end{figure}
+
+\begin{figure}[tbp]
+\begin{center}
+  \includegraphics[width=6.5cm]{hadronic/theory_driven/BinaryCascade/dsdedt_pb_800.eps}
+\end{center}
+\caption{
+Double differential cross-section for neutrons produced in proton
+scattering off Lead. Proton incident energy was 800~MeV. The points
+are data, the histogram is Binary Cascade prediction.
+}
+\label{dsdedt_pb_800}
+\end{figure}
+
+\begin{figure}[tbp]
+\begin{center}
+  \includegraphics[width=6.5cm]{hadronic/theory_driven/BinaryCascade/pi_45.eps}
+\end{center}
+\caption{
+Double differential cross-section for pions produced at $45^\circ$ in proton
+scattering off various materials. Proton incident energy was 597~MeV in each
+case. The points are data, the histogram is Binary Cascade prediction.
+}
+\label{pi_45}
+\end{figure}
+
+
+% - Angle integrated energy distributions @ 160 MeV for Al, Zr, Pb
+% - Quasi-elastic peaks @ 256 MeV all materials
+% - double differentials: Al, Fe, Pb; all angles, 113, 160, 256, 595,800 MeV
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/nnElastic.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/nnElastic.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/nnElastic.tex	(revision 1208)
@@ -0,0 +1,12 @@
+%\subsection{Nucleon Nucleon elastic collisions \editor{Johannes Peter}}
+Angular distributions for elastic scattering of nucleons are taken as closely as
+possible from experimental data, i.e. from the result of phase-shift analysis. 
+They are derived from differential cross sections obtained from the SAID 
+database, R. Arndt, 1998. 
+
+Final states are derived by sampling from tables 
+of the cumulative distribution function of the centre-of-mass scattering
+angle, tabulated for a discrete set of lab kinetic energies from
+10 MeV to 1200 MeV.  The CDF's are tabulated at 1 degree intervals and
+sampling is done using bi-linear interpolation in energy and
+CDF values. Coulomb effects are taken into consideration for pp scattering.
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/nucleus.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/nucleus.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/nucleus.tex	(revision 1208)
@@ -0,0 +1,67 @@
+%\subsection{The description of the target nucleus and fermi motion \editor{Gunter}}
+
+The nucleus is constructed from $A$
+nucleons and $Z$ protons with nucleon coordinates $\mathbf{r}_i$ and momenta
+$\mathbf{p}_i$, with $i = 1,2,...,A$.
+We use a common initialization Monte Carlo procedure, which
+is realized in the most of the high energy nuclear interaction models:
+\begin{itemize}
+\item Nucleon radii $r_i$ are selected randomly in the nucleus rest frame 
+according to nucleon density $\rho(r_i)$.
+For heavy nuclei with $A > 16$ \cite{GLMP91.BC} nucleon density is
+\begin{equation}
+\label{NIS1.BC}\rho(r_i) =
+ \frac{\rho_0}{1 + \exp{[(r_i - R)/a]}}
+\end{equation}
+where
+\begin{equation}
+\label{NIS2.BC}\rho_0 \approx \frac{3}{4\pi R^3}(1+\frac{a^2\pi^2}{R^2})^{-1}.
+\end{equation}
+Here $R=r_0 A^{1/3}$ \ fm and $r_0=1.16(1-1.16A^{-2/3})$ \ fm and $a
+\approx 0.545$ fm.  For light nuclei with $A < 17$ nucleon density is
+given by a harmonic oscillator shell model \cite{Elton61.BC}, e. g.
+\begin{equation}
+\label{4aap6.BC} \rho(r_i) = (\pi R^2)^{-3/2}\exp{(-r_i^2/R^2)},
+\end{equation}
+where $R^2 = 2/3<r^2> = 0.8133 A^{2/3}$ \ fm$^2$.
+ To take into account nucleon
+repulsive core it is assumed that internucleon distance $d > 0.8$ \ fm;
+
+\item The nucleus is assumed to be isotropic, i.e. we place each nucleon
+using a random direction and the previously determined radius  $r_i$.
+
+\item The initial momenta of the nucleons $p_i$ are randomly choosen between $0$
+and $p^{max}_F(r)$, where
+the maximal momenta of nucleons (in the local Thomas-Fermi
+approximation \cite{DF74.BC}) depends from
+the proton or neutron density $\rho$ according to
+\begin{equation}
+\label{NIS5.BC} p^{max}_F(r) = \hbar c(3\pi^2 \rho(r))^{1/3}
+\end{equation}
+
+
+\item To obtain momentum components, it is assumed that nucleons are distributed
+isotropic in momentum space;  i.e. the momentum direction is chosen at random.
+
+\item The nucleus must be centered in momentum space around
+$\mathbf{0}$, \textit{i. e.}
+ the nucleus must be at rest, i. e. $\sum_i {\bf p_i} = \bf 0$;
+ To achieve this, we choose one nucleon to compensate the sum the remaining
+nucleon momenta $p_rest=\sum_{i=1}^{i=A-1}$. If this sum is larger than maximum
+momentum  $p^{max}_F(r)$, we change the direction of the momentum of a few
+nucleons. If this does not lead to a possible momentum value, than we repeat the
+procedure with a different nucleon having a larger maximum momentum
+$p^{max}_F(r)$. In the rare case this fails as well, we choose new momenta for
+all nucleons.
+
+This procedure gives special for hydrogen $^1$H, where the proton has momentum
+$p=0$, and for deuterium $^2$H, where the momenta of proton and neutron are
+equal, and in opposite direction.
+
+
+\item We compute energy per nucleon $e = E/A = m_{N} + B(A,Z)/A$,
+where $m_N$ is nucleon mass and the nucleus binding energy $B(A,Z)$ is given
+by the tabulation of \cite{nucleus_binding}:
+ and find the effective mass of each nucleon $m^{eff}_i = 
+\sqrt{(E/A)^2 - p^{2\prime}_i}$.
+\end{itemize}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/pauliBlocking.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/pauliBlocking.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/pauliBlocking.tex	(revision 1208)
@@ -0,0 +1,18 @@
+%\subsection{Pauli blocking simulation\editor{Gunter}}
+
+The cross sections used in this model are cross sections for free particles. In
+the nucleus these cross sections are reduced to effective cross sections by
+Pauli-blocking due to Fermi statistics.
+
+ For nucleons created by a collision, ie. an inelastic
+scattering or from decay, we check that all secondary nucleons occupy a state
+allowed by Fermi statistics. We assume that the nucleus in its ground state and
+all states below Fermi energy are occupied. All secondary nucleons  therefore
+must have a momentum $p_i$ above local Fermi momentum $p_F(r)$, i.e.
+\begin{equation}
+p_i > p_F^{max}(r).
+\end{equation}
+
+If any of the nucleons of the collision has a momentum below the local Fermi
+momentum, then the collision is Pauli blocked.  The reaction products are
+discarded, and the original particles continue the cascade.
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/potentials.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/potentials.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/potentials.tex	(revision 1208)
@@ -0,0 +1,29 @@
+%\subsection{Optical and phenomenological potentials \editor{Gunter}}
+
+The effect of collective nuclear elastic interaction upon primary and secondary  particles
+is approximated by a nuclear potential. 
+
+For projectile protons and neutrons this scalar potential
+is given by the local Fermi momentum $p_{F}(r)$
+\begin{equation}
+\label{EQPotNucleon}
+V(r) = \frac{p_{F}^2(r)}{2 m}
+\end{equation}
+where $m$ is the mass of the neutron $m_n$ or the mass of proton $m_p$.
+
+For pions the potential is given by the lowest order optical potential
+\cite{stricker79}
+
+\begin{equation}
+\label{EQPotPion}
+V(r) =  \frac{-2 \pi (\hbar c)^2 A }{ \overline{m}_\pi } ( 1 + \frac{m_\pi}{M} ) b_0 \rho(r)
+\end{equation}
+where $A$ is the nuclear mass number,
+$m_\pi$, $M$ are the pion and nucleon mass,
+$\overline{m}_\pi$ is the reduced pion mass
+  $\overline{m}_\pi  = (m_\pi m_N) / (m_\pi + m_N)$, with $m_N$ is the
+mass of the nucleus, and $\rho(r)$ is the nucleon density distribution.
+The parameter $b_0 $ is the effective $s-$wave scattering length and is
+obtained from analysis to pion atomic data to be about  $-0.042 fm$.
+
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/propagation.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/propagation.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/propagation.tex	(revision 1208)
@@ -0,0 +1,1 @@
+%\subsection{Nuclear fields and propagation.\editor{Gunter}}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/scatteringTerm.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/scatteringTerm.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/scatteringTerm.tex	(revision 1208)
@@ -0,0 +1,38 @@
+%\subsection{The scattering term \editor{Johannes Peter}}
+The basis of the description of the reactive part of the scattering amplitude 
+are two particle binary collisions (hence binary cascade), 
+resonance production, and decay. Based on the cross-section described later
+in this paper, collisions will occur when the transverse distance $d_t$ 
+of any projectile target pair becomes smaller than the black disk radium
+corresponding to the total cross-section $\sigma_t$
+$${\sigma_t\over \pi} > d_t^2$$
+In case of a collision, all particles will be propagated to the estimated
+time of the collision, i.e. the time of closest approach, and the collision
+final state is produced.
+
+
+% General description of the scattering term.
+
+% We do discrete binary reactions, and decays. Hence the name binary cascade.
+
+% We do two particle reactions
+
+% in this we assume the breit frame.
+
+% We differencate: Nucleon nucleon scattering
+% pion nucleon scattering
+% elastic
+% resoance production (t-channel)
+% resonance excitation (s-channel)
+% decay
+
+% the scattering cross-sections are based on the following channel cross-sections.
+% Parametrizations similar to UrQMD parametrizations. Comparisons with HERA data
+% to show the quality. The total cross-sections for pp scattering, and the same as
+% sum of all the channel cross-sections.
+
+% The resonances taken into account for production are the following:
+% Delta, N-star.
+
+% Kaons will not further react.
+% Resonances will not undergo secondary scatters, but only decay.
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/toPrecompound.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/toPrecompound.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/toPrecompound.tex	(revision 1208)
@@ -0,0 +1,25 @@
+%\subsection{Transition to pre-compound modeling \editor{Johannes Peter}}
+Eventually, the cascade assumptions will break down at low energies, and the
+state of affairs has to be treated by means of evaporation and pre-equilibrium
+decay. This transition is not at present studied in depth, and an interesting
+approach which uses the tracking time, as in the Liege cascade code, remains
+to be studied in our context.
+
+For this first release, the following algorithm is used to determine when
+cascading is stopped, and pre-equilibrium decay is called: As long as there are
+still particles above the kinetic energy threshold (75~MeV), cascading will 
+continue. Otherwise, when the mean kinetic energy of the participants has 
+dropped below a second threshold (15~MeV), the cascading is stopped.
+
+The residual participants, and the nucleus in its current state are then used 
+to define the initial state, i.e. excitation energy, number of excitons, 
+number of holes, and momentum of the exciton system, for pre-equilibrium decay.
+
+In the case of light ion reactions, the projectile excitation is determined 
+from the binary collision participants ($P$) using the statistical approach 
+towards excitation energy calculation in an adiabatic abrasion process, as 
+described in \cite{GSI1}:
+$$ E_{ex} = \sum_{P} (E_{fermi}^P-E^P) $$
+
+Given this excitation energy, the projectile fragment is then treated by the 
+evaporation models described previously.
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/transport.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/transport.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/BinaryCascade/transport.tex	(revision 1208)
@@ -0,0 +1,53 @@
+%\subsection{The transport algorithm \editor{Gunter}}
+
+%\begin{verbatim}
+%- choose impact
+%- find collisions
+%- loop { propagate to next in time collision
+%-          do collision
+%-          check Pauli
+%-               OK
+%\end{verbatim}
+
+For the primary particle an impact parameter is chosen random in a
+disk outside the nucleus perpendicular to a vector passing through the
+center of the nucleus  coordinate system an being
+parallel to the momentum direction.
+Using a straight line trajectory, the distance of closest approach
+$d_i^{min}$
+to each target nucleon $i$ and the corresponding time-of-flight $t_i^d$
+is calculated. In this calculation the momentum of the target nucleons
+is ignored, i.e. the target nucleons do not move. The interaction cross
+section ${\sigma}_i$ with target nucleons is calculated using total inclusive
+cross-sections described below. For calculation of the cross-section the
+momenta of the nucleons are taken into account.
+The primary particle may interact with those target nucleons where the distance of closest
+approach $d_i^{min}$ is smaller than
+$d_i^{min} < \sqrt{\frac{\sigma_i}{\pi}}$. These candidate interactions
+are called collisions, and these collisions are stored ordered by  time-of-flight $t_i^d$.
+In the case no collision is found, a new impact
+parameter is chosen.
+
+The primary particle is tracked the time-step given by the time to the
+first collision. As long a particle is outside the nucleus, that is a radius of
+the outermost nucleon plus $3fm$, particles travel along
+straight line trajectories. Particles entering the nucleus have their
+energy corrected  for Coulomb effects. Inside the nucleus particles are
+propagated in the scalar nuclear field.  The equation of motion  in the field
+is solved for a given time-step using a Runge-Kutta integration method.
+
+At the end of the step, the primary and the nucleon interact suing the
+scattering term. The resulting secondaries are checked for the Fermi
+exclusion principle. If any of the two particles has a momentum below
+Fermi momentum, the interaction is suppressed, and the original primary
+is tracked to the next collision. In case interaction is allowed, the
+secondaries are treated like the primary, that is, all possible
+collisions are calculated like above, with the addition that these new
+primary particles may be short-lived and may decay. A decay is treated like others
+collisions, the collision time being the time until the decay of the particle.
+All secondaries are tracked until they leave the nucleus, or
+the until the cascade stops.
+
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CVS/Entries	(revision 1208)
@@ -0,0 +1,15 @@
+D/AbrasionAblation////
+D/BinaryCascade////
+D/Cascade////
+D/ChiralInvariantPhaseSpace////
+D/CrossSection////
+D/Evaporation////
+D/FermiBreakup////
+D/Fission////
+D/GammaInteraction////
+D/Multifragmentation////
+D/PartonString////
+D/Precompound////
+D/StoppedAbsorption////
+/EMDissociation.tex/1.2/Sat Dec 11 06:56:15 2004//
+/theory_driven.tex/1.11/Mon Jun 21 18:21:28 2004//
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Cascade/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Cascade/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Cascade/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/Cascade.tex/1.7/Wed Jun 22 17:41:16 2005//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Cascade/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Cascade/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Cascade/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Cascade
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Cascade/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Cascade/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Cascade/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Cascade/Cascade.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Cascade/Cascade.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Cascade/Cascade.tex	(revision 1208)
@@ -0,0 +1,584 @@
+\chapter{Bertini Intranuclear Cascade Model in {\sc Geant4} }
+
+\section{Introduction} 
+This model is based on a re-engineering of the INUCL code and
+includes the Bertini intra-nuclear cascade model with excitons, a 
+pre-equilibrium model, a nucleus explosion model, a fission model, and an 
+evaporation model.  Intermediate energy nuclear reactions from 100~MeV to 
+5~GeV are treated for protons, neutrons, pions, photons and nuclear 
+isotopes.  We present an overview of the models, review results achieved 
+from simulations and make comparisons with experimental data.
+
+The intranuclear cascade model (INC) was was first proposed by Serber in 
+1947 \cite{serber47}.  He noticed that in particle-nuclear collisions the 
+deBroglie wavelength of the incident particle is comparable (or shorter) than 
+the average intra-nucleon distance.  Hence, a description of interactions 
+in terms of particle-particle collisions is justified.
+
+The INC has been used succesfully in Monte Carlo simulations at intermediate 
+energies since Goldberger made the first hand-calculations in 
+1947 \cite{goldberger48}.  The first computer simulations were done by 
+Metropolis et al. in 1958 \cite{metropolis58}. Standard methods in INC 
+implementations were developed when Bertini published his results in 
+1968 \cite{bertini68}.  An important addition to INC was the exciton model 
+introduced by Griffin in 1966 \cite{griffin66}. 
+
+The current presentation describes the implementation of the Bertini INC 
+model within the {\sc Geant4} hadronic physics 
+framework \cite{geant4collaboration03}.  This framework is flexible and
+allows for the modular implementation of various kinds of hadronic 
+interactions.  It is based on the concepts of physics processes and models.  
+While the process is a general concept, models may be restricted according
+to process type, material, element and energy range.  Several models can be 
+utilized by one process class; for instance, a process class for inelastic 
+collisions can use a different model for each energy range.
+
+The process classes use model classes to determine the secondaries produced 
+in the interaction and to calculate the momenta of the particles.  Here we 
+present a collection of such models which describe a medium-energy 
+intranuclear cascade.
+
+\section{The Geant4 Cascade Model}
+
+Inelastic particle-nucleus collisions are characterized by both fast and slow
+components.  The fast ($10^{-23} - 10^{-22} s$) intra-nuclear cascade 
+results in a highly excited nucleus which may decay by fission or 
+pre-equilibrium emission. The slower ($10^{-18} - 10^{-16} s$) compound 
+nucleus phase follows with evaporation.  A Boltzmann equation must be solved 
+to treat the collision process in detail.
+ 
+The intranuclear cascade (INC) model developed by 
+Bertini \cite{bertini68, bertini71} solves the Boltzmann equation on 
+average.  This model has been implemented in several codes such as 
+HETC \cite{alsmiller90}.  Our model, which is based on a re-engineering of 
+the INUCL code  \cite{titarenko99a}, includes the Bertini intranuclear cascade 
+model with excitons, a pre-equilibrium model, a simple nucleus explosion 
+model, a fission model, and an evaporation model. 
+
+The target nucleus is modeled as a three-region approximation to the 
+continuously changing density distribution of nuclear matter within nuclei.
+The cascade begins when the incident particle strikes a nucleon in the
+target nucleus and produces secondaries.  The secondaries may in turn 
+interact with other nucleons or be absorbed.  The cascade ends when all 
+particles, which are kinematically able to do so, escape the nucleus. 
+At that point energy conservation is checked.  Relativistic kinematics is 
+applied throughout the cascade.  
+
+\subsection{Model Limits}
+
+The model is valid for incident protons, neutrons and pions.  Particles 
+treated in the model include protons, neutrons, pions, photons and nuclear 
+isotopes.  All types of targets are allowed.
+
+The necessary condition of validity of the INC model is 
+$\lambda_{B} / v << \tau_{c} << \Delta t$, where $\delta_{B}$ is the deBroglie
+wavelenth of the nucleons, $v$ is the average relative velocity between two
+nucleons and $\Delta t$ is the time interval between collisions.
+At energies below $200 MeV$, this condition is no longer strictly valid,
+and a pre-quilibrium model must be invoked.  At energies greater than 
+$\approx$ 10 GeV) the INC picture breaks down.  This model has been tested 
+against experimental data at incident kinetic energies between 100~MeV and 
+5~GeV.
+
+\subsection{Intranuclear Cascade Model}
+
+The basic steps of the INC model are summarized as follows:
+
+\begin{enumerate}
+\item the space point at which the incident particle enters the nucleus is 
+selected uniformly over the projected area of the nucleus,
+\item the total particle-particle cross sections and region-depenent nucleon 
+densities are used to select a path length for the projectile,
+\item the momentum of the struck nucleon, the type of reaction and the 
+four-momenta of the reaction products are determined, and
+\item the exciton model is updated as the cascade proceeds.
+\item If the Pauli exclusion principle allows and 
+$E_{particle} > E_{cutoff}$ = 2~MeV, step (2) is performed to transport the 
+products.
+\end{enumerate}
+
+After the intra-nuclear cascade, the residual excitation energy of the 
+resulting nucleus is used as input for non-equilibrium model.
+
+\subsection{Nuclear Model}
+
+Some of the basic features of the nuclear model are:
+
+\begin{itemize}
+\item the nucleons are assumed to have a Fermi gas momentum distribution. 
+The Fermi energy is calculated in a local density approximation i.e. the 
+Fermi energy is made radius-dependent with Fermi momentum 
+$p_{F}(r) = (\frac{3 \pi^2 \rho(r)}{2})^\frac{1}{3}$.
+%\item Nuclear density effects are re-calculated after each step,
+\item Nucleon binding energies (BE) are calculated using the mass formula.
+A parameterization of the nuclear binding energy uses a combination of the 
+Kummel mass formula and experimental data.  Also, the asymptotic high 
+temperature mass formula is used if it is impossible to use experimental data.
+\end{itemize}
+
+\subsubsection{Initialization}
+The initialization phase fixes the nuclear radius and momentum according to
+the Fermi gas model.
+
+If the target is hydrogen (A = 1) a direct particle-particle collision is 
+performed, and no nuclear modeling is required. 
+
+If $1 < A < 4$, a nuclear model consisting of one layer with a radius of 
+8.0 fm is created.
+
+For $4 < A < 11$, the nuclear model is composed of three concentric spheres 
+$i = \{1, 2, 3\}$ with radius
+$$r_{i}(\alpha_{i}) = \sqrt{C_{1}^{2} (1 - \frac{1}{A}) + 6.4} \sqrt{-log( \alpha_{i})}$$.
+
+Here $\alpha_{i} = \{0.01, 0.3, 0.7\}$ and $C_{1} = 3.3836 A^{1/3}$.
+
+If $A > 11$, a nuclear model with three concentric spheres is also used.  The 
+sphere radius is now defined as
+\begin{equation}
+r_{i}(\alpha_{i}) =  C_{2} \log({\frac{1 + e^{- \frac{C_{1}}{C_{2}}}}{\alpha_{i}} - 1}) + C_{1} ,
+\end{equation}
+where $C_{2} = 1.7234$.
+
+The potential energy $V$ for nucleon $N$ is
+\begin{equation}
+V_{N} = \frac{p_{F}^2}{2 m_{N}} + BE_{N}(A, Z) ,
+\end{equation}
+where $p_f$ is the Fermi momentum and $BE$ is the binding energy. 
+ 
+The momentum distribution in each region follows the Fermi distribution with 
+zero temperature.
+
+\begin{equation}
+ f(p) = c p ^2
+\end{equation}
+where
+
+\begin{equation}
+\int_0^{p_F} f(p) dp = n_{p} \rm{ or }  n_{n}
+\end{equation}
+where $n_p$ and $n_n$ are the number of protons or neutrons in the region.
+$P_f$ is the momentum corresponding to the Fermi energy
+
+\begin{equation}
+ E_f = \frac{p_F^2}{2 m_N} = \frac{\hbar^2}{2 m_N}(\frac{3 \pi^{2}}{v})^\frac{2}{3} ,
+\end{equation}
+which depends on the density $n/v$ of particles, and which is different for 
+each particle and each region. 
+
+\subsubsection{Pauli Exclusion Principle}
+The Pauli exclusion principle forbids interactions where the products would be 
+in occupied states.  Following the assumption of a completely degenerate Fermi 
+gas, the levels are filled from the lowest level.
+The minimum energy allowed for the products of a collision correspond to the 
+lowest unfilled level of the system, which is the Fermi energy in the region. 
+So in practice, the Pauli exclusion principle is taken into account by 
+accepting only secondary nucleons which have $E_N > E_f$.
+
+
+\subsubsection{Cross Sections and Kinematics}
+
+Path lengths of nucleons in the nucleus are sampled according to the local 
+density and the free $N-N$ cross sections.  Angles after the collision are 
+sampled from experimental differential cross sections.
+%{\sc Geant4} cascade model uses tabulated cross-sections.
+Tabulated total reaction cross sections are calculated by Letaw's 
+formulation \cite{letaw83, letaw93, pearlstein89}.
+%:::$45 A^0.7 (1+0.016 sin(5.3-2.63 log10(A)))^(1-0.62 exp(-E / 200) sin(10.9 E^(-0.28)))
+For $N-N$ cross sections the parameterizations are based on the experimental 
+energy and isospin dependent data. 
+The parameterization described in \cite{barashenkov72} is used. 
+
+For pions the intra-nuclear cross sections are provided to treat elastic 
+collisions and the following inelastic channels:
+$\pi^{-}$p $\rightarrow$ $\pi^{0}$n, 
+$\pi^{0}$p $\rightarrow$ $\pi^{+}$n,
+$\pi^{0}$n $\rightarrow$ $\pi^{-}$p, and 
+$\pi^+$n $\rightarrow$ $\pi^0$p.
+Multiple particle production is also implemented.
+
+The pion absorption channels are 
+$\pi^{+}$nn $\rightarrow$ pn, $\pi^{+}$pn $\rightarrow$ pp, 
+$\pi^{0}$nn $\rightarrow$ nn, $\pi^{0}$pn $\rightarrow$ pn,
+$\pi^{0}$pp $\rightarrow$ pp, $\pi^{-}$pn $\rightarrow$ nn , and 
+$\pi^{-}$pp $\rightarrow$ pn.
+
+\subsection{Pre-equilibrium Model}
+
+The {\sc Geant4} cascade model implements the exciton model proposed by 
+Griffin \cite{griffin66, griffin67}.  In this model, nucleon states are 
+characterized by the number of excited particles and holes (the excitons).
+Intra-nuclear cascade collisions give rise to a sequence of states 
+characterized by increasing exciton number, eventually leading to an 
+equilibrated nucleus.  For a practical implementation of the exciton model 
+we use parameters from \cite{ribansky73}, (level densities) 
+and \cite{kalbach78} (matrix elements).
+
+In the exciton model the possible selection rules for particle-hole 
+configurations in the source of the cascade are:
+$\Delta p = 0, \pm 1$  $\Delta h = 0, \pm 1$  $\Delta n = 0, \pm 2$,
+where $p$ is the number of particles, $h$ is number of holes and $n = p + h$ 
+is the number of excitons. 
+
+The cascade pre-equilibrium model uses target excitation data and the  
+exciton configurations for neutrons and protons to produce non-equilibrium 
+evaporation.  The angular distribution is isotropic in the rest frame of the 
+exciton system.
+
+Parameterizations of the level density are tabulated as functions of $A$ and 
+$Z$, and with high temperature behavior (the nuclear binding energy using 
+the smooth liquid high energy formula).
+
+\subsection{Break-up models}
+
+Fermi break-up is allowed only in some extreme cases, i.e. for light nuclei 
+($A < 12$ and  $3 (A - Z) < Z < 6$ ) and $E_{excitation} > 3 E_{binding}$. 
+A simple explosion model decays the nucleus into neutrons and protons and 
+decreases exotic evaporation processes.
+
+The fission model is phenomenological, using potential minimization. A binding 
+energy paramerization is used and
+some features of the fission statistical model are incorporated \cite{fong69}.
+
+\subsection{Evaporation Model}
+
+A statistical theory for particle emission of the excited nucleus remaining 
+after the intra-nuclear cascade was originally developed by 
+Weisskopf \cite{weisskopf37}.  This model assumes complete energy 
+equilibration before particle emission, and re-equilibration of excitation 
+energies between successive evaporations. 
+As a result the angular distribution of emitted particles is isotropic.
+
+The {\sc Geant4} evaporation model for the cascade implementation adapts the
+often-used computational method developed by 
+Dostrowski \cite{dostrovsky59, dostrovsky60}.  The emission of particles is 
+computed until the excitation energy falls below some specific cutoff. 
+If a light nucleus is highly excited, the Fermi break-up model is executed. 
+Also, fission is performed if that channel is open.  The main chain of 
+evaporation is followed until $E_{excitation}$ falls below 
+E$_{cutoff}$ = 0.1 MeV.  The evaporation model ends with an emission chain 
+which is followed until $E_{excitation} < E^{\gamma}_{cutoff} = 10^{-15}$ MeV.
+
+\section{Implementation}
+
+The cascade model is implemented in the {\sc Geant4} hadronic physics 
+framework.  All the models are used collectively through the interface 
+method {\it Apply\-Yourself} defined in the class {\it G4Cascade\-Interface}.
+A {\sc Geant4} track ({\it G4Track}) and a nucleus ({\it G4Nucleus}) are given 
+as parameters.
+
+The cascade models were first tested in release {\sc Geant4 5.0} for energies 
+100~MeV -- 5~GeV.  Detailed comparisons with experimental data have been made 
+in the energy range 160 -- 800 MeV. 
+
+\section{Status of this document}
+
+01.12.02 created by Aatos Heikkinen, Nikita Stepanov and Hans-Peter Wellisch \\
+14.06.05 grammar, spelling check and list of pion absorption channels 
+         corrected by D.H. Wright \\
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+
+\bibitem{alsmiller90}
+  R.G. Alsmiller and F.S. Alsmiller and O.W. Hermann,
+  The high-energy transport code HETC88 and comparisons with experimental data,
+  Nuclear Instruments and Methods in Physics Research A 295,
+   (1990), 337--343,
+
+% [1] Barashenkov V.S., Toneev V.D. High Energy interactions of particles and nuclei with nuclei. Moscow, 1972 
+%(in Russian, but there is an English translation)) 
+
+\bibitem{barashenkov72}
+ V.S. Barashenkov and V.D. Toneev,
+ High Energy interactions of particles and nuclei with nuclei (In russian),
+ (1972)
+
+\bibitem{bertini68}     
+ M. P. Guthrie, R. G. Alsmiller and H. W. Bertini,
+Nucl. Instr. Meth,
+66,
+ 1968,
+ 29.                              
+% \bibitem{bertini69}
+%  H.W.Bertini,
+%  Intranuclear-Cascade Calculation of the Secondary Nucleon Spectra from Nucleon-Nucleus 
+%         Interactions in the Energy Range 340 to 2900 MeV and Comparisons with Experiment,
+% Phys. Rev.,
+%  188,
+%  1969,
+%  1711 
+% 
+\bibitem{bertini71}     
+H. W. Bertini and P. Guthrie,
+Results from Medium-Energy Intranuclear-Cascade Calculation,
+Nucl. Phys.A169,
+(1971).
+
+\bibitem{dostrovsky59}
+         I. Dostrovsky, Z. Zraenkel and G. Friedlander,
+         Monte carlo calculations of high-energy nuclear interactions. III. Application to low-lnergy calculations,
+         Physical Review,
+         1959,
+         116,
+         3,
+         683-702.
+
+\bibitem{dostrovsky60}
+         I. Dostrovsky and Z. Fraenkel and P. Rabinowitz,
+         Monte Carlo Calculations of Nuclear Evaporation Processes. V. Emission of Particles Heavier Than $^4He$,
+         Physical Review,
+         1960. 
+
+\bibitem{fong69}
+ P. Fong,
+ Statistical Theory of Fission,
+ 1969, Gordon and Breach, New York.
+
+\bibitem{geant4collaboration03}
+ Geant4 collaboration,
+ Geant4 general paper (to be published),
+Nuclear Instruments and Methods A,
+(2003).
+
+\bibitem{goldberger48}  
+ M. Goldberger,
+ The Interaction of High Energy Neutrons and Hevy Nuclei,
+Phys. Rev. 74,
+ (1948),
+ 1269.
+ 
+\bibitem{griffin66}     
+ J. J. Griffin,
+ Statistical Model of Intermediate Structure,
+Physical Review Letters 17, (1966), 478-481.
+
+\bibitem{griffin67}     
+ J. J. Griffin,
+ Statistical Model of Intermediate Structure,
+Physics Letters 24B, 1 (1967), 5-7.
+
+\bibitem{iljinov94}
+ A. S. Iljonov et al.,
+ Intermediate-Energy Nuclear Physics,
+ CRC Press 1994.
+
+\bibitem{kalbach78}     
+ C. Kalbach,
+ Exciton Number Dependence of the Griffin Model Two-Body Matrix Element,
+Z. Physik A 287, (1978), 319-322.
+
+\bibitem{letaw83}
+         J. R. Letaw et al.,
+         The Astrophysical Journal Supplements 51,
+         (1983),
+         271f.
+
+\bibitem{letaw93}
+         J. R. Letaw et al.,
+         The Astrophysical Journal 414,
+         1993,
+         601.
+
+\bibitem{metropolis58}
+         N. Metropolis, R. Bibins, M. Storm,
+         Monte Carlo Calculations on Intranuclear Cascades. I. Low-Energy Studies,
+         Physical Review 110,
+         (1958),
+         185ff.
+
+\bibitem{pearlstein89}
+         S. Pearlstein,
+         Medium-energy nuclear data libraries: a case study, neutron- and 
+         proton-induced reactions in $^56$Fe,
+         The Astrophysical Journal 346,
+         (1989),
+         1049-1060.
+
+\bibitem{ribansky73}    
+ I. Ribansky et al.,
+ Pre-equilibrium decay and the exciton model,
+Nucl. Phys. A 205,
+ (1973),
+ 545-560.
+
+\bibitem{serber47}      
+ R. Serber,
+ Nuclear Reactions at High Energies,
+Phys. Rev. 72,
+ (1947),
+ 1114. 
+
+\bibitem{titarenko99a}
+ Experimental and Computer Simulations Study of
+                  Radionuclide Production in Heavy Materials
+                  Irradiated by Intermediate Energy Protons,              
+ Yu. E. Titarenko et al.,
+nucl-ex/9908012,
+ (1999).
+
+\bibitem{weisskopf37}
+         V. Weisskopf,
+          Statistics and Nuclear Reactions,
+       Physical Review 52,
+           (1937),
+          295--302.
+          
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\section{Bibliography}
+
+\begin{enumerate}
+\item
+  R.G. Alsmiller and F.S. Alsmiller and O.W. Hermann,
+  The high-energy transport code HETC88 and comparisons with experimental data,
+  Nuclear Instruments and Methods in Physics Research A 295,
+   (1990), 337--343,
+
+% [1] Barashenkov V.S., Toneev V.D. High Energy interactions of particles and nuclei with nuclei. Moscow, 1972 
+%(in Russian, but there is an English translation)) 
+
+\item
+ V.S. Barashenkov and V.D. Toneev,
+ High Energy interactions of particles and nuclei with nuclei (In russian),
+ (1972)
+
+\item    
+ M. P. Guthrie, R. G. Alsmiller and H. W. Bertini,
+Nucl. Instr. Meth,
+66,
+ 1968,
+ 29.                              
+% \bibitem{bertini69}
+%  H.W.Bertini,
+%  Intranuclear-Cascade Calculation of the Secondary Nucleon Spectra from Nucleon-Nucleus 
+%         Interactions in the Energy Range 340 to 2900 MeV and Comparisons with Experiment,
+% Phys. Rev.,
+%  188,
+%  1969,
+%  1711 
+% 
+\item     
+H. W. Bertini and P. Guthrie,
+Results from Medium-Energy Intranuclear-Cascade Calculation,
+Nucl. Phys.A169,
+(1971).
+
+\item
+         I. Dostrovsky, Z. Zraenkel and G. Friedlander,
+         Monte carlo calculations of high-energy nuclear interactions. III. Application to low-lnergy calculations,
+         Physical Review,
+         1959,
+         116,
+         3,
+         683-702.
+
+\item
+         I. Dostrovsky and Z. Fraenkel and P. Rabinowitz,
+         Monte Carlo Calculations of Nuclear Evaporation Processes. V. Emission of Particles Heavier Than $^4He$,
+         Physical Review,
+         1960. 
+
+\item
+ P. Fong,
+ Statistical Theory of Fission,
+ 1969, Gordon and Breach, New York.
+
+\item
+ Geant4 collaboration,
+ Geant4 general paper (to be published),
+Nuclear Instruments and Methods A,
+(2003).
+
+\item  
+ M. Goldberger,
+ The Interaction of High Energy Neutrons and Hevy Nuclei,
+Phys. Rev. 74,
+ (1948),
+ 1269.
+ 
+\item     
+ J. J. Griffin,
+ Statistical Model of Intermediate Structure,
+Physical Review Letters 17, (1966), 478-481.
+
+\item     
+ J. J. Griffin,
+ Statistical Model of Intermediate Structure,
+Physics Letters 24B, 1 (1967), 5-7.
+
+\item
+ A. S. Iljonov et al.,
+ Intermediate-Energy Nuclear Physics,
+ CRC Press 1994.
+
+\item     
+ C. Kalbach,
+ Exciton Number Dependence of the Griffin Model Two-Body Matrix Element,
+Z. Physik A 287, (1978), 319-322.
+
+\item
+         J. R. Letaw et al.,
+         The Astrophysical Journal Supplements 51,
+         (1983),
+         271f.
+
+\item
+         J. R. Letaw et al.,
+         The Astrophysical Journal 414,
+         1993,
+         601.
+
+\item
+         N. Metropolis, R. Bibins, M. Storm,
+         Monte Carlo Calculations on Intranuclear Cascades. I. Low-Energy Studies,
+         Physical Review 110,
+         (1958),
+         185ff.
+
+\item
+         S. Pearlstein,
+         Medium-energy nuclear data libraries: a case study, neutron- and 
+         proton-induced reactions in $^56$Fe,
+         The Astrophysical Journal 346,
+         (1989),
+         1049-1060.
+
+\item    
+ I. Ribansky et al.,
+ Pre-equilibrium decay and the exciton model,
+Nucl. Phys. A 205,
+ (1973),
+ 545-560.
+
+\item      
+ R. Serber,
+ Nuclear Reactions at High Energies,
+Phys. Rev. 72,
+ (1947),
+ 1114. 
+
+\item
+ Experimental and Computer Simulations Study of
+                  Radionuclide Production in Heavy Materials
+                  Irradiated by Intermediate Energy Protons,              
+ Yu. E. Titarenko et al.,
+nucl-ex/9908012,
+ (1999).
+
+\item
+         V. Weisskopf,
+          Statistics and Nuclear Reactions,
+       Physical Review 52,
+           (1937),
+          295--302.
+          
+\end{enumerate}
+
+\end{htmlonly}
+
+          
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/CHIPS.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/CHIPS.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/CHIPS.tex	(revision 1208)
@@ -0,0 +1,2290 @@
+%\documentclass[12pt,a4paper,oneside]{book}
+%\usepackage[dvips]{graphicx}
+%\usepackage{html}
+%%% \usepackage[dvips]{epsfig}
+%\title{Physics Reference Manual}
+%\pagestyle{plain}
+%\begin{document}
+%{
+%\maketitle
+%\pagestyle {empty}
+%\setcounter{page}{-10}
+%\tableofcontents
+%\setcounter{page}{-0}
+%\pagestyle {empty}
+%}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\chapter{Chiral Invariant Phase Space Decay.}
+% \textheight 8.75in
+% \textwidth 6.5in
+% \parskip 1.45ex
+
+\newtheorem{theorem}{Theorem}
+\newtheorem{acknowledgement}[theorem]{Acknowledgement}
+\newtheorem{algorithm}[theorem]{Algorithm}
+\newtheorem{axiom}[theorem]{Axiom}
+\newtheorem{claim}[theorem]{Claim}
+\newtheorem{conclusion}[theorem]{Conclusion}
+\newtheorem{condition}[theorem]{Condition}
+\newtheorem{conjecture}[theorem]{Conjecture}
+\newtheorem{corollary}[theorem]{Corollary}
+\newtheorem{criterion}[theorem]{Criterion}
+\newtheorem{definition}[theorem]{Definition}
+\newtheorem{example}[theorem]{Example}
+\newtheorem{exercise}[theorem]{Exercise}
+\newtheorem{lemma}[theorem]{Lemma}
+\newtheorem{notation}[theorem]{Notation}
+\newtheorem{problem}[theorem]{Problem}
+\newtheorem{proposition}[theorem]{Proposition}
+\newtheorem{remark}[theorem]{Remark}
+\newtheorem{solution}[theorem]{Solution}
+\newtheorem{summary}[theorem]{Summary}
+
+% \title{Manual for the CHIPS event generator in GEANT4}
+%\author{M.V.Kossov}
+%\address{Mikhail.Kossov@itep.ru, Mikhail.Kossov@cern.ch, kossov@jlab.org,\\
+%kossov@post.kek.jp}
+% \date{\today}
+% \maketitle
+
+\section{Introduction}
+
+\noindent \qquad  
+The CHIPS computer code is a quark-level event generator for the 
+fragmentation of hadronic systems into hadrons.  In contrast to other parton 
+models \cite{Parton_Models} CHIPS is nonperturbative and
+three-dimensional. It is based on the Chiral Invariant Phase Space
+(ChIPS) model \cite{CHIPS1,CHIPS2,CHIPS3} which employs a
+3D quark-level SU(3) approach. Thus Chiral Invariant Phase Space refers
+to the phase space of massless partons and hence only light (u, d, s)
+quarks can be considered. The c, b, and t quarks are not implemented
+in the model directly, while they can be created in the model as a
+result of the gluon-gluon or photo-gluon fusion. The main parameter of
+the CHIPS model is the critical temperature $T_c\approx 200~MeV$. The
+probability of finding a quark with energy $E$ drops with the energy
+approximately as $e^{-E/T}$, which is why the heavy flavors of quarks
+are suppressed in the Chiral Invariant Phase Space. The s quarks,
+which have masses less then the critical temperature, have an
+effective suppression factor in the model.
+
+The critical temperature $T_c$ defines the number of 3D partons in
+the hadronic system with total energy $W$. If masses of all partons
+are zero then the number of partons can be found from the equation
+$W^2=4T_c^2(n-1)n$. The mean squared total energy can be calculated
+for any ``parton'' mass (partons are usually massless). The
+corresponding formula can be found in \cite{hadronMasses}. In this
+treatment the masses of light hadrons are fitted better than by the 
+chiral bag model of hadrons~\cite{Chiral_Bag} with the same number of
+parameters. In both models any hadron consists of a few quark-partons, 
+but in the CHIPS model the critical temperature defines the mass of 
+the hadron, consisting of $N$ quark-partons, while in the bag
+model the hadronic mass is defined by the balance between the
+quark-parton internal pressure (which according to the uncertainty
+principle increases when the radius of the ``bag'' decreases) and the
+external pressure ($B$) of the nonperturbative vacuum, which has
+negative energy density.
+
+In CHIPS the interactions between hadrons are defined by the Isgur
+quark-exchange diagrams, and the decay of excited hadronic 
+systems in vacuum is treated as the fusion of quark-antiquark or
+quark-diquark partons. An important feature of the model is the
+homogeneous distribution of asymptotically free quark-partons over the
+invariant phase space, as applied to the fragmentation of various
+types of excited hadronic systems. In this sense the CHIPS model may
+be considered as a generalization of the well-known hadronic phase
+space distribution \cite{GENBOD} approach, but it generates not only
+angular and momentum distributions for a given set of hadrons, but
+also the multiplicity distributions for different kinds of hadrons,
+which is defined by the multistep energy dissipation (decay) process.  
+
+The CHIPS event generator may be applied to nucleon excitations,
+hadronic systems produced in $e^{+}e^{-}$ and $p\bar p$ annihilation,
+and high energy nuclear excitations, among others. Despite its quark
+nature, the nonperturbative CHIPS model can also be used successfully
+at very low energies. It is valid for photon and hadron projectiles
+and for hadron and nuclear targets. Exclusive event generation models
+multiple hadron production, conserving energy, momentum, and other
+quantum numbers. This generally results in a good description of
+particle multiplicities, inclusive spectra, and kinematic correlations
+in multihadron fragmentation processes. Thus, it is possible to use
+the CHIPS event generator in exclusive modeling of hadron cascades in
+materials.
+
+In the CHIPS model, the result of a hadronic or nuclear interaction is
+the creation of a quasmon which is essentially an intermediate state
+of excited hadronic matter.  When the interaction occurs in vacuum the
+quasmon can dissipate energy by radiating particles according to the
+quark fusion mechanism~\cite{CHIPS1} described in section \ref{annil}.
+When the interaction occurs in nuclear matter, the energy dissipation
+of a quasmon can be the result of quark exchange with surrounding
+nucleons or clusters of nucleons \cite{CHIPS2} (section \ref{picap}),
+in addition to the vacuum quark fusion mechanism.
+
+In this sense the CHIPS model can be a successful competitor of the
+cascade models, because it does not break the projectile, instead it
+captures it, creating a quasmon, and then decays the quasmon in
+nuclear matter. The perturbative mechanisms in deep inelastic
+scattering are in some sense similar to the cascade calculations,
+while the parton splitting functions are used instead of
+interactions. The nonperturbative CHIPS approach is making a ``short
+cut'' for the perturbative calculations too. Similar to the time-like
+$s=W^2$ evolution of the number of partons in the nonperturbative
+chiral phase space (mentioned above) the space-like $Q^2$ evolution of
+the number of partons is given by $N(Q^2)=n_V+\frac{1}{2\alpha_s(Q^2)}$, 
+where $n_V$ is the number of valence quark-partons. The running
+$\alpha_s(Q^2)$ value is calculated in CHIPS as
+$\alpha_s(Q^2)=\frac{4\pi}{\beta_0ln(1+Q^2/T_c^2)}$, where
+$\beta_0^{n_f=3)=9}$. In other words, the critical temperature $T_c$
+plays the role of $\Lambda_QCD$ and still cuts out heavy flavors of
+quark-partons and high orders of the QCD calculation (NLO, NNLO,
+N$^3$LO, etc.), substituting for them the effective LO ``short cut''. 
+This simple approximation of $\alpha_s$ fits all the present measurements
+of this value (Fig.~\ref{alphas}).
+It is very important that
+$\alpha_s$ is defined in CHIPS for any $Q^2$, and that the number of partons
+at $Q^2=0$ converges to the number of valence quarks.
+
+\begin{figure}
+% \centerline{\epsfig{file=hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/mommul.eps, height=3.5in, width=4.5in}}
+%  \resizebox{1.00\textwidth}{!}
+%{
+\includegraphics[angle=0,scale=0.6]{hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/alpha.eps}
+%\includegraphics[angle=0,scale=0.6]{plots/alpha.eps}
+%}
+\caption{The CHIPS fit of the $\alpha_s$ measurements.}
+\label{alphas}
+\end{figure}
+
+The effective $\alpha_s$ is defined for all $Q^2$, but at $Q^2=0$ it
+is infinite. In other words at $Q^2=0$ the number of the virtual
+interacting partons goes to infinity.  This means that on the boundary
+between perturbative and non-perturbative vacuums a virtual
+``thermostate'' of gluons with an effective temperature $T_c$
+exists. This ``virtual thermostate'' defines the phase space
+distribution of partons, and the ``thermalization'' can happen very
+quickly. On the other hand, the CHIPS nonperturbative approach can be used
+below $Q^2~=~1~GeV^2$. This was done for the neutrino-nuclear
+interactions  (section \ref{numunuc}).
+
+\section{Fundamental Concepts}
+
+The CHIPS model is an attempt to use a set of simple rules which govern 
+microscopic quark-level behavior to model macroscopic hadronic systems with 
+a large number of degrees of freedom. The invariant phase space distribution
+as a paradigm of thermalized chaos is applied to quarks, and simple 
+kinematic mechanisms are used to model the hadronization of quarks into 
+hadrons. Along with relativistic kinematics and the conservation of quantum 
+numbers, the following concepts are used:
+
+\begin{itemize}
+\item {\bf Quasmon:} in the CHIPS model, a quasmon is any excited hadronic 
+system; it can be viewed as a continuous spectrum of a generalized
+hadron.  At the constituent level, a quasmon may be thought of as a
+bubble of quark-parton plasma in which the quarks are massless and the
+quark-partons in the quasmon are homogeneously distributed over the
+invariant phase space.  It may also be considered as a bubble of the
+three-dimensional Feynman-Wilson \cite{Feynman-Wilson} parton gas. The
+traditional hadron is a particle defined by quantum numbers and a
+fixed mass or a mass with a width. The quark content of the hadron is
+a secondary concept constrained by the quantum numbers. The quasmon,
+however, is defined by its quark content and its mass, and the concept
+of a well defined particle with quantum numbers (a discrete spectrum)
+is of secondary importance. A given quasmon hadronic state with fixed
+mass and quark content can be considered as a superposition of
+traditional hadrons, with the quark content of the superimposed
+hadrons being the same as the quark content of the quasmon.
+
+\item {\bf Quark fusion:} the quark fusion hypothesis determines the rules 
+of final state hadron production, with energy spectra reflecting the 
+momentum distribution of the quarks in the system. Fusion occurs when a 
+quark-parton in a quasmon joins with another quark-parton from the same 
+quasmon and forms a new white hadron, which can be radiated. If a
+neighboring nucleon (or the nuclear cluster) is present, quark-partons
+may also be exchanged between the quasmon and the neighboring nucleon
+(cluster). The kinematic condition applied to these mechanisms is that
+the resulting hadrons are produced on their mass shells. The model
+assumes that the u, d and s quarks are effectively massless, which
+allows the integrals of the hadronization process to be done easily
+and the modeling decay algorithm to be accelerated. The quark mass is
+taken into account indirectly in the masses of outgoing hadrons. The
+type of the outgoing hadron is selected using combinatoric and
+kinematic factors consistent with conservation laws.  In the present
+version of CHIPS all mesons with three-digit PDG Monte Carlo codes
+\cite{CH.PDG} up to spin $4$, and all baryons with four-digit PDG
+codes up to spin $\frac{7}{2}$ are implemented. 
+
+\item {\bf Critical temperature} the only non-kinematic concept of the model
+is the hypothesis of the critical temperature of the quasmon. This has a 
+40-year history, starting with Ref.~\cite{Hagedorn} and is based on the 
+experimental observation of regularities in the inclusive spectra of hadrons
+produced in different reactions at high energies.  Qualitatively, the 
+hypothesis of a critical temperature assumes that the quark-gluon hadronic 
+system (quasmon) cannot be heated above a certain temperature.  Adding more 
+energy to the hadronic system increases only the number of constituent 
+quark-partons while the temperature remains constant.  The critical 
+temperature is the principal parameter of the model and is used to
+calculate the number of quark-partons in a quasmon.  In an infinite
+thermalized system, for example, the mean energy of partons is $2T$
+per particle, the same as for the dark body radiation.  
+
+\end{itemize}
+
+\section{Code Development}
+
+Because the CHIPS event generator was originally developed only for final 
+state hadronic fragmentation, the initial interaction of projectiles with 
+targets requires further development.  Hence, the first applications of 
+CHIPS described interactions at rest, for which the interaction cross 
+section is not important \cite{CHIPS1}, \cite{CHIPS2}, and low energy 
+photonuclear reactions \cite{CHIPS3}, for which the interaction cross
+section can be calculated easily \cite{photNuc}. With modification of
+the first interaction algorithm the CHIPS event generator can be used
+for all kinds of hadronic interaction. The Geant4 String Model
+interface to the CHIPS generator \cite{GEANT4}, \cite{MC2000} also
+makes it possible to use the CHIPS code for nuclear fragmentation at
+extremely high energies.
+
+In the first published versions of the CHIPS event generator the class
+{\tt G4Quasmon} was the head of the model and all initial interactions
+were hidden in its constructor.  More complicated applications of the
+model such as anti-proton nuclear capture at rest and the Geant4
+String Model interface to CHIPS led to the multi-quasmon version of
+the model.  This required a change in the structure of the CHIPS event
+generator classes.  In the case of at-rest anti-proton annihilation in
+a nucleus, for example, the first interaction occurs on the nuclear
+periphery. After this initial interaction, a fraction (defined by a
+special parameter of the model) of the secondary mesons independently
+penetrate the nucleus.  Each of these mesons can create a separate
+quasmon in the interior of the nucleus. In this case the class {\tt
+G4Quasmon} can no longer be the head of the model. A new head class,
+{\tt G4QEnvironment}, was developed which can adopt a vector of
+projectile hadrons ({\tt G4QHadronVector}) and create a vector of 
+quasmons, {\tt G4QuasmonVector}. All newly created quasmons then begin
+the energy dissipation process in parallel in the same nucleus. The
+{\tt G4QEnvironment} instance can be used both for vacuum and for nuclear 
+matter.  If {\tt G4QEnvironment} is created in vacuum, it is practically 
+identical to the {\tt G4Quasmon} class, because in this case only one 
+instance of {\tt G4Quasmon} is allowed.  This leaves the model unchanged 
+for hadronic interactions.
+
+The convention adopted for the CHIPS model requires all its class names 
+to use the prefix {\tt G4Q} in order to distinguish them from other Geant4 
+classes, most of which use the {\tt G4} prefix. The intent is that the 
+{\tt G4Q} prefix will not be used by other Geant4 projects.
+
+\section{Nucleon-Antinucleon Annihilation at Rest} \label{annil}
+
+In order to generate hadron spectra from the annihilation of a proton
+with an anti-proton at rest, the number of partons in the system must be 
+found. For a finite system of $N$ partons with a total center-of-mass energy
+$M$, the invariant phase space integral, $\Phi_N$, is proportional to 
+$M^{2N-4}$.  According to the dimensional counting rule, $2N$ comes from
+$\prod\limits_{i=1}^{N}\frac{d^{3}p_{i}}{E_{i}}$, and $4$ comes from
+the energy and momentum conservation function, $\delta ^{4}($\b{P}$-\sum
+$\b{p}$_{i})$.  At a temperature $T$ the statistical density of states is 
+proportional to $e^{-\frac{M}{T}}$ so that the probability to find a system 
+of $N$ quark-partons in a state with mass $M$ is $dW \propto
+M^{2N-4}e^{-\frac{M}{T}}dM$.  For this kind of probability distribution the 
+mean value of $M^{2}$ is
+\begin{equation}
+<M^{2}>=4N(N-1)\cdot T^{2}.  \label{temperature}
+\end{equation}
+When $N$ goes to infinity one obtains for massless particles the
+well-known $<M>\equiv \sqrt{<M^{2}>}=2NT$ result. 
+
+After a nucleon absorbs an incident quark-parton, such as a real or 
+virtual photon, for example, the newly formed quasmon has a total of $N$ 
+quark-partons, where $N$ is determined by Eq. \ref{temperature}.
+Choosing one of these quark-partons with energy $k$ in the center of mass 
+system (CMS) of $N$ partons, the spectrum of the remaining $N-1$ 
+quark-partons is given by
+\begin{equation}
+\frac{dW}{kdk} \propto (M_{N-1})^{2N-6},
+\end{equation}
+where $M_{N-1}$ is the effective mass of the $N-1$ quark-partons. 
+This result was obtained by applying the above phase-space relation 
+($\Phi_N \propto M^{2N-4}$) to the residual $N-1$ quarks.  The effective 
+mass is a function of the total mass $M$,
+\begin{equation}
+M_{N-1}^{2}=M^{2}-2kM ,  \label{m_n-1}
+\end{equation}
+so that the resulting equation for the quark-parton 
+spectrum is:
+\begin{equation}
+\frac{dW}{kdk}\propto (1-\frac{2k}{M})^{N-3}.  \label{spectrum_1}
+\end{equation}
+
+\subsection{Meson Production}
+
+In this section, only the quark fusion mechanism of hadronization is
+considered. The quark exchange mechanism can take place only in
+nuclear matter where a quasmon has neighboring nucleons.  In order to 
+decompose a quasmon into an outgoing hadron and a residual quasmon, one
+needs to calculate the probability of two quark-partons combining to 
+produce the effective mass of the outgoing hadron.  This requires that 
+the spectrum of the second quark-parton be calculated.  This is done by
+following the same argument used to determine Eq.~\ref{spectrum_1}.
+One quark-parton is chosen from the residual $N-1$.  It has an energy 
+$q$ in the CMS of the $N-1$ quark-partons.  The spectrum is obtained by 
+substituting $N-1$ for $N$ and $M_{N-1}$ for $M$ in 
+Eq.~\ref{spectrum_1} and then using Eq.~\ref{m_n-1} to get 
+\begin{equation}
+\frac{dW}{q dq }\propto \left( 1-\frac{2q }{M\sqrt{1-
+\frac{2k}{M}}}\right) ^{N-4}.  \label{spectrum_2}
+\end{equation}
+
+Next, one of the residual quark-partons must be selected from this spectrum
+such that its fusion with the primary quark-parton makes a hadron of
+mass $\mu$.  This selection is performed by the mass shell condition for 
+the outgoing hadron,
+\begin{equation}
+\mu^2 = 2 \frac{k}{\sqrt{1-\frac{2k}{M}}} 
+ \cdot q \cdot (1-\cos \theta ) .  \label{hadron}
+\end{equation}
+Here $\theta$ is the angle between the momenta, {\bf k} and {\bf q} of
+the two quark-partons in the CMS of $N-1$ quarks.  Now the kinematic quark 
+fusion probability can be calculated for any primary quark-parton with 
+energy $k$:
+\begin{eqnarray}
+P(k,M,\mu )=&&\int \left( 1-\frac{2q }{M\sqrt{1-\frac{2k}{M}}}\right)
+^{N-4} \nonumber\\
+ && \times\  \delta \left( \mu ^{2}-\frac{2kq (1-\cos \theta )}{\sqrt{1-
+\frac{2k}{M}}}\right) q dq d\cos \theta .\ \ \ \ 
+\end{eqnarray}
+Using the $\delta$-function\footnote{\protect{
+If $g(x_0)$=0, $\int f(x)\delta\left[g(x)\right]dx = 
+\int \frac{f(x)\delta\left[g(x)\right]}{g^\prime(x)} dg(x) = 
+\frac{f(x_0)}{g^\prime(x_0)}$
+}}
+to perform the integration over $q$ one gets: 
+\begin{eqnarray}
+P(k,M,\mu )=&&\int \left( 1-\frac{\mu ^{2}}{Mk(1-\cos \theta )}\right)
+^{N-4} \nonumber\\
+ && \times\ \left( \frac{\mu ^{2}\sqrt{1-\frac{2k}{M}}}{2k(1-\cos \theta )}
+\right)^{2}d\left(\frac{1-\cos \theta }{\mu ^{2}}\right) ,\ \ 
+\end{eqnarray}
+or 
+\begin{eqnarray}
+P(k,M,\mu )=&&\frac{M-2k}{4k}\int \left(1-\frac{\mu ^{2}}{Mk(1 - 
+\cos\theta)}\right) ^{N-4} \nonumber\\
+ && \times\ d\left(1-\frac{\mu ^{2}}{Mk(1-\cos \theta )}\right).
+\end{eqnarray}
+After the substitution
+$z=1-\frac{2q }{M_{N-1}}=1-\frac{\mu ^{2}}{Mk(1-\cos \theta )}$, this
+becomes
+\begin{equation}
+P(k,M,\mu ) = \frac{M-2k}{4k} \int z^{N-4} dz ,
+\end{equation}
+where the limits of integration are $0$ when 
+$\cos\theta = 1 - \frac{\mu ^{2}}{M\cdot k}$, and 
+\begin{equation}
+z_{\max }=1-\frac{\mu^2}{2Mk}, \label{z_max}
+\end{equation}
+when $\cos \theta =-1$.  The resulting range of $\theta$\ is therefore
+$-1<\cos \theta < 1-\frac{\mu ^{2}}{M\cdot k}$.  Integrating from $0$ to 
+$z$ yields
+\begin{equation}
+\frac{M-2k}{4k\cdot (N-3)}\cdot z^{N-3},  \label{z_probab}
+\end{equation}
+and integrating from $0$ to $z_{max}$ yields the total kinematic 
+probability for hadronization of a quark-parton with energy $k$ into a 
+hadron with mass $\mu$:
+\begin{equation}
+\frac{M-2k}{4k \cdot (N-3)} \cdot z_{\max}^{N-3} . 
+                                   \label{tot_kin_probab}
+\end{equation}
+The ratio of expressions \ref{z_probab} and \ref{tot_kin_probab} can be 
+treated as a random number, $R$, uniformly distributed on the interval
+[0,1].  Solving for $z$ then gives
+\begin{equation}
+z=\sqrt[N-3]{R}\cdot z_{\max }.  \label{z_random}
+\end{equation}
+
+In addition to the kinematic selection of the two quark-partons in the
+fusion process, the quark content of the quasmon and the spin of the 
+candidate final hadron are used to determine the probability that a 
+given type of hadron is produced.  Because only the relative hadron 
+formation probabilities are necessary, overall normalization factors can
+be dropped.  Hence the relative probability can 
+be written as
+\begin{equation}
+P_h(k,M,\mu )=(2s_h+1)\cdot z_{\max }^{N-3}\cdot C_{Q}^{h} .  
+                                         \label{rel_prob}
+\end{equation}
+Here, only the factor $z_{\max }^{N-3}$ is used since the other factors 
+in equation \ref{tot_kin_probab} are constant for all candidates for the 
+outgoing hadron.  The factor $2s_h+1$ counts the spin states of a 
+candidate hadron of spin $s_h$, and $C_{Q}^{h}$ is the number of ways the 
+candidate hadron can be formed from combinations of the quarks within the 
+quasmon.  In making these combinations, the standard quark wave functions 
+for pions and kaons were used.  For $\eta$ and $\eta^{\prime }$ mesons the 
+quark wave functions 
+$\eta=\frac{\bar{u}u+\bar{d}d}{2}-\frac{\bar{s}s}{\sqrt{2}}$ and
+$\eta^{\prime }=\frac{\bar{u}u+\bar{d}d}{2}+\frac{\bar{s}s}{\sqrt{2}}$
+were used.  No mixing was assumed for the $\omega $\ and $\phi $\ meson 
+states, hence $\omega =\frac{ \bar{u}u+\bar{d}d}{\sqrt{2}}$ and 
+$\varphi=\bar{s}s$.
+
+A final model restriction is applied to the hadronization process:
+after a hadron is emitted, the quark content of the residual quasmon 
+must have a quark content corresponding to either one or two real 
+hadrons.  When the quantum numbers of a quasmon, determined by its quark 
+content, cannot be represented by the quantum numbers of a real hadron, 
+the quasmon is considered to be a virtual hadronic molecule such as 
+$\pi ^{+}\pi ^{+}$ or $K^{+}\pi ^{+}$, in which case it is defined in 
+the CHIPS model to be a Chipolino pseudo-particle.
+
+To fuse quark-partons and create the decay of a quasmon into a hadron and 
+residual quasmon, one needs to generate randomly the residual quasmon mass 
+$m$, which in fact is the mass of the residual $N-2$ quarks.  Using an 
+equation similar to \ref{m_n-1}) one finds that
+\begin{equation}
+m^{2}=z\cdot (M^{2}-2kM).  \label{m(z)}
+\end{equation}
+Using Eqs. \ref{z_random} and \ref{z_max}, the mass of the residual 
+quasmon can be expressed in terms of the random number $R$:
+\begin{equation}
+m^{2}=(M-2k)\cdot (M-\frac{\mu ^{2}}{2k})\cdot \sqrt[N-3]{R} .
+\label{res_quasmon}
+\end{equation}
+At this point, the decay of the original quasmon into a final state 
+hadron and a residual quasmon of mass $m$ has been simulated.  The process
+may now be repeated on the residual quasmon.
+
+This iterative hadronization process continues as long as the residual
+quasmon mass remains greater than $m_{\min }$, whose value depends on the 
+type of quasmon.  For hadron-type residual quasmons
+\begin{equation}
+ m_{\min }=m_{\min }^{QC}+m_{\pi ^{0}},  \label{m_min}
+\end{equation}
+where $m_{\min }^{QC}$ is the minimum hadron mass for the residual
+quark content (QC).  For Chipolino-type residual quasmons consisting
+of hadrons $h_1$ and $h_2$, 
+\begin{equation}
+ m_{\min }=m_{h_1}+m_{h_2}. \label{m_min_chipolino}
+\end{equation}
+These conditions insure that the quasmon always has enough energy to decay 
+into at least two final state hadrons, conserving four-momentum and charge.
+
+If the remaining CMS energy of the residual quasmon falls below $m_{\min}$, 
+then the hadronization process terminates with a final two-particle decay.  
+If the parent quasmon is a Chipolino consisting of hadrons $h_1$ and $h_2$, 
+then a binary decay of the parent quasmon into $m_{h_1}$ and $m_{h_2}$ 
+takes place.  If the parent quasmon is not a Chipolino then a decay into 
+$m_{\min}^{QC}$ and $m_h$ takes place.  The decay into $m_{\min}^{QC}$ and 
+$m_\pi^0$ is always possible in this case because of condition \ref{m_min}.
+
+If the residual quasmon is not Chipolino-type, and $m>m_{\min}$, the
+hadronization loop can still be finished by the resonance production
+mechanism, which is modeled following the concept of parton-hadron 
+duality \cite{Duality}.  If the residual quasmon has a mass in the vicinity 
+of a resonance with the same quark content ($\rho$ or $K^{\ast}$ for 
+example), there is a probability for the residual quasmon to convert to 
+this resonance.\footnote{When comparing quark contents, the quark content 
+of the quasmon is reduced by canceling quark-antiquark pairs of the same 
+flavor.}
+In the present version of the CHIPS event generator the probability of
+convert to the resonance is given by
+\begin{equation}
+P_{\rm{res}}=\frac{m_{\min }^{2}}{m^{2}}.  \label{res_probab}
+\end{equation}
+Hence the resonance with the mass-squared value $m_{r}^{2}$ closest to 
+$m^{2}$ is selected, and the binary decay of the quasmon into $m_{h}$ 
+and $m_{r}$ takes place.
+
+With more detailed experimental data, it will be possible to take into 
+account angular momentum conservation, as well as $C$-, $P$- and 
+$G$-parity conservation.  In the present version of the generator, $\eta$ 
+and $\eta ^{\prime }$ are suppressed by a factor of $0.3$.  This factor 
+was tuned using data from experiments on antiproton annihilation at rest 
+in liquid hydrogen and can be different for other hadronic reactions.  It 
+is possible to vary it when describing other reactions.
+
+Another parameter, $s/u$, controls the suppression of heavy quark 
+production \cite{JETSET}.  For proton-antiproton annihilation at rest the 
+strange quark-antiquark sea was found to be suppressed by the factor 
+$s/u = 0.1$.  In the JETSET \cite{JETSET} event generator, the default 
+value for this parameter is $s/u = 0.3$.  The lower value may be due to 
+quarks and anti-quarks of colliding hadrons initially forming a non-strange 
+sea, with the strange sea suppressed by the OZI rule \cite{OZI}.  This 
+question is still under discussion \cite{OZI_violation} and demands further 
+experimental measurements.  The $s/u$ parameter may differ for other 
+reactions.  In particular, for e$^{+}$e$^{-}$ reactions it can be closer to 
+0.3.
+
+Finally, the temperature parameter has been fixed at $T=180$ MeV.  In
+earlier versions of the model it was found that this value successfully 
+reproduced spectra of outgoing hadrons in different types of medium-energy 
+reactions.
+
+\begin{figure}
+% \centerline{\epsfig{file=hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/mommul.eps, height=3.5in, width=4.5in}}
+%  \resizebox{1.00\textwidth}{!}
+%{
+\includegraphics[angle=0,scale=0.6]{hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/mommul.eps}
+%\includegraphics[angle=0,scale=0.6]{plots/mommul.eps}
+%}
+\caption{(a) (left): momentum distribution of charged pions produced in 
+proton-antiproton annihilation at rest.  The experimental data are from 
+\protect\cite{pispectrum}, and the histogram was produced by the CHIPS 
+Monte Carlo.  The experimental spectrum is normalized to the measured 
+average charged pion multiplicity, 3.0. (b) (right): pion multiplicity
+distribution.  Data points were taken from compilations of experimental 
+data \protect\cite{pap_exdata}, and the histogram was produced by the 
+CHIPS Monte Carlo.  The number of events with kaons in the final state is 
+shown in pion multiplicity bin 9, where no real 9-pion events are 
+generated or observed experimentally.  In the model, the percentage of 
+annihilation events with kaons is close to the experimental value of 
+6\% \cite{pap_exdata}.
+}
+\label{mommul}
+\end{figure}
+
+\begin{figure}
+% \centerline{\epsfig{file=hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/channels.eps, height=3.5in, width=4.5in}}
+%  \resizebox{1.00\textwidth}{!}
+%{
+\includegraphics[angle=0,scale=0.6]{hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/channels.eps}
+%\includegraphics[angle=0,scale=0.6]{plots/channels.eps}
+%}
+\caption{Branching probabilities for different channels in
+proton-antiproton annihilation at rest. The experimental data are from
+\protect\cite {pap_exdata}, and the histogram was produced by the CHIPS 
+Monte Carlo. }
+\label{channels}
+\end{figure}
+
+The above parameters were used to fit not only the spectrum of pions
+Fig.~\ref{mommul},a and the multiplicity distribution for pions
+Fig.~\ref{mommul},b but also branching ratios of various measured
+\cite{pispectrum,pap_exdata} exclusive channels as shown in Figs.
+~\ref{channels},~\ref{threechan},~\ref{twochan}.  In Fig.~\ref{twochan} 
+one can see many decay channels with higher meson resonances.  The 
+relative contribution of events with meson resonances produced in the 
+final state is 30 - 40 percent, roughly in agreement with experiment. The 
+agreement between the model and experiment for particular decay modes is 
+within a factor of 2-3 except for the branching ratios to higher 
+resonances.  In these cases it is not completely clear how the resonance 
+is defined in a concrete experiment.  In particular, for the 
+$a_{2}\omega $ channel the mass sum of final hadrons is 2100 MeV with a 
+full width of about 110 MeV while the total initial energy of the p\={p} 
+annihilation reaction is only 1876.5 MeV.  This decay channel can be 
+formally simulated by an event generator using the tail of the Breit-Wigner 
+distribution for the $a_{2}$ resonance, but it is difficult to imagine how 
+the $a_{2}$ resonance can be experimentally identified $2\Gamma $ away 
+from its mean mass value. 
+
+\subsection{Baryon Production}
+
+To model fragmentation into baryons the POPCORN idea \cite{POPCORN} was
+used, which assumes the existence of diquark-partons.  The assumption of 
+massless diquarks is somewhat inconsistent at low energies, as is the 
+assumption of massless s-quarks, but it is simple and it helps to generate 
+baryons in the same way as mesons.
+
+Baryons are heavy, and the baryon production in $p\bar p$ annihilation
+reactions at medium energies is very sensitive to the value of the 
+temperature. If the temperature is low, the baryon yield is small, and
+the mean multiplicity of pions increases very noticeably with center-of-mass
+energy as seen in Fig.~\ref{apcmul}.  For higher temperature values the baryon 
+yield reduces the pion multiplicity at higher energies.  The existing
+experimental data \cite{Energy_Dep}, shown in Fig.~\ref{apcmul}, can be
+considered as a kind of ``thermometer'' for the model.  This thermometer 
+confirms that the critical temperature is about 200 MeV.
+
+\begin{figure}
+% \centerline{\epsfig{file=hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/threechn.eps, height=4.5in, width=4.5in}}
+%  \resizebox{1.00\textwidth}{!}
+%{
+\includegraphics[angle=0,scale=0.6]{hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/threechn.eps}
+%\includegraphics[angle=0,scale=0.6]{plots/threechn.eps}
+%}
+\caption{Branching probabilities for different channels with
+three-particle final states in proton-antiproton annihilation at
+rest.  The points are experimental data \protect\cite{pap_exdata} and the
+histogram is from the CHIPS Monte Carlo. }
+\label{threechan}
+\end{figure}
+\begin{figure}
+% \centerline{\epsfig{file=hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/twochn.eps, height=4.5in, width=4.5in}}
+%  \resizebox{1.00\textwidth}{!}
+%{
+\includegraphics[angle=0,scale=0.6]{hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/twochn.eps}
+%\includegraphics[angle=0,scale=0.6]{plots/twochn.eps}
+%}
+\caption{Branching probabilities for different channels with
+two-particle final states in proton-antiproton annihilation at
+rest. The points are experimental data \protect\cite{pap_exdata} and the
+histogram is from the CHIPS Monte Carlo. }
+\label{twochan}
+\end{figure}
+\begin{figure}
+% \centerline{\epsfig{file=hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/apcmul.eps, height=4.5in, width=4.5in}}
+%  \resizebox{1.00\textwidth}{!}
+%{
+\includegraphics[angle=0,scale=0.6]{hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/apcmul.eps}
+%\includegraphics[angle=0,scale=0.6]{plots/apcmul.eps}
+%}
+\caption{Average meson multiplicities in proton-antiproton and in
+electron-positron annihilation, as a function of the center-of-mass energy of 
+the interacting hadronic system.  The points are experimental data
+\protect\cite {Energy_Dep} and the lines are CHIPS Monte Carlo calculations
+at several values of the critical temperature parameter $T$. }
+\label{apcmul}
+\end{figure}
+
+It can be used as a tool for the Monte Carlo simulation of a wide variety
+of hadronic reactions.  The CHIPS event generator can be used not only for 
+``phase-space background'' calculations in place of the standard GENBOD 
+routine \cite{GENBOD}, but even for taking into account the reflection of 
+resonances in connected final hadron combinations.  Thus it can be useful 
+for physics analysis too, even though its main range of application is the 
+simulation of the evolution of hadronic and electromagnetic showers in 
+matter at medium energies.
+
+\section{Nuclear Pion Capture at Rest and Photonuclear Reactions Below the 
+Delta(3,3) Resonance} \label{picap}
+
+When compared with the first ``in vacuum'' version of the model, described 
+in Section \ref{annil}, modeling hadronic fragmentation in nuclear matter 
+is more complicated because of the much greater number of possible 
+secondary fragments.  However, the hadronization process itself
+is simpler in a way.  In vacuum, the quark-fusion mechanism requires a 
+quark-parton partner from the external (as in
+JETSET \cite{JETSET}) or internal (the quasmon itself, Section \ref{annil})
+quark-antiquark sea.  In nuclear matter, there is a second possibility: 
+quark exchange with a neighboring hadronic system, which could be a nucleon 
+or multinucleon cluster.  
+
+In nuclear matter the spectra of secondary hadrons and nuclear fragments
+reflect the quark-parton energy spectrum within a quasmon.  In the case of 
+inclusive spectra that are decreasing steeply with energy, and 
+correspondingly steeply decreasing spectra of the quark-partons in a quasmon,
+only those secondary hadrons which get the maximum energy from the primary 
+quark-parton of energy $k$ contribute to the inclusive spectra.  This 
+extreme situation requires the exchanged quark-parton with energy $q$, 
+coming toward the quasmon from the cluster, to move in a direction 
+opposite to that of the primary quark-parton.  As a result the 
+hadronization quark exchange process becomes one-dimensional along the 
+direction of $k$.  If a neighboring nucleon or nucleon cluster with bound 
+mass $\tilde{\mu}$ absorbs the primary quark-parton and radiates the 
+exchanged quark-parton in the opposite direction, then the energy of the 
+outgoing fragment is $E=\tilde{\mu}+k-q$, and the momentum is $p=k+q$. 
+Both the energy and the momentum of the outgoing nuclear fragment are known, 
+as is the mass $\tilde{\mu}$ of the nuclear fragment in nuclear matter, so 
+the momentum of the primary quark-parton can be reconstructed using the 
+approximate relation
+\begin{equation}
+k=\frac{p+E-B\cdot m_{N}}{2} .  \label{k}
+\end{equation}
+Here $B$ is the baryon number of the outgoing fragment 
+($\tilde{\mu}\approx B\cdot m_{N}$) and $m_N$ is the nucleon mass.  In 
+Ref.~\cite{K_parameter} it was shown that the invariant inclusive spectra of 
+pions, protons, deuterons, and tritons in proton-nucleus reactions at 
+400~GeV \cite{FNAL} not only have the same exponential slope but almost 
+coincide when they are plotted as a function of $k=\frac{p+E_{\rm{kin}}}{2}$.
+Using data at 10~GeV \cite{FAS}, it was shown that the parameter $k$, defined
+by Eq.~\ref{k}, is also appropriate for the description of secondary 
+anti-protons produced in high energy nuclear reactions.  This means that the 
+extreme assumption of one-dimensional hadronization is a good approximation. 
+
+The same approximation is also valid for the quark fusion mechanism.  In 
+the one-dimensional case, assuming that $q$ is the momentum of the second 
+quark fusing with the primary quark-parton of energy $k$, the total energy 
+of the outgoing hadron is $E=q+k$ and the momentum is $p=k-q$.  In the 
+one-dimensional case the secondary quark-parton must move in the opposite 
+direction with respect to the primary quark-parton, otherwise the mass of 
+the outgoing hadron would be zero.  So, for mesons $k=\frac{p+E}{2}$, in
+accordance with Eq.~\ref{k}.  In the case of anti-proton radiation, the
+baryon number of the quasmon is increased by one, and the primary
+antiquark-parton will spend its energy to build up the mass of the
+antiproton by picking up an anti-diquark.  Thus, the energy conservation 
+law for antiproton radiation looks like $E+m_{N}=q+k$ and 
+$k=\frac{p+E+m_{N}}{2}$, which is again in accordance with Eq.~\ref{k}.
+
+The one-dimensional quark exchange mechanism was proposed in 1984
+\cite{K_parameter}.  Even in its approximate form it was useful in the
+analysis of inclusive spectra of hadrons and nuclear fragments in
+hadron-nuclear reactions at high energies.  Later the same approach was
+used in the analysis of nuclear fragmentation in electro-nuclear
+reactions \cite{TPC}.  Also in 1984 the quark-exchange mechanism developed 
+in the framework of the non-relativistic quark model was found to be 
+important for the explanation of the short distance features of $NN$ 
+interactions \cite{NN QEX}.  Later it was successfully applied to 
+$K^{-}p$ interactions \cite{Kp QUEX}.  The idea of the quark exchange 
+mechanism between nucleons was useful even for the explanation of the EMC 
+effect \cite{EMC}.  For the non-relativistic quark model, the quark 
+exchange technique was developed as an alternative to the Feynman diagram 
+technique at short distances \cite{QUEX}.
+
+The CHIPS event generator models quark exchange processes, taking into
+account kinematic and combinatorial factors for asymptotically free
+quark-partons.  In the naive picture of the quark-exchange mechanism,
+one quark-parton tunnels from the asymptotically free region of one hadron 
+to the asymptotically free region of another hadron.  To conserve color, 
+another quark-parton from the neighboring hadron must replace the first 
+quark-parton in the quasmon.  This makes the tunneling mutual, and the 
+resulting process is quark exchange.
+
+The experimental data available for multihadron production at high energies 
+show regularities in the secondary particle spectra that can be related to 
+the simple kinematic, combinatorial, and phase space rules of such quark 
+exchange and fusion mechanisms.  The CHIPS model combines these mechanisms
+consistently.
+
+\begin{figure}[tbp]
+% \centerline{\epsfig{file=hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/diagram.eps, height=2.5in, width=2.5in}}
+%\resizebox{1.00\textwidth}{!}
+%{
+\includegraphics[angle=0,scale=0.6]{hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/diagram.eps}
+%\includegraphics[angle=0,scale=0.6]{plots/diagram.eps}
+%}
+\caption{Diagram of the quark exchange mechanism. }
+\label{diagram}
+\end{figure}
+
+Fig.~\ref{diagram} shows a quark exchange diagram which helps to keep track 
+of the kinematics of the process.  It was shown in Section \ref{annil} that
+a quasmon, $Q$ is kinematically determined by a few asymptotically free 
+quark-partons homogeneously distributed over the invariant phase space.  The 
+quasmon mass $M$ is related to the number of quark-partons $N$ through
+\begin{equation}
+<M^{2}>=4N(N-1)\cdot T^{2},  \label{temperatureII}
+\end{equation}
+where $T$ is the temperature of the system.
+
+The spectrum of quark partons can be calculated as
+\begin{equation}
+\frac{dW}{k^{\ast }dk^{\ast}}\propto 
+ \left(1-\frac{2k^{\ast}}{M} \right)^{N-3},  \label{spectrum_1II}
+\end{equation}
+where $k^{\ast}$ is the energy of the primary quark-parton in the 
+center-of-mass system of the quasmon.  After the primary quark-parton 
+is randomized and the neighboring cluster, or parent cluster, $PC$, with 
+bound mass $\tilde{\mu}$\ is selected, the quark exchange process begins.
+To follow the process kinematically one should imagine a colored, compound 
+system consisting of a stationary, bound parent cluster and the primary quark.
+The primary quark has energy $k$ in the lab system,
+\begin{equation}
+k=k^{\ast }\cdot \frac{E_{N}+p_{N}\cdot \cos (\theta _{k})}{M_{N}},
+\end{equation}
+where $M_N$, $E_N$ and $p_N$ are the mass, energy, and momentum of the 
+quasmon in the lab frame.  The mass of the compound system, $CF$, is
+$\mu _{c}=\sqrt{(\tilde{\mu}+k)^{2}}$, where $\tilde{\mu}$ and $k$ are the
+corresponding four-vectors.  This colored compound system decays into a
+free outgoing nuclear fragment, $F$, with mass $\mu$ and a recoiling quark 
+with energy $q$.  $q$ is measured in the CMS of $\tilde{\mu}$, which 
+coincides with the lab frame in the present version of the model because no 
+cluster motion is considered.  At this point one should recall that a colored
+residual quasmon, $CRQ$, with mass $M_{N-1}$ remains after the radiation of
+$k$.  $CRQ$ is finally fused with the recoil quark $q$ to form the residual 
+quasmon $RQ$.  The minimum mass of $RQ$ should be greater than $M_{\min}$, 
+which is determined by the minimum mass of a hadron (or Chipolino 
+double-hadron as defined in Section \ref{annil}) with the same quark content.
+
+All quark-antiquark pairs with the same flavor should be canceled in the
+minimum mass calculations.  This imposes a restriction, which in the 
+center-of-mass system of $\mu_{c}$, can be written as
+\begin{equation}
+2q\cdot (E-p\cdot \cos \theta_{qCQ})+M_{N-1}^{2}>M_{\min }^{2},
+\label{min_mass}
+\end{equation}
+where $E$ is the energy and $p$ is the momentum of the colored residual
+quasmon with mass $M_{N-1}$ in the CMS of $\mu _{c}$.  The restriction for 
+$\cos\theta_{qCQ}$ then becomes
+\begin{equation}
+\cos \theta _{qCQ}<\frac{2qE-M_{\min }^{2}+M_{N-1}^{2}}{2qp},
+\label{cost_restriction}
+\end{equation}
+which implies
+\begin{equation}
+q>\frac{M_{N-1}^{2}-M_{\min }^{2}}{2\cdot (E+p)}.  \label{resid_rest}
+\end{equation}
+
+A second restriction comes from the nuclear Coulomb barrier for charged
+particles.  The Coulomb barrier can be calculated in the simple form:
+\begin{equation}
+E_{CB}=\frac{Z_{F}\cdot
+Z_{R}}{A_{F}^{\frac{1}{3}}+A_{R}^{\frac{1}{3}}}\ (\rm{MeV}),
+\label{CoulBar}
+\end{equation}
+where $Z_F$ and $A_F$ are the charge and atomic weight of the fragment, and 
+$Z_R$ and $A_R$ are the charge and atomic weight of the residual nucleus. 
+The obvious restriction is
+\begin{equation}
+   q<k+\tilde{\mu}-\mu -E_{CB}.  \label{cb_rest}
+\end{equation}
+
+In addition to \ref{resid_rest} and \ref{cb_rest}, the quark 
+exchange mechanism imposes restrictions which are calculated below.  The 
+spectrum of recoiling quarks is similar to the $k^{\ast}$ spectrum in the
+quasmon (\ref{spectrum_1II}):
+\begin{equation}
+  \frac{dW}{q\ dq\ d\cos \theta }\propto 
+  \left(1-\frac{2q}{\tilde{\mu}}\right)^{n-3}, \label{spectrum_2II}
+\end{equation}
+where $n$ is the number of quark-partons in the nucleon cluster.  It is 
+assumed that $n = 3 A_C$, where $A_C$ is the atomic weight of the parent 
+cluster.  The tunneling of quarks from one nucleon to another provides a
+common phase space for all quark-partons in the cluster.
+
+An additional equation follows from the mass shell condition for the
+outgoing fragment,
+\begin{equation}
+\mu ^{2}=\tilde{\mu}^{2}+2\tilde{\mu}\cdot k-2\tilde{\mu}\cdot q-2k\cdot
+q\cdot (1-\cos \theta _{kq}),  \label{hadronII}
+\end{equation}
+where $\theta _{kq}$ is the angle between quark-parton momenta in the lab 
+frame.  From this equation $q$ can be calculated as 
+\begin{equation}
+q=\frac{\tilde{\mu}\cdot (k-\Delta )}{\tilde{\mu}+k\cdot 
+(1-\cos \mathit{\theta }_{\mathit{kq}})},  \label{q-cos}
+\end{equation}
+where $\Delta $ is the covariant binding energy of the cluster 
+$\Delta =\frac{\mu ^{2}-\tilde{\mu}^{2}}{2\tilde{\mu}}$. 
+The quark exchange probability integral can be then written in the form: 
+\begin{eqnarray}
+&&P(k,\tilde{\mu},\mu )=  \nonumber \\
+&&\int \delta \left[ \mu ^{2}-\tilde{\mu}^{2}-2\tilde{\mu}\cdot k+2\tilde{\mu
+}\cdot q+2k\cdot {q}\cdot (1-\cos \theta _{kq})\right]   \nonumber \\
+&&\ \ \ \ \ \ \ \ \times \ \left( 1-\frac{2{q}}{\tilde{\mu}}\right) ^{n-3}{q}
+d{q\cdot }d\cos \theta _{kq}.
+\end{eqnarray}
+Using the $\delta$-function to perform the integration over $q$ one obtains 
+\begin{eqnarray}
+P(k,\tilde{\mu},\mu ) &=&\int \left( 1-\frac{2(k-\Delta )}{\tilde{\mu}
++k(1-\cos \theta _{\mathit{kq}})}\right) ^{n-3}  \nonumber \\
+&&\times \ \frac{\tilde{\mu}(k-\Delta )}{2[\tilde{\mu}+k(1-\cos \mathit{
+\theta }_{\mathit{kq}})]^{2}}d\mathit{\cos \theta }_{\mathit{kq}}
+\end{eqnarray}
+or 
+\begin{eqnarray}
+P(k,\tilde{\mu},\mu ) &=&\int \left( 1-\frac{2(k-\Delta )}{\tilde{\mu}
++k(1-\cos \theta _{\mathit{kq}})}\right) ^{n-3}  \nonumber \\
+&&\times \ \left( \frac{\tilde{\mu}(k-\Delta )}{\tilde{\mu}+k(1-\cos 
+\mathit{\theta }_{\mathit{kq}})}\right) ^{2}  \nonumber \\
+&&\times \ d \left( \frac{\tilde{\mu}+k(1-\cos 
+\mathit{\theta }_{\mathit{kq}})}{\tilde{\mu}(k-\Delta )}\right).
+\end{eqnarray}
+The result of the integration is 
+\begin{eqnarray}
+&&P(k,\tilde{\mu},\mu )=\frac{\tilde{\mu}}{4k(n-2)}  \nonumber \\
+&&\times \ \left[ \left( 1-\frac{2(k-\Delta )}{\tilde{\mu}+2k}\right)
+_{\rm{high}}^{n-2}-\left( 1-\frac{2(k-\Delta )}{\tilde{\mu}}\right)
+_{\rm{low}}^{n-2}%
+\right] .  \label{QUEX_Int}
+\end{eqnarray}
+For randomization it is convenient to make $z$ a random parameter 
+\begin{equation}
+z=1-\frac{2(k-\Delta )}{\tilde{\mu}+k(1-\cos 
+\theta_{\mathit{kq}})}=1-\frac{2{q}}{\tilde{\mu}}.  \label{z(q)}
+\end{equation}
+From (\ref{QUEX_Int}) one can find the high and the low limits of the
+randomization. The first limit is for $k$: $k>\Delta$. It is
+similar to the restriction for quasmon fragmentation in vacuum:
+$k^{\ast}>\frac{\mu^{2}}{2M}$. The second limit is
+$k=\frac{\mu^{2}}{2\tilde{\mu}}$, when the low limit of randomization
+becomes equal to zero. If $k<\frac{\mu^{2}}{2\tilde{\mu}}$, then
+$-1<\cos\theta_{kq}<1$\ and
+$z_{\rm{low}}=1-\frac{2(k-\Delta)}{\tilde{\mu}}$. If
+$k>\frac{\mu^{2}}{2\tilde{\mu}}$, then the range of $\cos\theta
+_{kq}$\ is $-1<\cos\theta_{kq}<\frac{\mu^{2}}{k\tilde{\mu}}-1$\ and
+$z_{\rm{low}}=0$.  This value of $z_{\rm{low}}$\ should be corrected
+using the Coulomb barrier restriction (\ref{cb_rest}), and the value of
+$z_{\rm{high}}$ should be corrected using the minimum residual quasmon
+restriction (\ref{resid_rest}). In the case of a quasmon with momentum much
+less than $k$ it is possible to impose tighter restrictions than
+(\ref{resid_rest}) because the direction of motion of the CRQ is
+opposite to $k$. So
+$\cos\theta_{qCQ}=-\cos\mathit{\theta}_{\mathit{kq}}$, and from
+(\ref{q-cos}) one can find that
+\begin{equation}
+\cos \theta_{qCQ} =1-\frac{\tilde{\mu}\cdot (k-\Delta -q)}{k\cdot q}.
+\label{cos_q}
+\end{equation}
+So in this case the equation (\ref{resid_rest})\ can be replaced by
+the more stringent one: 
+\begin{equation}
+q>\frac{M_{N-1}^{2}-M_{\min }^{2}+2\frac{p\cdot 
+\tilde{\mu}}{k}(k-\Delta )}{2\cdot (E+p+\frac{p\cdot \tilde{\mu}}{k})}.
+\end{equation}
+
+The integrated kinematical quark exchange probability (in the range
+from $z_{\rm{low}}$ to $z_{\rm{high}}$) is 
+\begin{equation}
+\frac{\tilde{\mu}}{4k(n-2)}\cdot z^{n-2},  \label{z_probabII}
+\end{equation}
+and the total kinematic probability of hadronization of the quark-parton
+with energy $k$ into a nuclear fragment with mass\ $\mu $ is 
+\begin{equation}
+\frac{\tilde{\mu}}{4k(n-2)}\cdot 
+\left( z_{\rm{high}}^{n-2}-z_{\rm{low}}^{n-2}\right).
+\label{tot_kin_probabII}
+\end{equation}
+This can be compared with the vacuum probability of the quark fusion mechanism 
+from Section \ref{annil}: 
+\begin{equation}
+\frac{M-2k}{4k(N-3)}z_{\max }^{N-3}.
+\end{equation}
+The similarity is very important, as the absolute probabilities
+define the competition between vacuum and nuclear channels.
+
+Equations (\ref{z_probabII})\ and (\ref{tot_kin_probabII})\ can be used for
+randomization of $z$: 
+\begin{equation}
+z=z_{\rm{low}}+\sqrt[n-2]{R}\cdot (z_{\rm{high}}-z_{\rm{low}}), 
+ \label{z_randomII}
+\end{equation}
+where $R$\ is a random number, uniformly distributed in the interval (0,1).
+
+Eq. (\ref{tot_kin_probabII})\ can be used to control the competition
+between different nuclear fragments and hadrons in the hadronization
+process, but in contrast to the case of ``in vacuum'' hadronization 
+it is not enough to take into account only the quark combinatorics of the 
+quasmon and the outgoing hadron. In the case of hadronization in nuclear 
+matter, different parent bound clusters should be taken into account as well.
+For example, tritium can be radiated as a result of quark exchange with a 
+bound tritium cluster or as a result of quark exchange with a bound $^3$He 
+cluster.
+
+To calculate the yield of fragments it is necessary to calculate the
+probability to find a cluster with certain proton and neutron content
+in a nucleus. One could consider any particular probability as an
+independent parameter, but in such a case the process of tuning the model
+would be difficult. We proposed the following scenario of
+clusterization. A gas of quasi-free nucleons is close to the phase
+transition to a liquid bound by strong quark exchange forces. Precursors of 
+the liquid phase are nuclear clusters, which may
+be considered as ``drops'' of the liquid phase within the nucleus. Any
+cluster can meet another nucleon and absorb it (making it bigger),
+or it can release one of the nucleons (making it smaller).  The
+first parameter $\varepsilon_{1}$\ is the percentage of quasi-free
+nucleons not involved in the clusterization process. The rest of the
+nucleons ($1-\varepsilon_{1}$) clusterize. 
+We assume that since on the periphery of the nucleus the density 
+is lower, one can consider only dibaryon clusters, and neglect 
+triple-baryon clusters.  Still we denote the number of nucleons
+clusterized in dibaryons on the periphery by the parameter
+$\varepsilon_{2}$.  In the dense part of the nucleus, strong quark
+exchange forces make clusters out of quasi-free nucleons with high
+probability.  To characterize the distribution of clusters the
+clusterization probability parameter $\omega$ was used.
+
+If the number of nucleons involved in clusterization is
+$a=(1-\varepsilon_{1}-\varepsilon _{2})\cdot A$, then the probability
+to find a cluster consisting of $\nu$\ nucleons is defined by the 
+distribution 
+\begin{equation}
+P_{\nu }\propto C_{\nu }^{a}\cdot \omega ^{\nu -1},
+\end{equation}
+where $C_{\nu }^{a}$ is the corresponding binomial coefficient. 
+The coefficient of proportionality can be found from the equation 
+\begin{equation}
+a=b\cdot \sum\limits_{\nu =1}^{a}\nu \cdot C_{\nu }^{a}\cdot \omega ^{\nu
+-1}=b\cdot a\cdot (1+\omega )^{a-1}.
+\end{equation}
+Thus, the number of clusters consisting of $\nu$\ nucleons is 
+\begin{equation}
+P_{\nu }=\frac{C_{\nu }^{a}\cdot \omega ^{\nu -1}}{(1+\omega )^{a-1}}.
+\end{equation}
+For clusters with an even number of nucleons we used only isotopically
+symmetric configurations ($\nu=2n$, $n$\ protons and $n$\ neutrons) and
+for odd clusters ($\nu =2n+1$) we used only two configurations: $n$\
+neutrons with $n+1$\ protons and $n+1$\ neutrons with $n$\ protons. This 
+restriction, which we call ``isotopic focusing'', can be considered an 
+empirical rule of the CHIPS model which helps to describe data. It is 
+applied in the case of nuclear
+clusterization (isotopically symmetric clusters) and in the case of
+hadronization in nuclear matter.  In the hadronization process the
+quasmon is shifted from the isotopic symmetric state (e.g., by capturing
+a negative pion) and transfers excess charge to the outgoing nuclear
+cluster. This tendency is symmetric with respect to the quasmon and
+the parent cluster.
+
+The temperature parameter used to calculate the number of
+quark-partons in a quasmon (see equation~\ref{temperatureII}) was chosen 
+to be $T=180$ MeV, which is the same as in Section \ref{annil}.
+
+CHIPS is mostly a model of fragmentation, conserving energy, momentum, and 
+charge. But to compare it with experimental data one needs to model also the 
+first interaction of the projectile with the
+nucleus.  For proton-antiproton annihilation this was easy, as we
+assumed that in the interaction at rest, a proton and antiproton always
+create a quasmon. In the case of pion capture the pion can be captured by
+different clusters. We assumed that the probability of capture is
+proportional to the number of nucleons in a cluster.  After the
+capture the quasmon is formed, and the CHIPS generator produces
+fragments consecutively and recursively, choosing at each step the
+quark-parton four-momentum $k$, the type of parent and outgoing fragment,
+and the four-momentum of the exchange quark-parton $q$, to produce
+a final state hadron and the new quasmon with less energy.
+
+In the CHIPS model we consider this process as a chaotic process
+with large number of degrees of freedom and do not take into account
+any final state interactions of outgoing hadrons. Nevertheless, when
+the excitation energy dissipates, and in some step the quasmon mass
+drops below the mass shell, the quark-parton mechanism of hadronization
+fails. To model the event exclusively, it becomes necessary to
+continue fragmentation at the hadron level. Such a fragmentation process
+is known as nuclear evaporation. It is modeled using the
+non-relativistic phase space approach.  In the non-relativistic case the
+phase space of nucleons can be integrated as well as in the
+ultra-relativistic case of quark-partons.
+
+The general formula for the non-relativistic phase space can be found starting
+with the phase space for two particles $\tilde{\Phi}_{2}$. It is
+proportional to the center-of-mass momentum:
+\begin{equation}
+\tilde{\Phi}_2(W_2) \propto \sqrt{W_2},  \label{F2}
+\end{equation}
+where $W_2$\ is a total kinetic energy of the two non-relativistic
+particles.  If the phase space integral is known for $n-1$\ hadrons
+then it is possible to calculate the phase space integral for $n$\
+hadrons:
+\begin{eqnarray}
+\tilde{\Phi}_{n}(W_n) &=&\int \tilde{\Phi}_{n-1}(W_{n-1}) \cdot
+\delta (W_{n}-W_{n-1}-E_{\rm{kin}})  \nonumber \\
+&&\times \sqrt{E_{\rm{kin}}}dE_{\rm{kin}} dW_{n-1}.  \label{Fn} 
+\end{eqnarray}
+Using (\ref{F2})\ and (\ref{Fn})\ one can find that 
+\begin{equation}
+\tilde{\Phi}_{n}(W_n)\propto W_{n}^{\frac{3}{2}n-\frac{5}{2}}
+\end{equation}
+and the spectrum of hadrons, defined by the phase space of residual
+$n-1$ nucleons, can be written as 
+\begin{equation}
+\frac{dN}{\sqrt{E_{\rm{kin}}}dE_{\rm{kin}}} \propto 
+\left(1-\frac{E_{\rm{kin}}}{W_{n}}\right)^{\frac{3}{2}n-4}.
+\label{evap_spectr}
+\end{equation}
+This spectrum can be randomized. The only problem is from which level one
+should measure the thermal kinetic energy when most nucleons in nuclei
+are filling nuclear levels with zero temperature. To model the evaporation
+process we used this unknown level as a parameter $U$\ of the evaporation
+process. Comparison with experimental data gives $U=1.7$ MeV. Thus, the
+total kinetic energy of $A$\ nucleons is 
+\begin{equation}
+W_{A}=U\cdot A+E_{\rm{ex}},
+\end{equation}
+where $E_{\rm{ex}}$ is the excitation energy of the nucleus.
+
+To\  be\  radiated,\ \  the nucleon\ \  should\ \  overcome\ \  the threshold 
+\begin{equation}
+U_{\rm{thresh}}=U+U_{\rm{bind}}+E_{CB},
+\end{equation}
+where $U_{\rm{bind}}$\ is the separation energy of the nucleon, and
+$E_{CB}$\ is the Coulomb barrier energy which is non-zero only for
+positive particles and can be calculated using formula
+(\ref{CoulBar}).
+
+From several experimental investigations of nuclear pion capture at 
+rest, four published results have been selected here, which
+constitute, in our opinion, a representative data set covering a wide
+range of target nuclei, types of produced hadrons and nuclear
+fragments, and their energy range. In the first publication
+\cite{MIPHI}\ the spectra of charged fragments (protons, deuterons,
+tritons, $^{3}$He, $^{4}$He) in pion capture were measured on
+17 nuclei within one experimental setup. To verify the spectra we
+compared them for a carbon target with detailed measurements of the
+spectra of charged fragments given in Ref.~\cite{Mechtersheimer}. In
+addition, we took $^{6}$Li spectra for a carbon
+target from the same paper.
+
+The neutron spectra were added from Ref.~\cite{Cernigoi} and
+Ref.~\cite{Madey}. We present data and Monte Carlo distributions as 
+the invariant phase space function
+$f=\frac{d\sigma}{pdE}$\ depending on the variable
+$k=\frac{p+E_{\rm{kin}}}{2}$\ as defined in equation~(\ref{k}).
+
+Spectra on $^{9}$Be, $^{12}$C, $^{28}$Si ($^{27}$Al for secondary
+neutrons), $^{59}$Co ($^{64}$Cu for secondary neutrons), and
+$^{181}$Ta\ are shown in Figs.~\ref{be0405}\ through~\ref{ta73108}.
+The data are well-described, including the total energy spent in the
+reaction to yield the particular type of fragments.
+
+The evaporation process for nucleons is also well-described.  It is
+exponential in $k$, and looks especially impressive for Si/Al and
+Co/Cu data, where the Coulomb barrier is low, and one can see proton
+evaporation as a continuation of the evaporation spectra from
+secondary neutrons. This way the exponential behavior of the
+evaporation process can be followed over 3 orders of
+magnitude. Clearly seen is\ the\ transition region at\ \ $k \approx
+90$\ MeV\ \ (kinetic energy $15-20$\ MeV)\ \ between the quark-level
+hadronization process and the hadron-level evaporation process. For
+light target nuclei the evaporation process becomes much less
+prominent.
+
+The $^{6}$Li spectrum on a carbon target exhibits an interesting regularity
+when plotted as a function of $k$: it practically coincides with the
+spectrum of $^{4}$He fragments, and shows exponential behavior in a
+wide range of $k$, corresponding to a few orders of magnitude in the
+invariant cross section.  To keep the figure readable, the $^{6}$Li 
+spectrum generated by CHIPS was not plotted. It coincides with the 
+$^{4}$He spectrum at $k > 200$\ MeV, and under-estimates lithium
+emission at lower energies, similarly to the $^{3}$He and tritium data.
+
+Between the region where hadron-level processes dominate and the
+kinematic limit, all hadronic spectrum slopes become similar when plotted
+as a function of $k$. In addition to this general behavior there is 
+the effect of strong proton-neutron splitting. For protons and neutrons
+it reaches almost an order of magnitude. To model such splitting in
+the CHIPS generator, the mechanism of ``isotopic focusing'' was used,
+which locally transfers the negative charge from the pion to the first
+radiated nuclear fragment.
+
+\begin{table}
+\caption{Clusterization parameters}
+\label{tab:1}
+\begin{tabular}{llllll}
+\hline\noalign{\smallskip}
+& $^{9}$Be & $^{12}$C & $^{28}$Si & $^{59}$Co & $^{181}$Ta \\
+\noalign{\smallskip}\hline\noalign{\smallskip}
+$\varepsilon_{1}$ & 0.45 & 0.40 & 0.35 & 0.33 & 0.33 \\
+$\varepsilon_{2}$ & 0.15 & 0.15 & 0.05 & 0.03 & 0.02 \\
+$\omega $ & 5.00 & 5.00 & 5.00 & 5.00 & 5.00 \\
+\noalign{\smallskip}\hline
+\end{tabular}
+\end{table}
+
+Thus, the model qualitatively describes all typical features of the
+pion capture process. The question is what can be extracted from the
+experimental data with this tool. The clusterization parameters are
+listed in Table~\ref{tab:1}. No formal fitting procedure has been
+performed. A balanced qualitative agreement with all data was used to
+tune the parameters. The difference between the $\frac{\varepsilon
+_{2}}{\varepsilon _{1}}$\ ratio and the parameter $\omega$\ (which is
+the same for all nuclei) is an indication that there is a
+phase transition between the gas phase and the liquid phase of the
+nucleus. The large value of the parameter $\omega$, determining the
+average size of a nuclear cluster, is critical in describing 
+the model spectra
+at large $k$, where the fragment spectra approach the kinematic
+limits.
+
+Using the same parameters of clusterization, the $\gamma$\ absorption 
+data \cite{Ryckbosch} on Al and Ca nuclei were compared in 
+Fig.~\ref{gam62}) to the CHIPS results. One can see that the
+spectra of secondary protons and deuterons are qualitatively described
+by the CHIPS model.
+
+\begin{figure}[tbp]
+% \centerline{\epsfig{file=hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/be0405k.eps, height=4.5in, width=4.5in}}
+%\resizebox{1.00\textwidth}{!}
+%{
+\includegraphics[angle=0,scale=0.6]{hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/be0405k.eps}
+%\includegraphics[angle=0,scale=0.6]{plots/be0405k.eps}
+%}
+\caption{\protect{Comparison of the CHIPS model results with
+experimental data on proton, neutron, and nuclear fragment production
+in the capture of negative pions on $^9$Be.
+Proton~\cite{MIPHI} and neutron~\cite{Cernigoi}\ experimental spectra
+are shown in the upper left panel by open circles and open squares,
+respectively. The model calculations are shown by the two
+corresponding solid lines. The same arrangement
+is used to present $^{3}$He~\cite{MIPHI}
+and tritium~\cite{MIPHI}
+spectra in the lower left panel. Deuterium~\cite{MIPHI} 
+and $^{4}$He~\cite{MIPHI} spectra are
+shown in the right panels of the figure by open squares
+and lines (CHIPS model). The average kinetic
+energy carried away by each nuclear fragment is shown in the panels
+by the two numbers: first is the average calculated using the
+experimental data shown; second is the model result.}}
+\label{be0405}
+\end{figure}
+
+\begin{figure}[tbp]
+% \centerline{\epsfig{file=hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/c0606k.eps, height=4.5in, width=4.5in}}
+%\resizebox{1.00\textwidth}{!}
+%{
+\includegraphics[angle=0,scale=0.6]{hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/c0606k.eps}
+%\includegraphics[angle=0,scale=0.6]{plots/c0606k.eps}
+%}
+\caption{\protect{Same as in Figure~\ref{be0405}, for 
+pion capture on $^{12}$C. The experimental neutron spectrum
+is taken from \cite{Madey}. In addition, the detailed data on
+charged particle production, including the $^{6}$Li spectrum, taken from
+Ref.~\cite{Mechtersheimer}, are superimposed on the plots as a series of
+dots.}}
+\label{c0606}
+\end{figure}
+
+\begin{figure}[tbp]
+% \centerline{\epsfig{file=hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/si1414k.eps, height=4.5in, width=4.5in}}
+%\resizebox{1.00\textwidth}{!}
+%{
+\includegraphics[angle=0,scale=0.6]{hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/si1414k.eps}
+%\includegraphics[angle=0,scale=0.6]{plots/si1414k.eps}
+%}
+\caption{\protect{Same as in Figure~\ref{be0405}, for
+pion capture on $^{28}$Si nucleus. The experimental neutron spectrum
+is taken from~\cite{Madey}, for the reaction on $^{27}$Al.}}
+\label{si1414}
+\end{figure}
+
+\begin{figure}[tbp]
+% \centerline{\epsfig{file=hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/co2732k.eps, height=4.5in, width=4.5in}}
+%\resizebox{1.00\textwidth}{!}
+%{
+\includegraphics[angle=0,scale=0.6]{hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/co2732k.eps}
+%\includegraphics[angle=0,scale=0.6]{plots/co2732k.eps}
+%}
+\caption{\protect{Same as in Figure~\ref{be0405}, for 
+pion capture on $^{59}$Co. The experimental neutron spectrum
+is taken from~\cite{Madey}, for the reaction on $^{64}$Cu.}}
+\label{co2732}
+\end{figure}
+
+\begin{figure}[tbp]
+% \centerline{\epsfig{file=hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/ta73108k.eps, height=4.5in, width=4.5in}}
+%\resizebox{1.00\textwidth}{!}
+%{
+\includegraphics[angle=0,scale=0.6]{hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/ta73108k.eps}
+%\includegraphics[angle=0,scale=0.6]{plots/ta73108k.eps}
+%}
+\caption{\protect{Same as in Figure~\ref{be0405}, for 
+pion capture on $^{181}$Ta. The experimental neutron
+spectrum is taken from~\cite{Madey}.}}
+\label{ta73108}
+\end{figure}
+
+\begin{figure}[tbp]
+% \centerline{\epsfig{file=hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/gam62.eps, height=4.5in, width=4.5in}}
+%\resizebox{0.70\textwidth}{!}
+%{
+\includegraphics[angle=0,scale=0.75]{hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/gam62.eps}
+%\includegraphics[angle=0,scale=0.75]{plots/gam62.eps}
+%}
+\caption{\protect{Comparison of CHIPS model with 
+experimental data~\cite{Ryckbosch} on
+proton and deuteron production at $90^{\circ}$ 
+in photonuclear reactions on $^{27}$Al
+and $^{40}$Ca at 59 -- 65 MeV. Open circles and solid squares represent the
+experimental proton and deuteron spectra, 
+respectively. Solid 
+and dashed lines show the results of the corresponding CHIPS model
+calculation. Statistical errors in the CHIPS results are not shown and
+can be judged by the point-to-point variations in the lines. The
+comparison is absolute, using the values of total
+photonuclear cross section 3.6 mb for Al and 5.4 mb for Ca, 
+as given in Ref.~\cite{Ahrens}.
+}}
+\label{gam62}
+\end{figure}
+
+The CHIPS model covers a wide spectrum of hadronic reactions with a
+large number of degrees of freedom. In the case of nuclear reactions 
+the CHIPS generator helps to understand phenomena such as the 
+order-of-magnitude splitting of neutron and proton spectra, the high 
+yield of energetic nuclear fragments, and the emission of nucleons 
+which kinematically can be produced only if seven or more nucleons 
+are involved in the reaction.
+
+The CHIPS generator allows the extraction of collective parameters of 
+a nucleus such as clusterization. The qualitative conclusion based on 
+the fit to the experimental data is that most of the nucleons are 
+clusterized, at least in heavy nuclei.  The nuclear clusters can be 
+considered as drops of a liquid nuclear phase. The quark exchange 
+makes the phase space of quark-partons of each cluster common, 
+stretching the kinematic limits for particle production.
+
+The hypothetical quark exchange process is important not only for
+nuclear clusterization, but also for the nuclear hadronization 
+process.  The quark exchange between the excited cluster (quasmon) 
+and a neighboring nuclear cluster, even at low excitation level, 
+operates with quark-partons at energies comparable with the nucleon 
+mass. As a result it easily reaches the kinematic limits of the 
+reaction, revealing the multi-nucleon nature of the process.
+
+Up to now the most under-developed part of the model has been the 
+initial interaction between projectile and target. That is why we 
+started with proton-antiproton annihilation and pion capture on 
+nuclei at rest, because the interaction cross section is not involved. 
+The further development of the model will require a better 
+understanding of the mechanism of the first interaction.  However, 
+we believe that even the basic model will be useful in the 
+understanding the nature of multi-hadron fragmentation.  Because 
+of the model's features, it is a suitable candidate for the hadron 
+production and hadron cascade parts of the newly developed event 
+generation and detector simulation Monte Carlo computer codes.
+
+\section{Modeling of real and virtual photon
+  interactions with nuclei below pion production threshold.}
+
+In the example of
+the photonuclear reaction discussed in the Appendix D, namely
+the description of $90^{\circ}$ proton and deuteron spectra in
+$A({\gamma},X)$ reactions at $E_{\gamma} = 59-65$ MeV, the assumption
+on the initial Quasmon excitation mechanism was the same. The
+description of the $90^{\circ}$ data was satisfactory, but the
+generated data showed very little angular dependence, because the 
+velocity of the quasmons produced in the initial state was small, 
+and the fragmentation process was almost isotropic.  Experimentally, 
+the angular dependence of secondary protons in photo-nuclear reactions 
+is quite strong even at low energies (see, for example,
+Ref.~\cite{Ryckebusch}). This is a challenging experimental fact which
+is difficult to explain in any model. It's enough to say that if the
+angular dependence of secondary protons in the $\gamma ^{40}$Ca
+interaction at 60 MeV is analyzed in terms of relativistic boost, then
+the velocity of the source should reach $0.33 c$; hence the mass
+of the source should be less than pion mass. The main point of this 
+discussion is to show that the quark-exchange mechanism used in the
+CHIPS model can not only model the clusterization of nucleons in nuclei
+and hadronization of intranuclear excitations into nuclear fragments, 
+but it can also model complicated mechanisms of the interaction of 
+photons and hadrons in nuclear matter.
+
+In Ref. Appendix D a quark-exchange diagram was defined which
+helps to keep track of the kinematics of the quark-exchange process
+(see Fig.~1 in Apendix D). To apply the same diagram to
+the first interaction of a photon with a nucleus, it is necessary to
+assume that the quark-exchange process takes place in nuclei
+continuously, even
+without any external interaction. Nucleons with high momenta do not
+leave the nucleus because of the lack of excess energy. The
+hypothesis of the CHIPS model is that the quark-exchange forces
+between nucleons \cite{NN QEX}\ continuously create clusters in normal
+nuclei. Since a low-energy photon (below the pion production threshold)
+cannot be absorbed by a free nucleon, other absorption mechanisms
+involving more than one nucleon have to be used.
+
+The simplest scenario is photon absorption by a quark-parton in
+the nucleon. At low energies and in vacuum this does not work because 
+there is no corresponding excited baryonic state. But in nuclear matter
+it is possible to exchange this quark with a neighboring nucleon
+or a nuclear cluster. The diagram for the process is shown in
+Fig.~\ref{diagram1}. In this case the photon is absorbed by a
+quark-parton from the parent cluster $\rm{PC}_1$, and then 
+the secondary nucleon or cluster $\rm{PC}_2$
+absorbs the entire momentum of the quark and photon. The exchange
+quark-parton $q$ restores the balance of color, producing the 
+final-state hadron F and the residual Quasmon RQ. The process looks like a 
+knockout of a quasi-free nucleon or cluster out of the nucleus. It should be
+emphasized that in this scenario the CHIPS event generator
+produces not only ``quasi-free'' nucleons but ``quasi-free'' fragments
+as well. The yield of these quasi-free nucleons or fragments is
+concentrated in the forward direction.
+
+The second scenario which provides for an angular dependence is the absorption
+of the photon by a colored fragment ($\rm{CF}_2$ 
+in Fig.~\ref{diagram2}). In this
+scenario, both the primary quark-parton with momentum $k$ and the photon
+with momentum $q_{\gamma}$ are absorbed by a parent cluster ($\rm{PC}_2$ in
+Fig.~\ref{diagram2}), and the recoil quark-parton with momentum $q$
+cannot fully compensate the momentum $k+q_{\gamma}$. 
+As a result the radiation of the
+secondary fragment in the forward direction becomes more probable.
+
+In both cases the angular dependence is defined by the first act of
+hadronization. Further fragmentation of the residual quasmon is
+almost isotropic.
+
+\begin{figure}[tbp]
+% \centerline{\epsfig{file=hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/diagram1.eps, height=2.5in, width=2.5in}}
+%\resizebox{0.70\textwidth}{!}
+%{
+\includegraphics[angle=0,scale=0.6]{hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/diagram1.eps}
+%\includegraphics[angle=0,scale=0.6]{plots/diagram1.eps}
+%}
+\caption{\protect{Diagram of photon absorption in the quark
+exchange mechanism. $\rm{PC}_{1,2}$ stand for parent clusters 
+with bound masses
+$\tilde{\mu}_{1,2}$, participating in the quark-exchange. $\rm{CF}_{1,2}$
+stand for the colored nuclear fragments in the process of quark
+exchange. F($\mu$) denotes the outgoing hadron with mass $\mu$ in the
+final state. RQ is the residual Quasmon which carries the rest of the 
+excitation energy and momentum. $M_{\min}$ characterizes 
+its minimum mass defined by its quark content. Dashed lines indicate
+colored objects. The photon is absorbed by a
+quark-parton $k$ from the parent cluster $\rm{PC}_1$.
+}}
+\label{diagram1}
+\end{figure}
+
+\begin{figure}[tbp]
+%  \centerline{\epsfig{file=hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/diagram2.eps, height=2.5in, width=2.5in}}
+%\resizebox{0.70\textwidth}{!}
+%{
+\includegraphics[angle=0,scale=0.6]{hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/diagram2.eps}
+%\includegraphics[angle=0,scale=0.6]{plots/diagram2.eps}
+%}
+\caption{\protect{Diagram of photon absorption in the 
+quark-exchange mechanism. The notation is the same as in
+Fig.~\ref{diagram1}. The photon is absorbed by the colored fragment
+$\rm{CF}_2$.
+}}
+\label{diagram2}
+\end{figure}
+
+It was shown in Section \ref{annil} that the energy spectrum of quark
+partons in a quasmon can be calculated as
+\begin{equation}
+\frac{dW}{k^{\ast }dk^{\ast }}\propto 
+\left(1-\frac{2k^{\ast }}{M} \right)^{N-3},  \label{spectrum_1III}
+\end{equation}
+where $k^{\ast }$ is the energy of the primary quark-parton in the 
+center-of-mass system of the quasmon, $M$\ is the mass of the quasmon. 
+The number $N$ of quark-partons in the quasmon can be calculated 
+from the equation
+\begin{equation}
+<M^{2}>=4\cdot N\cdot (N-1)\cdot T^{2}.  \label{temperatureIII}
+\end{equation}
+Here $T$ is the temperature of the system.
+
+In the first scenario of the $\gamma A$ interaction
+(Fig.~\ref{diagram1}), because both interacting particles are massless,
+we assumed that the cross section for the interaction of a photon with 
+a particular quark-parton is proportional to the charge of the 
+quark-parton squared, and inversely proportional to the mass of the 
+photon-parton system $s$, which can be calculated as
+\begin{equation}
+s=2\omega k(1-\cos (\theta _{k})).  \label{s}
+\end{equation}
+Here $\omega $\ is the energy of the photon, and $k$ is the energy of
+the quark-parton in the laboratory system (LS):
+\begin{equation}
+k=k^{\ast }\cdot \frac{E_{N}+p_{N}\cdot \cos (\theta _{k})}{M_{N}}.
+\end{equation}
+For a virtual photon, equation~(\ref{s}) can be written as
+\begin{equation}
+s=2k(\omega -q_{\gamma}\cdot \cos (\theta _{k})),
+\end{equation}
+where $q_{\gamma}$ is the momentum of the virtual photon. In both cases 
+equation~(\ref{spectrum_1III}) transforms into
+\begin{equation}
+\frac{dW}{dk^{\ast }}\propto \left(1-\frac{2k^{\ast }}{M} \right)^{N-3},
+\end{equation}
+and the angular distribution in $\cos (\theta _{k})$\ converges to a
+$\delta $-function. In the case of a real photon 
+$\cos (\theta _{k})=1$, and in the case of a virtual photon 
+$\cos (\theta _{k})=\frac{\omega }{q_{\gamma}}$.
+
+In the second scenario for the photon interaction 
+(Fig.~\ref{diagram2}) we assumed that both the photon and the primary 
+quark-parton, randomized according to 
+Eq.~(\ref{spectrum_1III}), enter the parent cluster $\rm{PC}_2$,
+and after that the normal procedure of quark exchange
+continues, in which the recoiling quark-parton $q$ returns 
+to the first cluster.
+
+An additional parameter in the model is the relative contribution of
+both mechanisms. As a first approximation we assumed equal
+probability, but in the future, when more detailed data are obtained,
+this parameter can be adjusted.
+
+\begin{figure}[tbp]
+% \centerline{\epsfig{file=hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/gam62.eps, height=4.5in, width=4.5in}}
+%\resizebox{0.80\textwidth}{!}
+%{
+\includegraphics[angle=0,scale=0.75]{hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/gam62.eps}
+%\includegraphics[angle=0,scale=0.75]{plots/gam62.eps}
+%}
+\caption{\protect{Comparison of the CHIPS model results (lines) with the 
+experimental data~\cite{Ryckbosch} on proton spectra at $90^{\circ}$ 
+in the photonuclear reactions on $^{40}$Ca at 59--65 MeV (open
+circles),
+and proton spectra at $60^{\circ}$ (triangles) and $150^{\circ}$ 
+(diamonds).
+Statistical errors in the CHIPS results are not shown but
+can be judged by the point-to-point variations in the lines. The
+comparison is absolute, using the value of the total
+photonuclear cross section of 5.4 mb for Ca, as given in Ref.~\cite{Ahrens}.
+} }
+\label{gam62III}
+\end{figure}
+
+\begin{figure}[tbp]
+% \centerline{\epsfig{file=hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/gamm_c0606_e123.eps, height=4.5in, width=4.5in}}
+%\resizebox{0.80\textwidth}{!}
+%{
+\includegraphics[angle=0,scale=0.75]{hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/gamm_c0606_e123.eps}
+%\includegraphics[angle=0,scale=0.75]{plots/gamm_c0606_e123.eps}
+%}
+\caption{\protect{Comparison of the CHIPS model results (lines) with the 
+experimental data~\cite{Harty} on
+proton spectra at $57^{\circ}$, $77^{\circ}$, $97^{\circ}$, 
+$117^{\circ}$, and $127^{\circ}$
+in the photonuclear reactions on $^{12}$C at 123 MeV (open
+circles).  The value of the total photonuclear cross section was set to 1.8 mb.
+}  }
+\label{gam_123}
+\end{figure}
+
+\begin{figure}[tbp]
+% \centerline{\epsfig{file=hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/gamm_c0606_e151.eps, height=4.5in, width=4.5in}}
+%\resizebox{0.80\textwidth}{!}
+%{
+\includegraphics[angle=0,scale=0.75]{hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/gamm_c0606_e151.eps}
+%\includegraphics[angle=0,scale=0.75]{plots/gamm_c0606_e151.eps}
+%}
+\caption{\protect{Same as in Fig.~\ref{gam_123}, for the photon	energy 151 MeV.}
+}
+\label{gam_151}
+\end{figure}
+
+\begin{figure}[tbp]
+% \centerline{\epsfig{file=hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/vgam_c0606k.eps, height=4.5in, width=4.5in}}
+%\resizebox{0.80\textwidth}{!}
+%{
+\includegraphics[angle=0,scale=0.75]{hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/vgam_c0606k.eps}
+%\includegraphics[angle=0,scale=0.75]{plots/vgam_c0606k.eps}
+%}
+\caption{\protect{Comparison of the CHIPS model results (line) with 
+the experimental data~\cite{Bates} (open circles) on the
+proton spectrum measured in parallel kinematics in the
+$^{12}$C(e,e$^{\prime}$p)\ reaction at an energy transfer equal to 210
+MeV and momentum transfer equal to 585 MeV/$c$.  Statistical errors in
+the CHIPS result are not shown but can be judged by the point-to-point
+variations in the line.  The relative normalization is arbitrary.
+}  }
+\label{vgam}
+\end{figure}
+
+We begin the comparison with the data on proton production in the 
+$^{40}$Ca$(\gamma,X)$\ reaction at $90^{\circ}$\ and 59--65 MeV
+\cite{Ryckbosch}, and at $60^{\circ}$\ and $150^{\circ}$\ and 60 MeV
+\cite{Abeele}.  We analyzed these data together to compare the angular
+dependence generated by CHIPS with experimental data. The data are
+presented as a function of the invariant inclusive cross section 
+$f=\frac{d\sigma }{p_{p}dE_{p}}$\ depending on the variable 
+$k=\frac{T_{p}+p_{p}}{2}$, 
+where $T_{p}$\ and $p_{p}$\ are the kinetic energy and momentum of the
+secondary proton. As one can see from Fig.~\ref{gam62III}, the angular
+dependence of the proton yield in photoproduction on $^{40}$Ca at 
+$60$ MeV is reproduced quite well by the CHIPS event generator.
+
+The second set of measurements that we use for the benchmark
+comparison deals with the secondary proton yields in
+$^{12}$C$(\gamma,X)$ reactions at 123 and 151 MeV \cite{Harty}, 
+which is still below the pion production threshold on
+a free nucleon. Inclusive spectra of protons have been measured in 
+$\gamma ^{12}$C reactions at $57^{\circ}$, $77^{\circ}$, $97^{\circ}$, 
+$117^{\circ}$, and $127^{\circ}$. 
+Originally, these data were presented as a function of 
+the missing energy. We present the data in Figs.~\ref{gam_123} 
+and \ref{gam_151} together with CHIPS calculations in
+the form of the invariant inclusive cross section dependent on $k$. 
+All parameters of the model such as temperature $T$ and parameters
+of clusterization for the particular nucleus were the same as in 
+Appendix D, where pion capture spectra were fitted.
+The agreement between the experimental data and the CHIPS model results 
+is quite remarkable. Both data and calculations show significant strength
+in the proton yield cross section up to the kinematic limits of the
+reaction. The angular distribution in the model is not as prominent as
+in the experimental data, but agrees well qualitatively.
+
+Using the same parameters, we applied the CHIPS event generator to the
+$^{12}$C(e,e$^{\prime }$p) reaction measured in Ref.\cite{Bates}. The
+proton spectra were measured in parallel kinematics in the interaction
+of virtual photons with energy $\omega = 210$ MeV and momentum
+$q_{\gamma} = 585$ MeV/$c$. To account for the experimental conditions
+in the CHIPS event generator, we have selected protons generated in
+the forward direction with respect to the direction of the virtual
+photon, with the relative angle $\Theta_{qp} < 6^{\circ}$.  The CHIPS
+generated distribution and the experimental data are shown in
+Fig.~\ref{vgam} in the form of the invariant inclusive cross section as a
+function of $k$.  The CHIPS event generator works only with ground
+states of nuclei so we did not expect any narrow peaks for
+$^{1}p_{3/2}$-shell knockout or for other shells. Nevertheless we
+found that the CHIPS event generator fills in the so-called
+``$^{1}s_{1/2}$-shell knockout'' region, which is usually artificially
+smeared by a Lorentzian~\cite{Lorentzian}.  In the regular
+fragmentation scenario the spectrum of protons below $k = 300$ MeV is
+normal; it falls down to the kinematic limit. The additional yield at
+$k > 300$ MeV is a reflection of the specific first act of
+hadronization with the quark exchange kinematics. The slope increase
+with momentum is approximated well by the model, but it is obvious
+that the yield close to the kinematic limit of the $2 \rightarrow 2$
+reaction can only be described in detail if the excited states of the
+residual nucleus are taken into account.
+
+The angular dependence of the proton yield in low-energy photo-nuclear
+reactions is described in the CHIPS model and event generator. The
+most important assumption in the description is the hypothesis of a
+direct interaction of the photon with an asymptotically free quark in
+the nucleus, even at low energies. This means that asymptotic freedom of
+QCD and dispersion sum rules~\cite{sum_rules} can in some way be
+generalized for low energies.  The knockout of a proton from a nuclear
+shell or the homogeneous distributions of nuclear evaporation cannot
+explain significant angular dependences at low energies.
+
+The same mechanism appears to be capable of modeling proton yields in
+such reactions as the $^{16}$C(e,e$^{\prime }$p) reaction measured at MIT
+Bates \cite{Bates}, where it was shown that the region of missing
+energy above 50 MeV reflects ``two-or-more-particle knockout'' (or the
+``continuum'' in terms of the shell model). The CHIPS model may help
+to understand and model such phenomena.
+
+\section{Chiral invariant phase-space decay in high energy hadron nuclear
+reactions}
+
+\noindent \qquad Chiral invariant phase-space decay can be used to
+de-excite an excited hadronic system. This possibility can be exploited
+to replace the intra-nuclear cascading after a high energy primary
+interaction takes place. The basic assumption in this is that the energy
+loss of the high energy hadron in nuclear matter is approximately 
+constant per unit path length (about 1 GeV/fm). This energy is extracted 
+from the soft part of the particle spectrum of the primary interaction, 
+and from particles with formation times that place them within the 
+nuclear boundaries.
+
+Several approaches of transfering this energy into quasmons were studied, 
+and comparisons with energy spectra of particles emitted in the backward 
+hemisphere were made for a range of materials. Best results were achieved 
+with a model that creates one quasmon per particle absorbed in the nucleus.
+
+
+\section{Neutrino-nuclear interactions}
+\label{numunuc}
+
+The simulation of DIS reactions includes reactions with high $Q^2$. The 
+first approximation of the $Q^2$-dependent photonuclear cross-sections 
+at high $Q^2$ was made in \cite{photNuc}, where the modified photonuclear 
+cross sections of virtual photons \cite{Electronuc} were used.  The 
+structure functions of protons and deuterons have been approximated in 
+CHIPS by the sum of
+non-perturbative multiperipheral and non-perturbative direct
+interactions of virtual photons with hadronic partons:
+\begin{figure}[tbp]
+% \centerline{\epsfig{file=hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/vgam_c0606k.eps, height=4.5in, width=4.5in}}
+%\resizebox{0.80\textwidth}{!}
+%{
+\includegraphics[angle=0,scale=0.60]{hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/gabsa.eps}
+%\includegraphics[angle=0,scale=0.60]{plots/gabsa.eps}
+%}
+\caption{
+Fit of $\gamma A$ cross sections with different $H$ values. Data are
+from \cite{photNuc}.
+}
+\label{gamC}
+\end{figure}
+\begin{equation}
+F_2(x,Q^2)=[A(Q^2)\cdot x^{-\Delta(Q^2)}+B(Q^2)\cdot
+x]\cdot(1-x)^{N(Q^2)-2},
+\label{DIS}
+\end{equation}
+where $A(Q^2)=\bar{e^2_S}\cdot D\cdot U$, $B(Q^2)=\bar{e^2_V}\cdot(1-D)\cdot V$,
+$\bar{e^2}_{V(p)}=\frac{1}{3}$, $\bar{e^2}_{V(d)}=\frac{5}{18}$,
+$\bar{e^2_S}=\frac{1}{3}-\frac{\frac{1}{3}-\frac{5}{18}}{1+m^2_\phi/Q^2}
++\frac{\frac{1}{3}-\frac{5}{18}}{1+m^2_{J/\psi}/Q^2}-
+\frac{\frac{1}{3}-\frac{19}{63}}{1+m^2_{\Upsilon}/Q^2}$,
+$N=3+\frac{0.5}{\alpha_s(Q^2)}$,
+$\alpha_s(Q^2)=\frac{4\pi}{\beta_0 ln(1+\frac{Q^2}{\Lambda^2})}$,
+$\beta_0^{(n_f=3)}=9$, $\Lambda=200~MeV$,
+$U=\frac{(3~C(Q^2)+N-3)\cdot\Gamma(N-\Delta)}
+{N\cdot\Gamma(N-1)\cdot\Gamma(1-\Delta)}$, $V=3(N-1)$,
+$D(Q^2)=H\cdot	S(Q^2)\left(1-\frac{1}{2}S(Q^2)\frac{\bar{e^2_V}}{\bar{e^2_S}}
+\right)$,
+$S={\left(1+\frac{m^2_\rho}{Q^2}\right)^{-\alpha_P(Q^2)}}$,
+$\alpha_P=1+\Delta(Q^2)$, $\Delta=\frac{1+r}{12.5+2r}$,
+$r=\left(\frac{Q^2}{1.66}\right)^{1/2}$, $C=\frac{1+f}{g\cdot (1+f/.24)}$,
+$f=\left(\frac{Q^2}{0.08}\right)^2$, $g=1+\frac{Q^2}{21.6}$.
+The parton distributions are normalized to the unit total momentum
+fraction.
+
+\begin{figure}[tbp]
+% \centerline{\epsfig{file=hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/vgam_c0606k.eps, height=4.5in, width=4.5in}}
+%\resizebox{0.80\textwidth}{!}
+%{
+\includegraphics[angle=0,scale=0.60]{hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/f23nud.eps}
+%\includegraphics[angle=0,scale=0.60]{plots/f23nud.eps}
+%}
+\caption{
+  Fit of $f_{2d}(x,Q^2)$ (filled circles, solid	lines) and
+  $f_{3d}(x,Q^2)$ (open circles, dashed lines) structure functions
+  measured by the WA25 experiment \cite{WA25}.
+}
+\label{nuD}
+\end{figure}
+
+The photonuclear cross sections are calculated by the eikonal formula:
+\begin{equation}
+\sigma_\gamma^{tot}=\left[\frac{4\pi\alpha}{Q^2}F_2\left(\frac{Q^2}
+{2M\nu},Q^2\right)\right]^{\nu=E}_{Q^2=0},
+\label{eikonal}
+\end{equation}
+An example of the approximation is shown in Fig.~\ref{gamC}. One can
+see that the hadronic resonances are ``melted'' in nuclear matter and
+the multi-peripheral part of the cross section (high energy) is 
+shadowed.
+
+The differential cross section of the $(\nu,\mu)$ reaction was
+approximated as
+\begin{equation}
+\frac{yd^2\sigma^{\nu,\bar\nu}}{dydQ^2}=\frac{G^2_F\cdot	M^4_W}{4\pi\cdot
+(Q^2+M^2_W)^2}\left[c_1(y)\cdot f_2(x,Q^2)\pm c_2(y)\cdot xf_3(x,Q^2)\right],
+\label{difsec}
+\end{equation}
+where $c_1(y)=2-2y+\frac{y^2}{1+R}$, $R=\frac{\sigma_L}{\sigma_T}$,
+$c_2(y)=y(2-y)$. As $\bar{e^2_V}=\bar{e^2_S}=1$ in
+Eq.\ref{DIS}, hence $f_2(x,Q^2)=\left[D\cdot U\cdot
+x^{-\Delta}+(1-D)\cdot V\cdot x\right]\cdot(1-x)^{N-2}$,
+$xf_3(x,Q^2)=\left[ D\cdot U_{f3}\cdot x^{-\Delta}
++(1-D)\cdot V\cdot x\right]\cdot(1-x)^{N-2}$, with
+$D=H\cdot S(Q^2)\cdot\left(1-\frac{1}{2}S(Q^2)\right)$ and
+$U_{f3}=\frac{3\cdot	C(Q^2)\cdot\Gamma(N-\Delta)}
+{N\cdot\Gamma(N-1)\Gamma(1-\Delta)}$. The approximation is compared
+with data in Fig.\ref{nuD} for deuterium \cite{WA25} and in
+Fig.\ref{nuFe} for iron \cite{CDHSW,CCFR}. It must be emphasized
+that the CHIPS parton distributions are the same as for
+electromagnetic reactions.
+
+\begin{figure}[tbp]
+% \centerline{\epsfig{file=hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/vgam_c0606k.eps, height=4.5in, width=4.5in}}
+%\resizebox{0.80\textwidth}{!}
+%{
+\includegraphics[angle=0,scale=0.6]{hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/f23nufe.eps}
+%\includegraphics[angle=0,scale=0.6]{plots/f23nufe.eps}
+%}
+\caption{
+  Fit of $f_{2Fe}(x,Q^2)$ (filled markers, solid lines) and
+  $f_{3Fe}(x,Q^2)$ (open markers, dashed lines) structure functions
+  measured by the CDHSW \cite{CDHSW} (circles) and CCFR \cite{CCFR}
+  (squares) experiments.
+}
+\label{nuFe}
+\end{figure}
+
+For the $(\nu,\mu)$ amplitudes one can not apply the optical theorem, 
+To calculate the total cross sections, it is therefore necessary to 
+integrate the differential cross sections first over $x$ and then over 
+$Q^2$. For the $(\nu,\mu)$ reactions the differential cross section 
+can be integrated with good accuracy even for low energies because it 
+does not have the $\frac{1}{Q^4}$ factor of the boson propagator. The 
+quasi-elastic part of the total cross-section can be calculated for 
+$W<m_N+m_\pi$. The total $(\nu,\mu)$ cross-sections are shown in
+Fig.\ref{totqe}(a,b). The dashed curve corresponds to the GRV \cite{GRV}
+approximation of parton distributions and the dash-dotted curves
+correspond to the KMRS \cite{KMRS} approximation. Neither approximation
+fits low energies, because the perturbative calculations
+give parton distributions only for $Q^2 > 1~GeV^2$. In \cite{Comby} an
+attempt was made to freeze the DIS parton distributions at $Q^2=1$ and
+to use them at low $Q^2$. The $W<1.4~GeV$ part of DIS was replaced by
+the quasi-elastic and one pion production contributions, calculated on
+the basis of the low energy models. The results of \cite{Comby} are
+shown by the dotted lines. The nonperturbative CHIPS approximation
+(solid curves) fits both total and quasi-elastic cross sections even at 
+low energies.
+
+\begin{figure}[tbp]
+% \centerline{\epsfig{file=hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/vgam_c0606k.eps, height=4.5in, width=4.5in}}
+%\resizebox{0.80\textwidth}{!}
+%{
+\includegraphics[angle=0,scale=0.60]{hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/numu_cs.eps}
+%\includegraphics[angle=0,scale=0.60]{plots/numu_cs.eps}
+%}
+\caption{
+ Fit of total (a,b) and quasi-elastic (c,d) cross-sections of
+ $(\nu,\mu)$ reactions (Geant4 database). The solid line
+ is the CHIPS approximation (for other lines see text).
+}
+\label{totqe}
+\end{figure}
+
+The quasi-elastic $(\nu,\mu)$ cross sections are shown in
+Fig.\ref{totqe}(c,d). The CHIPS approximation (solid line) is compared 
+with calculations made in \cite{Comby} (the dotted line) and the best 
+fit of the $V-A$ theory was made in \cite{VMA} (the dashed lines). One 
+can see that CHIPS gives reasonable agreement.
+
+The $Q^2$ spectra for each energy are known as an intermediate result
+of the calculation of total or quasi-elastic cross sections. For the
+quasi-elastic interactions ($W<m_N+m_\pi$) one can use $x=1$ and
+simulate a binary reaction. In the final state the recoil nucleon has
+some probability of interacting with the nucleus. If $W>m_N+m_\pi$ the
+$Q^2$ value is randomized and therefore the $Q^2$ dependent
+coefficients (the number of partons in non-perturbative phase space
+$N$, the Pomeron intercept $\alpha_P$, the fraction of the direct
+interactions, etc.) can be calculated. Then for fixed energy and 
+$Q^2$ the neutrino interaction with quark-partons (directly or through 
+the Pomeron ladder) can be randomized and the secondary parton
+distribution can be calculated. In vacuum or in nuclear matter the
+secondary partons are creating quasmons \cite{CHIPS1,CHIPS2} which
+decay to secondary hadrons.
+
+\section{Conclusion.}
+
+\noindent \qquad For users who would like to improve the
+interaction part of the CHIPS event generator for their own
+specific reactions, some advice concerning data presentation 
+is useful.
+
+It is a good idea to use a normalized invariant function $\rho (k)$%
+\[
+\rho =\frac{2E\cdot d^{3}\sigma }{\sigma _{tot}\cdot d^{3}p}\propto \frac{%
+d\sigma }{\sigma _{tot}\cdot pdE}, 
+\]
+where $\sigma _{tot}$\ is the total cross section of the reaction.
+The simple rule, then, is to divide the distribution over the hadron 
+energy $E$ by the momentum and by the reaction cross section. The argument 
+$k$ can be calculated for any outgoing hadron or fragment as 
+\[
+k=\frac{E+p-B\cdot m_{N}}{2}, 
+\]
+which is the energy of the primary quark-parton. Because the spectrum 
+of the quark-partons is universal for all the secondary hadrons or
+fragments, the distributions over this parameter have a similar shape 
+for all the secondaries. They should differ only when the kinematic 
+limits are approached or in the evaporation region. This feature is 
+useful for any analysis of experimental data, independent of the CHIPS 
+model.
+
+% The released version of the CHIPS event generator is not perfect yet, 
+% so in case of an error it is necessary to distinguish between the error 
+% of the test program ({\bf CHIPStest.cc}) and the error in the body of 
+% the generator.  Usually the error printing contains the address of the 
+% routine, but sometimes the name is abbreviated so that instead of 
+% {\bf G4QEnvironment}, {\bf G4Quasmon}, or {\bf G4QNucleus}, one will 
+% find {\bf G4QE}, {\bf G4Q}, or {\bf G4QN}. The errors in
+% {\bf CHIPStest.cc} can be easily analyzed. Even if sometimes energy or
+% charge is not conserved, this check can be excluded in order to keep 
+% going. On the other hand, if the error is in the body it is difficult 
+% to fix. The normal procedure is to uncomment the flags of the debugging 
+% prints in the corresponding part of the source code and try to find out 
+% the reason. Anyway inform authors about the error. Do not forget to attach the
+% {\bf CHIPStest.cc} and the {\bf chipstest.in} files.
+
+Some concluding remarks should be made about the parameters of the model. 
+The main parameter, the critical temperature T$_{c}$, should not be varied.
+A large set of data confirms the value {\bf 180 MeV} while from the mass 
+spectrum of hadrons it can be found more precisely as 182 MeV. The 
+clusterization parameter is {\bf 4.} which is just about 4$\pi /3.$
+If the quark exchange starts at the mean distance between baryons in the
+dense part of the nucleus, then the radius of the clusterization sphere is
+twice the ''the radius of the space occupied by the baryon''.
+It gives 8 for the parameter, but the space occupied by the baryon can not
+be spherical; only cubic subdivision of space is possible so the factor 
+$\pi/6 $ appears. But this is a rough estimate, so {\bf 4} or even {\bf 5} 
+can be tried.  The surface parameter $fD$ varies slightly with $A$,
+growing from 0 to 0.04. For the present CHIPS version the recommended
+parameters for low energies are:
+
+\begin{tabular}{llllllllll}
+{\bf A} & {\bf T} & {\bf s/u} & {\bf eta} & {\bf noP} & {\bf fN} & {\bf fD}
+& {\bf Cp} & {\bf rM} & {\bf sA} \\ 
+{\bf Li} & 180. & 0.1 & 0.3 & 223 & .4 & .00 & 4. & 1.0 & 0.4 \\ 
+{\bf Be} & 180. & 0.1 & 0.3 & 223 & .4 & .00 & 4. & 1.0 & 0.4 \\ 
+{\bf  C} & 180. & 0.1 & 0.3 & 223 & .4 & .00 & 4. & 1.0 & 0.4 \\ 
+{\bf  O} & 180. & 0.1 & 0.3 & 223 & .4 & .02 & 4. & 1.0 & 0.4 \\ 
+{\bf  F} & 180. & 0.1 & 0.3 & 223 & .4 & .03 & 4. & 1.0 & 0.4 \\ 
+{\bf Al} & 180. & 0.1 & 0.3 & 223 & .4 & .04 & 4. & 1.0 & 0.4 \\ 
+{\bf Ca} & 180. & 0.1 & 0.3 & 223 & .4 & .04 & 4. & 1.0 & 0.4 \\ 
+{\bf Cu} & 180. & 0.1 & 0.3 & 223 & .4 & .04 & 4. & 1.0 & 0.4 \\ 
+{\bf Ta} & 180. & 0.1 & 0.3 & 223 & .4 & .04 & 4. & 1.0 & 0.4 \\ 
+{\bf  U} & 180. & 0.1 & 0.3 & 223 & .4 & .04 & 4. & 1.0 & 0.4
+\end{tabular}
+
+The vacuum hadronization weight parameter can be bigger for light
+nuclei and smaller for heavy nuclei, but $1.0$ is a good guess. The 
+s/u parameter is not yet tuned, as it demands strange particle 
+production data. A guess is that if there are as many $u\bar{u}$ 
+and $d\bar{d}$ pairs in the reaction as in the $p\bar{p}$ 
+interaction, the parameter can be 0.1. In other cases it is closer 
+to 0.3 as in other event generators. But it is bestnot to touch any 
+parameters for the first experience with the CHIPS event generator.
+Only the incident momentum, the PDG code of the projectile, and the 
+CHIPS style PDG code of the target need be changed.
+
+
+\section{Status of this document}
+
+02.12.05 neutrino interactions section and figures added by M.V. Kossov \\
+26.04.03 first four sections re-written by D.H. Wright \\
+01.01.01 created by M.V. Kossov and H.P. Wellisch \\
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%****************************
+
+\begin{latexonly}
+
+\begin{thebibliography}{}
+
+% \bibitem{STAND_ALONE}  \noindent M. V. Kossov, Manual for the CHIPS
+% event generator,High Energy Accelerator Research Organization (KEK)
+% Internal 2000-17, February 2001, H/R
+
+\bibitem{Parton_Models} B. Andersson, G. Gustafson, G. Ingelman,
+T. Sj\"{o}strand, Phys. Rep. {\textbf{97}} (1983) 31
+
+\bibitem{CHIPS1}  \noindent P. V. Degtyarenko, M. V. Kossov, and H.P.
+Wellisch, Chiral invariant phase space event generator, I.
+Nucleon-antinucleon annihilation at rest, Eur. Phys. J. A 8 (2000) 217.
+
+\bibitem{CHIPS2}  P. V. Degtyarenko, M. V. Kossov, and H. P. Wellisch,
+Chiral invariant phase space event generator, II.Nuclear pion capture at
+rest, Eur. Phys. J. A 9 (2000) 411.
+
+\bibitem{CHIPS3}  P. V. Degtyarenko, M. V. Kossov, and H. P. Wellisch,
+Chiral invariant phase space event generator, III Photonuclear reactions
+below $\Delta $(3,3) excitation, Eur. Phys. J. A 9, (2000) 421.
+
+\bibitem{hadronMasses}  M. V. Kossov, Chiral invariant phase space
+		model, I Masses of hadrons, Eur. Phys. J. A 14 (2002) 265.
+
+\bibitem{Chiral_Bag} C.A.Z. Vasconcellos et al., Eur. Phys. J. C 
+{\textbf{4}} (1998) 115;
+G.A. Miller, A.W. Thomas, S. Theberge, Phys. Lett. B {\textbf{91}} (1980)
+192;
+C.E. de Tar, Phys. Rev. D {\textbf{24}} (1981) 752;
+M.A.B. B\'{e}g, G.T. Garvey, Comments Nucl. Part. Phys. {\textbf{18}}
+(1988) 1
+
+\bibitem{GENBOD} F. James, \textit{Monte Carlo Phase Space}, CERN 68-15
+(1968)
+
+\bibitem{Feynman-Wilson}  K.G. Wilson, Proc. Fourteenth Scottish
+Universities Summer School in Physics (1973), eds R. L. Crawford, R.
+Jennings (Academic Press, New York, 1974)
+
+\bibitem{CH.PDG}  Monte Carlo particle numbering scheme, in: 
+ Particle Data Group, \textit{Review of Particle Physics}, 
+ Eur. Phys. J. C {\textbf{3}} (1998) 180
+
+\bibitem{Hagedorn} R. Hagedorn, Nuovo Cimento Suppl. {\textbf{3}}
+		(1965) 147
+
+\bibitem{photNuc} M. V. Kossov, Approximation of photonuclear
+		interaction cross-sections, Eur. Phys. J. A 14 (2002) 377.
+
+\bibitem{GEANT4}  S. Giani et al., Geant4: Object Oriented Toolkit for
+Simulation in HEP, LCB status report CERN/LHCC/98-44, November 1998.
+
+\bibitem{MC2000}  J. P. Wellisch, On hadronic models in GEANT4, Program
+and Book of Abstracts.International Conference on Advanced Monte Carlo for
+Radiation Physics, Particle Transport Simulation and Applications, 23-26
+October 2000, IST,Lisbon, Portugal, p. 330.
+
+\bibitem{Duality} Yu.L. Dokshitzer, V.S. Fadin and V.A. Khoze,
+Phys. Lett. {\textbf{115B}} (1982) 242L
+
+\bibitem{JETSET} T. Sj\"{o}strand, Comp. Phys. Comm. {\textbf{92}} (1994)
+74
+
+\bibitem{OZI}  S. Ocubo, Phys. Lett. {\textbf{5}} (1963) 165;
+G. Zweig, CERN Preprint 8419/TH-412 (1964);
+I. Iizuka, Progr. Theor. Phys. Suppl. {\textbf{37}} (1966) 21
+
+\bibitem{OZI_violation} V.E. Markushin, M.P. Locher,
+Eur. Phys. J. A {\textbf{1}} (1998) 91
+
+\bibitem{pispectrum} J. Sedlak and V. Simak, Sov. J. Part. Nucl. 
+{\textbf{19}} (1988) 191
+
+\bibitem{pap_exdata}  C. Amsler, Rev.Mod.Phys. {\textbf{70}} (1998) 1293;
+C. Amsler and F. Myher, Annu. Rev. Nucl. Part. Sci. {\textbf{41}} (1991)
+219
+
+\bibitem{POPCORN} B. Andersson, G. Gustafson, T. Sj\"{o}strand, Nucl.
+Phys. B {\textbf{197}}(1982) 45;
+B. Andersson, G. Gustafson, T. Sj\"{o}strand, Physica Scripta {\textbf{32}}
+(1985) 574
+
+\bibitem{Energy_Dep} P. Gregory et al., Nucl. Phys. B {\textbf{102}} (1976)
+189
+
+\bibitem{K_parameter}  M.V. Kossov and L.M. Voronina, Preprint ITEP
+165-84, Moscow (1984)
+
+\bibitem{FNAL}  V.I.~Efremenko et al., Phys. Rev. C \textbf{22} (1980) 700.
+
+\bibitem{FAS}  S.V~Boyarinov et al., Phys. At. Nucl. \textbf{56}
+(1993) 72.
+
+\bibitem{TPC} P.V. Degtyarenko et al., Phys. Rev. C {\textbf{50}} (1994)
+R541
+
+\bibitem{NN QEX}  K.~Maltman and N.~Isgur, Phys. Rev. D \textbf{29} (1984) 952.
+
+\bibitem{Kp QUEX}  K.~Maltman and N.~Isgur, Phys. Rev. D \textbf{34} (1986)
+1372.
+
+\bibitem{EMC}  P.~Hoodbhoy and R.~J.~Jaffe, Phys. Rev. D \textbf{35}
+(1987) 113.
+
+\bibitem{QUEX}  N.~Isgur, Nucl. Phys. \textbf{A497} (1989) 91.
+
+%%%%%%%%%%%%%%%
+
+\bibitem{massSpectr}  M. V. Kossov, CHIPS: masses of hadrons. (be
+published).
+
+\bibitem{eqPhotons}  L. D. Landau, E. M. Lifshitz, ``Course of
+Theoretical Physics'' v.4, part 1, ``Relativistic Quantum Theory'',
+Pergamon Press, paragraph 96, The method of equivalent photons.
+
+\bibitem{Shadowing}  J. Eickmeyer et al. Phys. Rev. Letters {\bf 36 }(1976)
+289-291.
+
+\bibitem{Guilo}  D'Agostini, Hard Scattering Process in High Energy
+Gamma-Induced Reactions, DESY 94-169, September 1994.
+
+\bibitem{Electronuc}  F. W. Brasse et al. Nuclear Physics {\bf B39 }(1972)
+421-431.
+
+\bibitem{WA25} D. Allasia {\textit {et~al}}, Z. Phys C {\textbf{28}},
+		321 (1985)
+
+\bibitem{CDHSW} P. Berg {\textit {et~al}}, Z. Phys C {\textbf{49}},
+		187 (1991)
+
+\bibitem{CCFR} E. Oltman {\textit {et~al}}, Z. Phys C {\textbf{53}},
+		51 (1992)
+
+\bibitem{GRV} M. Gl\"uck {\textit {et~al}}, Z. Phys. C {\textbf{48}},
+		471 (1990)
+
+\bibitem{KMRS} J. Kviecinski {\textit {et~al}}, Phys. Rev. D {\textbf{42}},
+		3645 (1990)
+
+\bibitem{Comby} P. Lipari {\textit {et~al}}, Phys. Rev. Let. {\textbf{74}},
+		4384 (1995)
+
+\bibitem{VMA} S.V. Belikov {\textit {et~al}}, Z. Phys. A {\textbf{320}},
+		625 (1985)
+
+\bibitem{PenCB}  A. Lepretre et al. Nuclear Physics {\bf A390 }(1982)
+221-239.
+
+\bibitem{DINREG} P.V. Degtyarenko and M.V. Kossov, Preprint ITEP
+11-92, Moscow (1992)
+
+\bibitem{ARGUS} P.V. Degtyarenko et al., Z. Phys. A - Atomic Nuclei,
+{\textbf{335}} (1990) 231
+
+\bibitem{GDINR} P.V. Degtyarenko, \textit{Applications of the photonuclear
+fragmentation model to radiation protection problems}, in:
+Proceedings of Second Specialist's Meeting on Shielding Aspects of
+Accelerators, Targets and Irradiation Facilities (SATIF-2), CERN,
+Geneva, Switzerland, 12-13 October 1995, published by Nuclear Energy
+Agency, Organization for Economic Co-operation and Development, pages
+67 - 91 (1996)
+
+\bibitem{sum_rules}  C. Bernard, A. Duncan, J. LoSecco, and S. Weinberg,
+Phys. Rev. D \textbf{12} (1975) 792;
+
+ E. Poggio, H. Quinn, and S. Weinberg, Phys. Rev. D \textbf{13} (1976) 1958
+
+\bibitem{MIPHI}  A.~I.~Amelin et al., ``Energy spectra of charged particles
+in the reaction of $\pi^-$ absorption at rest by $^{6,7}$Li, $^{9}$Be, $%
+^{10,11}$B, $^{12}$C, $^{28}$Si, $^{40}$Ca, $^{59}$Co, $^{93}$Nb, $%
+^{114,117,120,124}$Sn, $^{169}$Tm, $^{181}$Ta and $^{209}$Bi nuclei'',
+Moscow Physics and Engineering Institute Preprint No. 034-90, Moscow, 1990.
+
+\bibitem{Mechtersheimer}  G.~Mechtersheimer et al., Nucl. Phys. 
+                          \textbf{A324} (1979) 379.
+
+\bibitem{Cernigoi}  C.~Cernigoi et al., Nucl. Phys. \textbf{A456} (1986) 599.
+
+\bibitem{Madey}  R.~Madey et al., Phys. Rev. C \textbf{25} (1982) 3050.
+
+\bibitem{Ryckbosch}  D.~Ryckbosch et al., Phys. Rev. C \textbf{42} (1990) 444.
+
+\bibitem{Ahrens}  J.~Ahrens et al.,  Nucl. Phys. \textbf{A446} (1985) 229c.
+
+\bibitem{Ryckebusch} Jan~Ryckebusch et al., Phys. Rev. C \textbf{49} (1994)
+2704.
+
+\bibitem{Abeele} C.~Van~den~Abeele; private communication cited
+in the reference: Jan~Ryckebusch et al., Phys. Rev. C \textbf{49} (1994)
+2704.
+
+\bibitem{Harty} P.D.~Harty et al. (unpublished); 
+private communication cited
+in the reference: Jan~Ryckebusch et al., Phys. Rev. C \textbf{49} (1994)
+2704.
+
+\bibitem{Bates}  L.B.~Weinstein et al., Phys. Rev. Lett. \textbf{64} (1990)
+1646.
+
+\bibitem{Lorentzian}  J.P.~Jeukenne and C.~Mahaux, Nucl. Phys. A \textbf{394}
+(1983) 445.
+
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\section{Bibliography}
+
+\begin{enumerate}
+% \bibitem{STAND_ALONE}  \noindent M. V. Kossov, Manual for the CHIPS
+% event generator,High Energy Accelerator Research Organization (KEK)
+% Internal 2000-17, February 2001, H/R
+
+\item B. Andersson, G. Gustafson, G. Ingelman,
+T. Sj\"{o}strand, Phys. Rep. {\textbf{97}} (1983) 31
+
+\item  \noindent P. V. Degtyarenko, M. V. Kossov, and H.P.
+Wellisch, Chiral invariant phase space event generator, I.
+Nucleon-antinucleon annihilation at rest, Eur. Phys. J. A {\bf 8}, 217-222
+(2000).
+
+\item P. V. Degtyarenko, M. V. Kossov, and H. P. Wellisch,
+Chiral invariant phase space event generator, II.Nuclear pion capture at
+rest, Eur. Phys. J. A 9, (2001).
+
+\item P. V. Degtyarenko, M. V. Kossov, and H. P. Wellisch,
+Chiral invariant phase space event generator, III Photonuclear reactions
+below $\Delta $(3,3) excitation, Eur. Phys. J. A 9, (2001).
+
+\item C.A.Z. Vasconcellos et al., Eur. Phys. J. C 
+{\textbf{4}} (1998) 115;
+G.A. Miller, A.W. Thomas, S. Theberge, Phys. Lett. B {\textbf{91}} (1980)
+192;
+C.E. de Tar, Phys. Rev. D {\textbf{24}} (1981) 752;
+M.A.B. B\'{e}g, G.T. Garvey, Comments Nucl. Part. Phys. {\textbf{18}}
+(1988) 1
+
+\item F. James, \textit{Monte Carlo Phase Space}, CERN 68-15
+(1968)
+
+\item K.G. Wilson, Proc. Fourteenth Scottish
+Universities Summer School in Physics (1973), eds R. L. Crawford, R.
+Jennings (Academic Press, New York, 1974)
+
+\item  Monte Carlo particle numbering scheme, in: 
+ Particle Data Group, \textit{Review of Particle Physics}, 
+ Eur. Phys. J. C {\textbf{3}} (1998) 180
+
+\item R. Hagedorn, Nuovo Cimento Suppl. {\textbf{3}} (1965) 147
+
+\item S. Giani et al., Geant4: Object Oriented Toolkit for
+Simulation in HEP, LCB status report CERN/LHCC/98-44, November 1998.
+
+\item J. P. Wellisch, On hadronic models in GEANT4, Program
+and Book of Abstracts.International Conference on Advanced Monte Carlo for
+Radiation Physics, Particle Transport Simulation and Applications, 23-26
+October 2000, IST,Lisbon, Portugal, p. 330.
+
+\item Yu.L. Dokshitzer, V.S. Fadin and V.A. Khoze,
+Phys. Lett. {\textbf{115B}} (1982) 242L
+
+\item T. Sj\"{o}strand, Comp. Phys. Comm. {\textbf{92}} (1994)
+74
+
+\item S. Ocubo, Phys. Lett. {\textbf{5}} (1963) 165;
+G. Zweig, CERN Preprint 8419/TH-412 (1964);
+I. Iizuka, Progr. Theor. Phys. Suppl. {\textbf{37}} (1966) 21
+
+\item V.E. Markushin, M.P. Locher,
+Eur. Phys. J. A {\textbf{1}} (1998) 91
+
+\item J. Sedlak and V. Simak, Sov. J. Part. Nucl. 
+{\textbf{19}} (1988) 191
+
+\item C. Amsler, Rev.Mod.Phys. {\textbf{70}} (1998) 1293;
+C. Amsler and F. Myher, Annu. Rev. Nucl. Part. Sci. {\textbf{41}} (1991)
+219
+
+\item B. Andersson, G. Gustafson, T. Sj\"{o}strand, Nucl.
+Phys. B {\textbf{197}}(1982) 45;
+B. Andersson, G. Gustafson, T. Sj\"{o}strand, Physica Scripta {\textbf{32}}
+(1985) 574
+
+\item P. Gregory et al., Nucl. Phys. B {\textbf{102}} (1976)
+189
+
+\item M.V. Kossov and L.M. Voronina, Preprint ITEP
+165-84, Moscow (1984)
+
+\item V.I.~Efremenko et al., Phys. Rev. C \textbf{22} (1980) 700.
+
+\item S.V~Boyarinov et al., Phys. At. Nucl. \textbf{56}
+(1993) 72.
+
+\item P.V. Degtyarenko et al., Phys. Rev. C {\textbf{50}} (1994)
+R541
+
+\item K.~Maltman and N.~Isgur, Phys. Rev. D \textbf{29} (1984) 952.
+
+\item K.~Maltman and N.~Isgur, Phys. Rev. D \textbf{34} (1986)
+1372.
+
+\item P.~Hoodbhoy and R.~J.~Jaffe, Phys. Rev. D \textbf{35}
+(1987) 113.
+
+\item N.~Isgur, Nucl. Phys. \textbf{A497} (1989) 91.
+
+%%%%%%%%%%%%%%%
+
+\item M. V. Kossov, CHIPS: masses of hadrons. (be
+published).
+
+\item L. D. Landau, E. M. Lifshitz, ``Course of
+Theoretical Physics'' v.4, part 1, ``Relativistic Quantum Theory'',
+Pergamon Press, paragraph 96, The method of equivalent photons.
+
+\item J. Eickmeyer et al. Phys. Rev. Letters {\bf 36 }(1976)
+289-291.
+
+\item D'Agostini, Hard Scattering Process in High Energy
+Gamma-Induced Reactions, DESY 94-169, September 1994.
+
+\item  F. W. Brasse et al. Nuclear Physics {\bf B39 }(1972)
+421-431.
+
+\item A. Lepretre et al. Nuclear Physics {\bf A390 }(1982)
+221-239.
+
+\item P.V. Degtyarenko and M.V. Kossov, Preprint ITEP
+11-92, Moscow (1992)
+
+\item P.V. Degtyarenko et al., Z. Phys. A - Atomic Nuclei,
+{\textbf{335}} (1990) 231
+
+\item P.V. Degtyarenko, \textit{Applications of the photonuclear
+fragmentation model to radiation protection problems}, in:
+Proceedings of Second Specialist's Meeting on Shielding Aspects of
+Accelerators, Targets and Irradiation Facilities (SATIF-2), CERN,
+Geneva, Switzerland, 12-13 October 1995, published by Nuclear Energy
+Agency, Organization for Economic Co-operation and Development, pages
+67 - 91 (1996)
+
+\item C. Bernard, A. Duncan, J. LoSecco, and S. Weinberg,
+Phys. Rev. D \textbf{12} (1975) 792;
+
+ E. Poggio, H. Quinn, and S. Weinberg, Phys. Rev. D \textbf{13} (1976) 1958
+
+\item A.~I.~Amelin et al., ``Energy spectra of charged particles
+in the reaction of $\pi^-$ absorption at rest by $^{6,7}$Li, $^{9}$Be, $%
+^{10,11}$B, $^{12}$C, $^{28}$Si, $^{40}$Ca, $^{59}$Co, $^{93}$Nb, $%
+^{114,117,120,124}$Sn, $^{169}$Tm, $^{181}$Ta and $^{209}$Bi nuclei'',
+Moscow Physics and Engineering Institute Preprint No. 034-90, Moscow, 1990.
+
+\item G.~Mechtersheimer et al., Nucl. Phys. 
+                          \textbf{A324} (1979) 379.
+
+\item C.~Cernigoi et al., Nucl. Phys. \textbf{A456} (1986) 599.
+
+\item R.~Madey et al., Phys. Rev. C \textbf{25} (1982) 3050.
+
+\item D.~Ryckbosch et al., Phys. Rev. C \textbf{42} (1990) 444.
+
+\item J.~Ahrens et al.,  Nucl. Phys. \textbf{A446} (1985) 229c.
+
+\item Jan~Ryckebusch et al., Phys. Rev. C \textbf{49} (1994)
+2704.
+
+\item C.~Van~den~Abeele; private communication cited
+in the reference: Jan~Ryckebusch et al., Phys. Rev. C \textbf{49} (1994)
+2704.
+
+\item P.D.~Harty et al. (unpublished); 
+private communication cited
+in the reference: Jan~Ryckebusch et al., Phys. Rev. C \textbf{49} (1994)
+2704.
+
+\item L.B.~Weinstein et al., Phys. Rev. Lett. \textbf{64} (1990)
+1646.
+
+\item J.P.~Jeukenne and C.~Mahaux, Nucl. Phys. A \textbf{394}
+(1983) 445.
+
+\end{enumerate}
+
+\end{htmlonly}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%\end{document}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/CHIPSdetail.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/CHIPSdetail.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/CHIPSdetail.tex	(revision 1208)
@@ -0,0 +1,7495 @@
+\section{Chiral Invariant Phase Space Decay.}
+% \textheight 8.75in
+% \textwidth 6.5in
+% \parskip 1.45ex
+
+\newtheorem{theorem}{Theorem}
+\newtheorem{acknowledgement}[theorem]{Acknowledgement}
+\newtheorem{algorithm}[theorem]{Algorithm}
+\newtheorem{axiom}[theorem]{Axiom}
+\newtheorem{claim}[theorem]{Claim}
+\newtheorem{conclusion}[theorem]{Conclusion}
+\newtheorem{condition}[theorem]{Condition}
+\newtheorem{conjecture}[theorem]{Conjecture}
+\newtheorem{corollary}[theorem]{Corollary}
+\newtheorem{criterion}[theorem]{Criterion}
+\newtheorem{definition}[theorem]{Definition}
+\newtheorem{example}[theorem]{Example}
+\newtheorem{exercise}[theorem]{Exercise}
+\newtheorem{lemma}[theorem]{Lemma}
+\newtheorem{notation}[theorem]{Notation}
+\newtheorem{problem}[theorem]{Problem}
+\newtheorem{proposition}[theorem]{Proposition}
+\newtheorem{remark}[theorem]{Remark}
+\newtheorem{solution}[theorem]{Solution}
+\newtheorem{summary}[theorem]{Summary}
+
+\begin{document}
+\title{Manual for the CHIPS event generator in GEANT4}
+%\author{M.V.Kossov}
+%\address{Mikhail.Kossov@itep.ru, Mikhail.Kossov@cern.ch, kossov@jlab.org,\\
+%kossov@post.kek.jp}
+\date{\today}
+\maketitle
+
+\begin{abstract}
+In this manual the basic principles and the procedure of usage of the
+CHIPS event generator in the GEANT4 framework is described in detail.
+The emphasis is made on the practical issues which can make this event
+generator an easy tool for differentapplications in GEANT4.
+For the stand alone application of the CHIPS model (not for the
+simulation of the processes in matter, but for the physics
+analysis purposes) one can use the manual \cite{STAND_ALONE}. The
+physics of the model is discussed in this Manual in a concise form
+and to find answers to some physics questions one should read the
+publications in physics jurnals, which are reffered to in the manual.
+All complicated issues are collected in appendices to make easier the
+straightforward use of the model. Examples and interfaces give the
+ easiest way to use the event generator.
+\end{abstract}
+
+\section{Introduction.}
+
+\noindent \qquad  The CHIPS event generator is based on the Chiral
+Invariant Phase Space model \cite{CHIPS1},\cite{CHIPS2},\cite{CHIPS3},
+which is typically a quark-level SU(3) model (c, b, and t quarks are not
+implemented in this version of the event generator), but in spite of
+its quark nature it can be successfully used even at very low energies. It
+should be pointed out that originally the CHIPS event generator was made
+only for the final hadronic fragmentation, so it demands a special development
+in the part of the initial interaction of projectiles (projectiles can be
+hadrons or photons) with targets (targets can be hadrons or nuclei). So the
+first applications of CHIPS described the interactions at rest (where the
+interaction cross section is not important)\cite{CHIPS1},\cite{CHIPS2} or
+low energy photo-nuclear reactions (where the interaction cross section can
+be easily calculated)\cite{CHIPS3}. In this manual the parametrization
+of the cross sections of the photonuclear nd electronuclear reactions
+is explained and the hadron nuclear crossections are parametrized in
+other GEANT4 classes, so formally the CHIPS event jenerator can be
+used in all kinds of hadronic interaction (having in mind that the
+photon can be considered as a superposition of vector mesons: VDM
+model). The interface which was made for the CHIPS event generator
+from the String
+Model of Geant4 \cite{GEANT4} (the results were briefly discussed by
+Hans-Peter Wellisch on MC2000 \cite{MC2000}) makes it possible to use
+the CHIPS code for nuclear fragmentation at extremely high energies.
+Applications at intermediate energies (1-10 GeV) needs additional
+tuning of the interaction mechanizm.
+
+The basic scheme of the event generator is the fragmentation of a quasmon in
+vacuum or in nuclear matter. The quasmon is a fundamental notion in the
+CHIPS model. It can be considered as a generalization of the hadron notion in
+fundamental particles physics. Hadron has quantum numbers and fixed or
+distributed mass. The quantum numbers define quark content of the hadron. On
+the contrary quasmon is defined by quark content and mass. For each
+hadronic state with the fixed mass and corresponding quark content one
+can consider this hadronic state as a superposition of hadrons with the same
+quark content. The fundamental parameter of the model, critical
+temperature ${\bf T}_{c},$ defines a number of quark-partons in a
+quasmon. This can help to understand why in CHIPS the
+quark content is the basic notion and the particle is a secondary notion, while
+in other models the basic notion is a particle and the quark content is a
+secondary notion. So the result of a hadronic or a nuclear interaction
+is the creation of a quasmon which is actually an intermediate
+excited hadronic matter. In vacuum it can dissipate energy radiating
+particles according to the quark fusion mechanism\cite{CHIPS1}
+(Appendix C) and in nuclear matter in addition to vacuum mechanisms
+the quark exchange with surrounding nucleons or nuclear clusters
+mechanizm can be realized\cite{CHIPS2} (Appendix D). So the first
+published versions of the CHIPS event generator had the {\bf
+G4Quasmon} class as the head of the model. All initial interactions were
+hidden in the {\bf G4Quasmon} constructor.  It should be mentioned,
+that all classes of the CHIPS model have the {\bf G4Q} prefix while
+most of GEANT4 classes have just a {\bf G4} prefix. Hopefully the
+{\bf G4Q} prefix will not be used by other GEANT4 projects.
+
+        More complicated applications of the model such as an anti-proton
+capture at rest and Geant4 String Model interface to CHIPS led to the
+multi quasmon version of the model. So since the last publication the
+structure of classes of the CHIPS event generator was improved. E.g.
+in case of the anti-proton annihilation on the nucleus at rest the first
+interaction happens on nuclear periphery. After this initial
+interaction, a part of secondary mesons (defined by the special
+parameter of the model) independently penetrate the nucleus and each
+of the mesons can create a separate quasmon in nuclear matter of the
+same nucleus. In this case the {\bf G4Quasmon} class can not be the head
+class of the model any more. That is why the new head class 
+{\bf G4QEnvironment} was made, which can adopt a vector of projectile
+hadrons ({\bf G4QHadronVector}) and can create a vector of quasmons
+({\bf G4QuasmonVector}). After that all quasmons start the energy
+dissipation process in parallel in the same nucleus. The
+{\bf G4QEnvironment} instance can be used both for vacuum and for
+nuclear matter. If the {\bf G4QEnvironment} is created for vacuum
+there can be only one {\bf G4Quamon} instance inside, so for hadronic
+interactions the model is not changed.
+
+\section{Structure of C++ classes in CHIPS.}
+
+\noindent \qquad The general scheme of the model defines a hierarchy of C++
+classes:
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
+\ \ \fbox{G4QEnvironment}
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
+\ \ \ \ \ \ \ \ \ \ \ \ \ $\left| {}\right| $
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
+\ \fbox{G4QuasmonVector}
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
+\ \ \ \ \ \ \ \ \ \ \ \ $\ \left| {}\right| $
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ =============\fbox{G4Quasmon}===========
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ $\left| {}\right| $ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
+\ \ \ \ \ \ \ \ \ \ \ \ \ $\left| {}\right| $ \ \ \ \ \ \ \ \ \ $\left|
+{}\right| $ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ $\left|
+{}\right| $
+
+\fbox{G4QNucleus} \ \ \fbox{G4QHadronVector} \ \fbox{G4QCHIPSWorld} \ \fbox{%
+G4QChipolino}
+
+\fbox{G4QCandidateVector} \ \ \ \ \ \ \ \ \ \ \ \ \ $\left| {}\right| $\ \ \
+\ \fbox{G4QParticleVector}\ \ \ \ \ \ \ \ \ \ $\ \ \ \ \ \ \left| {}\right| $
+
+\ \ \ $\ \ \ \ \ \ \ \ \left| {}\right| $\ \ \ \ \ \ \fbox{G4QCandidate} \ \ 
+$\left| {}\right| $\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ $\ \left|
+{}\right| $\ \ \ \ \ \ \ \ \ \ \ $\ \ \ \ \ \ \ \ \ \ \left| {}\right| $
+
+\ \ \ \ $\ \ \ \ \ \ \ \left| {}\right| $\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
+\ \ \ \ \ \ \ \ \ \ \ \fbox{G4QHadron} \ \ \ \ \ \ \ \ \ \ $\left| {}\right| 
+$\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ $\left| {}\right| $
+
+\ \ \ \ $\ \ \ \ \ \ \ \left| {}\right| $\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \fbox{G4QParticle%
+} \ \ \ \ \ \ \ \ \ \ \ \ \ $\left| {}\right| $
+
+\ \ \ \ $\ \ \ \ \ \ \ \left| {}\right| $\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \fbox{G4QDecayChannelVector%
+} \ $\left| {}\right| $
+
+\ \ \ \ $\ \ \ \ \ \ \ \left| {}\right| $\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \fbox{%
+G4QDecayChannel} \ \ \ \ $\left| {}\right| $
+
+\ \ \ \ \ \ \fbox{G4QParentClusterVector} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
+\ \ \fbox{G4QPDGCodeVector} \ \ $\left| {}\right| $
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \fbox{%
+G4QParentCluster} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \fbox{G4QPDGCode}
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \fbox{G4QContent}
+
+It is necessary to make a few comments about this structure. This time let
+us start from the bottom. As it was already pointed out in the
+Introduction the basic class in CHIPS is {\bf G4QContent} (quark
+content). This class is the basic class for the quasmon definition. The
+quasmon makes the generalization of the notion of the hadron. The
+hadron is
+formalized by a C++ class {\bf G4QPDGCode }(particle with a code from a
+Particle Data Group table). Another hadronic case of quasmon is
+{\bf G4QParentCluster}. The parent clusters are created in nuclear
+medium and used in the quark exchange mechanism of the energy dissipation
+process. The vector of the {\bf G4QPDGCode} objects
+({\bf G4QPDGCodeVector}) is used in the {\bf G4DecayChannel} class, which is
+made for a set of particles in which primary particle can decay.
+But an unstable particle can have several channels of decay, so
+the {\bf G4QParticle} class uses the {\bf G4QDecayChannelVector}. The world
+of particles ({\bf G4QCHIPSWorld}) in the model is just a
+{\bf G4QParticleVector}. Only one instance of the {\bf G4QCHIPSWorld} is created
+in the C++ heap and each {\bf G4Quasmon} class has a static pointer to this
+instance of the {\bf G4QCHIPSWorld}. So this is a kind of a static data base
+which contains particle properties necessary for the {\bf G4QHadron}
+definition. So the creator of the {\bf G4QHadron} just gets a pointer to the
+corresponding particle in the static {\bf G4QCHIPSWorld} data base. There is
+another intermediate generalization of the hadron object, the 
+{\bf G4QNucleus} class, which inherits properties of the {\bf G4QHadron} class.
+It has a lot of additional nuclear properties but to inherit hadronic
+features any nucleus should have a PDG code.
+
+        In the CHIPS generator the nuclear code has 8 digits, starting
+with 9. The second digit (L in the scheame below) defines a number of
+$\Lambda $\ particles in the nucleus, the following three digits (PPP)
+define a number of protons, and the last three digits (NNN) define the
+number of neutrons in the nucleus. So the PDG code of the nucleus (or
+nuclear cluster) has a form {\it 9LPPPNNN}. In the CHIPS event generator an
+additional Q code is used, which helps to numerate particles included in the 
+{\bf G4QCHIPSWorld} data base (Q=0 means that this particle is not in the 
+{\bf G4QCHIPSWorld} data base). All these particles are listed in the tables
+below. A particle and the corresponding antiparticle has the same Q code but
+their PDG codes have opposite signs. The upper index of the name in the
+table usually means a charge except for $\eta _{0}^{/}$(958), $f_{2}^{/}$(1525),
+$\Lambda_{3/2}^{\ast}$(1520), and \ $\Lambda _{7/2}^{\ast }$(2100).
+The lower index of the name
+according to the PDG rule means spin (2S+1). Spin of the particle can be
+calculated as an integer half of the last digit of the PDG code. This is not
+true for the simple 8 digits codes for the nuclear clusters, which do
+not contain the information about the spin at all, but it is true even for
+the unusually coded $f_{0}^{0}$ hadrons (first of which is a
+$\sigma $\ meson, which is an S-wave state of the $\pi ^{0}\pi ^{0}$\ system,
+the second is $f_{0}^{0}$(980) and the third is $f_{0}^{0}$(1500))\thinspace.
+
+\begin{tabular}{llllllllllllllllll}
+{\bf  Q} & {\it  PDG} & H & {\bf Q} & {\it PDG} & H &
+{\bf  Q} & {\it  PDG} & H & {\bf Q} & {\it PDG} & H &
+{\bf  Q} & {\it  PDG} & H & {\bf Q} & {\it PDG} & H \\ 
+{\bf  0} & {\it   22} & $\gamma $ &
+{\bf 12} & {\it 3122} & $\Lambda_{1/2}^{0}$ &
+{\bf 24} & {\it 1114} & $\Delta _{3/2}^{-}$ &
+{\bf 36} & {\it  215} & $a_{2}^{+}$ &
+{\bf 48} & {\it 3326} & $\Xi _{5/2}^{0}$ &
+{\bf 60} & {\it 3118} & $\Sigma _{7/2}^{-}$ \\ 
+{\bf  1} & {\it  110} & $f_{0}^{0}$ &
+{\bf 13} & {\it 3112} & $\Sigma _{1/2}^{-}$ &
+{\bf 25} & {\it 2114} & $\Delta _{3/2}^{0}$ &
+{\bf 37} & {\it  225} & $f_{2}^{0}$ &
+{\bf 49} & {\it  117} & $\rho _{3}^{0}$ &
+{\bf 61} & {\it 3218} & $\Sigma _{7/2}^{0}$ \\ 
+{\bf  2} & {\it  220} & $f_{0}^{0}$ &
+{\bf 14} & {\it 3212} & $\Sigma _{1/2}^{0}$ &
+{\bf 26} & {\it 2214} & $\Delta _{3/2}^{+}$ &
+{\bf 38} & {\it  315} & $K_{2}^{0}$ &
+{\bf 50} & {\it  217} & $\rho _{3}^{+}$ &
+{\bf 62} & {\it 3228} & $\Sigma _{7/2}^{+}$ \\ 
+{\bf  3} & {\it  330} & $f_{0}^{0}$ &
+{\bf 15} & {\it 3222} & $\Sigma _{1/2}^{+}$ &
+{\bf 27} & {\it 2224} & $\Delta _{3/2}^{++}$ &
+{\bf 39} & {\it  325} & $K_{2}^{+}$ &
+{\bf 51} & {\it  227} & $\omega _{3}^{0}$ &
+{\bf 63} & {\it 3318} & $\Xi _{7/2}^{-}$ \\ 
+{\bf  4} & {\it  111} & $\pi _{0}^{0}$ &
+{\bf 16} & {\it 3312} & $\Xi _{1/2}^{-}$ &
+{\bf 28} & {\it 3124} & $\Lambda _{3/2}^{0}$ &
+{\bf 40} & {\it  335} & $f_{2}^{/}$ &
+{\bf 52} & {\it  317} & $K_{3}^{\ast 0}$ &
+{\bf 64} & {\it 3328} & $\Xi _{7/2}^{0}$ \\ 
+{\bf  5} & {\it  211} & $\pi _{0}^{+}$ &
+{\bf 17} & {\it 3322} & $\Xi_{1/2}^{0}$ &
+{\bf 29} & {\it 3114} & $\Sigma _{3/2}^{-}$ &
+{\bf 41} & {\it 2116} & $N_{5/2}^{0}$ &
+{\bf 53} & {\it  327} & $K_{3}^{\ast +}$ &
+{\bf 65} & {\it 3338} & $\Omega _{7/2}^{-}$ \\ 
+{\bf  6} & {\it  221} & $\eta _{0}^{0}$ &
+{\bf 18} & {\it  113} & $\rho _{1}^{0} $ &
+{\bf 30} & {\it 3214} & $\Sigma _{3/2}^{0}$ &
+{\bf 42} & {\it 2216} & $N_{5/2}^{+}$ &
+{\bf 54} & {\it  337} & $\varphi _{3}^{0}$ &
+{\bf 66} & {\it  119} & $a_{4}^{0}$ \\ 
+{\bf  7} & {\it  311} & $K_{0}^{0}$ &
+{\bf 19} & {\it  213} & $\rho _{1}^{+}$ & 
+{\bf 31} & {\it 3224} & $\Sigma _{3/2}^{+}$ &
+{\bf 43} & {\it 3126} & $\Lambda _{5/2}^{\ast }$ &
+{\bf 55} & {\it 1118} & $\Delta _{7/2}^{-}$ &
+{\bf 67} & {\it  219} & $a_{4}^{+}$ \\ 
+{\bf  8} & {\it  321} & $K_{0}^{+}$ &
+{\bf 20} & {\it  223} & $\omega _{1}^{0} $ &
+{\bf 32} & {\it 3314} & $\Xi _{3/2}^{-}$ &
+{\bf 44} & {\it 3116} & $\Sigma _{5/2}^{-}$ &
+{\bf 56} & {\it 2118} & $\Delta _{7/2}^{0}$ &
+{\bf 68} & {\it  229} & $f_{4}^{0}$ \\ 
+{\bf  9} & {\it  331} & $\eta _{0}^{/}$ &
+{\bf 21} & {\it  313} & $K_{1}^{\ast 0}$ &
+{\bf 33} & {\it 3324} & $\Xi _{3/2}^{0}$ &
+{\bf 45} & {\it 3216} & $\Sigma _{5/2}^{0}$ &
+{\bf 57} & {\it 2218} & $\Delta _{7/2}^{+}$ &
+{\bf 69} & {\it  319} & $K_{4}^{0}$ \\ 
+{\bf 10} & {\it 2112} & $n_{1/2}^{0}$ &
+{\bf 22} & {\it  323} & $K_{1}^{\ast +}$ &
+{\bf 34} & {\it 3334} & $\Omega _{3/2}^{-}$ &
+{\bf 46} & {\it 3226} & $\Sigma _{5/2}^{+}$ &
+{\bf 58} & {\it 2228} & $\Delta _{7/2}^{++}$ &
+{\bf 70} & {\it  329} & $K_{4}^{+}$ \\ 
+{\bf 11} & {\it 2212} & $p_{1/2}^{+}$ &
+{\bf 23} & {\it  333} & $\varphi _{1}^{0}$ &
+{\bf 35} & {\it  115} & $a_{2}^{0}$ &
+{\bf 47} & {\it 3316} & $\Xi _{5/2}^{-}$ &
+{\bf 59} & {\it 3128} & $\Lambda _{7/2}^{\ast }$ &
+{\bf 71} & {\it  339} & $f_{4}^{/}$
+\end{tabular}
+
+\bigskip
+
+Only isotope symmetric nuclear clusters are considered in the CHIPS world. As
+there are separate tables for hadrons and for nuclear fragments, there is an
+overlap in naming. In particular for the neutron one can find {\it 2112}
+(Q=10) and {\it 90000001} (Q=72), for proton {\it 2212 (Q=11)} and {\it %
+90001000} (Q=73), for lambda {\it 3122 (Q=12)} and {\it 91000000} (Q=74).
+Internally in the program one can find strange codes such as {\it 89999999}
+for anti-neutron or even {\it 90999999} for K0. The PDG coding of the
+generator supports such codes, but in the output such codes should not
+appear. The nuclear fragment coding includes 8 light isofragments (fragments
+contaning isobars: {$p\Delta ++$}, {$n\Delta -$}, {$\Delta ++ \Delta ++$},
+ {$\Delta - \Delta -$},) {$pp\Delta ++$}, {$nn\Delta -$},
+ {$p\Delta ++ \Delta ++$}, {$p\Delta - \Delta -$}, which have Q-codes
+from 71 to 79). The PDG codes of the isonuclei contain negative
+numbers of protons or neutrons, so they can look strange. E.g. the PDG
+code for the {$p\Delta ++ \Delta ++$} fragment is 90004999. The last
+999 mean that the number of neuterons is -1 and 1 is subtracted from
+the number of protons, so the number of protons is 5. The same rule can
+help to determine the number of protons (-1) and neutrons (5) from the
+PDG code 89999005 in case of the {$p\Delta - \Delta -$}
+state. Hopefully the CHIPS user never meet such codes, as the codes
+with negative number of baryons in the PDG code are internal and
+usually decay before coming in the output. E.g. the {$p\Delta ++$}
+state decays in two protons and positive pion.
+
+        The structure of the following table for the normal nuclei and
+hypernuclei can be easily extrapolated, so the PDG coding of the
+generator covers by far more nuclear fragments than are listed in the table.
+
+\bigskip
+
+\begin{tabular}{llllllllllll}
+{\bf   Q} & {\it      PDG} & H & {\bf Q} & {\it PDG} & H &
+{\bf   Q} & {\it      PDG} & H & {\bf Q} & {\it PDG} & H \\ 
+{\bf  80} & {\it 90000001} & n &
+{\bf 109} & {\it 92001002} & $\Lambda \Lambda t$ &
+{\bf 138} & {\it 91005004} & $\Lambda $B$^{8}$ &
+{\bf 167} & {\it 91006006} & $\Lambda $C$^{12}$ \\ 
+{\bf  81} & {\it 90001000} & p &
+{\bf 110} & {\it 92002001} & $\Lambda \Lambda $He$^{3}$ &
+{\bf 139} & {\it 92003004} & $\Lambda \Lambda $Li$^{7}$ &
+{\bf 168} & {\it 91007005} & $\Lambda $N$^{12}$ \\ 
+{\bf  82} & {\it 91000000} & $\Lambda $ &
+{\bf 111} & {\it 90002004} & He$^{6} $ &
+{\bf 140} & {\it 92004003} & $\Lambda \Lambda $Be$^{7}$ &
+{\bf 169} & {\it 92005006} & $\Lambda \Lambda $B$^{11}$ \\ 
+{\bf  83} & {\it 90000002} & nn &
+{\bf 112} & {\it 90003003} & Li$^{6}$ & 
+{\bf 141} & {\it 90004006} & Be$^{10}$ &
+{\bf 170} & {\it 92006005} & $\Lambda \Lambda $C$^{11}$ \\ 
+{\bf  84} & {\it 90001001} & d/np &
+{\bf 113} & {\it 90004002} & Be$^{6}$ & 
+{\bf 142} & {\it 90005005} & B$^{10}$ &
+{\bf 171} & {\it 90006008} & C$^{14}$\\ 
+{\bf  85} & {\it 90002000} & pp &
+{\bf 114} & {\it 91002003} & $\Lambda $He$^{5}$ &
+{\bf 143} & {\it 90006005} & C$^{10}$ &
+{\bf 172} & {\it 90007007} & N$^{14}$ \\ 
+{\bf  86} & {\it 91000001} & $\Lambda $n &
+{\bf 115} & {\it 91003002} & $\Lambda $Li$^{5}$ &
+{\bf 144} & {\it 91004005} & $\Lambda $Be$^{9}$ &
+{\bf 173} & {\it 90008006} & O$^{14}$ \\ 
+{\bf  87} & {\it 91001000} & $\Lambda $p &
+{\bf 116} & {\it 92001003} & $\Lambda \Lambda $H$^{4}$ &
+{\bf 145} & {\it 91005004} & $\Lambda $B$^{9}$ & 
+{\bf 174} & {\it 91006007} & $\Lambda $C$^{13}$ \\ 
+{\bf  88} & {\it 92000000} & $\Lambda \Lambda $ &
+{\bf 117} & {\it 92002002} & $\Lambda \Lambda $He$^{4}$ &
+{\bf 146} & {\it 92003005} & $\Lambda \Lambda $Li$^{8}$ &
+{\bf 175} & {\it 91007006} & $\Lambda $N$^{13}$ \\ 
+{\bf  89} & {\it 90001002} & t &
+{\bf 118} & {\it 92003001} & $\Lambda \Lambda $Li$^{4}$ &
+{\bf 147} & {\it 92004004} & $\Lambda \Lambda $Be$^{8}$ &
+{\bf 176} & {\it 92005007} & $\Lambda \Lambda $B$^{12}$ \\ 
+{\bf  90} & {\it 90002001} & He$^{3}$ &
+{\bf 119} & {\it 90003004} & Li$^{7}$ &
+{\bf 148} & {\it 92005003} & $\Lambda \Lambda $B$^{8}$ &
+{\bf 177} & {\it 92006006} & $\Lambda \Lambda $C$^{12}$ \\ 
+{\bf  91} & {\it 91000002} & $\Lambda $nn &
+{\bf 120} & {\it 90004003} & Be$^{7}$ &
+{\bf 149} & {\it 90005006} & B$^{11}$ &
+{\bf 178} & {\it 92007005} & $\Lambda \Lambda $N$^{12}$ \\ 
+{\bf  92} & {\it 91001001} & $\Lambda $d &
+{\bf 121} & {\it 91002004} & $\Lambda $He$^{6}$ &
+{\bf 150} & {\it 90006005} & C$^{11}$ &
+{\bf 179} & {\it 90007008} & N$^{15}$ \\ 
+{\bf  93} & {\it 91002000} & $\Lambda $pp &
+{\bf 122} & {\it 91003003} & $\Lambda $Li$^{6}$ &
+{\bf 151} & {\it 91004006} & $\Lambda $Be$^{10}$ &
+{\bf 180} & {\it 90008007} & O$^{15}$ \\ 
+{\bf  94} & {\it 92000001} & $\Lambda \Lambda $n &
+{\bf 123} & {\it 91004002} & $\Lambda $Be$^{6}$ &
+{\bf 152} & {\it 91005005} & $\Lambda $B$^{10}$ & 
+{\bf 181} & {\it 91006008} & $\Lambda $C$^{14}$ \\ 
+{\bf  95} & {\it 92001000} & $\Lambda \Lambda $p &
+{\bf 124} & {\it 92002003} & $\Lambda \Lambda $He$^{5}$ &
+{\bf 153} & {\it 91006004} & $\Lambda $C$^{10} $ &
+{\bf 182} & {\it 91007007} & $\Lambda $N$^{14}$ \\ 
+{\bf  96} & {\it 90003001} & H$^{4}$ &
+{\bf 125} & {\it 92003002} & $\Lambda \Lambda $Li$^{5}$ &
+{\bf 154} & {\it 92004005} & $\Lambda \Lambda $Be$^{9}$ &
+{\bf 183} & {\it 91008006} & $\Lambda $O$^{14}$ \\ 
+{\bf  97} & {\it 90002002} & He$^{4}$ &
+{\bf 126} & {\it 90003005} & Li$^{8}$ &
+{\bf 155} & {\it 92005004} & $\Lambda \Lambda $B$^{9}$ &
+{\bf 184} & {\it 92006007} & $\Lambda \Lambda $C$^{13}$ \\ 
+{\bf  98} & {\it 90001003} & Li$^{4}$ &
+{\bf 127} & {\it 90004004} & Be$^{8}$ &
+{\bf 156} & {\it 90005007} & B$^{12}$ &
+{\bf 185} & {\it 92007006} & $\Lambda \Lambda $N$^{13}$ \\ 
+{\bf  99} & {\it 91001002} & $\Lambda t$ &
+{\bf 128} & {\it 90005003} & B$^{8} $ &
+{\bf 157} & {\it 90006006} & C$^{12}$ &
+{\bf 186} & {\it 90007009} & N$^{16}$ \\ 
+{\bf 100} & {\it 91002001} & $\Lambda $He$^{3}$ &
+{\bf 129} & {\it 91003004} & $\Lambda $Li$^{7}$ &
+{\bf 158} & {\it 90007005} & N$^{12}$ &
+{\bf 187} & {\it 90008008} & O$^{16}$ \\ 
+{\bf 101} & {\it 92000002} & $\Lambda \Lambda $nn &
+{\bf 130} & {\it 91004003} & $\Lambda $Be$^{7}$ &
+{\bf 159} & {\it 91005006} & $\Lambda $B$^{11}$ & 
+{\bf 188} & {\it 90009007} & F$^{16}$ \\ 
+{\bf 102} & {\it 92001001} & $\Lambda \Lambda $d &
+{\bf 131} & {\it 92002004} & $\Lambda \Lambda $He$^{6}$ &
+{\bf 160} & {\it 91006005} & $\Lambda $C$^{11} $ &
+{\bf 189} & {\it 91007008} & $\Lambda $N$^{15}$ \\ 
+{\bf 103} & {\it 92002000} & $\Lambda \Lambda $pp &
+{\bf 132} & {\it 92003003} & $\Lambda \Lambda $Li$^{6}$ &
+{\bf 161} & {\it 92004006} & $\Lambda \Lambda $Be$^{10}$ &
+{\bf 190} & {\it 91008007} & $\Lambda $O$^{15}$ \\ 
+{\bf 104} & {\it 90002003} & He$^{5}$ &
+{\bf 133} & {\it 92004002} & $\Lambda \Lambda $Be$^{6}$ &
+{\bf 162} & {\it 92005005} & $\Lambda \Lambda $B$^{10}$ &
+{\bf 191} & {\it 92006008} & $\Lambda \Lambda $C$^{14}$ \\ 
+{\bf 105} & {\it 90003002} & Li$^{5}$ &
+{\bf 134} & {\it 90004005} & Be$^{9}$ &
+{\bf 163} & {\it 92006004} & $\Lambda \Lambda $C$^{10}$ &
+{\bf 192} & {\it 92007007} & $\Lambda \Lambda $N$^{14}$ \\ 
+{\bf 106} & {\it 91003001} & $\Lambda $H$^{4}$ &
+{\bf 135} & {\it 90005004} & B$^{9}$ &
+{\bf 164} & {\it 90006007} & C$^{13}$ &
+{\bf 193} & {\it 92008006} & $\Lambda \Lambda $O$^{14}$ \\ 
+{\bf 107} & {\it 91002002} & $\Lambda $He$^{4}$ &
+{\bf 136} & {\it 91003005} & $\Lambda $Li$^{8}$ &
+{\bf 165} & {\it 90007006} & N$^{13}$ &
+{\bf 194} & {\it 90008009} & O$^{17}$ \\ 
+{\bf 108} & {\it 91001003} & $\Lambda $Li$^{4}$ &
+{\bf 137} & {\it 91004004} & $\Lambda $Be$^{8}$ &
+{\bf 166} & {\it 91005007} & $\Lambda $B$^{12}$ & 
+{\bf 195} & {\it 90009008} & F$^{17}$
+\end{tabular}
+
+In future this infinite table will be restricted as the lane of stability
+shifts from the line of the mirror nuclei. E.g. F$^{18}$ nucleus is already $\beta
+^{+}$ radioactive. On the other hand, the experience of simulation of nuclear
+fragmentation shows that the probability to radiate a fragment heavier
+than O$^{16}$ is negligibly small. So in future the Q codes starting
+with 194 will be used for the fission fragments (the lightest parts of
+the fission fragments). With these heavy fragments it is
+planned to simulate a fission process which can be very important for
+low energy photo-nuclear reactions. It can be the same quark exchange
+mechanism, but the nuclear clusterization procedure should be
+generalized for the heavy fission fragments.
+
+\qquad Now let us come back to the structure of C++ classes in the CHIPS
+model. Both hadrons and nuclear fragments can be candidates
+({\bf G4QCandidate} inherits properties of the {\bf G4QHadron}
+class) to the secondaries in the reaction and the CHIPS model
+makes a competition between them. So it is necessary to have a
+{\bf G4QCandidateVector} class. In the case of hadronization in vacuum
+the competition between the candidates is clear as only the
+probabilities to fuse quark-antiquark or quark-diquark should be
+calculated as it is explained in \cite{CHIPS1} (Appendix C). In
+the case of the quark exchange hadronization the situation is more
+complicated as the same fragment, say He$^{4}$, can be radiated as a result
+of quark exchange with different H$^{4}$, He$^{4}$, and Li$^{4}$ clusters or
+even with $\Lambda $t or $\Lambda $He$^{3}$ clusters, which are considered
+as parent clusters in the model\cite{CHIPS2} (Appendix D). In fact,
+the {\bf G4QParentCluster} is not a nuclear fragment; it contains only
+its PDG code as an integer number and a quark content of the exchange
+quark pair which is necessary to create the secondary fragment from
+the parent cluster. So it does not inherit the properties of the 
+{\bf G4QNucleus} or {\bf G4QHadron} and uses only {\bf G4QContent} class.
+Another hadronic object which is used in the CHIPS event generator is a
+chipolino. The {\bf G4QChipolino} is an object which can be
+represented only by two hadrons e.g.
+$\pi ^{+}\pi ^{+}$ or $\pi ^{+}$K$^{+}$. The chipolinos as well as $nn$ and
+$pp$ nuclear fragments are completely internal in the model and should
+not appear in the output {\bf G4QHadronVector}. The PDG code of all
+chipolinos is 10, so the {\bf G4QChipolino} class can inherit the
+{\bf G4QPDGCode} properties while it is not included in the {\bf
+G4QCHIPSWorld} data base as it does not have a fixed mass value and
+has only one possible channel of decay (decay into the two
+hadrons only).
+
+        This is the total hierarchy of C++ classes of the CHIPS event generator.
+It was intended to be linear and but for the {\bf G4QCHIPSWorld},
+{\bf G4QChipolino,} and {\bf G4QParentCluster} it is. There is
+intention to keep this simple structure in future. The disadvantage
+of this kind of strategy is the necessity to work with large classes.
+The biggest class of the model is still {\bf G4Quasmon}
+(about 4400 lines), then a big one is {\bf G4QNucleus} class (about 2900
+lines, it containes the hadron-level EVA model of nuclear evaporation)
+and then a new part, {\bf G4QEnvironment} class, which is almost as
+big as the  {\bf G4Quasmon} class (about 4100 lines) and it probably
+will grow up in future as it deals with the first interaction issue.
+
+\section{CHIPStest example and usage of the CHIPS model.}
+
+\noindent \qquad This section gives step by step comments for the
+{\bf CHIPStest} program to make understanding of the basic member
+functions of the CHIPS event generator easier. It can be useful for
+the novice user of C++. So the text of the main {\bf CHIPStest.cc}
+file is just reproduced in bold together with some comments. It is
+necessary to point out that this program which can be distributed
+together with the GEANT4 or the CHIPS event generator is not a part
+of the CHIPS event generator. This is just a tool for the standard
+test for the event generator, but it can be successfuly used for
+the physics analysis.
+
+{\bf //\#define debug}
+
+{\bf //\#define pdebug}
+
+// If these flags are uncommented it opens the debugging prints. This is an
+example of a debugging method, which is widely used in the CHIPS event
+generator.
+
+{\bf \#include 
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+iostream.h%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+}
+
+{\bf \#include 
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+fstream.h%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+}
+
+{\bf \#include 
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+iomanip.h%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+}
+
+{\bf \#include ''G4ios.hh''}
+
+// These are just useful standard headers for I/O. The {\bf G4ios.hh }stands
+for unification in working on different platforms.
+
+{\bf \#include ''G4QEnvironment.hh''}
+
+// This is the main and, in fact, the only header of the CHIPS model
+
+{\bf int main()}
+
+{\bf \{}
+
+// Here the main program CHIPStest starts
+
+{\bf \ \ G4cout%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+''Prepare chips.hbook file for HBOOK histograms''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+G4endl;}
+
+// Pay your attention to the fact that if you use the GEANT4 rules
+you must use {\bf G4cout }instead of {\bf cout}, {\bf G4cerr} instead of
+cerr, and {\bf G4endl} instead of {\bf endl} of C++.
+
+{\bf \ \ G4cout.setf(ios::scientific, ios::floatfield);}
+
+// This fixes formats of output for the {\bf G4cout} stream.
+
+{\bf \ \ ifstream inFile(''chipstest.in'', ios::in);}
+
+// This is the definition of the input file where you can change the
+parameters of the model without recompiling of the code (see example of
+values below).
+
+{\bf \ \ G4double temperature;}
+
+// The main parameter of the CHIPS model known as a critical
+temperature T$_{c}$. It is a good idea to use {\bf G4double} instead
+of standard C++ {\bf double} and {\bf G4int} instead of just
+{\bf int}, as the {\bf G4} variables are independent of the word
+length on the particular platform.
+
+{\bf \ \ G4double ssin2g;}
+
+// This is a s/u sea-factor which defines the s-quark suppression in respect
+to u and d quarks.
+
+{\bf \ \ G4double etaetap;}
+
+// This parameter is important only for $\eta $ production, which consists
+of not only quarks but sometimes of gluons too.
+
+{\bf \ \ G4double momb;}
+
+// This is a value of the momentum of the incident particle. All momentum
+and energy values in CHIPS are in MeV.
+
+{\bf \ \ G4double enb;}
+
+// Energy of virtual incident particle. If enb=0 (real particle), energy is
+automatically calculated using momb value.
+
+{\bf \ \ G4double cP;}
+
+// A clasterization parameter. If dA is a number of nucleons in the dense
+region of the nucleus, then $\frac{cP}{dA}$ is a clusterization probability,
+which is called $\omega $ in \cite{CHIPS2} (Appendix D).
+
+{\bf \ \ G4double fN;}
+
+// A number of quasi-free nucleons on the nuclear periphery is defined by
+the {\bf fN}$\cdot ${\bf A} value. The {\bf fN} parameter is named
+$\varepsilon _{1}$ in \cite{CHIPS2} (Appendix D). It increases a
+probability to find quasi-free nucleons calculated for only the dense
+nuclear matter (the nuclear perifery is not so dence).
+
+{\bf \ \ G4double fD;}
+
+// A number of peripheral dinucleon clusters is defined by the
+{\bf dN}$\cdot ${\bf A} value. The {\bf dN} parameter is named
+$\varepsilon _{2}$ in \cite{CHIPS2} (Appendix D). It increases a
+probability to find dinucleons calculated for the dense nuclear
+matter. The number of quasy free nucleons in the dense region is
+calculated as dA=A$\cdot $(1-fN-fD).
+
+{\bf \ \ G4double rM;}
+
+// This parameter can reduce (%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+1) or increase (%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+1) the quark fusion mechanism in respect to the quark exchange mechanism in
+nuclear matter. The user can vary it from 0 to $\infty .$
+
+{\bf \ \ G4double sA;}
+
+// This is a part of 4$\pi $ sector in which the secondary pions can be
+captured by the nucleus. As the limit is in terms of cos(), this parameter
+varies from -1 to 1 and in the present version of the CHIPS event
+generator it has some meaning only for the antiproton annihilation on
+nuclei (see Appendix B for details).
+
+{\bf \ \ G4int nop;}
+
+// A number of particles considered as candidates of hadronization and
+initialized in {\bf G4QCHIPSWorld.}
+
+{\bf \ \ G4int pPDG;}
+
+// The PDG code of the projectile. Only one projectile is used in this test
+program.
+
+{\bf \ \ G4inttPDG;}
+
+// The PDG code of the target. Target is always at rest and in the ground
+state, so its mass is automatically calculated.
+
+{\bf \ \ G4int nEvt;}
+
+// A number of events to be simulated. These are just declarations for the
+input parameters in the {\bf CHIPStest} program.
+
+\ \ {\small \ }{\bf inFile%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+temperature%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+ssin2g%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+etaetap%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+nop%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+momb%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+enb%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+pPDG}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ 
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+tPDG%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+nEvt%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+fN%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+fD%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+cP%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+rM%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+sA;}
+
+// This is how the user can read parameters from the {bf chipstest.in} file to
+the {\bf CHIPStest} program. The standard input file {\bf chipstest.in}
+contains only one line:
+
+{\it 180.00 0.10 0.30 164 25. 0. 22 90020020 2000 0.40 0.04 4.00 1.00 0.40 }.
+
+Usually it is necessary only to change the PDG
+codes of the projectile and of the target and the momentum of the incident
+particle (unless the particle is virtual and instead of 0 for the energy the
+real value of the energy is given). The clusterization parameters
+are more or less the same for all nuclei. For a number of
+reactions the model has not been tuned yet, so it is necessary to have in
+mind, that the meson production can be controlled by the {\bf rM} parameter
+and the production of the strange particles can be controlled by the
+{\bf ssin2g} parameter. The contribution of the secondary interactions
+(now only for the annihilation of the antibaryon on nuclei at rest)
+is controlled by the {\bf sA} parameter. The $\eta $\ production is
+controlled by the {\bf etaetap} parameter. If very heavy secondary
+nuclear fragments are under investigation the limit for the possible
+clusters {\bf nop} can be increased.
+
+{\bf \ \ G4QCHIPSWorld aWorld(nop);}
+
+// Here the {\bf G4QCHIPSWord} is created in a heap with {\bf nop}
+particles. The CHIPS event generator on fly will try to create new instances
+of the {\bf G4CHIPSWorld}, but as the World is already once created, the
+program gives only a pointer to the already created World. Using this
+pointer the program knows how many particles are defined in the World and
+tries to use them as possible candidates for hadronization. The smaller this
+number the faster the program, but the more restricted range of types of
+the secondary nuclear fragments can be generated.
+
+{\bf \ \ G4QNucleus::SetParameters(fN,fD,cP,rM);}
+
+// This member function defines the static parameters for the nuclear
+clusterization and relative weight for the vacuum quark fusion hadronization
+in the particular nucleus. It is possible that the weight of vacuum
+hadronization {\bf rM} can be reduced in the heavy nuclei, but up to now it
+was not necessary, so it is normally 1. Just to see what can happen if only
+the quark exchange hadronization mechanism is working, one can set this
+parameter to 0.
+
+{\bf \ \ G4Quasmom::SetParameters(temperature,ssin2g,etaetap);}
+
+// This member function defines the static parameters of quasmons. The temperature
+should not be changed as it is defined by
+the energy dependance of the pion multiplicity in the $p\bar{p}$ and
+$e^{+}e^{-}$ reactions \cite{CHIPS1} (Appendix D) and by the mass
+spectrum of hadrons\cite{massSpectr}. The second parameter is proportional
+to the yield of strange particles and it can be tuned by the user. The third
+parameter can be varied only in the case of $\eta $ production.
+
+{\bf \ \ G4QEnvironment::SetParameters(sA);}
+
+// Here more parameters of the first interaction can be added later. The sA
+parameter can be varied only for anti-proton annihilation on the nuclei.
+
+{\bf \ \ ofstream outFile(''chipstest.out'', ios::out);}
+
+{\bf \ \ outFile.setf(ios::scientific, ios::floatfield);}
+
+// Definition of the output file and formate definition for output numbers.
+It can be important only for the length of the output ASCII file.
+
+{\bf \ \ G4double mp=G4QPDGCode(pPDG).GetMass();}
+
+// This is a good example of how one can get the mass of the particle using its
+PDG code: the intermediate instance of the {\bf G4QPDGCode} class is created
+for the PDG code of the projectile particle and the {\bf GetMass()} member
+function gives a mass value for this particle.
+
+{\bf \ \ G4double ep=sqrt(mp*mp+momb*momb);}
+
+// It is a good idea to initialize a variable of C++ immediately at the
+creation point. So the value of the projectile energy is calculated even
+before it is known if this particle virtual or real.
+
+\ {\bf \ if(enb%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+0.) ep=enb;}
+
+// If particle is virtual, then the energy is selected from the input file.
+
+{\bf \ \ G4double mt=G4QPDGCode(tQPDG).GetMass();}
+
+// The same method of mass extraction is used for the target, so it is
+equally good for photons, hadrons or nuclei.
+
+{\bf \ \ G4QContent pQC=Q4QPDGCode(pPDG).GetQuarkContent();}
+
+{\bf \ \ G4int cp=pQC.GetCharge();}
+
+{\bf \ \ G4int ct=Q4QPDGCode(tPDG).GetQuarkContent().GetCharge();}
+
+// Here {\bf Q4QPDGCode(tPDG).GetQuarkContent()} is an intermediate instance
+of {\bf G4QContent} class.
+
+{\bf \#ifdef debug}
+
+{\bf \ \ G4cout%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+''Main: projQC=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+pQC%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+'', projCharge=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+pc}
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ {\bf 
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+'', targetCharge=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+ct%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+G4endl;}
+
+{\bf \#endif}
+
+// This printing can be opened if the {\bf debug} flag definition above is
+uncommented.
+
+\ {\bf \ G4int totC=cp+ct;}
+
+// Total charge of the reaction to be checked in every event.
+
+\ {\bf \ G4LorentzVector proj4Mom(0.,0.,momb,ep);}
+
+// The {\bf G4LorentzVector} is a very useful class (originally {\bf %
+LorentzVector}) of CLHEP Library adopted by GEANT4. It is widely used in the
+CHIPS event generator.
+
+\ \ {\bf G4double fEvt=nEvt;}
+
+// This is the simplest way to convert integer to double. To convert
+{\bf double} into {\bf integer} one can use {\bf iv=static\_cast%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+int%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+(fv)} to avoid compiler warnings.
+
+\ {\bf \ G4double sumE=0.;}
+
+// Counter of $\eta $
+
+{\bf \ \ G4double sumK=0.;}
+
+// Counter of kaons
+
+{\bf \ \ G4double sumG=0.;}
+
+// Counter for events with $\gamma $
+
+{\bf \ \ G4doublesumT=0.;}
+
+// Sum of $\gamma $\ energies over events with $\gamma $
+
+\ {\bf \ G4double sumN=0.; }
+
+// Counter for events with $\pi ^{-}$
+
+{\bf \ \ G4double sum0=0.; }
+
+//Counter for events with $\pi ^{0}$
+
+\ {\bf \ G4double sumP=0.; }
+
+// Counter for events with $\pi ^{+}$
+
+\ {\bf \ G4double sum1N=0.; }
+
+// Counters for event with only neutrons
+
+\ {\bf \ G4double sumNN=0.; }
+
+//Counter for events with neutrons
+
+\ {\bf \ G4double sumPP=0.; }
+
+// Counter for events with protons
+
+{\bf \ \ G4double sumAL=0.; }
+
+// Counter for events with $\alpha $. This is just resetting of counters.
+
+{\bf \ \ for (G4int ir=0; ir%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+nEvt; ir++)}
+
+{\bf \ \{}
+
+// This is just a loop over nEvt events.
+
+\ {\bf \ \ \ \ G4int iRandCount = nEvt\%100;}
+
+// Normally a number of events is of the order of hundreds, thousands or
+millions, so the low digits are used to make a sample of events in case of
+multiple call of the {\bf CHIPStest} program. E.g. if one calls
+{\bf CHIPStest} 3 times with the numbers of events 2001, 2002, and 2003, all
+three samples will be completely different and the statistics can be added,
+if one call {\bf CHIPStest} three times with the numbers of events 2000,
+2000, and 2000, then all three samples must be identical, otherwise it
+becomes impossible to find dip errors.
+
+\ \ {\bf \ \ \ while(iRandCount%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+0)}
+
+{\bf \ \ \ \ \ \{}
+
+{\small \ \ \ }{\bf \ \ \ \ \ \ G4double vRandCount = G4UniformRand();}
+
+// The {\bf G4UniformRand()} is another useful routine adopted by GEANT4
+from CLHEP Library.
+
+{\bf \ \ \ \ \ \ \ \ \ iRandCount - -;}
+
+{\bf \ \ \ \ \ \}}
+
+// This is a {\bf while} loop to shift random numbers.
+
+\ \ {\bf \ \ \ if(!(ir\%1000) \&\& ir)}
+
+{\bf \ \ \ \ \ \ G4cout%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+''CHIPStest: ''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+ir%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+'' events are simulated''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+G4endl;}
+
+// This is how every 1000 events the {\bf CHIPStest} informs the user that
+the program is still alive.
+
+{\bf \ \ \ \ \ G4LorentzVector totSum=G4LorentzVector(0.,0.,momb,ep+mt);}
+
+// This is how the total 4-momentum of the reaction can be made for the
+future check in every event (It can be prepared beyond the loop and be
+copied similarly to the total charge in the next line).
+
+{\bf \ \ \ \ \ G4int totCharge=totC;}
+
+// A copy of the total charge.
+
+{\bf \ \ \ \ \ G4QHadronVector projHV;}
+
+// Now instead of only one projectile CHIPS adopts a set of projectiles. Of
+cause the vector can consist of only one particle as in this particular
+case. This vector is created in C++ stack, not in C++ heap, so it is
+automatically deleted in the end of the loop (but not pointers and not
+instances to which pointers indicate!).
+
+{\bf \ \ \ \ \ G4QHadron* iH= new G4QHadron(pProg,proj4Mom);}
+
+// In this line the {\bf G4QHadron} instance is created in the C++ heap and 
+{\bf iH} is just a pointer to this instance of the class, so every time when
+the user creates something in C++ heap he becomes responsible for the
+destruction of the created instance of the class, otherwise the undeleted
+garbage is collected in the C++ heap and this results in the memory leak.
+There is no garbage collection service in C++!
+
+{\bf \ \ \ \ \ G4QEnvironment* pan = new G4QEnvironment(projHV, tPDG);}
+
+// This is the main line of the test program. The instance of the
+interaction class {\bf G4QEnvironment} is created here in C++ heap and
+should be destructed as soon as possible.
+
+{\bf \ \ \ \ \ G4std::for\_each(projHV.begin(), projHV.end(), DeleteQHadron());}
+{\bf \ \ \ \ \ projHV.clear();}
+
+// CLEAR here stands for excluding of the pointers and DESTROY stands for
+deleting of the instances of classes to which pointers indicate, so
+the {\bf iH} pointer can be used to delete the corresponding instance
+of the {\bf G4QHadron} class. It is important to understand that by deleting unnecessary
+instances of classes the user can avoid problems with the memory leak;
+
+{\bf \ \ \ \ \ G4QHadronVector* output = pan-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+Fragment();}
+
+// This is the point in the test program, where some convention in C++
+should be settled. At first glance nothing new is created in this line and
+the user is not responsible for the garbage collection. But which class
+created the instance of this output {\bf G4QHadronVector}? - Obviously the 
+{\bf pan} which is an instance of the {\bf G4QEnvironment} class. Then it is
+responsible for the garbage collection and clearing, destroying and deleting
+of instances in the destructor of {\bf G4QEnvironment}. In this case if
+the user tries to delete the instance of the {\bf G4QEnvironment} class
+as soon as possible, the {\bf output} vector will be lost. So the
+{\bf pan} delete can be postponed unless all the information is taken out from
+the {\bf output}. That is how it was done in the original CHIPS code.
+But the GEANT4 Collaboration prefers to share the responsibility. It is
+recommended to keep the small {\bf output} instance for a long time and
+delete the large {\bf pan} instance as soon as possible. In this case
+CHIPS creates the output  {\bf G4QHadronVector} in the heap and does
+not take any responsibility for its deleting! If an unexperienced user
+does not clear, destroy and delete the {\bf output}, then this should
+be a problem of him... So be careful and follow this example in
+detail in your own new classes or in new {\bf main}'s, otherwise after
+a number of events you will be stopped by the ''memory overflow''
+diagnostics. So any time, when you create a pointer remember
+that you are responsible to delete the instance to which this pointer
+indicates.
+
+{\bf \ \ \ \ \ delete pan;}
+
+// Here it is. The {\bf pan} is already disappeared, but the {\bf output}
+still exists as a smile of Cheshire Cat.
+
+{\bf \ \ \ \ \ G4int tNH = output-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+size();}
+
+// This gives to the user a number of {\bf G4QHadron} instances in the
+{\bf output} vector.
+
+{\bf \#ifdef pdebug}
+
+{\bf \ \ \ \ \ \ G4cout%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+''DONE: ir=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+ir%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+'': A\#of Hadrons=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+tNH%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+G4endl;}
+
+{\bf \#endif}
+
+// An example of debug printing for another flag {\bf pdebug}.
+
+{\bf \ \ \ \ \ G4double EGamma =0.;}
+
+// Just a sum of $\gamma $ energies for the particular event.
+
+{\bf \ \ \ \ \ G4int npt=0;}
+
+{\bf \ \ \ \ \ G4int nGamma=0;}
+
+{\bf \ \ \ \ \ G4int nP0=0;}
+
+{\bf \ \ \ \ \ G4int nPP=0;}
+
+{\bf \ \ \ \ \ G4int nPN=0;}
+
+{\bf \ \ \ \ \ G4int nKaons=0;}
+
+{\bf \ \ \ \ \ G4int nEta=0;}
+
+{\bf \ \ \ \ \ G4int nAlphas=0;}
+
+{\bf \ \ \ \ \ G4int nPhotons=0;}
+
+{\bf \ \ \ \ \ G4int nProtons=0;}
+
+{\bf \ \ \ \ \ G4int nNeutrons=0;}
+
+{\bf \ \ \ \ \ G4int nSpNeut=0;}
+
+{\bf \ \ \ \ \ G4int nSpAlph=0;}
+
+{\bf \ \ \ \ \ G4int nOmega=0;}
+
+{\bf \ \ \ \ \ G4int nDec=0;}
+
+// These are just counters for the particular event, which are
+explained below.
+
+\ \ \ \ {\bf \ G4bool alarm=false;}
+
+// This flag is used for emergency exception in case of some serious error
+found in the {\bf output} vector.
+
+{\bf \ \ \ \ \ for (G4int ind=0; ind%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+tNH; ind++)}
+
+{\bf \ \ \ \ \ \ \{}
+
+// The loop over the output hadrons starts here.
+
+{\bf \ \ \ \ \ \ \ \ G4QHadron* curH=output-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+operator[](ind);}
+
+// Now as the user has a pointer to the {\bf output }in the C++ heap, not to
+the {\bf output} instance in the C++ stack, it is necessary to use {\bf %
+output-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+operator[](ind)} instead of {\bf output[ind]} (which is much more
+readable; be careful: derefferencing does not work!) the way it was in
+original CHIPS code, when instead of {\bf G4QHadronVector* output} the
+{\bf G4QHadronVector output} was returned to the user and the user was not
+responsible for deleting the vector itself as the vector was deleted in
+stack automatically. The possible problem could associated with the pointers.
+When the vector is deleted the pointers in the vector still remain
+and to escape the memory leak one needs to CLEAR the vector first and then
+delete it. So making a copy of the pointer to the instance you get
+a useful tool to delete one by one the {\bf G4QHadron }instances of
+the {\bf output} vector using {\bf delete curH }command.
+
+\ {\bf \ \ \ \ \ \ \ G4double m=curH-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+GetMass();}
+
+// So you see the {\bf GetMass()} member function is pretty common for
+different CHIPS classes in other words this is an overloaded member
+function. The same thing can be said about {\bf Get4Momentum()} or
+{\bf GetQC()} ({\bf GetQuarkContent()} in historically first classes,
+which will be corrected in future), {\bf GetPDGCode()},
+{\bf GetQPDG()} (the difference is that {\bf GetPDGCode()} returns
+just a {\bf G4int} value and {\bf GetQPDG()} returns
+the instance of the {\bf G4QPDGCode} class, which can answer a lot of
+questions and make a lot of actions). So {\bf m} is just a mass value for
+the hadron in the {\bf output} vector.
+
+{\bf \ \ \ \ \ \ \ \ G4LorentzVector lorV=curH-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+Get4Momentum();}
+
+// This is a 4-momentum of the hadron. Be careful, the accuracy of a
+computer is restricted, so the mass which is calculated from energy and
+momentum ({\bf lorV.m()}) coming from complicated kinematical calculations,
+can be slightly (usually not more than a few KeV) different from the basic
+mass. But even worse can happen. If there is a mistake in the program one
+can get a hadron under or above mass shell. It should be checked:
+
+{\bf \ \ \ \ \ \ \ \ \ if(abs(m-lorV.m())%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+.003)}
+
+{\bf \ \ \ \ \ \ \ \ \ \{}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ G4cerr%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+''CHIPStest: m=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+lorV.m()%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+'' \# ''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+m}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+'', d=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+lorV.m()-m%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+G4endl;}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ alarm=true;}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ //G4Exception(''CHIPStest: Wrong mass'');}
+
+{\bf \ \ \ \ \ \ \ \ \ \}}
+
+// Here another output flow {\bf G4cerr} is used. According to the GEANT4
+convention this flow comes to the screen even when the {\bf G4cout} flow is
+directed to the file. This property can be useful. The {\bf G4Exception}
+normally just stops the program, but it can be treated by a head routine to
+avoid unnecessary stops in a big program. In this particular version of the 
+{\bf CHIPStest} this line is commented and the {\bf alarm} flag is
+used instead.
+
+{\bf \ \ \ \ \ \ \ \ G4int d=curH-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+GetNFragments();}
+
+// This was a very important value as it helps to navigate the {\bf output }
+vector. For the real output hadron it should be zero. It means that this
+particle did not decay. If it did (as e.g. $\rho $ meson), then it is still
+in the {\bf output} vector, but it is marked by a {\bf d} number different
+from zero. One can ignore the hadrons with non zero NFragments values or use
+this value to reconstruct the original scheme of fragmentation. But in
+the present version this feature is not used. All intermediate hadrons
+are suppressed now and should not appear in the output. Nevertheless
+it is safer to check this value as in future versions this
+possibility can be opened or there can appear a flag, which opens or
+closes this option.
+
+{\bf \ \ \ \ \ \ \ \ G4ThreeVector p = lorV.vect();}
+
+// This is another CLHEP class adopted by GEANT4. It is just a 3-vector part
+of the 4-vector (a 3-momentum vector or a space vector)
+
+{\bf \ \ \ \ \ \ \ \ G4doublee=lorV.e();}
+
+// This is an example how energy can be extracted from the 4-vector.
+
+{\bf \ \ \ \ \ \ \ \ G4int c=curH-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+GetPDGCode();}
+
+// Extracts an {\it integer} PDG code of the hadron (remember that it can be
+a photon, if PDG=22).
+
+{\bf \ \ \ \ \ \ \ \ \ if(!d\&\&(c==90000002%
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+c==90002000%
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+c==92000000))}
+
+{\bf \ \ \ \ \ \ \ \ \ \{}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ G4cerr%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+''CHIPStest: ***Dibaryon*** PDG=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+c%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+G4endl;}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ alarm=true;}
+
+{\bf \ \ \ \ \ \ \ \ \ \}}
+
+// If the hadron did not decay and it is a dibaryon consisting of identical
+baryons, then this is an error in the program.
+
+{\bf \ \ \ \ \ \ \ \ if(!d) npt++;}
+
+// It just filters decayed hadrons and counts final hadrons.
+
+{\bf \ \ \ \ \ \ \ \ if(d) nDec+=d;}
+
+// This counts how many hadrons are products of decay (not clear in case of
+cascade decays!)
+
+{\bf \ \ \ \ \ \ \ \ if(c==223) nOmega++;}
+
+{\bf \ \ \ \ \ \ \ \ if(c==22) nPhotons++;}
+
+{\bf \ \ \ \ \ \ \ \ if(c==311%
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+c==321%
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+c==-311%
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+c==-321) nKaons++;}
+
+{\bf \ \ \ \ \ \ \ \ if(c==221) nEta++;}
+
+{\bf \ \ \ \ \ \ \ \ if(c==90002002) nAlphas++;}
+
+{\bf \ \ \ \ \ \ \ \ if(c==2212%
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+c--90001000) nProtons++;}
+
+{\bf \ \ \ \ \ \ \ \ if(c==2112%
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+c==90000001) nNeutrons++;}
+
+{\bf \ \ \ \ \ \ \ \ if((c==2112%
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+c==90000001)\&\&abs(e-1005.)%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+3.) nSpNeut++;}
+
+{\bf \ \ \ \ \ \ \ \ if(!d \&\& c==90002002 \&\& e-m%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+7.) nSpAlph++;}
+
+{\bf \ \ \ \ \ \ \ \ if(c==111) nP0++;}
+
+{\bf \ \ \ \ \ \ \ \ if(c==-211) nPN++;}
+
+{\bf \ \ \ \ \ \ \ \ if(c==211) nPP++;}
+
+{\bf \ \ \ \ \ \ \ \ if(c==22) nGamma++;}
+
+{\bf \ \ \ \ \ \ \ \ if(c==22) EGamma+=e;}
+
+// These are just self explaining counters.
+
+{\bf \ \ \ \ \ \ \ \ if(!d) totCharge-=curH-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+GetCharge();}
+
+// The total charge is reduced. It should be zero at the end if the
+charge is conserved in the event.
+
+{\bf \ \ \ \ \ \ \ \ if(!d) totSum-=lorV;}
+
+// The total 4-momentum is reduced. It should be zero at the end.
+
+{\bf \ \ \ \ \ \}}
+
+// Loop over output hadrons ends here.
+
+{\bf \ \ \ \ \ \ G4double ss=abs(totSum.t())+abs(totSum.x())}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
++abs(totSum.y())+abs(totSum.z());}
+
+// That is what should be zero when the residual 4-momentum is zero.
+
+{\bf \ \ \ \ \ \ //if(totCharge%
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+ss%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+0.005)}
+
+{\bf \ \ \ \ \ \ if(totCharge%
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+ss%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+0.005%
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+alarm)}
+
+{\bf \ \ \ \ \ \ //if(totCharge%
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+ss%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+0.005%
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+alarm%
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+nGamma)}
+
+// There was a big fight to suppress $\gamma $ output as usually it means
+that the program does not find further hadronic fragmentation channels... In
+some versions, where $\gamma $'s are suppressed this diagnostic print can be
+uncommented, so be careful and comment it if the G4Exception stops here.
+The same is true for the other diagnostic prints (including the check
+of the dibaryon pairs). If you find the error, comment the check, inform
+authors, attaching the main {\bf CHIPStest.cc} code and the
+{\bf chipstest.in} files, and continue working.
+
+{\bf \ \ \ \ \ \ //if(totCharge%
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+ss%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+0.005%
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+alarm%
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+nSpNeut)}
+
+{\bf \ \ \ \ \ \ //if(totCharge%
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+ss%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+0.005%
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+alarm%
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+nSpAlph)}
+
+{\bf \ \ \ \ \ \ \{}
+
+{\bf \ \ \ \ \ \ \ \ \ G4cerr%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+''***CHIPStest:n=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+ir%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+'': \#ofH=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+tNH}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+'',s4M=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+totSum%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+'',sC=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+totCharge%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+G4endl;}
+
+// In case an error is found, the diagnostics print starts here
+
+{\bf \ \ \ \ \ \ \ \ \ for (int indx=0; indx%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+tNH; indx++)}
+
+{\bf \ \ \ \ \ \ \ \ \ \{}
+
+// A short loop over hadrons starts here. The {\bf int} is used here
+instead of {\bf G4int} just to demonstrate that sometimes it is not a bad
+idea to use a short notation in simple cases. Here {\bf indx} is always a
+small number, so nobody cares about the word length. Another point is that
+we use {\bf indx} instead of {\bf ind }as the{\bf \ ind }is still flying in
+the air since the previous loop over hadrons. Another choice would be to
+write {\bf for(ind=0; ind%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+tNH;ind++)} not declaring the {\bf ind} second time.
+
+\ {\bf \ \ \ \ \ \ \ \ \ \ \ G4QHadron* curH=output-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+operator[](indx);}
+
+// It is in the other {\it name space}, so we can use the same name for the
+pointer and following variables.
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ G4double m=curH-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+GetMass();}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ G4LorentzVector lorV=curH-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+Get4Momentum();}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ G4int d=curH-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+GetNFragments();}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ G4ThreeVector p = lorV.vect();}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ G4double e=lorV.e();}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ G4int c=curH-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+GetPDGCode();}
+
+// Many other useful parameters can be calculated, e.g. {\bf ap=lorV.rho()}
+is an absolute value of the 3-momentum and the {\bf cost=lorV.pz()/ap} is
+cos($\theta $). A lot of other functions associated with the G4LorentzVector
+class can be found in the manual for the CLHEP library mentioned above.
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ G4cerr%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+''\#''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+indx%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+''(''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+d%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+''), PDG=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+c%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+'', m/LV=''}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+m%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+lorV%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+'',T=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+lorV.e()-m%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+G4endl;}
+
+{\bf \ \ \ \ \ \ \ \ \ \}}
+
+// End of the diagnostics print. Pay attention to the way of
+printing of the {\bf lorV}. There is some special method of printing in
+this class. CHIPS classes normally have such overloaded methods of printing
+either. So you can try to print instances of CHIPS classes (try with simple
+classes, as the complicated classes do not have such methods, and it must be
+improved in future).
+
+{\bf \ \ \ \ \ \ \ \ G4Exception(''***CHIPStest:ALARM/ch/en/mom is not
+conserved'');}
+
+{\bf \ \ \ \ \ \ \}}
+
+// This is the postponed exception which follows the complete diagnostics
+print.
+
+{\bf \ \ \ \ \ \ sum0+=nP0;}
+
+{\bf \ \ \ \ \ \ sumP+=nPP;}
+
+{\bf \ \ \ \ \ \ sumN+=nPN;}
+
+{\bf \ \ \ \ \ \ G4int nPions=nP0+nPP+nPN;}
+
+{\bf \ \ \ \ \ \ sumG+=nGamma;}
+
+{\bf \ \ \ \ \ \ sumT+=EGamma;}
+
+{\bf \ \ \ \ \ \ if(nAlphas)sumAL++;}
+
+{\bf \ \ \ \ \ \ if(nProtons)sumPP++;}
+
+{\bf \ \ \ \ \ \ if(nNeutrons)sumNN++;}
+
+{\bf \ \ \ \ \ \ if(nNeutrons\&\&!nProtons\&\&!nAlphas) sum1N++;}
+
+{\bf \ \ \ \ \ \ if(nKaons) sumK++;}
+
+{\bf \ \ \ \ \ \ if(nEta)sumE++;}
+
+{\bf \ \ \ \ \ \ if(nPhotons)nPions=11;}
+
+{\bf \ \ \ \ \ \ if(nKaons==2\&\&npt==2) nPions-1;}
+
+{\bf \ \ \ \ \ \ else if(nKaons) nPions=10;}
+
+{\bf \ \ \ \ \ \ G4std::for\_each(output-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+begin(), output-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+end(), DeleteQHadron());}
+
+{\bf \ \ \ \ \ \ output-> clear();}
+
+// Here the user cleans up the pointers and delete the {\bf G4QHadron}
+instances in the {\bf output} vector (the garbage collection
+responsibility). This is how it can be done for the STL vectors of pointers.
+Any CHIPS {\bf G4QClassVector} has the {\bf DeleteQClass()} member
+function, which deletes the instance to which the pointer of the STL
+vector indicates.
+
+
+{\bf \ \ \ \}}
+
+{\bf \ \ \ cerr%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+''Relative yields: pi-=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+sumN/fEvt%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+'',pi+=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+sumP/fEvt}
+
+{\bf \ \ \ \ \ \ \ \ \ \ 
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+'',pi0=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+sum0/fEvt%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+'',K=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+sumK/fEvt}
+
+{\bf \ \ \ \ \ \ \ \ \ \ 
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+'',eta=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+sumE/fEvt%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+'',gamma=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+sumG/fEvt}
+
+{\bf \ \ \ \ \ \ \ \ \ \ 
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+''(%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+E%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+sumT/sumG%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+''),n=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+sumNN/fEvt}
+
+{\bf \ \ \ \ \ \ \ \ \ \ 
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+'',p=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+sumPP/fEvt%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+'',alpha=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+sumAL/fEvt}
+
+{\bf \ \ \ \ \ \ \ \ \ \ 
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+'',onlyN=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+sum1N/fEvt%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+endl;}
+
+// The loop over the events ends here. The {\bf cerr} is used just to be
+sure that the final printing comes to the screen not to the file. The {\bf %
+G4cerr} is not used here as it uses a scientific notation for parameter
+printing, which make the output line too long.
+
+{\bf \ \ return EXIT\_SUCCESS;}
+
+\}
+
+// This is a traditional finish of the main in GEANT4 (it closes what should
+be closed).
+
+\section{Approximation of photonuclear cross sections.}
+
+\noindent \qquad The approximation of photonuclear cross sections
+covers all energies from the threshold of the hadron production to
+the formally infinit energy. The total energy region is subdivided in
+three main regions: 
+the GDR region, the $\Delta$ region, and the Reggeon-Pomeron
+region, and two intermediate regions: the ``quasi-deuteron'' region,
+which is between the GDR region and the $\Delta$ region, and the
+``Ropper'' region, which is between the $\Delta$ region and the
+Reggeon-Pomeron region.
+
+        In the GEANT4 photonuclear data base there are about 50 nuclei,
+for which the photonuclear absorbtion cross sections have been
+measured. Taking into accout that for heavy nuclei at low energies the
+cross sections of the photoproduction of neuterons is close to the
+photonuclear absorbtion cross section the data base can be easily
+enlarged, but at the current release it was reduced to 14
+nuclei: $^1$H, $^2$H, $^4$He, $^6$Li, $^7$Li, $^9$Be, $^{12}$C, $^{16}$O,
+$^{27}$Al, $^{40}$Ca, Cu, Sn, Pb, U.
+
+        In all regions the $e=log(E)$ scale (where E is an energy of the
+incedent photon) was used, to make the future
+simulation of the electronuclear reactions easier. So the power law, which is
+characteristic to the GDR region and for the Reggeon-Pomeron region,
+looks like an exponent. For the $\Delta$ isobar the unusual
+logarithmic Breit-Wigner form was used.
+        In the GDR region it was found that the GDR can be subdivided in
+two contributions. According to the CHIPS approach, which includes the
+nonrelativistic phase space of nucleons to explain evaporation, the
+GDR maximum should be described by the power law, so for the most
+nuclei only two powers $p_1$=4 and $p_2$=8 were used (for $A
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+12$ it is 3 and 6, for $A
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+8$ it is 2 and 4, for $A
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+4$ it is 1 and 2). This power law was cut by
+the nuclear-barrier-reflection function, which looks like a threshold.
+The threshold function, which is universal for all regions, has a form
+\begin{equation}
+th(e,b,s)=\frac{1}{1+exp(\frac{b-e}{s})}.
+\label{threshold}
+\end{equation}
+Either of the GDR contributions has the following form: 
+$GDR(e,p,b,c,s)=th(e,b,s)\cdot exp(c-p\cdot e)$.
+The b, c, and s parameters are A-dependent. The values of $p_1$ and
+$p_2$ are already mentioned above. The values $b_1$, $b_2$, $c_1$,
+$c_2$, $s_1$, and $s_2$ were found for the listed 14 nuclei and
+interpolated for other nuclei.
+
+        The $\Delta$ isobar region was parametrized in a form:
+\begin{equation}
+\Delta (e,d,f,g,r,q)=\frac{d\cdot th(e,f,g)}{1+r\cdot (e-q)^2}.
+\label{Isobar}
+\end{equation}
+Here the parameter q can be interpreted as a position of the $\Delta$
+isobar and the r parameter can be interpreted as the reversed
+width. The A-dependence of these parameters (where $a=log(A)$) are
+
+\begin{itemize}
+\item  $d=0.41\cdot A$ (for $^1$H it is 0.55, for $^2$H it is 0.88),
+which means that the $\Delta$ yield is proportional
+to A; 
+
+\item  $f=5.13-.00075\cdot A$; $g=.09$ ($g=.04$ for $A
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+7$), where the value of
+$exp(f)$ shows how the pion threshold depends on A. It is clear that
+the threshold becomes 140 MeV only for uranium; for the rest of the nuclei
+it is higher. It can be explained by the $\Delta+N\rightarrow N+N$ reaction,
+which can take place in nuclear medium below the pion threshold. 
+
+\item  $q=5.84-\frac{.09}{1+.003\cdot A^2}$, which means that the
+``mass'' of the $\Delta$ isobar moves to lower energies; the reason
+can be the same as for the pion threshold.
+
+\item $r=11.9-a\cdot 1.24$ (for $^1$H it is 18.), that is, the reversed width becoming
+smaller with A, which means that the width increases; the reason can
+be the same.
+\end{itemize}
+
+
+The transition ``Ropper'' (r postfix) and the ``quasi-deuteron''
+(d postfix) contributions were approximated, using the same form
+of parametrization (similar to the $\Delta$ contribution, but
+without the pion threshold factor):
+\begin{equation}
+Tr(e,v,w,u)=\frac {v}{1+w\cdot (e-u)^2}.
+\label{Transition}
+\end{equation}
+
+It should be noted, that for $^1$H and $^2$H instead of the
+``quasi-deuteron'' contribution, which is almost zero for these
+nuclei the third barionic resonance was used, so the parameters for
+these two nuclei are quite different, but trivial and do not have
+any A-dependence.
+ 
+The values of parameters are ($a=log(A)$):
+\begin{itemize}
+\item  $v_{d}=\frac {exp(-1.7+a\cdot 0.84)}{1+exp(7\cdot (2.38-a))}$,
+which shows that the A-dependence of the
+``quasi-deuteron'' region is stronger than $A^{0.84}$. The
+denominator is necessary to emphasize that this contribution disappears
+for light nuclei
+(in fact it takes place somewhere between $^6$Li and $^7$Li). For $^1$H
+it is .078 and for $^2$H it is .08, so the high delta
+contribution does not look really growing; its relative contribution
+disappears with A.
+
+\item  $u_{d}=3.7$; $w_d=0.4$, the experimental information is not
+enough to vary these parameters for the position and for the width
+of the ``quasi-deuteron'' contribution. For $^1$H and for
+ $^2$H they are 6.93 and 90, which possibly indicates on the $Delta$(1600)
+and $\Delta$(1620) contributions.
+
+
+\item  $v_{r}=exp(-2.+a\cdot 0.84)$, the A-dependence for both transition regions
+appeared to be the same ($A^{0.84}$). For $^1$H it is 0.22 and
+for $^2$H it is 0.34.
+
+\item $u_{r}=6.46+a\cdot 0.061$ (for $^1$H and for $^2$H it is 6.57),
+so the ``mass'' of the ``Ropper'' starts with the 1440 MeV value and
+moves to the greater value with A.
+
+\item $w_{r}=0.1+a\cdot 1.65$ (for $^1$H it is 20. and for $^2$H it is 15.).
+\end{itemize}
+
+
+In fact, what is called the transition ``Ropper'' contribution, can
+not be identified with real resonance, as this is really the formal
+transition contribution. It becomes clear from the Regge-Pomeron
+contribution. It was parametrized in the following form:
+\begin{equation}
+RP(e,h)=h\cdot th(7.,0.2)\cdot (0.0116\cdot exp(e\cdot 0.16)+0.4\cdot exp(-e\cdot 0.2)),
+\label{Regge}
+\end{equation}
+where $h=A\cdot exp(-a\cdot (0.885+0.0048\cdot a))$.
+
+The result of the approximation is shown in Fig.~\ref{photonuc} for the 6 of the
+14 nuclei.
+\begin{figure}
+  \resizebox{1.00\textwidth}{!}
+{
+   \includegraphics{photonuclear.eps}
+}
+\caption{Photoabsorbtion cross sections for 6 basic nuclei.}
+\label{photonuc}
+\end{figure}
+
+
+\section{Approximation of the electronuclear cross sections.}
+
+\noindent \qquad The approximation of the electronuclear cross
+sections is based on the method of equivalent photons. Qualitatively an
+electron can be considered as a flux of equivalent photons, which
+interacts with nuclei according to the photonuclear cross section. The letter
+condition restrict the $Q^2$ of the equivalent photons. The basic idea
+of the method was stated by E. Fermi and developed by C. F. von
+Weizsacker and E. J. Williams in 1934. In this chapter we use the
+formula from \cite{chpd.eqPhotons}, which is
+\begin{equation}
+dn(y)=-\frac {2\alpha}{\pi}\cdot log(y) dlog(y),
+\label{eqPh}
+\end{equation}
+where $y=\frac {\nu}{E}$, E is the energy of the electron and $\nu$ is
+the energy of the equivalent photon. For the similation purposes
+this function should be multiplied by the photonuclear cross section
+and integrated:
+\begin{equation}
+\sigma_{eA}=log(E)\cdot \int \sigma_{\gamma A}(\nu )dlog(\nu ) -
+\int log(\nu )\cdot \sigma_{\gamma A}(\nu )dlog(\nu ),
+\label{electroNuc}
+\end{equation}
+the integration for each particular $E$ is done from the threshold
+energy , where the $\sigma_{\gamma A}(\nu)$
+becomes not zero, till the electron energy $E$, where the equivalent
+photon spectrum drops to zero.
+So these integrals should be parametrized as a function of the upper
+limit. We call the first integral $I_1(E)$ and the second
+$I_2(E)$. These two functions were prepared for all 14 nuclei, which
+were discussed in the previous chapter, and for the intermediate
+nuclei they are interpolated.
+        After the cross section is calculated the values of
+$log(E)\cdot I_1(E)-I_2(E)$ is known and can be used for the
+randomization of the equivalent photon energy $\nu$. If $r$ is the
+random number than the equation 
+\begin{equation}
+log(\nu)\cdot I_1(\nu)-I_2(\nu)=r\cdot (log(E)\cdot I_1(E)-I_2(E))
+\label{EqPhEq}
+\end{equation}
+should be solved
+
+Up to 2 GeV the $I_i$ functions were tabulated, but beyond 2 GeV they
+are functional. Unfortunately it was not possible to use the same
+Reggeon-Pomeron function, which was defined in the previous chapter
+(Eq.\ref{Regge}), as the contribution of the resonances is still high
+at 2 GeV, to make the photonuclear crossection smooth at 2 GeV the
+Reggeon part of Eq.\ref{Regge} was changed and the Pomeron part was
+left the same:
+\begin{equation}
+RP(e,h)=h\cdot (0.0116\cdot exp(e\cdot 0.16)+1.*exp(-e\cdot 0.26)),
+\label{newRegge}
+\end{equation}
+This function starts from 2 GeV, so it does not need the threshold
+part. The multiplication by unit is not a mistake as
+it is 0.75 for $^1$H, 0.78 for $^1$H, and .9 for other nuclei
+lighter than oxigen. So the $I_i$ in the functional part can be
+analitically integrated and then the Eq. \ref{EqPhEq} can be solved by
+the Newton's method. Fortunately the equation is quite linear.
+
+That is how the primary electron is split in the model in the secondary electron
+and the equivalent photon under the condition of the following
+photonuclear interaction of the equivalent photon.
+
+It must be mentioned that there are different definitions for the
+equivalent photons. At high energies it sometimes expands to the
+virtual photons with high $Q^2$. An advantage is that
+the hard processes appear in the model, but the disadvantage of this
+approach is that in this case the $\sigma_{\gamma^*A}$ is not
+known. The only guess is that
+$\sigma_{\gamma^*A}=\sigma_{\gamma A}(W^2)$,
+ where $W^2 = M^2+2\cdot \nu \cdot M - Q^2$ instead of the
+$s=M^2+2\cdot E_\gamma \cdot M$ in the photonuclear reaction. But it
+is known that even shadowing effect is different for the real and
+virtual photonuclear reactions \cite{Shadowing}.
+
+Nevertheless, having in mind the possible future development and
+to compare the different approaches, we consider the formula for the
+hard processes, whic according to \cite{Guilo} is
+\begin{equation}
+dn(y)=\frac{\alpha}{2\pi}\left[
+(2-2y+y^2)log)\left( \frac{Q^2_{max}}{Q^2_{min}} \right) -
+2(1-y)\left( 1-\frac{Q^2_{max}}{Q^2_{min}} \right)
+\right]\cdot log(y)
+\label{EqPhHigh}
+\end{equation}
+was considered.
+At high energies the second term can be neglected in comparison to the
+first term. The $Q^2_{min}=\frac{m^2y^2}{1-y}$, where $m$ is a mass of
+the electron, and the $Q^2_{max}$. In the case of almost real equivalent
+photons it should be of the order of $m^2$, and then in the small $y$ region
+one gets just Eq.\ref{eqPh}. The more accurate formula in the low $y$
+region is
+\begin{equation}
+dn(y)=\frac{2\alpha}{\pi}(1-y)\left[ log(y)+C \right] \cdot log(y),
+\label{EqPhNew}
+\end{equation}
+where C is a constant defined by the $Q^2_{max}$ and the second
+term. When $y$ becomes close to unit the additional $(1-y)$ term
+reduces the probability for the hard photons and the C-term increases
+it, so there is a kind of a compensation. On the basis of this
+estimate we kept the equivalent photon distribution in the simple form
+of the Eq. \ref{eqPh}, which is good enough for the simulation in
+matter. Only extensive measurements of the electronuclear hadron
+production cross section can force us to improve the simple approach because
+
+\begin{itemize}
+\item  The Eq.\ref{eqPh} covariant, that is independent on the energy
+of the electron. The equivalent photon method gives a kind
+of a ``photonic structure function'' of the electron, so the $y$
+variable is similar to the $x$ variable in the structure functions of
+hadrons. In case of the Eq.\ref{eqPh} the intergal of the number of
+equivalent photons fom $y$ to 1 diverges as $log^2(y)$, which is elegant
+and simple. If $C$ in the Eq.\ref{EqPhNew} is energy independent and is
+just a constant or a function of only $y$, it can be covariant either,
+but nobody proposed such formula.
+
+\item  Even if the part of photons with high $Q^2$ is added and the
+equivalent photon flux increases at large $y$, even then, according
+to \cite{Electronuc}, the cross section of the virtual photons melts
+resonances and become smaller in respect to the $Q^2=0$ cross
+sections, so this additional part becomes less important.
+
+\item  The Eq.\ref{EqPhNew} is created, tested and used only for the
+high energies and it is not clear how good it is at low energies,
+which are important for the electromagnetic shower simulation in matter.
+\end{itemize}
+
+
+
+\section{GEANT4 interface joining the String model and the CHIPS.}
+
+\noindent \qquad The basic assumption of this joining is the energy
+loss of the high energy hadron in nuclear matter (about 1 GeV/fm)
+
+\section{Conclusion.}
+
+\noindent \qquad This Manual for the release of CHIPS in GEANT4 is
+made not only for the blind im matter simulation of the hadronic
+processes, but for those users, who would like to improve the
+interaction part of the CHIPS event generator for their own
+specific reactions. For these users some advice concerning the
+data presentation can be useful.
+
+This is a good idea to use a normalized invariant function $\rho (k)$%
+\[
+\rho =\frac{2E\cdot d^{3}\sigma }{\sigma _{tot}\cdot d^{3}p}\propto \frac{%
+d\sigma }{\sigma _{tot}\cdot pdE}, 
+\]
+where $\sigma _{tot}$\ is a total cross section of the reaction. So the
+simple rule is to divide the distribution over the hadron energy (E) by the
+momentum and by the reaction cross section. The argument $k$ can be
+calculated for any outgoing hadron or fragment as 
+\[
+k=\frac{E+p-B\cdot m_{N}}{2}, 
+\]
+which has a meaning of the energy of the primary quark-parton. As the
+spectrum of the quark partons is universal for all the secondary hadrons or
+fragments, the distributions over this parameter have similar shape for all
+the secondaries. They should differ only approaching the kinematic limits or
+in the evaporation region. This feature is useful for any analysis of
+experimental data independently of the CHIPS model.
+
+The released version of the CHIPS event generator is not perfect yet, so in case
+of an error it is necessary to distinguish between the error of the test
+program ({\bf CHIPStest.cc}) and the error in the body of the generator.
+Usually the error printing contains the address of the routine, but sometimes
+the name is abbreviated so that instead of the {\bf G4QEnvironment }one can
+find {\bf G4QE}, instead of the {\bf G4Quasmon} the {\bf G4Q} is used, or
+instead of the {\bf G4QNucleus} only the {\bf G4QN} appears. The errors in
+the {\bf CHIPStest.cc} can be easily analyzed. Even if sometimes energy or
+charge is not conserved, just exclude this check and keep going. On the
+other hand, if the error is in the body it is difficult to fix. The normal
+procedure is to uncomment the flags of the debugging prints in the
+corresponding part of the source code and try to find out the reason. Anyway
+inform authors about the error. Do not forget to attach the
+{\bf CHIPStest.cc} and the {\bf chipstest.in} files.
+
+The concluding remarks should be made about the parameters of the model. The main
+parameter (the critical temperature T$_{c}$) should not be varied. A big set
+of data confirms {\bf 180 MeV} while from the mass spectrum of hadrons
+it can be found more precisely as 182 MeV. The clusterization
+parameter is {\bf 4.} which is just about 4$\pi /3.$
+If the quark exchange starts at the mean distance between baryons in the
+dense part of the nucleus, then the radius of the clusterization sphere is
+twice bigger than ''the radius of the space, occupied by the baryon''.
+It gives 8 for the parameter, but the space, occupied by the baryon can not
+be spheric; only cubic subdivision of space is possible so the factor $\pi
+/6 $ appears. But this is a rough estimate, so {\bf 4} or even {\bf 5} can be
+tried. The surface parameter fD is slightly varying with A growing
+from 0 to 0.04. For the present CHIPS version the recomended
+parameters for low energies are
+
+\begin{tabular}{llllllllll}
+{\bf A} & {\bf T} & {\bf s/u} & {\bf eta} & {\bf noP} & {\bf fN} & {\bf fD}
+& {\bf Cp} & {\bf rM} & {\bf sA} \\ 
+{\bf Li} & 180. & 0.1 & 0.3 & 223 & .4 & .00 & 4. & 1.0 & 0.4 \\ 
+{\bf Be} & 180. & 0.1 & 0.3 & 223 & .4 & .00 & 4. & 1.0 & 0.4 \\ 
+{\bf  C} & 180. & 0.1 & 0.3 & 223 & .4 & .00 & 4. & 1.0 & 0.4 \\ 
+{\bf  O} & 180. & 0.1 & 0.3 & 223 & .4 & .02 & 4. & 1.0 & 0.4 \\ 
+{\bf  F} & 180. & 0.1 & 0.3 & 223 & .4 & .03 & 4. & 1.0 & 0.4 \\ 
+{\bf Al} & 180. & 0.1 & 0.3 & 223 & .4 & .04 & 4. & 1.0 & 0.4 \\ 
+{\bf Ca} & 180. & 0.1 & 0.3 & 223 & .4 & .04 & 4. & 1.0 & 0.4 \\ 
+{\bf Cu} & 180. & 0.1 & 0.3 & 223 & .4 & .04 & 4. & 1.0 & 0.4 \\ 
+{\bf Ta} & 180. & 0.1 & 0.3 & 223 & .4 & .04 & 4. & 1.0 & 0.4 \\ 
+{\bf  U} & 180. & 0.1 & 0.3 & 223 & .4 & .04 & 4. & 1.0 & 0.4
+\end{tabular}
+
+The parameter of the vacuum hadronization weight can be bigger for the light
+nuclei and smaller for the heavy nuclei, but 1. is a good guess. The s/u
+parameter is not yet tuned, as it demands the strange particles production
+data. A guess is that if a lot of $u\bar{u}$ and $d\bar{d}$ pairs come in
+the reaction as in the $p\bar{p}$ interaction the parameter can be 0.1, in
+other cases it is closer to 0.3 as in other event generators. But the best
+idea is just do not touch any parameters for the first experience with the
+CHIPS event generator. Just change the incident momentum, the PDG code of
+the projectile, and the CHIPS stile PDG code of the target.
+
+\section{Appendix A. Public member functions of CHIPS.}
+
+\noindent \qquad A lot of private encapsulated member functions are used in
+classes of CHIPS. It is not necessary to know about these member functions
+even for users which would like to develop some parts of the CHIPS event
+generator or to add additional classes. The only public member functions of
+the CHIPS event generator are listed and briefly commented. The total length
+of the {\it .cc} files of the model is about 12400 lines and it includes
+about 270 constructors, public functions and operators. Each line of this
+code is a hidden, encapsulated parameter, so it is not strange, that it fits
+so extended sample of data (sorry, this is a joke).
+
+\subsection{G4QEnvironment (about 4100 lines)}
+
+// === {\it Constructors} ===
+
+{\bf G4QEnvironment(const G4QHadronVector\& projHadrons,}
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\bf const G4int
+targPDG);}
+
+// This is a constructor used and explained in the {\bf CHIPStest} program.
+
+{\bf G4QEnvironment (const G4QEnvironment\& right);}
+
+// This is a copy-constructor (for the original in the C++ stack).
+
+{\bf \thinspace G4QEnvironment (G4QEnvironment* right);}
+
+// This is a copy-constructor (for the original in the C++ heap).
+
+// === {\it Overloaded operators} ===
+
+{\bf const \thinspace G4QEnvironment\& operator=(const G4QEnvironment\&
+right);}
+
+// This is a copy operator similar to the copy-constructors above.
+
+{\bf int operator==(const G4QEnvironment \&right) const;}
+
+// This operator returns true if the body values of two {\bf G4QEnvironment}
+objects are the same.
+
+{\bf int operator!=(const G4QEnvironment \&right) const;}
+
+// This operator returns true if the body values of two {\bf G4QEnvironment}
+objects are the same.
+
+\thinspace \thinspace
+
+// === {\it Static functions} ===
+
+{\bf static void SetParameters(G4double solAn, G4bool efFlag=false, G4double}
+
+{\bf \ \ \ \ \ \ \ \ \ \ piThresh=141.4, G4double mpisq=20000.,G4double
+dinum=1880.);}
+
+// Definition of the internal parameters which were partially used and
+explained in the {\bf CHIPStest} program. The solAn parameter defines the
+limits of the solid angle in which the secondary hadrons are absorbed by the
+nucleus after the primary peripheral interaction (annihilatio) with on
+nucleon \ relatively far from the surface of the nucleus. The limits are in
+terms of cos($\theta $), so this parameter can be varied from -1 to 1. The 
+{\bf piThresh, mpisq, dinum} parameters defines up to which CM energy ({\bf E%
+}$_{thresh}$) the model must use the photon-captured-by-quark mechanism (%
+{\bf E}$_{thresh}$={\bf piThresh+(mpisq+projM2)*dinum, }where{\bf \ projM2 }%
+is a squared mass of the projectile $\gamma $; it is 0 in case of real
+photon and -Q$^{2}$ \ in case of virtual photon). The default values of
+these parameters are shown.
+
+// === {\it Selectors} ===
+
+{\bf G4QNucleus GetEnvironment() const;}
+
+// Select the {\bf G4QNucleus }environment of this {\bf G4QEnvironment}
+instance (if it is vacuum, then PDG code of the {\bf G4QNucleus} is
+90000000).
+
+{\bf G4QuasmonVector* GetQuasmons();}
+
+// Select a vector of quasmons for this {\bf G4QEnvironment} instance.
+
+\thinspace
+
+// === {\it Modifiers} ===
+
+{\bf G4QHadronVector* Fragment();}
+
+// The main action member function, which was used and explained in the {\bf %
+CHIPStest} program.
+
+// === {\it General functions} ===
+
+{\bf G4ThreeVector RndmDir();}
+
+// This is a general purpose function, which can be interesting for the
+users independent of the G4QEnvironment class itself. It returns the random
+direction in the 3D space. Hopefully such function already exists in the
+standard libraries, so in future it will be substituted by the standard one
+and probably excluded from the G4QEnvironment class. This is true for the 
+{\it general functions} of all classes of the CHIPS event generator and is
+said only once, here. Hopefully tere is a gfeneral function for this in GEANT4.
+
+\subsection{G4Quasmon (about 4400 lines)}
+
+// === {\it Constructors} ===
+
+{\bf G4Quasmon(G4QContent qQContent=G4QContent(0,0,0,0,0,0),}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ G4LorentzVector
+q4M=G4LorentzVector(0.,0.,0.,0.),}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ G4LorentzVector
+ph4M=G4LorentzVector(0.,0.,0.,0.));}
+
+// The main constructor, including default-constructor, which is just
+vacuum. The very minimum for the {\bf G4Quasmon} object \ is quark content,
+the total CM energy can be zero, as all quarks in the model (including
+s-quark and diquarks) are massless quark-partons. If the total CM energy is
+not zero, then energy dissipation can be possible. The third parameter gives
+the 4-momentum of the photon, which can be used in the internal quark
+exchange hadronization act.
+
+{\bf \thinspace G4Quasmon(const G4Quasmon\& right);}
+
+// This is a copy-constructor (for the original in the C++ stack).
+
+{\bf \thinspace G4Quasmon(G4Quasmon* right);}
+
+// This is a copy-constructor (for the original in the C++ heap).
+
+// === {\it Overloaded operators} ===
+
+{\bf const \thinspace G4Quasmon\& operator=(const G4Quasmon\& right);}
+
+// This is a copy operator similar to the copy-constructors above.
+
+{\bf int operator==(const G4Quasmon \&right) const;}
+
+// This operator returns true if the body values of two {\bf G4Quasmon}
+objects are the same.
+
+{\bf int operator!=(const G4Quasmon \&right) const;}
+
+// This operator returns true if the body values of two {\bf G4Quasmon}
+objects are the same.
+
+\thinspace \thinspace
+
+// === {\it Static functions} ===
+
+{\bf static void SetParameters(G4double temperature, G4bool ssin2g,}
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
+\ \ \ {\bf G4double etaetap);}
+
+// Definition of the internal parameters which were used and explained in
+the {\bf CHIPStes} program.
+
+{\bf static void SetTemper(G4double temperature);}
+
+{\bf static void SetSOverU(G4bool ssin2g);}
+
+{\bf static void SetEtaSup(G4double etaetap);}
+
+// The parameters can be set separately.
+
+// === {\it Selectors} ===
+
+{\bf G4Qdouble GetTemper() const;}
+
+{\bf G4Qdouble GetSOverU() const;}
+
+{\bf G4Qdouble GetEtaSup() const;}
+
+// Extraction of the current parameters of the {\bf G4Quasmon} instance.
+This change of parameters is used in the model e.g. in the case of
+antiproton annihilation on nucleus at rest. In this case the first interaction has
+parameters of the proton-antiproton annihilation, which were separately tuned and
+the second interaction has the parameters, defined by CHIPStest for the antiproton
+annihilation on nuclei.
+
+{\bf G4LorentzVector Get4Momentum() const;}
+
+// Returns the 4-momentum of this {\bf G4Quasmon} instance.
+
+{\bf G4QContent GetQC() const;}
+
+// Returns the quark content of this {\bf G4Quasmon} instance.
+
+{\bf G4QPDGCode GetQPDG() const;}
+
+// Returns the {\bf G4QPDGCode} instance for this {\bf G4Quasmon} instance.
+
+{\bf G4int GetStatus() const;}
+
+// Returns the status of this {\bf G4Quasmon} instance.
+
+\begin{itemize}
+\item  status=-1 means PANIC, the quasmon can not make fragments in this
+environment;
+
+\item  status=0 means that the quasmon is empty, it is done, it is
+equivalent to vacuum now, it is already history;
+
+\item  status=1 means that the quasmon successfully fragmented;
+
+\item  status=2 means that nothing was done with the quasmon by chance;
+
+\item  status=3 means that the quasmon tried to fragment but did not succeed
+by some good reason (such as Coulomb barrier...);
+
+\item  status=4 means that this quasmon was just created and never fragmented.
+\end{itemize}
+
+\thinspace
+
+// === {\it Modifiers} ===
+
+{\bf G4QHadronVector* Fragment(G4QNucleus\& nucEnviron, G4int nQ);}
+
+// The main action member function of the {\bf G4Quasmon} class. It adopts
+the nuclear environment from the {\bf G4QEnvironment} class (and can return it
+in the modified by the hadronization form) uses a total number of alive
+quasmons in the environment ({\bf status}$\neq ${\bf 0}). This value is
+important, as the algorithm of the quasmon fragmentation is much
+easier, if the quasmon does not have any competitors around and can
+get the responsibility for the termination of the hadronization process.
+
+{\bf void ClearOutput();}
+
+// The G4Quasmon object as a predecessor of the G4QEnvironment object has
+the {\bf G4QHadronVector output }very similar to the {\bf G4QHadronVector
+output} of the {\bf G4QEnvironment} class, which was discussed in the
+example. But as the fragmentations of all quasmons in the environment are
+made in parallel, it is possible for one quasmon to fragment a few times. So
+the output should be CLEANED, but it should not be destroyed as its
+instances of G4QHadrons can be used in the {\bf G4QHadronVector output} of
+the {\bf G4QHadronVector output}\ instance.
+
+{\bf void InitQuasmon(G4QContent qQContent, G4LorentzVector q4M);}
+
+// If Quasmon came into real trouble and declared PANIC, it is not necessary
+to kill it and then recreate it, it will do to reinitialize the quasmon.
+
+{\bf void IncreaseBy(const G4Quasmon* pQuasm);}
+
+// Sometimes it is necessary to merge quasmons. In future this member
+function should be transformed to the overloaded {\bf operator+=}.
+
+{\bf void KillQuasmon();}
+
+// Kill does not mean destruct. The dead quasmon is just a vacuum quasmon (%
+{\bf status=0}), which is kept in history.
+
+\subsection{G4QNucleus : public G4QHadron (about 2900 lines)}
+
+// === {\it Constructors} ===
+
+{\bf G4QNucleus();}
+
+// A default constructor, which defines the nucleus as vacuum.
+
+{\bf G4QNucleus(G4int nucPDG);}
+
+// A constructor, which defines the nucleus at rest, using its PDG code.
+
+{\bf G4QNucleus(G4int nucPDG, G4LorentzVector p);}
+
+// Similar to the previous one, but here the nucleus can move.
+
+{\bf G4QNucleus(G4int z, G4int n, G4int s);}
+
+// A constructor, which defines the nucleus at rest, using a number of
+protons {\bf p}, a number of neutrons {\bf n}, and a number of ${\bf \Lambda 
+}$\ in it.
+
+{\bf G4QNucleus(G4int z, G4int n, G4int s, G4LorentzVector p);}
+
+// Similar to the previous one, but here the nucleus can move.
+
+{\bf \thinspace G4QNucleus(const G4QNucleus\& right);}
+
+// This is a copy-constructor (for the original in the C++ stack).
+
+{\bf \thinspace G4QNucleus(G4QNucleus* right);}
+
+// This is a copy-constructor (for the original in the C++ heap).
+
+// === {\it Overloaded operators} ===
+
+{\bf const \thinspace G4QNucleus\& operator=(const G4QNucleus\& right);}
+
+// This is a copy operator similar to the copy-constructors above.
+
+{\bf int operator==(const G4QNucleus \&right) const;}
+
+// This operator returns true if the body values of two {\bf G4QNucleus}
+objects are the same.
+
+{\bf int operator!=(const G4QNucleus \&right) const;}
+
+// This operator returns true if the body values of two {\bf G4QNucleus}
+objects are the same.
+
+{\bf G4QNucleus operator+=(const G4QNucleus\& rhs);}
+
+{\bf G4QNucleus operator-=(const G4QNucleus\& rhs);}
+
+// Helps to add or subtract nuclear cluster from this nucleus.
+
+{\bf G4QNucleus operator*=(const G4int\& rhs);}
+
+// Multiply nucleus by some value. This overloaded function is made just for
+generalization.
+
+{\bf ostream\& operator%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+(ostream\& lhs, G4QNucleus\&rhs);}
+
+{\bf ostream\& operator%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+(ostream\& lhs, const G4QNucleus\&rhs);}
+
+//These overload functions help to print the nucleus as an instance.
+
+\thinspace \thinspace
+
+// === {\it Static functions} ===
+
+{\bf static void SetParameters(G4double fN, G4bool fD, G4double cP,}
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
+\ \ {\bf G4double mR=1.);}
+
+// Definition of the internal parameters which were used and explained in
+the {\bf CHIPStes} program.
+
+\thinspace
+
+// === {\it Selectors} ===
+
+{\bf G4int GetPDG() const;}
+
+// Get the PDG code of the nucleus. In future it can be extracted and the
+inherited {\bf G4QHadron::GetPDGCode()} function can be used.
+
+{\bf G4int GetZ() const;}
+
+{\bf G4int GetN() const;}
+
+{\bf G4int GetS() const;}
+
+// Return numbers of protons, neutrons, and $\Lambda $\ correspondingly.
+
+{\bf G4int GetA() const;}
+
+// Returns atomic weight (a baryon number) of the nucleus (A=Z+N+S).
+
+{\bf G4int GetDZ() const;}
+
+{\bf G4int GetDN() const;}
+
+{\bf G4int GetDS() const;}
+
+{\bf G4int GetDA() const;}
+
+// Return numbers of protons, neutrons, $\Lambda $\ and atomic weight of the
+dense region of the nucleus correspondingly.
+
+{\bf G4int GetMaxClust() const;}
+
+// Returns the maximum baryon number for clusters existing in this
+particular instance of {\bf G4QNucleus} class.
+
+{\bf G4double GetProbability(G4int bn=0) const;}
+
+// Returns a probability to find the cluster with given baryon number. There
+is internal array of \ 256 values in the body of this class, where the
+calculated probabilities of clusterization are stored. In case of default 
+{\bf bn=0}, returns a bias factor for the vacuum (quark fusion) mechanism of
+hadronization (which is normally 1.).
+
+{\bf G4double GetMZNS() const;}
+
+// If the G4QNucleus was not initialized by PDG code, but by z, n, and s,
+then sometimes the inherited method {\bf G4QHadron::GetMass()} can fail. In
+this case this method, which calculate the ground state mass, using the z,
+n, and s, can be useful. And it is a bit faster.
+
+{\bf G4double GetGSMass() const;}
+
+// This is another historical method of extraction of nuclear (not hadronic)
+mass. This is almost a synonym of the previous one. The last two member
+functions can disappear in future, and only the inherited 
+{\bf G4QHadron::GetMass()}\ function can be the only method.
+
+{\bf G4QContent GetQCZNS() const;}
+
+// In the case of hadron-nucleus instance this function is much faster then the
+general member inhertited from the {\bf G4QHadron::GetQC()} class.
+
+\thinspace
+
+// === {\it Modifiers} ===
+
+{\bf G4bool EvaporateBaryon(G4QHadron* h1, G4QHadron* h2);}
+
+// This is a member function for any nucleus even for stable nuclei. The
+evaporation modeling described in \cite{CHIPS2} is all in this member
+function. It is not considered as an essential part of the CHIPS morel, as
+it is a hadron level model, not quark level model. It is much simpler. But
+there is a lot of common features, as in the case of evaporation one
+still can use well integrable nonrelativistic model of heavy nucleons. So if
+the CHIPS model deals with massless quark-partons, which means, that this is
+an ultra relativistic model, then EVA (this is a provisional name, which is
+used for the evaporation model) deals with baryons (and nuclear clusters),
+the mass of which is much bigger than the typical kinetic energy of one
+participant. That is why it can be called as not relativistic model. So if
+CHIPS inherits properties of LIPS (Lorenz Invariant Phase Space), then EVA
+inherits properties of GIPS (Galilean Invariant Phase Space). The EVA can be
+used absolutely independently of CHIPS by users who would like to evaporate
+nuclei and use the CHIPS generator only as a library of classes. So it is
+necessary to create an instance of the {\bf G4QNucleus} class (say {\bf N}),
+then create two instances of G4QHadron class (h1 and h2), and make a call
+for the function: {\bf if(!N.EvaporateBarion(h1,h2)) \{cout%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+''Did not succeeded''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+endl;\}}. So this function returns boolean{\it \ true}, if evaporation
+succeeded. If it did then one hadron contains the evaporated Baryon (nuclear
+fragment) and the other contains the residual nucleus (which in case of
+light nuclei can be a hadron or a small nuclear fragment either). At present
+the EVA member function can evaporate not only baryons, but alpha particles
+too. It was necessary at low excitation energies. May be in future other
+fragments can appear in the output. To find more details about the call of
+the function and the treatment of the secondary hadrons one should look in the 
+current {\bf G4QEnvironment.cc} file.
+
+{\bf G4bool SplitBaryon();}
+
+// To avoid the situation, when the nucleus is above the ground state, but
+below a threshold of radiation of any nuclear fragment, this function is
+written. It checks if it is possible to radiate a baryon or an $\alpha $. If
+it is, then it returns boolean. So this function is a selector, not
+modifier. It appeared after the EVA member function just to support the
+logic of explanation.
+
+{\bf void InitByPDG(G4init newPDG);}
+
+{\bf void InitByQC(G4QContent newQC);}
+
+// These two member functions help to reinitialize already existing nucleus
+rather than destruct it and then recreate (In future can be one overloaded
+function {\bf Reinitialize}).
+
+{\bf void IncProbability(G4int bn);}
+
+// Increment a probability for the cluster with baryon number {\bf bn} (a
+mean number of such clusters in the nucleus) by 1.
+
+{\bf void Increase(G4int PDG,}
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\bf G4LorentzVector
+LV=G4LorentzVector(0.,0.,0.,0.));}
+
+{\bf void Increase(G4QContent QC,}
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\bf G4LorentzVector
+LV=G4LorentzVector(0.,0.,0.,0.));}
+
+// An overloaded function which increases this nucleus by a hadron.
+
+{\bf void Reduce(G4int PDG);}
+
+// Opposite to previous action. The residual nucleus is in the ground state.
+In future it will be overloaded for G4QContent.
+
+{\bf void CalculateMass();}
+
+// It is always difficult to say what is the mass of the nucleus. If it is
+excited, then its mass is different from the ground state mass. That is why
+there are so many complications with the mass of nucleus. If the Nucleus is
+defined only by PDG code (or quark content), then the CalculateMass() member
+function can create a Lorentz vector of the nucleus at rest with the ground
+state mass. It may be a good idea to include this action automatically
+as a default, but it would make the creation of fake nuclei to be a long
+process, while it is necessary to use it only as a pointer to some trivial
+member function. So at present this function is separated and users should
+use it manually.
+
+{\bf void SetMaxClust(G4int clBN);}
+
+// If this is a heavy nucleus, then the clusters up to A=dA can be calculate
+(which may be good for the fission process!), but now the baryon number
+of clusters is restricted by a baryon number of highest fragment in the {\bf %
+G4QCHIPSWorld}. So the process of calculation of cluster probabilities can
+need some special restriction. This is what this member function is doing.
+
+{\bf G4int UpdateClusters(G4bool din);}
+
+// Calculate probabilities for clusters in this nucleus. Returns the largest
+baryon number of cluster. The {\bf din} flag is normally {\it false}, but in
+case of search for a cluster, which is necessary e.g. for pion capture, this
+flag, if it is {\it true}, suppresses the cases, when the state of nucleus
+is randomized in such a way that there is no clusters in the nucleus and
+interaction can not happen.
+
+{\bf void PrepareCandidates(G4QCandidateVector\& theQCandidates);}
+
+// Using the {\bf G4QCandidateVector} this member function calculates
+pre-probabilities for nuclear clusters, which usually means the probability
+to find the particular nuclear cluster in this nuclear matter.
+
+// === {\it General functions} ===
+
+{\bf G4int RandomizeBinom(G4double p, G4int N);}
+
+// Returns {\bf n} randomized according to the binomial law with probability 
+{\bf p} for total number of {\bf N} particles.
+
+{\bf G4double CoulombBarr(const G4double\& cZ, const G4double\& cA,}
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 
+{\bf G4double dZ=0., G4double dA=0.);}
+
+// Calculates binding of the cluster with the charge {\bf cZ} and the baryon
+number {\bf cA}. The conditional {\bf dZ} and {\bf dA} parameters have the
+same meaning as in the following member function.
+
+{\bf G4double CoulombBarr(const G4double\& cZ, const G4double\& cA,}
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 
+{\bf G4double dZ=0., G4double dA=0.);}
+
+// Calculates a height of the coulomb barrier for this nucleus and a cluster
+with the charge {\bf cZ} and the baryon number {\bf cA}. If before this (%
+{\bf cZ},{\bf cA}) cluster the other cluster with {\bf dZ} (charge) and {\bf %
+dA} (baryon number) was conditionally radiated from this nucleus then the 
+{\bf dZ }and {\bf dA} values should be given as the input parameters. In
+this case the coulomb barrier can be smaller.
+
+{\bf G4double CoulBarPenProb(const G4double\& CB, const G4double\& E,}
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
+\ \ \ \ \ {\bf const G4int\& cZ, const G4int\& cA);}
+
+// Calculate a probability for the over-barrier penetration for the
+particular height of the Coulomb Barrier {\bf CB}, kinetic energy of the
+cluster {\bf E}, and baryon number of the cluster {\bf B}. The penetration
+probability is calculated according to \cite{PenCB}. It should be noted,
+that the probability is reduced even for neutrons, which does not have any
+Coulomb Barrier.
+
+\subsection{G4QHadron (about 500 lines)}
+
+// === {\it Constructors} ===
+
+{\bf G4QHadron();}
+
+// A default constructor.
+
+{\bf G4QHadron(G4LorentzVector p);}
+
+// Only kinematical constructor, which can be used if only the DecayIn...
+member functions are necessary.
+
+{\bf G4QHadron(G4int PDGcode,}
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\bf G4LorentzVector
+p=G4LorentzVector(0.,0.,0.,0.));}
+
+// These overloaded constructor creates a hadron with parameters from the 
+{\bf G4QCHIPSWorld} data base. Pay attention that in the similar {\bf %
+G4QNucleus} constructor the input arguments are reversed to alert the user.
+
+{\bf G4QHadron(G4QContent QC,}
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\bf G4LorentzVector
+p=G4LorentzVector(0.,0.,0.,0.));}
+
+{\bf G4QHadron(G4QPDGCode QPDG,}
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\bf G4LorentzVector
+p=G4LorentzVector(0.,0.,0.,0.));}
+
+// These are similar overloaded constructors.
+
+{\bf G4QHadron(G4int PDGCode, G4double m, G4QContent QC);}
+
+{\bf G4QHadron(G4QPDGCode QPDG, G4double m, G4QContent QC);}
+
+// These overloaded constructors can be used to create a hadron for a
+general {\it quasmon} or a {\it chipolino (at rest)}.
+
+{\bf G4QHadron(G4int PDGCode, G4LorentzVector p, G4QContent QC);}
+
+{\bf G4QHadron(G4QPDGCode QPDG, G4LorentzVector p, G4QContent QC);}
+
+// The same for the moving hadron-quasmon (hadron-chipolino).
+
+{\bf G4QHadron(G4QParticle* pPart, G4double maxM);}
+
+// This constructor is used for a construction of a resonance with
+distributed mass (the {\bf pPart} is a pointer to the resonance in the {\bf %
+G4QCHIPSWorld} data base). The mass value is randomized at the construction
+time and limited from above by the {\bf maxM }value.
+
+{\bf G4QHadron(const G4QHadron\& right);}
+
+// This is a copy-constructor (for the original in the C++ stack).
+
+{\bf \thinspace G4QHadron(G4QHadron* right);}
+
+// This is a copy-constructor (for the original in the C++ heap).
+
+// === {\it Overloaded operators} ===
+
+{\bf const \thinspace G4QHadron\& operator=(const G4QHadron\& right);}
+
+// This is a copy operator similar to the copy-constructors above.
+
+{\bf int operator==(const G4QHadron \&right) const;}
+
+// This operator returns true if the body values of two {\bf G4QHadron}
+objects are the same.
+
+{\bf int operator!=(const G4QHadron \&right) const;}
+
+// This operator returns true if the body values of two {\bf G4QHadron}
+objects are the same.
+
+\thinspace
+
+// === {\it Selectors} ===
+
+{\bf G4int GetPDGCode() const;}
+
+// Get the PDG code of the hadron.
+
+{\bf G4int GetQCode() const;}
+
+// Get the Q code (particle ID in the {\bf G4QCHIPSWorld} data base) of the
+hadron. If it is negative, then this particle is not in the CHIPS data base.
+
+{\bf G4QPDGCode GetQPDG() const;}
+
+// Get G4QPDGCodee class for this hadron. After that all member functions of
+this class (see below) can be used.
+
+{\bf G4LorentzVector Get4Momentum() const;}
+
+// Returns the 4-momentum of the hadron.
+
+{\bf G4QContent GetQC() const;}
+
+// Returns the quark content of the hadron.
+
+{\bf \thinspace G4double GetMass() const;}
+
+// Returns the mass of the hadron.
+
+{\bf \thinspace G4double GetMass2() const;}
+
+// Returns the squared mass of the hadron (in comparison to the
+G4LorentzVector.m2(), which is faster than G4LorentzVector.m(), this
+function is slower than the previous one)..
+
+{\bf \thinspace G4double GetWidth() const;}
+
+// Returns the width of the hadron if the hadron is an unstable resonance,
+oterwise returns 0.
+
+{\bf G4int GetNFragments() const;}
+
+// Return a number of secondary particles if the hadron decayed in the {\bf %
+G4QHadronVector}.
+
+{\bf G4int GetCharge() const;}
+
+// Returns the charge of the hadron.
+
+{\bf G4int GetBaryonNumber() const;}
+
+// Returns the baryon number of the hadron.
+
+// === {\it Modifiers} ===
+
+{\bf void SetQC(const G4QContent\& newQC);}
+
+// Set new quark content for the hadron. This is a kind of reinitialization
+of the hadron. The references (\&) to the input parameters are widely used
+in the CHIPS event generator to make its understanding easier for users with
+FORTRAN background.
+
+{\bf void Set4Momentum(const G4Lorentzvector\& aMom);}
+
+{\bf void SetQPDG(const G4QPDGCode\& QPDG);}
+
+{\bf void SetNFragments(const G4int\& nf);}
+
+// These modifiers are just opposite to the corresponding selectors above.
+
+{\bf void NegPDGCode();}
+
+// Makes an anti-particle out of the particle.
+
+{\bf void MakeAntiHadron();}
+
+// This member function makes the same job as previous, but it is smarter:
+it does not make negative quark content and negative PDG code, if this is
+true neutral hadron (anti-hadron coincide with hadron). So these two member
+functions are different.
+
+// === {\it General functions} ===
+
+{\bf G4double RandomizeMass(G4QParticle* pPart, G4double maxM);}
+
+// Randomizes the mass value for resonances, {\bf pPart} is a pointer to the
+particle in the {\bf G4QCHIPSWorld} and the {\bf maxM }is the upper limit
+for the randomized mass value.
+
+{\bf G4bool DecayIn2(G4LorentzVector\& f4Mom, G4LorentzVector\& s4Mom);}
+
+// Purely kinematical member function of decay of the particle with
+4-momentum of this hadron in two particles, masses of which are defined by
+masses of the input {\bf G4LorentzVector}s {\bf f4Mom} and {\bf s4Mom}. The
+result comes back in the same 4-vectors (that is why they are not {\bf %
+const, }which is used only for input parameters to be sure that this
+parameter is not changed by reference in the member function).
+
+{\bf G4bool CorMDecayIn2(G4double corM, G4LorentzVector\& f4Mom);}
+
+// This member function makes a special kind of correction for the result of
+decay in two particles. It changes the mass of this hadron, leaving the
+direction of other particle the same in the Center of Mass System (CMS) as
+it is defined by the {\bf f4Mom} 4-vector. The {\bf f4Mom} 4-vector is
+updated (corrected) the residual 4-vector is assigned to this hadron (now
+having the new mass value {\bf corM}).
+
+{\bf G4bool CorEDecayIn2(G4double corE, G4LorentzVector\& f4Mom);}
+
+// This member function makes another special kind of correction for the
+result of decay in two particles. It adds some Laboratory System (LS) energy 
+{\bf corE} to this hadron and subtract it from the particle with the {\bf %
+f4Mom} 4-vector. The direction in CMS, defined by the {\bf f4Mom} 4-vector
+is kept.
+
+{\bf G4bool RelDecayIn2(G4LorentzVector\& f4Mom, G4LorentzVector\&}
+
+{\bf s4Mom, G4LorentzVector\& dir, G4double maxCost, G4double minCost=-1.);}
+
+// This member function is quite similar to the general {\bf DecayIn2}\
+member function, but it can randomize the cos(theta) value of decay in CMS
+in the interval ({\bf minCost},{\bf maxCost}) in respect to the direction,
+which is defined by the {\bf dir} 4-vector.
+
+{\bf G4bool DecayIn3(G4LorentzVector\& f4Mom, G4LorentzVector\& s4Mom,}
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\bf G4LorentzVector\&
+s4Mom);}
+
+//Decays this hadron in three particles. All member functions above return 
+{\it true} if the decay succeeded and {\it false} if it does not.
+
+\subsection{G4QChipolino (about 500 lines)}
+
+// === {\it Constructors} ===
+
+{\bf G4QChipolino();}
+
+// A default constructor.
+
+{\bf G4QChipolino(G4QContent QC);}
+
+{\bf G4QChipolino(const G4QChipolino\& right);}
+
+// This is a copy-constructor (for the original in the C++ stack).
+
+{\bf \thinspace G4QChipolino(G4QChipolino* right);}
+
+// This is a copy-constructor (for the original in the C++ heap).
+
+// === {\it Overloaded operators} ===
+
+{\bf const \thinspace G4QChipolino\& operator=(const G4QChipolino\& right);}
+
+// This is a copy operator similar to the copy-constructors above.
+
+{\bf int operator==(const G4QChipolino \&right) const;}
+
+// This operator returns true if the body values of two {\bf G4QChipolino}
+objects are the same.
+
+{\bf int operator!=(const G4QChipolino \&right) const;}
+
+// This operator returns true if the body values of two {\bf G4QChipolino}
+objects are the same.
+
+{\bf ostream\& operator%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+(ostream\& lhs, G4QChipolino\& rhs);}
+
+// This is a member function, which prints the content of the chipolino.
+
+\thinspace
+
+// === {\it Selectors} ===
+
+{\bf G4double GetMass() const;}
+
+{\bf G4double GetMass2() const;}
+
+// Returns the mass and the squared mass of the chipolino (extracts from
+4-vector, the last is faster).
+
+{\bf G4QPDGCode GetQPDG1();}
+
+{\bf G4QPDGCode GetQPDG2();}
+
+// These member functions return {\bf G4QPDGCode}s of hadrons, the
+chipolino consists of.
+
+{\bf G4QContent GetQContent() const;}
+
+//Returns the quark content of the chipolino.
+
+{\bf G4QContent GetQContent1() const;}
+
+{\bf G4QContent GetQContent2() const;}
+
+// These member functions return quark contents of hadrons, the
+chipolino consists of.
+
+\thinspace
+
+// === {\it Modifiers} ===
+
+{\bf void SetHadronQPDG(const G4QPDGCode\& QPDG);}
+
+// Sets the {\bf G4QPDGCode}\ for the chipolino. This is a kind of
+reinitialization.
+
+{\bf void SetHadronPDGCode(const G4int\& PDGCode);}
+
+{\bf void SetHadronQCont(const G4QContent\& QC);}
+
+// These two member functions reinitialize the chipolino, using integer PDG
+code or quark content.
+
+\subsection{G4QCandidate : public G4QHadron (about 100 lines)}
+
+// === {\it Constructors} ===
+
+{\bf G4QCandidate();}
+
+{\bf G4QCandidate(G4int PDGcode);}
+
+// In fact this is the only possible constructor for this simple class.
+
+{\bf G4QCandidate(const G4QCandidate\& right);}
+
+{\bf G4QCandidate(G4QCandidate* right);}
+
+// These are copy-constructors.
+
+// === {\it Overloaded operators} ===
+
+{\bf const \thinspace G4QCandidate\& operator=(const G4QCandidate\& right);}
+
+// This is a copy operator similar to the copy-constructors above.
+
+{\bf int operator==(const G4QCandidate \&right) const;}
+
+// This operator returns true if the body values of two {\bf G4QCandidate}
+objects are the same.
+
+{\bf int operator!=(const G4QCandidate \&right) const;}
+
+// This operator returns true if the body values of two {\bf G4QCandidate}
+objects are the same.
+
+\thinspace
+
+// === {\it Selectors} ===
+
+{\bf G4ParentCluster* TakeParClust(G4int nPC);}
+
+// Returns pointer to the parent cluster {\bf \# nPC}.
+
+{\bf G4int GetPClustEntries() const;}
+
+// Returns a number of parent clusters for this candidate.
+
+{\bf G4bool GetPossibility() const;}
+
+// {\it True} if this candidate can be radiated in this particular act of
+hadronization.
+
+{\bf G4bool GetParPossibility() const;}
+
+// Returns {\it true} if this candidate can play a role of the parent
+cluster.
+
+{\bf G4double GetKMin() const;}
+
+// The minimum {\it k} (momentum of primary quark-parton) value for
+production of this kind of candidate-hadron.
+
+{\bf G4double GetEBMass() const;}
+
+// The bound mass of the candidate in the nuclear environment, which does
+not include the quasmons.
+
+{\bf G4double GetNBMass() const;}
+
+// The bound mass of the candidate in total nucleus (in fact this is true if
+there is only one quasmon; if there are a number of quasmons, then only
+quantum numbers of the current quasmon are added to the environment, other
+quasmons are not taken into account).
+
+{\bf G4double GetDenseProbability() const;}
+
+// The probability to find this cluster-candidate in the dense region of the
+nucleus.
+
+{\bf G4double GetPreProbability() const;}
+
+// The probability to find this candidate in total nucleus.
+
+{\bf G4double GetRelProbability() const;}
+
+// A kind of final calculated probability for the candidate, after taking
+into account all kinematical and quark counting factors.
+
+{\bf G4double GetIntegProbability() const;}
+
+// Integrated probability up to this candidate (for the randomization
+purposes).
+
+{\bf G4double GetSecondRelProb() const;}
+
+{\bf G4double GetSecondIntProb() const;}
+
+// Spare emergency probabilities, based on just kinematic bounds, which can
+be used if normal way of the competition has failed. Now they are not used.
+They are historic and can disappear in this class in future.
+
+// === {\it Modifiers} ===
+
+{\bf void ClearParClustVect();}
+
+// This is a very important member function, which cleans up pointers of the
+parent cluster vector and destroys the {\bf G4QParentCluster} instances, so
+that this vector of the candidate can be reused in another act of
+hadronization.
+
+{\bf void FillPClustVect(G4QParentCluster* pCl);}
+
+// This member function fills appropriate parent clusters for this candidate
+one by one.
+
+{\bf void SetPossibility( G4bool choice);}
+
+{\bf void SetParPossibility(G4bool choice);}
+
+{\bf void SetKMin(G4double kmin);}
+
+{\bf void SetDenseProbability(G4double prep);}
+
+{\bf void SetPreProbability(G4double prep);}
+
+{\bf void SetRelProbability(G4double relP);}
+
+{\bf void SetIntegProbability(G4double intP);}
+
+{\bf void SetIntegProbability(G4double intP);}
+
+{\bf void SetSecondRelProb(G4double relP);}
+
+{\bf void SetSecondIntProb(G4double intP);}
+
+{\bf void SetEBMass(G4double newMass);}
+
+{\bf void SetNBMass(G4double newMass);}
+
+// The meaning of these modifiers is clarified for the corresponding
+selectors above.
+
+\subsection{G4QParentCluster (about 100 lines)}
+
+/ === {\it Constructors} ===
+
+{\bf G4QParentCluster(G4int PDGCode=0);}
+
+// This constructor acts both as a default constructor and as a formal
+constructor.
+
+{\bf G4QParentCluster(G4int PDGcode, G4double prob);}
+
+// In fact this is the only complete constructor for this simple class, as
+the parent cluster without any defined probability should not exist.
+
+{\bf G4QParentCluster(const G4QParentCluster\& right);}
+
+{\bf G4QParentCluster(G4QParentCluster* right);}
+
+// These are copy-constructors.
+
+// === {\it Overloaded operators} ===
+
+{\bf const \thinspace G4QParentCluster\& operator=(const G4QParentCluster\&
+right);}
+
+// This is a copy operator similar to the copy-constructors above.
+
+{\bf int operator==(const G4QParentCluster \&right) const;}
+
+// This operator returns true if the body values of two {\bf G4QParentCluster%
+} objects are the same.
+
+{\bf int operator!=(const G4QParentCluster \&right) const;}
+
+// This operator returns true if the body values of two {\bf G4QParentCluster%
+} objects are the same.
+
+{\bf ostream\& operator%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+(ostream\& lhs, G4QParentCluster\& rhs);}
+
+{\bf ostream\& operator%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+(ostream\& lhs, const G4QParentCluster\& rhs);}
+
+// These are member functions which print the content of the parent
+cluster.\thinspace
+
+// === {\it Selectors} ===
+
+{\bf G4QContent GetTransQC() const;}
+
+// Get quark content of the quark exchange, which is necessary to shift this
+parent cluster to the master-candidate (similar to a meson in Feynman
+diagrams).
+
+{\bf G4int GetPDGCode() const;}
+
+// Returns the PDG code of the parent cluster.
+
+{\bf G4int GetNQPar2() const;}
+
+// Returns the {\bf n-2} value, where{\bf \ n} is a number of degrees of
+freedom in the parent cluster. It is necessary for randomization of the
+secondary quark-parton and should be the same after selection of the
+candidate as it was in time of the probability calculation.
+
+{\bf G4double GetProbability() const;}
+
+// Returns the probability for this parent cluster to be transformed to the
+outgoing candidate. Sum of all probabilities for parent clusters,
+appropriate for the candidate is a probability for the candidate.
+
+{\bf G4double GetLow() const;}
+
+{\bf G4double GetHigh() const;}
+
+// These member functions return limits for randomization of the momentum of
+the secondary quark parton for this particular candidate.
+
+{\bf G4double GetEBMass() const;}
+
+{\bf G4double GetEBind() const;}
+
+{\bf G4double GetNBMass() const;}
+
+{\bf G4double GetNBind() const;}
+
+// Return bound masses and binding energies of the parent cluster in respect
+to the environment and to the total nucleus as it was explained for the {\bf %
+G4QCandidate }class.
+
+// === {\it Modifiers} ===
+
+{\bf void SetTransQC(G4QContent newTrans);}
+
+{\bf void SetPDGCode(G4int newPDGCode);}
+
+{\bf void SetNQPart2(G4int nm2);}
+
+{\bf void SetProbability(G4double probab);}
+
+{\bf void SetLow(G4double loLim);}
+
+{\bf void SetHigh(G4double hiLim);}
+
+{\bf void SetEBMass(G4double bMass);}
+
+{\bf void SetEBind(G4double bEn);}
+
+{\bf void SetNBMass(G4double bMass);}
+
+{\bf void SetNBind(G4double bEn);}
+
+// The meaning of these modifiers is clarified for the corresponding
+selectors above.
+
+\subsection{G4QCHIPSWorld (about 100 lines)}
+
+// === {\it Constructors} ===
+
+{\bf G4QCHIPSWorld(G4int nOfParts=0);}
+
+// This constructor plays roles of both a default constructor and a formal
+constructor.
+
+{\bf G4QCHIPSWorld(const G4QCHIPSWorld\& right);}
+
+{\bf G4QCHIPSWorld(G4QCHIPSWorld* right);}
+
+// These are a copy-constructors.
+
+// === {\it Overloaded operators} ===
+
+{\bf const \thinspace G4QCHIPSWorld\& operator=(const G4QCHIPSWorld\& right);%
+}
+
+// This is a copy operator similar to the copy-constructors above.
+
+// === {\it Selectors} ===
+
+{\bf G4QParticle* GetQParticle( G4int PDG) const;}
+
+{\bf G4QParticle* GetQParticle(G4QPDGCode QPDG) const;}
+
+{\bf G4QParticle* GetQParticle(G4QPDGCode* QPDG) const;}
+
+// Overloaded selectors for a particle with some specific PDG code, instance
+of \ G4QPDGCode class. Return a pointer to the corresponding particle in the 
+{\bf G4QCHIPSWorld }data base{\bf .}
+
+\subsection{G4QParticle (about 700 lines)}
+
+// === {\it Constructors} ===
+
+{\bf G4QParticle();}
+
+{\bf G4QParticle(G4int PDGcode);}
+
+// In fact this is the only complete constructor for this simple class.
+
+{\bf G4QParticle(const G4QParticle\& right);}
+
+{\bf G4QParticle(G4QParticle* right);}
+
+// These are copy-constructors.
+
+// === {\it Overloaded operators} ===
+
+{\bf const \thinspace G4QParticle\& operator=(const G4QParticle\& right);}
+
+// This is a copy operator similar to the copy-constructors above.
+
+{\bf int operator==(const G4QParticle \&right) const;}
+
+// This operator returns true if the body values of two {\bf G4QParticle}
+objects are the same.
+
+{\bf int operator!=(const G4QParticle \&right) const;}
+
+// This operator returns true if the body values of two {\bf G4QParticle}
+objects are the same.
+
+{\bf ostream\& operator%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+(ostream\& lhs, G4QParticle\& rhs);}
+
+// These are member functions which print the content of the
+particle.\thinspace
+
+// === {\it Selectors} ===
+
+{\bf G4QContent GetQContent() const;}
+
+//Returns quark content of the particle. In future all {\bf Get/SetQContent}
+member functions can be reduced to the {\bf Get/SetQC} form for unification
+of overloading. There is still a possibility to mix GetQContent with
+GetQCode, but QC became a common notation for the quark content and the Q
+code is more internal and should not be necessary for the user.
+
+{\bf G4QDecayChanVector GetDecayVector() const;}
+
+// Returns a vector of the {\bf G4QDecayChan} instances, in which sets of
+particles, in which this particle can decay are collected together with the
+corresponding branching.
+
+{\bf G4QPDGCode GetQPDG() const;}
+
+// Return the {\bf G4QPDGCode} descriptor for this particle.
+
+{\bf G4double GetMass() const;}
+
+{\bf G4double GetWidth() const;}
+
+//Return the mass and the width ($\Gamma $) of the mass distribution for the
+particle.
+
+{\bf G4int GetPDGCode() const;}
+
+// Returns the PDG code of the particle.
+
+{\bf G4int GetQCode() const;}
+
+// Returns the specific ID in the {\bf G4QCHIPSWorld} data base.
+
+{\bf G4int GetSpin() const;}
+
+// Returns the 2s+1 value.
+
+{\bf G4int GetCharge() const;}
+
+{\bf G4int GetStrange() const;}
+
+{\bf G4int GetBaryNum() const;}
+
+// Return the charge, the strangeness, and the baryon number for the
+particle.
+
+{\bf G4double MinMassOfFragm();}
+
+// Returns the minimum mass sum for different decay channels of this
+particle.
+
+// === {\it Modifiers} ===
+
+{\bf G4QDecayChanVector InitDecayVector(D4int QCode);}
+
+// Initialize or reinitialize the particle, using the Q code of the particle
+in the {\bf G4QCHIPSWorld} data base, returns the vector of decay channels
+for decay. This function is mostly used for the fake particle with the
+default constructor, to find out the decay channels for the particle. In
+future it can be duplicated for the PDG code and overloaded for the {\bf %
+G4QPDGCode} descriptor.
+
+{\bf void InitPDGParticle(G4int thePDGCode);}
+
+{\bf void InitQParticle(G4int theQCode);}
+
+// These reinitializers can not be overloaded as both have integer input
+parameter.
+
+\subsection{G4QDecayChannel (about 100 lines)}
+
+// === {\it Constructors} ===
+
+{\bf G4QDecayChannel();}
+
+{\bf G4QDecayChannel(G4QPDGCodeVector secHadr,}
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\bf G4double
+probLimit=1.);}
+
+// This is a general constructor for this simple class, filling a vector of
+particle together with the branching value {\bf probLimit.}
+
+{\bf G4QDecayChannel(G4double pLev, G4int PDG1, G4int PDG2,}
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\bf G4int
+PDG3=0);}
+
+// This is how the decay channel can be created directly with the PDG codes
+of the secondary particles. The CHIPS event generator does not support decay
+in more than three particles, so decays with higher multiplicities should be
+interpreted as decays with the intermediate resonance (which they are in
+reality). It is difficult to find the case of decay in the PDG table, when
+this is impossible (at least for the SU(3) part).
+
+{\bf G4QDecayChannel(const G4QDecayChannel\& right);}
+
+{\bf G4QDecayChannel(G4QDecayChannel* right);}
+
+// These are copy-constructors.
+
+// === {\it Overloaded operators} ===
+
+{\bf const \thinspace G4QDecayChannel\& operator=(const G4QDecayChannel\&
+right);}
+
+// This is a copy operator similar to the copy-constructors above.
+
+{\bf int operator==(const G4QDecayChannel \&right) const;}
+
+// This operator returns true if the body values of two {\bf G4QDecayChannel}
+objects are the same.
+
+{\bf int operator!=(const G4QDecayChannel \&right) const;}
+
+// This operator returns true if the body values of two {\bf G4QDecayChannel}
+objects are the same.
+
+{\bf ostream\& operator%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+(ostream\& lhs, G4QDecayChannel\& rhs);}
+
+// These are member functions which print the content of the decay
+channel.\thinspace
+
+// === {\it Selectors} ===
+
+{\bf G4double GetDecayChanLimit() const;}
+
+// Returns the branching value.
+
+{\bf G4double GetMinMass() const;}
+
+// Return the minimum sum of the masses of the secondary particles. It is
+correct even in case of intermediate resonances, as the minimum resonance
+mass is the minimum mass of its fragments.
+
+{\bf G4QPDGCodeVector GetVecOfSecHadrons() const;}
+
+// Return the vector of {\bf G4QPDGCode}\ descriptors for the secondary
+particles.
+
+// === {\it Modifiers} ===
+
+{\bf void SetDecayChanLimit(G4double newDecChanLim);}
+
+// One should be careful, as probabilities of decay are kept in the
+integrated form, ready for randomization.
+
+{\bf void SetMinMass(G4double newMin Mass);}
+
+{\bf void SetVecOfSecHadrons(G4QPDGCodeVector hadV);}
+
+// The meaning of these modifiers is clarified for the corresponding
+selectors above.
+
+\subsection{G4QPDGCode (about 1100 lines)}
+
+// === {\it Constructors} ===
+
+{\bf G4QPDGCode(G4int PDGCode=0);}
+
+// This is a general constructor by PDG code.
+
+{\bf G4QPDGCode(G4QContent QCont);}
+
+// This is a general constructor by quark content.
+
+{\bf G4QPDGCode(const G4QPDGCode\& right);}
+
+{\bf G4QPDGCode(G4QPDGCode* right);}
+
+// These are copy-constructors.
+
+// === {\it Overloaded operators} ===
+
+{\bf const \thinspace G4QPDGCode\& operator=(const G4QPDGCode\& right);}
+
+// This is a copy operator similar to the copy-constructors above.
+
+{\bf int operator==(const G4QPDGCode\& rhs) const;}
+
+{\bf int operator==(const G4int\& rhs) const;}
+
+// These operators return true (\#0) if the body values of two {\bf %
+G4QPDGCode} objects are the same. Right hand side can be identified by the
+PDG code.
+
+{\bf int operator!=(const G4QPDGCode\& rhs) const;}
+
+{\bf int operator!=(const G4int\& rhs) const;}
+
+// These operators return true (\#0) if the body values of two {\bf %
+G4QPDGCode} objects are the same. Right hand side can be identified by the
+PDG code.
+
+{\bf G4int operator+=(const G4QPDGCode\& rhs);}
+
+{\bf G4int operator-=(const G4QPDGCode\& rhs);}
+
+{\bf G4int operator+=(const G4int\& rhs);}
+
+{\bf G4int operator-=(const G4int\& rhs);}
+
+// Increments and decrements of the PDG code.
+
+{\bf G4int operator*=(const G4int\& rhs);}
+
+{\bf G4int operator/=(const G4int\& rhs);}
+
+// In this case the right hand side is just an integer value.
+
+{\bf G4int operator+(const G4QPDGCode\& lhs, const G4QPDGCodes\& rhs);}
+
+{\bf G4int operator+(const G4QPDGCode\& lhs, const G4int\& rhs);}
+
+{\bf G4int operator+(const G4int\& lhs, const G4QPDGCodes\& rhs);}
+
+{\bf G4int operator-(const G4QPDGCode\& lhs, const G4QPDGCodes\& rhs);}
+
+{\bf G4int operator-(const G4QPDGCode\& lhs, const G4int\& rhs);}
+
+{\bf G4int operator-(const G4int\& lhs, const G4QPDGCodes\& rhs);}
+
+{\bf G4int operator*(const G4QPDGCode\& lhs, const G4QPDGCodes\& rhs);}
+
+{\bf G4int operator*(const G4QPDGCode\& lhs, const G4int\& rhs);}
+
+{\bf G4int operator*(const G4int\& lhs, const G4QPDGCodes\& rhs);}
+
+{\bf G4int operator/(const G4QPDGCode\& lhs, const G4QPDGCodes\& rhs);}
+
+{\bf G4int operator/(const G4QPDGCode\& lhs, const G4int\& rhs);}
+
+{\bf G4int operator/(const G4int\& lhs, const G4QPDGCodes\& rhs);}
+
+{\bf G4int operator\%(const G4QPDGCode\& lhs, const G4int\& rhs);}
+
+// The overloaded operators, defined beyond the {\it name space} of the
+class header.
+
+{\bf ostream\& operator%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+(ostream\& lhs, G4QPDGCode\& rhs);}
+
+{\bf ostream\& operator%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+(ostream\& lhs, const G4QPDGCode\& rhs);}
+
+// These are member functions which print the content of the decay
+channel.\thinspace
+
+// === {\it Selectors} ===
+
+{\bf G4double GetMass();}
+
+{\bf G4double GetMass2();}
+
+{\bf G4double GetWidth();}
+
+{\bf G4double GetNuclMass(G4int Z, G4intN, G4int S);}
+
+{\bf G4double GetNuclMass(G4int PDGCode);}
+
+// All kinds of selectors for the mass and width of the particle with this
+descriptor. Last two overloaded functions are more general functions than
+selectors.
+
+{\bf G4QContent GetQuarkContent() const;}
+
+// This is an antique name of the early development stage, in future can be
+changed to the overloaded {\bf GetQC()}.
+
+{\bf G4QContent GetExQContent(G4int i, G4int o) const;}
+
+// It returns the quark content of the fake meson of the Feynman diagram to
+the quark exchange act. SU(3) quarks{\bf \ i} (incoming quark-parton) and 
+{\bf o} (out coming quark-parton) are numerated as follows: d (0), u (1),
+s(2).
+
+{\bf G4int GetBaryNum() const;}
+
+{\bf G4int GetSpin() const;}
+
+{\bf G4int GetCharge() const;}
+
+{\bf G4int GetPDGCode() const;}
+
+{\bf G4int GetQCode() const;}
+
+// Return the baryon number, 2s+1, the charge, the PDG code, and Q code
+correspondingly.
+
+{\bf G4int GetGetRelCrossIndex(G4int i, G4int o) const;}
+
+// It gives a shift of index (Q code) for the quark exchange, defined by{\bf %
+\ i} and {\bf o} (see above), with which one can find the parent cluster in
+the {\bf G4QCHIPSWorld} data base.
+
+{\bf G4int GetNumOfComb(G4int i, G4int o) const;}
+
+// Returns a number of combinations for the quark exchange.
+
+{\bf G4int GetTotNumOfComb(G4int i) const;}
+
+// This is a total number of possible combinations for the quark exchange in
+case of incoming of the quark-parton of the kind {\bf i} (see above).
+
+{\bf G4bool TestRealNeutral();}
+
+// Returns true, if the particle with this PDG code coincide with its
+antiparticle.
+
+// === {\it Modifiers} ===
+
+{\bf void SetPDGCode(G4int newPDGCode);}
+
+{\bf void InitByQCont(G4QContent QCont);}
+
+{\bf void InitByQCode(G4init QCode);}
+
+// These three reinitializers can be over partially overloaded
+(unfortunately not for Q code and PDG code).
+
+{\bf void NegPDGCode();}
+
+// Makes an antiparticle out of this particle.
+
+\subsection{G4QContent (about 400 lines)}
+
+// === {\it Constructors} ===
+
+{\bf G4QContent(G4int d=0, G4int u=0, G4int s=0,}
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\bf \ G4int ad=0, G4int au=0, G4int
+as=0,);}
+
+// This is a default constructor and the only general constructor for the
+quark content. Please, pay attention to the sequence of quarks. Each integer
+number means a number of quarks of this kind.
+
+{\bf G4QContent(const G4QContent\& right);}
+
+{\bf G4QContent(G4QContent* right);}
+
+// These are copy-constructors.
+
+// === {\it Overloaded operators} ===
+
+{\bf const \thinspace G4QContent\& operator=(const G4QContent\& right);}
+
+// This is a copy operator similar to the copy-constructors above.
+
+{\bf int operator==(const G4QContent\& rhs) const;}
+
+// This operator returns true (\#0) if the body values of two {\bf G4QContent%
+} objects are the same.
+
+{\bf int operator!=(const G4QContent\& rhs) const;}
+
+// This operator returns true (\#0) if the body values of two {\bf G4QContent%
+} objects are the same.
+
+{\bf G4int operator+=(const G4QContent\& rhs);}
+
+{\bf G4int operator-=(const G4QContent\& rhs);}
+
+{\bf G4int operator+=(const G4int\& rhs);}
+
+{\bf G4int operator-=(const G4int\& rhs);}
+
+// Increments and decrements of the quark content.
+
+{\bf G4int operator*=(G4int\& rhs);}
+
+{\bf G4int operator*=(const G4int\& rhs);}
+
+// In this case the right hand side is just an integer value.
+
+{\bf G4int operator+(const G4QContent\& lhs, const G4QContent\& rhs);}
+
+{\bf G4int operator-(const G4QContent\& lhs, const G4QContent\& rhs);}
+
+// The overloaded operators, defined beyond the {\it name space} of the
+class header.
+
+{\bf ostream\& operator%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+(ostream\& lhs, G4QContent\& rhs);}
+
+{\bf ostream\& operator%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+(ostream\& lhs, const G4QContent\& rhs);}
+
+// These are member functions which print the content of the decay
+channel.\thinspace
+
+// === {\it Selectors} ===
+
+{\bf G4int GetCharge() const;}
+
+{\bf G4int GetBaryonNumber() const;}
+
+{\bf G4int GetStrangness() const;}
+
+// Return the charge, the baryon number, and the strangeness for this quark
+content (strangeness of $\Lambda $\ is 1, strangeness of K$^{+}$ is -1).
+
+{\bf G4int GetSPDGCode() const;}
+
+// Return PDG code of particle with minimum mass for this quark content.
+
+{\bf G4int GetZNSPDGCode() const;}
+
+{\bf G4int NOfCombinations(const G4QContent\& rhs) const;}
+
+// Return a number of combinations of the quark content {\bf rhs} in this
+quark content. In future it will be transformed to overloaded {\bf operator/=%
+}.
+
+{\bf G4int GetQ() const;}
+
+{\bf G4int GetAQ() const;}
+
+{\bf G4int GetTot() const;}
+
+// Return a number of quarks, a number of antiquarks, and the total number
+of quarks correspondingly.
+
+{\bf G4int GetP() const;}
+
+{\bf G4int GetN() const;}
+
+{\bf G4int GetL() const;}
+
+{\bf G4int GetAP() const;}
+
+{\bf G4int GetAN() const;}
+
+{\bf G4int GetAL() const;}
+
+// Return a number of protons, neutrons, $\Lambda $, antiprotons,
+antineutrons anti-$\Lambda $ in this quark content correspondingly.
+
+{\bf G4int GetD() const;}
+
+{\bf G4int GetU() const;}
+
+{\bf G4int GetS() const;}
+
+{\bf G4int GetAD() const;}
+
+{\bf G4int GetAU() const;}
+
+{\bf G4int GetAS() const;}
+
+// Return a number of each kind of quarks in this quark content.
+
+{\bf G4int GetNetD() const;}
+
+{\bf G4int GetNetU() const;}
+
+{\bf G4int GetNetS() const;}
+
+{\bf G4int GetNetAD() const;}
+
+{\bf G4int GetNetAU() const;}
+
+{\bf G4int GetNetAS() const;}
+
+// Return a net number of quarks, that is subtract antiquarks of the same
+flavor from quarks and vise versa.
+
+{\bf G4int GetDD() const;}
+
+{\bf G4int GetUU() const;}
+
+{\bf G4int GetSS() const;}
+
+{\bf G4int GetUD() const;}
+
+{\bf G4int GetDS() const;}
+
+{\bf G4int GetUS() const;}
+
+{\bf G4int GetADAD() const;}
+
+{\bf G4int GetAUAU() const;}
+
+{\bf G4int GetASAS() const;}
+
+{\bf G4int GetAUAD() const;}
+
+{\bf G4int GetADAS() const;}
+
+{\bf G4int GetAUAS() const;}
+
+// Return a number of corresponding diquarks in the quark content.
+
+{\bf G4bool CheckNegative() const;}
+
+// Return true if at least one number of 6 is negative. It means that there
+is an error in the program.
+
+{\bf G4QContent IndQ (G4int ind=0);}
+
+{\bf G4QContent IndAQ (G4int ind=0);}
+
+// These functions are a kind of an iterator as they return a quark content
+for one quark with the index ind. E.g. if {\bf QC=(3,5,2,4,1,1)}, then {\bf %
+IndQ(1)=(1,0,0,0,0,0)}, {\bf IndQ(5)=(0,1,0,0,0,0)}, {\bf IndQ(10)} return
+the error message and call {\bf G4Exception}, {\bf IndAQ(5)=(0,0,0,0,0,1)}.
+The {\bf GetQ()} and {\bf GetAQ()} (see above) should be used before to
+avoid errors.
+
+{\bf \thinspace G4QContent SplitChipo(G4double mQ);}
+
+// Split some hadron from this quasmon state with mass {\bf mQ}. Very useful
+for chipolino-quasmon as helps to understand in which hadrons it can be
+split.
+
+// === {\it Modifiers} ===
+
+{\bf void Anti();}
+
+// Change quarks to antiquarks and vise versa.
+
+{\bf void SubtractHadron(G4QContent hQC);}
+
+// Returns {\it true} if it is possible to subtract hQC quark content\ from
+this quark content.
+
+{\bf void SubtractPi0();}
+
+// Returns {\it true} if it is possible to subtract $\pi ^{0}$\ from this
+quark content.
+
+{\bf void SubtractPion();}
+
+// Returns {\it true} if it is possible to subtract any pion\ from this
+quark content.
+
+{\bf void SubtractKaon();}
+
+// Returns {\it true} if it is possible to subtract any kaon\ from this
+quark content.
+
+{\bf void SetD(G4int n=0);}
+
+{\bf void SetU(G4int n=0);}
+
+{\bf void SetS(G4int n=0);}
+
+{\bf void SetAD(G4int n=0);}
+
+{\bf void SetAU(G4int n=0);}
+
+{\bf void SetAS(G4int n=0);}
+
+// Set the particular kind of quarks.
+
+{\bf void IncD(G4int n=1);}
+
+{\bf void IncU(G4int n=1);}
+
+{\bf void IncS(G4int n=1);}
+
+{\bf void IncAD(G4int n=1);}
+
+{\bf void IncAU(G4int n=1);}
+
+{\bf void IncAS(G4int n=1);}
+
+// Increment the particular kind of quarks.
+
+{\bf void IncQAQ(const G4int\& nQAQ=1, const G4double\& sProb=1.);}
+
+// Increment the quark content by {\bf nQAQ} quark-antiquark pairs. The {\bf %
+sProb} parameter is s/u value, which is normally taken from the input
+parameters.
+
+{\bf void Dec(G4int n=1);}
+
+{\bf void Dec(G4int n=1);}
+
+{\bf void Dec(G4int n=1);}
+
+{\bf void Dec(G4int n=1);}
+
+{\bf void Dec(G4int n=1);}
+
+{\bf void Dec(G4int n=1);}
+
+// Decrement the particular kind of quarks.
+
+{\bf void DecQAQ(const G4int\& nQAQ=1);}
+
+// Decrement the quark content by {\bf nQAQ} quark-antiquark pairs.
+
+\section{Appendix B. Development of the interaction part of the generator.}
+
+\noindent \qquad In this appendix the interaction part of the
+{\bf G4QEnvironment} class is considered. If necessary it can be developed by the
+user, as it does not cover all possible cases of interactions with quasmon
+creation.
+
+Let us start with the private member function
+{\bf PrepareInteractionProbabilities}:
+
+{\bf void G4QEnvironment::PrepareInteractionProbabilities(const G4QContent\&}
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 
+{\bf projQC, G4double AP)}
+
+{\bf \{}
+
+// Probability of interaction with the cluster can depend on quark content
+of the projectile {\bf projQC }and may be of the momentum of the projectile 
+{\bf AP} to have a special case for the interaction at rest (not used up to
+now!).
+
+\ \ {\bf G4double sum=0.;}
+
+// Increasing sum of probabilities.
+
+\ \ {\bf G4double probab=0.;}
+
+// Prototype of the calculated probability (fake initialization by 0.).
+
+\ \ {\bf G4double denseB=0.;}
+
+// Counter of quasi-free baryons from the dense region.
+
+\ \ {\bf G4double allB=0.}
+
+// Counter of all quasi-free baryons
+
+{\bf \ \ \ G4int pPDG=projQC.GetSPDGCode();}
+
+// Get the PDG of the projectile with minimum mass for the quark content (it
+works for the photons as they have zero quark content).
+
+\ \ {\bf for (G4int index=0; index%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+theCandidates.size(); index++)}
+
+\ \ {\bf \{}
+
+// The loop over all candidates starts.
+
+{\bf \ \ \ \ \ \ G4QCandidate* curCand=theQCandidates[index];}
+
+// Get a pointer to the current candidate.
+
+{\bf \ \ \ \ \ \ G4int cPDG=curCand-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+GetPDGCode();}
+
+// Get a PDG code of the candidate (at this point only clusters can be
+candidates for the interaction).
+
+{\bf \ \ \ \ \ \ if(cPDG%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+80000000\&\&cPDG!=90000000)}
+
+{\bf \ \ \ \ \ \ \{}
+
+// Anyway this is the standard filter for clusters. Hopefully this is not
+necessary. It is historic and should be corrected in future. But on the
+other hand, in some reactions the virtual mesons in baryons can be
+considered as a partial target (t-channel diagrams in the Feynman notation),
+so it can transform rather than disappear.
+
+{\bf \ \ \ \ \ \ \ \ \ G4Nucleus cN(cPDG);}
+
+// This is how a symbolic nucleus at rest can be created using the PDG code
+of the cluster.
+
+{\bf \ \ \ \ \ \ \ \ \ G4int zc=cN.GetZ();}
+
+{\bf \ \ \ \ \ \ \ \ \ G4int nc=cN.GetN();}
+
+{\bf \ \ \ \ \ \ \ \ \ G4int sc=cN.GetS();}
+
+{\bf \ \ \ \ \ \ \ \ \ G4int ac=cN.GetA();}
+
+// This is how the numbers of protons, neutrons, $\Lambda $, and all baryons
+can be found for the cluster.
+
+\ \ \ \ \ \ \ \ {\bf G4double nOfCl=curCand-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+GetPreProbability();}
+
+\ \ \ \ \ \ \ \ {\bf G4double dOfCl=curCand-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+GetDenseProbability();}
+
+// These are correspondingly the probability to find the cluster in the
+nucleus and find the cluster in the dense region of the nucleus.
+
+{\bf \ \ \ \ \ \ \ \ \ if(ac==1)}
+
+{\bf \ \ \ \ \ \ \ \ \ \{}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ allB+=nOfCl;}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ denseB+=dOfCl;}
+
+{\bf \ \ \ \ \ \ \ \ \ \}}
+
+// For the quasi-free baryons the corresponding sums are collected.
+
+{\bf \ \ \ \ \ \ \ \ \ G4QContent pQC=curCand-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+GetQC();}
+
+// The quark content of the candidate (parent cluster).
+
+{\bf \ \ \ \ \ \ \ \ \ G4int pC=progQC.GetCharge();}
+
+// The charge of the projectile.
+
+{\bf \ \ \ \ \ \ \ \ \ G4QContent qQC=pQC+projQC;}
+
+// The quark content of the possible compound quasmon.
+
+{\bf \ \ \ \ \ \ \ \ \ G4QPDGCode qQPDG(qQC);}
+
+// The {\bf G4QPDGCode} descriptor for the possible compound quasmon.
+
+{\bf \ \ \ \ \ \ \ \ \ G4int qC=qQPDG.GetQCode()}
+
+// This is the Q code for the possible compound quasmon.
+
+\thinspace {\bf \ } \ \ \ \ \ \ \ {\bf G4int rPDG=qQC.GetSPDGCode();}
+
+// Get the PDG of the hadron with minimum mass for the quark content of the
+possible compound quasmon.
+
+{\bf \ \ \ \ \ \ \ \ \ G4double pI=abs(zc-nc);}
+
+// This is an absolute isotopic shift for the nuclear cluster.
+
+{\bf \ \ \ \ \ \ \ \ \ G4double baryn=qQC.GetBaryonNumber();}
+
+{\bf \ \ \ \ \ \ \ \ \ G4double charge=qQC.GetCharge();}
+
+{\bf \ \ \ \ \ \ \ \ \ G4double qI=abs(baryn-charge-charge);}
+
+// The baryon number, the charge and the absolute isotopic shift for the
+possible compound quasmon.
+
+{\bf \ \ \ \ \ \ \ \ \ G4double fact=1./pow(2.,pI);}
+
+// This is a very important point. Only the clusters with the absolute
+isotopic shifts less than 3 are used in the generator (see the table above).
+It was suggested, that the probability for cluster to be created drops down
+with the absolute isotopic shift from the line of mirror nuclei ($\alpha $%
+-nuclei). The suggested suppression is calculated in this line. So according
+to the chosen restriction for the set of clusters the suppression factor for
+the clusters with the absolute isotopic shift more then 2 is equal 0.
+
+{\bf \ \ \ \ \ \ \ \ \ if(pPDG==-211\&\&AP%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+10. 
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{\vert} }%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+pPDG==22\&\&AP%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+140.)}
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ {\bf \ probab=dOfCl*ac*fact;}
+
+\ \ \ \ \ \ \ {\bf \ else \ probab=nOfCl*ac*fact;}
+
+// So in this version of the generator the probability for the reactions
+below the pion production threshold is proportional to the number of
+clusters in the dense region of nucleus, to the number of nucleons and to
+the isotopic suppression factor. For other reactions it is proportional to
+the number of clusters in all nucleus. The user can change this line and try
+any other method of calculation of the probability, e.g. use the {\bf nOfCl }%
+instead of the {\bf dOfCl.} In future many possible choices should be
+selected, using input parameters.
+
+{\bf \ \ \ \ \ \}}
+
+{\bf \ \ \ \ \ \ else probab=0.;}
+
+// The probability is 0 for the candidates, which are not the nuclear
+clusters. This can be changed in future.
+
+{\bf \ \ \ \ \ \ sum+=probab;}
+
+{\bf \ \ \ \ \ \ curCand-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+SetIntegProbability(sum);}
+
+// The integrated sum of probabilities is incremented for future
+randomization of probabilities
+
+{\bf \ \ \ \}}
+
+// End of the loop over nuclear clusters.
+
+{\bf \ \ \ if(allB%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+0.) f2all=(allB-denseB)/allB;}
+
+{\bf \ \ \ else \ \ \ \ \ \ \ \ \ f2all=0.;}
+
+{\bf \}}
+
+// End of the member function
+
+This private member function is used in the other private member function of
+the {\bf G4QEnvironment} class with the name {\bf CreateQuasmon}. It
+reflects a kind of dynamics of the interaction:
+
+{\em {\bf void G4QEnvironment::CreateQuasmon(const G4QContent\& projQC,}}
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
+\ {\em {\bf const G4Lorentz Vector\& proj4M) (a fragment).}}
+
+\{
+
+\ \ {\bf static const G4double mNeut=G4QPDGCode(2112).GetMass();}
+
+\ \ {\bf static const G4double mProt=G4QPDGCode(2212).GetMass();}
+
+\ \ {\bf static const G4double mLam=G4QPDGCode(3122).GetMass();}
+
+\ \ {\bf static const G4double mPi=G4QPDGCode(2112).GetMass();}
+
+\ \ {\bf static const G4double mPi2=mPi*mPi;}
+
+\ \ {\bf static const G4QContent neutQC(2,1,0,0,0,0);}
+
+\ \ {\bf static const G4QContent protQC(2,1,0,0,0,0);}
+
+\ \ {\bf static const G4QContent lambQC(2,1,0,0,0,0);}
+
+\ \ {\bf static const G4QNucleus vacuum(90000000);}
+
+// These are convenient constants which are permanently used in this
+function (analogue of the parameter {\bf PARAMETER} in FORTRAN)
+
+\ \ {\bf G4QContent valQ(0,0,0,0,0,0);}
+
+\ \ {\bf G4LorentzVector q4Mom(0.,0.,0.,0.,);}
+
+// Prototypes of the quark content and 4-momentum for the future quasmon.
+
+\ \ {\bf nBarClust=1;}
+
+\ \ {\bf G4double projE=proj4M.e();}
+
+{\bf \ \ \ if(projE%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+0.)}
+
+{\bf \ \ \ \{}
+
+{\bf \ \ \ \ \ \ G4cerr%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+''G4QEnv::CQ: pE=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+projE%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+0, QC=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+projQC%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+G4endl;}
+
+{\bf \ \ \ \ \ \ G4Exception(''***G4QEnvironment::CreateQuasmon: Energy of
+projectile?);}
+
+{\bf \ \ \ \}}
+
+// Total energy of the projectile can not be negative (in this version of
+the program, in general one can use the negative energy for the virtual
+projectile).
+
+{\bf \ \ \ G4double projM2=proj4M.m2();}
+
+{\bf \ \ \ G4int targPDG=theEnvironment.GetPDG();}
+
+{\bf \ \ \ if(targPDG%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+80000000\&targPDG!=90000000)}
+
+{\bf \ \ \ \{}
+
+// The target has the nuclear coding and can be treated as a nucleus
+
+\ \ \ \ \ {\bf G4bool pbpt=projE%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+PiPrThresh+(M2ShiftVir+projM2)/DiNuclMass;}
+
+// This is the condition of the photonuclear interaction below the pion
+production threshold. The parameters {\bf PiPrThresh}, {\bf M2ShiftVir}, and 
+{\bf DiNuclMass}\ can be defined by the user (see the parameter definition
+routine for the G4QEnvironment) or the default values can be used.
+
+\ \ \ \ \ {\bf G4bool din=false;}
+
+\ \ \ \ \ {\bf if(abs(projM2-mPi2)%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+.00001\&\&projE-mPi%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+0.1\&\&projPDG==-211}
+
+\ \ \ \ \ \ \ \ {\bf 
+%TCIMACRO{\TEXTsymbol{\vert}}%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{\vert} }%
+%BeginExpansion
+\mbox{$\vert$}%
+%EndExpansion
+\ pbpt\&\&projPDG==22) din=true;}
+
+// The {\bf din} flag shows, that quasi-free nucleons can not be used for
+the interaction (as in the case of the capture of the real pion at rest or
+photonuclear reactions below the pion production threshold) and only
+clusters with the baryon number more than 1 must be used for the interaction.
+
+\ \ \ \ \ {\bf G4int envZ=theEnvironment.GetZ();}
+
+\ \ \ \ \ {\bf G4int envN=theEnvironment.GetN();}
+
+\ \ \ \ \ {\bf G4int envS=theEnvironment.GetS();}
+
+\ \ \ \ \ {\bf G4int tgMass=theEnvironment.GetMass();}
+
+\ \ \ \ \ {\bf theEnvironment.SetMaxClust(nBarClust);}
+
+// The environment is an instance of the {\bf G4QNucleus} class and a number
+of clusters which can be used for the interaction can be restricted by the
+predefined {\bf nBarClust }value.
+
+\ \ \ \ \ {\bf nBarClust=theEnvironment.UpdateClusters(din);}
+
+// The clusters are calculated up to the previously defined {\bf nBarClust}
+value, but the dense region of the nucleus can be too small and this high
+level of clusterization can not be reached, then the new, lower restriction
+is returned. The {\bf din} flag is used to suppress such cases of
+clusterization, when only quasi-free nucleons exist ({\bf nBarClust==1}).
+
+\ \ \ \ \ {\bf theEnvironment.PrepareCandidates(theQCandidates);}
+
+// This function filters the transferred vector of candidates to the
+hadronization process and fix the preprobability values, which are
+probabilities to find the cluster in this nuclear environment or just 1 (or
+other suppression factor given in the parameters) for hadrons, which can be
+created according to the quark fusion mechanism in vacuum.
+
+\ \ \ \ \ {\bf G4bool eFlag=false;}
+
+// There are two possibilities to work with the vector of the projectile
+hadrons. First is old fashioned, belonging to the time when multi-quasmon
+version was not developed. This is the energy flow (energy flux) approach,
+when all the projectiles are considered as a jet and interact with the
+nuclear cluster as one quasmon (it is not one hadron any more as it is a
+bunch of hadrons, which can be characterized only by the quark content). So
+this mechanism is used if the {\bf eFlag} is {\it true}. But the default
+value in the present version is {\it false}, which means that each of the
+hadrons interact independently and create a separate quasmon.
+
+\ \ \ \ \ {\bf G4int efCounter=0;}
+
+\ \ \ \ \ {\bf G4QContent EnFlQC(0,0,0,0,0,0);}
+
+\ \ \ \ \ {\bf G4LorentzVector ef4Mom(0.,0.,0.,0.);}
+
+// These are the counter of projectiles, the prototype of total quark
+content for the energy flux jet and the prototype for its 4-momentum. They
+are used internally for the annihilation at rest case and can be a good
+example (along with the {\bf CHIPStest }program) for the {\it external
+interfaces} to the CHIPS event generator. While such interfaces are created
+and then meet some errors, one should look in this fragment to be sure that
+nothing is changed in the generator performance.
+
+\ \ \ \ \ {\bf G4int projPDG=projQC.GetSPDGCode();}
+
+// Just checks if this quark content can be interpreted as a hadron.
+
+\ \ \ \ \ {\bf G4double proj3m=proj4M.rho();}
+
+// Get the absolute value of the 3-momentum of the projectile for future
+cuts.
+
+\ \ \ \ \ {\bf G4int baryn=projQC.GetBaryonNumber();}
+
+// Get the baryon number of the projectile jet to disentangle the antibaryon
+at rest for the pre-annihilation on the nuclear surface.
+
+\ \ \ \ \ {\bf if(baryn==-1 \&\& proj3M%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+10.)}
+
+\ \ \ \ \ {\bf \{}
+
+// This is the case of the pre-annihilation on the nuclear surface.
+
+\ \ \ \ \ \ \ \ {\bf G4double zpn=envZ+envN;}
+
+{\bf \ \ \ \ \ \ \ \ G4double rnd=(zpn+envS)*G4UniforRand();}
+
+{\bf \ \ \ \ \ \ \ \ G4int targBPDG=0;}
+
+{\bf \ \ \ \ \ \ \ \ G4int targNPDG=90000000;}
+
+{\bf \ \ \ \ \ \ \ \ G4int targQC(0,0,0,0,0,0);}
+
+{\bf \ \ \ \ \ \ \ \ if(rnd%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+envN)}
+
+{\bf \ \ \ \ \ \ \ \ \{}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ targBPDG=2112;}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ targNPDG=90000001;}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ targQC= neutQC;}
+
+{\bf \ \ \ \ \ \ \ \ \ \}}
+
+{\bf \ \ \ \ \ \ \ \ \ else if(rnd%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+zpn)}
+
+{\bf \ \ \ \ \ \ \ \ \{}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ targBPDG=2212;}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ targNPDG=90001000;}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ targQC= protQC;}
+
+{\bf \ \ \ \ \ \ \ \ \}}
+
+{\bf \ \ \ \ \ \ \ \ else}
+
+{\bf \ \ \ \ \ \ \ \ \{}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ targBPDG=3122;}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ targNPDG=91000000;}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ targQC= lambQC;}
+
+{\bf \ \ \ \ \ \ \ \ \}}
+
+// This is the standard procedure (can be another member function!) to
+select a baryon from the nucleus. The neutQC, protQC, and lambQC quark
+contents are defined in the {\it static const} parameters of the function
+(analogue of the DATA operator in FORTRAN, but in respect to this operator in
+C++ these instances are preserved by the {\it const} prefix, which makes
+this parameter the {\it read only} one).
+
+\ \ \ \ \ \ \ {\bf theEnvironment.Reduce(targNPDG);}
+
+// After the baryon was chosen for the interaction (annihilation) it should
+be extracted from the environment.
+
+\ \ \ \ \ \ \ {\bf G4double resMass=theEnviront.GetGSMass();}
+
+// This is the new mass for the environment. The environment is always at
+rest and in the ground state in the model. Up to now it was enough for the
+dynamic simulation. So even if it was excited, this excitation will be
+transferred to the baryon to get rid of it. But the CHIPS event generator
+did not meet the excited nuclear targets up to now.
+
+\ \ \ \ \ \ \ {\bf G4double barMass=tgMass-resMass;}
+
+// This is the bounded mass{\bf \ }of the baryon in nuclear matter, which is
+ready for the annihilation act.
+
+\ \ \ \ \ \ \ \ {\bf tgMass=resMass;}
+
+// The target mass must be updated.
+
+{\bf \ \ \ \ \ \ \ \ q4Mom=G4LorentzVector(0,0,0,barMass)+proj4M;}
+
+{\bf \ \ \ \ \ \ \ \ valQ=targQC+projQC;}
+
+{\bf \ \ \ \ \ \ \ \ G4Quasmon* pan=new G4Quasmon(valQ,q4Mom);}
+
+// Here the quasmon for the annihilation system is created and the function
+takes the responsibility to delete it.
+
+{\bf \ \ \ \ \ \ \ \ G4QNucleus vE=vacuum;}
+
+{\bf \ \ \ \ \ \ \ \ G4QHadronVector* output=pan-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+Fragment(vE,1);}
+
+// The act of fragmentation (annihilation) is made here. The fragmentation
+function is informed that it happens in vacuum (the vacuum variable is
+defined in the {\it static const} part of the function) and this is the only
+({\bf 1}) quasmon in the environment (which is trivial for the vacuum
+hadronization). The {\bf output} is another object which should be deleted
+by the function.
+
+{\bf \ \ \ \ \ \ \ \ delete pan;}
+
+// So the delete-responsibility is transferred to the {\bf output} now.
+
+\ \ \ \ \ \ \ {\bf G4QHadronvector input;}
+
+// This is not necessary to take responsibility to delete this vector
+itself, but as far as any vector is created (even in the C++ stack, not in
+the C++ heap) it is necessary to clean up the pointers and may be (this is
+recommended to avoid the memory leak) the instances, to which this pointers
+indicate.
+
+{\bf \ \ \ \ \ \ \ \ G4int trgPDG=theEnvironment.GetPDG();}
+
+{\bf \ \ \ \ \ \ \ \ G4LorentzVector targ4M(0.,0.,0.,resMass);}
+
+// The new target for the residual environment{\bf .}
+
+\ \ \ \ \ \ \ {\bf G4int tNH=output-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+size();}
+
+// This is just a number of the secondary hadrons (mesons), which should be
+considered in the selection loop (see below).
+
+{\bf \ \ \ \ \ \ \ \ G4Threevector dir = RndmDir();}
+
+// In case of the annihilation at rest the direction, in which the solid
+angle is tested for the selection of the projectile particles in the second
+act of interaction, is random. At high energies it can depend on the
+direction of the primary projectile. But in this case the incident parameter
+and the nuclear geometry should be taken into account. So the dir is a
+randomly directed unit 3-vector.
+
+{\bf \ \ \ \ \ \ \ \ for(G4int ind=0; ind%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+tNH; ind++)}
+
+{\bf \ \ \ \ \ \ \ \ \{}
+
+// Loop over hadrons of the {\bf output }vector starts here.
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ G4QHadron* curHadr=output-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+operator[](ind);}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ G4int shDFL=curHadr-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+GetNFragments();}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ G4LorentzVector sh4m=curHadr-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+Get4Momentum();}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ G4ThreeVector shDIR=sh4m.vect().unit();}
+
+// This is how the conveyer of the member functions can be used to get the
+unit vector in the direction of the 3-momentum of the secondary hadron.
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ if (!shDFL)}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \{}
+
+// This is the standard filter for the particles, which already decayed.
+Only final particles are the candidates for the secondary interaction.
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ if(dir.dot(shDIR)%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+SolidAngle)}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
+
+// The particles inside the cos(), corresponding to the {\bf SolidAngle}
+parameter are selected. The {\bf SolidAngle} parameter varies from -1 to 1.
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ if(efFlag)}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ G4QContent shQC=curHadr-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+GetQC();}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ef4Mom+=sh4m;}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ EnFlQC+=shQC;}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ effCounter++;}
+
+// One projectile quasmon, made of the set of selected hadrons is collected
+here.
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ else}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ G4QHadron* mqHadron=new
+G4QHadron(curHadr);}
+
+// The new hadron is created in the C++ heap as the copy of the hadron in the
+annihilation {\bf output} and the following line is the {\bf delete}
+equivalent.
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ input.push\_back(mqHadron);}
+
+// This is very useful function of the vector template, which is used by the
+GEANT4 Collaboration. This function just fills the {\bf input} vector for
+the secondary interaction with the nucleus.
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
+
+// The selection process based on the solid angle stops here
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ else}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ G4QHadron* curHadron=new
+G4QHadron(curHadr);}
+
+// The new hadron is created in the C++ heap as the copy of the hadron in the
+annihilation {\bf output} and the following line is the {\bf delete}
+equivalent.
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ theQHadrons.push\_back(curHadron);}
+
+// Here the particles, produced in the peripheral annihilation act, are sent
+to the {\bf output }vector of the {\bf G4QEnvironment:Fragment()} function.
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ \}
+
+// The direct filling stops here
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \}}
+
+// The filtering of decayed particles stops here.
+
+{\bf \ \ \ \ \ \ \ \ \}}
+
+// This is the end of the loop over the hadrons of the {\bf output} vector
+of the peripheral annihilation act. \ \ 
+
+{\bf \ \ \ \ \ \ \ G4std::for\_each(output-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+begin(), output-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+end(), DeleteQHadron());}
+
+// This is a very important function for vectors as it clears the pointers
+and deletes the instances of the vector.
+
+\ \ \ \ \ \ \ {\bf delete output;}
+
+{\bf \ \ \ \ \ \ \ \ if(!efFlag)}
+
+{\bf \ \ \ \ \ \ \ \ \{}
+
+// This is the multi-quasmon case
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ if(!(input.size())) return;}
+
+// If no one of secondaries penetrates the nucleus, then just go out without
+interaction and without any quasmon creation.
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ G4Quasmon fakeQ;}
+
+// This is just a fake quasmon, which is created, to find out which
+parameters are defined by the user for this reaction. These are static
+parameters, so any new created instance of the {\bf G4Qusmon} class has the
+parameters defined by the user. This is necessary as the parameters must be
+recovered after the parameters for the annihilation process are temporary
+substituted instead of the parameters defined by the user.
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ G4QTemper=fake.GetTemper();}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ G4double QSOverU=fakeQ.GetSOverU();}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ G4double QEtaSup=fakeGetEtaSup();}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ G4Quasmon::SetParameters(180.,.1,.3);}
+
+// These hardwired parameters are defined according to the paper \cite
+{CHIPS1}.
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ G4QEnvironment* muq=}
+
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\bf new
+G4QEnvironment(input,theEnvironment.GetPDG());}
+
+// This is the temporary interaction inside this interaction.
+
+{\bf \ \ \ \ \ G4std::for\_each(input.begin(), input.end(), DeleteQHadron());}
+{\bf \ \ \ \ \ projHV.clear();}
+
+// This is an important point. The input vector was created in the C++
+stack, not in the C++ heap, so we do not need to delete it, it is deleted
+automatically in this {\it name space}, but we need to {\it clear} the
+pointers and {\it destroy} instances of this vector.
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ theEnvironment=muq-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+GetEnvironment();}
+
+// Now we should use the result of this temporary internal interaction. The
+first result is the residual nuclear environment after the interaction
+(creation of quasmons in nuclear matter).
+
+\ \ \ \ {\bf \ \ \ \ \ \ G4QuasmonVector* outQ=muq-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+GetQuasmons();}
+
+// The {\bf outQ} vector must be deleted as the copy of the internal quasmons
+is made by the {\bf GetQuasmon()} function according to the GEANT4
+convention.
+
+\ {\bf \ \ \ \ \ \ \ \ \ delete muq;}
+
+// So this is a kind of the rule: we delete the instance of the class, when
+we get the output of this class. No parameters, which were defined by
+the user can be recovered.
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ G4Quasmon::SetParameters(QTemper,QSOverU,QEtaSup);%
+}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ G4int nMq=outQ-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+size();}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ if(nMQ) for(G4int mh=0; mh%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+nMQ; mh++)}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \{}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ G4Quasmon* curQ=new G4Quasmon(0utQ-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+operator[](mh));}
+
+// The new copy is created for the temporary quasmon and the delete
+equivalent for this copy is the next line.
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ theQuasmons.push\_back(curQ);}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \}}
+
+{\bf \ \ \ \ \ \ G4std::for\_each(outQ-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+begin(), outQ-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+end(), DeleteQuasmon());}
+
+
+// The quasmons were copied from the temporary interaction environment to
+this one, so they must be destroyed in the temporary one.
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ delete outQ;}
+
+{\bf \ \ \ \ \ \ \ \ \}}
+
+{\bf \ \ \ \ \ \ \ \ else if(!efCounter) return;}
+
+// If this the energy flow (flux) case and no particles were collected for
+it, then just return without any further interaction and without any quasmon
+creation.
+
+\ \ \ \ \ {\bf \}}
+
+// The case of the preannihilation on the nuclear surface stops here.
+
+{\bf \thinspace\ \ \ \ \ \ else EnFlQC=projQC;}
+
+// If this is not the antibaryon then the quark content of the projectile is
+used in the same way as the quark content of the projectile quasmon.
+
+\ \ \ \ \ {\bf G4double EnFlP=ef4Mom.rho();}
+
+// This is an absolute value of the 3-momentum of the projectile
+
+\ \ \ \ \ {\bf PrepareInteractionProbabilities(EnFlQC,EnFlP);}
+
+// This function prepares the probabilities for the clusters. For the sake
+of restriction on the isotopic shift and the baryon number of the cluster
+the quark content and the 3-momentum of the projectile is transferred to
+this function. After that the cluster is selected according to the
+calculated probabilities and the projectile makes a compound quasmon with
+the selected cluster. This is how the quasmons are created in the nuclear
+matter.
+
+\ \ \ \ \ {\bf G4int nCandid = theQCandidates.size();}
+
+// A number of the cluster-candidates.
+
+\ \ \ \ \ {\bf G4double maxP=TheQCandidates[nCandid-1]-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+GetIntegProbability();}
+
+// Total sum of all probabilities
+
+\ \ \ \ \ {\bf G4double totP=maxP*G4UniformRand();}
+
+\ \ \ \ \ {\bf if(!totP)}
+
+\ \ \ \ \ {\bf \{}
+
+{\bf \ \ \ \ \ \ \ \ G4cerr%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+''***G4QEnv::CreateQ: nC=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+nCandid}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+'', maxP=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+maxP%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+'', QE=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+theEnvironment%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+G4endl;}
+
+{\bf \ \ \ \ \ \ \ \ G4Exception(''G4QEnvironment::CreateQuasmon:}
+
+{\bf \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Can not select a
+cluster for the interaction'');}
+
+\ \ \ \ \ {\bf \}}
+
+\ \ \ \ \ {\bf G4int i=0;}
+
+\ \ \ \ \ {\bf while(theCandidates[i]-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+GetIntegProbability()%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+totP) i++;}
+
+// This is the standard randomization procedure for the integrated
+probabilities
+
+\ \ \ \ \ {\bf G4QCandidate* curCand = theQCandidates[i];}
+
+// This is a pointer to the chosen cluster
+
+\ \ \ \ \ {\bf G4QContent curQC=curCand-%
+%TCIMACRO{\TEXTsymbol{>}}%
+%BeginExpansion
+\mbox{$>$}%
+%EndExpansion
+GetQC();}
+
+\ \ \ \ \ {\bf G4QNucleus targClust(curQC.GetP(), curQC.GetN(),
+curQC.GetL());}
+
+// This is a historic method of the nucleus definition one can just use {\bf %
+G4QNucleus(curQC)}.
+
+\ \ \ \ \ {\bf theEnvironment.Reduce(targClust.GetPDG());}
+
+// The environment
+
+\ \ \ \ \ {\bf G4double envMass=theEnvironment.GetGSMass();}
+
+\ \ \ \ \ {\bf if(projPDG==22\&\&pbpt)}
+
+\ \ \ \ \ {\bf \{}
+
+{\bf \ \ \ \ \ \ \ \ q4Mom=G4LorentzVector(0.,0.,0.,tgMass-envMass);}
+
+{\bf \ \ \ \ \ \ \ \ valQ=targClust.GetQCZNS();}
+
+{\bf \ \ \ \ \ \ \ \ G4Quaxmon* curQuasmon=new G4Quasmon(valQ, q4Mom,
+proj4M);}
+
+{\bf \ \ \ \ \ \ \ \ theQuasmons.push\_back(curQuasmon);}
+
+\ \ \ \ \ {\bf \}}
+
+\ \ \ \ \ {\bf else}
+
+\ \ \ \ \ {\bf \{}
+
+{\bf \ \ \ \ \ \ \ \ q4Mom=proj4M+G4LorentzVector(0.,0.,0.,tgMass-envMass);}
+
+{\bf \ \ \ \ \ \ \ \ valQ=EnFlQC+targClust.GetQCZNS();}
+
+{\bf \ \ \ \ \ \ \ \ G4Quasmon* curQuasmon=new G4Quasmon(valQ, q4Mom);}
+
+{\bf \ \ \ \ \ \ \ \ theQuasmons.push\_back(curQuasmon);}
+
+{\bf \ \ \ \ \ \ \}}
+
+{\bf \ \ \ \}}
+
+{\bf \ \ \ else}
+
+{\bf \ \ \ \{}
+
+// This is an important point: the target must have a nuclear coding in this
+version. In future any hadron as a target can be included.
+
+{\bf \ \ \ \ \ \ G4cerr%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+''***G4QEnv::CQ: Strange targPDG=''%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+targPDG%
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+%TCIMACRO{\TEXTsymbol{<}}%
+%BeginExpansion
+\mbox{$<$}%
+%EndExpansion
+G4endl;}
+
+{\bf \ \ \ \ \ \ G4Exception(''***G4QEnvironment::CreateQuasmon: Impossible
+target'');}
+
+{\bf \ \ \ \}}
+
+{\bf \}}
+
+// End of the CreateQuasmon member function
+
+\section{Appendix C. Nucleon-Antinucleon Annihilation at Rest}
+
+In the CHIPS model any excited hadronic system is considered to be a
+quasmon, a bubble containing massless quarks (quark-parton plasma).
+Quark-partons of the quasmon are homogeneously distributed over the  
+invariant phase space. The quasmon can be considered as a bubble of
+the 3-dimensional Feynman-Wilson \cite{Feynman-Wilson}\  parton gas. A
+quark fusion mechanism is applied to the successive fragmentation of a
+quasmon into hadrons. The model can be considered as a generalization
+of the chiral bag model of hadrons \cite{Chiral_Bag}\  in which
+any hadron consists of a few quark-partons. Any interaction between
+hadrons is modeled as purely kinematical effect of quark exchange
+reaction, and any quasmon decay is modeled as a quark fusion
+of two quark-partons in the quasmon. 
+This approach does not pretend to be a dynamical model. It can be 
+considered also as a generalization of the well-known hadronic phase
+space distribution \cite{GENBOD}\  approach, because it generates not only
+angular and momentum distributions for a given set of hadrons but the
+multiplicity distribution for different kinds of hadrons too. In
+comparison with other parton models \cite{Parton_Models}\  the CHIPS
+model is 3-dimensional.
+
+The invariant phase space distribution as a paradigm of thermalized
+chaos is applied to quarks, and simple kinematical mechanisms are used
+to model the hadronization of quarks into hadrons. Any quark-parton in
+a quasmon has a possibility to pick up another quark-parton from the
+same hadronic system (quark fusion mechanism) or exchange with a
+quark-parton of the neighboring quasmon (quark exchange
+mechanism). The kinematical condition for these mechanisms is that the
+secondary hadrons must be produced on their mass shell. In case of
+massless quarks the hadronization process can be easily integrated and
+modeled. That is why -- for the sake of acceleration of the algorithm
+-- we consider u, d, and s quarks to be massless in spite of their
+known nonzero mass values. Indirectly the quark mass is taken
+into account in the masses of outgoing hadrons. The selection of the
+type of the outgoing hadron is performed using combinatorial and
+kinematical factors which would allow given hadron to be emitted, 
+taking into account conservation laws.  In the present version of CHIPS 
+all mesons with 3-digit PDG Monte Carlo codes \cite{CHdetail.PDG} up to 
+spin $4$\ and all baryons with 4-digit PDG codes up to spin 
+$\frac{7}{2}$\ are implemented. 
+
+The only non-kinematical concept of the model is the hypothesis of
+critical temperature of the quasmon, which has its almost 35-year-old 
+history, starting with \cite{Hagedorn}.
+It is based on the experimental
+observation of regularities in the inclusive spectra of hadrons
+produced in different reactions at high energies. The concept of
+critical temperature is used in the method of calculating the number
+of quark-partons in a quasmon. In an infinite thermalized system the
+mean energy of partons is $2T$\ per particle, where $T$\ is the
+temperature of the system. For the finite system of $N$\ partons with
+total center-of-mass energy $M$\ the invariant phase space integral
+($\Phi _{N}$) is proportional to $M^{2N-4}$, where according to the
+dimensional counting rule $2N$\ comes from
+$\prod\limits_{i=1}^{N}\frac{d^{3}p_{i}}{E_{i}}$, and $4$\ comes from
+the energy and momentum conservation $\delta ^{4}($\b{P}$-\sum
+$\b{p}$_{i})$\ function. On the other hand, at a temperature $T$\ the
+statistical density of states is proportional to
+$e^{-\frac{M}{T}}$. So the probability to find a system of $N$\ 
+quark-partons in a state with mass $M$\ is $dW \propto
+M^{2N-4}e^{-\frac{M}{T}}dM$.  For this kind of a probability
+distribution the mean value of $M^{2}$\ can be calculated as
+\begin{equation}
+<M^{2}>=4N(N-1)\cdot T^{2}.  \label{temperature}
+\end{equation}
+
+When $N$\ goes to infinity one can obtain for massless particles the
+well-known $<M>\equiv \sqrt{<M^{2}>}=2NT$\ result. If a nucleon is
+excited, for example by absorbing energy from an incident real or
+virtual photon, the number of partons in the newly formed quasmon is
+determined by equation (\ref{temperature}). As the number of
+quark-partons in the quasmon is set this way, the spectrum of
+quark-partons can be calculated using the same $\Phi _{N}\propto
+M^{2N-4}$\ relation applied to the residual $N-1$\ quarks. As a
+result, the quark-parton spectrum can be calculated as:
+\begin{equation}
+\frac{dW}{kdk}\propto (M_{N-1})^{2N-6},
+\end{equation}
+where $M_{N-1}$\ is an effective mass of the residual $N-1$\ 
+quark-partons. 
+It can be calculated as a function of the total mass $M$:
+\begin{equation}
+M_{N-1}^{2}=M^{2}-2kM,  \label{m_n-1}
+\end{equation}
+where $k$\ is the energy of the primary quark-parton in the 
+center-of-mass system (CMS) of $N$\ partons. The resulting
+equation for the quark-parton spectrum is:
+\begin{equation}
+\frac{dW}{kdk}\propto (1-\frac{2k}{M})^{N-3}.  \label{spectrum_1}
+\end{equation}
+
+In this paper we consider only the quark fusion mechanism of
+hadronization, as the quark exchange mechanism can take place only in
+nuclear matter when a quasmon has neighboring nucleons. To dissociate
+a quasmon into a residual quasmon and an outgoing hadron one needs to
+calculate the probability for two quark-partons to have the effective
+mass of the outgoing hadron. To do that it is necessary to calculate
+the spectrum of the second quark-parton.  The secondary spectrum can
+be calculated in the same way as the primary spectrum
+(\ref{spectrum_1}) where $N$\ should be substituted by $N-1$. Using
+(\ref{m_n-1}) the spectrum can be written in the form
+\begin{equation}
+\frac{dW}{q dq }\propto \left( 1-\frac{2q }{M\sqrt{1-
+\frac{2k}{M}}}\right) ^{N-4},  \label{spectrum_2}
+\end{equation}
+where $q$\ is the energy of the second quark-parton in the CMS
+of $N-1$\ quark-partons.
+
+An additional equation comes from the mass shell condition for the
+outgoing hadron:
+\begin{equation}
+\mu^2 = 2 \frac{k}{\sqrt{1-\frac{2k}{M}}} 
+ \cdot q \cdot (1-\cos \theta ),  \label{hadron}
+\end{equation}
+where $\mu$\ is a mass of the outgoing hadron, and $\theta$\ is the angle
+between the momentum directions of the two quark-partons in the CMS 
+of $N-1$\ quarks. Now the
+kinematical quark fusion probability can be calculated for any primary
+quark-parton with energy $k$\ as an integral:
+\begin{eqnarray}
+P(k,M,\mu )=&&\int \left( 1-\frac{2q }{M\sqrt{1-\frac{2k}{M}}}\right)
+^{N-4} \nonumber\\
+ && \times\  \delta \left( \mu ^{2}-\frac{2kq (1-\cos \theta )}{\sqrt{1-
+\frac{2k}{M}}}\right) q dq d\cos \theta .\ \ \ \ 
+\end{eqnarray}
+Using the $\delta$-function\footnote{\protect{
+If $g(x_0)$=0, $\int f(x)\delta\left[g(x)\right]dx = 
+\int \frac{f(x)\delta\left[g(x)\right]}{g^\prime(x)} dg(x) = 
+\frac{f(x_0)}{g^\prime(x_0)}$
+}}
+to perform the integration over $q$\ one gets: 
+\begin{eqnarray}
+P(k,M,\mu )=&&\int \left( 1-\frac{\mu ^{2}}{Mk(1-\cos \theta )}\right)
+^{N-4} \nonumber\\
+ && \times\ \left( \frac{\mu ^{2}\sqrt{1-\frac{2k}{M}}}{2k(1-\cos \theta )}
+\right)^{2}d\left(\frac{1-\cos \theta }{\mu ^{2}}\right) ,\ \ 
+\end{eqnarray}
+or 
+\begin{eqnarray}
+P(k,M,\mu )=&&\frac{M-2k}{4k}\int \left(1-\frac{\mu ^{2}}{Mk(1 - 
+\cos\theta)}\right) ^{N-4} \nonumber\\
+ && \times\ d\left(1-\frac{\mu ^{2}}{Mk(1-\cos \theta )}\right).
+\end{eqnarray}
+The maximum value of 
+$z=1-\frac{2q }{M_{N-1}}=1-\frac{\mu ^{2}}{Mk(1-\cos \theta )}$\ is 
+\begin{equation}
+z_{\max }=1-\frac{\mu ^{2}}{2Mk},
+\end{equation}
+when $\cos \theta =-1$, and the minimum value of $z$ is $0$\ when $\cos\theta
+= 1- \frac{\mu ^{2}}{M\cdot k}$. So the range of $\theta$\ is:
+$-1<\cos \theta < 1-\frac{\mu ^{2}}{M\cdot k}$. The integrated
+kinematical quark fusion probability (in the range from 0 to $z$) is
+\begin{equation}
+\frac{M-2k}{4k\cdot (N-3)}\cdot z^{N-3}  \label{z_probab}
+\end{equation}
+and the total kinematical probability of hadronization of the
+quark-parton with energy $k$\ to a hadron with mass $\mu$\ is
+\begin{equation}
+\frac{M-2k}{4k \cdot (N-3)} \cdot z_{\max}^{N-3}. 
+                                   \label{tot_kin_probab}
+\end{equation}
+Equations (\ref{z_probab}) and (\ref{tot_kin_probab}) can be used for
+randomization of $z$:
+\begin{equation}
+z=\sqrt[N-3]{R}\cdot z_{\max },  \label{z_random}
+\end{equation}
+where R is a random number uniformly distributed in the interval (0,1).
+
+The equation (\ref{tot_kin_probab}) can be used to create a
+competition between different hadrons in the hadronization process. In
+calculating relative probabilities for different hadrons one can use
+only a $z_{\max }^{N-3}$\ term in (\ref{tot_kin_probab}) as the rest is
+a constant for all candidates for the outgoing hadron, 
+but in addition
+it is necessary to take into account the quark content of a candidate $h$
+and its spin $s_h$. As a result the relative probability can be
+calculated as
+\begin{equation}
+P_h(k,M,\mu )=(2s_h+1)\cdot z_{\max }^{N-3}\cdot C_{Q}^{h},  
+                                         \label{rel_prob}
+\end{equation}
+where $C_{Q}^{h}$\ is the number of combinations of the quark content
+of the particular candidate from the quark content of the
+quasmon. We used the following quark wave functions for $\eta$\ 
+and $\eta ^{\prime }$\ mesons: $\eta
+=\frac{\bar{u}u+\bar{d}d}{2}-\frac{\bar{s}s}{\sqrt{2}}$, $\eta
+^{\prime }=\frac{\bar{u}u+\bar{d}d}{2}+\frac{\bar{s}s}{\sqrt{2}}$. No
+mixing was assumed for the $\omega $\ and $\phi $\ meson states:
+$\omega =\frac{ \bar{u}u+\bar{d}d}{\sqrt{2}}$, $\varphi
+=\bar{s}s$. Using these relative probabilities one can randomly
+generate the type of the outgoing hadron.
+
+There is one more model restriction to the hadronization process. We
+assume that the quark content of the residual quasmon must have 
+the quark content of either one or two real hadrons. When
+quantum numbers of a quasmon, determined by its quark content, cannot
+be represented by quantum numbers of a real hadron, the quasmon is
+considered to be a virtual hadron molecule such as $\pi ^{+}\pi ^{+}$\ 
+or $K^{+}\pi ^{+}$, in which case it is defined in the CHIPS model 
+as the Chipolino pseudo-particle.
+
+To fuse quark-partons and create the decay of the quasmon into the
+selected hadron and a residual quasmon, one needs to randomly generate
+the residual quasmon mass $m$, which in fact is the mass of the
+residual $N-2$ quarks. Using an equation similar to (\ref{m_n-1}) one
+finds that
+\begin{equation}
+m^{2}=z\cdot (M^{2}-2kM).  \label{m(z)}
+\end{equation}
+Now using equation (\ref{z_random}), the mass value of the residual 
+quasmon can be randomized as 
+\begin{equation}
+m^{2}=(M-2k)\cdot (M-\frac{\mu ^{2}}{2k})\cdot \sqrt[N-3]{R}.
+\label{res_quasmon}
+\end{equation}
+Thus, the final state hadron at this step is generated as a product of
+the two-particle decay of the initial quasmon into the hadron and the
+residual quasmon with the generated mass value.
+
+This iterative hadronization process continues while the residual
+quasmon mass remains greater than $m_{\min }$, where the definition of
+$m_{\min }$\ depends on the type of quasmon (hadron-type, or
+Chipolino-type). For the hadron-type residual quasmon
+\begin{equation}
+ m_{\min }=m_{\min }^{QC}+m_{\pi ^{0}},  \label{m_min}
+\end{equation}
+where $m_{\min }^{QC}$\ is the minimum hadron mass for the residual
+quark content (QC). For the Chipolino-type residual quasmon consisting
+of hadrons $h_1$\ and $h_2$\ 
+\begin{equation}
+ m_{\min }=m_{h_1}+m_{h_2}. \label{m_min_chipolino}
+\end{equation}
+These conditions assure that the quasmon in the iterative process 
+has always enough energy to decay into at least two final state
+hadrons, conserving four-momentum and charge.
+
+If the remaining CMS energy of the residual quasmon falls below
+$m_{\min}$, then the hadronization process finishes by a final
+two-particle decay.  If the parent quasmon is a Chipolino consisting
+of hadrons $h_1$\ and $h_2$, then a binary decay of the parent quasmon
+into $m_{h_1}$\ and $m_{h_2}$\ takes place.  If the parent quasmon is
+not a Chipolino then the decay into $m_{\min}^{QC}$\ and $m_h$\ takes
+place. The decay into $m_{\min}^{QC}$\ and $m_\pi^0$\ is
+always possible in this case because of condition (\ref{m_min}).
+
+If the residual quasmon is not Chipolino-type, and $m>m_{\min}$, the
+hadronization loop can still be finished by the resonance production
+mechanism, modeled following the concept of parton - hadron duality
+\cite{Duality}.  If the residual quasmon mass
+value $m$\ is in the vicinity of some resonance with the same quark
+content (e.g. $\rho$\ or $K^{\ast }$), there is a probability for the
+residual quasmon to convert to this resonance.\footnote{For the
+comparison of the quark contents, the quark content of the quasmon is
+reduced by canceling of the quark-antiquark pairs of the same flavor.}
+In the present version of the CHIPS event generator the probability to
+convert to the resonance is calculated as
+\begin{equation}
+P_{\rm{res}}=\frac{m_{\min }^{2}}{m^{2}}.  \label{res_probab}
+\end{equation}
+With this probability the resonance with the squared mass value
+$m_{r}^{2}$\ closest to $m^{2}$\ is selected, and the binary decay of
+the quasmon into $m_{h}$\ and $m_{r}$\ takes place.
+
+In the future when experimental data will be more detailed one can
+take into account angular momentum conservation, and also C-, P- and
+G-parity conservation. In the present version of the CHIPS event
+generator, $\eta $\ and $\eta ^{\prime }$\ are suppressed by a factor
+$0.3$. The factor was tuned for the experiments on antiproton
+annihilation at rest in liquid hydrogen and can be different for other
+hadronic reactions. One can vary it when describing other reactions.
+
+In addition to this parameter we had two more parameters. One of them
+is the suppression of heavy quark production (the so-called $s/u$\ 
+parameter) \cite{JETSET}. For the proton-antiproton annihilation at rest 
+the strange quark-antiquark sea was found to be suppressed by the
+factor $s/u = 0.1$.  It
+is less than $s/u = 0.3$, which is used as a default in the JETSET
+\cite{JETSET} event generator. It can be because quarks and
+anti-quarks of colliding hadrons are forming an initial non-strange
+sea, and the strange sea is suppressed by the OZI rule
+\cite{OZI}. This is a complicated question which is still being
+discussed by theorists \cite{OZI_violation} and demands further
+experimental measurements. The $s/u$\ parameter can be different for
+other reactions. In particular, for the e$^{+}$e$^{-}$\ reactions it can
+be closer to 0.3.
+
+The temperature parameter $T$\ has been fixed at $T=180$\ MeV. In
+earlier versions of the model we have found that using such a value we
+could successfully reproduce spectra of outgoing hadrons in different
+types of medium-energy reactions.
+
+\begin{figure}
+  \resizebox{1.00\textwidth}{!}
+{
+   \includegraphics{mommul.eps}
+}
+\caption{Left figure (a): momentum distribution of charged pions
+produced in proton-antiproton annihilation at rest. Points with
+errors: experiment \protect\cite{pispectrum}, histogram: CHIPS MC. The
+experimental spectrum is normalized to the measured average charged pion
+multiplicity 3.0. Right figure (b): pion multiplicity
+distribution. Points are taken from compilations of experimental data
+\protect\cite{pap_exdata}, histogram: CHIPS MC. The number of events 
+with kaons in the final state is shown in the bin corresponding to the pion
+multiplicity 9, where no real 9-pion events are generated or observed
+experimentally. The percentage of annihilation events with kaons in
+the model is close to the cited experimental value of 6\% \cite{pap_exdata}.
+}
+\label{mommul}
+\end{figure}
+\begin{figure}
+  \resizebox{1.00\textwidth}{!}
+{
+   \includegraphics{channels.eps}
+}
+\caption{Branching probabilities for different channels in
+proton-antiproton annihilation at rest. Points with errors: experiment
+\protect\cite {pap_exdata}, histogram: CHIPS MC. }
+\label{channels}
+\end{figure}
+
+We used these parameters to fit not only the spectrum of pions
+(Fig.~\ref{mommul},a) and the multiplicity distribution for pions
+(Fig.~\ref{mommul},b) but also branching ratios of various measured
+\cite{pap_exdata,pispectrum}\  exclusive channels (Figs.
+~\ref{channels},~\ref{threechan},~\ref{twochan}).  In
+Fig.~\ref{twochan} one can see many decay channels with higher meson
+resonances. The relative contribution of the events with meson
+resonances produced in the final state is 30 - 40 percent, roughly in
+agreement with experiment. The agreement between the model and
+experiment for particular decay modes is within a factor of 2-3 except for
+the branching ratios to higher resonances, for which it is not
+completely clear what is the definition of a resonance in a concrete
+experiment.  In particular, for the $a_{2}\omega $\ channel the mass sum
+of final hadrons is 2100 MeV with a full width of about 110 MeV while
+the total initial energy of the p\={p} annihilation reaction is only
+1876.5 MeV. This decay channel can be formally simulated by an event
+generator using the tail of the Breit-Wigner distribution for the
+$a_{2}$\ resonance, but it is difficult to imagine how the $a_{2}$\ 
+resonance can be identified $2\Gamma $\ away from its mean mass value
+experimentally. 
+
+To model fragmentation into baryons the POPCORN idea \cite{POPCORN}, 
+which assumes the existence of diquark-partons, was used. This
+assumption of massless diquarks is somewhat inconsistent at low
+energies, as is the assumption of massless s-quarks, but it is simple
+and it helps to generate baryons the same way as mesons.
+
+Baryons are heavy, and the baryon production in p\={p} annihilation
+reactions at medium energies is very sensitive to the value of
+temperature. If the temperature is low, the baryon yield is small, and
+the mean multiplicity of pions increases very noticeably with CMS energy
+(Fig.~\ref{apcmul}).  For higher temperature values the baryon yield
+reduces the pion multiplicity at higher energies.  The existing
+experimental data \cite{Energy_Dep}\ (Fig.~\ref{apcmul}) can be
+considered as a kind of ``thermometer'' for the model. This
+``thermometer'' confirms the critical temperature value of about 200
+MeV.
+
+\begin{figure}
+  \resizebox{1.00\textwidth}{!}
+{
+   \includegraphics{threechn.eps}
+}
+\caption{Branching probabilities for different channels with
+three-particle final states in proton-antiproton annihilation at
+rest. Points with errors: experiment \protect\cite{pap_exdata},
+histogram: CHIPS MC. }
+\label{threechan}
+\end{figure}
+\begin{figure}
+  \resizebox{1.00\textwidth}{!}
+{
+   \includegraphics{twochn.eps}
+}
+\caption{Branching probabilities for different channels with
+two-particle final states in proton-antiproton annihilation at
+rest. Points with errors: experiment \protect\cite{pap_exdata},
+histogram: CHIPS MC. }
+\label{twochan}
+\end{figure}
+\begin{figure}
+  \resizebox{1.00\textwidth}{!}
+{
+   \includegraphics{apcmul.eps}
+}
+\caption{Average meson multiplicities in proton-antiproton and in
+electron-positron annihilation, as a function of the CMS energy of the
+interacting hadronic system. Points with errors: experiment
+\protect\cite {Energy_Dep}, lines: CHIPS MC calculation at different
+values of the critical temperature parameter $T$. }
+\label{apcmul}
+\end{figure}
+
+
+The CHIPS model presented is an attempt to use the set of simple rules
+governing microscopic quark-level behavior to model macroscopic
+hadronic systems with a large number of degrees of freedom. Apart from
+the natural rules of conservation of quantum numbers and relativistic
+kinematics, the hypothesis of {\em{quark fusion}} and the hypothesis
+of a {\em{critical temperature}} are implemented.
+
+The {\em{quark fusion}} hypothesis determines the rules of production
+of the final state hadrons, with energy spectra reflecting the
+momentum distribution of quarks in the system.
+
+Qualitatively, the hypothesis of a {\em{critical temperature}} assumes
+that the quark-gluon hadronic system (quasmon) 
+cannot be heated above a certain temperature. Adding
+more energy to the hadronic system increases the number of constituent
+quark-partons, keeping the temperature constant. The critical
+temperature $T=180-200$ MeV is the principal parameter of the model.
+
+
+In this paper we have shown that such an approach, in combination with
+reasonable model assumptions on the mechanism of final state quasmon
+conversion into hadron resonances, 
+may be used successfully to model hadron multiplicities
+and spectra in multifragmentation processes of nucleon-antinucleon
+annihilation.
+
+The essential part of the model is that it can be only implemented in
+full in the form of a computer code -- Monte Carlo event generator.It
+can be used as a tool for the Monte Carlo simulation of a wide
+spectrum of hadronic reactions.
+The CHIPS event generator can be used not only for the
+``phase-space background'' calculations in place of the standard
+GENBOD routine \cite{GENBOD}\ but even for taking into account the
+reflection of resonances in connected final hadron combinations. Thus
+it can be useful for the physics analysis too, while the main range of
+its application is the simulation of the evolution of hadronic and
+electromagnetic showers in matter at medium energies.
+
+\section{Appendix D. Nuclear pion capture at rest and photonuclear
+   reactions below the $\Delta$(3,3) resonance}
+
+
+The CHIPS computer code is a quark-level three-dimensional event generator 
+for the fragmentation of hadronic systems into hadrons. An important
+feature of the model is a homogeneous distribution of asymptotically
+free quark-partons over the invariant phase space, applied to the
+fragmentation of different types of excited hadronic systems
+including nucleon excitations, hadronic systems produced in
+$e^{+}e^{-}$ interactions, high energy nuclear excitations,
+etc.. Exclusive event generation which models multiple hadron
+production conserving energy, momentum, and charge generally results
+in a good description of particle multiplicities and spectra in
+multihadron fragmentation processes. All this makes it possible to use
+the CHIPS event generator in exclusive modeling of hadron cascades in
+materials.
+
+When compared with the first ``in vacuum'' version of the model,
+described in  Appendix C, modeling of hadronic fragmentation
+in nuclear matter is more complicated, because of the much greater number
+of possible secondary fragments, but the hadronization process itself
+is simpler in a certain way.  In vacuum, the quark-fusion mechanism 
+requires a quark-parton partner from the external (as in
+JETSET \cite{JETSET}) or internal (Quasmon itself in Appendix C)
+quark-antiquark sea. In nuclear matter, there is
+a second possibility: quark exchange with the neighboring hadronic
+system, a nucleon or nuclear multinucleon cluster. Thus in nuclear
+matter the spectra of secondary hadrons and nuclear fragments may be
+considered as a reflection of the quark-parton energy spectrum in a Quasmon. In
+the case of inclusive spectra that are steeply decreasing with energy, and
+correspondingly steeply decreasing spectra of the quark-partons in a
+Quasmon, only those secondary hadrons which get the maximum energy 
+from the primary quark-parton with energy $k$ are contributing to the inclusive
+spectra. This extreme situation requires the exchanged quark-parton
+with energy $q$, coming back to the Quasmon from the cluster, to move in
+the opposite direction with respect to the primary quark-parton. As a
+result the hadronization quark exchange process becomes
+one-dimensional along the direction of $k$.  If a neighboring nucleon
+or nuclear cluster with bound mass $\tilde{\mu}$ absorbs the primary
+quark-parton and radiates the exchanged quark-parton in the opposite
+direction, then the energy of the outgoing fragment is $E=\tilde{\mu}+k-q$,
+and the momentum is $p=k+q$. Both energy and momentum of the outgoing
+nuclear fragment are known (as well as the mass $\tilde{\mu}$\ of the nuclear
+fragment in nuclear matter), so the momentum of the primary quark-parton
+can be reconstructed using the approximate relation
+\begin{equation}
+k=\frac{p+E-B\cdot m_{N}}{2},  \label{k}
+\end{equation}
+where $B$\ is the baryon number of the outgoing fragment
+($\tilde{\mu}\approx B\cdot m_{N}$, and $m_{N}$\ is the nucleon
+mass). 
+In \cite{K_parameter}\ it was shown that the invariant
+inclusive spectra of pions, protons, deuterons, and tritons in
+proton-nucleus reactions at 400~GeV \cite{FNAL}\ have not only the same
+exponential slope but almost coincide when they are plotted as a
+function of $k=\frac{p+E_{\rm{kin}}}{2}$.  Using data at 10~GeV 
+\cite{FAS}, it was shown that the parameter $k$\ defined by
+equation~(\ref{k}) is appropriate also for the description of secondary
+antiprotons produced in high energy nuclear reactions. This means that
+the extreme assumption of one-dimensional hadronization is a good
+approximation, not only for the quark exchange mechanism but for the
+quark fusion mechanism as well. In the one-dimensional case, assuming
+that $q$\ is the momentum of the second quark fusing with the primary
+quark-parton with energy $k$, the total energy of the outgoing hadron
+is $E=q+k$\ and the momentum is $p=k-q$.  In the one-dimensional case the
+secondary quark-parton must move in the opposite direction with
+respect to the primary quark-parton; otherwise the mass of the outgoing
+hadron would be zero.  So we get for mesons $k=\frac{p+E}{2}$, in
+accordance with equation~(\ref{k}). In the case of antiproton radiation, the
+baryon number of the Quasmon is increased by one, and the primary
+antiquark-parton will spend its energy to build up the mass of the
+antiproton by picking up an anti-diquark. Thus, the energy conservation law
+for antiproton radiation looks like $E+m_{N}=q+k$\ and hence
+$k=\frac{p+E+m_{N}}{2}$, which is again in accordance with
+equation~(\ref{k}).
+
+This one-dimensional quark exchange mechanism was proposed in 1984
+\cite{K_parameter}.  Even in its approximate form it was useful in the
+analysis of inclusive spectra of hadrons and nuclear fragments in
+hadron-nuclear reactions at high energies. Later the same approach was
+used in the analysis of nuclear fragmentation in electro-nuclear
+reactions \cite{TPC}. Also in 1984 the quark-exchange
+mechanism developed in the framework of the non-relativistic quark model
+was found to be important for the explanation of the short distance
+features of $NN$\ interactions \cite{NN QEX}. Later it was
+successfully applied to the $K^{-}p$\ interactions \cite{Kp QUEX}. The
+idea of the quark exchange mechanism between nucleons was useful even
+for the explanation of the EMC effect \cite{EMC}. For the non-relativistic
+quark model, the quark exchange technique was developed as an 
+alternative to the Feynman diagram technique at short distances
+\cite{QUEX}.
+
+The CHIPS event generator models quark exchange processes, taking into
+account kinematical and combinatorial factors for asymptotically free
+quark-partons. The naive picture of the quark-exchange mechanism is
+tunneling of quark-partons from the asymptotically free region of one
+hadron to the asymptotically free region of another hadron. To
+conserve color, another quark-parton from the neighboring hadron must
+replace the first quark-parton in the Quasmon. It makes the tunneling
+mutual, and the process has to be quark exchange.
+
+The experimental data available on multihadron production
+at high energies show regularities in the secondary
+particle spectra that can be related to the simple kinematical,
+combinatorial, and phase space rules of such quark exchange and fusion
+mechanisms. The CHIPS model combines these mechanisms
+consistently in the form of a computational algorithm and an event
+generator.
+
+\begin{figure}[tbp]
+\resizebox{1.00\textwidth}{!}
+{
+   \includegraphics{diagram.eps}
+}
+\caption{Diagram of quark exchange mechanism. }
+\label{diagram}
+\end{figure}
+
+Figure~\ref{diagram} shows the quark exchange diagram which
+helps to keep track of the kinematics of the quark-exchange process.
+It was shown in Appendix C, that a Quasmon (Q in
+Fig.~\ref{diagram}) is kinematically determined by a few
+asymptotically free quark-partons homogeneously distributed over
+the invariant phase space. The Quasmon mass $M$\ is related to the number
+of quark-partons $N$ through
+\begin{equation}
+<M^{2}>=4N(N-1)\cdot T^{2},  \label{temperatureII}
+\end{equation}
+where $T$ is the temperature of the system.
+
+The spectrum of quark partons can be calculated as
+\begin{equation}
+\frac{dW}{k^{\ast }dk^{\ast}}\propto 
+ \left(1-\frac{2k^{\ast}}{M} \right)^{N-3},  \label{spectrum_1II}
+\end{equation}
+where $k^{\ast}$\ is the energy of the primary quark-parton in the 
+center-of-mass system (CMS) of the Quasmon. After the primary quark-parton is
+randomized and the neighboring cluster (parent cluster -- PC in
+Fig.~\ref{diagram}) with the bound mass $\tilde{\mu}$\ is selected, the
+quark exchange process starts. To follow the process kinematically one
+should imagine a colored compound system consisting of the bound
+parent cluster and the primary quark with energy $k$\ in the
+laboratory system (LS)
+\begin{equation}
+k=k^{\ast }\cdot \frac{E_{N}+p_{N}\cdot \cos (\theta _{k})}{M_{N}},
+\end{equation}
+where $M_{N}$, $E_{N}$\ and $p_{N}$\ are mass, energy, and momentum of
+the Quasmon in the LS. The mass of the compound system 
+(CF in Fig.~\ref{diagram}) is
+$\mu _{c}=\sqrt{(\tilde{\mu}+k)^{2}}$, where $\tilde{\mu}$\ and $k$\
+are corresponding four-vectors. This colored compound system decays into a
+free outgoing nuclear fragment with mass $\mu$\ (F in
+Fig.~\ref{diagram}) and the recoiling quark with energy $q$\ (in CMS of
+$\tilde{\mu}$, which coincides with LC in the present version of the
+model, as no internal motion of clusters is considered). At this point
+one should recall that a colored residual Quasmon with mass
+$M_{N-1}$\ (CRQ in Fig.~\ref{diagram}) is left after radiation of
+$k$. The last action is to fuse the CRQ and the recoil quark $q$. The
+resulting residual quasmon (RQ in Fig.~\ref{diagram}) should have its
+minimum mass higher than $M_{\min}$, which is determined by the
+minimum mass of a hadron (or Chipolino, double-hadron as defined in
+Appendix C) with the same quark content. All
+quark-antiquark pairs with the same flavor should be canceled in the
+minimum mass calculations. In CMS of $\mu_{c}$\ this restriction can
+be written as
+\begin{equation}
+2q\cdot (E-p\cdot \cos \theta_{qCQ})+M_{N-1}^{2}>M_{\min }^{2},
+\label{min_mass}
+\end{equation}
+where $E$ is the energy and $p$\ is the momentum of the colored residual
+Quasmon with mass $M_{N-1}$\ in CMS of $\mu _{c}$. Then the
+restriction for $\cos\theta_{qCQ}$\ is
+\begin{equation}
+\cos \theta _{qCQ}<\frac{2qE-M_{\min }^{2}+M_{N-1}^{2}}{2qp}.
+\label{cost_restriction}
+\end{equation}
+It implies that 
+\begin{equation}
+q>\frac{M_{N-1}^{2}-M_{\min }^{2}}{2\cdot (E+p)}.  \label{resid_rest}
+\end{equation}
+
+A second restriction comes from the nuclear Coulomb barrier for charged
+particles. We calculate the Coulomb barrier in a simple form:
+\begin{equation}
+E_{CB}=\frac{Z_{F}\cdot
+Z_{R}}{A_{F}^{\frac{1}{3}}+A_{R}^{\frac{1}{3}}}\ (\rm{MeV}),
+\label{CoulBar}
+\end{equation}
+where $Z_{F}$\ and $A_{F}$\ are charge and atomic weight of the
+fragment, and $Z_{R}$\ and $A_{R}$\ are charge and atomic weight of the
+residual nucleus. The obvious restriction is
+\begin{equation}
+   q<k+\tilde{\mu}-\mu -E_{CB}.  \label{cb_rest}
+\end{equation}
+
+The restrictions (\ref{resid_rest})\ and (\ref{cb_rest})\ are
+complementary to the restrictions from the quark exchange mechanism
+which should be calculated. The spectrum of recoiling quarks is similar
+to the $k^{\ast}$\ spectrum in Quasmon (\ref{spectrum_1II}):
+\begin{equation}
+  \frac{dW}{q\ dq\ d\cos \theta }\propto 
+  \left(1-\frac{2q}{\tilde{\mu}}\right)^{n-3}, \label{spectrum_2II}
+\end{equation}
+where $n$\ is the number of quark-partons in the nuclear cluster.  We
+consider it to be equal to $3 A_{C}$, where $A_{C}$\ is the atomic
+weight of the parent cluster. Tunneling of quarks from one nucleon to
+another makes the phase space common for all quark-partons of the
+cluster.
+
+An additional equation follows from the mass shell condition for the
+outgoing fragment,
+\begin{equation}
+\mu ^{2}=\tilde{\mu}^{2}+2\tilde{\mu}\cdot k-2\tilde{\mu}\cdot q-2k\cdot
+q\cdot (1-\cos \theta _{kq}),  \label{hadronII}
+\end{equation}
+where $\theta _{kq}$ is the angle between quark-partons in LS. From this
+equation $q$ can be calculated as 
+\begin{equation}
+q=\frac{\tilde{\mu}\cdot (k-\Delta )}{\tilde{\mu}+k\cdot 
+(1-\cos \mathit{\theta }_{\mathit{kq}})},  \label{q-cos}
+\end{equation}
+where $\Delta $ is the covariant binding energy of the cluster 
+$\Delta =\frac{\mu ^{2}-\tilde{\mu}^{2}}{2\tilde{\mu}}$. 
+The quark exchange probability integral can be written in the form: 
+\begin{eqnarray}
+&&P(k,\tilde{\mu},\mu )=  \nonumber \\
+&&\int \delta \left[ \mu ^{2}-\tilde{\mu}^{2}-2\tilde{\mu}\cdot k+2\tilde{\mu
+}\cdot q+2k\cdot {q}\cdot (1-\cos \theta _{kq})\right]   \nonumber \\
+&&\ \ \ \ \ \ \ \ \times \ \left( 1-\frac{2{q}}{\tilde{\mu}}\right) ^{n-3}{q}
+d{q\cdot }d\cos \theta _{kq}.
+\end{eqnarray}
+Using the $\delta$-function to make the integration over ${q}$\ one 
+gets: 
+\begin{eqnarray}
+P(k,\tilde{\mu},\mu ) &=&\int \left( 1-\frac{2(k-\Delta )}{\tilde{\mu}
++k(1-\cos \theta _{\mathit{kq}})}\right) ^{n-3}  \nonumber \\
+&&\times \ \frac{\tilde{\mu}(k-\Delta )}{2[\tilde{\mu}+k(1-\cos \mathit{
+\theta }_{\mathit{kq}})]^{2}}d\mathit{\cos \theta }_{\mathit{kq}}
+\end{eqnarray}
+or 
+\begin{eqnarray}
+P(k,\tilde{\mu},\mu ) &=&\int \left( 1-\frac{2(k-\Delta )}{\tilde{\mu}
++k(1-\cos \theta _{\mathit{kq}})}\right) ^{n-3}  \nonumber \\
+&&\times \ \left( \frac{\tilde{\mu}(k-\Delta )}{\tilde{\mu}+k(1-\cos 
+\mathit{\theta }_{\mathit{kq}})}\right) ^{2}  \nonumber \\
+&&\times \ d \left( \frac{\tilde{\mu}+k(1-\cos 
+\mathit{\theta }_{\mathit{kq}})}{\tilde{\mu}(k-\Delta )}\right).
+\end{eqnarray}
+The result of the integration is 
+\begin{eqnarray}
+&&P(k,\tilde{\mu},\mu )=\frac{\tilde{\mu}}{4k(n-2)}  \nonumber \\
+&&\times \ \left[ \left( 1-\frac{2(k-\Delta )}{\tilde{\mu}+2k}\right)
+_{\rm{high}}^{n-2}-\left( 1-\frac{2(k-\Delta )}{\tilde{\mu}}\right)
+_{\rm{low}}^{n-2}%
+\right] .  \label{QUEX_Int}
+\end{eqnarray}
+For randomization it is convenient to make $z$ a random parameter 
+\begin{equation}
+z=1-\frac{2(k-\Delta )}{\tilde{\mu}+k(1-\cos 
+\theta_{\mathit{kq}})}=1-\frac{2{q}}{\tilde{\mu}}.  \label{z(q)}
+\end{equation}
+From (\ref{QUEX_Int}) one can find the high and the low limits of the
+randomization. The first limit is a limit for $k$: $k>\Delta$. It is
+similar to the restriction for Quasmon fragmentation in vacuum:
+$k^{\ast}>\frac{\mu^{2}}{2M}$. The second limit is
+$k=\frac{\mu^{2}}{2\tilde{\mu}}$, when the low limit of randomization
+becomes equal to zero. If $k<\frac{\mu^{2}}{2\tilde{\mu}}$, then
+$-1<\cos\theta_{kq}<1$\ and
+$z_{\rm{low}}=1-\frac{2(k-\Delta)}{\tilde{\mu}}$. If
+$k>\frac{\mu^{2}}{2\tilde{\mu}}$, then the range of $\cos\theta
+_{kq}$\ is $-1<\cos\theta_{kq}<\frac{\mu^{2}}{k\tilde{\mu}}-1$\ and
+$z_{\rm{low}}=0$.  This value of $z_{\rm{low}}$\ should be corrected
+using the Coulomb barrier restriction (\ref{cb_rest}), and the value of
+$z_{\rm{high}}$ should be corrected using the minimum residual Quasmon
+restriction (\ref{resid_rest}). In the case of a Quasmon with momentum much
+less than $k$ it is possible to impose tighter restrictions than
+(\ref{resid_rest}) because the direction of motion of the CRQ is
+opposite to $k$. So
+$\cos\theta_{qCQ}=-\cos\mathit{\theta}_{\mathit{kq}}$, and from
+(\ref{q-cos}) one can find that
+\begin{equation}
+\cos \theta_{qCQ} =1-\frac{\tilde{\mu}\cdot (k-\Delta -q)}{k\cdot q}.
+\label{cos_q}
+\end{equation}
+So in this case the equation (\ref{resid_rest})\ can be replaced by
+the more stringent one: 
+\begin{equation}
+q>\frac{M_{N-1}^{2}-M_{\min }^{2}+2\frac{p\cdot 
+\tilde{\mu}}{k}(k-\Delta )}{2\cdot (E+p+\frac{p\cdot \tilde{\mu}}{k})}.
+\end{equation}
+
+The integrated kinematical quark exchange probability (in the range
+from $z_{\rm{low}}$ to $z_{\rm{high}}$) is 
+\begin{equation}
+\frac{\tilde{\mu}}{4k(n-2)}\cdot z^{n-2},  \label{z_probabII}
+\end{equation}
+and the total kinematical probability of hadronization of the quark-parton
+with energy $k$ into a nuclear fragment with mass\ $\mu $ is 
+\begin{equation}
+\frac{\tilde{\mu}}{4k(n-2)}\cdot 
+\left( z_{\rm{high}}^{n-2}-z_{\rm{low}}^{n-2}\right).
+\label{tot_kin_probabII}
+\end{equation}
+This can be compared with the vacuum probability of the quark fusion mechanism 
+from Appendix C: 
+\begin{equation}
+\frac{M-2k}{4k(N-3)}z_{\max }^{N-3}.
+\end{equation}
+The similarity is very important, as the absolute probabilities
+define the competition between vacuum and nuclear channels.
+
+Equations (\ref{z_probabII})\ and (\ref{tot_kin_probabII})\ can be used for
+randomization of $z$: 
+\begin{equation}
+z=z_{\rm{low}}+\sqrt[n-2]{R}\cdot (z_{\rm{high}}-z_{\rm{low}}), 
+ \label{z_randomII}
+\end{equation}
+where $R$\ is a random number, uniformly distributed in the interval (0,1).
+
+Equation (\ref{tot_kin_probabII})\ can be used to control the competition
+between different nuclear fragments and hadrons in the hadronization
+process, but in contrast to the case of ``in vacuum'' hadronization 
+it is not enough to
+take into account only quark combinatorics of the Quasmon and the outgoing
+hadron. In the case of hadronization in nuclear matter, different parent bound
+clusters should be taken into account as well. For example, 
+tritium can be radiated as a
+result of quark exchange with a bound tritium cluster or as a result of
+quark exchange with a bound $^3$He cluster.
+
+To calculate the yield of fragments it is necessary to calculate the
+probability to find a cluster with certain proton and neutron content
+in a nucleus. One could consider any particular probability as an
+independent parameter, but in such a case the process of tuning the model
+would be difficult. We proposed the following scenario of
+clusterization. A gas of quasi-free nucleons is close to the phase
+transition to a liquid phase bound by strong quark exchange
+forces. Precursors of the liquid phase are nuclear clusters, which may
+be considered as ``drops'' of the liquid phase within the nucleus. Any
+cluster can meet another nucleon and absorb it (making it bigger),
+or it can release one of the nucleons (making it smaller).  The
+first parameter $\varepsilon_{1}$\ is the percentage of quasi-free
+nucleons not involved in the clusterization process. The rest of the
+nucleons ($1-\varepsilon_{1}$) clusterize. 
+We assume that since on the periphery of the nucleus the density 
+is lower, one can consider only dibaryon clusters, and neglect 
+triple-baryon clusters.
+Still we denote the number of nucleons
+clusterized in dibaryons on the periphery by the parameter
+$\varepsilon_{2}$.  In the dense part of the nucleus, strong quark
+exchange forces make clusters out of quasi-free nucleons with high
+probability.  To characterize the distribution of clusters the parameter
+$\omega$\ of clusterization probability was used.
+
+If the number of nucleons involved in clusterization is
+$a=(1-\varepsilon_{1}-\varepsilon _{2})\cdot A$, then the probability
+to find a cluster consisting of $\nu$\ nucleons is defined by the 
+distribution 
+\begin{equation}
+P_{\nu }\propto C_{\nu }^{a}\cdot \omega ^{\nu -1},
+\end{equation}
+where $C_{\nu }^{a}$ is the corresponding binomial coefficient. 
+The coefficient of proportionality can be found from the equation 
+\begin{equation}
+a=b\cdot \sum\limits_{\nu =1}^{a}\nu \cdot C_{\nu }^{a}\cdot \omega ^{\nu
+-1}=b\cdot a\cdot (1+\omega )^{a-1}.
+\end{equation}
+Thus, the number of clusters consisting of $\nu$\ nucleons is 
+\begin{equation}
+P_{\nu }=\frac{C_{\nu }^{a}\cdot \omega ^{\nu -1}}{(1+\omega )^{a-1}}.
+\end{equation}
+For clusters with an even number of nucleons we used only isotopically
+symmetric configurations ($\nu=2n$, $n$\ protons and $n$\ neutrons) and
+for odd clusters ($\nu =2n+1$) we used only two configurations: $n$\
+neutrons with $n+1$\ protons and $n+1$\ neutrons with $n$\
+protons. This restriction, which we call ``isotopic focusing'', 
+can be considered as an empirical rule of the CHIPS model
+which helps to describe data. It is applied in the case of nuclear
+clusterization (isotopically symmetric clusters) and in the case of
+hadronization in nuclear matter.  In the hadronization process the
+Quasmon is shifted from isotopic symmetric state (e.g., by capturing
+a negative pion) and transfers excessive charge to the outgoing nuclear
+cluster. This tendency is symmetric with respect to the Quasmon and
+the parent cluster.
+
+The temperature parameter used to calculate the number of
+quark-partons in a Quasmon (see equation~\ref{temperatureII}) was chosen 
+to be $T=180$ MeV, which is the same as in Appendix C.
+
+The CHIPS model is mostly a model of fragmentation conserving
+energy, momentum, and charge. But to compare it with experimental data
+one needs to model also the first interaction of the projectile with the
+nucleus.  For proton-antiproton annihilation this was easy, as we
+assumed that in the interaction at rest, a proton and antiproton always
+create a Quasmon. In the case of pion capture the pion can be captured by
+different clusters. We assumed that the probability of capture is
+proportional to the number of nucleons in a cluster.  After the
+capture the Quasmon is formed, and the CHIPS generator produces
+fragments consecutively and recursively, choosing at each step the
+quark-parton four-momentum $k$, the type of parent and outgoing fragment,
+and the four-momentum of the exchange quark-parton $q$, to produce
+a final state hadron and the new Quasmon with less energy.
+
+In the CHIPS model we consider this process as a chaotic process
+with large number of degrees of freedom and do not take into account
+any final state interactions of outgoing hadrons. Nevertheless, when
+the excitation energy dissipates, and in some step the Quasmon mass
+drops below mass shell, the quark-parton mechanism of hadronization
+fails. To model the event exclusively, it becomes necessary to
+continue fragmentation at the hadron level. Such fragmentation process
+is known as nuclear evaporation. It is modeled using the
+non-relativistic phase space approach.  In the non-relativistic case the
+phase space of nucleons can be integrated as well as in the
+ultra-relativistic case of quark-partons.
+
+The general formula for the non-relativistic phase space can be found starting
+with the phase space for two particles $\tilde{\Phi}_{2}$. It is
+proportional to the CMS momentum:
+\begin{equation}
+\tilde{\Phi}_2(W_2) \propto \sqrt{W_2},  \label{F2}
+\end{equation}
+where $W_2$\ is a total kinetic energy of the two non-relativistic
+particles.  If the phase space integral is known for $n-1$\ hadrons
+then it is possible to calculate the phase space integral for $n$\
+hadrons:
+\begin{eqnarray}
+\tilde{\Phi}_{n}(W_n) &=&\int \tilde{\Phi}_{n-1}(W_{n-1}) \cdot
+\delta (W_{n}-W_{n-1}-E_{\rm{kin}})  \nonumber \\
+&&\times \sqrt{E_{\rm{kin}}}dE_{\rm{kin}} dW_{n-1}.  \label{Fn} 
+\end{eqnarray}
+Using (\ref{F2})\ and (\ref{Fn})\ one can find that 
+\begin{equation}
+\tilde{\Phi}_{n}(W_n)\propto W_{n}^{\frac{3}{2}n-\frac{5}{2}}
+\end{equation}
+and the spectrum of hadrons, defined by the phase space of residual
+$n-1$ nucleons, can be written as 
+\begin{equation}
+\frac{dN}{\sqrt{E_{\rm{kin}}}dE_{\rm{kin}}} \propto 
+\left(1-\frac{E_{\rm{kin}}}{W_{n}}\right)^{\frac{3}{2}n-4}.
+\label{evap_spectr}
+\end{equation}
+This spectrum can be randomized. The only problem is from which level one
+should measure the thermal kinetic energy when most nucleons in nuclei
+are filling nuclear levels with zero temperature. To model the evaporation
+process we used this unknown level as a parameter $U$\ of the evaporation
+process. Comparison with experimental data gives $U=1.7$ MeV. Thus, the
+total kinetic energy of $A$\ nucleons is 
+\begin{equation}
+W_{A}=U\cdot A+E_{\rm{ex}},
+\end{equation}
+where $E_{\rm{ex}}$ is the excitation energy of the nucleus.
+
+To\  be\  radiated,\ \  the nucleon\ \  should\ \  overcome\ \  the threshold 
+\begin{equation}
+U_{\rm{thresh}}=U+U_{\rm{bind}}+E_{CB},
+\end{equation}
+where $U_{\rm{bind}}$\ is a separation energy of the nucleon, and
+$E_{CB}$\ is the Coulomb barrier energy which is non-zero only for
+positive particles and can be calculated using formula
+(\ref{CoulBar}).
+
+Among several experimental investigations of nuclear
+pion capture at rest we have selected four published results which
+constitute, in our opinion, a representative data set covering a wide
+range of target nuclei, types of produced hadrons and nuclei
+fragments, and their energy range. In the first publication
+\cite{MIPHI}\ the spectra of charged fragments (protons, deuterons,
+tritium, $^{3}$He, $^{4}$He) in pion capture were measured on
+17 nuclei within one experimental setup. To verify the spectra we
+compared them for a carbon target with detailed measurements of the
+spectra of charged fragments given in Ref.~\cite{Mechtersheimer}. In
+addition, we took $^{6}$Li spectra for a carbon
+target from the same paper.
+
+The neutron spectra were added from Ref.~\cite{Cernigoi} and
+Ref.~\cite{Madey}. We present data and Monte Carlo distributions as 
+the invariant phase space function
+$f=\frac{d\sigma}{pdE}$\ depending on the variable
+$k=\frac{p+E_{\rm{kin}}}{2}$\ as defined in equation~(\ref{k}).
+
+Spectra on $^{9}$Be, $^{12}$C, $^{28}$Si ($^{27}$Al for secondary
+neutrons), $^{59}$Co ($^{64}$Cu for secondary neutrons), and
+$^{181}$Ta\ are shown in Figures~\ref{be0405}\ through~\ref{ta73108}.
+The data are described well, including the total energy spent in the
+reaction to yield the particular type of fragments.
+
+The evaporation process for nucleons is described well, too.  It is
+exponential in $k$, and looks especially impressive for Si/Al and
+Co/Cu data, where the Coulomb barrier is low, and one can see proton
+evaporation as a continuation of the evaporation spectra from
+secondary neutrons. This way the exponential behavior of the
+evaporation process can be followed over 3 orders of
+magnitude. Clearly seen is\ the\ transition region at\ \ $k \approx
+90$\ MeV\ \ (kinetic energy $15-20$\ MeV)\ \ between the quark-level
+hadronization process and the hadron-level evaporation process. For
+light target nuclei the evaporation process becomes much less
+prominent.
+
+The $^{6}$Li spectrum on a carbon target exhibits an interesting regularity
+when plotted as a function of $k$: it practically coincides with the
+spectrum of $^{4}$He fragments, and shows exponential behavior in a
+wide range of $k$, corresponding to a few orders of magnitude in the
+invariant cross section.  To keep the figure readable, 
+we did not plot the $^{6}$Li spectrum
+generated by CHIPS. It coincides with the 
+$^{4}$He spectrum at $k > 200$\ MeV, and underestimates lithium
+emission at lower energies, similarly to the $^{3}$He and tritium data.
+
+Between the region where hadron-level processes dominate and the
+kinematic limit all hadronic spectra slopes become close when plotted
+as a function of $k$. In addition to this general behavior there is an
+effect of strong proton-neutron splitting. For protons and neutrons
+it reaches almost an order of magnitude. To model such splitting in
+the CHIPS generator, the mechanism of ``isotopic focusing'' was used,
+which locally transfers the negative charge from the pion to the first
+radiated nuclear fragment.
+
+\begin{table}
+\caption{Clusterization parameters}
+\label{tab:1}
+\begin{tabular}{llllll}
+\hline\noalign{\smallskip}
+& $^{9}$Be & $^{12}$C & $^{28}$Si & $^{59}$Co & $^{181}$Ta \\
+\noalign{\smallskip}\hline\noalign{\smallskip}
+$\varepsilon_{1}$ & 0.45 & 0.40 & 0.35 & 0.33 & 0.33 \\
+$\varepsilon_{2}$ & 0.15 & 0.15 & 0.05 & 0.03 & 0.02 \\
+$\omega $ & 5.00 & 5.00 & 5.00 & 5.00 & 5.00 \\
+\noalign{\smallskip}\hline
+\end{tabular}
+\end{table}
+
+Thus, the model qualitatively describes all typical features of the
+pion capture process. The question is what can be extracted from the
+experimental data with this tool. The clusterization parameters are
+listed in Table~\ref{tab:1}. No formal fitting procedure has been
+performed. A balanced qualitative agreement with all data was used to
+tune the parameters. The difference between the $\frac{\varepsilon
+_{2}}{\varepsilon _{1}}$\ ratio and the parameter $\omega$\ (which is
+the same for all nuclei) is an indication that there is a
+phase transition between the gas phase and the liquid phase of the
+nucleus. The large value of the parameter $\omega$, determining the
+average size of a nuclear cluster, is critical in describing 
+the model spectra
+at large $k$, where the fragment spectra approach the kinematical
+limits.
+
+Using the same parameters of clusterization we compared the data
+\cite{Ryckbosch} on $\gamma$\ absorption on Al and Ca nuclei
+(Fig.~\ref{gam62}) with the CHIPS results. One can see that the
+spectra of secondary protons and deuterons are qualitatively described
+by the CHIPS model.
+
+\begin{figure}[tbp]
+\resizebox{1.00\textwidth}{!}
+{
+   \includegraphics{be0405k.eps}
+}
+\caption{\protect{Comparison of the CHIPS model results with
+experimental data on proton, neutron, and nuclear fragment production
+in the capture of negative pions on $^9$Be.
+Proton~\cite{MIPHI} and neutron~\cite{Cernigoi}\ experimental spectra
+are shown in the upper left panel by open circles and open squares,
+respectively. The model calculations are shown by the two
+corresponding solid lines. The same arrangement
+is used to present $^{3}$He~\cite{MIPHI}
+and tritium~\cite{MIPHI}
+spectra in the lower left panel. Deuterium~\cite{MIPHI} 
+and $^{4}$He~\cite{MIPHI} spectra are
+shown in the right panels of the figure by open squares
+and lines (CHIPS model). The average kinetic
+energy carried away by each nuclear fragment is shown in the panels
+by the two numbers: first is the average calculated using the
+experimental data shown; second is the model result.}}
+\label{be0405}
+\end{figure}
+
+\begin{figure}[tbp]
+\resizebox{1.00\textwidth}{!}
+{
+   \includegraphics{c0606k.eps}
+}
+\caption{\protect{Same as in Figure~\ref{be0405}, for 
+pion capture on $^{12}$C. The experimental neutron spectrum
+is taken from \cite{Madey}. In addition, the detailed data on
+charged particle production, including the $^{6}$Li spectrum, taken from
+Ref.~\cite{Mechtersheimer}, are superimposed on the plots as a series of
+dots.}}
+\label{c0606}
+\end{figure}
+
+\begin{figure}[tbp]
+\resizebox{1.00\textwidth}{!}
+{
+   \includegraphics{si1414k.eps}
+}
+\caption{\protect{Same as in Figure~\ref{be0405}, for
+pion capture on $^{28}$Si nucleus. The experimental neutron spectrum
+is taken from~\cite{Madey}, for the reaction on $^{27}$Al.}}
+\label{si1414}
+\end{figure}
+
+\begin{figure}[tbp]
+\resizebox{1.00\textwidth}{!}
+{
+   \includegraphics{co2732k.eps}
+}
+\caption{\protect{Same as in Figure~\ref{be0405}, for 
+pion capture on $^{59}$Co. The experimental neutron spectrum
+is taken from~\cite{Madey}, for the reaction on $^{64}$Cu.}}
+\label{co2732}
+\end{figure}
+
+\begin{figure}[tbp]
+\resizebox{1.00\textwidth}{!}
+{
+   \includegraphics{ta73108k.eps}
+}
+\caption{\protect{Same as in Figure~\ref{be0405}, for 
+pion capture on $^{181}$Ta. The experimental neutron
+spectrum is taken from~\cite{Madey}.}}
+\label{ta73108}
+\end{figure}
+
+\begin{figure}[tbp]
+\resizebox{0.70\textwidth}{!}
+{
+   \includegraphics{gam62.eps}
+}
+\caption{\protect{Comparison of CHIPS model with 
+experimental data~\cite{Ryckbosch} on
+proton and deuteron production at $90^{\circ}$ 
+in photonuclear reactions on $^{27}$Al
+and $^{40}$Ca at 59 -- 65 MeV. Open circles and solid squares represent the
+experimental proton and deuteron spectra, 
+respectively. Solid 
+and dashed lines show the results of the corresponding CHIPS model
+calculation. Statistical errors in the CHIPS results are not shown and
+can be judged by the point-to-point variations in the lines. The
+comparison is absolute, using the values of total
+photonuclear cross section 3.6 mb for Al and 5.4 mb for Ca, 
+as given in Ref.~\cite{Ahrens}.
+}}
+\label{gam62}
+\end{figure}
+
+The CHIPS model covers a wide spectrum of hadronic reactions with a
+large number of degrees of freedom. In the case of nuclear reactions the
+CHIPS generator helps to understand phenomena such as an order of
+magnitude splitting of neutron and proton spectra, high yield of
+energetic nuclear fragments, and emission of nucleons which
+kinematically can be produced only if seven or more nucleons are involved
+in the reaction.
+
+The CHIPS generator allows to extract collective parameters of a
+nucleus such as clusterization. The qualitative conclusion based on the fit
+to the experimental data is that the main fraction of nucleons is 
+clusterized, at least in
+heavy nuclei. The nuclear clusters can be considered
+as drops of a liquid nuclear phase. The quark exchange makes
+the phase space of quark-partons of each cluster common, stretching
+kinematic limits for particle production.
+
+The hypothetical quark exchange process is important not only for the
+nuclear clusterization, but for the nuclear hadronization process,
+too. The quark exchange between the excited cluster (Quasmon) and a
+neighboring nuclear cluster, even at low excitation level, operates with
+quark-partons at energies comparable with the nucleon mass. As a
+result it easily reaches the kinematic limits of the reaction,
+revealing the multinucleon nature of the process.
+
+Up to now the most underdeveloped part of the model has been the initial
+interaction between projectile and target. That is why we started
+with proton-antiproton annihilation and pion capture on nuclei at
+rest, which do not involve any interaction cross section. The further
+development of the model will require a better understanding
+of the mechanism of the first interaction.  However, we believe that
+even the basic model will be useful in the understanding the nature of
+multihadron fragmentation, and because of its features, is a suitable
+candidate for the hadron production and hadron cascade parts of the
+newly developed event generation and detector simulation Monte Carlo
+computer codes.
+
+\section{Appendix E. Modeling of real and virtual photon
+  interactions with nuclei below pion production threshold.}
+
+
+In the example of
+the photonuclear reaction discussed in the Appendix D, namely
+the description of $90^{\circ}$ proton and deuteron spectra in
+$A({\gamma},X)$ reactions at $E_{\gamma} = 59-65$ MeV, the assumption
+on the initial Quasmon excitation mechanism was the same. The
+description of the $90^{\circ}$ data was satisfactory, but the
+generated data showed very little angular dependence, as the velocity
+of Quasmons produced in the initial state was small, and the
+fragmentation process was almost isotropic.  Experimentally, the
+angular dependence of secondary protons in photo-nuclear reactions is
+quite strong even at low energies (see, for example,
+Ref.~\cite{Ryckebusch}). This is a challenging experimental fact which
+is difficult to explain in any model. It's enough to say that if the
+angular dependence of secondary protons in the $\gamma ^{40}$Ca
+interaction at 60 MeV is analyzed in terms of relativistic boost, then
+the velocity of the source should reach $0.33 c$; hence the mass
+of the source should be less than pion mass. The main subject of the present
+publication is to show that the quark-exchange mechanism used in the
+CHIPS model can not only model the clusterization of nucleons in nuclei
+and hadronization of intranuclear excitations into nuclear fragments, but
+can also model complicated mechanisms of interaction of photons and
+hadrons in nuclear matter.
+
+In Ref. Appendix D we defined a quark-exchange diagram which
+helps to keep track of the kinematics of the quark-exchange process
+(see Fig.~1 in Apendix D). To apply the same diagram to
+the first interaction of a photon with a nucleus, it is necessary to
+assume that the quark-exchange process takes place in nuclei
+continuously, even
+without any external interaction. Nucleons with high momenta do not
+leave the nucleus because of the lack of excess energy. The
+hypothesis of the CHIPS model is that the quark-exchange forces
+between nucleons \cite{NN QEX}\ continuously create clusters in normal
+nuclei. Since a low-energy photon (below the pion production threshold)
+cannot be absorbed by a free nucleon, other absorption mechanisms
+involving more than one nucleon have to be used.
+
+The simplest scenario is photon absorption by a quark-parton in
+the nucleon. At low energies and in vacuum this does not work because there
+is no corresponding excited baryonic state. But in nuclear matter
+there is a possibility to exchange this quark with a neighboring nucleon
+or a nuclear cluster. The diagram for the process is shown in
+Fig.~\ref{diagram1}. In this case the photon is absorbed by a
+quark-parton from the parent cluster $\rm{PC}_1$, and then 
+the secondary nucleon or cluster $\rm{PC}_2$
+absorbs the entire momentum of the quark and photon. The exchange
+quark-parton $q$ restores the balance of color, producing the 
+final-state hadron F and the residual Quasmon RQ. The process looks like a 
+knockout of a quasi-free nucleon or cluster out of the nucleus. It should be
+emphasized that in this scenario the CHIPS event generator
+produces not only ``quasi-free'' nucleons but ``quasi-free'' fragments
+too. The yield of these quasi-free nucleons or fragments is
+concentrated in the forward direction.
+
+The second scenario which provides for an angular dependence is the absorption
+of the photon by a colored fragment ($\rm{CF}_2$ 
+in Fig.~\ref{diagram2}). In this
+scenario, both the primary quark-parton with momentum $k$ and the photon
+with momentum $q_{\gamma}$ are absorbed by a parent cluster ($\rm{PC}_2$ in
+Fig.~\ref{diagram2}), and the recoil quark-parton with momentum $q$
+cannot fully compensate the momentum $k+q_{\gamma}$. 
+As a result the radiation of the
+secondary fragment in the forward direction becomes more probable.
+
+In both cases the angular dependence is defined by the first act of
+hadronization. The further fragmentation of the residual Quasmon is
+almost isotropic.
+
+\begin{figure}[tbp]
+\resizebox{0.70\textwidth}{!}
+{
+   \includegraphics{diagram1.eps}
+}
+\caption{\protect{Diagram of photon absorption in the quark
+exchange mechanism. $\rm{PC}_{1,2}$ stand for parent clusters 
+with bound masses
+$\tilde{\mu}_{1,2}$, participating in the quark-exchange. $\rm{CF}_{1,2}$
+stand for the colored nuclear fragments in the process of quark
+exchange. F($\mu$) denotes the outgoing hadron with mass $\mu$ in the
+final state. RQ is the residual Quasmon which carries the rest of the 
+excitation energy and momentum. $M_{\min}$ characterizes 
+its minimum mass defined by its quark content. Dashed lines indicate
+colored objects. The photon is absorbed by a
+quark-parton $k$ from the parent cluster $\rm{PC}_1$.
+}}
+\label{diagram1}
+\end{figure}
+
+\begin{figure}[tbp]
+\resizebox{0.70\textwidth}{!}
+{
+   \includegraphics{diagram2.eps}
+}
+\caption{\protect{Diagram of photon absorption in the 
+quark-exchange mechanism. The notation is the same as in
+Fig.~\ref{diagram1}. The photon is absorbed by the colored fragment
+$\rm{CF}_2$.
+}}
+\label{diagram2}
+\end{figure}
+
+It was shown in Appendix C that the energy spectrum of quark
+partons in a Quasmon can be calculated as
+\begin{equation}
+\frac{dW}{k^{\ast }dk^{\ast }}\propto 
+\left(1-\frac{2k^{\ast }}{M} \right)^{N-3},  \label{spectrum_1III}
+\end{equation}
+where $k^{\ast }$ is the energy of the primary quark-parton in the Center
+of Mass System (CMS) of the Quasmon, $M$\ is the mass of the Quasmon, 
+and $N$, the number of
+quark-partons in the Quasmon, can be calculated from the equation
+\begin{equation}
+<M^{2}>=4\cdot N\cdot (N-1)\cdot T^{2}.  \label{temperatureIII}
+\end{equation}
+Here $T$ is the temperature of the
+system.
+
+In the first scenario of the $\gamma A$ interaction
+(Fig.~\ref{diagram1}), as both interacting particles are massless, we
+assumed that the cross section for the interaction of the photon with a
+particular quark-parton is proportional to the charge of the quark-parton
+squared, and inversely proportional to the mass of the photon-parton
+system $s$, which can be calculated as
+\begin{equation}
+s=2\omega k(1-\cos (\theta _{k})).  \label{s}
+\end{equation}
+Here $\omega $\ is the energy of the photon, and $k$ is the energy of
+the quark-parton in the Laboratory System (LS):
+\begin{equation}
+k=k^{\ast }\cdot \frac{E_{N}+p_{N}\cdot \cos (\theta _{k})}{M_{N}}.
+\end{equation}
+In the case of a virtual photon, equation~(\ref{s}) can be written as
+\begin{equation}
+s=2k(\omega -q_{\gamma}\cdot \cos (\theta _{k})),
+\end{equation}
+where $q_{\gamma}$ is the momentum of the virtual photon. In both cases 
+equation~(\ref{spectrum_1III}) transforms into
+\begin{equation}
+\frac{dW}{dk^{\ast }}\propto \left(1-\frac{2k^{\ast }}{M} \right)^{N-3},
+\end{equation}
+and the angular distribution in $\cos (\theta _{k})$\ converges to a
+$\delta $-function: in the case of a real photon 
+$\cos (\theta _{k})=1$, and
+in the case of a virtual photon 
+$\cos (\theta _{k})=\frac{\omega }{q_{\gamma}}$.
+
+In the second scenario for the photon interaction 
+(Fig.~\ref{diagram2}) we assumed
+that both the photon and the primary quark-parton, randomized
+according to 
+equation~(\ref{spectrum_1III}), enter the parent cluster $\rm{PC}_2$,
+and after that the normal procedure of quark exchange
+continues, in which the recoiling quark-parton $q$ returns 
+to the first cluster.
+
+An additional parameter in the model is the relative contribution of
+both mechanisms. As a first approximation we assumed equal
+probability, but in the future, when more detailed data are obtained,
+this parameter can be adjusted.
+
+\begin{figure}[tbp]
+\resizebox{0.80\textwidth}{!}
+{
+   \includegraphics{gam62.eps}
+}
+\caption{\protect{Comparison of the CHIPS model results (lines in the
+figure) with the 
+experimental data~\cite{Ryckbosch} on
+proton spectra at $90^{\circ}$ 
+in the photonuclear reactions on $^{40}$Ca at 59--65 MeV (open
+circles),
+and proton spectra at $60^{\circ}$ (triangles) and $150^{\circ}$ 
+(diamonds).
+Statistical errors in the CHIPS results are not shown but
+can be judged by the point-to-point variations in the lines. The
+comparison is absolute, using the value of total
+photonuclear cross section of 5.4 mb for Ca, 
+as given in Ref.~\cite{Ahrens}.
+} }
+\label{gam62III}
+\end{figure}
+
+\begin{figure}[tbp]
+\resizebox{0.80\textwidth}{!}
+{
+   \includegraphics{gamm_c0606_e123.eps}
+}
+\caption{\protect{Comparison of the CHIPS model results (lines in the
+figure) with the 
+experimental data~\cite{Harty} on
+proton spectra at $57^{\circ}$, $77^{\circ}$, $97^{\circ}$, 
+$117^{\circ}$, and $127^{\circ}$
+in the photonuclear reactions on $^{12}$C at 123 MeV (open
+circles).
+The value of the total
+photonuclear cross section was set at 1.8 mb.
+}  }
+\label{gam_123}
+\end{figure}
+
+\begin{figure}[tbp]
+\resizebox{0.80\textwidth}{!}
+{
+   \includegraphics{gamm_c0606_e151.eps}
+}
+\caption{\protect{Same as in Fig.~\ref{gam_123}, for the photon energy
+151 MeV.}}
+\label{gam_151}
+\end{figure}
+
+\begin{figure}[tbp]
+\resizebox{0.80\textwidth}{!}
+{
+   \includegraphics{vgam_c0606k.eps}
+}
+\caption{\protect{Comparison of the CHIPS model results (line in the
+figure) with the experimental data~\cite{Bates} (open circles) on the
+proton spectrum measured in parallel kinematics in the
+$^{12}$C(e,e$^{\prime}$p)\ reaction at an energy transfer equal to 210
+MeV and momentum transfer equal to 585 MeV/$c$.  Statistical errors in
+the CHIPS result are not shown but can be judged by the point-to-point
+variations in the line.  The relative normalization is arbitrary.
+}  }
+\label{vgam}
+\end{figure}
+
+We begin the comparison with the data on proton production in the 
+$^{40}$Ca$(\gamma,X)$\ reaction at $90^{\circ}$\ at 59--65 MeV
+\cite{Ryckbosch}, and at $60^{\circ}$\ and $150^{\circ}$\ at 60 MeV
+\cite{Abeele}.  We analyzed these data together to compare the angular
+dependence generated by CHIPS with experimental data. The data are
+presented as a function of 
+the invariant inclusive cross section 
+$f=\frac{d\sigma }{p_{p}dE_{p}}$\ depending on the variable 
+$k=\frac{T_{p}+p_{p}}{2}$, 
+where $T_{p}$\ and $p_{p}$\ are the kinetic energy and the momentum of the
+secondary proton. As one can see from Fig.~\ref{gam62III}, the angular
+dependence of the proton yield in photoproduction on $^{40}$Ca at $60$ MeV is
+reproduced quite well by the CHIPS event generator.
+
+The second set of measurements that we use for the benchmark
+comparison deals with the secondary proton yields in
+$^{12}$C$(\gamma,X)$ reactions at 123 and 151 MeV \cite{Harty}, 
+which is still below the pion production threshold on
+a free nucleon. Inclusive spectra of protons have been measured in 
+$\gamma ^{12}$C reactions at $57^{\circ}$, $77^{\circ}$, $97^{\circ}$, 
+$117^{\circ}$, and $127^{\circ}$. 
+Originally, these data were presented as a function of 
+the missing energy. We present the data in Figs.~\ref{gam_123} 
+and \ref{gam_151} together with CHIPS calculations in
+the form of the invariant inclusive cross section dependent on $k$. 
+All parameters of the model such as temperature $T$ and parameters
+of clusterization for the particular nucleus were the same as in 
+Appendix D, where pion capture spectra were fitted.
+The agreement between the experimental data and the CHIPS model results is
+quite remarkable. Both data and calculations show significant strength
+in the proton yield cross section up to the kinematical limits of the
+reaction. The angular distribution in the model is not as prominent as
+in the experimental data, but agrees well qualitatively.
+
+Using the same parameters, we applied the CHIPS event generator to the
+$^{12}$C(e,e$^{\prime }$p) reaction measured in Ref.\cite{Bates}. The
+proton spectra were measured in parallel kinematics in the interaction
+of virtual photons with energy $\omega = 210$ MeV and momentum
+$q_{\gamma} = 585$ MeV/$c$. To account for the experimental conditions
+in the CHIPS event generator, we have selected protons generated in
+the forward direction with respect to the direction of the virtual
+photon, with the relative angle $\Theta_{qp} < 6^{\circ}$.  The CHIPS
+generated distribution and the experimental data are shown in
+Fig.~\ref{vgam} in the form of the invariant inclusive cross section as a
+function of $k$.  The CHIPS event generator works only with ground
+states of nuclei so we did not expect any narrow peaks for
+$^{1}p_{3/2}$-shell knockout or for other shells. Nevertheless we
+found that the CHIPS event generator fills in the so-called
+``$^{1}s_{1/2}$-shell knockout'' region, which is usually artificially
+smeared by a Lorentzian~\cite{Lorentzian}.  In the regular
+fragmentation scenario the spectrum of protons below $k = 300$ MeV is
+normal; it falls down to the kinematic limit. The additional yield at
+$k > 300$ MeV is a reflection of the specific first act of
+hadronization with the quark exchange kinematics. The slope increase
+with momentum is approximated well by the model, but it is obvious
+that the yield close to the kinematic limit of the $2 \rightarrow 2$
+reaction can only be described in detail if the excited states of the
+residual nucleus are taken into account.
+
+The angular dependence of the proton yield in low-energy photo-nuclear
+reactions is described in the CHIPS model and event generator. The
+most important assumption in the description is the hypothesis of a
+direct interaction of the photon with an asymptotically free quark in
+the nucleus, even at low energies. This means that asymptotic freedom of
+QCD and dispersion sum rules~\cite{sum_rules} can in some way be
+generalized for low energies.  The knockout of a proton from a nuclear
+shell or the homogeneous distributions of nuclear evaporation cannot
+explain significant angular dependences at low energies.
+
+The same mechanism appears to be capable of modeling proton yields in
+such reactions as the $^{16}$C(e,e$^{\prime }$p) reaction measured at MIT
+Bates \cite{Bates}, where it was shown that the region of missing
+energy above 50 MeV reflects ``two-or-more-particle knockout'' (or the
+``continuum'' in terms of the shell model). The CHIPS model may help
+to understand and model such phenomena.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%****************************
+\begin{thebibliography}{}
+\bibitem{STAND_ALONE}  \noindent M. V. Kossov, Manual for the CHIPS
+event generator,High Energy Accelerator Research Organization (KEK)
+Internal 2000-17, February 2001, H/R
+
+\bibitem{CHIPS1}  \noindent P. V. Degtyarenko, M. V. Kossov, and H.P.
+Wellisch, Chiral invariant phase space event generator, I.
+Nucleon-antinucleon annihilation at rest, Eur. Phys. J. A {\bf 8}, 217-222
+(2000).
+
+\bibitem{CHIPS2}  P. V. Degtyarenko, M. V. Kossov, and H. P. Wellisch,
+Chiral invariant phase space event generator, II.Nuclear pion capture at
+rest, Eur. Phys. J. A 9, (be published) (2001).
+
+\bibitem{CHIPS3}  P. V. Degtyarenko, M. V. Kossov, and H. P. Wellisch,
+Chiral invariant phase space event generator, III Photonuclear reactions
+below $\Delta $(3,3) excitation, Eur. Phys. J. A 9, (be published) (2001).
+
+\bibitem{GEANT4}  S. Giani et al., Geant4: Object Oriented Toolkit for
+Simulation in HEP, LCB status report CERN/LHCC/98-44, November 1998.
+
+\bibitem{MC2000}  J. P. Wellisch, On hadronic models in GEANT4, Program
+and Book of Abstracts.International Conference on Advanced Monte Carlo for
+Radiation Physics, Particle Transport Simulation and Applications, 23-26
+October 2000, IST,Lisbon, Portugal, p. 330.
+
+\bibitem{massSpectr}  M. V. Kossov, CHIPS: masses of hadrons. (be
+published).
+
+\bibitem{chpd.eqPhotons}  L. D. Landau, E. M. Lifshitz, ``Course of
+Theoretical Physics'' v.4, part 1, ``Relativistic Quantum Theory'',
+Pergamon Press, paragraph 96, The method of equivalent photons.
+
+\bibitem{Shadowing}  J. Eickmeyer et al. Phys. Rev. Letters {\bf 36 }(1976)
+289-291.
+
+\bibitem{Guilo}  D'Agostini, Hard Scattering Process in High Energy
+Gamma-Induced Reactions, DESY 94-169, September 1994.
+
+\bibitem{Electronuc}  F. W. Brasse et al. Nuclear Physics {\bf B39 }(1972)
+421-431.
+
+\bibitem{PenCB}  A. Lepretre et al. Nuclear Physics {\bf A390 }(1982)
+221-239.
+
+\bibitem{K_parameter}  M.V. Kossov and L.M. Voronina, Preprint ITEP
+165-84, Moscow (1984)
+
+\bibitem{DINREG} P.V. Degtyarenko and M.V. Kossov, Preprint ITEP
+11-92, Moscow (1992)
+
+\bibitem{ARGUS} P.V. Degtyarenko et al., Z. Phys. A - Atomic Nuclei,
+{\textbf{335}} (1990) 231
+
+\bibitem{TPC} P.V. Degtyarenko et al., Phys. Rev. C {\textbf{50}} (1994)
+R541
+
+\bibitem{GDINR} P.V. Degtyarenko, \textit{Applications of the photonuclear
+fragmentation model to radiation protection problems}, in:
+Proceedings of Second Specialist's Meeting on Shielding Aspects of
+Accelerators, Targets and Irradiation Facilities (SATIF-2), CERN,
+Geneva, Switzerland, 12-13 October 1995, published by Nuclear Energy
+Agency, Organization for Economic Co-operation and Development, pages
+67 - 91 (1996)
+
+\bibitem{sum_rules}  C. Bernard, A. Duncan, J. LoSecco, and S. Weinberg,
+Phys. Rev. D \textbf{12} (1975) 792;
+
+ E. Poggio, H. Quinn, and S. Weinberg, Phys. Rev. D \textbf{13} (1976) 1958
+
+\bibitem{Feynman-Wilson}  K.G. Wilson, Proc. Fourteenth Scottish
+Universities Summer School in Physics (1973), eds R. L. Crawford, R.
+Jennings (Academic Press, New York, 1974)
+
+\bibitem{Chiral_Bag} C.A.Z. Vasconcellos et al., Eur. Phys. J. C 
+{\textbf{4}} (1998) 115;
+
+G.A. Miller, A.W. Thomas, S. Theberge, Phys. Lett. B {\textbf{91}} (1980)
+192;
+
+C.E. de Tar, Phys. Rev. D {\textbf{24}} (1981) 752;
+
+M.A.B. B\'{e}g, G.T. Garvey, Comments Nucl. Part. Phys. {\textbf{18}}
+(1988) 1
+
+\bibitem{Parton_Models} B. Andersson, G. Gustafson, G. Ingelman,
+T. Sj\"{o}strand, Phys. Rep. {\textbf{97}} (1983) 31
+
+\bibitem{CHdetail.PDG}  Monte Carlo particle numbering scheme, in: 
+ Particle Data Group, \textit{Review of Particle Physics}, 
+ Eur. Phys. J. C {\textbf{3}} (1998) 180
+
+\bibitem{Hagedorn} R. Hagedorn, Nuovo Cimento Suppl. {\textbf{3}} (1965) 147
+
+\bibitem{Duality} Yu.L. Dokshitzer, V.S. Fadin and V.A. Khoze,
+Phys. Lett. {\textbf{115B}} (1982) 242L
+
+\bibitem{JETSET} T. Sj\"{o}strand, Comp. Phys. Comm. {\textbf{92}} (1994)
+74
+
+\bibitem{GENBOD} F. James, \textit{Monte Carlo Phase Space}, CERN 68-15
+(1968)
+
+\bibitem{OZI}  S. Ocubo, Phys. Lett. {\textbf{5}} (1963) 165;
+
+G. Zweig, CERN Preprint 8419/TH-412 (1964);
+
+I. Iizuka, Progr. Theor. Phys. Suppl. {\textbf{37}} (1966) 21
+
+\bibitem{OZI_violation} V.E. Markushin, M.P. Locher,
+Eur. Phys. J. A {\textbf{1}} (1998) 91
+
+\bibitem{pap_exdata}  C. Amsler, Rev.Mod.Phys. {\textbf{70}} (1998) 1293;
+
+C. Amsler and F. Myher, Annu. Rev. Nucl. Part. Sci. {\textbf{41}} (1991)
+219
+
+\bibitem{pispectrum} J. Sedlak and V. Simak, Sov. J. Part. Nucl. 
+{\textbf{19}} (1988) 191
+
+\bibitem{POPCORN} B. Andersson, G. Gustafson, T. Sj\"{o}strand, Nucl.
+Phys. B {\textbf{197}}(1982) 45;
+
+B. Andersson, G. Gustafson, T. Sj\"{o}strand, Physica Scripta {\textbf{32}}
+(1985) 574
+
+\bibitem{Energy_Dep} P. Gregory et al., Nucl. Phys. B {\textbf{102}} (1976)
+189
+
+\bibitem{FNAL}  V.I.~Efremenko et al., Phys. Rev. C \textbf{22} (1980) 700.
+
+\bibitem{FAS}  S.V~Boyarinov et al., Phys. At. Nucl. \textbf{56}
+(1993) 72.
+
+\bibitem{NN QEX}  K.~Maltman and N.~Isgur, Phys. Rev. D \textbf{29} (1984) 952.
+
+\bibitem{Kp QUEX}  K.~Maltman and N.~Isgur, Phys. Rev. D \textbf{34} (1986)
+1372.
+
+\bibitem{EMC}  P.~Hoodbhoy and R.~J.~Jaffe, Phys. Rev. D \textbf{35}
+(1987) 113.
+
+\bibitem{QUEX}  N.~Isgur, Nucl. Phys. \textbf{A497} (1989) 91.
+
+\bibitem{MIPHI}  A.~I.~Amelin et al., ``Energy spectra of charged particles
+in the reaction of $\pi^-$ absorption at rest by $^{6,7}$Li, $^{9}$Be, $%
+^{10,11}$B, $^{12}$C, $^{28}$Si, $^{40}$Ca, $^{59}$Co, $^{93}$Nb, $%
+^{114,117,120,124}$Sn, $^{169}$Tm, $^{181}$Ta and $^{209}$Bi nuclei'',
+Moscow Physics and Engineering Institute Preprint No. 034-90, Moscow, 1990.
+
+\bibitem{Mechtersheimer}  G.~Mechtersheimer et al., Nucl. Phys. 
+                          \textbf{A324} (1979) 379.
+
+\bibitem{Cernigoi}  C.~Cernigoi et al., Nucl. Phys. \textbf{A456} (1986) 599.
+
+\bibitem{Madey}  R.~Madey et al., Phys. Rev. C \textbf{25} (1982) 3050.
+
+\bibitem{Ryckbosch}  D.~Ryckbosch et al., Phys. Rev. C \textbf{42} (1990) 444.
+
+\bibitem{Ahrens}  J.~Ahrens et al.,  Nucl. Phys. \textbf{A446} (1985) 229c.
+
+\bibitem{Ryckebusch} Jan~Ryckebusch et al., Phys. Rev. C \textbf{49} (1994)
+2704.
+
+\bibitem{Abeele} C.~Van~den~Abeele; private communication cited
+in the reference: Jan~Ryckebusch et al., Phys. Rev. C \textbf{49} (1994)
+2704.
+
+\bibitem{Harty} P.D.~Harty et al. (unpublished); 
+private communication cited
+in the reference: Jan~Ryckebusch et al., Phys. Rev. C \textbf{49} (1994)
+2704.
+
+\bibitem{Bates}  L.B.~Weinstein et al., Phys. Rev. Lett. \textbf{64} (1990)
+1646.
+
+\bibitem{Lorentzian}  J.P.~Jeukenne and C.~Mahaux, Nucl. Phys. A \textbf{394}
+(1983) 445.
+
+\end{thebibliography}
+
+\end{document}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/CVS/Entries	(revision 1208)
@@ -0,0 +1,6 @@
+D/plots////
+/CHIPS.tex/1.12/Thu Dec  8 21:37:24 2005//
+/CHIPSdetail.tex/1.3/Fri Dec  6 07:52:09 2002//
+/Fig12.eps/1.1/Mon Dec  2 12:38:39 2002//
+/Fig13.eps/1.1/Mon Dec  2 12:38:39 2002//
+/PhotoElectroNucCrsSctn.tex/1.2/Sat Dec 11 06:55:41 2004//
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/PhotoElectroNucCrsSctn.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/PhotoElectroNucCrsSctn.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/PhotoElectroNucCrsSctn.tex	(revision 1208)
@@ -0,0 +1,527 @@
+\chapter{Cross-sections in Photonuclear and Electronuclear Reactions}
+\section{Approximation of Photonuclear Cross Sections.}
+
+The photonuclear cross sections parameterized in the 
+{\tt G4PhotoNuclearCrossSection} class cover all incident photon energies from
+the hadron production threshold upward.  The parameterization is subdivided 
+into five energy regions, each corresponding to the physical process that 
+dominates it.
+
+\begin{itemize}
+
+\item The Giant Dipole Resonance (GDR) region, depending on the nucleus,
+      extends from 10 Mev up to 30 MeV.  It usually consists of one large
+      peak, though for some nuclei several peaks appear.
+ 
+\item The ``quasi-deuteron'' region extends from around 30 MeV up to the
+      pion threshold and is characterized by small cross sections and a broad,
+      low peak.
+
+\item The $\Delta$ region is characterized by the dominant peak in the 
+      cross section which extends from the pion threshold to 450 MeV.
+
+\item The Roper resonance region extends from roughly 450 MeV to 1.2 GeV.
+      The cross section in this region is not strictly identified with the
+      real Roper resonance because other processes also occur in this region.  
+
+\item The Reggeon-Pomeron region extends upward from 1.2 GeV. 
+
+\end{itemize}
+
+\noindent 
+In the GEANT4 photonuclear data base there are about 50 nuclei for which the 
+photonuclear absorption cross sections have been measured in the above 
+energy ranges.  For low energies this number could be enlarged, because for 
+heavy nuclei the neutron photoproduction cross section is close to the total 
+photo-absorption cross section.  Currently, however, 14 nuclei are used in 
+the parameterization: $^1$H, $^2$H, $^4$He, $^6$Li, $^7$Li, $^9$Be, 
+$^{12}$C, $^{16}$O, $^{27}$Al, $^{40}$Ca, Cu, Sn, Pb, and U.  The resulting 
+cross section is a function of $A$ and $e = log(E_\gamma)$, where $E_\gamma$ 
+is the energy of the incident photon.  This function is the sum of the 
+components which parameterize each energy region. \\
+
+\noindent
+The cross section in the GDR region can be described as the sum of two 
+peaks,
+\begin{equation}
+GDR(e) = th(e,b_1,s_1)\cdot exp(c_1-p_1\cdot e) + 
+         th(e,b_2,s_2)\cdot exp(c_2-p_2\cdot e) .
+\end{equation}
+The exponential parameterizes the falling edge of the resonance which 
+behaves like a power law in $E_\gamma$.  This behavior is expected from  
+the CHIPS model, which includes the nonrelativistic phase space of nucleons 
+to explain evaporation.  The function
+\begin{equation}
+th(e,b,s) = \frac{1}{1+exp(\frac{b-e}{s})} ,
+\end{equation}
+describes the rising edge of the resonance.  It is the
+nuclear-barrier-reflection function and behaves like a threshold, cutting off
+the exponential.  The exponential powers $p_1$ and $p_2$ are
+
+\begin{eqnarray*}
+ p_1 = 1, p_2 = 2 \mbox{\hspace*{1mm} for \hspace*{7mm} $A < 4$ }\\ 
+ p_1 = 2, p_2 = 4 \mbox{\hspace*{1mm} for \hspace*{1mm} $4 \le A < 8$ }\\
+ p_1 = 3, p_2 = 6 \mbox{\hspace*{1mm} for $8 \le A < 12$} \\
+ p_1 = 4, p_2 = 8 \mbox{\hspace*{1mm} for \hspace*{6mm} $A \ge 12$} .
+\end{eqnarray*}
+ 
+\noindent
+The $A$-dependent parameters $b_i$, $c_i$ and $s_i$ were found for each of
+the 14 nuclei listed above and interpolated for other nuclei. \\
+
+\noindent
+The $\Delta$ isobar region was parameterized as
+\begin{equation}
+\Delta (e,d,f,g,r,q)=\frac{d\cdot th(e,f,g)}{1+r\cdot (e-q)^2},
+\label{Isobar}
+\end{equation}
+where $d$ is an overall normalization factor.  $q$ can be interpreted as the 
+energy of the $\Delta$ isobar and $r$ can be interpreted as the inverse of 
+the $\Delta$ width.  Once again $th$ is the threshold function.  The
+$A$-dependence of these parameters is as follows:
+
+\begin{itemize}
+\item  $d=0.41\cdot A$ (for $^1$H it is 0.55, for $^2$H it is 0.88),
+which means that the $\Delta$ yield is proportional
+to $A$; 
+
+\item  $f=5.13-.00075\cdot A$.  $exp(f)$ shows how the pion threshold depends
+on $A$.  It is clear that the threshold becomes 140 MeV only for uranium; 
+for lighter nuclei it is higher. 
+
+\item  $g = 0.09$ for $A \ge 7$ and 0.04 for $A < 7$;
+
+\item  $q=5.84-\frac{.09}{1+.003\cdot A^2}$, which means that the ``mass'' 
+of the $\Delta$ isobar moves to lower energies;
+
+\item $r=11.9 - 1.24\cdot log(A)$.  $r$ is 18.0 for $^1$H.
+The inverse width becomes smaller with $A$, hence the width increases.
+
+\end{itemize}
+The $A$-dependence of the $f$, $q$ and $r$ parameters is due to the 
+$\Delta+N\rightarrow N+N$ reaction, which can take place in the nuclear 
+medium below the pion threshold. \\
+
+\noindent
+The quasi-deuteron contribution was parameterized with the same form as the 
+$\Delta$ contribution but without the threshold function:
+\begin{equation}
+QD(e,v,w,u)=\frac {v}{1+w\cdot (e-u)^2}.
+\label{QuasiD}
+\end{equation}
+For $^1$H and $^2$H the quasi-deuteron contribution is almost zero.  For 
+these nuclei the third baryonic resonance was used instead, so the 
+parameters for these two nuclei are quite different, but trivial.
+The parameter values are given below.
+
+\begin{itemize}
+
+\item  $v = \frac {exp(-1.7+a\cdot 0.84)}{1+exp(7\cdot (2.38-a))}$, where 
+$a=log(A)$.  This shows that the $A$-dependence in the quasi-deuteron 
+region is stronger than $A^{0.84}$.  It is clear from the denominator that 
+this contribution is very small for light nuclei (up to $^6$Li or $^7$Li). 
+For $^1$H it is 0.078 and for $^2$H it is 0.08, so the delta contribution 
+does not appear to be growing.  Its relative contribution disappears with 
+$A$.
+
+\item  $u = 3.7$ and $w = 0.4$.  The experimental information is not 
+sufficient to determine an $A$-dependence for these parameters.  For both 
+$^1$H and $^2$H $u = 6.93$ and $w = 90$, which may indicate contributions
+from the $\Delta$(1600) and $\Delta$(1620).
+
+\end{itemize}
+
+\noindent
+The transition Roper contribution was parameterized using the same form
+as the quasi-deuteron contribution:
+\begin{equation}
+Tr(e,v,w,u)=\frac {v}{1+w\cdot (e-u)^2}.
+\label{Transition}
+\end{equation}
+Using $a=log(A)$, the values of the parameters are 
+
+\begin{itemize}
+
+\item  $v = exp(-2.+a\cdot 0.84)$.  For $^1$H it is 0.22 and for $^2$H 
+it is 0.34.
+
+\item $u = 6.46+a\cdot 0.061$ (for $^1$H and for $^2$H it is 6.57), so the 
+``mass'' of the Roper moves higher with $A$.
+
+\item $w = 0.1+a\cdot 1.65$.  For $^1$H it is 20.0 and for $^2$H it is 15.0).
+\end{itemize}
+
+
+\noindent
+The Regge-Pomeron contribution was parametrized as follows:
+\begin{equation}
+RP(e,h)=h\cdot th(7.,0.2)\cdot (0.0116\cdot exp(e\cdot 0.16)+0.4\cdot exp(-e\cdot 0.2)),
+\label{Regge}
+\end{equation}
+where $h=A\cdot exp(-a\cdot (0.885+0.0048\cdot a))$ and, again,
+$a = log(A)$.  The first exponential in Eq.~\ref{Regge} describes the Pomeron 
+contribution while the second describes the Regge contribution.
+
+%The result of the approximation is shown in Fig.~\ref{photonuc} for 6 
+% of the 14 nuclei.
+%\begin{figure}
+%  \resizebox{1.00\textwidth}{!}
+%{
+%% hpw @@@@@   \includegraphics{photonuclear.eps}
+%}
+%\caption{Photoabsorbtion cross sections for 6 basic nuclei.}
+%\label{photonuc}
+%\end{figure}
+
+
+\section{Electronuclear Cross Sections and Reactions}
+
+Electronuclear reactions are so closely connected with photonuclear reactions 
+that they are sometimes called ``photonuclear'' because the one-photon 
+exchange mechanism dominates in electronuclear reactions.  In this sense 
+electrons can be replaced by a flux of equivalent photons.  This is not 
+completely true, because at high energies the Vector Dominance Model (VDM) or 
+diffractive mechanisms are possible, but these types of reactions are beyond 
+the scope of this discussion.
+
+\subsection{Common Notation for Different Approaches to Electronuclear 
+Reactions}
+\label{threeApproaches}
+
+The Equivalent Photon Approximation (EPA) was proposed by
+E. Fermi \cite{Fermi} and developed by C. Weizsacker and E. Williams
+\cite{WeiWi} and by L. Landau and E. Lifshitz \cite{LanLif}. The
+covariant form of the EPA method was developed in Refs. \cite{Pomer} and 
+\cite{Grib}.  When using this method it is necessary to take into account 
+that real photons are always transversely polarized while virtual photons 
+may be longitudinally polarized.  In general the differential cross section
+of the electronuclear interaction can be written as
+\begin{equation}
+\frac{d^2\sigma}{dydQ^2}=\frac{\alpha}{\pi Q^2}(S_{TL}\cdot(\sigma_T
++\sigma_L)-S_L\cdot\sigma_L),
+\label{elNuc}
+\end{equation}
+where
+\begin{equation}
+S_{TL}=y\frac{1-y+\frac{y^2}{2}+\frac{Q^2}{4E^2}
+-\frac{m^2_e}{Q^2}(y^2+\frac{Q^2}{E^2})}{y^2+\frac{Q^2}{E^2}},
+\label{STL}
+\end{equation}
+\begin{equation}
+S_L=\frac{y}{2}(1-\frac{2m_e^2}{Q^2}).
+\label{SL}
+\end{equation}
+The differential cross section of the electronuclear scattering can be
+rewritten as
+\begin{equation}
+\frac{d^2\sigma_{eA}}{dydQ^2}=\frac{\alpha y}{\pi Q^2}\left(\frac{(1-\frac{y}{2})^2}
+{y^2+\frac{Q^2}{E^2}}+\frac{1}{4}-\frac{m^2_e}{Q^2}\right)\sigma_{\gamma^*A},
+\label{difBase}
+\end{equation}
+where $\sigma_{\gamma^*A}=\sigma_{\gamma A}(\nu)$ for small $Q^2$ and
+must be approximated as a function of $\epsilon$, $\nu$, and $Q^2$ for
+large $Q^2$.  Interactions of longitudinal photons are included in the 
+effective $\sigma_{\gamma^*A}$ cross section through the $\epsilon$ factor, 
+but in the present GEANT4 method, the cross section of virtual photons is 
+considered to be $\epsilon$-independent.  The electronuclear problem, with
+respect to the interaction of virtual photons with nuclei, can thus be split 
+in two.  At small $Q^2$ it is possible to use the $\sigma_\gamma(\nu)$ cross 
+section.  In the $Q^2>>m^2_e$ region it is necessary to calculate the effective
+$\sigma_{\gamma^*}(\epsilon,\nu,Q^2)$ cross section. \\
+
+\noindent 
+Following the EPA notation, the differential cross section of electronuclear 
+scattering can be related to the number of equivalent photons 
+$dn=\frac{d\sigma}{\sigma_{\gamma^*}}$.  For $y<<1$ and $Q^2<4m^2_e$ the 
+canonical method \cite{encs.eqPhotons} leads to the simple result
+\begin{equation}
+\frac{ydn(y)}{dy}=-\frac{2\alpha}{\pi}ln(y).
+\label{neq}
+\end{equation}
+In \cite{Budnev} the integration over $Q^2$ for $\nu^2>>Q^2_{max}\simeq m^2_e$
+leads to
+\begin{equation}
+\frac{ydn(y)}{dy}=-\frac{\alpha}{\pi}\left(
+\frac{1+(1-y)^2}{2}ln(\frac{y^2}{1-y})+(1-y)\right).
+\label{lowQ2EP}
+\end{equation}
+In the $y<<1$ limit this formula converges to Eq.(\ref{neq}).  But the
+correspondence with Eq.(\ref{neq}) can be made more explicit if the exact 
+integral
+\begin{equation}
+\frac{ydn(y)}{dy}=\frac{\alpha}{\pi}\left(
+\frac{1+(1-y)^2}{2}l_1-(1-y)l_2-\frac{(2-y)^2}{4}l_3\right),
+\label{diff}
+\end{equation}
+where $l_1=ln\left(\frac{Q^2_{max}}{Q^2_{min}}\right)$,
+$l_2=1-\frac{Q^2_{max}}{Q^2_{min}}$, 
+$l_3=ln\left(\frac{y^2+Q^2_{max}/E^2}{y^2+Q^2_{min}/E^2}\right)$,
+$Q^2_{min}=\frac{m_e^2y^2}{1-y}$, 
+is calculated for
+\begin{equation}
+Q^2_{max(m_e)}=\frac{4m^2_e}{1-y}.
+\label{Q2me}
+\end{equation}
+The factor $(1-y)$ is used arbitrarily to keep $Q^2_{max(m_e)}>Q^2_{min}$, 
+which can be considered as a boundary between the low and high $Q^2$ 
+regions.  The full transverse photon flux can be calculated as an integral 
+of Eq.(\ref{diff}) with the maximum possible upper limit
+\begin{equation}
+Q^2_{max(max)}=4E^2(1-y).
+\label{Q2max}
+\end{equation}
+The full transverse photon flux can be approximated by
+\begin{equation}
+\frac{ydn(y)}{dy}=-\frac{2\alpha}{\pi}\left(
+\frac{(2-y)^2+y^2}{2}ln(\gamma)-1\right),
+\label{neqHQ}
+\end{equation}
+where $\gamma=\frac{E}{m_e}$.  It must be pointed out that neither this
+approximation nor Eq.(\ref{diff}) works at $y\simeq 1$;  at this point 
+$Q^2_{max(max)}$ becomes smaller than $Q^2_{min}$.  The formal limit of the 
+method is $y<1-\frac{1}{2\gamma}$. \\
+\begin{figure}[tbp]
+\resizebox{0.95\textwidth}{!}
+{
+   \includegraphics{hadronic/theory_driven/ChiralInvariantPhaseSpace/Fig12.eps}
+}
+\caption{Relative contribution of equivalent photons with small $Q^2$
+to the total ``photon flux'' for (a) $1~GeV$ electrons and (b) $10~GeV$
+electrons.  In figures (c) and (d) the equivalent photon distribution 
+$dn(\nu,Q^2)$ is multiplied by the photonuclear cross section
+$\sigma_{\gamma^*}(K,Q^2)$ and integrated over $Q^2$ in two regions:
+the dashed lines are integrals over the low-$Q^2$ equivalent
+photons (under the dashed line in the first two figures), and the
+solid lines are integrals over the high-$Q^2$ equivalent photons (above
+the dashed lines in the first two figures).}
+\label{nSigma}
+\end{figure}
+
+\noindent 
+In Fig.~\ref{nSigma}(a,b) the energy distribution for the equivalent photons
+is shown.  The low-$Q^2$ photon flux with the upper limit defined by
+Eq.(\ref{Q2me})) is compared with the full photon flux.  The
+low-$Q^2$ photon flux is calculated using Eq.(\ref{neq}) (dashed lines) and 
+using Eq.(\ref{diff}) (dotted lines).  The full photon
+flux is calculated using Eq.(\ref{neqHQ}) (the solid lines) and using
+Eq.(\ref{diff}) with the upper limit defined by Eq.(\ref{Q2max}) (dash-dotted 
+lines, which differ from the solid lines only at $\nu\approx E_e$).  The 
+conclusion is that in order to calculate either the number of low-$Q^2$ 
+equivalent photons or the total number of equivalent photons one can use the 
+simple approximations given by Eq.(\ref{neq}) and Eq.(\ref{neqHQ}), 
+respectively, instead of using Eq.(\ref{diff}), which cannot be integrated 
+over $y$ analytically.  Comparing the low-$Q^2$ photon flux and the total 
+photon flux it is possible to show that the low-$Q^2$ photon flux is about 
+half of the the total.  From the interaction point of view the decrease of 
+$\sigma_{\gamma*}$ with increasing $Q^2$ must be taken into account.  The 
+cross section reduction for the virtual photons with large $Q^2$ is governed 
+by two factors.  First, the cross section drops with $Q^2$ as the squared 
+dipole nucleonic form-factor
+\begin{equation}
+G^2_D(Q^2)\approx\left( 1+\frac{Q^2}{(843~MeV)^2}\right)^{-2}.
+\label{G2}
+\end{equation}
+Second, all the thresholds of the $\gamma A$ reactions are shifted to higher 
+$\nu$ by a factor $\frac{Q^2}{2M}$, which is the difference between the $K$ 
+and $\nu$ values.  Following the method proposed in \cite{Brasse}
+the $\sigma_{\gamma^*}$ at large $Q^2$ can be approximated as
+\begin{equation}
+\sigma_{\gamma*}=(1-x)\sigma_\gamma(K)G^2_D(Q^2)e^{b(\epsilon,K)\cdot
+r+c(\epsilon,K)\cdot r^3},
+\label{abc}
+\end{equation}
+where $r=\frac{1}{2}ln(\frac{Q^2+\nu^2}{K^2})$.  The $\epsilon$-dependence of 
+the $a(\epsilon,K)$ and $b(\epsilon,K)$ functions is weak, so for simplicity 
+the $b(K)$ and $c(K)$ functions are averaged over $\epsilon$.  They can be 
+approximated as
+\begin{equation}
+b(K)\approx\left(\frac{K}{185~MeV}\right)^{0.85},
+\label{bk}
+\end{equation}
+and
+\begin{equation}
+c(K)\approx-\left(\frac{K}{1390~MeV}\right)^{3}.
+\label{ck}
+\end{equation}
+
+\noindent 
+The result of the integration of the photon flux multiplied by the
+cross section approximated by Eq.(\ref{abc}) is shown in
+Fig.~\ref{nSigma}(c,d).  The integrated cross sections are shown
+separately for the low-$Q^2$ region ($Q^2<Q^2_{max(m_e)}$, dashed
+lines) and for the high-$Q^2$ region ($Q^2>Q^2_{max(m_e)}$, solid
+lines).  These functions must be integrated over $ln(\nu)$, so it is
+clear that because of the Giant Dipole Resonance contribution, the 
+low-$Q^2$ part covers more than half the total $eA\rightarrow hadrons$ 
+cross section.  But at $\nu>200~MeV$, where the hadron multiplicity
+increases, the large $Q^2$ part dominates.  In this sense, for a better 
+simulation of the production of hadrons by electrons, it is necessary to 
+simulate the high-$Q^2$ part as well as the low-$Q^2$ part. \\
+
+\noindent 
+Taking into account the contribution of high-$Q^2$ photons it is possible to 
+use Eq.(\ref{neqHQ}) with the over-estimated
+$\sigma_{\gamma^*A}=\sigma_{\gamma A}(\nu)$ cross section.  The slightly 
+over-estimated electronuclear cross section is
+\begin{equation}
+\sigma^*_{eA}=(2ln(\gamma)-1)\cdot J_1-\frac{ln(\gamma)}{E_e}
+\left( 2J_2-\frac{J_3}{E_e} \right).
+\label{eleNucHQ}
+\end{equation}
+where
+\begin{equation}
+J_1(E_e)=\frac{\alpha}{\pi}\int^{E_e}\sigma_{\gamma A}(\nu)dln(\nu)
+\label{J1}
+\end{equation}
+\begin{equation}
+J_2(E_e)=\frac{\alpha}{\pi}\int^{E_e}\nu\sigma_{\gamma A}(\nu)dln(\nu),
+\label{J2}
+\end{equation}
+and
+\begin{equation}
+J_3(E_e)=\frac{\alpha}{\pi}\int^{E_e}\nu^2\sigma_{\gamma A}(\nu )dln(\nu).
+\label{J3}
+\end{equation}
+The equivalent photon energy $\nu=yE$ can be obtained for a particular 
+random number $R$ from the equation 
+\begin{equation}
+R=\frac{(2ln(\gamma)-1)J_1(\nu)-\frac{ln(\gamma)}{E_e}(2J_2(\nu)-\frac{J_3(\nu)}{E_e})}
+{(2ln(\gamma)-1)J_1(E_e)-\frac{ln(\gamma)}{E_e}(2J_2(E_e)-\frac{J_3(E_e)}{E_e})}.
+\label{RnuHH}
+\end{equation}
+Eq.(\ref{diff}) is too complicated for the randomization of $Q^2$ but
+there is an easily randomized formula which approximates Eq.(\ref{diff})
+above the hadronic threshold ($E>10~MeV$).  It reads
+\begin{equation}
+\frac{\pi}{\alpha D(y)}\int^{Q^2}_{Q^2_{min}}\frac{ydn(y,Q^2)}{dydQ^2}dQ^2=-L(y,Q^2)-U(y),
+\label{RQ2HH}
+\end{equation}
+where
+\begin{equation}
+D(y)=1-y+\frac{y^2}{2},
+\label{RQ2D}
+\end{equation}
+\begin{equation}
+L(y,Q^2)=ln\left( F(y)+(e^{P(y)}-1+\frac{Q^2}{Q^2_{min}})^{-1} \right),
+\label{RQ2L}
+\end{equation}
+and
+\begin{equation}
+U(y)=P(y)\cdot\left( 1-\frac{Q^2_{min}}{Q^2_{max}}\right),
+\label{RQ2U}
+\end{equation}
+with
+\begin{equation}
+F(y)=\frac{(2-y)(2-2y)}{y^2}\cdot\frac{Q^2_{min}}{Q^2_{max}}
+\label{RQ2F}
+\end{equation}
+and
+\begin{equation}
+P(y)=\frac{1-y}{D(y)}.
+\label{RQ2P}
+\end{equation}
+The $Q^2$ value can then be calculated as
+\begin{equation}
+\frac{Q^2}{Q^2_{min}}=1-e^{P(y)}+\left(e^{R\cdot
+L(y,Q^2_{max})-(1-R)\cdot U(y)}-F(y) \right)^{-1},
+\label{Q2sol}
+\end{equation}
+where $R$ is a random number.  In Fig.~\ref{Q2dep}, Eq.(\ref{diff}) (solid 
+curve) is compared to Eq.(\ref{RQ2HH}) (dashed curve).  Because the two 
+curves are almost indistinguishable in the figure, this can be used as an 
+illustration of the $Q^2$ spectrum of virtual photons, which is the derivative 
+of these curves.  An alternative approach is to use Eq.(\ref{diff}) for the 
+randomization with a three dimensional table $\frac{ydn}{dy}(Q^2,y,E_e)$.
+\begin{figure}[tbp]
+\resizebox{0.95\textwidth}{!}
+{
+   \includegraphics{hadronic/theory_driven/ChiralInvariantPhaseSpace/Fig13.eps}
+}
+\caption{Integrals of $Q^2$ spectra of virtual photons for three
+energies $10~MeV$, $100~MeV$, and $1~GeV$ at $y=0.001$, $y=0.5$, and $y=0.95$. 
+The solid line corresponds to Eq.(\protect\ref{diff}) and the dashed
+line (which almost everywhere coincides with the solid line)
+corresponds to Eq.(\protect\ref{diff}).}
+\label{Q2dep}
+\end{figure}
+
+\noindent 
+After the $\nu$ and $Q^2$ values have been found, the value of
+$\sigma_{\gamma^*A}(\nu,Q^2)$ is calculated using Eq.(\ref{abc}).
+If $R\cdot\sigma_{\gamma A}(\nu)>\sigma_{\gamma^*A}(\nu,Q^2)$, no
+interaction occurs and the electron keeps going. This ``do nothing''
+process has low probability and cannot shadow other processes.
+
+
+\section {Status of this document}
+           created by ?              \\
+ 20.05.02  re-written by D.H. Wright \\
+ 01.12.02  expanded section on electronuclear cross sections - H.P. Wellisch \\
+
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+
+\bibitem{Fermi} E. Fermi, Z. Physik {\textbf{29}}, 315 (1924).
+
+\bibitem{WeiWi} K. F. von Weizsacker, Z. Physik {\textbf{88}}, 612 (1934),
+E. J. Williams, Phys. Rev. {\textbf{45}}, 729 (1934).
+
+\bibitem{LanLif} L. D. Landau and E. M. Lifshitz,
+Soc. Phys. {\textbf{6}}, 244 (1934).
+
+\bibitem{Pomer} I. Ya. Pomeranchuk and I. M. Shmushkevich,
+Nucl. Phys. {\textbf{23}}, 1295 (1961).
+
+\bibitem{Grib} V. N. Gribov {\textit {et~al.}}, ZhETF {\textbf{41}}, 1834 (1961).
+
+\bibitem{encs.eqPhotons}  L. D. Landau, E. M. Lifshitz, ``Course of
+Theoretical Physics'' v.4, part 1, ``Relativistic Quantum Theory'',
+Pergamon Press, p. 351, The method of equivalent photons.
+
+\bibitem{Budnev} V. M. Budnev {\textit {et~al.}}, Phys. Rep. {\textbf{15}}, 181
+(1975).
+
+\bibitem{Brasse} F. W. Brasse {\textit {et~al.}}, Nucl. Phys. B {\textbf{110}}, 413
+(1976).
+
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\section{Bibliography}
+
+\begin{enumerate}
+\item E. Fermi, Z. Physik {\textbf{29}}, 315 (1924).
+
+\item K. F. von Weizsacker, Z. Physik {\textbf{88}}, 612 (1934),
+E. J. Williams, Phys. Rev. {\textbf{45}}, 729 (1934).
+
+\item L. D. Landau and E. M. Lifshitz,
+Soc. Phys. {\textbf{6}}, 244 (1934).
+
+\item I. Ya. Pomeranchuk and I. M. Shmushkevich,
+Nucl. Phys. {\textbf{23}}, 1295 (1961).
+
+\item V.N. Gribov {\textit {et~al.}}, ZhETF {\textbf{41}}, 1834 (1961).
+
+\item L.D. Landau, E. M. Lifshitz, ``Course of
+Theoretical Physics'' v.4, part 1, ``Relativistic Quantum Theory'',
+Pergamon Press, p. 351, The method of equivalent photons.
+
+\item V.M. Budnev {\textit {et~al.}}, Phys. Rep. {\textbf{15}}, 181
+(1975).
+
+\item F.W. Brasse {\textit {et~al.}}, Nucl. Phys. B {\textbf{110}}, 413
+(1976).
+
+\end{enumerate}
+
+\end{htmlonly}
+
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/CVS/Entries	(revision 1208)
@@ -0,0 +1,25 @@
+/alpha.eps/1.1/Fri Dec  2 15:18:50 2005//
+/apcmul.eps/1.1/Thu Nov 29 18:43:47 2001//
+/be0405k.eps/1.1/Thu Nov 29 18:43:47 2001//
+/c0606k.eps/1.1/Thu Nov 29 18:43:47 2001//
+/ca2020k.eps/1.1/Thu Nov 29 18:43:47 2001//
+/channels.eps/1.1/Thu Nov 29 18:43:47 2001//
+/co2732k.eps/1.1/Thu Nov 29 18:43:47 2001//
+/diagram.eps/1.1/Thu Nov 29 18:43:47 2001//
+/diagram1.eps/1.1/Thu Nov 29 18:43:47 2001//
+/diagram2.eps/1.1/Thu Nov 29 18:43:47 2001//
+/f23nud.eps/1.1/Fri Dec  2 15:18:50 2005//
+/f23nufe.eps/1.1/Fri Dec  2 15:18:50 2005//
+/gabsa.eps/1.1/Fri Dec  2 15:18:50 2005//
+/gam62.eps/1.1/Thu Nov 29 18:43:48 2001//
+/gamm_c0606_e123.eps/1.1/Thu Nov 29 18:43:48 2001//
+/gamm_c0606_e151.eps/1.1/Thu Nov 29 18:43:48 2001//
+/mommul.eps/1.1/Thu Nov 29 18:43:48 2001//
+/numu_cs.eps/1.1/Fri Dec  2 15:18:50 2005//
+/photonuclear.eps/1.1/Thu Nov 29 18:43:48 2001//
+/si1414k.eps/1.1/Thu Nov 29 18:43:48 2001//
+/ta73108k.eps/1.1/Thu Nov 29 18:43:48 2001//
+/threechn.eps/1.1/Thu Nov 29 18:43:48 2001//
+/twochn.eps/1.1/Thu Nov 29 18:43:48 2001//
+/vgam_c0606k.eps/1.1/Thu Nov 29 18:43:48 2001//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/plots
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/ChiralInvariantPhaseSpace/plots/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CrossSection/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CrossSection/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CrossSection/CVS/Entries	(revision 1208)
@@ -0,0 +1,6 @@
+/CrossSectionModel.tex/1.3/Thu Nov 29 18:58:55 2001//
+/CrossSectionModelReferences.tex/1.1/Tue Nov 17 15:55:25 1998//
+/GlauberModel.tex/1.2/Sat Dec  5 11:22:36 1998//
+/HECrossSectionModelAlgorithm.tex/1.2/Sat Dec  5 11:22:36 1998//
+/NNXSections.tex/1.6/Sat Dec 11 06:54:57 2004//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CrossSection/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CrossSection/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CrossSection/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CrossSection
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CrossSection/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CrossSection/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CrossSection/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CrossSection/CrossSectionModel.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CrossSection/CrossSectionModel.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CrossSection/CrossSectionModel.tex	(revision 1208)
@@ -0,0 +1,5 @@
+\section{Cross section models.}
+\input{hadronic/theory_driven/CrossSection/GlauberModel}
+\input{hadronic/theory_driven/CrossSection/HECrossSectionModelAlgorithm}
+\input{hadronic/theory_driven/CrossSection/CrossSectionModelReferences}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CrossSection/CrossSectionModelReferences.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CrossSection/CrossSectionModelReferences.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CrossSection/CrossSectionModelReferences.tex	(revision 1208)
@@ -0,0 +1,22 @@
+\begin{thebibliography}{599}
+
+\bibitem{Glauber55} Glauber R. J., Phys. Rev. {\bf 100} 242 (1955); in: Lectures 
+in the theoretical physics, ed. W. E. Brittin, L. G. Dunham, 
+Interscience, N. Y., 1959, v. 1, p. 315.
+
+\bibitem{BT76} Baker M., Ter-Martirosyan K. A., Phys. Rep. {\bf 28C} 1 (1976).
+
+\bibitem{Shabelski90} Shabelski Yu. M., Sov. J. Nucl. Phys. {\bf 51} 1396 
+(1990); Z. Phys. {\bf C48} 483 (1990).
+
+\bibitem{ZSU84} Zadorogny A. M., Shmakov S. Yu., Uzinskii V. V., 
+Sov. J. Nucl. Phys. {\bf 39} 1165 (1984).
+
+%\bibitem{SMC79}Stricker K., McManus M, Carr J. A., Phys. Rev. {\bf C19} 929
+%(1979).
+
+%\bibitem{Batty82} Batty C. J., Sov. Jour. Part. Nucl. {\bf 13} 71 (1982).
+
+%\bibitem{Batty95} Batty C. J., Nucl. Phys. {\bf A585} 229 (1995).
+
+\end{thebibliography}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CrossSection/GlauberModel.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CrossSection/GlauberModel.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CrossSection/GlauberModel.tex	(revision 1208)
@@ -0,0 +1,119 @@
+\subsection{Glauber model at high energies.}
+
+\hspace{1.0em}We can use Glauber approach \cite{Glauber55} to calculate 
+the total, elastic and differential elastic hadron-nucleus and nucleus-
+nucleus cross sections at high (more than hundreds of MeV) energies.
+
+\subsubsection{The hadron--nucleus and nucleus--nucleus total and 
+elastic cross sections.}
+\hspace{1.0em}
+The knowledge of the nuclear elastic scattering amplitude $F(\vec{q},s)$, 
+where $s$ is the total hadron-nucleon or nucleon-nucleon c.m. energy squared
+and $\vec{q}$ is the momentum transfer vector,  
+gives us a possibility to calculate  the total cross section (the optical
+ theorem)
+\begin{equation}
+\label{GM1} \sigma_{tot}(s) = \frac{4\pi}{k} Im F(0,s),
+\end{equation}
+where $k$ is a hadron or nucleon projectile momentum in the target nucleus 
+rest frame.
+Using this amplitude we are also able to calculate the differential elastic 
+cross section 
+\begin{equation}
+\label{GM2} \frac{d\sigma_{el}(s)}{d\Omega} = |F(\vec{q},s)|^2
+\end{equation}
+or 
+\begin{equation}
+\label{GM3} \frac{d\sigma_{el}(s)}{dt} =\frac{\pi}{k^2} |F(\vec{q},s)|^2
+\end{equation}
+and total elastic cross section
+\begin{equation}
+\label{GM4} \sigma_{el}(s)= \int d\Omega|F(\vec{q},s)|^2 = 
+\frac{1}{k^2}\int dq|F(\vec{q},s)|^2.
+\end{equation}
+
+The elastic scattering amplitude can be expressed through the profile 
+function
+\begin{equation}
+\label{GM5}\Gamma(\vec{B},s)= 1-S(\vec{B},s) 
+\end{equation}
+as the following
+\begin{equation}
+\label{GM6} F(\vec{q},s)=\frac{ik}{2\pi}\int
+d^2\vec{B}\exp{[i\vec{q}\Gamma(\vec{B},s)]},
+\end{equation}
+where $S(\vec{B},s)$ is the $S$-matrix and $\vec{B}$ 
+is the impact parameter vector perpendicular to the 
+incident momentum $\vec{k}$.
+
+The total and elastic cross sections can be obtained from
+  the profile function $\Gamma(\vec{B},s)$:
+\begin{equation}
+\label{GM7} \sigma_{tot}(s)= 2\int d^2\vec{B}Re\Gamma(\vec{B},s)
+\end{equation}
+and 
+\begin{equation}
+\label{GM8} \sigma_{el}(s)= \int d^2\vec{B}|\Gamma(\vec{B},s)|^2.
+\end{equation}
+
+Thus to calculate the total, elastic and differential cross sections we need 
+to know $S$-matrix $S(\vec{B},s)$.
+
+\subsubsection{The hadron--nucleus and nucleus--nucleus 
+$S$-matrix.}
+\hspace{1.0em}
+
+Let us consider the nucleus-nucleus scattering at
+given impact parameter $\vec{B}$ and at given squared total
+c.m. nucleon--nucleon energy $s$. 
+ 
+In Glauber approach \cite{Glauber55} an
+elastic nucleus--nucleus interaction is a result of the 
+interactions between nucleons from the projectile and target nuclei.
+Thus, the $S$-scattering matrix $S^{AB}(\vec B,s)$ for 
+nucleus $A$ on nucleus $B$
+collision in the impact parameter representation can 
+be expressed as follows:
+\begin{equation}
+\label{GM9}S^{AB}( \vec
+B,s)=<\prod\limits_{i=1}^A\prod\limits_{j=1}^B
+[1 - \Gamma_{ij}(\vec{B}+ \vec b_i^A-\vec b_j^B,s)]> 
+\end{equation}
+where $<...>$ means integration over the sets $\{\vec b_i^A\}$ and
+$\{\vec b_j^B\}$ with weight functions $T _A$$(\{\vec b^A\})$ and
+$T_B$$(\{\vec b^B\})$.  These functions 
+\begin{equation}
+\label{GM10} T_{A,B}(\vec b_i^{A,B})=\int
+\rho ((\vec b_i^{A,B}z_i)dz_i
+\end{equation}
+ can be obtained from the nucleon
+densities $\rho ((\vec b_i^{A,B},z_i)$. The nucleon profile function is 
+\begin{equation}
+\label{GM11} \Gamma_{ij}(\vec{B}+ \vec b_i^A-\vec b_j^B,s) = 
+\frac{\sigma_{ij}(s)}{4\pi \beta_{ij}(s)} \exp{[-\frac{(\vec{B} + 
+\vec b_i^A-\vec b_j^B)^2}{2\beta_{ij}(s)}]}.
+\end{equation}
+The last equation can be obtained in the case of nucleon-nucleon 
+amplitude parametrization:
+\begin{equation}
+\label{GM12} f_{ij}(q,s) = \frac{ik \sigma_{ij}(s)}{4\pi}
+\exp{[-\frac{1}{2}\beta_{ij}(s) q^2]}.
+\end{equation}
+The equation $(\ref{GM9})$ is a result of the assumptions that
+the $AB$-scattering phase is sum of
+the nucleon--nucleon scattering phases and no correlations between nucleons 
+inside a nucleus are taken into account.
+
+The hadron-nucleus $S$-matrix is calculated in similar way using 
+Eq. $(\ref{GM9})$ for $i = 1$ and $\vec b_i = 0$. In this case 
+we need to use the corresponding parameter $\sigma_{hN}(s)$ 
+and $\beta_{hN}(s)$
+in nucleon profile function.
+
+ As we will show below
+the hadron-nucleon and nucleon--nucleon elastic scattering amplitudes at high 
+energies
+ can be expressed
+through the reggeon-nucleon vertex parameters and the parameters of the
+reggeon trajectory\cite{BT76}.
+ 
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CrossSection/HECrossSectionModelAlgorithm.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CrossSection/HECrossSectionModelAlgorithm.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CrossSection/HECrossSectionModelAlgorithm.tex	(revision 1208)
@@ -0,0 +1,26 @@
+\subsection{High energy MC cross section algorithm.}
+
+\hspace{1.0em}To obtain total (see Eq. $(\ref{GM7})$) and elastic 
+(see Eq. $(\ref{GM8})$) hadron-nucleus or nucleus-nucleus
+ cross section at given initial energy  we have to integrate the nucleon
+ profile function $\Gamma(\vec{B},s)= 1-S(\vec{B},s)$.
+ This is done by the Monte Carlo averaging procedure \cite{Shabelski90}, 
+ \cite{ZSU84}
+  to obtain the $S$-matrix values using Eq. $(\ref{GM9})$. These values
+  depend on the squared total c.m.  energy of the colliding
+$(i,j)$ pair  $s_{ij}=(p_{i}+p_{j})^2$, where 
+  $p_{i}$ and $p_{j}$ are the particle $4$-momenta, 
+respectively. Performing the Monte Carlo averaging one has to pick up 
+projectile and target nucleons
+ randomly
+according to the weight functions $T([\vec{b}^{A}_{i}])$ and
+$T([\vec{b}^{B}_{j}])$, respectively.
+ The last functions represent
+probability densities to find sets of the nucleon impact parameters
+$[\vec{b}^{A}_{i}]$, where $i=1,2,...,A$ and $[\vec{b}^{B}_{j}]$, where
+$j=1,2,...,B$. 
+Then by integration over $\vec{B}$ we  find the total and elastic 
+cross sections. To obtain the elastic differential cross section from 
+the Eqs. $(\ref{GM2})$ and $(\ref{GM3})$ we have at first to
+perform the back Fourier transform of the nucleon profile function (see 
+Eq. $(\ref{GM6})$).
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CrossSection/NNXSections.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CrossSection/NNXSections.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/CrossSection/NNXSections.tex	(revision 1208)
@@ -0,0 +1,450 @@
+
+\chapter{Total Reaction Cross Section in Nucleus-nucleus Reactions}
+\noindent
+The transportation of heavy ions in matter is a subject of much interest in 
+several fields of science. An important input for simulations of this process 
+is the total reaction cross section, which is defined as the total 
+($\sigma_{T}$) minus the elastic ($\sigma_{el}$) cross section for 
+nucleus-nucleus reactions:
+\begin{eqnarray*}
+\sigma_{R} = \sigma_{T} - \sigma_{el} .
+\end{eqnarray*}
+The total reaction cross section has been studied both theoretically and 
+experimentally and several empirical parameterizations of it have been 
+developed.  In Geant4 the total reaction cross sections are calculated using 
+four such parameterizations: the Sihver\cite{nnc.Sihver93}, 
+Kox\cite{nnc.Kox87}, Shen\cite{nnc.Shen89} and Tripathi\cite{nnc.Tripathi97} 
+formulae.  Each of these is discussed in order below.
+
+\section{Sihver Formula}
+\noindent
+Of the four parameterizations, the Sihver formula has the simplest form:
+\begin{equation}
+\sigma_{R} = \pi r^{2}_{0}[A^{1/3}_{p} + A^{1/3}_{t} - b_{0} [A^{-1/3}_{p} + A^{-1/3}_{t}] ]^{2}
+\end{equation}
+where A$_{p}$ and A$_{t}$ are the mass numbers of the projectile and target 
+nuclei, and
+\begin{eqnarray*}
+b_{0}=1.581-0.876(A^{-1/3}_{p} + A^{-1/3}_{t}) ,  
+\end{eqnarray*}
+\begin{eqnarray*}
+r_{0}=1.36fm.
+\end{eqnarray*}
+It consists of a nuclear geometrical term $(A^{1/3}_p + A^{1/3}_t)$ and an 
+overlap or transparency parameter ($b_0$) for nucleons in the nucleus.  The 
+cross section is independent of energy and can be used for incident energies 
+greater than 100 MeV/nucleon. 
+
+\section{Kox and Shen Formulae}
+\noindent
+Both the Kox and Shen formulae are based on the strong absorption model.  They 
+express the total reaction cross section in terms of the interaction radius 
+$R$, the nucleus-nucleus interaction barrier $B$, and the center-of-mass energy
+of the colliding system $E_{CM}$:
+\begin{equation}
+\sigma_{R} = \pi R^{2}[1-\frac{B}{E_{CM}}].
+\end{equation}
+
+\noindent
+{\bf Kox formula:} Here $B$ is the Coulomb barrier ($B_c$) of the 
+projectile-target system and is given by
+\begin{eqnarray*}
+B_{c}=\frac{Z_{t}Z_{p}e^{2}}{r_{C}(A^{1/3}_{t}+A^{1/3}_{p})},
+\end{eqnarray*}
+where $r_{C}$ = 1.3 fm, $e$ is the electron charge and $Z_t$, $Z_p$ are the 
+atomic numbers of the target and projectile nuclei. $R$ is the interaction 
+radius $R_{int}$ which in the Kox formula is divided into volume and surface 
+terms:
+\begin{eqnarray*}
+R_{int}=R_{vol}+R_{surf} .
+\end{eqnarray*}
+$R_{vol}$ and $R_{surf}$ correspond to the energy-independent and 
+energy-dependent components of the reactions, respectively.  Collisions which 
+have relatively small impact parameters are independent of both energy and mass
+number.  These core collisions are parameterized by $R_{vol}$.  Therefore 
+$R_{vol}$ can depend only on the volume of the projectile and target nuclei:
+\begin{eqnarray*}
+R_{vol}=r_{0}(A^{1/3}_{t}+A^{1/3}_{p}) .
+\end{eqnarray*}
+
+The second term of the interaction radius is a nuclear surface contribution and
+is parameterized by
+\begin{eqnarray*}
+R_{surf}=r_{0}[a\frac{A^{1/3}_{t}A^{1/3}_{p}}{A^{1/3}_{t}+A^{1/3}_{p}}-c]+D.
+\end{eqnarray*}
+
+The first term in brackets is the mass asymmetry which is related to the volume
+overlap of the projectile and target. The second term $c$ is an 
+energy-dependent parameter which takes into account increasing surface 
+transparency as the projectile energy increases.  $D$ is the neutron-excess 
+which becomes important in collisions of heavy or neutron-rich targets.  It is 
+given by 
+\begin{eqnarray*}
+D=\frac{5(A_{t}-Z_{t})Z_{p}}{A_{p}A_{r}}.
+\end{eqnarray*}
+The surface component ($R_{surf}$) of the interaction radius is actually not 
+part of the simple framework of the strong absorption model, but a better 
+reproduction of experimental results is possible when it is used.
+
+The parameters $r_0$, $a$ and $c$ are obtained using a $\chi^{2}$ minimizing 
+procedure with the experimental data. In this procedure the parameters $r_{0}$ 
+and $a$ were fixed while $c$ was allowed to vary only with the beam energy per 
+nucleon.  The best $\chi^{2}$ fit is provided by $r_{0}$ = 1.1 fm and 
+$a = 1.85$ with the corresponding values of $c$ listed in Table III and shown 
+in Fig.~12 of Ref.~\cite{nnc.Kox87} as a function of beam energy per nucleon.  
+This reference presents the values of $c$ only in chart and figure form, which 
+is not suitable for Monte Carlo calculations. Therefore a simple analytical 
+function is used to calculate $c$ in Geant4. The function is:
+\begin{eqnarray*}
+c=-\frac{10}{x^{5}}+2.0 \mbox{   } \rm{for} \mbox{   } x \ge 1.5
+\end{eqnarray*}
+\begin{eqnarray*}
+c=(-\frac{10}{1.5^{5}}+2.0)\times(\frac{x}{1.5})^{3} \mbox{   } \rm{for} \mbox{   } x < 1.5 ,
+\end{eqnarray*}
+\begin{eqnarray*}
+x=log(KE) ,
+\end{eqnarray*}
+where $KE$ is the projectile kinetic energy in units of MeV/nucleon in the 
+laboratory system. \\
+
+\noindent
+{\bf Shen formula:} as mentioned earlier, this formula is also based on the 
+strong absorption model, therefore it has a structure similar to the Kox 
+formula:
+\begin{equation}
+\sigma_{R} = 10\pi R^{2}[1-\frac{B}{E_{CM}}].
+\end{equation}
+However, different parameterized forms for $R$ and $B$ are applied.  The 
+interaction radius $R$ is given by 
+\begin{eqnarray*}
+R=r_{0}[A^{1/3}_{t}+A^{1/3}_{p}+1.85\frac{A^{1/3}_{t}A^{1/3}_{p}}{A^{1/3}_{t}+A^{1/3}_{p}}-C'(KE)] \\
++\alpha\frac{5(A_{t}-Z_{t})Z_{p}}{A_{p}A_{r}}+\beta E^{-1/3}_{CM}\frac{A^{1/3}_{t}A^{1/3}_{p}}{A^{1/3}_{t}+A^{1/3}_{p}}
+\end{eqnarray*}
+where $\alpha$, $\beta$ and $r_0$ are
+\begin{eqnarray*}
+\alpha = 1 fm
+\end{eqnarray*}
+\begin{eqnarray*}
+\beta = 0.176MeV^{1/3} \cdot fm
+\end{eqnarray*}
+\begin{eqnarray*}
+r_{0}= 1.1 fm
+\end{eqnarray*}
+In Ref.~\cite{nnc.Shen89} as well, no functional form for $C'(KE)$ is given.  
+Hence the same simple analytical function is used by Geant4 to derive $c$ 
+values.
+
+The second term $B$ is called the nuclear-nuclear interaction barrier in the 
+Shen formula and is given by
+\begin{eqnarray*}
+B=\frac{1.44Z_{t}Z_{p}}{r}-b\frac{R_{t}R_{p}}{R_{t}+R_{p}} (MeV)
+\end{eqnarray*}
+where $r$, $b$, $R_t$ and $R_p$ are given by
+\begin{eqnarray*}
+r=R_{t}+R_{p}+3.2fm
+\end{eqnarray*}
+\begin{eqnarray*}
+b=1MeV\cdot fm^{-1}	
+\end{eqnarray*}
+\begin{eqnarray*}
+R_{i}=1.12A^{1/3}_{i} -0.94A^{-1/3}_{i} ~ (i=t,p)
+\end{eqnarray*}
+The difference between the Kox and Shen formulae appears at energies below 
+30 MeV/nucleon. In this region the Shen formula shows better agreement with the
+experimental data in most cases.
+
+\section{Tripathi formula}
+\noindent 
+Because the Tripathi formula is also based on the strong absorption model its 
+form is similar to the Kox and Shen formulae:
+\begin{equation}
+\sigma_{R} = \pi r_0^2 (A^{1/3}_{p}+A^{1/3}_{t}+\delta_{E})^{2}[1-\frac{B}{E_{CM}}],
+\label{eqn15.4}
+\end{equation}
+where $r_0$ = 1.1 fm. In the Tripathi formula $B$ and $R$ are given by
+\begin{eqnarray*}
+B=\frac{1.44Z_{t}Z_{p}}{R}
+\end{eqnarray*}
+\begin{eqnarray*}
+R=r_{p}+r_{t}+\frac{1.2(A^{1/3}_{p}+A^{1/3}_{t})}{E^{1/3}_{CM}}
+\end{eqnarray*}
+where $r_i$ is the equivalent sphere radius and is related to the $r_{rms,i}$ 
+radius by 
+
+\[
+r_{i}=1.29r_{rms,i} ~ (i=p,t) .
+\]
+
+$\delta_{E}$ represents the energy-dependent term of the reaction cross section
+which is due mainly to transparency and Pauli blocking effects. It is given by 
+\begin{eqnarray*}
+\delta_{E}=1.85S+(0.16S/E^{1/3}_{CM})-C_{KE}+[0.91(A_{t}-2Z_{t})Z_{p}/(A_{p}A_{t})],
+\end{eqnarray*}
+where $S$ is the mass asymmetry term given by
+\begin{eqnarray*}
+S=\frac{A^{1/3}_{p}A^{1/3}_{t}}{A^{1/3}_{p}+A^{1/3}_{t}}.
+\end{eqnarray*}
+This is related to the volume overlap of the colliding system.  The last term 
+accounts for the isotope dependence of the reaction cross section and 
+corresponds to the $D$ term in the Kox formula and the second term of $R$ in 
+the Shen formula.
+
+The term $C_{KE}$ corresponds to $c$ in Kox and $C'(KE)$ in Shen and is given 
+by 
+\begin{eqnarray*}
+C_{E}=D_{Pauli}[1-\exp(-KE/40)]-0.292\exp(-KE/792)\times\cos(0.229KE^{0.453}) .\,\\
+\end{eqnarray*}
+Here D$_{Pauli}$ is related to the density dependence of the colliding system, 
+scaled with respect to the density of the $^{12}$C+$^{12}$C colliding 
+system: \\
+\begin{eqnarray*}
+D_{Pauli} = 1.75 \frac{\rho_{A_p}+\rho_{A_t}}{\rho_{A_{\boldmath C}}+\rho_{A_{\boldmath C}}} .
+\end{eqnarray*}
+The nuclear density is calculated in the hard sphere model. $D_{Pauli}\,$ 
+simulates the modifications of the reaction cross sections caused by Pauli 
+blocking and is being introduced to the Tripathi formula for the first time. 
+The modification of the reaction cross section due to Pauli blocking plays an 
+important role at energies above 100 MeV/nucleon.  Different forms of 
+$D_{Pauli}\,$ are used in the Tripathi formula for alpha-nucleus and 
+lithium-nucleus collisions. 
+\noindent
+For alpha-nucleus collisions,
+\begin{eqnarray*}
+D_{Pauli}=2.77 - (8.0\times 10^{-3} A_t) + (1.8\times 10^{-5}A^{2}_t) \\
+ - 0.8/\{1+\exp[(250-KE)/75]\}\,
+\end{eqnarray*}
+\noindent
+For lithium-nucleus collisions,
+\begin{eqnarray*}
+D_{Pauli}=D_{Pauli}/3.
+\end{eqnarray*}
+Note that the Tripathi formula is not fully implemented in Geant4 and can only 
+be used for projectile energies less than 1 GeV/nucleon.
+
+
+\section{Representative Cross Sections}
+
+
+\noindent
+Representative cross section results from the Sihver, Kox, Shen and Tripathi 
+formulae in Geant4 are displayed in Table I and compared to the experimental 
+measurements of Ref.~\cite{nnc.Kox87}.
+
+\section{Tripathi Formula for "light" Systems}
+\label{TripathiLight}
+For nuclear-nuclear interactions in which the projectile and/or target are 
+light, Tripathi {\normalsize\it{et al}} \cite{RefTripathiLight} propose an 
+alternative algorithm for determining the interaction cross section 
+(implemented in the new class G4TripathiLightCrossSection).  For such systems, 
+Eq.\ref{eqn15.4} becomes:
+
+\begin{equation}
+ \sigma _R  = \pi r_0^2 [ A_p^{1/3} + A_t^{1/3} + \delta _E ]^2 
+(1 - R_C \frac{B}{E_{CM}})X_m 
+\label{eqn15.6}
+\end{equation}
+
+\noindent $R_C$ is a Coulomb multiplier, which is added since for light 
+systems Eq. \ref{eqn15.4} overestimates the interaction distance, 
+causing $B$ (in Eq. \ref{eqn15.4}) to be underestimated.  Values for $R_C$ are 
+given in Table \ref{tab15.1}.
+
+\begin{equation}
+X_m  = 1 - X_1 \exp \left( { - \frac{E}{{X_1 S_L }}} \right)
+\label{eqn15.7}
+\end{equation}
+
+\noindent where:
+
+\begin{equation}
+ X_1  = 2.83 - \left( {3.1 \times 10^{ - 2} } \right)A_T  + \left( {1.7 \times 10^{ - 4} } \right)A_T^2 
+\label{eqn15.8}
+\end{equation}
+
+\noindent except for neutron interactions with $^4$He, for which $X_1$ is 
+better approximated to 5.2, and the function $S_L$ is given by:
+
+\begin{equation}
+S_L  = 1.2 + 1.6\left[ {1 - \exp \left( { - \frac{E}{{15}}} \right)} \right]
+\label{eqn15.9}
+\end{equation}
+
+\noindent For light nuclear-nuclear collisions, a slightly more general 
+expression for $C_E$ is used:
+
+\begin{equation}
+C_E  = D\left[ {1 - \exp \left( { - \frac{E}{{T_1 }}} \right)} \right] - 0.292\exp \left( { - \frac{E}{{792}}} \right) \cdot \cos \left( {0.229E^{0.453} } \right)
+\label{eqn15.10}
+\end{equation}
+
+\noindent $D$ and $T_1$ are dependent on the interaction, and are defined 
+in table \ref{tab15.2}.
+
+\begin{table}
+\begin{center}
+\caption{Representative total reaction cross sections}
+\label{nn-x-section-tb}
+\begin{tabular}{|c|c|c|c|c|c|c|c|}
+\hline
+Proj.&Target&Elab&Exp. Results&Sihver&Kox&Shen&Tripathi\\
+&&[MeV/n]&[mb]&&&&\\
+\hline
+&&&&&&&\\
+$^{12}$C&$^{12}$C&30&1316$\pm$40&---&1295.04&1316.07&1269.24\\
+&&83&965$\pm$30&---&957.183&969.107&989.96\\
+&&200&864$\pm$45&868.571&885.502&893.854&864.56\\
+&&300&858$\pm$60&868.571&871.088&878.293&857.414\\
+&&870$^1$&939$\pm$50&868.571&852.649&857.683&939.41\\
+&&2100$^1$&888$\pm$49&868.571&846.337&850.186&936.205\\
+&$^{27}$Al&30&1748$\pm$85&---&1801.4&1777.75&1701.03\\
+&&83&1397$\pm$40&---&1407.64&1386.82&1405.61\\
+&&200&1270$\pm$70&1224.95&1323.46&1301.54&1264.26\\
+&&300&1220$\pm$85&1224.95&1306.54&1283.95&1257.62\\
+&$^{89}$Y&30&2724$\pm$300&---&2898.61&2725.23&2567.68\\
+&&83&2124$\pm$140&---&2478.61&2344.26&2346.54\\
+&&200&1885$\pm$120&2156.47&2391.26&2263.77&2206.01\\
+&&300&1885$\pm$150&2156.47&2374.17&2247.55&2207.01\\
+&&&&&&&\\
+$^{16}$O&$^{27}$Al&30&1724$\pm$80&---&1965.85&1935.2&1872.23\\
+&$^{89}$Y&30&2707$\pm$330&---&3148.27&2957.06&2802.48\\
+&&&&&&&\\
+$^{20}$Ne&$^{27}$Al&30&2113$\pm$100&---&2097.86&2059.4&2016.32\\
+&&100&1446$\pm$120&1473.87&1684.01&1658.31&1667.17\\
+&&300&1328$\pm$120&1473.87&1611.88&1586.17&1559.16\\
+&$^{108}$Ag&300&2407$\pm$200$^2$&2730.69&3095.18&2939.86&2893.12\\
+\hline
+\end{tabular}
+\end{center}
+1. Data measured by Jaros et al. \cite{nnc.Jaros78} \\ 
+2. Natural silver was used in this measurement.
+\end{table}
+
+\begin{table}
+\begin{center}
+\caption{Coulomb multiplier for light systems \cite{RefTripathiLight}.}
+\label{tab15.1}       % Give a unique label
+\begin{tabular}{cc}
+\hline\noalign{\smallskip}
+System & \(R_C\) \\
+\noalign{\smallskip}\hline\noalign{\smallskip}
+p + d       & 13.5 \\
+p + $^3$He  & 21 \\
+p + $^4$He  & 27 \\
+p + Li      & 2.2 \\
+d + d       & 13.5 \\
+d + $^4$He  & 13.5 \\
+d + C       & 6.0 \\
+$^4$He + Ta & 0.6 \\
+$^4$He + Au & 0.6 \\
+\noalign{\smallskip}\hline
+\end{tabular}
+\end{center}
+\vspace*{2cm}  % with the correct table height
+\end{table}
+
+\begin{table}
+\caption{Parameters D and T1 for light systems \cite{RefTripathiLight}.}
+\label{tab15.2}       % Give a unique label
+% For LaTeX tables use
+\begin{tabular}{cccc}
+\hline\noalign{\smallskip}
+System & T1 [MeV] & D & G [MeV] \\
+& & & ($^4$He + X only) \\
+\noalign{\smallskip}\hline\noalign{\smallskip}
+p + X & 23 &
+\(1.85 + \frac{{0.16}}{{1 + \exp \left( {\frac{{500 - E}}{{200}}} \right)}}\) &
+(Not applicable) \\
+
+n + X & 18 & 
+\(1.85 + \frac{{0.16}}{{1 + \exp \left( {\frac{{500 - E}}{{200}}} \right)}}\) &
+(Not applicable) \\
+
+d + X & 23 &
+\(1.65 + \frac{{0.1}}{{1 + \exp \left( {\frac{{500 - E}}{{200}}} \right)}}\) &
+(Not applicable) \\
+
+$^3$He + X & 40 & 1.55 & (Not applicable) \\
+
+$^4$He + $^4$He & 40 &
+\(
+\begin{array}{l}
+ D = 2.77 - 8.0 \times 10^{ - 3} A_T  \\ 
+  + 1.8 \times 10^{ - 5} A_T^2  \\ 
+  - \frac{{0.8}}{{1 + \exp \left( {\frac{{250 - E}}{G}} \right)}} \\ 
+ \end{array}
+\) &
+300 \\
+
+$^4$He + Be & 25 & (as for $^4$He + $^4$He) & 300 \\
+$^4$He + N  & 40 & (as for $^4$He + $^4$He) & 500 \\
+$^4$He + Al & 25 & (as for $^4$He + $^4$He) & 300 \\
+$^4$He + Fe & 40 & (as for $^4$He + $^4$He) & 300 \\
+$^4$He + X (general) & 40 & (as for $^4$He + $^4$He) & 75 \\
+
+\noalign{\smallskip}\hline
+\end{tabular}
+% Or use
+\vspace*{5cm}  % with the correct table height
+\end{table}
+
+\section{Status of this document}
+\noindent
+25.11.03  created by Tatsumi Koi\\
+28.11.03  grammar check and re-wording by D.H. Wright\\
+18.06.04  light system section added by Peter Truscott \\
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+
+\bibitem{nnc.Sihver93} 
+ L. Sihver et al., Phys. Rev. C47, 1225 (1993).
+
+\bibitem{nnc.Kox87} 
+Kox et al. Phys. Rev. C35, 1678 (1987).
+
+\bibitem{nnc.Shen89} 
+Shen et al. Nucl. Phys. A491, 130 (1989).
+
+\bibitem{nnc.Tripathi97} 
+Tripathi et al, NASA Technical Paper 3621 (1997).
+
+\bibitem{nnc.Jaros78} 
+Jaros et al, Phys. Rev. C 18 2273 (1978).
+
+\bibitem{RefTripathiLight}
+% Format for Journal Reference
+R K Tripathi, F A Cucinotta, and J W Wilson, "Universal parameterization of absorption cross-sections - Light systems," NASA Technical Paper TP-1999-209726, 1999.
+
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\section{Bibliography}
+
+\begin{enumerate}
+\item 
+ L. Sihver et al., Phys. Rev. C47, 1225 (1993).
+
+\item 
+Kox et al. Phys. Rev. C35, 1678 (1987).
+
+\item 
+Shen et al. Nucl. Phys. A491, 130 (1989).
+
+\item 
+Tripathi et al, NASA Technical Paper 3621 (1997).
+
+\item 
+Jaros et al, Phys. Rev. C 18 2273 (1978).
+
+\item
+% Format for Journal Reference
+R K Tripathi, F A Cucinotta, and J W Wilson, "Universal parameterization of absorption cross-sections - Light systems," NASA Technical Paper TP-1999-209726, 1999.
+
+\end{enumerate}
+
+\end{htmlonly}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/EMDissociation.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/EMDissociation.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/EMDissociation.tex	(revision 1208)
@@ -0,0 +1,253 @@
+
+\chapter{Electromagnetic Dissociation Model}
+
+\section{The Model}
+The relative motion of a projectile nucleus travelling at relativistic 
+speeds with respect to another nucleus can give rise to an increasingly 
+hard spectrum of virtual photons.  The excitation energy associated 
+with this energy exchange can result in the liberation of nucleons or 
+heavier nuclei ({\normalsize\it{}i.e.} deuterons, $\alpha$-particles, 
+{\normalsize\it{}etc.}).  The contribution of this source to the total 
+inelastic cross section can be important, especially where the proton 
+number of the nucleus is large.  The electromagnetic dissociation (ED) 
+model is implemented in the classes G4EMDissociation, 
+G4EMDissociationCrossSection and G4EMDissociationSpectrum, with the 
+theory taken from Wilson {\normalsize\it{}et al} \cite{ed.Wilson}, and 
+Bertulani and Baur \cite{ed.BandB}.
+
+\noindent The number of virtual photons \(N(E_{\gamma},b)\) per unit 
+area and energy interval experienced by the projectile due to the 
+dipole field of the target is given by the expression \cite{ed.BandB}:
+
+\begin{equation}
+N\left( {E_\gamma  ,b} \right) = \frac{{\alpha Z_T^2 }}{{\pi ^2 \beta ^2 b^2 E_\gamma  }}\left\{ {x^2 k_1^2 (x) + \left( {\frac{{x^2 }}{{\gamma ^2 }}} \right)k_0^2 (x)} \right\}
+\label{ed.eqn1}
+\end{equation}
+
+\noindent where \(x\) is a dimensionless quantity defined as:
+
+\begin{equation}
+x = \frac{{bE_\gamma  }}{{\gamma \beta \bar hc}}
+\label{ed.eqn2}
+\end{equation}
+
+\noindent and:
+
+\(\alpha\) \indent = fine structure constant
+
+\(\beta\) \indent = ratio of the velocity of the projectile in the 
+laboratory frame to the velocity of light
+
+\(\gamma\) \indent = Lorentz factor for the projectile in the laboratory 
+frame
+
+\(b\) \indent = impact parameter
+
+\(c\) \indent = speed of light
+
+\(\bar h\) \indent = quantum constant
+
+\(E_{\gamma}\) \indent = energy of virtual photon
+
+\(k_0\) and \(k_1\) \indent = zeroth and first order modified Bessel 
+functions of the second kind
+
+\(Z_T\) \indent = atomic number of the target nucleus
+
+
+\noindent Integrating Eq. \ref{ed.eqn1} over the impact parameter from 
+\(b_{min}\) to \(\infty \) produces the virtual photon spectrum for the 
+dipole field of:
+
+\begin{equation}
+N_{E1} \left( {E_\gamma  } \right) = \frac{{2\alpha Z_T^2 }}{{\pi \beta ^2 E_\gamma  }}\left\{ {\xi k_0 (\xi )k_1 (\xi ) - \frac{{\xi ^2 \beta ^2 }}{2}\left( {k_1^2 (\xi ) - k_0^2 (\xi )} \right)} \right\}
+\label{ed.eqn3}
+\end{equation}
+
+\noindent where, according to the algorithm implemented by Wilson 
+{\normalsize\it{}et al} in NUCFRG2 \cite{ed.Wilson}:
+
+\begin{equation}
+\begin{array}{c}
+\xi  = \frac{{E_\gamma  b_{\min } }}{{\gamma \beta \bar hc}} \\
+\\
+b_{\min }  = (1 + x_d )b_c  + \frac{{\pi \alpha _0 }}{{2\gamma }} \\
+\\
+\alpha _0  = \frac{{Z_P Z_T e^2 }}{{\mu \beta ^2 c^2 }} \\
+\\
+b_c  = 1.34\left[ {A_P^{{\raise0.7ex\hbox{$1$} \!\mathord{\left/
+ {\vphantom {1 3}}\right.\kern-\nulldelimiterspace}
+\!\lower0.7ex\hbox{$3$}}}  + A_T^{{\raise0.7ex\hbox{$1$} \!\mathord{\left/
+ {\vphantom {1 3}}\right.\kern-\nulldelimiterspace}
+\!\lower0.7ex\hbox{$3$}}}  - 0.75\left( {A_P^{ - {\raise0.7ex\hbox{$1$} \!\mathord{\left/
+ {\vphantom {1 3}}\right.\kern-\nulldelimiterspace}
+\!\lower0.7ex\hbox{$3$}}}  + A_T^{ - {\raise0.7ex\hbox{$1$} \!\mathord{\left/
+ {\vphantom {1 3}}\right.\kern-\nulldelimiterspace}
+\!\lower0.7ex\hbox{$3$}}} } \right)} \right] \\
+ \end{array}
+\label{ed.eqn4}
+\end{equation}
+
+\noindent and \(\mu\) is the reduced mass of the projectile/target system, 
+\(x_d=0.25\), and \(A_P\) and \(A_T\) are the projectile and target nucleon 
+numbers.  For the last equation, the units of \(b_c\) are fm.  Wilson 
+{\normalsize\it{}et al} state that there is an equivalent virtual photon 
+spectrum as a result of the quadrupole field:
+
+\begin{equation}
+N_{E2} \left( {E_\gamma  } \right) = \frac{{2\alpha Z_T^2 }}{{\pi \beta ^4 E_\gamma  }}\left\{ {2\left( {1 - \beta ^2 } \right)k_1^2 (\xi ) + \xi \left( {2 - \beta ^2 } \right)^2 k_0 (\xi )k_1 (\xi ) - \frac{{\xi ^2 \beta ^4 }}{2}\left( {k_1^2 (\xi ) - k_0^2 (\xi )} \right)} \right\}
+\label{ed.eqn5}
+\end{equation}
+
+\noindent The cross section for the interaction of the dipole and quadrupole 
+fields is given by:
+
+\begin{equation}
+\sigma _{ED}  = \int {N_{E1} \left( {E_\gamma  } \right)\sigma _{E1} \left( {E_\gamma  } \right)dE_\gamma  }  + \int {N_{E2} \left( {E_\gamma  } \right)\sigma _{E2} \left( {E_\gamma  } \right)dE_\gamma  } 
+\label{ed.eqn6}
+\end{equation}
+
+\noindent Wilson {\normalsize\it{}et al} assume that 
+\(\sigma_{E1}(E_{\gamma})\) and \(\sigma_{E2}(E_{\gamma})\) are sharply peaked 
+at the giant dipole and quadrupole resonance energies:
+
+\begin{equation}
+\begin{array}{c}
+E_{GDR}  = \bar hc \left[ {\frac{{m^* c^2 R_0^2 }}{{8J}}\left( {1 + u - \frac{{1 + \varepsilon  + 3u}}{{1 + \varepsilon  + u}}\varepsilon } \right)} \right]^{- \frac {1} {2}} \\
+\\
+E_{GQR}  = \frac{{63}}{{A_P^{{\raise0.7ex\hbox{$1$} \!\mathord{\left/
+ {\vphantom {1 3}}\right.\kern-\nulldelimiterspace}
+\!\lower0.7ex\hbox{$3$}}} }} \\
+\label{ed.eqn7}
+ \end{array}
+\end{equation}
+
+\noindent so that the terms for \(N_{E1}\) and \(N_{E2}\) can be taken 
+out of the integrals in Eq. \ref{ed.eqn6} and evaluated at the resonances.
+
+\noindent In Eq. \ref{ed.eqn7}:
+
+\begin{equation}
+\begin{array}{c}
+u = \frac{{3J}}{{Q'}}A_P^{ - {\raise0.7ex\hbox{$1$} \!\mathord{\left/
+ {\vphantom {1 3}}\right.\kern-\nulldelimiterspace}
+\!\lower0.7ex\hbox{$3$}}} \\
+\\
+R_0  = r_0 A_P^{{\raise0.7ex\hbox{$1$} \!\mathord{\left/
+ {\vphantom {1 3}}\right.\kern-\nulldelimiterspace}
+\!\lower0.7ex\hbox{$3$}}} \\
+ \end{array}
+\label{ed.eqn8}
+\end{equation}
+
+\noindent \(\epsilon=0.0768\), \(Q'=17\)MeV, \(J=36.8\)MeV, \(r_0=1.18\)fm, 
+and \(m^*\) is 7/10 of the nucleon mass (taken as 938.95 MeV/c$^2$).  
+(The dipole and quadrupole energies are expressed in units of MeV.)
+
+\noindent The photonuclear cross sections for the dipole and quadrupole 
+resonances are assumed to be given by:
+
+\begin{equation}
+\int {\sigma _{E1} \left( {E_\gamma  } \right)dE_\gamma   = 60\frac{{N_P Z_P }}{{A_P }}} 
+\label{ed.eqn9}
+\end{equation}
+
+\noindent in units of MeV-mb (\(N_P\) being the number of neutrons in the 
+projectile) and:
+
+\begin{equation}
+\int {\sigma _{E2} \left( {E_\gamma  } \right)\frac{{dE_\gamma  }}{{E_\gamma ^2 }} = 0.22fZ_P A_P^{{\raise0.7ex\hbox{$2$} \!\mathord{\left/
+ {\vphantom {2 3}}\right.\kern-\nulldelimiterspace}
+\!\lower0.7ex\hbox{$3$}}} } 
+\label{ed.eqn10}
+\end{equation}
+\noindent in units of $\mu$b/MeV.  In the latter expression, \(f\) is 
+given by:
+
+\begin{equation}
+f = \left\{ {\begin{array}{*{20}c}
+   {0.9} \hfill & {A_P  > 100} \hfill  \\
+   {0.6} \hfill & {40 < A_P  \le 100} \hfill  \\
+   {0.3} \hfill & {40 \le A_P } \hfill  \\
+\end{array}} \right.
+\end{equation}
+
+\noindent The total cross section for electromagnetic dissociation is 
+therefore given by Eq. \ref{ed.eqn6} with the virtual photon spectra for 
+the dipole and quadrupole fields calculated at the resonances:
+
+\begin{equation}
+\sigma _{ED}  = N_{E1} \left( {E_{GDR} } \right)\int {\sigma _{E1} \left( {E_\gamma  } \right)dE_\gamma  }  + N_{E2} \left( {E_{GQR} } \right)E_{GQR}^2 \int {\frac{{\sigma _{E2} \left( {E_\gamma  } \right)}}{{E_\gamma ^2 }}dE_\gamma  } 
+\label{ed.eqn11}
+\end{equation}
+
+\noindent where the resonance energies are given by Eq. \ref{ed.eqn7} and 
+the integrals for the photonuclear cross sections given by 
+Eq. \ref{ed.eqn9} and Eq. \ref{ed.eqn10}.
+
+\noindent The selection of proton or neutron emission is made according to 
+the following prescription from Wilson {\normalsize\it{}et al}.
+
+\begin{equation}
+\begin{array}{l}
+ \sigma _{ED,p}  = \sigma _{ED}  \times \left\{ {\begin{array}{*{20}c}
+   {0.5} \hfill & {Z_P  < 6} \hfill  \\
+   {0.6} \hfill & {6 \le Z_P  \le 8} \hfill  \\
+   {0.7} \hfill & {8 < Z_P  < 14} \hfill  \\
+   {\min \left[ {\frac{{Z_P }}{{A_P }},1.95\exp ( - 0.075Z_P )} \right]} \hfill & {Z_P  \ge 14} \hfill  \\
+\end{array}} \right\} \\ 
+ \sigma _{ED,n}  = \sigma _{ED}  - \sigma _{ED,p}  \\ 
+ \end{array}
+\label{ed.eqn12}
+\end{equation}
+
+\indent Note that this implementation of ED interactions only treats 
+the ejection of single nucleons from the nucleus, and currently does 
+not allow emission of other light nuclear fragments.
+
+\section{Status of this document}
+19.06.04 created by Peter Truscott \\
+
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+
+\bibitem{ed.Wilson}
+J. W. Wilson, R. K. Tripathi, F. A. Cucinotta, J. K. Shinn, 
+F. F. Badavi, S. Y. Chun, J. W. Norbury, C. J. Zeitlin, L. Heilbronn, 
+and J. Miller, 
+"NUCFRG2: An evaluation of the semiempirical nuclear fragmentation database," 
+NASA Technical Paper 3533, 1995.
+
+\bibitem{ed.BandB}
+C. A. Bertulani, and G. Baur, Electromagnetic processes in 
+relativistic heavy ion collisions, 
+Nucl Phys, A458, 725-744, 1986.
+
+\end{thebibliography}
+
+\end{latexonly}
+
+
+\begin{htmlonly}
+
+\section{Bibliography}
+
+\begin{enumerate}
+\item
+J. W. Wilson, R. K. Tripathi, F. A. Cucinotta, J. K. Shinn, 
+F. F. Badavi, S. Y. Chun, J. W. Norbury, C. J. Zeitlin, L. Heilbronn, 
+and J. Miller, 
+"NUCFRG2: An evaluation of the semiempirical nuclear fragmentation database," 
+NASA Technical Paper 3533, 1995.
+
+\item
+C. A. Bertulani, and G. Baur, Electromagnetic processes in 
+relativistic heavy ion collisions, 
+Nucl Phys, A458, 725-744, 1986.
+
+\end{enumerate}
+
+\end{htmlonly}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/CVS/Entries	(revision 1208)
@@ -0,0 +1,10 @@
+/EvaporationModel.tex/1.7/Sun Feb  9 03:51:12 2003//
+/EvaporationModelAlgorithm.tex/1.3/Wed Dec 16 18:02:26 1998//
+/EvaporationModelReferences.tex/1.14/Sat Dec 11 18:55:18 2004//
+/FissionProbability.tex/1.8/Sun Feb  9 03:51:12 2003//
+/Introduction.tex/1.3/Wed Oct 27 17:53:38 2004//
+/ModelDescription.tex/1.2/Fri Apr 25 01:32:01 2003//
+/ReactionInitialStateEM.tex/1.4/Mon Feb 22 18:15:01 1999//
+/SimulationFragmentEvaporation.tex/1.9/Fri Jul  5 09:48:29 2002//
+/SimulationPhotonEvaporation.tex/1.14/Fri Dec 10 00:19:33 2004//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/EvaporationModel.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/EvaporationModel.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/EvaporationModel.tex	(revision 1208)
@@ -0,0 +1,24 @@
+\chapter{Evaporation Model}
+
+\input{hadronic/theory_driven/Evaporation/Introduction}
+
+\input{hadronic/theory_driven/Evaporation/ModelDescription}
+
+
+
+%\input{hadronic/theory_driven/Evaporation/ReactionInitialStateEM}
+
+%\input{hadronic/theory_driven/Evaporation/SimulationFragmentEvaporation}
+
+\input{hadronic/theory_driven/Evaporation/FissionProbability}
+
+\input{hadronic/theory_driven/Evaporation/SimulationPhotonEvaporation}
+
+\input{hadronic/theory_driven/Evaporation/EvaporationModelReferences}
+
+
+
+%%% Local Variables: 
+%%% mode: latex
+%%% TeX-master: t
+%%% End: 
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/EvaporationModelAlgorithm.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/EvaporationModelAlgorithm.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/EvaporationModelAlgorithm.tex	(revision 1208)
@@ -0,0 +1,23 @@
+\section{MC procedure.}
+
+ The evaporation model algorithm consists 
+ from repeating steps of binary break-ups of 
+the excited nuclear fragments:
+\begin{enumerate}
+\item Create a nuclear fragment: assign atomic mass number $A$, electrical 
+charge $Z$, fragment four vector $P_0$, fragment excitation energy $E^{*}$ and 
+fragment angular momentum $\vec{L}_0$;
+\item Calculate the probabilities of break-up channels and 
+sample a channel;
+\item Sample evaporated fragment $b$ kinetic energy at rest of decaying fragment;
+\item Assuming isotropical evaporated fragments distribution, sample 
+its flay off angles at rest of decaying fragment $b$;
+\item boost the evaporated and residual fragment momenta into observer frame.
+\item Calculate residual fragment  atomic mass number $A_f$, electrical 
+charge $Z_f$, fragment four vector $P_f$, fragment excitation energy 
+$E_f^{*}$ and 
+fragment angular momentum $\vec{L}_f$;
+\item Repeat this procedure starting from step (2)
+ until no more fragment (the probabilities of break-up channels 
+ equal zero) can be evaporated.
+\end{enumerate}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/EvaporationModelReferences.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/EvaporationModelReferences.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/EvaporationModelReferences.tex	(revision 1208)
@@ -0,0 +1,165 @@
+
+\begin{latexonly}
+
+\begin{thebibliography}{599}
+
+\bibitem{evap.Frenkel36} I. Frenkel. \textit{Sov. Phys.} \textbf{9} 533
+  (1936).
+  
+\bibitem{evap.Weisskopf40} V. E. Weisskopf and D. H. Ewing. \textit{Phys.
+     Rev.} \textbf{57} 472 (1940).
+  
+\bibitem{evap.Dostrovsky59} I. Dostrovsky, Z. Fraenkel, G. Friedlander.
+  \textit{Phys. Rev.} \textbf{116} 683 (1959).
+
+\bibitem{evap.Blatt52} J. Blatt and V. F. Weisskopf, \textit{Theoretical
+     Nuclear Physics} (John Wiley \& Sons, Inc., New York, 1952) 
+
+
+\bibitem{evap.Shapiro53} M. M. Shapiro. \textit{Phys. Rev.} \textbf{90}, 171
+  (1953).
+  
+\bibitem{evap.Iljinov94} A. S. Iljinov, M. V. Kazarnovsky and E. Ya.
+  Paryev. \textit{Intermediate--Energy Nuclear Physics} (CRC Press,
+  1994).
+
+\bibitem{evap.Weisskopf37} V. F. Weisskopf. \textit{Phys. Rev.}
+  \textbf{52}, 295 (1937)
+
+\bibitem{evap.Hurwitz51} H. Hurwitz and H. A. Bethe. \textit{Phys. Rev.}
+  \textbf{81}, (1951)
+
+\bibitem{evap.Cook67} J.L. Cook, H. Ferguson and
+  A. R. L. Musgrove. \textit{Aust. J. Phys.}, \textbf{20}, 477 (1967) 
+
+\bibitem{evap.Gilbert65} A. Gilbert and A.G.W. Cameron,
+  \textit{Can. J. Phys.}, \textbf{43}, 1446 (1965)
+
+\bibitem{evap.Iljinov92} A. S. Iljinov, M. V. Mevel \textit{et
+     al.}. \textit{Nucl. Phys.} \textbf{A543}, 517 (1992). 
+
+\bibitem{evap.Truran70} J. W. Truran, A. G. W. Cameron, and
+  E. Hilf. \textit{Proc. Int. Conf. on the Properties of Nuclei Far
+     From the Beta-Stability} Leysin, Switzerland, August 31 -
+  September 4, 1970, Vol.1, p. 275 
+
+\bibitem{evap.Furihata00} S. Furihata. \textit{Nucl. Instr. and Meth. in
+     Phys. Res.} \textbf{B171}, 251 (2000)
+  
+\bibitem{evap.Matsuse82} T. Matsuse, A. Arima, and S. M. Lee. \textit{Phys.
+     Rev. C} \textbf{26}, 2338 (1982)
+
+\bibitem{BW39} Bohr N., Wheeler J. W., Phys. Rev., {\bf 56} 426
+  (1939).
+  
+\bibitem{Barash73} Barashenkov V. S., Iljinov A. S., Toneev V. D.,
+  Gereghi F. G, Nucl. Phys. {\bf A206} 131 (1973).
+  
+\bibitem{CAM57} Cameron A. G. W. Canad. J. Phys., {\bf 35} 1021
+  (1957), {\bf 36} 1040 (1958).
+
+\bibitem{evap.ENSDF} Evaluated Nuclear Structure Data File (ENSDF) - a 
+    computer file of evaluated experimental nuclear structure data 
+    maintained by the National Nuclear Data Center, Brookhaven National 
+    Laboratory (http://www.nndc.bnl.gov/nndc/nudat/). 
+    
+\bibitem{spe.band} I.M. Band and M.B. Trzhaskovskaya, Tables of the
+    Gamma-ray Internal Conversion Coefficients for the K, L, M Shells,
+    for $1 <= Z <= 80$, Leningrad: Nuclear Physics Institute (1978).
+
+\bibitem{spe.rosel} F. R\"{o}sel, H.M. Fries, K. Alder and H.C. Pauli,
+  At. Data Nucl. Data Tables 21 (1978).
+
+\bibitem{spe.hagsel} R.S. Hager and E.C. Seltzer, Nucl. Data A4 (1968).
+  
+\bibitem{spe.rys} M. Rysavy and O. Dragoun, On the Reliability of the
+  Theoretical Internal Conversion Coefficients, J. Phys. G: Nucl.
+  Part. Phys., 2000, v.26, N. 12, pp 1859-72.
+
+
+\end{thebibliography}
+
+\end{latexonly}
+
+
+\begin{htmlonly}
+
+\section{Bibliography}
+
+\begin{enumerate}
+\item I. Frenkel. \textit{Sov. Phys.} \textbf{9} 533
+  (1936).
+  
+\item V. E. Weisskopf and D. H. Ewing. \textit{Phys.
+     Rev.} \textbf{57} 472 (1940).
+  
+\item I. Dostrovsky, Z. Fraenkel, G. Friedlander.
+  \textit{Phys. Rev.} \textbf{116} 683 (1959).
+
+\item J. Blatt and V. F. Weisskopf, \textit{Theoretical
+     Nuclear Physics} (John Wiley \& Sons, Inc., New York, 1952) 
+
+
+\item M. M. Shapiro. \textit{Phys. Rev.} \textbf{90}, 171
+  (1953).
+  
+\item A. S. Iljinov, M. V. Kazarnovsky and E. Ya.
+  Paryev. \textit{Intermediate--Energy Nuclear Physics} (CRC Press,
+  1994).
+
+\item V. F. Weisskopf. \textit{Phys. Rev.}
+  \textbf{52}, 295 (1937)
+
+\item H. Hurwitz and H. A. Bethe. \textit{Phys. Rev.}
+  \textbf{81}, (1951)
+
+\item J.L. Cook, H. Ferguson and
+  A. R. L. Musgrove. \textit{Aust. J. Phys.}, \textbf{20}, 477 (1967) 
+
+\item A. Gilbert and A.G.W. Cameron,
+  \textit{Can. J. Phys.}, \textbf{43}, 1446 (1965)
+
+\item A. S. Iljinov, M. V. Mevel \textit{et
+     al.}. \textit{Nucl. Phys.} \textbf{A543}, 517 (1992). 
+
+\item J. W. Truran, A. G. W. Cameron, and
+  E. Hilf. \textit{Proc. Int. Conf. on the Properties of Nuclei Far
+     From the Beta-Stability} Leysin, Switzerland, August 31 -
+  September 4, 1970, Vol.1, p. 275 
+
+\item S. Furihata. \textit{Nucl. Instr. and Meth. in
+     Phys. Res.} \textbf{B171}, 251 (2000)
+  
+\item T. Matsuse, A. Arima, and S. M. Lee. \textit{Phys.
+     Rev. C} \textbf{26}, 2338 (1982)
+
+\item Bohr N., Wheeler J. W., Phys. Rev., {\bf 56} 426
+  (1939).
+  
+\item Barashenkov V. S., Iljinov A. S., Toneev V. D.,
+  Gereghi F. G, Nucl. Phys. {\bf A206} 131 (1973).
+  
+\item Cameron A. G. W. Canad. J. Phys., {\bf 35} 1021
+  (1957), {\bf 36} 1040 (1958).
+
+\item Evaluated Nuclear Structure Data File (ENSDF) - a 
+    computer file of evaluated experimental nuclear structure data 
+    maintained by the National Nuclear Data Center, Brookhaven National 
+    Laboratory (http://www.nndc.bnl.gov/nndc/nudat/). 
+    
+\item I.M. Band and M.B. Trzhaskovskaya, Tables of the
+    Gamma-ray Internal Conversion Coefficients for the K, L, M Shells,
+    for $1 <= Z <= 80$, Leningrad: Nuclear Physics Institute (1978).
+
+\item F. R\"{o}sel, H.M. Fries, K. Alder and H.C. Pauli,
+  At. Data Nucl. Data Tables 21 (1978).
+
+\item R.S. Hager and E.C. Seltzer, Nucl. Data A4 (1968).
+  
+\item M. Rysavy and O. Dragoun, On the Reliability of the
+  Theoretical Internal Conversion Coefficients, J. Phys. G: Nucl.
+  Part. Phys., 2000, v.26, N. 12, pp 1859-72.
+
+\end{enumerate}
+
+\end{htmlonly}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/FissionProbability.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/FissionProbability.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/FissionProbability.tex	(revision 1208)
@@ -0,0 +1,68 @@
+\section{Fission probability calculation.}
+
+\hspace{1.0em}The fission decay channel (only for nuclei with $A > 65$)
+is taken into account as a competitor for fragment and photon evaporation
+channels.
+
+\subsection{The fission total probability.}
+
+\hspace{1.0em}The fission probability (per unit time) $W_{fis}$ 
+in the Bohr
+and Wheeler theory of fission \cite{BW39} is proportional to the level
+density $\rho_{fis}(T)$ ( approximation Eq. ($\ref{evap:6}$) is used) at
+the saddle point, i.e.
+\begin{equation}
+\begin{array}{c}
+\label{FP1}W_{fis}=\frac{1}{2\pi \hbar \rho_{fis}
+(E^{*})}\int_{0}^{E^{*}-B_{fis}}
+\rho_{fis}(E^{*}-B_{fis}-T)dT =\\
+=\frac{1 + (C_f - 1)\exp{(C_f)}}{4\pi a_{fis} \exp{(2\sqrt{aE^{*}})}},
+\end{array}
+\end{equation}
+where 
+ $B_{fis}$ is the fission barrier height.
+The value of $C_f = 2\sqrt{a_{fis}(E^{*} - B_{fis})}$ and $a$, $a_{fis}$ are 
+the level density parameters of the compound and of the fission saddle point
+nuclei, respectively.
+
+The value of the level density parameter is large at the saddle point,
+when excitation energy is given by initial excitation energy minus the
+fission barrier height, than in the ground state, i. e. $a_{fis} > a$.
+$a_{fis} = 1.08 a$ for $Z < 85$, $a_{fis} = 1.04 a$ for $Z \geq 89$ and
+$a_f=a[1.04+0.01(89.-Z)]$ for $85 \leq Z < 89$ is used.
+ 
+\subsection{The fission barrier.}
+
+\hspace{1.0em}
+The fission barrier is determined as difference 
+between the saddle-point and
+ ground state masses. 
+
+We use simple semiphenomenological 
+approach was suggested by Barashenkov and Gereghi \cite{Barash73}. In their 
+approach fission barrier $B_{fis}(A,Z)$ is approximated by 
+\begin{equation}
+\label{FP2} B_{fis} = B^{0}_{fis} + \Delta_g  + \Delta_p.
+\end{equation}
+The fission barrier height $B^{0}_{fis}(x)$
+varies with the fissility parameter $x = Z^2/A$. $B^{0}_{fis}(x)$ is
+given by
+\begin{equation}
+\label{FP3} B^{0}_{fis}(x) = 12.5 + 4.7 (33.5 -x )^{0.75}
+\end{equation}
+for $x \leq 33.5$ and
+\begin{equation}
+\label{FP4} B^{0}_{fis}(x) = 12.5 - 2.7 (x - 33.5)^{2/3}
+\end{equation}
+for $x > 33.5$.  The $\Delta_g = \Delta M(N) + \Delta M(Z)$, where
+$\Delta M(N)$ and $\Delta M(Z)$ are shell corrections for Cameron's
+liquid drop mass formula \cite{CAM57} and the pairing energy
+corrections: $ \Delta_p = 1$ for odd-odd nuclei, $ \Delta_p = 0$ for
+odd-even nuclei, $ \Delta_p = 0.5$ for even-odd nuclei and $ \Delta_p =
+-0.5$ for even-even nuclei.
+
+
+%%% Local Variables: 
+%%% mode: latex
+%%% TeX-master: t
+%%% End: 
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/Introduction.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/Introduction.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/Introduction.tex	(revision 1208)
@@ -0,0 +1,20 @@
+\section{Introduction.}
+
+\hspace{1.0em} At the end of the pre-equilibrium stage, or a
+thermalizing process, the residual nucleus is supposed to be left in 
+an equilibrium state, in which the excitation energy $E^*$ is shared 
+by a large number of nucleons. Such an equilibrated compound nucleus 
+is characterized by its mass, charge and excitation energy with no
+further memory of the steps which led to its formation. If the
+excitation energy is higher than the separation energy, it can still
+eject nucleons and light fragments (d, t, $^3$He, $\alpha$).  These
+constitute the low energy and most abundant part of the emitted 
+particles in the rest system of the residual nucleus. The emission of 
+particles by an excited compound nucleus has been successfully described 
+by comparing the nucleus with the evaporation of molecules from a fluid
+\cite{evap.Frenkel36}. The first statistical theory of compound nuclear
+decay is due to Weisskopf and Ewing\cite{evap.Weisskopf40}.
+
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/ModelDescription.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/ModelDescription.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/ModelDescription.tex	(revision 1208)
@@ -0,0 +1,283 @@
+\section{Model description.}
+
+\hspace{1.0em} The Weisskopf treatment is an application of the
+detailed balance principle that relates the probabilities to go from
+a state $i$ to another $d$ and viceversa through the density of states
+in the two systems:
+%%
+\begin{equation}
+  \label{evap:1}
+  P_{i \rightarrow d} \rho(i) = P_{d \rightarrow i} \rho(d)
+\end{equation}
+%%
+where $P_{d \rightarrow i}$ is the probability per unit of time of a
+nucleus $d$ captures a particle $j$ and form a compound nucleus $i$
+which is proportional to the compound nucleus cross section
+$\sigma_{\mathrm{inv}}$. Thus, the probability that a parent nucleus
+$i$ with an excitation energy $E^*$ emits a particle $j$ in its ground
+state with kinetic energy $\varepsilon$ is 
+%%
+\begin{equation}
+  \label{evap:2}
+  P_j(\varepsilon) \mathrm{d}\varepsilon = g_j
+  \sigma_{\mathrm{inv}}(\varepsilon) \frac{\rho_d(E_{\mathrm{max}} -
+  \varepsilon)}{\rho_i(E^*)} \varepsilon \mathrm{d}\varepsilon
+\end{equation}
+%%
+where $\rho_i(E^*)$ is the level density of the evaporating nucleus,
+$\rho_d(E_{\mathrm{max}} - \varepsilon)$ that of the daugther
+(residual) nucleus after emission of a fragment $j$ and
+$E_{\mathrm{max}}$ is the maximum energy that can be carried by the
+ejectile. With the spin $s_j$ and the mass $m_j$ of the emitted
+particle, $g_j$ is expressed as $g_j = ( 2 s_j + 1 ) m_j / \pi^2
+\hbar^2$.
+
+This formula must be implemented with a suitable form for the level
+density and inverse reaction cross section. We have followed, like
+many other implementations, the original work of Dostrovsky \textit{et al.}
+ \cite{evap.Dostrovsky59} (which represents the first Monte Carlo
+code for the evaporation process) with slight modifications. The
+advantage of the Dostrovsky model is that it leds to a simple
+expression for equation \ref{evap:2} that can be analytically
+integrated and used for Monte Carlo sampling.
+
+
+\subsection{Cross sections for inverse reactions.}
+
+\hspace{1.0em} The cross section for inverse reaction is expressed by
+means of empirical equation \cite{evap.Dostrovsky59}
+%%
+\begin{equation}
+  \label{evap:3}
+  \sigma_{\mathrm{inv}}(\varepsilon) = \sigma_g \alpha \left( 1 + 
+  \frac{\beta}{\varepsilon} \right)  
+\end{equation}
+%%
+where $\sigma_g = \pi R^2$ is the geometric cross section. 
+
+In the case of neutrons, $\alpha = 0.76+2.2A^{-\frac{1}{3}}$ and
+$\beta = (2.12 A^{-\frac{2}{3}} - 0.050)/\alpha$ MeV. This equation
+gives a good agreement to those calculated from continuum theory
+\cite{evap.Blatt52} for intermediate nuclei down to $\varepsilon \sim 0.05$
+MeV. For lower energies $\sigma_{\mathrm{inv},n}(\varepsilon)$ tends
+toward infinity, but this causes no difficulty because only the
+product $\sigma_{\mathrm{inv},n}(\varepsilon)\varepsilon$ enters in
+equation \ref{evap:2}. It should be noted, that the inverse cross
+section needed in  \ref{evap:2} is that between a neutron of kinetic
+energy $\varepsilon$ and a nucleus in an excited state. 
+
+For charged particles (p, d, t, $^3$He and $\alpha$), $\alpha =
+(1+c_j)$ and $\beta = -V_j$, where $c_j$ is a set of parameters
+calculated by Shapiro \cite{evap.Shapiro53} in order to provide a good fit
+to the continuum theory \cite{evap.Blatt52} cross sections and $V_j$ is the
+Coulomb barrier.
+
+\subsection{Coulomb barriers.}
+
+\hspace{1.0em} Coulomb repulsion, as calculated from elementary
+electrostatics are not directly applicable to the computation of
+reaction barriers but must be corrected in several ways. The first
+correction is for the quantum mechanical phenomenoon of barrier
+penetration. The proper quantum mechanical expressions for barrier
+penetration are far too complex to be used if one wishes to retain
+equation \ref{evap:2} in an integrable form. This can be approximately
+taken into account by multiplying the electrostatic Coulomb barrier by
+a coefficient $k_j$ designed to reproduce the barrier penetration
+approximately whose values are tabulated \cite{evap.Shapiro53}.
+%%
+\begin{equation}
+  \label{evap:4}
+  V_j = k_j \frac{Z_j Z_d e^2}{R_c}
+\end{equation}
+%%
+The second correction is for the separation of the centers of the
+nuclei at contact, $R_c$. We have computed this separation as $R_c =
+R_j + R_d$ where $R_{j,d} = r_c A_{j,d}^{1/3}$ and $r_c$ is
+given \cite{evap.Iljinov94} by
+%%
+\begin{equation}
+  \label{evap:5}
+  r_c = 2.173 \frac{1 + 0.006103 Z_j Z_d}{1 + 0.009443 Z_j Z_d}
+\end{equation}
+%%
+ 
+
+\subsection{Level densities.}
+
+\hspace{1.0em} The simplest and most widely used level density based
+on the Fermi gas model  are those of Weisskopf \cite{evap.Weisskopf37} for
+a completely degenerate Fermi gas. We use this approach with the
+corrections for nucleon pairing proposed by Hurwitz and Bethe
+\cite{evap.Hurwitz51} which takes into account the displacements of the
+ground state:
+%%
+\begin{equation}
+  \label{evap:6}
+  \rho(E) = C \exp{\left( 2 \sqrt{a(E-\delta)} \right)}
+\end{equation}
+%%
+where $C$ is considered as constant and does not need to be specified
+since only ratios of level densities enter in equation \ref{evap:2}.
+$\delta$ is the pairing energy correction of the daughter nucleus
+evaluated by Cook \textit{et al.} \cite{evap.Cook67} and Gilbert and
+Cameron \cite{evap.Gilbert65} for those values not evaluated by Cook
+\textit{et al.}. The level density parameter is calculated according
+to:
+%%
+\begin{equation}
+  \label{evap:7}
+  a(E,A,Z) = \tilde{a}(A) \left \{ 1 + \frac{\delta}{E} [1 - \exp(-\gamma
+  E)] \right\}
+\end{equation}
+%%
+and the parameters calculated by Iljinov \textit{et al.}
+\cite{evap.Iljinov92} and shell corrections of Truran, Cameron and Hilf
+\cite{evap.Truran70}.
+
+\subsection{Maximum energy available for evaporation.}
+
+\hspace{1.0em} The maximum energy avilable for the evaporation process
+(\textit{i.e.} the maximum kinetic energy of the outgoing fragment) is
+usually computed like $E^* - \delta - Q_j$ where is the separation
+energy of the fragment $j$: $Q_j = M_i - M_d - M_j$ and $M_i$, $M_d$
+and $M_j$ are the nclear masses of the compound, residual and
+evporated nuclei respectively. However, that expression does not
+consider the recoil energy of the residual nucleus. In order to take
+into account the recoil energy we use the expression
+%%
+\begin{equation}
+  \label{evap:8}
+  \varepsilon_j^{\mathrm{max}} = \frac{(M_i + E^* - \delta)^2 + M_j^2
+  - M_d^2}{2 (M_i + E^* - \delta)} - M_j
+\end{equation}
+
+\subsection{Total decay width.}
+
+\hspace{1.0em} The total decay width for evaporation of a fragment $j$
+can be obtained by integrating equation \ref{evap:2} over kinetic
+energy
+%%
+\begin{equation}
+  \label{evap:9}
+  \Gamma_j = \hbar \int_{V_j}^{\varepsilon_j^{\mathrm{max}}}
+  P(\varepsilon_j) \mathrm{d}\varepsilon_j
+\end{equation}
+%%
+This integration can be performed analiticaly if we use equation
+\ref{evap:6} for level densities and equation \ref{evap:3} for inverse
+reaction cross section. Thus, the total width is given by
+%%
+\begin{eqnarray}
+\label{eq:10}
+  \Gamma_j  = \frac{g_j m_j R_d^2}{2 \pi \hbar^2} \frac{\alpha}{a_d^2}
+    & \times &
+    \Biggl \lgroup \biggl \{ \left(\beta a_d - \frac{3}{2}\right) + a_d
+    (\varepsilon_j^{\mathrm{max}} - V_j) \biggr \}
+    \exp{\left\{-\sqrt{a_i(E^*-\delta_i)}\right\}} + \nonumber \\
+    & & \biggl \{ (2\beta a_d - 3) \sqrt{a_d
+       (\varepsilon_j^{\mathrm{max}} - V_j)} + 2 a_d
+    (\varepsilon_j^{\mathrm{max}} - V_j) \biggr \} \times \nonumber \\
+    & & \exp{
+       \left\{
+       2 \left[
+         \sqrt{a_d(\varepsilon_j^{\mathrm{max}} - V_j)}
+         -  
+         \sqrt{a_i(E^* - \delta_i)}
+       \right]
+       \right\}
+       }
+     \Biggr \rgroup
+\end{eqnarray}
+%%
+where $a_d = a(A_d,Z_d,\varepsilon_j^{\mathrm{max}})$ and $a_i =
+a(A_i,Z_i,E^*)$.
+
+\section{GEM Model}
+
+\hspace{1.0em} As an alternative model we have implemented the
+generalized evaporation model (GEM) by Furihata
+\cite{evap.Furihata00}. This model considers emission of fragments heavier
+than $\alpha$ particles and uses a more accurate level density
+function for total decay width instead of the approximation used by
+Dostrovsky. We use the same set of parameters but for heavy ejectiles
+the parameters determined by Matsuse \textit{et al.} \cite{evap.Matsuse82}
+are used.
+
+Based on the Fermi gas model, the level density function is expressed
+as
+%%
+\begin{equation}
+\label{evap:11}
+  \rho(E) =
+    \left\{ \begin{array}{ll}
+      \frac{\sqrt{\pi}}{12} 
+      \frac{e^{2\sqrt{a(E-\delta)}}}{a^{1/4}(E-\delta)^{5/4}} &  
+      \rm{for} \quad E \geq E_x \\
+      \frac{1}{T} e^{(E-E_0)/T} & \rm{for} \quad E < E_x
+    \end{array} \right.
+\end{equation}
+%%
+where $E_x = U_x + \delta$ and $U_x = 150/M_d + 2.5$ ($M_d$ is the
+mass of the daughter nucleus). Nuclear temperature $T$ is given as
+$1/T = \sqrt{a/U_x} - 1.5U_x$, and $E_0$ is defined as $E_0 = E_x -
+T(\log{T} - \log{a}/4 - (5/4)\log{U_x} + 2 \sqrt{aU_x})$.
+
+By substituting equation \ref{evap:11} into equation \ref{evap:2} and
+integrating over kinetic energy can be obtained the following
+expression
+%%
+\begin{equation}
+\label{evap:12}
+  \Gamma_j = \frac{ \sqrt{\pi} g_j \pi R_d^2 \alpha}{12 \rho(E^*)} \times
+  \left\{ \begin{array}{ll}
+    \{I_1(t,t) + (\beta+V)I_0(t)\} &
+    \rm{for} \quad \varepsilon_j^{\mathrm{max}} - V_j < E_x \\
+    \{I_1(t,t_x)+I_3(s,s_x)e^s+ & \\
+    (\beta+V)(I_0(t_x)+I_2(s,s_x)e^s)\} &
+    \rm{for} \quad \varepsilon_j^{\mathrm{max}} - V_j \geq E_x .
+  \end{array} \right.
+\end{equation}
+%%
+$I_0(t)$, $I_1(t,t_x)$, $I_2(s,s_x)$, and $I_3(s,s_x)$ are expressed
+as:
+\begin{eqnarray}
+  I_0(t)     & = & e^{-E_0/T} (e^t -1) \\
+  I_1(t,t_x) & = & e^{-E_0/T} T \{(t - t_x + 1)e^{t_x} - t -1 \} \\ 
+  I_2(s,s_x) & = & 2\sqrt{2} \biggl \{ s^{-3/2} + 1.5  s^{-5/2} + 3.75
+  s^{-7/2} - \nonumber \\ 
+             &   & (s_x^{-3/2} + 1.5 s_x^{-5/2} + 3.75 s_x^{-7/2}) \biggr \} \\
+  I_3(s,s_x) & = & \frac{1}{2\sqrt{2}} \Biggl [ 2 s^{-1/2} + 4
+                  s^{-3/2} + 13.5  s^{-5/2} + 60.0  s^{-7/2} + \nonumber \\ 
+             &   & 325.125 s^{-9/2} - 
+  \biggl \{ 
+  (s^2 - s_x^2) s_x^{-3/2} + 
+  (1.5s^2 + 0.5s_x^2) s_x^{-5/2} + \nonumber \\
+  & & 
+  (3.75s^2 + 0.25s_x^2) s_x^{-7/2} + 
+  (12.875s^2 + 0.625s_x^2) s_x^{-9/2} + \nonumber \\ 
+  & & 
+  (59.0625s^2 + 0.9375s_x^2) s_x^{-11/2} + \nonumber \\
+  & &
+  (324.8s^2 + 3.28s_x^2) s_x^{-13/2} +
+  \biggr \}
+\Biggr ]
+\end{eqnarray}
+%%
+where $t = (\varepsilon_j^{\mathrm{max}}-V_j)/T$, $t_x = E_x/T$, $s = 2
+\sqrt{a(\varepsilon_j^{\mathrm{max}}-V_j -\delta_j)}$ and $s_x = 2
+\sqrt{a(E_x - \delta)}$.
+
+Besides light fragments, 60 nuclides up to $^{28}$Mg are considered,
+not only in their ground states but also in their exited states, are
+considered. The excited state is assumed to survive if its lifetime
+$T_{1/2}$ is longer than the decay time, \textit{i. e.},
+$T_{1/2}/\ln{2} > \hbar/\Gamma_j^*$, where $\Gamma_j^*$ is the
+emission width of the resonance calculated in the same manner as for
+ground state particle emission. The total emission width of an
+ejectile $j$ is summed over its ground state and all its excited
+states which satisfy the above condition.
+
+%%% Local Variables: 
+%%% mode: latex
+%%% TeX-master: "EvaporationModel"
+%%% End: 
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/ReactionInitialStateEM.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/ReactionInitialStateEM.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/ReactionInitialStateEM.tex	(revision 1208)
@@ -0,0 +1,15 @@
+\section{Reaction initial state.}
+
+\hspace{1.0em} The GEANT4 evaporation model is capable to predict 
+final states as result of an excited nucleus with atomic number $A > 16$ 
+break-up by the evaporation. 
+ 
+The initial information for calculation of evaporation
+stage consists from the atomic mass number $A$, charge $Z$ of residual
+(e. g. after kinetic stage) nucleus, its four momentum $P_0$
+ and  excitation energy $E^{*}$.  
+
+The evaporation
+of $\gamma$'s,neutrons, protons, deutrons, thritiums, alphas, as well as 
+the fission of heavy residual nuclei with $A > 65$ 
+ are taken into account. 
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/SimulationFragmentEvaporation.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/SimulationFragmentEvaporation.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/SimulationFragmentEvaporation.tex	(revision 1208)
@@ -0,0 +1,184 @@
+\section{Simulation of fragment evaporation.}
+
+\hspace{1.0em} The evaporation of
+ neutron, proton, deutron, thritium and alpha fragments 
+ are taken into account. 
+
+\subsection{Evaporation threshold.} 
+
+\hspace{1.0em}One should take into account the energy condition
+for fragment emission, i. e. the nucleus 
+excitation energy should be higher than
+the reaction threshold:
+\begin{equation}
+\label{SFE1}T_b^{\max }=E^{*}-Q_b-V_b > 0. 
+\end{equation}
+Here $T_b^{\max }$ is the maximal kinetic energy carried by emitted
+fragment $b$, $Q_b = M(A,Z)-M(A_f,Z_f)-M_b$ is the fragment $b$ binding
+energy. $V_b$ is the Coulomb
+potential energy, i. e. the Coulomb barrier for fragment $b$.
+ $M(A,Z)$ is the mass of the initial nucleus, $M(A_f,Z_f)$ is
+the mass of the nucleus after emission of fragment $b$ and $M_b$ is the
+fragment $b$ mass. It should be noted that expression ($\ref{SFE1}$) is 
+only valid, when the recoil kinetic energy equals zero. In our code we 
+apply the condition:
+\begin{equation}
+\label{SFE2}T_b^{\max }=E_b^{\max}-M_b-V_b > 0, 
+\end{equation}  
+where
+\begin{equation}
+\label{SFE3}E_b^{\max }=\frac{(M(A,Z)+E^{*})^2+M^2_b-M^2(A_f,Z_f)}
+{2(M(A,Z)+E^{*})}. 
+\end{equation}
+
+\subsection{Coulomb barrier calculation.} 
+
+\hspace{1.0em}The  Coulomb barrier:
+\begin{equation}
+  V_b = C_b\frac{Z_bZ_f}{R_f+R_b},
+\end{equation}
+where $C_b = 1.44$ \ MeVfm, $Z_b$ and $R_b$ are charge and
+ radius of nucleus after fragment
+emission, $Z_f$ and $R_f$ are charge and radius of fragment. 
+The radii of nuclei are
+approximated by $R = r_{C}A^{1/3}$,
+ where \cite{IKP94}
+\begin{equation}
+\label{SFE8}r_{C} = 2.173\frac{1+0.006103Z_bZ_f}{1+0.009443Z_bZ_f} \ fm. 
+\end{equation}
+
+\subsection{The fragment evaporation probability.} 
+
+\hspace{1.0em}Evaporation process has been  predicted by the statistical
+Weisskopf-Ewing model \cite{WE40.evap}.  Probability to evaporate particle
+$b$ in the energy interval $(T_b, T_b+dT_b)$ per unit of time is given
+\begin{equation}
+\label{SFE9}W_{b}(T_b) = \sigma_{b}(T_b)\frac{(2s_b+1)m_b}{\pi^2 h^3}
+\frac{\rho(E^{*} - Q_b-T_b)}{\rho(E^{*})}T_b,
+\end{equation}
+where $\sigma_{b}(T_b)$ is the inverse (absorption of particle $b$)
+reaction cross section, $s_b$ and $m_b$ are particle spin and mass,
+  $\rho$ is level densities of  nucleus.  
+
+\subsection{The inverse reaction cross section.}
+
+\hspace{1.0em}To calculate inverse   reaction cross section it is
+assumed to have the form \cite{Dostr59}
+\begin{equation}
+\label{SFE11} 
+\sigma _b(T_b ) = (1+C_b)(1-k_bV_b/T_b )\pi R^2 
+\end{equation}
+for charged charged fragments with $A_f \leq 4$ interaction, where the
+$k_b$ is the barrier penetration coefficient ( its tabulated values are
+used), and
+\begin{equation}
+\label{SFE12} 
+\sigma _b(T_b ) = \alpha (1 + \beta /T_b )\pi R^2 
+\end{equation}
+for neutrons. Here $R = r_{0} A^{1/3}$ denotes the absorption radius, where 
+$r_0 = 1.5$ \ fm, 
+$\alpha =0.76 + 2.2 A^{-1/3}$ and $\beta=(2.12 A^{-2/3} - 0.05)/(0.76 +
+2.2 A^{-1/3})$.
+
+\subsection{The level density.}
+
+\hspace{1.0em}The level 
+density is approximated by Fermi-gas approach \cite{IKP94} for the nuclear 
+level density: 
+\begin{equation}
+\label{SFE13} \rho(E^{*}) = C\exp{(2\sqrt{aE^{*}})},
+\end{equation}
+where $C$ is a constant, which does not depend from nucleus properties
+and excitation energy $E^{*}$ and $a$ is the level density parameter.
+
+\subsection{The total evaporation probability.} 
+
+\hspace{1.0em}The total probability $W_b$ or total partial width
+$\Gamma_b=\hbar W_b$ to evaporate particle $b$ can be obtained from 
+Eq. ($\ref{SFE9}$) by integration over $T_b$:
+\begin{equation}
+\label{SFE17} 
+W_{b}=\int_{V_b}^{E^{*}-Q_b} W_b(T_b)dT_b.
+\end{equation}
+Here the summation is carried out over all excited states of the
+fragment.
+ 
+Integration in Eq. ($\ref{SFE17}$) for probability to emit fragment $b$
+can be performed analiticaly, if we will use Eq. ($\ref{SFE11}$) for level
+density and the Eqs. ($\ref{SFE11}$)-($\ref{SFE12}$) for inverse cross
+section.
+The probability
+to emit a charged particle:
+\begin{equation}
+\label{SFE18} 
+\begin{array}{c}
+W_{b}=\gamma _bA_b^{2/3}B\exp [-2 
+\sqrt{aE^{*}}]\frac{(1+C_b)}{a_b^2}\{a_bT_b^{\max }[2\exp (2\sqrt{%
+a_bT_b^{\max }})+1]- \\
+- 3\sqrt{a_bT_b^{\max }}\exp (2\sqrt{a_bT_b^{\max }}%
+)-3[1-\exp (2\sqrt{a_bT_b^{\max }})]/2\}, 
+\end{array}
+\end{equation}
+where $T_b^{max}$ is defined by the equation ($\ref{SFE1}$).
+The following notations were introduced: $A_b=A-\Delta A_b$, $%
+B=m_Nr_0^2/(2\pi h^2)$, $\gamma _b=(2s_b+1)m_b/m_N$. $\Delta A_b$ is the
+number of nucleons in $b$ particle. $m_b$, $m_N$ and $s_b$ are mass of
+particle $b$, mass of nucleon and spin of particle $b$ respectively. 
+  The $a_b$ is level density parameter for
+nucleus after emission of fragment $b$.
+Similarly for the neutron evaporation probability we obtain the
+following equation:
+\begin{equation}
+\begin{array}{c}
+\label{SFE19}W_{n}
+=\gamma _nA_n^{2/3}B\frac \alpha {2a_n^2} \\
+\exp [-2\sqrt{aE^{*}}+2\sqrt{a_nT_n^{\max }}]
+[4a_nT_n^{\max }+(2a_n\beta -3)(2\exp (2\sqrt{a_nT_n^{\max }}-1)].
+\end{array} 
+\end{equation}
+Using probabilities Eq. ($\ref{SFE18}$) and Eq. ($\ref{SFE19}$) we are 
+able to
+choose randomly the type of emitted fragment.
+
+\subsection{Kinetic energy of emitted fragment.}
+
+\hspace{1.0em}The equation ($\ref{SFE9}$) can be used to sample kinetic
+energies of evaporated fragments. 
+ For example, keeping terms in Eq. ($\ref{SFE9}$),
+which depend from $T_b$ and using the approximations for inverse cross
+section is given by Eq. ($\ref{SFE11}$) and for level densities are given
+by Eq. ($\ref{SFE13}$), we obtain for charged fragments
+\begin{equation}
+\label{SFE20}W(x)=C_1 x\exp (2\sqrt{a(T_b^{\max }-x)}= C_2 
+T_b\exp (2\sqrt{aE^{*}}), 
+\end{equation}
+where $C_1$ and $C_2$ do not depend from $T_b$, $x=T_b-V_b$. To generate
+values of $x$ we can use the next procedure, changing the expression for
+$W(x)$ to have $W(x^{\max })=1$ ($x^{\max }=[(a_b+T_b^{\max
+}+1/4)^{1/2}-1/2]/a_b$). Choose two random numbers $\xi _1$ and $\xi _2$
+(distributed with equal probabilities between 0 and 1) and find kinetic
+energy of particle $b$ as $T_b=T_b^{\max }\xi _1+V_b$ at condition $\xi
+_2\leq W(\xi _1T_b^{\max })$. If this condition is not fulfilled we
+should choose another pair of random numbers.
+
+
+\subsection{Angular distribution of evaporated fragments.}
+
+\hspace{1.0em}We consider the angular distribution for emitted 
+fragments as
+isotropical since we have no information about spin and polarization of 
+nuclei.
+
+
+\subsection{Parameters of residual nucleus.}
+
+\hspace{1.0em}After fragment emission we  update parameter
+of decaying nucleus:
+\begin{equation}
+\label{SFE21} 
+\begin{array}{c}
+A_f=A-A_b; Z_f=Z-Z_b; P_f = P_0 - p_b; \\ 
+E_f^{*}=\sqrt{E_f^2-\vec{P}^2_f} - M(A_f,Z_f). 
+\end{array}
+\end{equation}
+Here $p_b$ is the evaporated fragment four momentum.
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/SimulationPhotonEvaporation.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/SimulationPhotonEvaporation.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Evaporation/SimulationPhotonEvaporation.tex	(revision 1208)
@@ -0,0 +1,131 @@
+
+\section{The Total Probability for Photon Evaporation}
+\hspace{1.0em}As the first approximation we 
+ assume that 
+ dipole $E1$--transitions is the main source of $\gamma$--quanta from 
+highly--excited nuclei \cite{evap.Iljinov92}.
+The probability to evaporate $\gamma$
+ in the energy interval $(\epsilon_{\gamma}, \epsilon_{\gamma}+d\epsilon_{\gamma})$ 
+ per unit of time is given
+\begin{equation}
+\label{SPE7}W_{\gamma}(\epsilon_{\gamma}) =
+ \frac{1}{\pi^2 (\hbar c)^3}\sigma_{\gamma}(\epsilon_{\gamma})
+\frac{\rho(E^{*}-\epsilon_{\gamma})}
+{\rho(E^{*})}\epsilon^2_{\gamma},
+\end{equation}
+where  $\sigma_{\gamma}(\epsilon_{\gamma})$ is the inverse (absorption of  $\gamma$)
+reaction cross section, 
+$\rho$ is a nucleus level density is defined by Eq. ($\ref{evap:6}$).
+  
+ 
+The photoabsorption reaction cross section is given by the expression
+\begin{equation}
+\label{SPE8} 
+\sigma _{\gamma}(\epsilon_{\gamma}) = 
+\frac{\sigma_0 \epsilon^2_{\gamma} \Gamma^2_{R}}
+{(\epsilon^2_{\gamma} - E_{GDP}^2)^2 + \Gamma^2_R\epsilon^2_{\gamma}},
+\end{equation}
+where $\sigma_0=2.5A$ mb, $\Gamma_R=0.3E_{GDP}$ and $E_{GDP}= 40.3 A^{-1/5}$ MeV are 
+empirical parameters of the giant dipole resonance \cite{evap.Iljinov92}.
+The total radiation probability is
+\begin{equation}
+\label{SPE9}W_{\gamma} =\frac{3}{\pi^2 (\hbar c)^3}\int_{0}^{E^{*}}
+ \sigma_{\gamma}(\epsilon_{\gamma})
+\frac{\rho(E^{*}-\epsilon_{\gamma})}
+{\rho(E^{*})}\epsilon^2_{\gamma}d\epsilon_{\gamma}.
+\end{equation}
+The integration is performed numericaly.
+
+\subsection{Energy of evaporated photon}
+\hspace{1.0em}The energy of $\gamma$-quantum is sampled 
+according to the Eq. $(\ref{SPE7})$
+distribution.
+
+\section{Discrete photon evaporation}
+
+\hspace{1.0em} The last step of evaporation cascade consists of evaporation of 
+photons with discrete energies. The competition between photons and 
+fragments as well as giant resonance photons is neglected at this step. 
+We consider the discrete E1, M1 and E2 photon transitions 
+from  tabulated isotopes. 
+There are large number of isotopes  \cite{evap.ENSDF} with the experimentally
+ measured exited level energies, spins, parities and relative transitions 
+ probabilities. This information is 
+ implemented in the code.
+\section{Internal conversion electron emission}
+
+\hspace{1.0em} An important conpetitive channel to photon emission is internal
+conversion. To take this into account, the photon evaporation data-base was
+entended to include internal conversion coeffficients.
+
+The above constitute the first six columns of data in the photon evaporation 
+files. The new version of the data base adds eleven new columns corresponding 
+to:
+
+\begin{enumerate}
+\setcounter{enumi}{6}
+\item ratio of internal conversion to gamma-ray emmission probability 
+\item - 17. internal conversion coefficients for shells K, L1, L2, L3, 
+M1, M2, M3, M4, M5 and N+ respectively. These coefficients are normalised 
+to 1.0
+\end{enumerate}
+
+The calculation of the Internal Conversion Coefficients (ICCs) is 
+done by a cubic spline interpolation of tabulalted data for the 
+corresponding transition energy. These ICC tables, which we shall 
+label Band \cite{spe.band}, R\"{o}sel \cite{spe.rosel} and Hager-Seltzer 
+\cite{spe.hagsel}, are widely used 
+and were provided in electronic format by staff at LBNL. The reliability
+of these tabulated data has been reviewed in Ref. \cite{spe.rys}.  From 
+tests carried out on these data we find that the ICCs calculated from all 
+three tables are comparable within a 10\% uncertainty, which is better than 
+what experimetal measurements are reported to be able to achive. 
+
+The range in atomic number covered by these tables is Band: $1 <= Z <= 80$; 
+R\"{o}sel: $30 <= Z <= 104$ and Hager-Seltzer: $3, 6, 10, 14 <= Z <= 103$. 
+For simplicity and taking into account the completeness of the tables, 
+we have used the Band table for $Z <= 80$ and R\"{o}sel for $81 <= Z <= 98$.
+
+The Band table provides a higher resolution of the ICC curves used in 
+the interpolation and covers ten multipolarities for all elements up 
+to $Z=80$, but it only includes ICCs for shells up to M5. In order to 
+calculate the ICC of the N+ shell, the ICCs of all available M shells 
+are added together and the total divided by 3. This is the scheme adopted 
+in the LBNL ICC calculation code when using the Band table. The R\"{o}sel 
+table includes ICCs for all shells in every atom and for $Z>80$ the N+ 
+shell ICC is calculated by adding together the ICCs of all shells above M5. 
+In this table only eight multipolarities have ICCs calculated for.
+
+
+\subsection{Multipolarity}
+The ENSDF data provides information on the multipolarity of the transition. 
+The ICCs included in the photon evaporation data base refer to the 
+multipolarity indicated in the ENSDF file for that transition. Only one 
+type of mixed mulltipolarity is considered (M1+E2) and whenever the mixing 
+ratio is provided in the ENSDF file, it is used to calculate the ICCs 
+corresponding to the mixed multipolarity according the the formula:
+
+\begin{tabbing}
+\= xxx \= xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \kill
+\>     \> - fraction in $M1 = 1/(1+\delta^{2})$ \\
+\>     \> - fraction in $E2 = \delta^{2}/(1+\delta^{2})$ \\
+\> \\
+\> where $\delta$ is the mixing ratio.\\
+\end{tabbing}
+
+\subsection{Binding energy}
+For the production of an internal conversion electron, the energy of the 
+transition must be at least the binding energy of the shell the electron 
+is being released from. The binding energy corresponding to the various 
+shells in all isotopes used in the ICC calculation has been taken from 
+the Geant4 file G4AtomicShells.hh.
+
+\subsection{Isotopes}
+The list of isotopes included in the photon evaporation data base has been 
+extended from $A<=240$ to $A<=250$. The highest atomic number included is 
+$Z=98$ (this ensures that Americium sources can now be simulated).
+
+%%% Local Variables: 
+%%% mode: latex
+%%% TeX-master: t
+%%% End: 
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/FermiBreakup/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/FermiBreakup/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/FermiBreakup/CVS/Entries	(revision 1208)
@@ -0,0 +1,4 @@
+/FermiBreakSim.tex/1.7/Fri Jul  5 09:49:08 2002//
+/FermiBreakUpModel.tex/1.5/Thu Nov 29 18:58:55 2001//
+/FermiBreakUpModelReferences.tex/1.5/Sat Dec 11 18:53:32 2004//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/FermiBreakup/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/FermiBreakup/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/FermiBreakup/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/FermiBreakup
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/FermiBreakup/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/FermiBreakup/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/FermiBreakup/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/FermiBreakup/FermiBreakSim.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/FermiBreakup/FermiBreakSim.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/FermiBreakup/FermiBreakSim.tex	(revision 1208)
@@ -0,0 +1,120 @@
+\section{Fermi break-up simulation for light nuclei.}
+\hspace{1.0em} The GEANT4 Fermi break-up model is capable to predict 
+final states as result of an excited nucleus with atomic number $A < 17$ 
+statistical break-up.
+
+For light nuclei  the values of excitation
+energy per nucleon are often comparable with nucleon binding
+energy. Thus a light excited nucleus breaks into two or more fragments
+with branching given by available phase space.  To describe a process of
+nuclear disassembling the so-called Fermi break-up model is used
+\cite{Fermi50}, \cite{Kretz61}, \cite{EG67}.  This statistical approach
+was first used by Fermi \cite{Fermi50} to describe the multiple
+production in high energy nucleon collision.
+
+
+
+\subsection{ Allowed channel.} 
+
+\hspace{1.0em}The channel will be allowed for decay, if the total
+kinetic energy $E_{kin}$ of all fragments of the given channel at the
+moment of break-up is positive. This energy can be calculated according
+to equation:
+\begin{equation}
+\label{FBS1}E_{kin} = U+M(A,Z)-E_{Coulomb} - \sum_{b=1}^{n}(m_b+\epsilon_{b}),
+\end{equation} 
+$m_{b}$ and $\epsilon_{b}$ are masses and excitation energies of fragments, 
+respectively, $E_{Coulomb}$ is the Coulomb barrier for a given channel. It 
+is approximated by
+\begin{equation}
+\label{FBS2}E_{Coulomb} = \frac{3}{5} \frac{e^2}{r_{0}}(1 + 
+\frac{V}{V_{0}})^{-1/3}
+(\frac{Z^2}{A^{1/3}}-\sum_{b=1}^{n}\frac{Z^2}{A_b^{1/3}}),
+\end{equation}
+where $V_0$ is the volume of the system corresponding to the normal
+nuclear matter density and $\kappa = \frac{V}{V_0}$ is a parameter (
+$\kappa = 1$ is used).
+
+\subsection{Break-up probability.} 
+
+\hspace{1.0em}The total  probability  for nucleus to
+break-up into $n$ componets  (nucleons, deutrons, tritons, alphas etc) 
+in the final state is given by
+\begin{equation}
+\label{FBS3}W(E,n) = (V/\Omega)^{n-1}\rho_{n}(E),
+\end{equation}
+where $\rho_{n}(E)$ is the density of a number of final states, $V$ is
+the volume of decaying system and $\Omega = (2\pi \hbar)^{3}$ is the
+normalization volume.  The density $\rho_{n}(E)$ can be defined as a
+product of three factors:
+\begin{equation}
+\label{FBS4}\rho_{n}(E)=M_{n}(E)S_nG_n.
+\end{equation}
+The first one is the phase space factor defined as
+\begin{equation}
+\label{FBS5}M_{n} = \int_{-\infty}^{+\infty}...\int_{-\infty}^{+\infty}
+\delta(\sum_{b=1}^{n} {\bf p_{b}}) \delta(E-\sum_{b=1}^{n}\sqrt{p^2+m^2_b})
+\prod_{b=1}^{n} d^3p_b,
+\end{equation}
+where ${\bf p_b}$ is fragment $b$ momentum. The second one is the spin
+factor
+\begin{equation}
+\label{FBS6} S_n = \prod_{b=1}^{n}(2s_b+1),
+\end{equation}
+which gives the number of states with different spin orientations.  The
+last one is the permutation factor
+\begin{equation}
+\label{FBS7}G_n = \prod_{j=1}^{k}\frac{1}{n_j !},
+\end{equation}
+which takes into account identity of components in final state. $n_j$ is
+a number of components of $j$- type particles and $k$ is defined by $n =
+\sum_{j=1}^{k}n_{j}$).
+
+In non-relativistic case (Eq. ($\ref{FBS10}$) the integration in
+Eq. ($\ref{FBS5}$) can be evaluated analiticaly (see e. g. \cite{BBB58}).
+The probability for a nucleus with energy $E$ disassembling into $n$
+fragments with masses $m_b$, where $b = 1,2,3,...,n$ equals
+\begin{equation}
+\label{FBS8} W(E_{kin},n) = 
+S_nG_n (\frac{V}{\Omega})^{n-1}(\frac{1}{\sum_{b=1}^{n}m_b}
+\prod_{b=1}^{n}
+m_{b})^{3/2}
+ \frac{(2\pi)^{3(n-1)/2}}{\Gamma(3(n-1)/2)}E_{kin}^{3n/2-5/2}, 
+\end{equation}
+where $\Gamma(x)$ is  the gamma function.
+
+\subsection{Fermi break-up model parameter.} 
+
+\hspace{1.0em}Thus the Fermi break-up model has only one free parameter
+$V$ is the volume of decaying system, which can be calculated as
+follows:
+\begin{equation}
+\label{FBS9} V = 4\pi R^3/3 = 4\pi r_{0}^3 A/3,
+\end{equation}
+where $r_{0} = 1.4 $ fm is used.
+
+\subsection{ Fragment characteristics.}
+
+We take into account the formation of fragments in their ground and
+low-lying excited states, which are stable for nucleon
+emission. However, several unstable fragments with large lifetimes:
+$^{5}He$, $^{5}Li$, $^{8}Be$, $^{9}B$ etc are also considered.  Fragment
+characteristics $A_b$, $Z_b$, $s_b$ and $\epsilon_b$ are taken from
+\cite{AS81}.
+
+
+\subsection{ MC procedure.} 
+
+\hspace{1.0em}The nucleus break-up is described by the Monte Carlo (MC)
+procedure. We randomly (according to probability Eq. ($\ref{FBS8}$) and
+condition Eq. ($\ref{FBS1}$)) select decay channel. Then for given
+channel we calculate kinematical quantities of each fragment according
+to $n$-body phase space distribution:
+\begin{equation}
+\label{FBS10}M_{n} = \int_{-\infty}^{+\infty}...\int_{-\infty}^{+\infty}
+\delta(\sum_{b=1}^{n} {\bf p_{b}}) \delta(\sum_{b=1}^{n}
+\frac{p^2_b}{2m_b}-E_{kin})
+\prod_{b=1}^{n} d^3p_b.
+\end{equation}
+The Kopylov's sampling procedure \cite{Kopylov70} is applied.  The angular
+distributions for emitted fragments are considered to be isotropical.
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/FermiBreakup/FermiBreakUpModel.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/FermiBreakup/FermiBreakUpModel.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/FermiBreakup/FermiBreakUpModel.tex	(revision 1208)
@@ -0,0 +1,6 @@
+\chapter{Fermi break-up model.}
+
+\input{hadronic/theory_driven/FermiBreakup/FermiBreakSim}
+
+\input{hadronic/theory_driven/FermiBreakup/FermiBreakUpModelReferences}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/FermiBreakup/FermiBreakUpModelReferences.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/FermiBreakup/FermiBreakUpModelReferences.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/FermiBreakup/FermiBreakUpModelReferences.tex	(revision 1208)
@@ -0,0 +1,55 @@
+
+\begin{latexonly}
+
+\begin{thebibliography}{599}
+
+\bibitem{Fermi50} Fermi E., Prog. Theor. Phys. {\bf 5} 1570 (1950).
+
+\bibitem{Kretz61} Kretschmar M. Annual Rev. Nucl. Sci. {\bf 11} 1 (1961).
+
+\bibitem{EG67} Epherre M., Gradsztajn E., J. Physique {\bf 18} 48 (1967).
+
+\bibitem{fermi.Cam57}  Cameron A. G. W. Canad. J. Phys., {\bf 35} 1021 (1957), 
+{\bf 36} 1040 (1958).
+
+\bibitem{BBB58} Barashenkov V. S., Barbashov B. M., Bubelev E. G. Nuovo 
+Cimento, {\bf 7} 117 (1958).
+
+\bibitem{AS81} Ajzenberg-Selone F., Nucl. Phys. 1 {\bf 360} (1981); 
+{\bf A375} (1982); {\bf 392} (1983); {\bf A413} (1984); {\bf A433} (1985).
+
+\bibitem{Kopylov70} Kopylov G. I., Principles of resonance kinematics, 
+Moscow, Nauka, 1970 (in Russian).
+
+\end{thebibliography}
+
+\end{latexonly}
+
+
+\begin{htmlonly}
+
+\section{Bibliography}
+
+\begin{enumerate}
+\item Fermi E., Prog. Theor. Phys. {\bf 5} 1570 (1950).
+
+\item Kretschmar M. Annual Rev. Nucl. Sci. {\bf 11} 1 (1961).
+
+\item Epherre M., Gradsztajn E., J. Physique {\bf 18} 48 (1967).
+
+\item Cameron A. G. W. Canad. J. Phys., {\bf 35} 1021 (1957), 
+{\bf 36} 1040 (1958).
+
+\item Barashenkov V. S., Barbashov B. M., Bubelev E. G. Nuovo 
+Cimento, {\bf 7} 117 (1958).
+
+\item Ajzenberg-Selone F., Nucl. Phys. 1 {\bf 360} (1981); 
+{\bf A375} (1982); {\bf 392} (1983); {\bf A413} (1984); {\bf A433} (1985).
+
+\item Kopylov G. I., Principles of resonance kinematics, 
+Moscow, Nauka, 1970 (in Russian).
+
+\end{enumerate}
+
+\end{htmlonly}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/CVS/Entries	(revision 1208)
@@ -0,0 +1,9 @@
+/FissionCrossSection.tex/1.3/Wed Dec 16 18:03:52 1998//
+/FissionModel.tex/1.6/Tue Aug 14 18:07:19 2007//
+/FissionModelAlgorithm.tex/1.3/Wed Dec 16 18:03:54 1998//
+/FissionModelReferences.tex/1.5/Tue Aug 14 18:09:45 2007//
+/FissionStatus.tex/1.1/Tue Aug 14 18:10:35 2007//
+/Introduction.tex/1.1/Tue Aug 14 18:08:17 2007//
+/LLNLFission.tex/1.1/Tue Aug 14 18:13:14 2007//
+/ParamFission.tex/1.1/Tue Aug 14 18:15:10 2007//
+D/eps////
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/FissionCrossSection.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/FissionCrossSection.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/FissionCrossSection.tex	(revision 1208)
@@ -0,0 +1,69 @@
+\section{Nuclear fission cross section.}
+
+\hspace{1.0em}The probability $P_{n}^{fis}$ that fission occurs at any
+step of evaporation chain with $n$ evaporated fragments can be defined
+as 
+\begin{equation}
+\label{FCS1}P_{n}^{fis} = 1-P_{n}, 
+\end{equation} 
+where $P_{n}$ is the probability of a transition from an excited state
+to the ground state for the nucleus only by evaporation of $n$
+fragments. The probability $P_{n}$ can be calculated using equation:
+\begin{equation}
+\label{FCS2}P_{n}=\prod_{i=1}^{n}[1-W_{fis}(E^{*}_i,A_i,Z_i)/W_{tot}(E^{*}_i,A_i,Z_i)],
+\end{equation}
+where $W_{fis}$ fission probability (per unit time) in the Bohr and
+Wheeler theory of fission \cite{BW39}. It is assumed to be proportional
+to the level density $\rho_{fis}(T)$ at the saddle point:
+\begin{equation}
+\label{FCS3}W_{fis}=\frac{1}{2\pi \hbar \rho_c(U_c)}
+\int_{0}^{U_f-B_{fis}}
+\rho_{fis}(U_f-B_{fis}-T)dT,
+\end{equation}
+where $U_f= E^{*} - \Delta_f$ and pairing energy
+\begin{equation}
+\label{FCS3a} \Delta_{f} = \kappa \frac{14}{\sqrt{A}} \ [MeV]
+\end{equation} 
+In Eq. ($\ref{FCS3}$)  $B_{fis}$ is the fission barrier height.
+  $W_{tot}$
+is total decay probability (per unit time) of a nucleus:
+\begin{equation}
+\label{FCS4} W_{tot}=W_{fis}+\sum_{b=1}^{6}W_{b}
+\end{equation}
+and $W_{b}$ is the probability to evaporate fragment of type $b$.  In
+the Weisskopf and Ewing theory of particle evaporation \cite{WE40}:
+\begin{equation}
+\label{FCS5}W_{b}(T_b) = \sigma_{b}(T_b)\frac{(2s_b+1)m_b}{\pi^2 \hbar^3}
+\frac{\rho_b(U_b - Q_b-T_b)}{\rho_c(U_c)}T_b,
+\end{equation}
+where $\sigma_{b}(T_b)$ is the inverse (absorption of particle $b$)
+reaction cross section, $s_b$ and $m_b$ are particle spin and mass,
+  $\rho_c$ and $\rho_b$ are level densities of compound nucleus  and
+nucleus after particle evaporation, respectively.
+The energies $U_b$ and $U_c$ are defined as $U_b = E^{*} - \Delta_b$ 
+and $U_c = E^{*} - \Delta_c$, where $\Delta_{b,c}$ are pairing energies 
+$\Delta_{Pair}$
+of the compound and residual nuclei, respectively.
+The pairing energy $\Delta_{Pair}$ is calculated according to
+\begin{equation}
+\label{FCS5a} \Delta_{Pair} = \kappa \frac{12}{\sqrt{A}} \ [MeV]
+\end{equation}
+with $\kappa = 0$, $1$, or $2$ for odd-odd, odd-even or even-even 
+nuclei, respectively.
+
+The Eq. ($\ref{FCS1}$) gives us a possibility to calculate numericaly
+ the so-called fissility of nucleus $P_{fis} =
+\sigma_{fis}/\sigma_{in}$ (see e.g. \cite{ICC80}), where $\sigma_{in}$
+is the inelastic nuclear reaction cross section and hence the fission
+cross section $\sigma_{fis}$. E.g.
+\begin{equation}
+\label{FCS2} \sigma_{fis}=\sigma_{in}P_{fis}=\sigma_{in}\frac{1}{N_{ch}}
+\sum_{n=1}^{N_{ch}}P^{fis}_{n},
+\end{equation}
+where $N_{ch}$ is the number of fragment evaporation chains, which is
+used for averaging.
+ 
+As one can see from Eq. ($\ref{FCS3}$) the fission barrier height
+$B_{fis}$ and the parameter of the level density of a nucleus $a_{fis}$
+at saddle point are the basic ingredients of model, which are necessary
+for the calculation of fission cross section.
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/FissionModel.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/FissionModel.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/FissionModel.tex	(revision 1208)
@@ -0,0 +1,12 @@
+\chapter{Fission}
+
+\input{hadronic/theory_driven/Fission/Introduction}
+
+\input{hadronic/theory_driven/Fission/ParamFission}
+
+\input{hadronic/theory_driven/Fission/LLNLFission}
+
+\input{hadronic/theory_driven/Fission/FissionStatus}
+
+\input{hadronic/theory_driven/Fission/FissionModelReferences}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/FissionModelAlgorithm.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/FissionModelAlgorithm.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/FissionModelAlgorithm.tex	(revision 1208)
@@ -0,0 +1,29 @@
+\section{MC procedure.}
+
+\hspace{1.0em}The Monte Carlo procedure of calculation of characteristics of
+fission fragments can be outlined as follows:
+\begin{itemize}
+\item Select fission mode (symmetric or asymmetric). 
+Sample atomic number $A_f$ of a fission 
+fragment according to experimentaly defined distribution, which consists 
+from the "symmetrical" and "asymmetrical" parts; 
+\item For choosen $A_f$ randomly in accordance with 
+Gaussian distribution and the experimentaly defined 
+dispersion and average
+ select the fragment charge $Z_f$;
+\item For 
+choosen $A_f, Z_f$ sample
+the kinetic energy of fragments 
+ according to the Gaussian 
+distribution 
+ with experimentaly defined average values 
+and dispersions;
+\item Applying energy conservation and using fragment ground state masses 
+calculate excitation energy of fragments and share it between fragments
+assuming that fragments have equal temperatures;
+\item Calculate absolute value of the c.m. 
+fragment momentum (non-relativistic kinematics 
+is used) and sample fragment flay off angles assuming isotropical 
+angular distribution of fragments;
+\item Perform evaporation for the excited fragments.
+\end{itemize}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/FissionModelReferences.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/FissionModelReferences.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/FissionModelReferences.tex	(revision 1208)
@@ -0,0 +1,247 @@
+
+\begin{latexonly}
+
+\begin{thebibliography}{599}
+
+\bibitem{VH73} Vandenbosch R., Huizenga J. R., Nuclear Fission, Academic 
+Press, New York, 1973.
+
+\bibitem{ABIM93} Adeev G. D. {\it et al.} Preprint INR 816/93, Moscow, 1993.
+
+\bibitem{VKW85} Viola V. E., Kwiatkowski K. and Walker M, Phys. Rev. 
+{\bf C31} 1550 (1985).
+
+\bibitem{Terrell 1957} J. Terrell, "Distributions of Fission Neutron
+Numbers", \textit{Phys. Rev.} \textbf{108}, 783 (1957).
+
+\bibitem{Cullen 2006} D.E. Cullen, "Sampling the Number of Neutrons
+Emitted per Fission," UCRL-TR-222526, Lawrence Livermore National
+Laboratory (2006).
+
+\bibitem{Zucker and Holden 1986} M.S. Zucker, N.E. Holden, "Energy
+Dependence of Neutron Multiplicity P$_{\nu}$ in Fast-Neutron-Induced
+Fission for $^{235,238}U$ and $^{239}Pu$," BNL-38491 (1986).
+
+\bibitem{Gwin 1984} R. Gwin, R.R. Spencer,
+R.W. Ingle, "Measurements of the Energy Dependence of Prompt Neutron
+Emission from $^{233}U$, $^{235}U$, $^{239}Pu$, and $^{241}Pu$ for
+$E_n=0.005$ to 10 eV Relative to Emission from Spontaneous Fission of
+$^{252}$Cf," \textit{Nucl. Sci. Eng.}, \textbf{87}, 381 (1984).
+
+\bibitem{Valentine 1996} T.E. Valentine, J.T. Mihalczo, "MCNP-DSP: A
+Neutron and Gamma Ray Monte Carlo Calculation of Source-Driven
+Noise-Measured Parameters ," \textit{Ann. of Nucl. Eng.}, \textbf{23},
+16, p. 1271 (1996).
+
+\bibitem{Valentine 2000} T.E. Valentine, "MCNP-DSP Users Manual,"
+ORNL/TM-13334, R2, Oak Ridge National Laboratory (2000).
+
+\bibitem{Frehaut 1988} J. Frehaut, "Neutron Multiplicity Distribution
+in Fast Neutron-Induced Fission," \textit{Proc. of IAEA Consultant's
+Meeting on Physics of Neutron Emission in Fission,}, Mito, Japan
+(1988).
+
+\bibitem{Spencer 1982} R.R. Spencer, R. Gwin, R.W. Ingle, "A
+measurement of the Average Number of Prompt Neutrons from Spontaneous
+Fission of Californium-252," \textit{Nucl. Sci. Eng.} \textbf{80}, 603
+(1982).
+
+\bibitem{Boldeman 1985} J.W. Boldeman, M.G. Hines, "Prompt
+Neutron Emission Probabilities Following Spontaneous and Thermal
+Neutron Fission," \textit{Nucl. Sci. Eng.}, \textbf{91}, 114 (1985).
+
+\bibitem{Holden and Zucker BNL} N.E. Holden,
+M.S. Zucker, "A Reevaluation of the Average Prompt Neutron Emission
+Multiplicity ($\bar{\nu}$) Values from Fission of Uranium and
+Transuranium Nuclides," BNL-NCS-35513, Brookhaven National
+Laboratory).
+
+\bibitem{Ensslin 1998} N. Ensslin, W.C. Harker, M.S. Krick,
+D.G. Langner, M.M. Pickrell, J.E. Stewart, "Application Guide to
+Neutron Multiplicity Counting," LA-13422-M, Los Alamos National
+Laboratory (1998).
+
+\bibitem{ENDL 1975} R.J. Howerton, et al, "The LLL
+Evaluated Nuclear Data Library (ENDL): Evaluation Techniques, Reaction
+Index, and Description of Individual Evaluations," UCRL-50400, V. 15,
+Part A, Lawrence Livermore National Laboratory (1975).
+
+\bibitem{TART 2003} D.E. Cullen, "TART 2002: A Couple
+Neutron-Photon 3-D, Combinatorial Geometry, Time Dependent Monte-Carlo
+Transport Code," UCRL-ID-126455, Rev. 4, Lawrence Livermore National
+Laboratory (2003).
+
+\bibitem{Cullen 2004} D.E. Cullen, "Sampling ENDL Watt Fission
+Spectra," UCRL-TR-203251, Lawrence Livermore National Laboratory
+(2004).
+
+\bibitem{Everett 1983} C.J. Everett, E.D. Cashwell, "A Third
+Monte Carlo Sampler," LA-9721-MS, Los Alamos National Laboratory
+(1983).
+
+\bibitem{Mannhart 1987} W. Mannhart, "Evaluation
+of the Cf-252 Fission Neutron Spectrum Between 0 MeV and 20 MeV,"
+\textit{Proc. Advisory Group Mtg. Neutron Sources}, Leningrad, USSR,
+1986 (IAEA-TECDOC-410), Vienna (1987).
+
+\bibitem{Madland 1984}
+D.G. Madland, J.R. Nix, "Prompt Fission Neutron Spectra and Average
+Prompt Neutron Multiplicities,"NEANDC Specialist's Meeting on Yields
+and Decay Data of Fission Products, Brookhaven National Laboratory,
+BNL 51778 (1984).
+
+\bibitem{Froehner 1990} F.H. Fr\"{o}hner,
+"Evaluation of $^{252}$Cf Prompt Fission Neutron Data from 0 to 20 MeV
+by Watt Spectrum Fit," \textit{Nucl. Sci. Eng.} \textbf{106}, 345
+(1990).
+
+\bibitem{Brunson 1982} G.S. Brunson, Jr., "Multiplicity and
+Correlated Energy of Gamma Rays Emitted in the Spontaneous Fission of
+Californium-252," Ph.D. Thesis, University of Utah (1982).
+
+\bibitem{Valentine 2001} T.E. Valentine, "Evaluation of Prompt Fission
+Gamma Rays for Use in Simulating Nuclear Safeguard Measurements,"
+\textit{Ann. Nucl. Eng.}, \textbf{28}, 191 (2001).
+
+\bibitem{Wagemans
+1991} C. Wagemans, "The Nuclear Fission Process," \textit{CRC Press,
+Inc.,} Boca Raton, Florida (1991).
+
+\bibitem{Maienschein 1958}
+F.C. Maienschein, R.W. Peelle, T.A. Love, \textit{Neutron
+Phys. Ann. Prog. Rep. for Sept. 1, 1958}, ORNL-2609, Oak Ridge
+National Laboratory (1958).
+
+\bibitem{Goldstein 1959} "Fundamental
+Aspects of Reactor Shielding," Addison-Wesley Publishing Company,
+Inc. Reading, Massachussetts (1959).
+
+\end{thebibliography}
+
+\end{latexonly}
+
+
+\begin{htmlonly}
+
+\section{Bibliography}
+
+\begin{enumerate}
+\item Vandenbosch R., Huizenga J. R., Nuclear Fission, Academic 
+Press, New York, 1973.
+
+\item Adeev G. D. {\it et al.} Preprint INR 816/93, Moscow, 1993.
+
+\item Viola V. E., Kwiatkowski K. and Walker M, Phys. Rev. 
+{\bf C31} 1550 (1985).
+
+\item{Terrell 1957} J. Terrell, "Distributions of Fission Neutron
+Numbers", \textit{Phys. Rev.} \textbf{108}, 783 (1957).
+
+\item{Cullen 2006} D.E. Cullen, "Sampling the Number of Neutrons
+Emitted per Fission," UCRL-TR-222526, Lawrence Livermore National
+Laboratory (2006).
+
+\item{Zucker and Holden 1986} M.S. Zucker, N.E. Holden, "Energy
+Dependence of Neutron Multiplicity P$_{\nu}$ in Fast-Neutron-Induced
+Fission for $^{235,238}U$ and $^{239}Pu$," BNL-38491 (1986).
+
+\item{Gwin 1984} R. Gwin, R.R. Spencer,
+R.W. Ingle, "Measurements of the Energy Dependence of Prompt Neutron
+Emission from $^{233}U$, $^{235}U$, $^{239}Pu$, and $^{241}Pu$ for
+$E_n=0.005$ to 10 eV Relative to Emission from Spontaneous Fission of
+$^{252}$Cf," \textit{Nucl. Sci. Eng.}, \textbf{87}, 381 (1984).
+
+\item{Valentine 1996} T.E. Valentine, J.T. Mihalczo, "MCNP-DSP: A
+Neutron and Gamma Ray Monte Carlo Calculation of Source-Driven
+Noise-Measured Parameters ," \textit{Ann. of Nucl. Eng.}, \textbf{23},
+16, p. 1271 (1996).
+
+\item{Valentine 2000} T.E. Valentine, "MCNP-DSP Users Manual,"
+ORNL/TM-13334, R2, Oak Ridge National Laboratory (2000).
+
+\item{Frehaut 1988} J. Frehaut, "Neutron Multiplicity Distribution
+in Fast Neutron-Induced Fission," \textit{Proc. of IAEA Consultant's
+Meeting on Physics of Neutron Emission in Fission,}, Mito, Japan
+(1988).
+
+
+\item{Spencer 1982} R.R. Spencer, R. Gwin, R.W. Ingle, "A
+measurement of the Average Number of Prompt Neutrons from Spontaneous
+Fission of Californium-252," \textit{Nucl. Sci. Eng.} \textbf{80}, 603
+(1982).
+
+\item{Boldeman 1985} J.W. Boldeman, M.G. Hines, "Prompt
+Neutron Emission Probabilities Following Spontaneous and Thermal
+Neutron Fission," \textit{Nucl. Sci. Eng.}, \textbf{91}, 114 (1985).
+
+\item{Holden and Zucker BNL} N.E. Holden,
+M.S. Zucker, "A Reevaluation of the Average Prompt Neutron Emission
+Multiplicity ($\bar{\nu}$) Values from Fission of Uranium and
+Transuranium Nuclides," BNL-NCS-35513, Brookhaven National
+Laboratory).
+
+\item{Ensslin 1998} N. Ensslin, W.C. Harker, M.S. Krick,
+D.G. Langner, M.M. Pickrell, J.E. Stewart, "Application Guide to
+Neutron Multiplicity Counting," LA-13422-M, Los Alamos National
+Laboratory (1998).
+
+\item{ENDL 1975} R.J. Howerton, et al, "The LLL
+Evaluated Nuclear Data Library (ENDL): Evaluation Techniques, Reaction
+Index, and Description of Individual Evaluations," UCRL-50400, V. 15,
+Part A, Lawrence Livermore National Laboratory (1975).
+
+\item{TART 2003} D.E. Cullen, "TART 2002: A Couple
+Neutron-Photon 3-D, Combinatorial Geometry, Time Dependent Monte-Carlo
+Transport Code," UCRL-ID-126455, Rev. 4, Lawrence Livermore National
+Laboratory (2003).
+
+\item{Cullen 2004} D.E. Cullen, "Sampling ENDL Watt Fission
+Spectra," UCRL-TR-203251, Lawrence Livermore National Laboratory
+(2004).
+
+\item{Everett 1983} C.J. Everett, E.D. Cashwell, "A Third
+Monte Carlo Sampler," LA-9721-MS, Los Alamos National Laboratory
+(1983).
+
+
+\item{Mannhart 1987} W. Mannhart, "Evaluation
+of the Cf-252 Fission Neutron Spectrum Between 0 MeV and 20 MeV,"
+\textit{Proc. Advisory Group Mtg. Neutron Sources}, Leningrad, USSR,
+1986 (IAEA-TECDOC-410), Vienna (1987).
+
+\item{Madland 1984}
+D.G. Madland, J.R. Nix, "Prompt Fission Neutron Spectra and Average
+Prompt Neutron Multiplicities,"NEANDC Specialist's Meeting on Yields
+and Decay Data of Fission Products, Brookhaven National Laboratory,
+BNL 51778 (1984).
+
+\item{Froehner 1990} F.H. Fr\"{o}hner,
+"Evaluation of $^{252}$Cf Prompt Fission Neutron Data from 0 to 20 MeV
+by Watt Spectrum Fit," \textit{Nucl. Sci. Eng.} \textbf{106}, 345
+(1990).
+
+\item{Brunson 1982} G.S. Brunson, Jr., "Multiplicity and
+Correlated Energy of Gamma Rays Emitted in the Spontaneous Fission of
+Californium-252," Ph.D. Thesis, University of Utah (1982).
+
+\item{Valentine 2001} T.E. Valentine, "Evaluation of Prompt Fission
+Gamma Rays for Use in Simulating Nuclear Safeguard Measurements,"
+\textit{Ann. Nucl. Eng.}, \textbf{28}, 191 (2001).
+
+\item{Wagemans
+1991} C. Wagemans, "The Nuclear Fission Process," \textit{CRC Press,
+Inc.,} Boca Raton, Florida (1991).
+
+\item{Maienschein 1958}
+F.C. Maienschein, R.W. Peelle, T.A. Love, \textit{Neutron
+Phys. Ann. Prog. Rep. for Sept. 1, 1958}, ORNL-2609, Oak Ridge
+National Laboratory (1958).
+
+\item{Goldstein 1959} "Fundamental
+Aspects of Reactor Shielding," Addison-Wesley Publishing Company,
+Inc. Reading, Massachussetts (1959).
+
+\end{enumerate}
+
+\end{htmlonly}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/FissionStatus.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/FissionStatus.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/FissionStatus.tex	(revision 1208)
@@ -0,0 +1,5 @@
+
+\section{Status of this document}
+
+13.08.07 Section 3 written by Jerome Verbeke and Doug Wright (LLNL) \\
+13.08.07 Section 1 added by Dennis Wright \\
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/Introduction.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/Introduction.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/Introduction.tex	(revision 1208)
@@ -0,0 +1,16 @@
+\section{Introduction}
+
+\hspace{1.0em} Geant4 currently offers both a parameterized fission model 
+and a data-driven fission model.  The parameterized model predicts the 
+final excited fragments which result from the symmetric or asymmetric 
+fission of an excited nucleus.  This model is considered as a competitor
+to the evaporation process for nuclei with atomic number $A \geq 65$.
+Here, the final state generation is discussed, while the calculation of 
+the relative probability of fission with respect to evaporation channels 
+is described in the chapter on evaporation.
+
+An alternative, data-driven model describes neutron-induced and spontaneous 
+fission and was developed at Lawrence Livermore National Laboratory.  It has
+improved multiplicity sampling and is based on a collection of empirical 
+models.  These models and the data upon which they are based are discussed.
+     
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/LLNLFission.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/LLNLFission.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/LLNLFission.tex	(revision 1208)
@@ -0,0 +1,622 @@
+
+\section{Fission with improved multiplicity sampling}
+
+As an alternative to the fission model described in the previous
+section there is a modified model that produces more accurate
+multiplicity distributions for the emitted neutrons and gamma rays
+from spontaneous and neutron-induced fission. This was motivated by
+detailed statistical studies of fission chains in multiplying
+media. This model is data-driven and incorporates all available
+multiplicity measurements found in the literature. Empirical models
+are employed whenever multiplicity data are not available.
+Essentially no data are available for the correlations between the
+neutrons and gammas, so this model samples these distributions
+independently. By default, this model effectively scales the
+multiplicity data to match the average multiplicity value
+($\bar{\nu}$) found in the GEANT4 evaluated data library. Therefore,
+only isotopes that have a measured $\bar{\nu}$ in the data library
+will emit fission gammas or neutrons. At present the gammas and
+neutrons are emitted isotropically. The data and empirical models are
+described in detail in the following subsections.
+
+%\section{Neutrons emitted by fission\label{neutrons}}
+
+\subsection{Neutron number distribution}
+
+Based on reasonable assumptions about the distribution of excitation
+energy among fission fragments, Terrell~\cite{Terrell 1957} showed
+that the probability P$_\nu$ of observing $\nu$ neutrons from fission
+can be approximated by a Gaussian-like distribution
+\begin{equation}
+\sum_{n=0}^{\nu}P_n = \frac{1}{2\pi}\int_{-\infty}^{\frac{\nu-\bar{\nu} 
+                    + \frac{1}{2}+b}{\sigma}}e^{-\frac{t^2}{2}dt}
+\end{equation}
+where $\bar{\nu}$ is the average number of neutrons, $\sigma$ (set to
+1.079) is the width of the distribution, and $b$ is a small correction
+factor ($b<0.01$) that ensures that the discrete probability
+distribution has the correct average $\bar{\nu}$. This model is used
+when no explicit multiplicity data are available.
+
+\subsubsection*{Neutron-induced fission data}
+
+Zucker and Holden~\cite{Zucker and Holden 1986} measured the neutron
+multiplicity distributions for $^{235}$U, $^{238}$U, and $^{239}$Pu
+(see Tables~\ref{Neutron number distribution for induced fission in 235U}
+-\ref{Neutron number distribution for induced fission in 239Pu (continued)}),
+as a function of the incident neutron energy $E_n$ from 
+zero through ten MeV in increments of one MeV.  Fig.~\ref{235U induced
+fission 6MeV} shows the neutron number distribution for induced
+fission of $^{235}$U. Gwin, Spencer and Ingle~\cite{Gwin 1984}
+measured the distribution at thermal energies for $^{235}$U. In
+addition, there are many measurements of $\bar{\nu}$, the average
+number of emitted neutrons, for many isotopes. Since there are multiple
+methods for parameterizing the multiplicity data and 
+renormalizing the overall distributions to agree with the specific measured
+values of $\bar{\nu}$, we provide four options for generating 
+neutron multiplicity distributions. 
+%% \notgeant{These options are selected by the internal variable {\tt nudist}, default=3.}
+
+\begin{table}[ht]
+\footnotesize
+\begin{center}
+\begin{tabular}{|c|ccccccc|} \hline
+$E_n$ & $\nu$=0 & 1 & 2 & 3 & 4 & 5 & 6 \\ \hline
+0 & .0317223 & .1717071 & .3361991 & .3039695 & .1269459 & .0266793 & .0026322 \\
+1 & .0237898 & .1555525 & .3216515 & .3150433 & .1444732 & .0356013 & .0034339 \\
+2 & .0183989 & .1384891 & .3062123 & .3217566 & .1628673 & .0455972 & .0055694 \\
+3 & .0141460 & .1194839 & .2883075 & .3266568 & .1836014 & .0569113 & .0089426 \\
+4 & .0115208 & .1032624 & .2716849 & .3283426 & .2021206 & .0674456 & .0128924 \\
+5 & .0078498 & .0802010 & .2456595 & .3308175 & .2291646 & .0836912 & .0187016 \\
+6 & .0046272 & .0563321 & .2132296 & .3290407 & .2599806 & .1045974 & .0265604 \\
+7 & .0024659 & .0360957 & .1788634 & .3210507 & .2892537 & .1282576 & .0360887 \\
+8 & .0012702 & .0216090 & .1472227 & .3083032 & .3123950 & .1522540 & .0462449 \\
+9 & .0007288 & .0134879 & .1231200 & .2949390 & .3258251 & .1731879 & .0551737 \\
+10& .0004373 & .0080115 & .1002329 & .2779283 & .3342611 & .1966100 & .0650090 \\ \hline
+\end{tabular}
+\end{center}
+\caption{Neutron number distribution for induced fission in $^{235}$U.}
+\label{Neutron number distribution for induced fission in 235U}
+\end{table}
+
+\begin{table}[ht]
+\footnotesize
+\begin{center}
+\begin{tabular}{|c|c|c|} \hline
+$E_n$ & $\nu$=7 & $\bar{\nu}$ \\ \hline
+0 & .0001449 & 2.4140000 \\
+1 & .0004546 & 2.5236700 \\
+2 & .0011093 & 2.6368200 \\
+3 & .0019504 & 2.7623400 \\
+4 & .0027307 & 2.8738400 \\
+5 & .0039148 & 3.0386999 \\
+6 & .0056322 & 3.2316099 \\
+7 & .0079244 & 3.4272800 \\
+8 & .0107009 & 3.6041900 \\
+9 & .0135376 & 3.7395900 \\
+10& .0175099 & 3.8749800 \\ \hline
+\end{tabular}
+\end{center}
+\caption{Neutron number distribution for induced fission in $^{235}$U (continued).}
+\label{Neutron number distribution for induced fission in 235U (continued)}
+\end{table}
+
+\begin{table}[ht]
+\footnotesize
+\begin{center}
+\begin{tabular}{|c|ccccccc|} \hline
+$E_n$ & $\nu$=0 & 1 & 2 & 3 & 4 & 5 & 6 \\ \hline
+0 & .0396484 & .2529541 & .2939544 & .2644470 & .1111758 & .0312261 & .0059347 \\
+1 & .0299076 & .2043215 & .2995886 & .2914889 & .1301480 & .0363119 & .0073638 \\
+2 & .0226651 & .1624020 & .2957263 & .3119098 & .1528786 & .0434233 & .0097473 \\
+3 & .0170253 & .1272992 & .2840540 & .3260192 & .1779579 & .0526575 & .0130997 \\
+4 & .0124932 & .0984797 & .2661875 & .3344938 & .2040116 & .0640468 & .0173837 \\
+5 & .0088167 & .0751744 & .2436570 & .3379711 & .2297901 & .0775971 & .0225619 \\
+6 & .0058736 & .0565985 & .2179252 & .3368863 & .2541575 & .0933127 & .0286200 \\
+7 & .0035997 & .0420460 & .1904095 & .3314575 & .2760413 & .1112075 & .0355683 \\
+8 & .0019495 & .0309087 & .1625055 & .3217392 & .2943792 & .1313074 & .0434347 \\
+9 & .0008767 & .0226587 & .1356058 & .3076919 & .3080816 & .1536446 & .0522549 \\
+10& .0003271 & .0168184 & .1111114 & .2892434 & .3160166 & .1782484 & .0620617 \\ \hline
+\end{tabular}
+\end{center}
+\caption{Neutron number distribution for induced fission in $^{238}$U.}
+\label{Neutron number distribution for induced fission in 238U}
+\end{table}
+
+\begin{table}[ht]
+\footnotesize
+\begin{center}
+\begin{tabular}{|c|cc|c|} \hline
+$E_n$ & $\nu$=7 & 8 & $\bar{\nu}$ \\ \hline
+0 & .0005436 & .0001158 & 2.2753781 \\
+1 & .0006947 & .0001751 & 2.4305631 \\
+2 & .0009318 & .0003159 & 2.5857481 \\
+3 & .0013467 & .0005405 & 2.7409331 \\
+4 & .0020308 & .0008730 & 2.8961181 \\
+5 & .0030689 & .0013626 & 3.0513031 \\
+6 & .0045431 & .0031316 & 3.2064881 \\
+7 & .0065387 & .0031316 & 3.3616731 \\
+8 & .0091474 & .0046284 & 3.5168581 \\
+9 & .0124682 & .0067176 & 3.6720432 \\
+10& .0166066 & .0095665 & 3.8272281 \\ \hline
+\end{tabular}
+\end{center}
+\caption{Neutron number distribution for induced fission in $^{238}$U (continued).}
+\label{Neutron number distribution for induced fission in 238U (continued)}
+\end{table}
+
+\begin{table}[ht]
+\footnotesize
+\begin{center}
+\begin{tabular}{|c|ccccccc|} \hline
+$E_n$ & $\nu$=0 & 1 & 2 & 3 & 4 & 5 & 6 \\ \hline
+0 & .0108826 & .0994916 & .2748898 & .3269196 & .2046061 & .0726834 & .0097282 \\
+1 & .0084842 & .0790030 & .2536175 & .3289870 & .2328111 & .0800161 & .0155581 \\
+2 & .0062555 & .0611921 & .2265608 & .3260637 & .2588354 & .0956070 & .0224705 \\
+3 & .0045860 & .0477879 & .1983002 & .3184667 & .2792811 & .1158950 & .0301128 \\
+4 & .0032908 & .0374390 & .1704196 & .3071862 & .2948565 & .1392594 & .0386738 \\
+5 & .0022750 & .0291416 & .1437645 & .2928006 & .3063902 & .1641647 & .0484343 \\
+6 & .0014893 & .0222369 & .1190439 & .2756297 & .3144908 & .1892897 & .0597353 \\
+7 & .0009061 & .0163528 & .0968110 & .2558524 & .3194566 & .2134888 & .0729739 \\
+8 & .0004647 & .0113283 & .0775201 & .2335926 & .3213289 & .2356614 & .0886183 \\
+9 & .0002800 & .0071460 & .0615577 & .2089810 & .3200121 & .2545846 & .1072344 \\
+10& .0002064 & .0038856 & .0492548 & .1822078 & .3154159 & .2687282 & .1295143 \\ \hline
+\end{tabular}
+\end{center}
+\caption{Neutron number distribution for induced fission in $^{239}$Pu.}
+\label{Neutron number distribution for induced fission in 239Pu}
+\end{table}
+
+\begin{table}[ht]
+\footnotesize
+\begin{center}
+\begin{tabular}{|c|cc|c|} \hline
+$E_n$ & $\nu$=7 & 8 & $\bar{\nu}$ \\ \hline
+0 & .0006301 & .0001685 & 2.8760000 \\
+1 & .0011760 & .0003469 & 3.0088800 \\
+2 & .0025946 & .0005205 & 3.1628300 \\
+3 & .0048471 & .0007233 & 3.3167800 \\
+4 & .0078701 & .0010046 & 3.4707300 \\
+5 & .0116151 & .0014149 & 3.6246800 \\
+6 & .0160828 & .0029917 & 3.7786300 \\
+7 & .0213339 & .0020017 & 3.9325800 \\
+8 & .0274895 & .0039531 & 4.0865300 \\
+9 & .0347255 & .0054786 & 4.2404900 \\
+10& .0432654 & .0075217 & 4.3944400 \\ \hline
+\end{tabular}
+\end{center}
+\caption{Neutron number distribution for induced fission in $^{239}$Pu (continued).}
+\label{Neutron number distribution for induced fission in 239Pu (continued)}
+\end{table}
+
+\begin{figure}[ht]
+\begin{center}
+\includegraphics[scale=0.4, angle=-90]{hadronic/theory_driven/Fission/eps/U235_6MeV_nudist.ps}
+\end{center}
+\caption{Induced fission in $^{235}$U, incident neutron energy = 6MeV}
+\label{235U induced fission 6MeV}
+\end{figure}
+
+The first option
+%% \notgeant{ ({\tt nudist=0})} 
+uses a fit to the Zucker
+and Holden data \cite{Zucker and Holden 1986} by
+Valentine~\cite{Valentine 1996}~\cite{Valentine 2000}. Valentine
+expressed the P$_{\nu}$'s (for $\nu=0$, ..., 8) as 5$^{th}$ order
+polynomials in $E_n$, the incident neutron energy. These functions 
+P$_{\nu}(E_n)$ are used to sample the neutron multiplicity for 
+$E_n$ in the range 0 to 10 MeV.  When $E_n$ is greater than 10 MeV, 
+$E_n$=10 MeV is used to generate P$_{\nu}$.
+
+In addition to using the Zucker and Holden data above for incident
+neutron energies $E_n$ above 1 MeV, the second
+option
+%% \notgeant{ ({\tt nudist=1})} 
+also uses the Gwin, Spencer and
+Ingle data~\cite{Gwin 1984} for $^{235}$U at thermal energies (0 MeV) 
+to generate P$_{\nu}(E_n)$ polynomials. As in the first option, when
+$E_n$ is greater than 10 MeV, $E_n$=10 MeV is used to generate
+P$_{\nu}$.
+
+The third option
+%% \notgeant{ ({\tt nudist=2})} 
+implements an alternative
+polynomial fit from Valentine ~\cite{Valentine 2000} of  P$_{\nu}$
+as a function of $\bar{\nu}$ instead of $E_n$, following the suggestion 
+of Frehaut~\cite{Frehaut 1988}.
+%
+%{\it"A unique
+%relationship P$_{\nu}(\bar{\nu})$ can sufficiently
+%well capture the multiplicity distributions of a number of major
+%isotopes. This distribution is expressed as a function of the average
+%number of neutrons emitted $\bar{\nu}$.}" 
+%
+When a neutron induces a fission, the algorithm converts the incident
+neutron energy $E_n$ into $\bar{\nu}$ using conversion tables
+(typically ENDF/EDNL), generates the P$_{\nu}$ distributions for that
+value of $\bar{\nu}$, and then samples the P$_{\nu}$ distributions to
+determine $\nu$. The least-square fits to the $^{235}$U data are used
+for both $^{235}$U and $^{233}$U neutron induced fission, the fits to
+$^{238}$U are used for $^{232}$U, $^{234}$U, $^{236}$U and $^{238}$U, while the
+fits to $^{239}$Pu are used for $^{239}$Pu and $^{241}$Pu. Data comes from
+Zucker and Holden. For $^{235}$U, data comes from Zucker and Holden 
+for $E_n$ greater than 1 MeV, and Gwin, Spencer and
+Ingle for 0 MeV. The fits are only used when $\bar{\nu}$ is in the 
+range of the $\bar{\nu}$'s for the tabulated data. Otherwise, 
+Terrell's approximation is used.
+
+The fourth option, which is the default
+%% \notgeant{ ({\tt nudist=3})}
+, is similar to the third option except that the P$_{\nu}$ distributions
+are not functions of $\bar{\nu}$, but are left intact as multiplicity
+distributions for the data listed in Gwin, Spencer and
+Ingle, and for the data listed in Zucker and
+Holden. The multiplicity distribution P$_{\nu}$ from which the number
+of neutrons will be sampled is selected based on the value of
+$\bar{\nu}$ for a given induced fission event.  For instance, if
+P$_{\nu}(1 MeV)$ has $\bar{\nu}=2.4$, P$_{\nu}(2 MeV)$ has
+$\bar{\nu}=2.6$, and $\bar{\nu}$ is 2.45 at the energy of the incident
+fission-inducing neutron (this value $\bar{\nu}$ comes typically from
+cross-section data libraries such and ENDF/ENDL), the probability of
+sampling the number of neutrons ${\nu}$ from P$_{\nu}(1 MeV)$ and
+P$_{\nu}(2 MeV)$ will be 25\% and 75\%, respectively. This technique
+is only used when $\bar{\nu}$ is in the range of the $\bar{\nu}$'s for
+the tabulated data. Otherwise, Terrell's approximation is used.  This
+last way of computing ${\nu}$ has several advantages: first, the data
+as listed in the original papers is used exactly, as opposed to
+approximated by low-ordered polynomials least-square fitting the
+original data. Second, the data from the Gwin, Spencer and
+Ingle paper, and the data from the Zucker and Holden paper is
+entered as-is as a table in the code, and can easily be checked and
+maintained if necessary by the application developer. Third the method
+provides a simple and statistically correct mechanism of sampling the
+data tables. 
+% \notgeant{The fission module behaves in this
+% manner when the 'nudist' option is set to 3, which is also the default
+% behavior.}
+
+\subsubsection*{Spontaneous fission data}
+
+For $^{252}$Cf, the fission module can be set to use either the
+measurements by Spencer~\cite{Spencer 1982}
+%% \notgeant{ ({\tt ndist=0})}
+, which is the default,
+or Boldeman~\cite{Boldeman 1985}
+%% \notgeant{ ({\tt ndist=1})}
+.
+
+For $^{238}$U, $^{238}$Pu, $^{240}$Pu, $^{242}$Pu, $^{242}$Cm,
+$^{244}$Cm, the probability distribution data comes from Holden and
+Zucker~\cite{Holden and Zucker BNL}. The measured data is summarized
+in Tables~\ref{Neutron number distribution for spontaneous fission}
+and \ref{Neutron number distribution for spontaneous fission (continued)}.
+
+\begin{table}[ht]
+\footnotesize
+\begin{center}
+\begin{tabular}{|c|ccccccc|} \hline
+isotope & $\nu$=0 & 1 & 2 & 3 & 4 & 5 & 6 \\ \hline
+$^{238}$U  & .0481677 & .2485215 & .4253044 & .2284094 & .0423438 & .0072533 & 0 \\
+$^{238}$Pu & .0540647 & .2053880 & .3802279 & .2248483 & .1078646 & .0276366 & 0 \\
+$^{242}$Pu & .0679423 & .2293159 & .3341228 & .2475507 & .0996922 & .0182398 & .0031364 \\
+$^{242}$Cm & .0212550 & .1467407 & .3267531 & .3268277 & .1375090 & .0373815 & .0025912 \\
+$^{244}$Cm & .0150050 & .1161725 & .2998427 & .3331614 & .1837748 & .0429780 & .0087914 \\
+$^{252}$Cf~\cite{Spencer 1982} & .00211 & .02467 & .12290 & .27144 & .30763 & .18770 & .06770 \\
+$^{252}$Cf~\cite{Boldeman 1985} & .00209 & .02621 & .12620 & .27520 & .30180 & .18460 & .06680 \\ \hline
+\end{tabular}
+\end{center}
+\caption{Neutron number distribution for spontaneous fission.}
+\label{Neutron number distribution for spontaneous fission}
+\end{table}
+
+\begin{table}[ht]
+\footnotesize
+\begin{center}
+\begin{tabular}{|c|ccc|} \hline
+isotope & $\nu$=7 & 8 & 9 \\ \hline
+$^{238}$U  &  0 & 0 & 0 \\
+$^{238}$Pu &  0 & 0 & 0 \\
+$^{242}$Pu &  0 & 0 & 0 \\
+$^{242}$Cm & .0007551 & .0001867 & 0 \\
+$^{244}$Cm & .0002744 & 0 & 0 \\
+$^{252}$Cf~\cite{Spencer 1982}  & .01406 & .00167 & .0001 \\
+$^{252}$Cf~\cite{Boldeman 1985} & .01500 & .00210 & 0 \\ \hline
+\end{tabular}
+\end{center}
+\caption{Neutron number distribution for spontaneous fission (continued).}
+\label{Neutron number distribution for spontaneous fission (continued)}
+\end{table}
+
+If no full multiplicity distribution data exists, the fission module
+uses Terrell~\cite{Terrell 1957}'s approximation with $\bar{\nu}$ from
+Ensslin~\cite{Ensslin 1998}.  Ensslin has $\bar{\nu}$ data for the
+isotopes in table~\ref{Nubar for spontaneous fission}.
+
+\begin{table}[ht]
+\footnotesize
+\begin{center}
+\begin{tabular}{|c|c|} \hline
+isotope & $\bar{\nu}$ \\ \hline
+$^{232}$Th & 2.14 \\
+$^{232}$U  & 1.71\\
+$^{233}$U  & 1.76\\
+$^{234}$U  & 1.81\\
+$^{235}$U  & 1.86\\
+$^{236}$U  & 1.91\\
+$^{238}$U  & 2.01\\
+$^{237}$Np & 2.05\\
+$^{238}$Pu & 2.21\\
+$^{239}$Pu & 2.16\\
+$^{240}$Pu & 2.156\\
+$^{241}$Pu & 2.25\\
+$^{242}$Pu & 2.145\\
+$^{241}$Am & 3.22\\
+$^{242}$Cm & 2.54\\
+$^{244}$Cm & 2.72\\
+$^{249}$Bk & 3.40\\
+$^{252}$Cf & 3.757\\ \hline
+\end{tabular}
+\end{center}
+\caption{Average number of neutrons per spontaneous fission.}
+\label{Nubar for spontaneous fission}
+\end{table}
+
+\subsection{Neutron energy distribution}
+
+All of the fission spectra in the Evaluated Nuclear Data Library,
+ENDL~\cite{ENDL 1975} are defined by a simple analytical function, a
+Watt spectrum defined as
+
+\begin{equation}
+W(a,b,E') = Ce^{-aE'}sinh(\sqrt{bE'})
+\end{equation}
+
+where $C=\sqrt{\pi\frac{b}{4a}}\frac{e^{\frac{b}{4a}}}{a}$, and E' is the secondary neutron energy.
+The Watt spectrum for $^{235}$U and an incident neutron energy of 6 MeV is shown in Fig.~\ref{Watt spectrum for U235}.
+
+\begin{figure}[ht]
+\begin{center}
+\includegraphics[scale=0.4, angle=-90]{hadronic/theory_driven/Fission/eps/Wattspectrum_U235_6MeV.ps}
+\end{center}
+\caption{Watt spectrum for $^{235}$U and an incident neutron energy of 6 MeV.}
+\label{Watt spectrum for U235}
+\end{figure}
+
+The coefficients a and b vary weakly from one isotope to another and
+also vary weakly with the incident neutron energy.  In the fission
+module, b is set identical to 1.0, and a is parametrized as a simple
+function of the incident neutron energy, as implemented in
+TART~\cite{TART 2003, Cullen 2004}.  The fissioning isotope and
+incident neutron energy determine the value of a, and the energy E' of
+the secondary neutron emitted is sampled using the Los Alamos' Monte
+Carlo sampler attributed to Mal Kalos~\cite{Everett 1983}.
+
+The Watt spectrum is used for all isotopes except $^{252}$Cf, for which a
+special treatment summarized by Valentine~\cite{Valentine 2000} is
+applied.  The neutron spectrum for $^{252}$Cf is sampled from
+the Mannhart~\cite{Mannhart 1987} corrected Maxwellian distribution, 
+the Madland and Nix~\cite{Madland 1984}
+or the Watt fission spectra from
+Froehner~\cite{Froehner 1990}. 
+%% \notgeant{These options are selected by the internal variable {\tt neng=0(default),1,2} respectively.} 
+The Mannhart distribution is used by default.
+
+%\section{Gammas emitted by fission\label{gammas}}
+
+\subsection{Gamma-ray number distribution}
+
+The fission module uses Brunson~\cite{Brunson 1982}'s double Poisson
+model for the spontaneous fission gamma ray multiplicity of $^{252}$Cf
+(see Fig.~\ref{Fission gamma-ray multiplicity for 252Cf}).
+
+\begin{equation}
+\Pi(G)=0.682\frac{7.20^Ge^{-7.20}}{G!}+0.318\frac{10.71^Ge^{-10.72}}{G!}
+\end{equation}
+
+where $G$ is the gamma ray multiplicity.
+\begin{figure}[ht]
+\begin{center}
+\includegraphics[scale=0.4, angle=-90]{hadronic/theory_driven/Fission/eps/Cf252_nugdist.ps}
+\end{center}
+\caption{Fission gamma-ray multiplicity for $^{252}$Cf.}
+\label{Fission gamma-ray multiplicity for 252Cf}
+\end{figure}
+
+The prompt gamma ray multiplicity ranges from 0 to 20 gama rays per
+fission with an average of 8.32 gamma rays per fission.  This model is
+a fit to experimental data measured by Brunson himself.
+
+For other isotopes, there is no data available for the multiplicity of
+prompt gamma rays.  Valentine~\cite{Valentine 2001} used an
+approximation that was adopted by the fission module.  The probability
+of emitting $G$ fission gamma rays obeys the negative binomial
+distribution:
+
+\begin{equation}
+\Pi(G)=\left(\begin{array}{c} \alpha+G-1 \\ G \end{array} \right) p^G(1-p)^G
+\end{equation}
+
+where the parameter $p$ can be written as
+$p=\frac{\alpha}{\alpha+\bar{G}}$, $\alpha$ is approximately 26 and
+$\bar{G}$ is the average number of gamma rays per fission.  $\bar{G}$
+is approximated by
+
+\begin{equation}
+\bar{G} = \frac{E_t(\bar{\nu}, Z, A)}{\bar{E}}
+\end{equation}
+
+where $E_t(\bar{\nu}, Z,
+A)=(2.51(\pm0.01)-1.13\cdot10^{-5}(\pm7.2\cdot10^{-8})Z^2\sqrt{A})\nu+4.0$
+is the total prompt gamma ray energy, and $\bar{E} =
+-1.33(\pm0.05)+119.6(\pm2.5)\frac{Z^{\frac{1}{3}}}{A}$ is the average
+prompt gamma ray energy.  The multiplicity distribution for the
+spontaneous fission of $^{238}$U is shown in Fig.~\ref{Fission
+gamma-ray multiplicity for 238U}.
+
+\begin{figure}[ht]
+\begin{center}
+\includegraphics[scale=0.4, angle=-90]{hadronic/theory_driven/Fission/eps/U238_nugdist.ps}
+\end{center}
+\caption{Fission gamma-ray multiplicity for spontaneous fission of $^{238}$U.}
+\label{Fission gamma-ray multiplicity for 238U}
+\end{figure}
+
+These multiplicity distributions are only estimates and are not
+measured data.  The fission module uses this model for estimating the
+number of gamma rays from both spontaneous and induced fission.
+
+\subsection{Gamma-ray energy distribution}
+
+The fission module implements Valentine's~\cite{Valentine 2000} model
+for the energy spectra of fission gamma-rays.  The only measured
+energy spectra for fission gamma-rays are for the spontaneous fission
+of $^{252}$Cf and for the thermal-neutron-induced fission of $^{235}$U.
+Both spectra are similar~\cite{Wagemans 1991}.  Because the $^{235}$U
+measurements are more precise, this data will be used for the fission
+gamma-ray spectrum.  The energy spectrum of the prompt fission gamma
+rays is obtained from Maienschein's measurements~\cite{Maienschein
+1958}~\cite{Goldstein 1959}:
+
+\begin{equation}
+N(E) = \left\{
+\begin{array}{ll}
+38.13 (E-0.085)e^{1.648E}&  E<0.3\ \mathrm{MeV} \\
+
+26.8 e^{-2.30E}          &  0.3<E<1.0\ \mathrm{MeV}\\
+
+ 8.0 e^{-1.10E}          &  1.0<E<8.0\ \mathrm{MeV}
+\end{array}
+\right.
+\end{equation}
+
+This probability function is shown in Fig.~\ref{Fission gamma-ray
+spectrum for 235U}.  Because gamma ray energy spectra are not
+available, the spectrum above is used for all isotopes, both for
+spontaneous and induced fission.
+
+\begin{figure}[ht]
+\begin{center}
+\includegraphics[scale=0.4, angle=-90]{hadronic/theory_driven/Fission/eps/U235_gspectrum.ps}
+\end{center}
+\caption{Fission gamma-ray spectrum for $^{235}$U.}
+\label{Fission gamma-ray spectrum for 235U}
+\end{figure}
+
+
+\subsection{Implementation}
+
+For neutron induced fission, this model is intended to be used with
+the low energy neutron interaction data libraries with class
+\textit{G4Fisslib} specified in the physics list as the
+\textit{G4HadronFissionProccess} instead of class
+\textit{G4NeutronHPFission}.
+%% \notgeant{
+%% Here is an example code snippet for registering this model in the physics 
+%% list: \input{snippet}}
+
+The constructor of \textit{G4FissLib}
+does two things. First it reads the necessary fission cross-section
+data in the file located in the directory specified by the environment
+variable \textit{NeutronHPCrossSections}. It does this by initializing
+one object of class \textit{G4NeutronHPChannel} per isotope present in
+the geometry. Second, it registers an instance of
+\textit{G4FissionLibrary} for each isotope as the model for that
+reaction/channel. When Geant4 tracks a neutron to a reaction site and
+the fission library process is selected among all other process for
+neutron reactions, the method \textit{G4FissLib::ApplyYourself} is
+called, and one of the fissionable isotopes present at the reaction
+site is selected. This method in turn calls
+\textit{G4NeutronHPChannel::ApplyYourself} which calls
+\textit{G4FissionLibrary::ApplyYourself}, where the induced neutrons
+and gamma-rays are emitted by sampling the fission library.
+
+For spontaneous fission the user must provide classes {\it
+PrimaryGeneratorAction}, {\it MultipleSource}, {\it
+MultipleSourceMessenger}, {\it SingleSource}, {\it SponFissIsotope} to
+generate spontaneous fission neutrons and gammas. Examples of these
+classes can be downloaded from {\tt
+http://nuclear.llnl.gov/CNP/simulation}. Spontaneous fissions are
+generated in the {\it PrimaryGeneratorAction} class.
+The spontaneous fission
+source needs to be described in terms of geometry, isotopic
+composition and fission strength. Once this information is given, the
+constructor creates as many spontaneous fission isotopes of class {\it
+SponFissIsotope} as specified, and adds them to the source of class
+{\it MultipleSource}. When Geant needs to generate particles, it calls
+the method {\it PrimaryGeneratorAction::GeneratePrimaries}, which
+first sets the time of the next fission based on the fission rates
+entered in the constructor, and then calls the method {\it
+MultipleSource::GeneratePrimaryVertex} which determines which one of
+the spontaneous fission isotopes will fission. This method in turn
+calls the method {\it SponFissIsotope::GeneratePrimaryVertex} for the
+chosen isotope. It is in this method that the neutrons and photons
+sampled from the fission library are added to the stack of secondary
+particles.  Sources other than spontaneous fission isotopes can be
+added to the source of class {\it MultipleSource}. For instance, a
+background term emitting a large number of background gamma-rays can
+be added, as long as it derives from the class {\it SingleSource}. The
+intensity of that source would be set the same way as for the
+spontaneous fission isotope sources.
+
+Different sampling methods can be selected by calling the following functions.
+\subsection*{void setnudist\_(int *nudist)
+\label{setnudist}}
+
+This selects the data to be sampled for the neutron number
+distributions for neutron-induced fission. If there is no data
+available, then in all cases the Terrell approximation is used.
+The argument \textit{nudist} can take 3 values:
+
+\begin{tabbing}
+
+\indent 0 \hspace*{.6in} 
+\= \parbox[t]{4in}{ Use the fit 
+to the Zucker and Holden tabulated P$_\nu$ distributions as a function
+of energy for $^{235}$U, $^{238}$U and $^{239}$Pu.}\\
+
+\indent 1 
+\> \parbox[t]{4in}
+{Use fits to the Zucker and Holden tabulated 
+P$_\nu$  distribution as a function of energy for $^{238}$U and 
+ $^{239}$Pu, and a fit to the Zucker and Holden data as well as 
+the Gwin, Spencer and Ingle data (at thermal 
+ energies) as a function of energy for $^{235}$U.}\\
+
+\indent 2 
+\> \parbox[t]{4in}
+{Use the fit to the Zucker and Holden 
+tabulated P$_\nu$ distributions as a function of $\bar{\nu}$. The $^{238}$U 
+fit is used for the $^{232}$U, $^{234}$U, 
+$^{236}$U and $^{238}$U isotopes, the $^{235}$U fit for $^{233}$U 
+and $^{235}$U, the $^{239}$Pu fit for 
+$^{239}$Pu and $^{241}$Pu.}\\
+
+\indent 3 
+(default) \> \parbox[t]{4in}
+{Use the discrete Zucker and Holden 
+tabulated P$_\nu$ distributions and corresponding $\bar{\nu}$s. 
+Sampling based on the incident neutron $\bar{\nu}$. The $^{238}$U data tables 
+are used for the $^{232}$U, $^{234}$U, $^{236}$U 
+ and $^{238}$U isotopes, the $^{235}$U data for $^{233}$U and 
+$^{235}$U, the $^{239}$Pu data for $^{239}$Pu and $^{241}$Pu.}
+
+\end{tabbing}
+
+\subsection*{void setcf252\_(int *ndist, int *neng)}
+
+This function is specific to the spontaneous fission of $^{252}$Cf. It
+selects the data to be sampled for the neutron number and energy
+distributions and takes the following arguments:
+
+\begin{tabbing}
+\indent ndist: \= Sample the number of neutrons \\
+\indent \> 0 (default) \= 
+from the tabulated data measured by Spencer \\
+\indent \> 1 \> from 
+Boldeman's data \\
+\\
+\indent neng: Sample the spontaneous fission 
+neutron energy \\
+\indent \> 0 (default)\> from Mannhart corrected  Maxwellian spectrum \\
+\indent \> 1 \> from Madland-Nix theoretical spectrum \\
+\indent \> 2 \> from the Froehner Watt spectrum \\
+\end{tabbing}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/ParamFission.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/ParamFission.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/ParamFission.tex	(revision 1208)
@@ -0,0 +1,184 @@
+
+\section{Parameterized Fission Model}
+
+\subsection{Fission Process Simulation}
+
+\subsubsection{Atomic number distribution of fission products}
+
+\hspace{1.0em}As seen in experimental data \cite{VH73} the mass
+distribution of fission products consists of symmetric and asymmetric 
+components:
+\begin{equation}
+\label{FPS1} F(A_f) = F_{sym}(A_f) + \omega F_{asym}(A_f),
+\end{equation}
+where $\omega(U,A,Z)$ defines the relative contribution of each component
+and depends on the excitation energy $U$ and $A,Z$ of the fissioning
+nucleus.  It was found \cite{ABIM93} that experimental data can be
+approximated with good accuracy, if one takes
+\begin{equation}
+\label{FPS2} F_{sym}(A_f) = \exp{[-\frac{(A_f - A_{sym})^2}{2\sigma_{sym}^2}]}
+\end{equation}
+and
+\begin{equation}
+\begin{array}{c}
+\label{FPS3} F_{asym}(A_f) = \exp{[-\frac{(A_f - A_{2})^2}{2\sigma_{2}^2}]} + 
+\exp{[-\frac{{A_f - (A - A_{2})}^2}{2\sigma_{2}^2}]} + \\
++ C_{asym}\{\exp{[-\frac{(A_f - A_{1})^2}{2\sigma_{1}^2}]} + 
+\exp{[-\frac{{A_f - (A - A_{1})}^2}{2\sigma_{2}^2}]}\},
+\end{array}
+\end{equation}
+where $A_{sym} = A/2$, $A_1$ and $A_2$ are the mean values and
+$\sigma^2_{sym}$, $\sigma^2_1$ and $\sigma^2_2$ are the dispersions of the
+Gaussians, respectively.  From an analysis of experimental data
+\cite{ABIM93} the parameter $C_{asym} \approx 0.5$ was defined, followed by
+the dispersion values:
+\begin{equation}
+\label{FPS4} \sigma^2_{sym} = \exp{(0.00553U + 2.1386)},
+\end{equation} 
+where $U$ is in MeV,
+\begin{equation}
+\label{FPS5} 2\sigma_1 = \sigma_2 = 5.6 \ MeV
+\end{equation}
+for $A \leq 235$ and 
+\begin{equation}
+\label{FPS6} 2\sigma_1 = \sigma_2 = 5.6 + 0.096 (A - 235) \ MeV
+\end{equation}
+for $A > 235$ were found.
+
+The weight $\omega(U,A,Z)$ was approximated as follows
+\begin{equation}
+\label{FPS7} \omega = \frac{\omega_{a} - F_{asym}(A_{sym})}
+{1 - \omega_a F_{sym}((A_1 + A_2)/2)}.
+\end{equation}
+The values of $\omega_a$ for nuclei with $96 \geq Z \geq 90$ were 
+approximated by
+\begin{equation}
+\label{FPS8} \omega_a(U) = \exp{(0.538U - 9.9564)}
+\end{equation}
+for $U \leq 16.25$ MeV,
+\begin{equation}
+\label{FPS9} \omega_a(U) = \exp{(0.09197U - 2.7003)}
+\end{equation}
+for $U > 16.25$ MeV and 
+\begin{equation}
+\label{FPS10} \omega_a(U) = \exp{(0.09197U - 1.08808)}
+\end{equation}
+for $z = 89$. 
+An approximation for nuclei with $Z \leq 88$ \cite{ABIM93} is given by:
+\begin{equation}
+\label{FPS11}\omega_a(U) = 
+\exp{[0.3(227 - a)]} \exp{ \{0.09197[U - (B_{fis} - 7.5)] 
+- 1.08808 \}},
+\end{equation}
+where for $A > 227$ and $U < B_{fis} - 7.5$ the corresponding factors occurring
+in the exponential functions vanish.
+
+\subsubsection{Charge distribution of fission products}
+
+\hspace{1.0em} For a given mass of the fragment $A_f$ the experimental 
+data \cite{VH73} on the charge $Z_f$ distribution of fragments are well 
+approximated by a Gaussian with dispersion $\sigma^2_{z} = 0.36$ and the 
+average $<Z_f>$ is described by the expression:
+\begin{equation}
+\label{FPS12} <Z_f> = \frac{A_f}{A}Z + \Delta Z, 
+\end{equation}
+when parameter $\Delta Z = -0.45$ for $A_f \geq 134$, $\Delta Z = -
+0.45(A_f -A/2)/(134 - A/2)$ for $ A - 134 < A_f < 134$ and $\Delta Z =
+0.45$ for $A \leq A - 134$.
+
+After the sampling of fragment atomic mass numbers and fragment charges, 
+we must check that the fragment ground state masses do not exceed the 
+initial energy.  The maximal fragment kinetic energy is calculated as 
+\begin{equation}
+\label{FPS13a}T^{max} < U + M(A,Z) - M_1(A_{f1}, Z_{f1}) - M_2(A_{f2}, Z_{f2}),
+\end{equation}
+where $U$ and $M(A,Z)$ are the excitation energy and mass of the initial
+nucleus.  $M_1(A_{f1}, Z_{f1})$ and $M_2(A_{f2}, Z_{f2})$ are the masses
+of the first and second fragment, respectively.
+
+\subsubsection{Kinetic energy distribution of fission products}
+
+\hspace{1.0em} The average kinetic energy $<T_{kin}>$ (in MeV) of fission 
+fragments has an empiricaly defined \cite{VKW85} dependence on the mass and 
+charge of a fissioning nucleus:
+\begin{equation}
+\label{FPS13}<T_{kin}> = 0.1178 Z^2/A^{1/3} + 5.8.
+\end{equation}
+This energy is distributed differently in cases of symmetric and
+asymmetric modes of fission.  It follows from the analysis of data
+\cite{ABIM93} that in the asymmetric mode, the average kinetic energy of
+fragments is higher than that in the symmetric one by approximately
+$12.5$ MeV.  Empirical expressions have been suggested \cite{ABIM93}
+to approximate the average values of the kinetic energies $<T_{kin}^{sym}$ 
+and $<T_{kin}^{asym}>$ for the symmetric and asymmetric modes of fission, 
+\begin{equation}
+\label{FPS14} <T_{kin}^{sym}> = <T_{kin}> - 12.5 W_{asim}, 
+\end{equation}
+\begin{equation}
+\label{FPS15} <T_{kin}^{asym}> = <T_{kin}> + 12.5 W_{sim},
+\end{equation} 
+where 
+\begin{equation}
+\label{FPS16} W_{sim} = \omega \int F_{sim}(A)dA/\int F(A)dA
+\end{equation}
+and
+\begin{equation}
+\label{FPS17} W_{asim} = \int F_{asim}(A)dA/\int F(A)dA,
+\end{equation} 
+respectively.  For symmetric fission the experimental data for the
+ratio of the average kinetic energy of fission fragments
+$<T_{kin}(A_f)>$ to this maximum energy $<T^{max}_{kin}>$ as a function
+of the mass of a larger fragment $A_{max}$, can be approximated by the
+expressions
+\begin{equation}
+\label{FPS18} <T_{kin}(A_f)>/<T^{max}_{kin}> = 
+1 - k [(A_f - A_{max})/A]^2
+\end{equation}
+for $A_{sim} \leq A_f \leq A_{max} + 10$ and 
+\begin{equation}
+\label{FPS19} <T_{kin}(A_f)>/<T^{max}_{kin}> = 
+1 - k(10/A)^2 - 2 (10/A)k(A_f - A_{max} - 10)/A .
+\end{equation}
+These are valid for $A_f > A_{max} + 10$, where $A_{max} = A_{sim}$ and 
+$k = 5.32$ for symmetric fission, and $A_{max} = 134$ and $k = 23.5$ for 
+asymmetric fission.  For both modes of fission the distribution over the
+kinetic energy of fragments $T_{kin}$ is chosen to be Gaussian with their 
+own average values $<T_{kin}(A_f)>= <T_{kin}^{sym}(A_f)>$ or
+$<T_{kin}(A_f)>=<T_{kin}^{asym}(A_f)>$, and dispersions $\sigma^2_{kin}$
+equal $8^2$ MeV and $10^2$ MeV$^2$ for symmetrical and asymmetrical
+modes, respectively. 
+
+\subsubsection{Calculation of the excitation energy of fission products}
+
+\hspace{1.0em} The total excitation energy of fragments $U_{frag}$ 
+can be defined according to the equation
+\begin{equation}
+\label{FPS21} U_{frag} = U + M(A,Z) - M_1(A_{f1}, Z_{f1}) - M_2(A_{f2}, Z_{f2}) - 
+T_{kin},
+\end{equation}
+where $U$ and $M(A,Z)$ are the excitation energy and mass of the initial
+nucleus, $T_{kin}$ is the fragment kinetic energy, $M_1(A_{f1},
+Z_{f1})$,  and $M_2(A_{f2}, Z_{f2})$ are the masses of the first and second 
+fragments, respectively.
+
+The value of the excitation energy of fragment $U_f$ determines the fragment
+temperature ($T = \sqrt{U_f/a_f}$, where $a_f \sim A_f$ is the parameter
+of fragment level density).  Assuming that after disintegration
+fragments have the same temperature as the initial nucleus, then the total
+excitation energy will be distributed between fragments in proportion to
+their mass numbers.  One then obtains
+\begin{equation}
+\label{FPS22} U_f = U_{frag} \frac{A_f}{A}.
+\end{equation}
+
+\subsubsection{Excited fragment momenta}
+
+\hspace{1.0em} Assuming that the fragment kinetic energy $T_f = 
+P^2_f/(2(M(A_{f},Z_{f}+U_f)$, we are able to calculate the absolute value 
+of fragment c.m. momentum 
+\begin{equation}
+\label{FPS23}
+P_f=\frac{(M_1(A_{f1},Z_{f1}+U_{f1})(M_2(A_{f2},Z_{f2}+U_{f2})}{
+M_1(A_{f1},Z_{f1})+U_{f1} + M_2(A_{f2},Z_{f2})+U_{f2}}T_{kin}, 
+\end{equation}
+and its components, assuming the isotropic distribution of fragments.
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/eps/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/eps/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/eps/CVS/Entries	(revision 1208)
@@ -0,0 +1,7 @@
+/Cf252_nugdist.ps/1.1/Tue Aug 14 18:05:23 2007//
+/U235_6MeV_nudist.ps/1.1/Tue Aug 14 18:05:23 2007//
+/U235_gspectrum.ps/1.1/Tue Aug 14 18:05:23 2007//
+/U238_nugdist.ps/1.1/Tue Aug 14 18:05:23 2007//
+/Wattspectrum_U235_6MeV.pdf/1.1/Tue Aug 14 18:05:23 2007//
+/Wattspectrum_U235_6MeV.ps/1.1/Tue Aug 14 18:05:24 2007//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/eps/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/eps/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/eps/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/eps
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/eps/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/eps/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Fission/eps/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/CVS/Entries	(revision 1208)
@@ -0,0 +1,7 @@
+/GammaInteractionModel.tex/1.5/Thu Nov 29 18:58:55 2001//
+/GammaInteractionModelAlgorithm.tex/1.3/Wed Dec 16 18:04:29 1998//
+/GammaInteractionModelReferences.tex/1.1/Tue Nov  3 10:38:52 1998//
+/HighEnergyGammaInteraction.tex/1.3/Wed Dec 16 18:04:30 1998//
+/IntermediateEnergyGammaInteraction.tex/1.3/Wed Dec 16 18:04:31 1998//
+/ReactionInitialStateGIM.tex/1.3/Wed Dec 16 18:04:32 1998//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/GammaInteractionModel.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/GammaInteractionModel.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/GammaInteractionModel.tex	(revision 1208)
@@ -0,0 +1,12 @@
+\chapter{Hadronic interaction of photons.}
+
+\input{GammaInteraction/ReactionInitialStateGIM}
+
+\input{GammaInteraction/IntermediateEnergyGammaInteraction}
+
+\input{GammaInteraction/HighEnergyGammaInteraction}
+
+\input{GammaInteraction/GammaInteractionModelAlgorithm}
+
+\input{GammaInteraction/GammaInteractionModelReferences}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/GammaInteractionModelAlgorithm.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/GammaInteractionModelAlgorithm.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/GammaInteractionModelAlgorithm.tex	(revision 1208)
@@ -0,0 +1,66 @@
+\section{MC procedure.}
+
+\hspace{1.0em}
+At intermediate energies $\gamma$-nucleon and $\gamma$-nucleus interactions are 
+performed within the hadron kinetic model similarly as the hadron-nucleon and 
+hadron-nucleus interactions. 
+
+At high energies the Monte Carlo procedure
+ in the case of $\gamma$--nucleon collision can be 
+outlined as follows:
+\begin{itemize}
+\item At given c.m. energy squared and at given virtuality $Q^2$ sample 
+mass $M^2$ of 
+hadronic $q\bar{q}$ fluctuation according to ($\ref{HEGI2}$) 
+and sample its flavor 
+according to statistical weights: $\omega_{u\bar{u}}= 1/2$, 
+$\omega_{d\bar{d}}= 1/4$ and $\omega_{s\bar{s}}= 1/4$ are derived from 
+($\ref{HEGI3}$);
+\item Sample the momentum fraction $x$ of a valence quark inside
+ a hadronic fluctuation 
+according to 
+\begin{equation}
+\label{GIMA1} \rho(x) \sim \frac{1}{\sqrt{x(1-x)}}
+\end{equation}
+and transverse momentum of a quark according to the Gaussian 
+distribution as for hadrons;
+\item Split nucleon into quark and diquark as it was described
+ for hadron-nucleon 
+interaction;
+\item Create two strings spanned between quark from a hadronic fluctuation and 
+diquark from nucleon and between antiquark from a hadronic
+ fluctuation and quark from nucleon;
+\item Decay string into hadrons as it was described for
+ hadron-nucleon interactions.
+\end{itemize}
+
+In the case of $\gamma$--nucleus collision the MC procedure is follows:
+\begin{itemize}
+\item At given c.m. energy squared and at given virtuality
+ $Q^2$ sample mass $M^2$ of 
+hadronic $q\bar{q}$ fluctuation and sample its flavor as it is done for 
+$\gamma$--nucleon collision;
+
+\item Calculate coherence length $d$;
+
+\item If coherence length less than internucleon distance 
+then simulate inelastic 
+hadron fluctuation-nucleon collision at choosen impact 
+parameter $B$ as was described 
+above;
+
+\item If coherence length more than internucleon distance then 
+ perform simulation of hadron fluctuation-nucleus collision at choosen 
+impact parameter $B$ using parton string model similarly as for meson-nucleus 
+interactions. For this case the probability of inelastic collision of
+a  hadron fluctuation with nucleon
+$i$  at given impact parameter ${\bf b}_i$ is calculated according to
+\begin{equation}
+\label{GIMA3} p_{VN}(s,b^2) = 1 - exp{[-2u(s, b^2)]};
+\end{equation}
+with  the eikonal $u(s,b^2)$ defined by Eq. ($\ref{HEGI7}$) at 
+$Q^2 = 0$ and $M^2=M_{\rho}$.
+\end{itemize}
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/GammaInteractionModelReferences.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/GammaInteractionModelReferences.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/GammaInteractionModelReferences.tex	(revision 1208)
@@ -0,0 +1,16 @@
+\begin{thebibliography}{599}
+
+\bibitem{CS66} Ching R., Schaerf C., Phys. Rev. {\bf 141} 1320 (1966).
+
+\bibitem{BGIJT74} Barashenkov V. S., Gerghi F. G., Iljinov A. S., {\it et al.},
+Nucl Phys. {\bf A231} 462 (1974).
+
+\bibitem{BSY78} Bauer T. H., Spital R. D., Yennie D. R., Rev. Mod. Phys. {\bf
+50} 261 (1978).
+
+\bibitem{PRW95} Piller G., Ratzka W., Weise W., Z. Phys. {\bf A352} 427 (1995).
+
+\bibitem{ERR97} Engel R, Ranft J. and Roesler S., Phys. Rev.
+ {\bf D55} 6957 (1997).
+ 
+\end{thebibliography}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/HighEnergyGammaInteraction.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/HighEnergyGammaInteraction.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/HighEnergyGammaInteraction.tex	(revision 1208)
@@ -0,0 +1,118 @@
+\section{The high energy $\gamma$-nucleon and $\gamma$-nucleus
+ interactions.}
+ 
+\hspace{1.0em}To simulate high energy photon interactions with nucleon and
+nucleus we use the approach\cite{PRW95}. 
+We consider the following kinematic 
+variables for $\gamma$-nucleon
+scattering: the Bjorken-$x$ variable defined as $x=Q^2/2m\nu$ with $Q^2$, $\nu$
+and $m$ the photon virtuality, the photon energy and nucleon mass,
+respectively.
+The the squared total energy of the $\gamma$-nucleon system is given by
+$s=Q^2(1-x)/x + m^2$. We restrict consideration to
+ the range of small $x$-values and  $Q^2$ is much
+less than $s$.
+
+The Generalized Vector Dominance Model (GVDM) \cite{BSY78}
+ assumes that the virtual photon 
+fluctuates into intermediate $q\bar{q}$-states $V$ of mass $M$ which
+ subsequently may 
+interact with a nucleon $N$. 
+Thus the total photon-nucleon cross section
+ can be expressed by a relation \cite{PRW95}:
+\begin{equation}
+\begin{array}{c}
+\label{HEGI1}\sigma_{\gamma N}(s,Q^2)=4\pi\alpha_{em}\int_{M^2_0}^{M^2_{1}}
+dM^2D(M^2)\times \\
+\times (\frac{M^2}{M^2+Q^2})^2(1+\epsilon\frac{Q^2}{M^2})\sigma_{VN}(s,Q^2),
+\end{array}
+\end{equation}
+where integration over $M^2$ should be performed between $M^2_0=4m^2_{\pi}$
+ and $M^2=s$.
+Here $\alpha_{em} = e^2/4\pi = 1/137$ and the density
+ of $q\bar{q}$-system per
+unit mass-squared is given by
+\begin{equation}
+\label{HEGI2}D(M^2)= \frac{R_{e^{+}e^{-}}(M^2)}{12\pi^2M^2},
+\end{equation}
+\begin{equation}
+\label{HEGI3} R_{e^{+}e^{-}}(M^2)=\frac{\sigma_{e^{+}e^{-}\rightarrow
+hadrons}(M^2)}{\sigma_{e^{+}e^{-}\rightarrow
+\mu^{+}\mu^{-}}(M^2)}\approx 3\Sigma_{f}e^2_{f},
+\end{equation}
+where $e^2_{f}$ the squared charge of quark with flavor $f$. 
+$\epsilon$ is the
+ratio between the fluxes of longitudinally
+ and transversally polarized photons.
+
+Similarly the
+ inelastic cross section for the scattering of a $\gamma$ with virtuality
+$Q^2$ and with  a nucleus $A$ at impact parameter $B$ 
+and the $\gamma$-nucleon c.m.
+energy squared $s$ is given by \cite{ERR97}:
+\begin{equation}
+\begin{array}{c}
+\label{HEGI4}\sigma_{\gamma A}(s,Q^2,B)=4\pi\alpha_{em}\int_{M^2_0}^{M^2_{1}}
+dM^2D(M^2)\times \\
+\times (\frac{M^2}{M^2+Q^2})^2(1+\epsilon\frac{Q^2}{M^2})\sigma_{VA}(s,Q^2,B),
+\end{array}
+\end{equation}
+
+To calculate $\gamma$-nucleon or $\gamma$-nucleus inelastic cross sections 
+we need model for the $M^2$-, 
+ $Q^2$- and $s$-dependence of the $\sigma_{VN}$ or $\sigma_{VA}$. For 
+ these we  apply the 
+Gribov-Regge approach, similarly as it was done for $h$-nucleon or $h$-nucleus 
+inelastic cross sections.
+
+The 
+ effective cross section for the interaction of a $q\bar{q}$-system with
+squared mass $M^2$ with nucleus for the coherence length
+\begin{equation}
+\label{HEGI5} d=\frac{2\nu}{M^2+Q^2}
+\end{equation}
+exceeding the average distance between two nucleons
+can be written as follows
+\begin{equation}
+\begin{array}{c}
+\label{HEGI6}\sigma_{V A}(s,Q^2,B)=\int \prod_{i=1}^{A} 
+d^3 r_i\rho_A({\bf r}_i)
+\times \\
+\times (1 - |\prod_{i=1}^{A}[1-u(s,Q^2,M^2, b^2_i)]|^2).
+\end{array}
+\end{equation}
+Here the amplitude (eikonal) 
+$u(s,Q^2,M^2, b^2_i)$ for the interaction of 
+the hadronic fluctuation with $i$-th nucleon 
+is given by \cite{ERR97}
+\begin{equation}
+\begin{array}{c}
+\label{HEGI7}u(s,Q^2,M^2,{\bf b}_i)=
+\frac{\sigma_{VN}(s,Q^2,M^2)} {8 \pi \lambda(s,Q^2,M^2)} \times \\
+\times (1-i \rho \exp{[-\frac{b^2}{4\lambda(s,Q^2,M^2)}]},
+\end{array}
+\end{equation}
+where $\rho\approx 0$ is the ratio of real and imaginary parts of scattering 
+amplitude at $0$ angle.
+The amplitude parameters: the effective $q\bar{q}$-nucleon cross section  
+\begin{equation}
+\label{HEGI8} \sigma_{VN}(s,Q^2,M^2)=\frac{\tilde{\sigma}_{VN}(s,Q^2)}{M^2+Q^2+C^2},
+\end{equation}
+where $C^2=2$ \ GeV$^2$,
+and
+\begin{equation}
+\label{HEGI9}\lambda(s,Q^2,M^2)=2+\frac{m^2_{\rho}}{M^2+Q^2} + 
+\alpha_{P}^{\prime}
+\ln{(\frac{s}{M^2+Q^2})}. 
+\end{equation}
+The values of $\tilde{\sigma}_{VN}(s,Q^2)$ are calculated in paper
+\cite{ERR97}.
+It was shown \cite{ERR97} that $Q^2$ dependence of $\sigma_{VN}(s,Q^2)$ 
+is very week at $Q^2 < m^2_{rho} + C^2$, where $m_{\rho}$ is 
+$\rho$-meson mass, and we omitted this dependence. We also use 
+$\sigma_{VN}(s,Q^2)$ calculated  in \cite{ERR97} at $M^2=m^2_{rho}$.
+
+ If coherence length is smaller that an internuclear distance integrated 
+over $B$ then cross section 
+$\sigma_{VA}=A\sigma_{VN}$.
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/IntermediateEnergyGammaInteraction.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/IntermediateEnergyGammaInteraction.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/IntermediateEnergyGammaInteraction.tex	(revision 1208)
@@ -0,0 +1,33 @@
+\section{The intermediate energy $\gamma$-nucleon and $\gamma$-nucleus interactions.}
+
+\hspace{1.0em}
+We use the hadron kinetic model to perform simulation of $\gamma$-nucleus
+inelastic collisions at intermediate energies. In this particular model
+interaction of a particle with target nucleus is reduced to the interaction of 
+a particle with intranuclear nucleons.
+In the hadron kinetic model we realized several different mechanisms of the
+$\gamma$-nucleon interaction.
+ 
+The first one is the absorption of $\gamma$-quantum by a quasideutron pair
+\begin{equation}
+\label{IEGI1} \gamma + (np)\rightarrow np.
+\end{equation}
+The photoabsorption cross section calculated according to quasi-deutron model 
+\cite{CS66}, \cite{BGIJT74} 
+\begin{equation}
+\label{IEGI2}\sigma_{A}=kZ(1-Z/A)\sigma_{D},
+\end{equation}
+where $\sigma_{D}$ is the cross section for deutron photodisintegration and
+$A$, $Z$ are the mass and charge numbers of the nucleus in question,
+respectively. The model parameter $k=10$ was taken.
+
+The second one is the excitation of resonance and production of mesons:
+\begin{equation}
+\label{IEGI3} \gamma  N\rightarrow \Delta(1232),
+ \gamma N \rightarrow N^{*}(1535) 
+\end{equation}
+
+At high energy the Regge approach is used to calculate $\gamma$-nucleon 
+cross sections. The inelastic $\gamma$-nucleon is 
+ simulated using the parton string
+model.
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/ReactionInitialStateGIM.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/ReactionInitialStateGIM.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/GammaInteraction/ReactionInitialStateGIM.tex	(revision 1208)
@@ -0,0 +1,16 @@
+\section{Reaction initial state.}
+
+\hspace{1.0em} The GEANT4 $\gamma$-nucleon and $\gamma$-nucleus 
+interaction model is capable to predict 
+ final states (produced 
+hadrons 
+which belong to the pseudoscalar meson nonet and the baryon (antibaryon) 
+octet) of reactions on nucleon and nuclear targets. The break-up simulation of 
+the residual 
+excited target nucleus is performed with help of the nucleus deexcitation
+models. 
+ The recommended bombarding energy in 
+the photon--nucleon or 
+  photon--nucleus interaction has to be more than 
+ 20 MeV in the laboratory frame.
+ 
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Multifragmentation/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Multifragmentation/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Multifragmentation/CVS/Entries	(revision 1208)
@@ -0,0 +1,4 @@
+/MultFragSim.tex/1.8/Thu Nov 14 20:06:28 2002//
+/MultifragmentationModel.tex/1.5/Thu Nov 29 18:58:55 2001//
+/MultifragmentationModelReferences.tex/1.4/Sat Dec 11 18:51:37 2004//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Multifragmentation/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Multifragmentation/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Multifragmentation/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Multifragmentation
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Multifragmentation/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Multifragmentation/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Multifragmentation/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Multifragmentation/MultFragSim.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Multifragmentation/MultFragSim.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Multifragmentation/MultFragSim.tex	(revision 1208)
@@ -0,0 +1,241 @@
+\section{Multifragmentation process simulation.}
+\hspace{1.0em} The GEANT4 multifragmentation model is capable to predict 
+final states as result of an highly excited nucleus statistical break-up.
+
+The initial information for calculation of
+multifragmentation stage consists from the atomic mass number $A$,
+charge $Z$ of excited nucleus and its excitation
+energy $U$.  At high excitation energies $U/A > 3$ \ MeV the
+multifragmentation mechanism, when nuclear system can eventually breaks
+down into fragments, becomes the dominant. Later on the excited primary
+fragments propagate independently in the mutual Coulomb field and
+undergo de-excitation.  Detailed description of multifragmentation
+mechanism and model can be found in review \cite{BBIMS95}.
+
+\subsection{Multifragmentation probability.}
+
+\hspace{1.0em}The probability of a breakup channel $b$ is given by the
+expression (in the so-called microcanonical approach \cite{BBIMS95},
+\cite{Botvina87}):
+\begin{equation}
+\label{MFS1}W_b(U,A,Z)=\frac{1}{\sum_{b}\exp [S_b(U,A,Z)]} \exp [S_b(U,A,Z)], 
+\end{equation}
+where $S_b(U,A,Z)$ is the entropy of a multifragment state corresponding
+to the breakup channel $b$. The channels $\{b\}$ can be parametrized by
+set of fragment multiplicities $N_{A_f,Z_f}$ for fragment with atomic
+number $A_f$ and charge $Z_f$. All partitions $\{b\}$ should satisfy
+constraints on the total mass and charge:
+\begin{equation}
+\label{MFS2}\sum_{f}N_{A_f,Z_f}A_f = A 
+\end{equation}
+and
+\begin{equation}
+\label{MFS3}\sum_{f}N_{A_f,Z_f}Z_f = Z. 
+\end{equation}
+It is assumed \cite{Botvina87} that thermodynamic equilibrium is
+established in every channel, which can be characterized by the channel
+temperature $T_b$.
+
+The channel temperature $T_b$ is determined by the equation constraining
+the average energy $E_b(T_b, V)$ associated with partition $b$:
+\begin{equation}
+\label{MFS4}E_b(T_b, V)= U+E_{ground} = U+M(A,Z), 
+\end{equation}
+where $V$ is the system volume, $E_{ground}$ is the ground state (at
+$T_b = 0$) energy of system and $M(A,Z)$ is the mass of nucleus.
+
+According to the conventional thermodynamical formulae the average energy
+of a partitition $b$ is expressed through the system free energy $F_b$
+as follows
+\begin{equation}
+\label{MFS5}E_b(T_b, V)= F_b(T_b,V) +T_bS_b(T_b,V).
+\end{equation} 
+Thus, if free energy $F_b$ of a partition $b$ is known, we can find
+the channel temperature $T_b$ from Eqs. ($\ref{MFS4}$) and ($\ref{MFS5}$),
+then the entropy $S_b = -dF_b/dT_b$ and hence, decay probability $W_b$
+defined by Eq. ($\ref{MFS1}$) can be calculated.
+
+Calculation of the free energy is based on the use of the liquid-drop
+description of individual fragments \cite{Botvina87}.  The free energy
+of a partition $b$ can be splitted into several terms:
+\begin{equation}
+\label{MFS6}F_b(T_b,V) =  \sum_{f}F_f(T_b,V) + E_{C}(V), 
+\end{equation}
+where $F_f(T_b,V)$ is the average energy of an individual fragment
+including the volume
+\begin{equation} 
+\label{MFS7} F^V_f = [-E_0 - T^2_b/\epsilon(A_f)]A_f, 
+\end{equation}
+surface 
+\begin{equation}
+\label{MFS8}F^{Sur}_f = \beta_0[(T_c^2 - T^2_b)/(T_c^2 + T^2_b)]^{5/4}A_f^{2/3}
+= \beta(T_b)A_f^{2/3},
+\end{equation}
+symmetry 
+\begin{equation}
+\label{MFS9}F^{Sim}_f = \gamma(A_f - 2Z_f)^2/A_f, 
+\end{equation}
+Coulomb 
+\begin{equation}
+\label{MFS10}F^{C}_f = \frac{3}{5}\frac{Z_f^2e^2}{r_0A_f^{1/3}}
+[1 - (1+ \kappa_{C})^{-1/3}]
+\end{equation}
+and translational 
+\begin{equation}
+\label{MFS11}F^{t}_f = -T_b\ln{(g_fV_f/\lambda^3_{T_b})} + 
+T_b\ln{(N_{A_f,Z_f}!)}/ N_{A_f,Z_f}
+\end{equation}
+terms  and the last term
+\begin{equation}
+\label{MFS12} E_{C}(V)=\frac{3}{5}\frac{Z^2e^2}{R} 
+\end{equation}  
+is the Coulomb energy of the uniformly charged sphere with charge $Ze$
+and the radius $R = (3V/4\pi)^{1/3}= r_0A^{1/3}(1 + \kappa_{C})^{1/3}$,
+where $\kappa_{C} = 2$ \cite{Botvina87}.
+
+Parameters $E_0 = 16$ \ MeV, $\beta_0 = 18$\ MeV, $\gamma = 25$ \ MeV
+are the coefficients of the Bethe-Weizsacker mass formula at $T_b = 0$.
+$g_f=(2S_f+1)(2I_f+1)$ is a spin $S_f$ and isospin $I_f$ degeneracy
+factor for fragment ( fragments with $A_f > 1$ are treated as the
+Boltzmann particles), $\lambda_{T_b} = (2\pi h^2/m_N T_b)^{1/2}$ is the
+thermal wavelength, $m_N$ is the nucleon mass, $r_0 = 1.17$ \ fm,
+$T_c=18$ \ MeV is the critical temperature, which corresponds to the
+liquid-gas phase transition. $\epsilon(A_f) = \epsilon_0[1 + 3/(A_f-1)]$
+is the inverse level density of the mass $A_f$ fragment and
+$\epsilon_0=16$ \ MeV is considered as a variable model parameter, whose
+value depends on the fraction of energy transferred to the internal
+degrees of freedom of fragments \cite{Botvina87}. The free volume $V_f
+=\kappa V=\kappa\frac{4}{3}\pi r_0^4 A$ available to the translational
+motion of fragment, where $\kappa \approx 1$ and its dependence on the
+multiplicity of fragments was taken from \cite{Botvina87}:
+\begin{equation}
+\label{MFS13}\kappa =[1 + \frac{1.44}{r_0A^{1/3}}(M^{1/3} - 1)]^{3} - 1.
+\end{equation}
+For $M = 1$ $\kappa = 0$.
+
+The light fragments with $A_f < 4$, which have no excited
+states, are considered as elementary particles characterized by the
+empirical masses $M_f$, radii $R_f$, binding energies $B_f$, spin
+degeneracy factors $g_f$ of ground states.  They contribute to the
+translation free energy and Coulomb energy.
+
+
+\subsection{ Direct simulation of the low multiplicity multifragment
+disintegration.} 
+
+\hspace{1.0em}At comparatively low excitation energy (temperature)
+system will disintegrate into a small number of fragments $M \leq 4$ and
+number of channel is not huge. For such situation a direct
+(microcanonical) sorting of all decay channels can be performed. Then,
+using Eq. ($\ref{MFS1}$), the average multiplicity value $<M>$ can be
+found.  To check that we really have the situation with the low
+excitation energy, the obtained value of $<M>$ is examined to obey the
+inequality $<M> \leq M_0$, where $M_0 = 3.3$ and $M_0 = 2.6$ for $A \sim
+100$ and for $A \sim 200$, respectively \cite{Botvina87}.  If the
+discussed inequality is fulfilled, then the set of channels under
+consideration is belived to be able for a correct description of the
+break up. Then using calculated according Eq. ($\ref{MFS1}$)
+probabilities we can randomly select a specific channel with given
+values of $A_f$ and $Z_f$.
+ 
+
+\subsection{ Fragment multiplicity distribution.}
+
+\hspace{1.0em}The individual fragment multiplicities $N_{A_f,Z_f}$ in
+the so-called macrocanonical ensemble \cite{BBIMS95} are distributed
+according to the Poisson distribution:
+\begin{equation}
+\label{MFS14} P(N_{A_f,Z_f}) = \exp{(-\omega_{A_f,Z_f})}
+\frac{\omega_{A_f,Z_f}^{N_{A_f,Z_f}}}{N_{A_f,Z_f}!}
+\end{equation}
+with mean value $<N_{A_f,Z_f}>=\omega_{A_f,Z_f}$ defined as
+\begin{equation}
+\label{MFS15} <N_{A_f,Z_f}> =g_fA_f^{3/2}\frac{V_f}{\lambda^3_{T_b}}
+\exp{[\frac{1}{T_b}(F_f(T_b,V)-F^{t}_f(T_b,V) - \mu A_f - \nu Z_f)]}, 
+\end{equation}
+where $\mu$ and $\nu$ are chemical potentials. The chemical potential
+are found by substituting Eq. ($\ref{MFS15}$) into the system of
+constraints:
+\begin{equation}
+\label{MFS16}\sum_{f}<N_{A_f,Z_f}>A_f = A 
+\end{equation}
+and
+\begin{equation}
+\label{MFS17}\sum_{f}<N_{A_f,Z_f}>Z_f = Z
+\end{equation}
+and solving it by iteration. 
+ 
+ 
+\subsection{ Atomic number distribution of fragments.}
+
+\hspace{1.0em}Fragment atomic numbers $A_f > 1$ are also distributed
+according to the Poisson distribution \cite{BBIMS95} (see
+Eq. ($\ref{MFS14}$)) with mean value $<N_{A_f}>$ defined as
+\begin{equation}
+\label{MFS18} <N_{A_f}> = A_f^{3/2}\frac{V_f}{\lambda^3_{T_b}}
+\exp{[\frac{1}{T_b}(F_f(T_b,V)-F^{t}_f(T_f,V) - \mu A_f - \nu <Z_f>)]}, 
+\end{equation}
+where calculating  the  internal free energy  
+$F_f(T_b,V)-F^{t}_f(T_b,V)$  one has to substitute $Z_f
+\rightarrow <Z_f>$. The average  charge $<Z_f>$ for fragment having atomic 
+number $A_f$ is given by
+\begin{equation}
+\label{MFS19}<Z_f(A_f)> = \frac{(4\gamma + \nu)A_f}{8\gamma + 2[1 - (1 +
+\kappa)^{-1/3}]A_f^{2/3}}.
+\end{equation}
+
+\subsection{ Charge distribution of fragments.}
+
+\hspace{1.0em}At given mass of fragment $A_f > 1$ the charge $Z_f$
+distribution of fragments are described by Gaussian
+\begin{equation}
+\label{MFS20} P(Z_f(A_f))\sim \exp{[-\frac{(Z_f(A_f) - 
+<Z_f(A_f)>)^2}{2(\sigma_{Z_f}(A_f))^2}]}
+\end{equation} 
+with dispertion 
+\begin{equation}
+\label{MFS21}\sigma_{Z_f(A_f)} = \sqrt{\frac{A_fT_b}
+{8 \gamma + 2[1 - (1 +\kappa)^{-1/3}]A_f^{2/3}}} 
+\approx \sqrt{\frac{A_fT_b}{8 \gamma}}.
+\end{equation} 
+and the average charge $<Z_f(A_f)>$ defined by Eq. ($\ref{MFS17}$).
+
+\subsection{ Kinetic energy distribution of fragments.}
+
+\hspace{1.0em}It is assumed \cite{Botvina87} that at the instant of the
+nucleus break-up the kinetic energy of the fragment $T^{f}_{kin}$ in the
+rest of nucleus obeys the Boltzmann distribution at given temperature
+$T_b$:
+\begin{equation}
+\label{MFS22} \frac{dP(T^{f}_{kin})}{dT^{f}_{kin}}\sim \sqrt{T^{f}_{kin}}
+\exp{(-T^{f}_{kin}/T_b)}.
+\end{equation}
+Under assumption of thermodynamic equilibrium the fragment have
+isotropic velocities distribution in the rest frame of nucleus. The
+total kinetic energy of fragments should be equal $\frac{3}{2}MT_b$,
+where $M$ is fragment multiplicity, and the total fragment momentum
+should be equal zero. These conditions are fullfilled by choosing
+properly the momenta of two last fragments.
+
+The initial conditions for the divergence of the fragment system are
+determined by random selection of fragment coordinates distributed with
+equal probabilities over the break-up volume $V_f = \kappa V$. It can be
+a sphere or prolongated ellipsoid. Then Newton's equations of motion are
+solved for all fragments in the self-consistent time-dependent Coulomb
+field \cite{Botvina87}.  Thus the asymptotic energies of fragments
+determined as result of this procedure differ from the initial values by
+the Coulomb repulsion energy.
+
+\subsection{Calculation of the fragment excitation energies.} 
+
+\hspace{1.0em}The temparature $T_b$ determines the average excitation
+energy of each fragment:
+\begin{equation}
+\label{MFS23} U_{f}(T_b) = E_f(T_b) - E_f(0) =  \frac{T_b^2}{\epsilon_0}A_f +
+[\beta(T_b) - T_b \frac{d\beta(T_b)}{dT_b} - \beta_0]A^{2/3}_f,  
+\end{equation} 
+where $E_f(T_b)$ is the average fragment energy at given temperature
+$T_b$ and $\beta(T_b)$ is defined in Eq. ($\ref{MFS8}$).  There is no
+excitation for fragment with $A_f < 4$, for $^{4}He$ excitation energy
+was taken as $U_{^{4}He} = 4T^2_b/\epsilon_o$.
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Multifragmentation/MultifragmentationModel.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Multifragmentation/MultifragmentationModel.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Multifragmentation/MultifragmentationModel.tex	(revision 1208)
@@ -0,0 +1,6 @@
+\chapter{Multifragmentation model.}
+
+\input{hadronic/theory_driven/Multifragmentation/MultFragSim}
+
+\input{hadronic/theory_driven/Multifragmentation/MultifragmentationModelReferences}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Multifragmentation/MultifragmentationModelReferences.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Multifragmentation/MultifragmentationModelReferences.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Multifragmentation/MultifragmentationModelReferences.tex	(revision 1208)
@@ -0,0 +1,31 @@
+
+\begin{latexonly}
+
+\begin{thebibliography}{599}
+
+\bibitem{BBIMS95} Bondorf J. P., Botvina A. S., Iljinov A. S., Mishustin I.
+N., Sneppen K., Phys. Rep. {\bf 257} 133 (1995).
+
+\bibitem{Botvina87} Botvina A. S. {\it et al.}, Nucl. Phys. {\bf A475} 663
+(1987).
+
+\end{thebibliography}
+
+\end{latexonly}
+
+
+\begin{htmlonly}
+
+\section{Bibliography}
+
+\begin{enumerate}
+\item Bondorf J. P., Botvina A. S., Iljinov A. S., Mishustin I.
+N., Sneppen K., Phys. Rep. {\bf 257} 133 (1995).
+
+\item Botvina A. S. {\it et al.}, Nucl. Phys. {\bf A475} 663
+(1987).
+
+\end{enumerate}
+
+\end{htmlonly}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/CVS/Entries	(revision 1208)
@@ -0,0 +1,12 @@
+/KinkyStringDecay.tex/1.3/Wed Dec 16 18:09:29 1998//
+/KinkyStringExcitation.tex/1.3/Wed Dec 16 18:09:30 1998//
+/LongitudinalStringDecay.tex/1.4/Mon Feb 22 18:17:25 1999//
+/LongitudinalStringExcitation.tex/1.7/Thu Dec  9 19:16:14 2004//
+/OneStringExcitation.tex/1.2/Sat Dec  5 11:22:45 1998//
+/PartonStringModel.tex/1.6/Thu Dec  8 22:36:17 2005//
+/PartonStringModelAlgorithm.tex/1.3/Wed Dec 16 18:09:33 1998//
+/PartonStringReferences.tex/1.3/Sat Dec 11 06:53:40 2004//
+/ReactionInitialStatePSM.tex/1.6/Tue Nov 15 01:38:05 2005//
+/SampleLongitudinalKinkyStrings.tex/1.3/Sat Dec  5 11:22:46 1998//
+/SampleParticipants.tex/1.6/Wed Mar 10 15:52:08 1999//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/KinkyStringDecay.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/KinkyStringDecay.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/KinkyStringDecay.tex	(revision 1208)
@@ -0,0 +1,19 @@
+\section{Kinky string decay simulation.}
+
+\hspace{1.0em}
+For kinky string decay simulation we have assumed the two steps process:
+\begin{enumerate}
+\item split gluon $g\rightarrow q_1 \bar{q}_1$ and create two longitudinal 
+strings;
+\item decay longitudunal strings $q\bar{q}_1 \rightarrow h$ and
+ $\bar{q}q_1 \rightarrow h$ into hadrons $h$.
+\end{enumerate}
+The production of $q_1\bar{q}_1$ is considered similar (the same sampling of 
+quark flavors and the same $p_t$-distribution for the quarks) as a production 
+of $q\bar{q}$-pairs during a longitudinal string decay. 
+We use the $g\rightarrow q_1\bar{q}_1$ splitting function \cite{APKW80}:
+\begin{equation}
+\label{KSD1}f^{q}_{g}(z)=z^2+(1-z)^2,
+\end{equation}
+where $z=\frac{E_q+p^z_q}{E_g+p^z_g}$, derived by Altarelli and 
+Parisi \cite{AP77}. 
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/KinkyStringExcitation.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/KinkyStringExcitation.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/KinkyStringExcitation.tex	(revision 1208)
@@ -0,0 +1,76 @@
+\section {Kinky string excitation.}
+
+\hspace{1.0em}Having sampled the configuration of kinky strings  
+we generate outgoing gluon--kink momenta.
+ 
+We assume that kinky strings are produced as result of $gg \rightarrow
+gg$ hard interactions. Our generation of the outgoing gluons (kinks)
+momenta is based on the two-jets inclusive production cross section:
+\begin{equation}
+\label{KSE1} \frac{d\sigma_{gg}}{dx_g^{+}dx_g^{-}d\cos{\theta}}=
+ f(x_g^{+},Q^2)f(x_g^{-},Q^2)\frac{d\sigma_{gg}(\hat{s})}{d\cos{\theta}},
+\end{equation}
+where we take $\hat{s}=Q^2=x_g^{+}x_g^{-}s$ and $s$ is the total
+colliding system center of mass energy squared, which calculated using
+ $x_i$ and $q_{ti}$ and $m^2_i$ string end partons. The value
+of $s$ should be large enough to produce gluons with the transverse momentum
+cutoff $Q^2_{0} = 2 \ GeV^2$ choosen.  The QCD gluon -- gluon
+interaction cross section
+\begin{equation}
+\label{KSE2}
+\frac{d\sigma_{gg}(\hat{s})}{d\cos{\theta}} = \frac{9\pi
+\alpha^2_s(Q^2)}{32s}\frac{(3+\cos^2{\theta})^3}{(1-\cos^2{\theta})^2}
+\end{equation}
+was calculated in the Born approximation \cite{CKR77}.  The $\theta$ is
+the scattering angle in the center of mass of the parton-parton system
+and $-z_0 < \cos{\theta} < z_0$ with
+\begin{equation}
+\label{KSE3} z_0 = \sqrt{1 - \frac{4Q^2_0}{sx^{+}x^{-}}}.
+\end{equation}  
+The QCD running coupling constant 
+\begin{equation}
+\label{KSE4}\alpha_s(Q^2) = \frac{12 \pi}{25 \ln{(Q^2/\Lambda^2)}},
+\end{equation} 
+which is corresponding to four flavours and $\Lambda^2 = 0.01$ GeV$^2$
+is taken.
+
+$f(x,Q^2)$ is the momentum fraction distribution of gluons in hadron. It
+is choosen from\cite{CKMT95}:
+\begin{equation}
+\label{KSE5}
+f(x,Q^2) = A(Q^2)\frac{x^{-\Delta(Q^2)}}{x}(1 - x)^{n(Q^2)+3} 
+\end{equation}
+with parameters $\Delta(Q^2) = \Delta (1 + \frac{2Q^2}{Q^2 + 1.12})$ and
+$n(Q^2) = \frac{3}{2}(1+\frac{Q^2}{Q^2 + 3.55})$ and $A(Q^2)$ is
+calculated from energy-momentum conservation sum rule.  At $Q^2_{0} = 2
+\ GeV^2$
+\begin{equation}
+\label{KSE6}
+f(x,Q^2_{0}) = 1.71\frac{x^{-0.18}}{x}(1 - x)^{5}. 
+\end{equation}
+
+Thus the MC procedure to build the kinky strings can be outlined as 
+follows:
+%
+\begin{itemize}
+
+\item Sample $x_i$, ${\bf q_{it}}$ and $m^2_i$, where $i = 1,2,...,2n$,
+ for partons, which will be on the $2n$ string ends for both the soft
+ and kinky strings.
+
+\item For each pair of kinky string calculate total center of mass energy 
+$s$ and sample $x^{+}_{min} < x^{+}$ and $x^{-}_{min} < x^{-}$, where 
+$x_{min} = 2Q_{0}/\sqrt{s}$,  
+for ingoing gluon momenta
+using gluon distribution function defined by Eq.($\ref{KSE6}$) at
+$Q^2_0 = 2$ GeV$^2$.
+
+\item Sample the outgoing gluon center of mass scattering angle $\theta$ 
+using Eq. ($\ref{KSE2}$).
+
+\item For each kinky string recalculate parton string end energies and
+momenta.
+
+\end{itemize}
+This procedure should be improved taking into account initial and final state 
+gluon radiation.
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/LongitudinalStringDecay.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/LongitudinalStringDecay.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/LongitudinalStringDecay.tex	(revision 1208)
@@ -0,0 +1,103 @@
+\section{Longitudinal string decay.}
+
+\subsection{Hadron production by string fragmentation.}
+\hspace{1.0em}A string is stretched between flying away constituents:
+quark and antiquark or quark and diquark or diquark and antidiquark or
+antiquark and antidiquark.  From knowledge of the constituents
+longitudinal $p_{3i}=p_{zi}$ and transversal $p_{1i}=p_{xi}$,
+$p_{2i}=p_{yi}$ momenta as well as their energies $p_{0i} = E_{i}$,
+where $i=1,2$, we can calculate string mass squared:
+\begin{equation}
+\label{LSD1} M^2_S=p^{\mu}p_{\mu}=p^2_0-p^2_1-p^2_2-p^2_3,
+\end{equation}
+where $p_{\mu} = p_{\mu 1}+p_{\mu 2}$ is the string four momentum and 
+ $\mu = 0,1,2,3$. 
+ 
+The fragmentation of a string follows an iterative scheme:
+\begin{equation}
+string \Rightarrow hadron + new \ string,
+\end{equation}
+\textit{i. e.} a quark-antiquark (or diquark-antidiquark) pair is
+created and placed between leading quark-antiquark (or diquark-quark or
+diquark-antidiquark or antiquark-antidiquark) pair.
+
+The values of the strangeness suppression and diquark suppression
+factors are
+\begin{equation}
+\label{LSD2} u:d:s:qq = 1:1:0.35:0.1.
+\end{equation}
+
+A hadron is formed randomly on one of the end-points of the string. The
+quark content of the hadrons determines its species and charge.  In the
+chosen fragmentation scheme we can produce not only the groundstates of
+baryons and mesons, but also their lowest excited states.  If for baryons the
+quark-content does not determine whether the state belongs to the lowest
+octet or to the lowest decuplet, then octet or decuplet are choosen with
+equal probabilities.
+ In the case
+of mesons the multiplet must also be determined before a type of hadron
+can be assigned. The probability of choosing a certain multiplet depends
+on the spin of the multiplet.
+
+ The zero transverse
+momentum of created quark-antiquark (or diquark-antidiquark) pair is
+defined by the sum of an equal and opposite directed transverse momenta
+of quark and antiquark.
+
+The transverse momentum of created quark is randomly sampled according
+to probability ($\ref{LSE4}$) 
+with the parameter $a = 0.25$ GeV$^{-2}$. Then a hadron transverse momentum
+${\bf p_t}$ is determined by the sum of the transverse momenta of its
+constituents.
+
+The fragmentation function $f^h(z,p_t)$ represents the probability
+distribution for hadrons with the transverse momenta $\bf{p_t}$ to
+aquire the light cone momentum fraction 
+$z=z^{\pm}=(E^h \pm p^h_z/(E^q \pm p^q_z)$, where $E^h$ and $E^q$ are 
+the hadron and fragmented quark energies, respectively 
+and $p^h_z$ and $p^q_z$ are hadron and fragmented quark longitudinal momenta, 
+respectively, 
+and $z^{\pm}_{min} \leq z^{\pm} \leq z^{\pm}_{max}$, from the
+fragmenting string. The values of $z^{\pm}_{min,max}$ are determined by
+hadron $m_h$ and constituent transverse masses and the available string
+mass. One of the most common fragmentation function is  used in
+the LUND model \cite{LUND83}:
+\begin{equation}
+\label{LSD5} f^h (z, p_t) \sim \frac{1}{z}(1-z)^a
+\exp{[-\frac{b(m_h^2+p_t^2)}{z}]}.
+\end{equation}
+One can use this fragmentation function for the decay of the excited 
+string.
+
+One can use also the fragmentation functions are derived in \cite{Kai87}:
+\begin{equation}
+\label{LSD6} f^{h}_q (z, p_t)=[1+\alpha^h_q(<p_t>)] (1-z)^{\alpha^h_q(<p_t>)}.
+\end{equation}
+The advantage of these functions as compared to the LUND fragmentation
+function is that they have correct three--reggeon behaviour at
+$z\rightarrow 1$ \cite{Kai87}.
+
+\subsection{The hadron formation time and coordinate.}
+
+\hspace{1.0em}To calculate produced hadron formation times and longitudinal 
+coordinates we consider the $(1+1)$-string  with mass $M_S$ and string
+tension $\kappa$, which decays into hadrons at string rest frame.  The
+$i$-th produced hadron has energy $E_i$ and its longitudinal momentum
+$p_{zi}$, respectively. Introducing light cone variables $p^{\pm}_{i}=
+E_{i} \pm p_{iz}$ and numbering string breaking points consecutively
+from right to left we obtain $p^{+}_{0} = M_{S}$, $p_{i}^{+}=\kappa
+(z^{+}_{i-1}-z_i^{+})$ and $p_{i}^{-} = \kappa x^{-}_i$.
+
+We can identify the hadron formation point coordinate and time as the
+point in space-time, where the quark lines of the quark-antiquark pair
+forming the hadron meet for the first time (the so-called 'yo-yo'
+formation point \cite{LUND83}): 
+\begin{equation}
+\label{LSD7}t_i = \frac{1}{2\kappa}[M_S - 2 \sum_{j=1}^{i-1}p_{zj} + E_i -
+p_{zi}]
+\end{equation}
+and coordinate 
+\begin{equation}
+\label{LSD8}
+z_i = \frac{1}{2\kappa}[M_S - 2 \sum_{j=1}^{i-1}E_{j} + p_{zi}- E_i].
+\end{equation}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/LongitudinalStringExcitation.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/LongitudinalStringExcitation.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/LongitudinalStringExcitation.tex	(revision 1208)
@@ -0,0 +1,144 @@
+\section{Longitudinal string excitation}
+
+\subsection{Hadron--nucleon inelastic collision}
+
+\hspace{1.0em}Let us consider collision of two hadrons with their c. m. momenta 
+$P_1 = \{E^{+}_1,m^2_1/E^{+}_1,{\bf 0}\}$ and $P_2 =
+\{E^{-}_2,m^2_2/E^{-}_2,{\bf 0}\}$, where the light-cone variables
+$E^{\pm}_{1,2} = E_{1,2} \pm P_{z1,2}$ are defined through hadron
+energies $E_{1,2}=\sqrt{m^2_{1,2} + P^2_{z1,2}}$, hadron longitudinal
+momenta $P_{z1,2}$ and hadron masses $m_{1,2}$, respectively. Two
+hadrons collide by two partons with momenta $p_1 = \{x^{+}E^{+}_1,0,{\bf
+0}\}$ and $p_2 = \{0, x^{-}E^{-}_2,{\bf 0}\}$, respectively.
+
+\subsection{The diffractive string excitation} 
+
+In the diffractive string excitation (the Fritiof approach \cite{FRITIOF87})
+ only momentum can be transferred:
+\begin{equation}
+\label{LSE1}
+\begin{array}{cc}
+P^{\prime}_1 = P_1 + q\\
+P^{\prime}_2 = P_2 -q,
+\end{array}
+\end{equation}
+where 
+\begin{equation}
+\label{LSE2}q=\{-q^2_t/(x^{-}E^{-}_2),q^2_t/(x^{+}E^{+}_1),\bf q_t \}
+\end{equation}
+ is parton 
+momentum transferred and ${\bf q_t}$ is its transverse component.
+We use the Fritiof approach to simulate the diffractive excitation of 
+particles.
+ 
+\subsection{The string excitation by parton exchange}
+
+\hspace{1.0em}For this case the parton exchange (rearrangement) and
+the momentum exchange are allowed \cite{QGSM82},\cite{DPM94},\cite{Am86}:
+\begin{equation}
+\label{LSE3}
+\begin{array}{cc}
+P^{\prime}_1 = P_1 - p_1 + p_2 + q \\
+P^{\prime}_2 = P_2 + p_1 - p_2 - q,
+\end{array}
+\end{equation}
+where $q= \{0,0, {\bf q_t}\}$ is parton momentum transferred, i. e. only
+its transverse components ${\bf q_t} = 0$ is taken into account.
+
+\subsection{Transverse momentum sampling}
+
+\hspace{1.0em}The transverse component of the parton momentum
+transferred is generated according to probability
+\begin{equation}
+\label{LSE4}P({\bf q_t})d{\bf q_t} = 
+\sqrt{\frac{a}{\pi}} \exp{(-aq^2_t)}d{\bf q_t},
+\end{equation}
+where  parameter $a = 0.6$ GeV$^{-2}$.
+
+\subsection{Sampling x-plus and x-minus}
+
+Light cone parton quantities $x^{+}$ and $x^{-}$ are generated
+independently and according to distribution:
+\begin{equation}
+\label{LSE5} u(x) \sim x^{\alpha}(1 - x)^{\beta},
+\end{equation}
+where $x=x^{+}$ or $x=x^{-}$.
+Parameters $\alpha =-1$ and $\beta = 0$ are chosen for the FRITIOF approach 
+\cite{FRITIOF87}. In the case of the QGSM approach \cite{Am86} $\alpha = -0.5$ 
+and $\beta = 1.5$ or $\beta = 2.5$.  Masses of the excited strings
+should satisfy the kinematical constraints:
+\begin{equation}
+\label{LSE6} P^{\prime +}_1 P^{\prime -}_1 \geq m^2_{h1} + q^2_t
+\end{equation}
+and
+\begin{equation}
+\label{LSE7} P^{\prime +}_2 P^{\prime -}_2 \geq m^2_{h2} + q^2_t,
+\end{equation}
+where hadronic masses $m_{h1}$ and $m_{h2}$ (model parameters) are
+defined by string quark contents.  Thus, the random selection of the
+values $x^{+}$ and $x^{-}$ is limited by above constraints.
+
+\subsection{The diffractive string excitation} 
+
+\hspace{1.0em}In the diffractive string excitation (the 
+FRITIOF approach \cite{FRITIOF87}) for each
+inelastic hadron--nucleon collision we have to select
+randomly the transverse momentum transferred ${\bf q_t}$ (in accordance
+with the probability given by Eq. ($\ref{LSE4}$)) and select randomly
+the values of $x^{\pm}$ (in accordance with distribution defined by
+Eq. ($\ref{LSE5}$)). Then we have to calculate the parton momentum
+transferred $q$ using Eq. ($\ref{LSE2}$) and update scattered hadron
+and nucleon or scatterred nucleon and nucleon momenta using
+Eq. ($\ref{LSE3}$). For each collision we have to check the constraints
+($\ref{LSE6}$) and ($\ref{LSE7}$), which can be written more
+explicitly:
+\begin{equation}
+\label{LSE8} [E_1^{+} -\frac{q^2_t}{x^{-}E^{-}_2}][\frac{m_1^2}{E^{+}_1} + 
+\frac{q^2_t}{x^{+}E^{+}_1}]\geq m^2_{h1} + q^2_t
+\end{equation}
+and
+\begin{equation}
+\label{LSE9} [E_2^{-} +\frac{q^2_t}{x^{-}E^{-}_2}][\frac{m_2^2}{E^{-}_2} - 
+\frac{q^2_t}{x^{+}E^{+}_1}]\geq m^2_{h1} + q^2_t.
+\end{equation}
+
+\subsection{The string excitation by parton rearrangement} 
+
+\hspace{1.0em}In this approach \cite{Am86} strings (as result of parton
+rearrangement) should be spanned not only between valence quarks of
+colliding hadrons, but also between valence and sea quarks and between
+sea quarks.  The each participant hadron or nucleon should be splitted
+into set of partons: valence quark and antiquark for meson or valence
+quark (antiquark) and diquark (antidiquark) for baryon (antibaryon) and
+additionaly the $(n-1)$ sea quark-antiquark pairs (their flavours are
+selected according to probability ratios $ u:d:s = 1:1:0.35$), if hadron
+or nucleon is participating in the $n$ inelastic collisions.  Thus for
+each participant hadron or nucleon we have to generate a set of light
+cone variables $x_{2n}$, where $x_{2n}=x^{+}_{2n}$ or
+$x_{2n}=x^{-}_{2n}$ according to distribution:
+\begin{equation}
+\label{LS10} f^{h}(x_1,x_2,...,x_{2n})=f_{0}\prod_{i=1}^{2n}u^h_{q_i}(x_i)
+\delta{(1-\sum_{i=1}^{2n}x_i)},
+\end{equation}
+where $f_0$ is the normalization constant.
+Here, the quark structure functions $u_{q_i}^h(x_i)$ for valence quark 
+(antiquark) $q_v$, 
+sea quark and antiquark $q_s$ and valence diquark (antidiquark) $qq$ are:
+\begin{equation}
+\label{LS11}
+u^h_{q_v}(x_v)=x_v^{\alpha_v},\ u^h_{q_s}(x_s)=x_s^{\alpha_s},\ u^h_{qq}(x_{qq})
+=x_{qq}^{\beta_{qq}},
+\end{equation}
+where $\alpha_v = -0.5$ and $\alpha_s = -0.5$ \cite{QGSM82} 
+ for the non-strange quarks (antiquarks) and $\alpha_v =
+0$ and $\alpha_s = 0$ for strange quarks (antiquarks), $\beta_{uu} =
+1.5$ and $\beta_{ud} = 2.5$ for proton (antiproton) and $\beta_{dd} =
+1.5$ and $\beta_{ud} = 2.5$ for neutron (antineutron).  Usualy $x_i$ are
+selected between $x^{min}_i \leq x_i \leq 1$, where model parameter
+$x^{min}$ is a function of initial energy, to prevent from production of
+strings with low masses (less than hadron masses), when whole selection
+procedure should be repeated.  Then the transverse momenta of partons
+${\bf q_{it}}$ are generated according to the Gaussian probability
+Eq. ($\ref{LSE4}$) with $a = 1/4\Lambda(s)$ and under the constraint: $\sum_{i=1}^{2n}{\bf
+q_{it}}=0$. The partons are considered as the off-shell partons,
+i. e. $m^2_i \neq 0$.
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/OneStringExcitation.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/OneStringExcitation.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/OneStringExcitation.tex	(revision 1208)
@@ -0,0 +1,49 @@
+\subsection{Quark or diquark annihilation in hadronic processes.}
+
+\hspace{1.0em}
+We consider also hadron-hadron inelastic processes when antiquark or 
+antidiquark from hadron projectile annihilate with corresponding quark 
+or diquark from hadron target.
+In this case excitation of one baryonic (string with quark and diquark 
+ends) or mesonic (string with quark and antiquark ends) is created, 
+respectively. These processes in the Regge theory correspond to cut 
+reggeon exchange diagrams. Initial energy $\sqrt{s}$ 
+dependences of these processes 
+cross sections are defined by  intercepts of reggeon exchange trajectories.
+For example $\sigma_{\pi^{+}p\rightarrow S(s)} \sim s^{\alpha_{\rho}(0)-1}$, 
+$S$ notes string and $\alpha_{\rho}(0)$ is the intercept of $\rho$ reggeon 
+trajectory. Thus $\sigma_{\pi^{+}p\rightarrow S(s)}
+$ decreases with energy 
+rise. Cross sections for other quark and diquark proccesses have simiar 
+as $\sigma_{\pi^{+}p\rightarrow S(s)}$ initial energy dependences. 
+Thus quark and diquark annihilation processes are important at 
+relative low initial energies. Another example of these processes is 
+$\bar{p}p \rightarrow S$, which is used in the kinetic model to describe 
+final state of $\bar{p}p$ annihilation.
+Simulation of such kind process is rather simple. We should randomly 
+(according to weight calculated using hadron wave function)
+choose quark (antiquark) or diquark (antidiquark) from projectile and 
+find suitable (with the same flavor content) partner for annihilation 
+from target. The created string four-momentum will be equal total reaction 
+four-momentum since annihilated system has small neglected momentum (only 
+low momenta quarks are able to annihilate).
+ 
+To determine statistical weights for 
+ quark annihilation processes are leading to a string production 
+and separate them from processes, when two or more strings can be produced we 
+use the Regge motivated total cross section parametrization suggested by
+Donnachie and Landshoff \cite{DL92}. Using their parametrization the
+statistical weight for the one string production process is given by
+\begin{equation}
+\label{OSE1} W_{1} = \frac{Y_{hN}s^{-\eta}}{\sigma^{tot}_{hN}(s)}
+\end{equation}
+and statistical weight to produce two and more strings is given by 
+\begin{equation}
+\label{OSE2} W_{2} = \frac{X_{hN}s^{\epsilon}}{\sigma^{tot}_{hN}(s)},
+\end{equation}
+where hadron-nucleon total cross sections  $\sigma^{tot}_{hN}(s)$ and its 
+fit parameters $Y_{hN}$, $X_{hN}$, which do not depend 
+from the total c.m. energy squared $s$ and depend on type of
+projectile hadron $h$ and target nucleon $N$ can be found in \cite{PDG96}. 
+The reggeon intercept $\eta \approx 
+0.45$ and the pomeron intercept $\epsilon \approx 0.08$.
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/PartonStringModel.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/PartonStringModel.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/PartonStringModel.tex	(revision 1208)
@@ -0,0 +1,18 @@
+\chapter{Parton string model.} 
+
+\input{hadronic/theory_driven/PartonString/ReactionInitialStatePSM}
+
+\input{hadronic/theory_driven/PartonString/SampleParticipants}
+
+\input{hadronic/theory_driven/PartonString/LongitudinalStringExcitation}
+
+\input{hadronic/theory_driven/PartonString/LongitudinalStringDecay}
+
+\section{Status of this document}
+
+05.12.05 corrected units on hbarc in section 1 - D.H. Wright \\
+00.00.00 created by ?? \\
+
+\input{hadronic/theory_driven/PartonString/PartonStringReferences}
+
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/PartonStringModelAlgorithm.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/PartonStringModelAlgorithm.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/PartonStringModelAlgorithm.tex	(revision 1208)
@@ -0,0 +1,24 @@
+\section{Parton string model MC procedure.}
+
+\hspace{1.0em} 
+The parton string model algorithm can be considered as a set of 
+steps should be performed:
+\begin{enumerate}
+\item Create two vectors (projectile and target) of particles: assign initial 
+projectile and target particle types, their coordinates and momenta.
+In the case of hadron-nucleus (or nucleus-nucleus) interaction 
+one should perform
+target nucleus (or projectile and target nuclei) initial state simulation
+ and sample impact parameter;
+\item Sample 
+collision participants and separated them into diffractive and non-diffractive.
+Store the total interaction four momentum of participants;
+\item For non-diffractive inelastic collisions sample the number 
+of the soft longitudinal and hard kinky string can be produced.
+\item Excite and reexcite colliding particles in the case of diffractive collisions and 
+create diffractive longitudinal strings, if particles are not participate in 
+further soft or hard collisions;
+\item Perform longitudinal and kinky string excitations;
+\item Perform string decay simulation;
+\item Correct energies and momenta of produced particles, if it is needed.
+\end{enumerate}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/PartonStringReferences.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/PartonStringReferences.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/PartonStringReferences.tex	(revision 1208)
@@ -0,0 +1,101 @@
+
+\begin{latexonly}
+
+\begin{thebibliography}{599}
+
+\bibitem{GLMP91} Grypeos M. E., Lalazissis G. A., Massen S. E., Panos C. P.,
+J. Phys. {\bf G17} 1093 (1991).
+
+\bibitem{Elton61} Elton L. R. B., Nuclear Sizes, Oxford University Press, 
+Oxford, 1961.
+
+\bibitem{DF74} DeShalit A., Feshbach H., Theoretical Nuclear Physics, Vol. 1: 
+Nuclear Structure, Wyley, 1974.
+
+\bibitem{BM69} Bohr A., Mottelson B. R., Nuclear Structure, W. A. Benjamin, 
+New York, Vol. 1, 1969.
+
+\bibitem{CK78} Capella A. and Krzywicki A., Phys. Rev. {\bf D18} 
+(1978) 4120. 
+
+\bibitem{BT76} Baker M. and Ter--Martirosyan K. A.,  Phys. Rep.
+{\bf 28C} (1976) 1.
+
+\bibitem{Am86}  Amelin N. S., Gudima K. K., Toneev V. D.,
+  Sov. J. Nucl. Phys. {\bf 51} (1990) 327; 
+   Amelin N. S.,  JINR Report {\bf P2-86-56} (1986).
+
+\bibitem{AGK74} Abramovskii V. A., Gribov V. N., Kancheli O. V.,
+ Sov. J. Nucl. Phys.
+{\bf 18} (1974) 308.
+
+\bibitem{FRITIOF87} Andersson B., Gustafson G., Nielsson-Almquist, Nucl. 
+Phys. {\bf 281} 289 (1987).
+
+\bibitem{QGSM82} Kaidalov A. B., Ter-Martirosyan K. A., Phys. Lett. {\bf B117} 
+ 247 (1982).
+
+\bibitem{DPM94} Capella A., Sukhatme U., Tan C. I., Tran Thanh Van. J., Phys. 
+Rep. {\bf 236} 225 (1994).
+
+\bibitem{LUND83} Andersson B., Gustafson G., Ingelman G., 
+Sj\"ostrand T., Phys. Rep. {\bf 97} 31 (1983).
+
+\bibitem{Kai87} Kaidalov A. B., Sov. J. Nucl. Phys. {\bf 45}
+ 1452 (1987).
+
+\end{thebibliography}
+
+\end{latexonly}
+
+
+\begin{htmlonly}
+
+\section{Bibliography}
+
+\begin{enumerate}
+\item Grypeos M. E., Lalazissis G. A., Massen S. E., Panos C. P.,
+J. Phys. {\bf G17} 1093 (1991).
+
+\item Elton L. R. B., Nuclear Sizes, Oxford University Press, 
+Oxford, 1961.
+
+\item DeShalit A., Feshbach H., Theoretical Nuclear Physics, Vol. 1: 
+Nuclear Structure, Wyley, 1974.
+
+\item Bohr A., Mottelson B. R., Nuclear Structure, W. A. Benjamin, 
+New York, Vol. 1, 1969.
+
+\item Capella A. and Krzywicki A., Phys. Rev. {\bf D18} 
+(1978) 4120. 
+
+\item Baker M. and Ter--Martirosyan K. A.,  Phys. Rep.
+{\bf 28C} (1976) 1.
+
+\item Amelin N. S., Gudima K. K., Toneev V. D.,
+  Sov. J. Nucl. Phys. {\bf 51} (1990) 327; 
+   Amelin N. S.,  JINR Report {\bf P2-86-56} (1986).
+
+\item Abramovskii V. A., Gribov V. N., Kancheli O. V.,
+ Sov. J. Nucl. Phys.
+{\bf 18} (1974) 308.
+
+\item Andersson B., Gustafson G., Nielsson-Almquist, Nucl. 
+Phys. {\bf 281} 289 (1987).
+
+\item Kaidalov A. B., Ter-Martirosyan K. A., Phys. Lett. {\bf B117} 
+ 247 (1982).
+
+\item Capella A., Sukhatme U., Tan C. I., Tran Thanh Van. J., Phys. 
+Rep. {\bf 236} 225 (1994).
+
+\item Andersson B., Gustafson G., Ingelman G., 
+Sj\"ostrand T., Phys. Rep. {\bf 97} 31 (1983).
+
+\item Kaidalov A. B., Sov. J. Nucl. Phys. {\bf 45}
+ 1452 (1987).
+
+\end{enumerate}
+
+\end{htmlonly}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/ReactionInitialStatePSM.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/ReactionInitialStatePSM.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/ReactionInitialStatePSM.tex	(revision 1208)
@@ -0,0 +1,96 @@
+\section{Reaction initial state simulation.}
+
+\subsection{Allowed projectiles and bombarding energy range for interaction 
+with nucleon and nuclear targets.}
+\hspace{1.0em}
+The GEANT4 parton string models are capable to predict final states (produced 
+hadrons 
+which belong to the scalar and vector meson nonets and the baryon (antibaryon) 
+octet and decuplet) of reactions on nucleon and nuclear targets 
+with nucleon, pion and kaon
+ projectiles. The allowed bombarding energy 
+ $\sqrt{s} > 5$ \ GeV is recommended. 
+ Two approaches, based on diffractive excitation or soft scattering with
+ diffractive admixture according to cross-section, are considered.
+\hspace{1.0em}Hadron-nucleus  collisions in the both
+approaches (diffractive and parton exchange) are considered 
+as a set of the independent hadron-nucleon collisions. 
+ However, the string excitation procedures
+in these approaches are rather different.
+
+\subsection{ MC initialization procedure for nucleus.}
+\hspace{1.0em}The initialization of each nucleus, consisting from $A$
+nucleons and $Z$ protons with coordinates $\mathbf{r}_i$ and momenta
+$\mathbf{p}_i$, where $i = 1,2,...,A$ is performed.
+We use the standard initialization Monte Carlo procedure, which
+is realized in the most of the high energy nuclear interaction models:
+\begin{itemize}
+\item Nucleon radii $r_i$ are selected randomly in the rest of nucleus according 
+to proton or neutron density $\rho(r_i)$. 
+For heavy nuclei with $A > 16$ \cite{GLMP91} nucleon density is
+\begin{equation}
+\label{NIS1}\rho(r_i) = 
+ \frac{\rho_0}{1 + \exp{[(r_i - R)/a]}}
+\end{equation}
+where
+\begin{equation}
+\label{NIS2}\rho_0 \approx \frac{3}{4\pi R^3}(1+\frac{a^2\pi^2}{R^2})^{-1}.
+\end{equation} 
+Here $R=r_0 A^{1/3}$ \ fm and $r_0=1.16(1-1.16A^{-2/3})$ \ fm and $a
+\approx 0.545$ fm.  For light nuclei with $A < 17$ nucleon density is
+given by a harmonic oscillator shell model \cite{Elton61}, e. g.
+\begin{equation}
+\label{4aap6} \rho(r_i) = (\pi R^2)^{-3/2}\exp{(-r_i^2/R^2)},
+\end{equation}
+where $R^2 = 2/3<r^2> = 0.8133 A^{2/3}$ \ fm$^2$.
+ To take into account nucleon
+repulsive core it is assumed that internucleon distance $d > 0.8$ \ fm;
+
+\item The initial momenta of the nucleons are randomly choosen between $0$ and 
+$p^{max}_F$, where 
+the maximal momenta of nucleons (in the local Thomas-Fermi 
+approximation \cite{DF74}) depends from
+the proton or neutron density $\rho$ according to 
+\begin{equation}
+\label{NIS5} p^{max}_F = \hbar c(3\pi^2 \rho)^{1/3}
+\end{equation}
+with $\hbar c = 0.197327$ GeV fm;
+
+\item To obtain coordinate and momentum components, it
+ is assumed that nucleons are distributed isotropicaly in configuration
+ and momentum spaces;
+
+\item Then perform shifts of nucleon coordinates ${\bf r_j^{\prime}}
+= {\bf r_j} - 1/A \sum_i {\bf r_i}$ and momenta ${\bf p_j^{\prime}}
+= {\bf p_j} - 1/A \sum_i {\bf p_i}$ 
+of nucleon momenta. The nucleus must be centered in configuration space around
+$\mathbf{0}$, \textit{i. e.} $\sum_i {\mathbf{r}_i} = \mathbf{0}$ and
+ the nucleus must be at rest, i. e. $\sum_i {\bf p_i} = \bf 0$;
+
+\item We compute energy per nucleon $e = E/A = m_{N} + B(A,Z)/A$, 
+where $m_N$ is nucleon mass and the nucleus binding energy $B(A,Z)$ is given  
+by the Bethe-Weizs\"acker formula\cite{BM69}:
+\begin{equation}
+\begin{array}{c}
+\label{NIS6} B(A,Z) = \\
+= -0.01587A + 0.01834A^{2/3} + 0.09286(Z- \frac{A}{2})^2 +
+0.00071 Z^2/A^{1/3},
+\end{array}
+\end{equation} 
+ and find the effective mass of each nucleon $m^{eff}_i = 
+\sqrt{(E/A)^2 - p^{2\prime}_i}$.
+\end{itemize}
+
+\subsection{Random choice of the impact parameter.}
+
+\hspace{1.0em}The impact parameter $0 \leq b \leq R_t$ is randomly
+selected according to the probability:
+\begin{equation}
+\label{NIS11}P({\bf b})d{\bf b} = b d{\bf b},
+\end{equation}
+where  $R_t$ is the target  radius,
+respectively. In the case of nuclear projectile or target the nuclear radius is
+determined from condition:
+\begin{equation}
+\label{NIS12}\frac{\rho(R)}{\rho(0)} = 0.01.
+\end{equation}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/SampleLongitudinalKinkyStrings.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/SampleLongitudinalKinkyStrings.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/SampleLongitudinalKinkyStrings.tex	(revision 1208)
@@ -0,0 +1,59 @@
+\subsection{The longitudinal and kinky strings are produced 
+in hadronic collisions.}
+
+\subsection{The number of the cut Pomerons.}
+
+\hspace{1.0em}In the case of a nondiffractive interaction we can
+determine $n$ of cut Pomerons or $2n$ produced strings according to
+probability \cite{AGK74}
+\begin{equation}
+\label{SLKS1}
+ p^{(n)}_{ij}(\vec{ b}_i-\vec{ b}_j,s)
+=c^{-1}\exp{\{-2u(b_{ij}^2,s)\}}
+ \frac{[2u(b_{ij}^2,s)]^{n}}{n!}.
+\end{equation}
+
+\subsubsection{Separation of the longitudinal soft strings from 
+ the kinky hard strings.}
+ 
+\hspace{1.0em}We assume  \cite{ASGABP95}, \cite{WDFHO97} that each cut
+Pomeron can be substituted either by the two longitudinal soft strings
+or by the two kinky hard strings.
+
+At the moment it is not completely clear how to choose which cut 
+pomeron should be 
+substituted by longitudinal and which one should be 
+substituted by kinky strings.
+
+One recipe is based on the eikonal model \cite{RCT94}, \cite{WDFHO97}
+\begin{equation}
+\label{SLKS2}u(b_{ij}^2,s)=u_{soft}(b_{ij}^2,s) + u_{hard}(b_{ij}^2,s).
+\end{equation}
+The soft eikonal part is defined as
+\begin{equation}
+\label{SLKS3}u_{soft}(b_{ij}^2,s) =
+\frac{\gamma _{soft}}{\lambda_{soft} (s)}(s/s_0)^{\Delta_{soft}} 
+\exp (-b_{ij}^2/4\lambda_{soft} (s)). 
+\end{equation}
+The hard part is calculated according to 
+\begin{equation}
+\label{SLKS4}u_{hard}(b_{ij}^2,s)=
+\frac{\sigma_{jet}}{8\pi\lambda_{hard}(s)}
+(s/s_0)^{\Delta_{hard}} 
+\exp (-b_{ij}^2/4\lambda_{hard} (s)). 
+\end{equation} 
+The $\sigma_{jet}=0.027$ mbarn and $\Delta_{hard}=0.47$ were found from the fit of the two--jet 
+experimental cross section \cite{UA1}. Then from the global fit of 
+the total and
+elastic cross sections for $pp$ collisions the values of $\gamma_{soft} = 35.5$ mbarn, $\Delta_{soft}=
+0.07$ and $R^2_{hard} = R^2_{soft} = 3.56$ GeV$^{-2}$ were
+found.
+
+Thus we can examine each cut Pomeron and substitute it by two kinky
+strings with probability
+\begin{equation}
+\label{SLKS5}
+P_{hard}(b^2_{ij},s) = \frac{u_{hard}(b_{ij}^2,s)}{u_{soft}(b_{ij}^2,s)+ 
+u_{hard}(b_{ij}^2,s)}.
+\end{equation}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/SampleParticipants.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/SampleParticipants.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/PartonString/SampleParticipants.tex	(revision 1208)
@@ -0,0 +1,123 @@
+\section{Sample of collision participants
+in nuclear collisions.}
+
+\subsection{MC procedure to define collision participants.}
+\hspace{1.0em} The inelastic
+hadron--nucleus interactions at ultra--relativistic energies are considered 
+as
+independent hadron--nucleon  collisions.  It was shown long
+time ago \cite{CK78} for the hadron--nucleus collision that such a
+picture can be obtained starting from the Regge--Gribov
+approach \cite{BT76}, when one assumes that the hadron-nucleus elastic
+scattering amplitude is a result of reggeon exchanges between the
+initial hadron and  nucleons from target--nucleus. This result leads to 
+simple and efficient MC procedure \cite{Am86} to define
+the interaction cross sections and the number of the nucleons
+participating in the inelastic hadron--nucleus collision:
+\begin{itemize}
+\item We should randomly distribute 
+ $B$
+nucleons from the target-nucleus on the impact parameter plane according
+to the weight function 
+$T([\vec{b}^{B}_{j}])$. This function represents
+probability density to find sets of the nucleon impact parameters
+ $[\vec{b}^{B}_{j}]$, where
+$j=1,2,...,B$.
+\item For each pair of projectile hadron $i$ and target nucleon 
+$j$ with choosen impact parameters $\vec{b}_{i}$ and
+$\vec{b}^{B}_{j}$ we should check whether they interact inelastically or
+not using the probability $p_{ij}(\vec{b}_{i}-\vec{b}^{B}_{j},s)$,
+where $s_{ij}=(p_{i}+p_{j})^2$ is the squared total c.m.  energy of the
+given pair with the $4$--momenta $p_{i}$ and $p_{j}$, respectively.
+\end{itemize}
+ 
+In the Regge--Gribov approach\cite{BT76} the probability for an inelastic
+collision of pair of $i$ and $j$ as a function at the squared impact
+parameter difference $b_{ij}^2=(\vec{ b}_i-\vec{ b}_j^B)^2 $ and $s$
+is given by
+\begin{equation}
+\label{SP3}
+ p_{ij}(\vec{ b}_i-\vec{ b}_j^B,s)=
+ c^{-1}[1-\exp{\{-2u(b_{ij}^2,s)\}}] = 
+\sum_{n=1}^{\infty}p^{(n)}_{ij}(\vec{ b}_i-\vec{ b}_j^B,s), 
+\end{equation}
+where
+\begin{equation}
+\label{SP4}
+ p^{(n)}_{ij}(\vec{ b}_i-\vec{ b}_j^B,s)
+=c^{-1}\exp{\{-2u(b_{ij}^2,s)\}}
+ \frac{[2u(b_{ij}^2,s)]^{n}}{n!}.
+\end{equation}
+is the probability to find the $n$ cut Pomerons or the probability for
+$2n$ strings produced in an inelastic hadron-nucleon collision.  These
+probabilities are defined in terms of the (eikonal) amplitude of
+hadron--nucleon elastic scattering with Pomeron exchange:
+\begin{equation}
+\label{SP5}u(b_{ij}^2,s)=\frac{z(s)}{2}\exp (-b_{ij}^2/4\lambda (s)). 
+\end{equation}
+The quantities $z(s)$ and $\lambda (s)$ are expressed through the
+parameters of the Pomeron trajectory, $\alpha _P^{^{\prime }}=0.25$
+$GeV^{-2}$ and $\alpha _P(0)=1.0808$, and the parameters of the
+Pomeron-hadron vertex $R_P$ and $\gamma _P$:
+\begin{equation}
+\label{SP6}z(s)=\frac{2c\gamma _P}{\lambda (s)}(s/s_0)^{\alpha _P(0)-1} 
+\end{equation}
+\begin{equation}
+\label{SP7}\lambda (s)=R_P^2+\alpha _P^{^{\prime }}\ln (s/s_0), 
+\end{equation}
+respectively, where $s_0$ is a dimensional parameter.
+
+In Eqs. (\ref{SP3},\ref{SP4}) the so--called shower enhancement
+coefficient $c$ is introduced to determine the contribution of
+diffractive dissociation\cite{BT76}.  Thus, the probability for 
+diffractive dissociation of a pair
+of nucleons can be computed as
+\begin{equation}
+\label{SP8}p_{ij}^d(\vec b_i-\vec b_j^B,s)=\frac{c-1}{c}[p_{ij}^{tot}(\vec
+b_i-\vec b_j^B,s)-p_{ij}(\vec b_i-\vec b_j^B,s)],
+\end{equation} 
+where 
+\begin{equation}
+\label{SP9}p_{ij}^{tot}(\vec b_i-\vec b_j^B,s)=(2/c)[1-\exp
+\{-u(b_{ij}^2,s)\}]. 
+\end{equation}
+
+The Pomeron parameters are found from a global fit of the total,
+elastic, differential elastic and diffractive cross sections of the
+hadron--nucleon interaction at different energies.
+
+For the nucleon-nucleon, pion-nucleon and kaon-nucleon collisions 
+the Pomeron vertex
+parameters and shower enhancement coefficients are found:
+$R^{2N}_{P}=3.56$ $GeV^{-2}$, $\gamma^{N}_P=3.96$
+$GeV^{-2}$, $s^{N}_{0} = 3.0$ $GeV^{2}$, $c^{N}=1.4$ and
+$R^{2\pi}_{P} = 2.36$ $GeV^{-2}$, $\gamma^{\pi}_P = 2.17$ $GeV^{-2}$,
+ and $R^{2K}_{P} = 1.96$
+$GeV^{-2}$, $\gamma^{K} _P = 1.92$ $GeV^{-2}$, $s^{K}_{0} = 2.3$
+$GeV^{2}$, $c^{\pi}=1.8$.
+
+\subsection{Separation of hadron diffraction excitation.}
+
+\hspace{1.0em}For each pair of target hadron $i$ and projectile 
+nucleon $j$ with choosen impact
+parameters $\vec{b}_{i}$ and $\vec{b}^{B}_{j}$ we should check
+whether they interact inelastically or not using the probability
+\begin{equation}
+\label{SP14}
+p^{in}_{ij}(\vec{b}_{i}-\vec{b}^{B}_{j},s)=
+p_{ij}(\vec{b}_{i}-\vec{b}^{B}_{j},s)
++ p_{ij}^d(\vec b_i^A-\vec b_j^B,s).
+\end{equation}
+ If interaction will be realized, then 
+we have to consider it to be diffractive or nondiffractive with probabilities
+\begin{equation}
+\label{SP15}
+\frac{p_{ij}^d(\vec b_i-\vec b_j^B,s)}{p^{in}_{ij}
+(\vec{b}^{A}_{i}-\vec{b}^{B}_{j},s)}
+\end{equation}
+and
+\begin{equation}
+\label{SP16}
+\frac{p_{ij}(\vec b_i-\vec b_j^B,s)}{p^{in}_{ij}
+(\vec{b}^{A}_{i}-\vec{b}^{B}_{j},s)}.
+\end{equation}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Precompound/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Precompound/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Precompound/CVS/Entries	(revision 1208)
@@ -0,0 +1,5 @@
+/PreCompoundSim.tex/1.9/Thu Dec  9 23:59:42 2004//
+/PrecompoundModel.tex/1.5/Thu Nov 29 18:58:56 2001//
+/PrecompoundModelReferences.tex/1.5/Sat Dec 11 18:50:27 2004//
+/ReactionInitialStatePM.tex/1.4/Mon Feb 22 18:17:50 1999//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Precompound/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Precompound/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Precompound/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Precompound
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Precompound/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Precompound/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Precompound/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Precompound/PreCompoundSim.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Precompound/PreCompoundSim.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Precompound/PreCompoundSim.tex	(revision 1208)
@@ -0,0 +1,224 @@
+\section{Simulation of pre-compound reaction}
+
+\hspace{1.0em}The precompound stage of 
+nuclear reaction is considered until nuclear 
+system is not an equilibrium state. 
+Further emission of nuclear fragments or photons from excited 
+nucleus is simulated using an equilibrium 
+ model. 
+
+
+\subsection{Statistical equilibrium condition}
+
+\hspace{1.0em}In the state of statistical equilibrium, which is
+characterized by an eqilibrium number of excitons $n_{eq}$, all three
+type of transitions are equiprobable. Thus $n_{eq}$ is fixed by
+$\omega_{+2}(n_{eq},U) = \omega_{-2}(n_{eq},U)$. From this condition we
+can get
+\begin{equation}
+\label{PCS1}n_{eq} = \sqrt{2gU}.
+\end{equation}
+
+\subsection{Level density of excited (n-exciton) states}
+
+\hspace{1.0em}To obtain Eq. ($\ref{PCS1}$) it was assumed an equidistant 
+scheme of single-particle levels with the density $g \approx 0.595 aA$,
+where $a$ is the level density parameter, when we have the level density
+of the $n$-exciton state as
+\begin{equation}
+\label{PCS2} \rho_{n}(U) = \frac{g(gU)^{n-1}}{p!h!(n-1)!}.
+\end{equation}
+
+\subsection{Transition probabilities} 
+
+\hspace{1.0em}The partial transition probabilities changing the exciton
+number by $\Delta n$ is determined by the squared matrix element
+averaged over allowed transitions $<|M|^{2}>$ and the density of final
+states $\rho_{\Delta n}(n,U)$, which are really accessible in this
+transition. It can be defined as following:
+\begin{equation}
+\label{PCS3}\omega_{\Delta n}(n,U)=\frac{2\pi}{h}<|M|^{2}>\rho_{\Delta n}(n,U).
+\end{equation}
+The density of final states $\rho_{\Delta n}(n,U)$ were derived in paper
+\cite{Williams70} using the Eq. ($\ref{PCS2}$) for the level density of
+the $n$-exciton state and later corrected for the Pauli principle and
+indistinguishability of identical excitons in paper \cite{ROB73}:
+\begin{equation}
+\label{PCS4}\rho_{\Delta n = +2}(n,U)=\frac{1}{2}g\frac{[gU - F(p+1,h+1)]^2}
+{n+1} [\frac{gU - F(p+1,h+1)}{gU - F(p,h)}]^{n-1},
+\end{equation}
+\begin{equation}
+\label{PCS5}\rho_{\Delta n = 0}(n,U)=\frac{1}{2}g\frac{[gU - F(p,h)]}{n}
+[p(p-1) + 4ph + h(h-1)]
+\end{equation}
+and
+\begin{equation}
+\label{PCS6}\rho_{\Delta n = -2}(n,U)=\frac{1}{2}gph(n-2),
+\end{equation}
+where $F(p,h)=(p^2 + h^2 + p -h)/4 - h/2$ and it was taken to be equal
+zero.  To avoid calculation of the averaged squared matrix element
+$<|M|^2>$ it was assumed \cite{GMT83} that transition probability
+$\omega_{\Delta n = +2}(n,U)$ is the same as the probability for
+quasi-free scattering of a nucleon above the Fermi level on a nucleon of
+the target nucleus, i. e.
+\begin{equation}
+\label{PCS7}\omega_{\Delta n =+2}(n,U)=\frac{<\sigma(v_{rel})v_{rel}>}{V_{int}}.
+\end{equation}
+In Eq. ($\ref{PCS7}$) the interaction volume is estimated as 
+$V_{int}=\frac{4}{3}\pi(2r_c + \lambda/2\pi)^3$, 
+with the De Broglie wave length
+$\lambda/2\pi$ corresponding to the relative velocity 
+$<v_{rel}>=\sqrt{2T_{rel}/
+m}$, where $m$ is nucleon mass and $r_c = 0.6$ fm. 
+
+The averaging in $<\sigma(v_{rel})v_{rel}>$ is further simplified by
+\begin{equation}
+\label{PCS8}<\sigma(v_{rel})v_{rel}> =<\sigma(v_{rel})><v_{rel}>.
+\end{equation}
+For $\sigma (v_{rel})$ we take approximation:
+\begin{equation}
+\label{PCS9}\sigma(v_{rel})=0.5[\sigma_{pp}(v_{rel})+\sigma_{pn}(v_{rel}]P(T_F/T_{rel}),
+\end{equation}
+where factor $P(T_F/T_{rel})$ was introduced to take into account the
+Pauli principle. It is given by
+\begin{equation}
+\label{PCS10} P(T_F/T_{rel})=1 - \frac{7}{5}\frac{T_F}{T_{rel}} 
+\end{equation}
+for $\frac{T_F}{T_{rel}} \leq 0.5$ and 
+\begin{equation}
+\label{PCS11} P(T_F/T_{rel})=1 - \frac{7}{5}\frac{T_F}{T_{rel}}+ \frac{2}{5}
+\frac{T_{F}}{T_{rel}}(2 -
+\frac{T_{rel}}{T_F})^{5/2} 
+\end{equation}
+for $\frac{T_F}{T_{rel}} > 0.5$. 
+
+The free-particle proton-proton $\sigma_{pp}(v_{rel})$ and
+proton-neutron $\sigma_{pn}(v_{rel})$ interaction cross sections are
+estimated using the equations \cite{Metro58}:
+\begin{equation}
+\label{PCS12}\sigma_{pp}(v_{rel}) =
+ \frac{10.63}{v^2_{rel}}-\frac{29.93}{v_{rel}}+42.9
+\end{equation}
+and
+\begin{equation}
+\label{PCS13}\sigma_{pn}(v_{rel}) =
+ \frac{34.10}{v^2_{rel}}-\frac{82.2}{v_{rel}}+82.2,
+\end{equation}
+where cross sections are given in mbarn.
+ 
+The mean relative kinetic energy $T_{rel}$ is needed to calculate
+$<v_{rel}>$ and the factor $P(T_F/T_{rel})$ was computed as
+$T_{rel}=T_{p}+T_{n}$, where mean kinetic energies of projectile
+nucleons $T_p = T_F +U/n$ and target nucleons $T_N = 3T_F/5$,
+respecively.
+ 
+
+Combining Eqs. ($\ref{PCS3}$) - ($\ref{PCS7}$) and assuming that
+$<|M|^{2}>$ are the same for transitions with $\Delta n = 0$ and $\Delta
+n = \pm 2$ we obtain for another transition probabilities:
+\begin{equation}
+\begin{array}{c}
+\label{PCS14}\omega_{\Delta n =0}(n,U)= \\
+=\frac{<\sigma(v_{rel})v_{rel}>}{V_{int}}
+\frac{n+1}{n}[\frac{gU - F(p,h)}{gU - F(p+1,h+1)}]^{n+1}
+\frac{p(p-1) + 4ph +h(h-1)}{gU - F(p,h)}
+\end{array} 
+\end{equation}
+and 
+\begin{equation}
+\begin{array}{c}
+\label{PCS15}\omega_{\Delta n 
+= -2}(n,U)= \\
+=\frac{<\sigma(v_{rel})v_{rel}>}{V_{int}}
+ [\frac{gU - F(p,h)}{gU - F(p+1,h+1)}]^{n+1}
+ \frac{ph(n+1)(n-2)}{[gU - F(p,h)]^2}.
+\end{array} 
+\end{equation}
+
+\subsection{Emission probabilities for nucleons} 
+
+\hspace{1.0em}Emission process probability has been choosen similar as 
+in the classical equilibrium Weisskopf-Ewing model \cite{WE40.pre}.
+Probability to emit nucleon $b$ in the energy interval $(T_b, T_b+dT_b)$
+is given
+\begin{equation}
+\label{PCS16}W_{b}(n,U,T_b) = \sigma_{b}(T_b)\frac{(2s_b+1)\mu_b}{\pi^2 h^3}
+R_b(p,h)
+\frac{\rho_{n-b}(E^{*})}{\rho_n(U)}T_b,
+\end{equation}
+where $\sigma_{b}(T_b)$ is the inverse (absorption of nucleon $b$)
+reaction cross section, $s_b$ and $m_b$ are nucleon spin and reduced
+mass, the factor $R_b(p,h)$ takes into account the condition for the
+exciton to be a proton or neutron, $\rho_{n-b}(E^{*})$ and $\rho_n(U)$
+are level densities of nucleus after and before nucleon emission are
+defined in the evaporation model, respectively and $E^{*}=U-Q_b-T_b$ is the
+excitation energy of nucleus after fragment emission.
+ 
+\subsection{Emission probabilities for complex fragments}
+
+\hspace{1.0em}It was assumed \cite{GMT83} that nucleons inside excited
+nucleus are able to "condense" forming complex fragment.  The
+"condensation" probability to create fragment consisting from $N_b$
+nucleons inside nucleus with $A$ nucleons is given by
+\begin{equation}
+\label{PCS17} \gamma_{N_b}=N^3_b(V_b/V)^{N_b -1}=N^3_b(N_b/A)^{N_b -1},
+\end{equation}
+where $V_b$ and $V$ are fragment $b$ and nucleus volumes, respectively.
+The last equation was estimated \cite{GMT83} as the overlap integral of
+(constant inside a volume) wave function of independent nucleons with
+that of the fragment.
+
+During the prequilibrium stage a "condense" fragment can be emitted.
+The probability to emit a fragment can be written as \cite{GMT83}
+\begin{equation}
+\label{PCS18}W_{b}(n,U,T_b) =\gamma_{N_b}R_b(p,h)
+ \frac{\rho(N_b, 0, T_b + Q_b)}{g_b(T_b)}
+ \sigma_{b}(T_b)\frac{(2s_b+1)\mu_b}{\pi^2 h^3}
+\frac{\rho_{n-b}(E^{*})}{\rho_n(U)}T_b,
+\end{equation}
+where 
+\begin{equation}
+\label{PCS19}g_b(T_b)=\frac{V_b(2s_b+1)(2\mu_b)^{3/2}}{4\pi^2 h^3}(T_b+Q_b)^{1/2}  
+\end{equation}
+is the single-particle density for complex fragment $b$, which is
+obtained by assuming that complex fragment moves inside volume $V_b$ in
+the uniform potential well whose depth is equal to be $Q_b$, and the
+factor $R_b(p,h)$ garantees correct isotopic composition of a fragment
+$b$.
+
+\subsection{The total probability}
+
+\hspace{1.0em}This probability is defined as 
+\begin{equation}
+\label{PCS20} W_{tot}(n,U) =\sum_{\Delta n =+2,0,-2}\omega_{\Delta n }(n,U) +
+\sum_{b=1}^{6}W_b(n,U),
+\end{equation} 
+where total emission $W_b(n,U)$ probabilities to emit fragment $b$ can
+be obtained from Eqs. ($\ref{PCS16}$) and ($\ref{PCS18}$) by
+integration over $T_b$:
+\begin{equation}
+\label{PCS21} 
+W_{b}(n,U)=\int_{V_b}^{U-Q_b} W_b(n,U,T_b)dT_b.
+\end{equation}
+
+ 
+\subsection{Calculation of kinetic energies for emitted particle}
+
+\hspace{1.0em}The equations ($\ref{PCS16}$) and ($\ref{PCS18}$)
+ are
+ used to sample kinetic energies of emitted fragment.
+
+\subsection{Parameters of residual nucleus.}
+
+\hspace{1.0em}After fragment emission we  update parameter
+of decaying nucleus:
+\begin{equation}
+\label{PCS24} 
+\begin{array}{c}
+A_f=A-A_b; Z_f=Z-Z_b; P_f = P_0 - p_b; \\ 
+E_f^{*}=\sqrt{E_f^2-\vec{P}^2_f} - M(A_f,Z_f). 
+\end{array}
+\end{equation}
+Here $p_b$ is the evaporated fragment four momentum.
+
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Precompound/PrecompoundModel.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Precompound/PrecompoundModel.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Precompound/PrecompoundModel.tex	(revision 1208)
@@ -0,0 +1,8 @@
+\chapter{Precompound model.}
+
+\input{hadronic/theory_driven/Precompound/ReactionInitialStatePM}
+
+\input{hadronic/theory_driven/Precompound/PreCompoundSim}
+
+\input{hadronic/theory_driven/Precompound/PrecompoundModelReferences}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Precompound/PrecompoundModelReferences.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Precompound/PrecompoundModelReferences.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Precompound/PrecompoundModelReferences.tex	(revision 1208)
@@ -0,0 +1,50 @@
+
+\section{Status of this document}
+
+00.00.00 created by Vicente Lara \\
+
+
+\begin{latexonly}
+
+\begin{thebibliography}{599}
+
+\bibitem{GMT83} K.K. Gudima, S.G. Mashnik, V.D. Toneev, Nucl. Phys. {\bf
+A401} 329 (1983).
+ 
+\bibitem{Williams70} F. C. Williams, Phys. Lett. {\bf B31} 180 (1970).
+
+\bibitem{ROB73} I. Ribansk\'y, P. Oblo\^zinsk\'y, E. B\'eta\^k, 
+Nucl. Phys. {\bf A205}
+545 (1973).
+
+\bibitem{Metro58} N. Metropolis {\it et al.}, Phys. Rev. {\bf 100} 185 (1958).
+
+\bibitem{WE40.pre} V.E. Weisskopf, D.H. Ewing, Phys. Rev. {57} 472 (1940).
+
+\end{thebibliography}
+
+\end{latexonly}
+
+
+\begin{htmlonly}
+
+\section{Bibliography}
+
+\begin{enumerate}
+\item K.K. Gudima, S.G. Mashnik, V.D. Toneev, Nucl. Phys. {\bf
+A401} 329 (1983).
+ 
+\item F. C. Williams, Phys. Lett. {\bf B31} 180 (1970).
+
+\item I. Ribansk\'y, P. Oblo\^zinsk\'y, E. B\'eta\^k, 
+Nucl. Phys. {\bf A205}
+545 (1973).
+
+\item N. Metropolis {\it et al.}, Phys. Rev. {\bf 100} 185 (1958).
+
+\item V.E. Weisskopf, D.H. Ewing, Phys. Rev. {57} 472 (1940).
+
+\end{enumerate}
+
+\end{htmlonly}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Precompound/ReactionInitialStatePM.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Precompound/ReactionInitialStatePM.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/Precompound/ReactionInitialStatePM.tex	(revision 1208)
@@ -0,0 +1,24 @@
+\section{Reaction initial state.}
+
+\hspace{1.0em} The GEANT4 precompound model is considered as an extension 
+of the hadron kinetic model. It gives a possibility to extend the low 
+energy range of the hadron kinetic model for
+nucleon-nucleus inelastic collision and it provides a "smooth" transition 
+from kinetic stage of reaction described by the hadron kinetic model to 
+the equilibrium stage of reaction described by the equilibrium deexcitation 
+models. 
+
+The initial information for calculation of pre-compound
+nuclear stage consists from the atomic mass number $A$, charge $Z$ of residual
+ nucleus, its four momentum $P_0$, 
+excitation energy $U$ and number of
+excitons $n$ equals the sum of number of particles $p$ (from them $p_Z$
+are charged) and number of holes $h$.
+
+At the preequilibrium stage of reaction, we following the \cite{GMT83} approach,
+take into account all
+possible nuclear transition the number of excitons $n$ with $\Delta n =
++2, -2, 0$ \cite{GMT83}, which defined by transition probabilities. 
+ Only emmision of neutrons, protons, deutrons, thritium and helium nuclei
+  are taken
+into account.
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/StoppedAbsorption/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/StoppedAbsorption/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/StoppedAbsorption/CVS/Entries	(revision 1208)
@@ -0,0 +1,6 @@
+/ReactionInitialStateSA.tex/1.3/Wed Dec 16 18:11:00 1998//
+/StoppedAbsorption.tex/1.4/Thu Nov 29 18:58:56 2001//
+/StoppedAbsorptionAlgorithm.tex/1.3/Wed Dec 16 18:11:02 1998//
+/StoppedAbsorptionReferences.tex/1.1/Tue Nov  3 10:40:05 1998//
+/StoppedAbsorptionSimulation.tex/1.3/Wed Dec 16 18:11:03 1998//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/StoppedAbsorption/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/StoppedAbsorption/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/StoppedAbsorption/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/StoppedAbsorption
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/StoppedAbsorption/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/StoppedAbsorption/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/StoppedAbsorption/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/StoppedAbsorption/ReactionInitialStateSA.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/StoppedAbsorption/ReactionInitialStateSA.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/StoppedAbsorption/ReactionInitialStateSA.tex	(revision 1208)
@@ -0,0 +1,7 @@
+\section{Reaction initial state.}
+
+\hspace{1.0em} The GEANT4 hadron kinetic model is capable to predict 
+final states particles and nuclear fragments
+ as result of absorption of the stopped $\pi^{-}$, $K^{-}$ and 
+$\bar{p}$ by a nucleus.
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/StoppedAbsorption/StoppedAbsorption.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/StoppedAbsorption/StoppedAbsorption.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/StoppedAbsorption/StoppedAbsorption.tex	(revision 1208)
@@ -0,0 +1,10 @@
+\chapter{Stopped particle absorption.}
+
+\input{StoppedAbsorption/ReactionInitialStateSA}
+
+\input{StoppedAbsorption/StoppedAbsorptionSimulation}
+
+\input{StoppedAbsorption/StoppedAbsorptionAlgorithm}
+
+\input{StoppedAbsorption/StoppedAbsorptionReferences}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/StoppedAbsorption/StoppedAbsorptionAlgorithm.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/StoppedAbsorption/StoppedAbsorptionAlgorithm.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/StoppedAbsorption/StoppedAbsorptionAlgorithm.tex	(revision 1208)
@@ -0,0 +1,15 @@
+\section{MC procedure.}
+
+ The stopped particle absorption MC procedure consists 
+ from several steps:
+\begin{enumerate}
+\item Sample position inside nucleus, where absorption takes place,
+according to phenomenological probability distribution;
+\item Simulate particle absorption according to particular particle absorption 
+mechanism;
+\item Using the hadron kinetic model perform propagation of final state 
+(after absorption) particles;
+\item Using corresponding deexcitation 
+model perform decay of residual excited nucleus.
+\end{enumerate}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/StoppedAbsorption/StoppedAbsorptionReferences.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/StoppedAbsorption/StoppedAbsorptionReferences.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/StoppedAbsorption/StoppedAbsorptionReferences.tex	(revision 1208)
@@ -0,0 +1,14 @@
+\begin{thebibliography}{599}
+
+\bibitem{IKP94} Iljinov A. S., Kazarnovsky M. V., Paryev E. Ya, 
+Intermediate energy nuclear physics, CRC Press, Inc. (1994).
+
+\bibitem{INC76} Iljinov A. S., Nazaruk V. I., Chigrinov S. E., Nucl. Phys. {\bf
+A268} 513 (1976).
+
+\bibitem{Kiss55} Kisslinger L. S., Phys. Rev. {\bf 98} 761 (1955).
+
+\bibitem{INC82} Iljinov A. S., Nazaruk V. I., Chigrinov S. E., Nucl. Phys. {\bf
+A382} 378 (1982).
+
+\end{thebibliography}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/StoppedAbsorption/StoppedAbsorptionSimulation.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/StoppedAbsorption/StoppedAbsorptionSimulation.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/StoppedAbsorption/StoppedAbsorptionSimulation.tex	(revision 1208)
@@ -0,0 +1,64 @@
+\section{Stopped particle absorption simulation.}
+
+\subsection{Mechanism of the stopped particle absorption by a nucleus.}
+\hspace{1.0em} 
+An absorption of a stopped $\pi^{-}$-meson, $K^{-}$-meson and $\bar{p}$
+ by a nucleus procceeds in several
+ steps \cite{IKP94}:
+\begin{enumerate}
+\item A particle is captured by the Coulomb fiels of a nucleus forming a pionic
+or a kaonic or $\bar{p}$-atom;
+\item Such atom de-excites through the emission of Auger-electrons and $X$-rays;
+\item A stopped particle from the atomic orbit is captured by nucleus (
+ by a pair or more of intranuclear nucleons in the case of a stopped pion or 
+ by reaction on a quasifree nucleon producing a pion and $\Lambda$ or
+$\Sigma$ hyperon in the case of a stopped kaon or
+ by annihilation on a quasifree nucleon in the case of $\bar{p}$-capture);
+\item Rescatterings of fast nucleons and pions produced in a stopped 
+particle absorption (hadron
+kinetics);
+\item Decay of excited residual nucleus (nucleus deexcitation).
+\end{enumerate}
+
+Thus the absorption processes for the stopped pion, kaon and antiproton are
+similar. However, there are some absorption 
+peculiarities for each type of particles.
+   
+\subsection{Absorption of stopped $\pi^{-}$ by nucleus.}
+\hspace{1.0em} It is simulated  by the kinetic model.
+As follows from calculations within the framework of the optical
+model \cite{INC76} with the Kisslinger potential \cite{Kiss55}
+ the capture a pion from an orbit of atom takes place at
+radius $r$ in the
+nuclear surface and absorption probability $P_{abs}(r)$ can be approximated by 
+\begin{equation}
+\label{SAS1} P_{abs}(r) = P_0 \exp{[-0.5(\frac{r-R_{\pi}}{D_{\pi}})^2]},
+\end{equation}
+where parameters of the Gaussian distribution $R_{\pi} \approx R_{1/2}$, 
+where $R_{1/2}$ is the half-density radius, and $D_{\pi}$
+ for different nuclei can be found
+in \cite{IKP94}.
+
+The absorption of the  pion is considered as the $s$-wave (non-resonant) 
+absorption mainly by the the simplest cluster consisting of two nucleon 
+$(np)$ or $(pp)$. 
+
+Once a pion has been absorbed by a nucleon pair, the pion mass is converted
+into kinetic energy of nucleon. Each nucleon has the energy $E_N = m_{\pi}/2$ 
+in the center of mass pair. In the center of mass nucleons flay away in
+opposite direction isotropically.
+The inital momentum of pair is taken as a sum of nucleon Fermi momenta.
+
+\subsection{Absorption of stopped $K^{-}$ by nucleus.}
+\hspace{1.0em} It is simulated in the kinetic model framework.
+In this case the absorption probability was choosen the same as in
+annhihilation of the stopped antiprotons.
+
+\subsection{Annihilation of stopped $\bar{p}$ by nucleus.}
+In this case the absorption probability was also given by equation of 
+(\ref{SAS1}) with the values of $R_{\bar{p}} = R_{\pi}$ and dispertion $D^2 = 
+1$\ fm$^2$ \cite{INC82}.
+
+The annhihilation of antiproton on a quasifree nucleon is modelled via the
+annihilation of a diquark-antidiquark with subsequent fragmentation of the 
+meson string as it was done in the parton string model. 
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/theory_driven.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/theory_driven.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/hadronic/theory_driven/theory_driven.tex	(revision 1208)
@@ -0,0 +1,21 @@
+\input{hadronic/theory_driven/PartonString/PartonStringModel}
+\newpage
+\input{hadronic/theory_driven/ChiralInvariantPhaseSpace/CHIPS}
+\newpage
+\input{hadronic/theory_driven/Cascade/Cascade}
+\newpage
+\input{hadronic/theory_driven/BinaryCascade/BinaryCascade}
+\newpage
+\input{hadronic/theory_driven/AbrasionAblation/AbrasionAblation}
+\newpage
+\input{hadronic/theory_driven/EMDissociation}
+\newpage
+\input{hadronic/theory_driven/Precompound/PrecompoundModel}
+\newpage
+\input{hadronic/theory_driven/Evaporation/EvaporationModel}
+\newpage
+\input{hadronic/theory_driven/Fission/FissionModel}
+\newpage
+\input{hadronic/theory_driven/FermiBreakup/FermiBreakUpModel}
+\newpage
+\input{hadronic/theory_driven/Multifragmentation/MultifragmentationModel}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/latexmk
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/latexmk	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/latexmk	(revision 1208)
@@ -0,0 +1,1340 @@
+#!/usr/local/bin/perl
+## latexmk - version 2.0
+##
+##   Modified by Evan McLean (emm@rdt.monash.edu.au)
+##   Original script (RCS version 2.3) called "go" written by David J. Musliner
+##
+## - fully automated LaTeX document generation routine.
+## - checks to see if .bib or .tex source files (or included other files)
+##		have been changed since last run (which made .aux).
+## - see sub print_help for info.
+##
+##  LatexMk is no longer supported by the author.  With changes in work
+##  situation, the author no longer uses latex, and hence does not use
+##  LatexMk.  Having no access to latex also makes it difficult to test fixes.
+##
+##-----------------------------------------------------------------------
+## Here's the copyright notice that Mr. Musliner required to be
+## kept here.
+##-----------------------------------------------------------------------
+##Copyright 1992 by David J. Musliner and The University of Michigan.
+##
+##                        All Rights Reserved
+##
+##Permission to use, copy, modify, and distribute this software and its
+##documentation for any purpose and without fee is hereby granted,
+##provided that the above copyright notice and this permission notice appear in
+##all copies and modified versions.
+##
+##THE COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+##INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT 
+##SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR 
+##CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 
+##DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 
+##TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 
+##PERFORMANCE OF THIS SOFTWARE.
+##-----------------------------------------------------------------------
+##While I am not copyrighting my modifications (I don't even know if I
+##can) I do include my own disclaimer:
+##
+##THE AUTHOR/MODIFIER(S) DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+##INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT 
+##SHALL THE AUTHOR/MODIFIER(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR 
+##CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 
+##DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 
+##TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 
+##PERFORMANCE OF THIS SOFTWARE.
+##-----------------------------------------------------------------------
+$version_num = '2.0';
+##Modification History:
+## 2.0 - Final release, no enhancements.  LatexMk is no longer supported
+##       by the author.
+## 1.9 - Fixed bug that was introduced in 1.8 with path name fix.
+##     - Fixed buglet in man page.
+## 1.8 - Add not about announcement mailling list above.
+##     - Added texput.dvi and texput.aux to files deleted with -c and/or
+##       the -C options.
+##     - Added landscape mode (-l option and a bunch of RC variables).
+##     - Added sensing of "\epsfig{file=...}" forms in dependency generation.
+##     - Fixed path names when specified tex file is not in the current
+##       directory.
+##     - Fixed combined use of -pvc and -s options.
+##     - Fixed a bunch of speling errors in the source. :-)
+##     - Fixed bugs in xdvi patches in contrib directory.
+## 1.7 - Fixed -pvc continuous viewing to reattach to pre-existing
+##       process correctly.
+##     - Added $pscmd to allow changing process grepping for different
+##       systems.
+## 1.6 - Fixed buglet in help message
+##     - Fixed bugs in detection of input and include files.
+## 1.5 - Removed test message I accidentally left in version 1.4
+##     - Made dvips use -o option instead of stdout redirection as some
+##       people had problems with dvips not going to stdout by default.
+##     - Fixed bug in input and include file detection
+##     - Fixed dependency resolution process so it detects new .toc file
+##       and makeindex files properly.
+##     - Added dvi and postscript filtering options -dF and -pF.
+##     - Added -v version commmand.
+## 1.4 - Fixed bug in -pvc option.
+##     - Made "-F" option include non-existant file in the dependency list.
+##       (RC variable: $force_include_mode)
+##     - Added .lot and .lof files to clean up list of extentions.
+##     - Added file "texput.log" to list of files to clean for -c.
+##     - LatexMk now handles file names in a similar fashion to latex.
+##       The ".tex" extention is no longer enforced.
+##     - Added $texfile_search RC variable to look for default files.
+##     - Fixed \input and \include so they add ".tex" extention if necessary.
+##     - Allow intermixing of file names and options.
+##     - Added "-d" and banner options (-bm, -bs, and -bi).
+##       (RC variables: $banner, $banner_message, $banner_scale,
+##       $banner_intensity, $tmpdir)
+##     - Fixed "-r" option to detect an command line syntax errors better.
+## 1.3 - Added "-F" option, patch supplied by Patrick van der Smagt.
+## 1.2 - Added "-C" option.
+##     - Added $clean_ext and $clean_full_ext variables for RC files.
+##     - Added custom dependency generation capabilities.
+##     - Added command line and variable to specify custom RC file.
+##     - Added reading of rc file in current directly.
+## 1.1 - Fixed bug where Dependency file generation header is printed
+##       rependatively.
+##     - Fixed bug where TEXINPUTS path is searched for file that was
+##       specified with absolute an pathname.
+## 1.0 - Ripped from script by David J. Musliner (RCS version 2.3) called "go"
+##     - Fixed a couple of file naming bugs
+##        e.g. when calling latex, left the ".tex" extention off the end
+##             of the file name which could do some interesting things
+##             with some file names.
+##     - Redirected output of dvips.  My version of dvips was a filter.
+##     - Cleaned up the rc file mumbo jumbo and created a dependency file
+##       instead.  Include dependencies are always searched for if a
+##       dependency file doesn't exist.  The -i option regenerates the
+##       dependency file.
+##       Getting rid of the rc file stuff also gave the advantage of
+##       not being restricted to one tex file per directory.
+##     - Can specify multiple files on the command line or no files
+##       on the command line.
+##     - Removed lpr options stuff.  I would guess that generally,
+##       you always use the same options in which case they can
+##       be set up from an rc file with the $lpr variable.
+##     - Removed the dviselect stuff.  If I ever get time (or money :-) )
+##       I might put it back in if I find myself needing it or people
+##       express interest in it.
+##     - Made it possible to view dvi or postscript file automatically
+##       depending on if -ps option selected.
+##     - Made specification of dvi file viewer seperate for -pv and -pvc
+##       options.
+##-----------------------------------------------------------------------
+
+## default document processing programs.
+$latex  = 'latex';
+$bibtex  = 'bibtex';
+$slitex  = 'slitex';
+$makeindex  = 'makeindex';
+$dvips  = 'dvips';
+$dvips_landscape = 'dvips -tlandscape';
+$dviselect  = 'dviselect';
+$ps_previewer  = 'gv';
+$ps_previewer_landscape  = 'gv -swap';
+$dvi_previewer  = 'xdvi -s 4';
+$dvi_previewer_landscape = 'xdvi -s 4 -paper a4r';
+$dvi_cont_previewer  = 'xtex';
+$dvi_cont_previewer_landscape  = 'xtex';
+$lpr  = 'lpr';
+$tmpdir = '/usr/tmp';
+$pscmd = 'ps -x';  # This works for SunOs.  Solaris should just be 'ps'
+
+## default flag settings.
+$bibtex_mode = 0;	# is there a bibliography needing bibtexing?
+$index_mode = 0;	# is there an index needing makeindex run?
+$landscape_mode = 0;	# default to portrait mode
+$sleep_time = 2;	# time to sleep b/w checks for file changes in -pvc mode
+$banner = 0;            # Non-zero if we have a banner to insert
+$banner_scale = 220;    # Original default scale
+$banner_intensity = 0.95;  # Darkness of the banner message
+$banner_message = 'DRAFT'; # Original default message
+$dvi_filter = '';	# DVI filter command
+$ps_filter = '';	# Postscript filter command
+
+## Read rc files.
+# Read system rc file.
+$rcfile = '/usr/local/lib/latexmk/LatexMk';
+if ( -e $rcfile )
+{
+  # Read the system rc file
+  do "$rcfile";
+}
+
+# Read user rc file.
+$rcfile = "$ENV{'HOME'}/.latexmkrc";
+if ( -e $rcfile )
+{
+  # Read the user rc file
+  do "$rcfile";
+}
+
+# Read rc file in current directory.
+$rcfile = "latexmkrc";
+if ( -e $rcfile )
+{
+  # Read the user rc file
+  do "$rcfile";
+}
+
+
+## Process command line args.
+@the_file_list = ( );
+while ($_ = $ARGV[0])
+{
+  shift;
+  if (/^-c$/)      { $cleanup_mode = 1; }
+  elsif (/^-C$/)   { $cleanup_mode = 1; $cleanup_full_mode = 1; }
+  elsif (/^-d$/)   { $banner = 1; }
+  elsif (/^-f$/)   { $force_mode = 1; }
+  elsif (/^-F$/)   { $force_include_mode = 1; }
+  elsif (/^-g$/)   { $go_mode = 1; }
+  elsif (/^-h$/)   { &print_help; }
+  elsif (/^-i$/)   { $generate_and_save_includes = 1; }
+  elsif (/^-I$/)   { $force_generate_and_save_includes = 1; }
+  elsif (/^-l$/)   { $landscape_mode = 1; }
+  elsif (/^-pvc$/) { $preview_continuous_mode = 1; }
+  elsif (/^-pv$/)  { $preview_mode = 1; }
+  elsif (/^-ps$/)  { $postscript_mode = 1; }
+  elsif (/^-p$/)   { $printout_mode = 1; }
+  elsif (/^-s$/)   { $slide_mode = 1; }
+  elsif (/^-v$/)   { warn "\nLatexMk $version_num\n"; exit; }
+  elsif (/^-r$/)   { if ( $ARGV[0] eq '' ) {
+		      warn "LatexMk: No RC file specified\n"; &print_help; }
+		     if ( -e $ARGV[0] ) {
+		      do "$ARGV[0]"; } else {
+		      die "LatexMk: RC file [$ARGV[0]] does not exist\n"; }
+		     shift; }
+  elsif (/^-bm$/)   { if ( $ARGV[0] eq '' ) {
+		      warn "LatexMk: No message specified\n"; &print_help; }
+		     $banner = 1; $banner_message = $ARGV[0];
+		     shift; }
+  elsif (/^-bi$/)   { if ( $ARGV[0] eq '' ) {
+		      warn "LatexMk: No intensity specified\n"; &print_help; }
+		     $banner_intensity = $ARGV[0];
+		     shift; }
+  elsif (/^-bs$/)   { if ( $ARGV[0] eq '' ) {
+		      warn "LatexMk: No scale specified\n"; &print_help; }
+		     $banner_scale = $ARGV[0];
+		     shift; }
+  elsif (/^-dF$/)   { if ( $ARGV[0] eq '' ) {
+		      warn "LatexMk: No dvi filter specified\n"; &print_help; }
+		     $dvi_filter = $ARGV[0];
+		     shift; }
+  elsif (/^-pF$/)   { if ( $ARGV[0] eq '' ) {
+		      warn "LatexMk: No ps filter specified\n"; &print_help; }
+		     $ps_filter = $ARGV[0];
+		     shift; }
+  elsif (/^-/)     { warn "LatexMk: $_ bad option\n"; }
+  else             { @the_file_list = ( @the_file_list, $_ ); }
+}
+@ARGV = @the_file_list;
+
+# Check we haven't selected mutually exclusive modes.
+# Note that -c overides all other options, but doesn't cause
+# an error if they are selected.
+if (($printout_mode && ( $preview_mode || $preview_continuous_mode ))
+    || ( $preview_mode && $preview_continuous_mode ))
+{
+  warn "LatexMk: Conflicting options (-p, -pv, -pvc) selected\n";
+  &print_help;
+}
+
+
+# If seleced a previewer mode, make sure one and only one filename was specified
+if ($preview_mode || $preview_continuous_mode)
+{
+  if (($ARGV[0] eq '') || ($ARGV[1] ne ''))
+  {
+    warn"LatexMk: Need to specify one and only one filename for previewer mode\n";
+    &print_help;
+  }
+}
+
+# If no files specified, try and find some
+if ($ARGV[0] eq '')
+{
+  @ARGV=<*.tex $texfile_search>;
+}
+# If still no files, exit.
+if ($ARGV[0] eq '')
+{
+  warn "LatexMk: No file name specified\n";
+  &print_help; ## print_help function exits.
+}
+
+# If landscape mode, change modes
+if ( $landscape_mode )
+{
+  $dvips = $dvips_landscape;
+  $dvi_previewer = $dvi_previewer_landscape;
+  $dvi_cont_previewer = $dvi_cont_previewer_landscape;
+  $ps_previewer = $ps_previewer_landscape;
+}
+
+# Process for each file.
+foreach $filename ( @ARGV )
+{
+  ## remove extention from filename if was given.
+  if ( &find_basename($filename, $root_filename, $texfile_name) )
+  {
+    die "LatexMk: Could not find file [$texfile_name]\n";
+  }
+
+  if ($cleanup_mode)
+  {
+    ## Do clean if necessary
+    &cleanup;
+    if ($cleanup_full_mode)
+    {
+      &cleanup_full;
+    }
+  }
+  else
+  {
+    ## Make file. ##
+    ## Find includes.
+    $includes = ''; 
+    $read_depend = 0;  # True to read depend file, false to generate it.
+    $depfile = "$root_filename.dep";
+
+    ## Figure out if we read the dependency file or generate a new one.
+    if ( ! $force_generate_and_save_includes )
+    {
+      if ( $generate_and_save_includes )
+      {
+	if ( -e $depfile )
+	{
+	  # Compare timestamp of dependency file and root tex file.
+	  $dep_mtime = &get_mtime("$depfile");
+	  $tex_mtime = &get_mtime("$texfile_name");
+	  if ( $tex_mtime < $dep_mtime )
+	  {
+	    $read_depend = 1;
+	  }
+	}
+      }
+      elsif ( -e $depfile )  # If dependency file already exists.
+      {
+	$read_depend = 1;
+      }
+    }
+
+    if ( $read_depend )
+    {
+      # Read the dependency file
+      open(depfile) || die "LatexMk: Couldn't open dependency file [$root_filename.dep]\n";
+      while(<depfile>) { eval; }
+      close(depfile);
+    }
+    else
+    {
+      # Generate dependency file.
+      # get search paths for includes.
+      $psfigsearchpath = '.';
+      $TEXINPUTS = $ENV{'TEXINPUTS'};
+      if (!$TEXINPUTS) { $TEXINPUTS = '.'; }
+      $BIBINPUTS = $ENV{'BIBINPUTS'};
+      if (!$BIBINPUTS) { $BIBINPUTS = $TEXINPUTS; }
+
+      &scan_for_includes("$texfile_name"); 
+      &update_depend_file;
+    }
+
+    ## put root tex file into list of includes.
+    $includes .= " $texfile_name";
+
+    ## before munging, save existing .aux file.
+    ## - if latex bombs, kill .aux, restore this backup to get back most
+    ## useful bib/ref info.
+    system("cp -p $root_filename.aux $root_filename.aux.bak > /dev/null 2>&1");
+
+    #************************************************************
+
+    &make_dependents("$includes");
+    if ($slide_mode) 
+    { 
+      &make_slitex_dvi; 
+    }
+    else
+    {
+      &make_latex_dvi;
+    }
+    &make_dvi_filtered;
+    &make_preview_continous;
+    &make_postscript;
+    &make_preview;
+    &make_printout;
+  }
+}
+
+#************************************************************
+#### Subroutines
+#************************************************************
+
+sub make_latex_dvi
+{
+  $changed_dvi = 0 ;		# flag if anything changed.
+  ## get initial last modified times.
+  $tex_mtime = &get_latest_mtime($includes);
+  $aux_mtime = &get_mtime("$root_filename.aux");
+  $bbl_mtime = &get_mtime("$root_filename.bbl");
+  $ilg_mtime = &get_mtime("$root_filename.ilg");
+  $ind_mtime = &get_mtime("$root_filename.ind");
+
+  ## - if no dvi file, or .aux older than tex file or bib file, run latex.
+  if ( $go_mode || !(-e "$root_filename.dvi")
+    || ($aux_mtime < $tex_mtime)
+    || ($aux_mtime < $bbl_mtime)
+    || ($aux_mtime < $ilg_mtime)
+    || ($aux_mtime < $ind_mtime)
+    || !(-e "$root_filename.aux"))
+  {
+    warn "------------\nRunning first $latex [$texfile_name]\n------------\n";
+    &backup_toc;
+    $return = system("$latex $texfile_name"); 
+    $changed_dvi = 1;
+
+    if (!$force_mode && $return)
+    {
+      &exit_msg('Latex encountered an error',1);
+    }
+
+    if  ($index_mode)
+    {
+      warn "------------\nRunning $makeindex [$root_filename]\n------------\n";
+      $return = system("$makeindex $root_filename");
+
+      if (!$force_mode && $return)
+      {
+        &exit_msg('Makeindex encountered an error');
+      }
+      $ilg_mtime = &get_mtime("$root_filename.ilg");
+      $ind_mtime = &get_mtime("$root_filename.ind");
+    }
+  }
+
+  $bib_mtime = &get_latest_mtime($bib_files);
+  ## if no .bbl or .bib changed since last bibtex run, run bibtex.
+  if ($bibtex_mode && (&check_for_bad_citation || !(-e "$root_filename.bbl")
+     || ($bbl_mtime < $bib_mtime)))
+  {
+    warn "------------\nRunning $bibtex [$root_filename]\n------------\n";
+    $return = system("$bibtex $root_filename"); 
+    $bbl_mtime = &get_mtime("$root_filename.bbl");
+  }
+
+  if ($bibtex_mode && &check_for_bibtex_errors)
+  {
+    if (!$force_mode)
+    { 
+      # touch a .bib file so that will rerun bibtex to fix errors.
+      @split_bib_files = split(' ',$bib_files);
+      system("touch $split_bib_files[0]");
+      &exit_msg('Bibtex reported an error'); 
+    }
+  }
+
+  ## now, if need to, rerun latex up to twice to generate valid .dvi 
+  ## w/ citations resolved.
+
+  $dvi_mtime = &get_mtime("$root_filename.dvi");
+  if ( ($dvi_mtime <= $bbl_mtime) || &check_for_reference_change 
+     || ($dvi_mtime <= $ilg_mtime)
+     || ($dvi_mtime <= $ind_mtime)
+     || (&check_toc))
+  {
+    warn "------------\nRunning second $latex [$texfile_name]\n------------\n";
+    &backup_toc;
+    $return = system("$latex $texfile_name"); 
+    $changed_dvi = 1;
+  }
+
+  if (!$force_mode && $return)
+  {
+    &exit_msg('Latex encountered an error',1);
+  }
+
+  if (&check_for_reference_change || &check_toc)
+  {
+    warn "------------\nRunning third $latex [$texfile_name]\n------------\n";
+    &backup_toc;
+    $return = system("$latex $texfile_name"); 
+    $changed_dvi = 1;
+  }
+
+  if (!$force_mode && &check_for_bad_reference)
+  {
+    &exit_msg('Latex could not resolve all references');
+  }
+
+  if (!$force_mode && &check_for_bad_citation)
+  {
+    &exit_msg('Latex could not resolve all citations or labels');
+  }
+
+  return(1);
+}
+
+#************************************************************
+
+sub make_slitex_dvi
+{
+  $tex_mtime = &get_latest_mtime($includes);
+  $dvi_mtime = &get_mtime("$root_filename.dvi");
+  if ( $go_mode || !(-e "$root_filename.dvi") || ($dvi_mtime < $tex_mtime) )
+  { 
+    warn "------------\nRunning $slitex [$texfile_name]\n------------\n";
+    $return = system("$slitex $texfile_name"); 
+  }
+  if (!$force_mode && $return)
+  {
+    &exit_msg('Slitex encountered an error');
+  }
+}
+
+#************************************************************
+
+sub make_dvi_filtered
+{
+  return if ( length($dvi_filter) == 0 );
+  warn "------------\nRunning $dvi_filter [$root_filename]\n------------\n";
+  system("$dvi_filter < $root_filename.dvi > $root_filename.dviF");
+}
+
+#************************************************************
+# Finds the basename of the root file
+# Arguments:
+#  1 - Filename to breakdown
+#  2 - Where to place base file
+#  3 - Where to place tex file
+#  Returns non-zero if tex file exists
+sub find_basename
+{
+  local($base_name,$ch,$ext,$base_path);
+
+  $ch = '';
+  $ext = '';
+  $base_path = $_[0];
+  while (( $ch ne '.' ) && ( $ch ne '/' ) && ( $base_path ne '' ))
+  {
+    $ext = $ch . $ext;
+    $ch = chop $base_path;
+  }
+  if (( $ch eq '.' ) && ( $base_path ne '' ))
+  {
+    ## Found extention stuff
+    $_[2] = $base_path . '.' . $ext;
+  }
+  else
+  {
+    ## No extention
+    $base_path = $_[0];
+    $_[2] = $_[0];
+  }
+  $ch = '';
+  $base_name = '';
+  while (( $ch ne '/' ) && ( $base_path ne '' ))
+  {
+    $ch = chop $base_path;
+    if ( $ch ne '/' )
+    {
+      $base_name = $ch . $base_name;
+    }
+  }
+  $_[1] = $base_name;
+  if ( ! -e $_[2] )
+  {
+    ## File does not exist, try adding a ".tex" extention
+    if ( -e "$_[2].tex" )
+    {
+      # Adding the extention works, so put the extention back on the
+      # basename
+      $_[1]  = $_[2];
+      $_[2] .= '.tex';
+      return(0);
+    }
+    return(1);
+  }
+  return(0);
+}
+
+#************************************************************
+
+sub make_dependents
+{
+  local($file,$dep,$base_name,$ch,$toext,$fromext,$proptoext,$must,$func_name,$return);
+
+  foreach $file (split(' ',$_[0]))
+  {
+    $ch = '';
+    $toext = '';
+    $base_name = $file;
+    while (( $ch ne '.' ) && ( $ch ne '/' ) && ( $base_name ne '' ))
+    {
+      $toext = $ch . $toext;
+      $ch = chop $base_name;
+    }
+    if (( $ch eq '.' ) && ( $base_name ne '' ))
+    {
+      #Extracted proper extention.
+      foreach $dep ( @cus_dep_list )
+      {
+	($fromext,$proptoext,$must,$func_name) = split(' ',$dep);
+	if ( $toext eq $proptoext )
+	{
+	  # Found match
+	  if ( -e "$base_name.$fromext" )
+	  {
+	    # From file exists, now check if it is newer
+	    if (( ! (-e "$base_name.$toext" ))
+		|| ( &get_mtime("$base_name.$toext")
+		< &get_mtime("$base_name.$fromext") ))
+	    {
+	      warn "------------\nRunning $func_name [$base_name]\n------------\n";
+	      $return = &$func_name($base_name);
+	      if ( !$force_mode && $return )
+	      {
+		&exit_msg("$func_name encountered an error");
+	      }
+	    }
+	  }
+	  else
+	  {
+	    if ( !$force_mode && ( $must != 0 ))
+	    {
+	      &exit_msg("File '$base_name.$fromext' does not exist to build '$base_name.$toext'\n");
+	    }
+	  }
+	}
+      }
+    }
+  }
+}
+
+#************************************************************
+
+sub make_printout
+{
+  return if (!$printout_mode);
+  local ($ext);
+  if ( length($ps_filter) == 0 )
+  {
+    $ext = '.ps';
+  }
+  else
+  {
+    $ext = '.psF';
+  }
+  warn "------------\nPrinting using $lpr [$root_filename]\n------------\n";
+  system("$lpr $root_filename$ext");
+}
+
+#************************************************************
+
+sub make_postscript
+{
+  if ( ! $banner )
+  {
+    return if (!$postscript_mode && !$printout_mode);
+  }
+  local ($tmpfile,$header,$dvi_file);
+
+  # Figure out the dvi file name
+  if ( length($dvi_filter) == 0 )
+  {
+    $dvi_file = "$root_filename.dvi";
+  }
+  else
+  {
+    $dvi_file = "$root_filename.dviF";
+  }
+
+  # Do banner stuff
+  if ( $banner )
+  {
+    ## Make temp banner file
+    local(*INFILE,*OUTFILE,$count);
+
+    $tmpfile = "$tmpdir/latexmk.$$";
+    $count = 0;
+    while ( -e $tmpfile )
+    {
+      $count = $count + 1;
+      $tmpfile = "$tmpdir/latexmk.$$.$count";
+    }
+    if ( ! open(OUTFILE, ">$tmpfile") ) {
+      die "LatexMk: Could not open temporary file [$tmpfile]\n"; }
+    print OUTFILE "userdict begin /bop-hook{gsave 200 30 translate\n";
+    print OUTFILE "65 rotate /Times-Roman findfont $banner_scale scalefont setfont\n";
+    print OUTFILE "0 0 moveto $banner_intensity setgray ($banner_message) show grestore}def end\n";
+    close(OUTFILE);
+    $header = "-h $tmpfile";
+  }
+  else
+  {
+    $header = '';
+  }
+
+  $ps_mtime = &get_mtime("$root_filename.ps");
+  $dvi_mtime = &get_mtime("$dvi_file");
+  if (( $ps_mtime < $dvi_mtime ) || $banner )
+  {
+    warn "------------\nRunning $dvips [$root_filename]\n------------\n";
+    system("$dvips $header $dvi_file -o $root_filename.ps");
+  }
+
+  if ( $banner )
+  {
+    unlink("$tmpfile");
+  }
+
+  ## Do we have postscript filtering?
+  if ( length($ps_filter) != 0 )
+  {
+    warn "------------\nRunning $ps_filter [$root_filename]\n------------\n";
+    system("$ps_filter < $root_filename.ps > $root_filename.psF");
+  }
+}
+
+#************************************************************
+# run appropriate previewer.
+
+sub make_preview
+{
+  return if (!$preview_mode);
+  $viewer = $dvi_previewer;
+  $ext = '.dvi';
+  if ($postscript_mode)
+  {
+    $viewer = $ps_previewer;
+    $ext = '.ps';
+    if ( length($ps_filter) != 0 )
+    {
+      $ext = '.psF';
+    }
+  }
+  else
+  {
+    if ( length($dvi_filter) != 0 )
+    {
+      $ext = '.dviF';
+    }
+  }
+  warn "------------\nStarting previewer: $viewer $root_filename$ext\n------------\n";
+  exec("$viewer $root_filename$ext");
+  warn "LatexMk: Could not start previewer [$viewer $root_filename$ext]";
+  exit;
+}
+
+sub backup_toc
+{
+  if ( -e "$root_filename.toc" )
+  {
+    system(
+      "cp -p $root_filename.toc $root_filename.toc.bak > /dev/null 2>&1");
+  }
+}
+
+#************************************************************
+# Compare the toc file with the backup.  If they differ then
+# return non-zero.
+sub check_toc
+{
+  local($return);
+
+  if ( -e "$root_filename.toc" )
+  {
+    if ( -e "$root_filename.toc.bak" )
+    {
+      $return = system(
+	"diff $root_filename.toc.bak $root_filename.toc > /dev/null 2>&1");
+    }
+    else
+    {
+      $return = 1;
+    }
+  }
+  else
+  {
+    $return = 0;
+  }
+  return($return);
+}
+
+#************************************************************
+# arg1 = name
+
+sub find_process_id
+{
+  local(@command, $lookingfor);
+  @ps_output = `$pscmd`;
+  shift(@ps_output);  # Discard the header line from ps
+  foreach (@ps_output)
+  {
+#    s/\s+/ /g;  #Compress multiple spaces.
+    ($pid,$tt,$stat,$time,@command) = split(' ',$_);
+    if ("@command" eq "$_[0]")
+    {
+      return($pid);
+    }
+  }
+  return(0);
+}
+
+#************************************************************
+
+sub make_preview_continous
+{
+  return if (!$preview_continuous_mode);
+  #
+  local ($dvi_file);
+  # get the value of SIGUSR1, defaults to SPARC value.
+  if (!(do 'signal.ph'))
+  {
+    eval 'sub SIGUSR1 {30;}';
+  }
+  # Figure out the dvi file name
+  if ( length($dvi_filter) == 0 )
+  {
+    $dvi_file = "$root_filename.dvi";
+  }
+  else
+  {
+    $dvi_file = "$root_filename.dviF";
+  }
+  # note, we only launch a previewer if one isnt already running...
+  # otherwise we'll send reopen signals to the existing previewer.
+  if ($previewer_pid = &find_process_id("$dvi_cont_previewer $dvi_file"))
+  {
+    warn "------------\nReattached to existing previewer, pid=$pid\n------------\n";
+    kill &SIGUSR1,$previewer_pid;
+  }
+  else
+  {
+    if (!($previewer_pid = fork))
+    {
+      # in forked child, close off from parent so previewer runs on
+      # after parent 'latexmk' dies.
+      setpgrp($$,0);
+      warn "------------\n$dvi_cont_previewer $dvi_file\n------------\n";
+      exec("$dvi_cont_previewer $dvi_file");
+      warn "LatexMk: Failed to exec file viewer\n";
+      exit;
+    }
+  }
+  # Loop forever, rebuilding .dvi as necessary.
+  while ( 1 )
+  {
+    sleep($sleep_time);
+    if ($slide_mode) 
+    { 
+      &make_slitex_dvi; 
+    }
+    else
+    {
+      &make_latex_dvi;
+    }
+    if ($changed_dvi)
+    {
+      kill &SIGUSR1,$previewer_pid;
+    }
+  }
+}
+
+#************************************************************
+
+sub get_mtime
+{
+  local ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,
+			$ctime,$blksize,$blocks) = stat($_[0]);
+  $mtime;
+}
+
+#************************************************************
+
+sub check_for_reference_change
+{
+  local($logfile) = "$root_filename.log";
+  open(logfile) || die "LatexMk: Could not open log file to check for reference check\n";
+  while(<logfile>)
+  { 
+    if (/Rerun to get/) { return 1; } 
+  }
+  0;
+}
+
+#************************************************************
+
+sub check_for_bad_reference
+{
+  local($logfile) = "$root_filename.log";
+  open(logfile) || die "LatexMk: Could not open log file to check for bad reference\n";
+  while (<logfile>)
+  {
+    if (/LaTeX Warning: Reference[^\001]*undefined./) { return 1; } 
+  }
+  0;
+}
+
+#************************************************************
+# check for citation which latex couldnt resolve.
+
+sub check_for_bad_citation
+{
+  local($logfile) = "$root_filename.log";
+  open(logfile) || die "LatexMk: Could not open log file to check for bad citation\n";
+  while (<logfile>)
+  {
+    if (/LaTeX Warning: Citation[^\001]*undefined./) { return 1; }
+  }
+  0;
+}
+
+#************************************************************
+# check for citation which bibtex didnt find.
+
+sub check_for_bibtex_errors
+{
+  local($logfile) = "$root_filename.blg";
+  open(logfile) || die "LatexMk: Could not open bibtex log file error check\n";
+  while (<logfile>)
+  {
+    if (/Warning--/) { return 1; }
+    if (/error message/) { return 1; }
+  }
+  0;
+}
+
+#************************************************************
+# cleanup
+# - erases all generated files, exits w/ no other processing.
+
+sub cleanup
+{
+  unlink("$root_filename.aux");
+  unlink("$root_filename.aux.bak");
+  unlink("$root_filename.bbl");
+  unlink("$root_filename.blg");
+  unlink("$root_filename.log");
+  unlink("$root_filename.ind");
+  unlink("$root_filename.idx");
+  unlink("$root_filename.ilg");
+  unlink("$root_filename.toc");
+  unlink("$root_filename.toc.bak");
+  unlink("$root_filename.lof");
+  unlink("$root_filename.lot");
+  unlink("$root_filename.dep");
+  unlink("texput.log");
+  unlink("texput.aux");
+
+  # .aux files are also made for \include'd files
+  foreach $include (split(' ',$includes))
+  { 
+    $include =~ s/\.[^\.]*$/.aux/;
+    unlink($include);
+  }
+  # Do any other file extentions specified
+  foreach $ext (split(' ',$clean_ext))
+  {
+    unlink("$root_filename.$ext");
+  }
+}
+
+#************************************************************
+sub cleanup_full
+{
+  unlink("$root_filename.dvi");
+  unlink("$root_filename.ps");
+  unlink("$root_filename.dviF");
+  unlink("$root_filename.psF");
+  unlink("texput.dvi");
+  # Do any other file extentions specified
+  foreach $ext (split(' ',$clean_full_ext))
+  {
+    unlink("$root_filename.$ext");
+  }
+}
+
+#************************************************************
+sub print_help
+{
+  warn "LatexMk $version_num: Automatic LaTeX document generation routine\n\n";
+  warn "Usage: latexmk [latexmk_options] [filename ...]\n\n";
+  warn "  LatexMk_options:\n";
+  warn "   -bm <message> - Print message across the page when converting to postscript\n";
+  warn "   -bi <intensity> - Set contrast or intensity of banner\n";
+  warn "   -bs <scale> - Set scale for banner\n";
+  warn "   -c 	- clean up (remove) all nonessential files\n";
+  warn "   -C 	- clean up (remove) all nonessential files\n";
+  warn "          including dvi and postscript files\n";
+  warn "   -d   - Print `DRAFT' across the page when converting to postscript\n";
+  warn "   -dF <filter> - Filter to apply to dvi file\n";
+  warn "   -f 	- force continued processing past errors\n";
+  warn "   -F 	- Ignore non-existent files when making dependencies\n";
+  warn "   -g 	- process regardless of file timestamps\n";
+  warn "   -h 	- print help\n";
+  warn "   -i 	- rescan for includes if depenancy file older than tex file\n";
+  warn "   -I 	- force rescan for includes\n";
+  warn "   -l   - force landscape mode\n";
+  warn "   -ps 	- generate postscript\n";
+  warn "   -pF <filter> - Filter to apply to postscript file\n";
+  warn "   -p   - print document after generating postscript\n";
+  warn "   -pv  - preview document\n";
+  warn "   -pvc - preview document and continuously update\n";
+  warn "   -r <file> - Read custom RC file\n";
+  warn "   -s   - set slide mode\n";
+  warn "   -v   - display program version\n";
+  warn "   filename = the root filename of LaTeX document\n";
+  warn "\n  -p, -pv and -pvc are mutually exclusive\n";
+  warn "  -h, -c and -C overides all other options.\n";
+  warn "  -pv and -pvc require one and only one filename specified\n";
+  warn "  Contents of RC file specified by -r overrides options specified\n";
+  warn "    before the -r option on the command line\n";
+
+  exit;
+}
+
+#************************************************************
+# - stats all files listed in first arg, returns most recent modify time of all.
+
+sub get_latest_mtime
+{
+  local($return_mtime) = 0;
+  foreach $include (split(' ',$_[0]))
+  {
+    $include_mtime = &get_mtime($include);
+    if ($include_mtime >  $return_mtime)
+    {
+      $return_mtime = $include_mtime;
+    }
+  }
+  $return_mtime;
+}
+
+#************************************************************
+# - looks recursively for included & inputted and psfig'd files and puts
+#   them into $includes.
+# - note only primitive comment removal: cannot deal with escaped %s, but then,
+#	when would they occur in any line important to LatexMk??
+
+sub scan_for_includes
+{
+  warn "------------\nGenerating Dependency File [$root_filename]\n------------\n";
+  &scan_for_includes_($_[0]);
+}
+
+sub scan_for_includes_
+{
+  local(*FILE,$orig_filename,$full_filename1,$full_filename2);
+  if (!open(FILE,$_[0])) 
+  {
+    warn "LatexMk: could not open input file [$_[0]]\n";
+    return;
+  }
+  while(<FILE>)
+  {
+    ($_,$junk) = split('%',$_);		# primitive comment removal.
+    if (/\\include[{\s]+([^\001\040\011}]*)[\s}]/)
+    {
+      $full_filename = $1;
+      $orig_filename = $full_filename;
+      $full_filename1 = &find_file($full_filename,$TEXINPUTS,'1');
+
+      if (( $full_filename1 eq '' ) || ( ! -e $full_filename1 ))
+      {
+        $full_filename2 = &find_file("$full_filename.tex",$TEXINPUTS,'1');
+        if (( $full_filename2 ne '' ) && ( -e $full_filename2 ))
+        {
+          $full_filename = $full_filename2;
+        }
+        else
+        {
+          $full_filename = $full_filename1;
+        }
+      }
+      else
+      {
+        $full_filename = $full_filename1;
+      }
+
+      if ($full_filename)
+      {
+      	$includes .= "$full_filename ";
+	if ( -e $full_filename )
+	{
+	  warn "	Found include for file [$full_filename]\n";
+	  &scan_for_includes_($full_filename);
+	}
+        else
+        {
+          if ( $orig_filename =~ /^\// )
+          {
+            warn "LatexMk: Could not find file [$orig_filename]\n";
+          }
+          else
+          {
+            warn "LatexMk: Could not find file [$orig_filename] in path [$TEXINPUTS]\n";
+            warn "         assuming in current directory ($full_filename)\n";
+          }
+        }
+      }
+      else
+      {
+        if ( ! $force_include_mode )
+        {
+          if ( $orig_filename =~ /^\// )
+          {
+            die "LatexMk: Could not find file [$orig_filename]\n";
+          }
+          else
+          {
+            die "LatexMk: Could not find file [$orig_filename] in path [$TEXINPUTS]\n";
+          }
+        }
+      }
+    }
+    elsif (/\\input[{\s]+([^\001\040\011}]*)[\s}]/)
+    {
+      $full_filename = $1;
+      $orig_filename = $full_filename;
+      $full_filename1 = &find_file($full_filename,$TEXINPUTS,'1');
+
+      if (( $full_filename1 eq '' ) || ( ! -e $full_filename1 ))
+      {
+	$full_filename2 = &find_file("$full_filename.tex",$TEXINPUTS,'1');
+	if (( $full_filename2 ne '' ) && ( -e $full_filename2 ))
+	{
+	  $full_filename = $full_filename2;
+	}
+	else
+	{
+	  $full_filename = $full_filename1;
+	}
+      }
+      else
+      {
+	$full_filename = $full_filename1;
+      }
+
+      if ($full_filename)
+      {
+	$includes .= "$full_filename ";
+	warn "added '$full_filename'\n";
+	if ( -e $full_filename )
+	{
+	  warn "	Found input for file [$full_filename]\n";
+	  &scan_for_includes_($full_filename);
+	}
+	else
+	{
+	  if ( $orig_filename =~ /^\// )
+	  {
+	    warn "LatexMk: Could not find file [$orig_filename]\n";
+	  }
+	  else
+	  {
+	    warn "LatexMk: Could not find file [$orig_filename] in path [$TEXINPUTS]\n";
+	    warn "         assuming in current directory ($full_filename)\n";
+	  }
+	}
+      }
+      else
+      {
+	if ( ! $force_include_mode )
+	{
+	  if ( $orig_filename =~ /^\// )
+	  {
+	    die "LatexMk: Could not find file [$orig_filename]\n";
+	  }
+	  else
+	  {
+	    die "LatexMk: Could not find file [$orig_filename] in path [$TEXINPUTS]\n";
+	  }
+	}
+      }
+    }
+    elsif (/\\blackandwhite{([^\001\040\011}]*)}/ || /\\colorslides{([^\001}]*)}/)
+    {
+      $slide_mode = 1;
+      $full_filename = $1;
+      if ($1 =~ m/\./)
+      {
+        $full_filename = &find_file($full_filename,$TEXINPUTS);
+      }
+      else
+      {
+        $full_filename = &find_file("$full_filename.tex",$TEXINPUTS);
+      }
+      if ($full_filename)
+      {
+      	$includes .= "$full_filename ";
+	if ( -e $full_filename )
+	{
+	  warn "	Found slide input for file [$full_filename]\n";
+	  &scan_for_includes_($full_filename);
+	}
+      }
+    }
+    elsif (/\\psfig{file=([^,}]+)/ || /\\psfig{figure=([^,}]+)/)
+    {
+      $full_filename = &find_file($1,$psfigsearchpath);
+      if ($full_filename)
+      {
+      	$includes .= "$full_filename ";
+	if ( -e $full_filename )
+	{
+	  warn "	Found psfig for file [$full_filename]\n";
+	}
+      }
+    }
+    elsif ( /\\epsfbox{([^}]+)}/ || /\\epsfbox\[[^\]]*\]{([^}]+)}/ ||
+	    /\\epsffile{([^}]+)}/ || /\\epsffile\[[^\]]*\]{([^}]+)}/ ||
+	    /\\epsfig{file=([^,}]+)/ || /\\epsfig{figure=([^,}]+)/ )
+    {
+      $full_filename = &find_file($1,$TEXINPUTS);
+      if ($full_filename)
+      {
+      	$includes .= "$full_filename ";
+	if ( -e $full_filename )
+	{
+	  warn "	Found epsf for file [$full_filename]\n";
+	}
+      }
+    }
+    elsif (/\\documentstyle[^\000]+landscape/)
+    {
+      warn "	Detected landscape mode\n";
+      $landscape_mode = 1;
+    }
+    elsif (/\\bibliography{([^}]+)}/)
+    {
+      $bib_files = $1;
+      $bib_files =~ tr/,/ /;
+      $bib_files = &find_file_list($bib_files,'.bib',$BIBINPUTS);
+      warn "	Found bibliography files [$bib_files]\n";
+      $bibtex_mode = 1;
+    }
+    elsif (/\\psfigsearchpath{([^}]+)}/)
+    {
+      $psfigsearchpath = $1;
+    }
+    elsif (/\\makeindex/)
+    {
+      $index_mode = 1;
+      warn "        Detected index mode\n";
+    }
+  }
+}
+
+#************************************************************
+# given filename and path, return full name of file, or die if none found.
+# when force_include_mode=1, only warn if an include file was not
+# found, and return 0 (PvdS).
+
+sub find_file
+{
+  if ( $_[0] =~ /^\// )
+  {
+    if ($force_include_mode)
+    {
+	if ( $_[2] eq '' )
+	{
+	  warn "LatexMk: Could not find file [$_[0]]\n";
+	}
+	return("$_[0]");
+    }
+    else
+    {
+	if (-e $_[0])
+	{
+	  return("$_[0]");
+	}
+	die "LatexMk: Could not find file [$_[0]]\n";
+    }
+  }
+  foreach $dir (split(':',$_[1]))
+  {
+    if (-e "$dir/$_[0]")
+    {
+      return("$dir/$_[0]");
+    }
+  }
+  if ($force_include_mode)
+  {
+	if ( $_[2] eq '' )
+	{
+	  warn "LatexMk: Could not find file [$_[0]] in path [$_[1]]\n";
+	  warn "         assuming in current directory (./$_[0])\n";
+	}
+	return("./$_[0]");
+  }
+  else
+  {
+	if ( $_[2] ne '' )
+	{
+	  return('');
+	}
+  	die "LatexMk: Could not find file [$_[0]] in path [$_[1]]\n";
+  }
+}
+
+#************************************************************
+# given space sep list of filenames, a file suffix, and a path, return list of 
+# full names of files, or die w/ warning if not found.
+# When $force_include_mode=1, don't die and don't append the file names (PvdS).
+
+sub find_file_list
+{
+  local($tmp_file,$return_list) = '';
+  foreach $file (split(' ',$_[0]))
+  {
+    $tmp_file = &find_file("$file$_[1]",$_[2]);
+    if ($tmp_file)
+    {
+    	$return_list .= $tmp_file . " ";
+    }
+  }
+  $return_list;
+}
+
+#************************************************************
+sub exit_msg
+{
+  warn "\n------------\n";
+  warn "LatexMk: $_[0].\n";
+  warn "-- Use the -f option to force complete processing.\n";
+  if ($_[1])
+  {
+    warn "LatexMk: restoring last $root_filename.aux file\n";
+    system("cp -p $root_filename.aux.bak $root_filename.aux > /dev/null 2>&1");
+  }
+  exit;
+}
+
+#************************************************************
+
+sub update_depend_file
+{
+  warn "Writing dependency file [$root_filename.dep]\n";
+  $rcfile = ">$root_filename.dep";
+  open(rcfile) || die "LatexMk: Unable to open dependency file [$rcfile] for updating\n";
+  print rcfile '$includes = \'' . "$includes';\n";
+  print rcfile '$bib_files = \'' . "$bib_files';\n";
+  if ($slide_mode)
+  {
+    print rcfile '$slide_mode = 1;' . "\n";
+  }
+  if ($bibtex_mode)
+  {
+    print rcfile '$bibtex_mode = 1;' . "\n";
+  }
+  if ($index_mode)
+  {
+    print rcfile '$index_mode = 1;' . "\n";
+  }
+  close rcfile;
+}
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/optical/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/optical/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/optical/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/optical.tex/1.5/Fri Dec 10 21:43:23 2004//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/optical/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/optical/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/optical/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/optical
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/optical/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/optical/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/optical/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/optical/optical.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/optical/optical.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/optical/optical.tex	(revision 1208)
@@ -0,0 +1,356 @@
+% GEANT4 Physics Reference Manual - Optical Photons
+% in LaTex 2e - adopted from GEANT3 manual by P. Gumplinger
+
+\section{Interactions of optical photons}
+
+Optical photons are produced when a charged particle traverses:
+
+\begin{enumerate}
+\item a dielectric material with velocity above the \v{C}erenkov
+threshold; 
+\item a scintillating material.
+\end{enumerate}
+
+\subsection{Physics processes for optical photons}
+
+A photon is called optical when its wavelength is much greater than the
+typical atomic spacing, for instance when $\lambda \geq 10nm$ 
+which corresponds to an energy $E \leq 100eV$\@. Production of an 
+optical photon in a HEP detector is primarily due to:
+
+\begin{enumerate}
+\item \v{C}erenkov effect;
+\item Scintillation.
+\end{enumerate}
+
+Optical photons undergo three kinds of interactions:
+
+\begin{enumerate}
+\item Elastic (Rayleigh) scattering;
+\item Absorption;
+\item Medium boundary interactions.
+\end{enumerate}
+
+\subsubsection{Rayleigh scattering}
+
+For optical photons Rayleigh scattering is usually unimportant. For
+$\lambda=.2\mu m$ we have $\sigma_{Rayleigh} \approx .2b$ for $N_{2}$ or
+$O_{2}$ which gives a mean free path of $\approx1.7km$ in air and
+$\approx1m$ in quartz. Two important exceptions are aerogel, which is
+used as a \v{C}erenkov radiator for some special applications and large
+water \v{C}erenkov detectors for neutrino detection. 
+
+The differential cross section in Rayleigh scattering,
+$d\sigma/d\Omega$, is proportional to $\cos^{2}\theta$, where $\theta$ 
+is the polar angle of the new polarization with respect to the old 
+polarization. 
+
+\subsubsection{Absorption}
+
+Absorption is important for optical photons because it determines the
+lower $\lambda$ limit in the window of transparency of the radiator.
+Absorption competes with photo-ionization in producing the signal in the
+detector, so it must be treated properly in the tracking of optical
+photons. 
+
+\subsubsection {Medium boundary effects}
+
+When a photon arrives at the boundary of a dielectric medium, its
+behaviour depends on the nature of the two materials which join at that
+boundary: 
+
+\begin{itemize}
+\item Case dielectric $\rightarrow$ dielectric.\\
+The photon can be transmitted (refracted ray) or reflected (reflected
+ray). In case where the photon can only be reflected, total internal
+reflection takes place. 
+\item Case dielectric $\rightarrow$ 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. 
+\item Case dielectric $\rightarrow$ black material.\\
+A black material is a tracking medium for which the user has not
+defined any optical property. In this case the photon is immediately
+absorbed undetected.
+\end{itemize}
+
+\subsection {Photon polarization}
+
+The photon polarization is defined as a two component vector normal to
+the direction of the photon: 
+
+\begin{displaymath}
+{a_{1}e^{i\Phi_{1}} \choose a_{2}e^{i\Phi_{2}}} =
+e^{\Phi_{o}}
+{a_{1}e^{i\Phi_{c}} \choose a_{2}e^{-i\Phi_{c}}}
+\end{displaymath}
+
+where $\Phi_{c}= (\Phi_{1}-\Phi_{2})/2$ is called circularity and
+$\Phi_{o}=(\Phi_{1}+\Phi_{2})/2$ is called overall phase. Circularity
+gives the left- or right-polarization characteristic of the photon. RICH
+materials usually do not distinguish between the two polarizations and
+photons produced by the \v{C}erenkov effect and scintillation are
+linearly polarized, that is $\Phi_{c}=0$\@. 
+
+The overall phase is important in determining interference effects between
+coherent waves. These are important only in layers of thickness comparable
+with the wavelength, such as interference filters on mirrors. The effects of
+such coatings can be accounted for by the empirical reflectivity factor for
+the surface, and do not require a microscopic simulation. GEANT4 does not
+keep track of the overall phase.
+
+Vector polarization is described by the polarization angle $\tan \Psi =
+a_{2}/a_{1}$\@. Reflection/transmission probabilities are sensitive to
+the state of linear polarization, so this has to be taken into account.
+One parameter is sufficient to describe vector polarization, but to
+avoid too many trigonometrical transformations, a unit vector
+perpendicular to the direction of the photon is used in GEANT4. The
+polarization vector is a data member of \texttt{G4DynamicParticle}. 
+
+\subsection{Tracking of the photons}
+
+Optical photons are subject to in flight absorption, Rayleigh scattering
+and boundary action. As explained above, the status of the photon is
+defined by two vectors, the photon momentum ($\vec{p}=\hbar \vec{k}$) and
+photon polarization ($\vec{e}$). By convention the direction of the
+polarization vector is that of the electric field. Let also $\vec{u}$ be
+the normal to the material boundary at the point of intersection,
+pointing out of the material which the photon is leaving and toward the
+one which the photon is entering. The behaviour of a photon at the
+surface boundary is determined by three quantities: 
+
+\begin{enumerate}
+\item refraction or reflection angle, this represents the kinematics of
+the effect; 
+\item amplitude of the reflected and refracted waves, this is the
+dynamics of the effect; 
+\item probability of the photon to be refracted or reflected, this is
+the quantum mechanical effect which we have to take into account if we
+want to describe the photon as a particle and not as a wave. 
+\end{enumerate}
+
+As said above, we distinguish three kinds of boundary action, dielectric
+$\rightarrow$ black material, dielectric $\rightarrow$ metal, dielectric
+$\rightarrow$ dielectric. The first case is trivial, in the sense that
+the photon is immediately absorbed and it goes undetected. 
+
+To determine the behaviour of the photon at the boundary, we will at
+first treat it as an homogeneous monochromatic plane wave: 
+
+\begin{displaymath}
+\vec{E} = \vec{E}_{0}e^{i\vec{k} \cdot \vec{x}-i\omega t}
+\end{displaymath}
+\begin{displaymath}
+\vec{B} = \sqrt{\mu \epsilon} \frac{\vec{k} \times \vec{E}}{k}
+\end{displaymath}
+
+\subsubsection{Case dielectric $\rightarrow$ dielectric}
+
+In the classical description the incoming wave splits into a reflected
+wave (quantities with a double prime) and a refracted wave (quantities
+with a single prime). Our problem is solved if we find the following
+quantities: 
+
+\begin{displaymath}
+\vec{E}' = \vec{E}_{0}' e^{i\vec{k}'\cdot \vec{x}-i\omega t}
+\end{displaymath}
+\begin{displaymath}
+\vec{E}'' = \vec{E}_{0}'' e^{i\vec{k}''\cdot \vec{x}-i\omega t}
+\end{displaymath}
+
+For the wave numbers the following relations hold:
+
+\begin{displaymath}
+|\vec{k}| = |\vec{k}''| = k = \frac{\omega}{c}\sqrt{\mu \epsilon}
+\end{displaymath}
+\begin{displaymath}
+|\vec{k}'| = k' = \frac{\omega}{c}\sqrt{\mu ' \epsilon '}
+\end{displaymath}
+
+Where the speed of the wave in the medium is $v=c/\sqrt{\mu \epsilon}$
+and the quantity $n=c/v=\sqrt{\mu \epsilon}$ is called refractive index
+of the medium. The condition that the three waves, refracted, reflected
+and incident have the same phase at the surface of the medium, gives us
+the well known Fresnel law: 
+
+\begin{displaymath}
+(\vec{k} \cdot \vec{x})_{surf} = (\vec{k}' \cdot \vec{x})_{surf} =
+(\vec{k}'' \cdot \vec{x})_{surf}
+\end{displaymath}
+
+\begin{displaymath}
+k \sin i = k' \sin r = k'' \sin r'
+\end{displaymath}
+
+where $i, r, r'$ are, respectively, the angle of the incident, refracted
+and reflected ray with the normal to the surface. From this formula the
+well known condition emerges: 
+
+\begin{displaymath}
+         i  =  r'
+\end{displaymath}
+\begin{displaymath}
+\frac{\sin i}{\sin r} = \sqrt{\frac{\mu ' \epsilon '}{\mu \epsilon}} =
+\frac{n'}{n}
+\end{displaymath}
+
+The dynamic properties of the wave at the boundary are derived from
+Maxwell's equations which impose the continuity of the normal components
+of $\vec{D}$ and $\vec{B}$ and of the tangential components of $\vec{E}$
+and $\vec{H}$ at the surface boundary. The resulting ratios between the
+amplitudes of the the generated waves with respect to the incoming one
+are expressed in the two following cases: 
+
+\begin{enumerate}
+
+\item a plane wave with the electric field (polarization vector)
+perpendicular to the plane defined by the photon direction and the
+normal to the boundary: 
+
+\begin{displaymath}
+\frac{E_{0}'}{E_{0}} = \frac{2n\cos i}{n \cos i = \frac{\mu}{\mu '}
+n' \cos r} = \frac{2n \cos i}{n \cos i + n' \cos r}
+\end{displaymath}
+\begin{displaymath}
+\frac{E_{0}''}{E_{0}} = \frac{n \cos i - \frac{\mu}{\mu '}
+n' \cos r}{n \cos i + \frac{\mu}{\mu '}n' \cos r} =
+\frac{n \cos i - n' \cos r}{n \cos i + n' \cos r}
+\end{displaymath}
+
+where we suppose, as it is legitimate for visible or near-visible
+light, that $\mu/\mu ' \approx 1$;
+
+\item a plane wave with the electric field parallel to the above
+surface: 
+
+\begin{displaymath}
+\frac{E_{0}'}{E_{0}} = \frac{2n \cos i}{\frac{\mu}{\mu '}n' 
+\cos i + n \cos r} = \frac{2n \cos i}{n' \cos i + n \cos r}
+\end{displaymath}
+\begin{displaymath}
+\frac{E_{0}''}{E_{0}} = \frac{\frac{\mu}{\mu '}n' \cos i - n \cos r}
+{\frac{\mu}{\mu '}n' \cos i + n \cos r} = 
+\frac{n' \cos i - n \cos r}{n' \cos i + n \cos r}
+\end{displaymath}
+
+with the same approximation as above.
+
+\end{enumerate}
+
+We note that in case of photon perpendicular to the surface, the
+following relations hold: 
+
+\begin{displaymath}
+\frac{E_{0}'}{E_{0}} = \frac{2n}{n'+n} \qquad
+\frac{E_{0}''}{E_{0}} = \frac{n'-n}{n'+n}
+\end{displaymath}
+
+where the sign convention for the parallel field has been adopted. This
+means that if $n'>n$ there is a phase inversion for the reflected wave. 
+
+Any incoming wave can be separated into one piece polarized parallel to
+the plane and one polarized perpendicular, and the two components
+treated accordingly. 
+
+To maintain the particle description of the photon, the probability to
+have a refracted or reflected photon must be calculated. The constraint
+is that the number of photons be conserved, and this can be imposed via
+the conservation of the energy flux at the boundary, as the number of
+photons is proportional to the energy. The energy current is given by
+the expression: 
+
+\begin{displaymath}
+\vec{S} = \frac{1}{2}\frac{c}{4\pi}\sqrt{\mu \epsilon}
+\vec{E} \times \vec{H} = \frac{c}{8\pi}\sqrt{\frac{\epsilon}{\mu}}
+E_{0}^{2}\hat{k}
+\end{displaymath}
+
+and the energy balance on a unit area of the boundary requires that: 
+
+\begin{displaymath}
+\vec{S} \cdot \vec{u} = \vec{S}' \cdot \vec{u} - \vec{S}'' \cdot \vec{u}
+\end{displaymath}
+\begin{displaymath}
+S \cos i = S' cos r + S'' cos i
+\end{displaymath}
+\begin{displaymath}
+\frac{c}{8\pi}\frac{1}{\mu}nE_{0}^{2}\cos i =
+\frac{c}{8\pi}\frac{1}{\mu '}n'E_{0}'^{2}\cos r +
+\frac{c}{8\pi}\frac{1}{\mu}nE_{0}''^{2}\cos i
+\end{displaymath}
+
+If we set again $\mu /\mu ' \approx 1$, then the transmission
+probability for the photon will be: 
+
+\begin{displaymath}
+T = (\frac{E_{0}'}{E_{0}})^{2} \frac{n' \cos r}{n \cos i}
+\end{displaymath}
+
+and the corresponding probability to be reflected will be $R=1-T$.
+
+In case of reflection, the relation between the incoming photon
+($\vec{k},\vec{e}$), the refracted one ($\vec{k}', \vec{e}'$) and the
+reflected one ($\vec{k}'', \vec{e}''$) is given by the following
+relations: 
+
+\begin{displaymath}
+\vec{q} = \vec{k} \times \vec{u}
+\end{displaymath}
+\begin{displaymath}
+\vec{e}_{\perp} = (\frac{\vec{e} \cdot
+\vec{q}}{|\vec{q}|}) \frac{\vec{q}}{|\vec{q}|}
+\end{displaymath}
+\begin{displaymath}
+\vec{e}_{\parallel} = \vec{e} - \vec{e}_{\perp}
+\end{displaymath}
+\begin{displaymath}
+e_{\parallel}' = e_{\parallel} \frac{2n \cos i}{n'\cos i + n \cos r}
+\end{displaymath}
+\begin{displaymath}
+e_{\perp|}' = e_{\perp} \frac{2n \cos i}{n \cos i + n' \cos r} 
+\end{displaymath}
+\begin{displaymath} 
+e_{\parallel}'' = \frac{n'}{n}e_{\parallel}' - e_{\parallel}
+\end{displaymath} 
+\begin{displaymath}
+e_{\perp}'' = e_{\perp}' - e_{\perp}
+\end{displaymath} 
+
+After transmission or reflection of the photon, the polarization vector
+is re-normalized to 1. In the case where $\sin r = n \sin i/n' > 1$ then
+there cannot be a refracted wave, and in this case we have a total
+internal reflection according to the following formulas: 
+\begin{displaymath}
+\vec{k}'' = \vec{k} - 2(\vec{k} \cdot \vec{u})\vec{u}
+\end{displaymath}
+\begin{displaymath}
+\vec{e}'' = -\vec{e} + 2(\vec{e} \cdot \vec{u})\vec{u}
+\end{displaymath}
+
+\subsubsection{Case dielectric $\rightarrow$ metal}
+
+In this case the photon cannot be transmitted. So the probability for
+the photon to be absorbed by the metal is estimated according to the
+table provided by the user. If the photon is not absorbed, it is
+reflected. 
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+\bibitem{one} J.D.~Jackson, \emph{Classical Electrodynamics},
+J.~Wiley \& Sons Inc., New York, 1975.
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item J.D.~Jackson, \emph{Classical Electrodynamics},
+J.~Wiley \& Sons Inc., New York, 1975.
+\end{enumerate}
+
+\end{htmlonly}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/parameterisation/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/parameterisation/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/parameterisation/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/parameterisation.tex/1.10/Fri Dec 10 21:51:45 2004//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/parameterisation/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/parameterisation/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/parameterisation/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/parameterisation
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/parameterisation/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/parameterisation/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/parameterisation/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/parameterisation/parameterisation.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/parameterisation/parameterisation.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/parameterisation/parameterisation.tex	(revision 1208)
@@ -0,0 +1,231 @@
+
+\section{Gflash Shower Parameterizations}
+
+The computing time needed for the simulation of high energy electromagnetic 
+showers can become very large, since it increases approximately linearly with the 
+energy absorbed in the detector.  Using parameterizations instead of 
+individual particle tracking for electromagnetic (sub)showers can speed up 
+the simulations considerably without sacrificing much precision.  The Gflash 
+package allows the parameterization of electron and positron showers in 
+homogeneous (for the time being) calorimeters and is based on the 
+parameterization described in Ref. \cite{para.grind} .
+
+\subsection{Parameterization Ansatz}
+The spatial energy distribution of electromagnetic showers is given by  
+three probability density functions (pdf),                                     
+\begin{equation}                                                               
+dE (\vec{r}) \, = \, E\, f(t)dt\, f(r)dr\, f(\phi) d\phi ,                    
+\end{equation}                                                                 
+describing the longitudinal, radial, and azimuthal energy distributions.
+Here $t$ denotes the longitudinal shower depth in units of radiation length, 
+$r$ measures the radial distance from the shower axis in Moli\`{e}re units, 
+and $\phi$ is the azimuthal angle.  The start of the shower is defined by the 
+space point where the electron or positron enters the calorimeter, which 
+is different from the original Gflash.   
+A gamma distribution is used for the parameterization of the longitudinal 
+shower profile, $f(t)$.  The radial distribution $f(r)$, is described by a 
+two-component ansatz. In $\phi$, it is assumed that the energy is distributed 
+uniformly: $ f(\phi) = 1/2\pi $.
+
+\subsection{Longitudinal Shower Profiles }                  
+\label{sec_hom_long}
+The average longitudinal shower profiles can be described by a gamma 
+dis\-tri\-bution \cite{para.longo}:                       
+\begin{equation}                                                              
+\left\langle \frac{1}{E} \frac{dE(t)}{dt} \right\rangle                     
+\, = \, f(t) \, = \,                           
+\frac{ (\beta t)^{\alpha -1} \beta \exp(-\beta t) }                         
+{ \Gamma(\alpha) }.                                                    
+\end{equation}                                                                
+
+The center of gravity, $\langle t \rangle$, and the depth of the maximum, 
+$T$, are calculated from the shape parameter $\alpha$ and the scaling 
+parameter $\beta$ according~to:                             
+\begin{eqnarray}                 
+\langle t \rangle  & = & \frac{\alpha}{\beta}\\            
+T                  & = & \frac{\alpha-1}{\beta}.                             
+\label{talp}                                                                  
+\end{eqnarray}                 
+
+In the parameterization all lengths are measured in units of radiation length 
+$(X_0)$, and energies in units of the critical energy 
+($E_c=  2.66 \left( X_0 \frac{Z}{A} \right)^{1.1}$~).
+This allows material independence, since the longitudinal shower moments are 
+equal in different materials, according to Ref. \cite{para.rossi}.
+The following equations are used for the energy dependence of $T_{hom}$ and 
+$(\alpha_{hom})$, 
+with $y = E/E_c$ and $t=x/X_0$, x being the longitudinal shower depth:
+\begin{eqnarray}                                                              
+\label{e_thom}                                                                 
+T_{hom} & = & \ln y + t_1 \\                                                 
+\label{e_ahom}                                                                 
+\alpha_{hom} & = & a_1 + (a_2 + a_3/Z) \ln y.                                
+\end{eqnarray}                                                                
+
+The $y$-dependence of the fluctuations can be described by: 
+\begin{equation}                                                              
+\sigma \, = \, ( s_1 + s_2 \ln y )^{-1} .                                     
+\label{lsighom}                                                              
+\end{equation}                                                                
+
+The correlation between $\ln T_{hom} $ and $\ln \alpha_{hom} $
+is given by:   
+\begin{equation}                                                              
+\rho(\ln T_{hom}, \ln \alpha_{hom}) \, \equiv \, \rho                        
+               \, = \, r_1 + r_2 \ln y .    
+\label{corrhom}                                                              
+\end{equation}                                                                
+From these formulae, correlated and varying parameters $\alpha_i$ and 
+$\beta_i$ are generated according to                          
+\begin{equation}       
+\left(                                                                        
+\begin{array}{c}                                                           
+\ln T_i \\                                                               
+\ln \alpha_i                                                             
+\end{array} \right)                                                        
+\, = \,                                                                     
+\left(                                                                        
+\begin{array}{c}                                                           
+\langle \ln T \rangle \\                                                 
+\langle \ln \alpha \rangle                                               
+\end{array} \right)                                                        
++ C                                                                         
+\left(                                                                        
+\begin{array}{c}                                                           
+z_1 \\                                                                   
+z_2                                                                      
+\end{array} \right)                                                        
+\end{equation}        
+with                                                                           
+$$                 
+C \, = \,                                                                     
+\left(                                                                     
+\begin{array}{cc}                                                          
+\sigma (\ln T) & 0 \\                                                     
+0 & \sigma (\ln \alpha)                                                   
+\end{array} \right)                                                        
+\left(                                                                     
+\begin{array}{cc}                                                          
+\sqrt{\frac{1+\rho}{2}} & \sqrt{\frac{1-\rho}{2}} \\                     
+\sqrt{\frac{1+\rho}{2}} & - \sqrt{\frac{1-\rho}{2}}                      
+\end{array} \right) \,   $$                                                  
+$ \sigma (\ln \alpha)$ and $\sigma (\ln T)$ are the fluctuations of $T_{hom}$ 
+and $(\alpha_{hom}$.
+The values of the coefficients can be found in Ref. \cite{para.grind}.
+
+
+\subsection{Radial Shower Profiles}                        
+\label{sec_hom_rad}                                                            
+
+For the description of average radial energy profiles,                  
+\begin{equation}                                                               
+f(r) \, = \, \frac{1}{dE(t)} \frac{dE(t,r)}{dr},                             
+\end{equation}                                                                 
+a variety of different functions can be found in the literature.
+In Gflash the following two-component ansatz, an extension of that in 
+Ref.\cite{para.nim90}, was used:
+\begin{eqnarray}     
+\label{frad}                                                                  
+f(r) &  = &  p f_C(r) + (1-p) f_T(r) \\                                      
+      &  = &                                                            
+                 p \frac{2 r R_C^2}{(r^2 + R_C^2)^2}                    
+            + (1-p) \frac{2 r R_T^2}{(r^2 + R_T^2)^2}                   
+\nonumber                                                                     
+\end{eqnarray}  
+
+with $$ 0 \leq p \leq 1 . $$     
+Here $R_C$ ($R_T$) is the median of the core (tail) component and $p$ 
+is a probability giving the relative weight of the core component.             
+The variable $\tau = t/T$, which measures the shower depth in 
+units of the depth of the shower maximum, is used in order to generalize 
+the radial profiles. This makes the parameterization more convenient and 
+separates the energy and material dependence of various parameters.          
+The median of the core distribution, $R_C$, increases linearly with $\tau$. 
+The weight of the core, $p$, is maximal around the shower maximum, and the 
+width of the tail, $R_T$, is minimal at $\tau \approx 1$.
+
+The following formulae are used to parameterize the radial energy density 
+distribution for a given energy and material:
+\begin{eqnarray}         
+\label{rz}                                                                  
+R_{C,hom}(\tau) & = &                                                          
+z_1 + z_2 \tau \\                                                           
+\label{rk}                                                                  
+R_{T,hom}(\tau) & = &                                                          
+k_1 \{ \exp (k_3(\tau -k_2)) + \exp (k_4(\tau -k_2)) \} \\                  
+\label{p}                                                                   
+p_{hom}(\tau) & = &                                                          
+p_1  \exp \left\{ \frac{p_2-\tau}{p_3} -                                    
+      \exp \left(   \frac{p_2-\tau}{p_3} \right) \right\}               
+\end{eqnarray}               
+The parameters $z_1 \cdots p_3$ are either constant or simple                  
+functions of $\ln E$ or $Z$.
+
+Radial shape fluctuations are also taken into account. A detailed 
+explanation of this procedure, as well as a list of all the parameters used 
+in Gflash, can be found in Ref. \cite{para.grind}.
+
+\subsection{Gflash Performance}
+
+The parameters used in this Gflash implementation were extracted from full 
+simulation studies with Geant 3.  They also give good results inside the 
+Geant4 fast shower framework when compared with the full electromagnetic 
+shower simulation.  However, if more precision or higher particle energies
+are required, retuning may be necessary.  
+For the longitudinal profiles the difference between full simulation 
+and Gflash parameterization is at the level of a few percent.   
+Because the radial profiles are slightly broader in Geant3 than in Geant4, 
+the differences may reach $ > 10 \% $. 
+The gain in speed, on the other hand, is impressive. The simulation of a 
+1~TeV electron in a $PbWO_4$ cube is 160 times faster with Gflash.
+Gflash can also be used to parameterize electromagnetic showers in sampling 
+calorimeters. So far, however, only homogeneous materials are supported. 
+
+
+\subsection{Status of this document}
+02.12.04 created by J.Weng \\
+03.12.04 grammar check and minor re-wording by D.H. Wright \\
+
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+
+\bibitem{para.grind} G.~Grindhammer, S.~Peters,
+{\em The Parameterized Simulation of Electromagnetic Showers in 
+Homogeneous and Sampling Calorimeters, hep-ex/0001020 } (1993).
+
+\bibitem {para.longo} E.~Longo and I.~Sestili,{\em                      
+Nucl.~Instrum.~Meth.~128, 283} (1975).         
+
+\bibitem{para.rossi} ~Rossi {\em                                   
+rentice Hall, New York} (1952). 
+
+\bibitem{para.nim90} G.~Grindhammer, M.~Rudowicz, and              
+       S.~Peters, {\em    Nucl.~Instrum.~Meth.~A290, 469} (1990).                                
+
+\end{thebibliography}                                               
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\subsection{Bibliography}
+
+\begin{enumerate}
+\item G.~Grindhammer, S.~Peters,
+{\em The Parameterized Simulation of Electromagnetic Showers in 
+Homogeneous and Sampling Calorimeters, hep-ex/0001020 } (1993).
+
+\item E.~Longo and I.~Sestili,{\em                      
+Nucl.~Instrum.~Meth.~128, 283} (1975).         
+
+\item ~Rossi {\em Prentice Hall, New York} (1952). 
+
+\item G.~Grindhammer, M.~Rudowicz, and              
+       S.~Peters, {\em    Nucl.~Instrum.~Meth.~A290, 469} (1990).                                
+
+\end{enumerate}                                               
+
+\end{htmlonly}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/photolepton_hadron/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/photolepton_hadron/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/photolepton_hadron/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/photolepton_hadron.tex/1.6/Fri Dec 10 22:00:54 2004//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/photolepton_hadron/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/photolepton_hadron/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/photolepton_hadron/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/photolepton_hadron
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/photolepton_hadron/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/photolepton_hadron/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/photolepton_hadron/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/photolepton_hadron/photolepton_hadron.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/photolepton_hadron/photolepton_hadron.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/photolepton_hadron/photolepton_hadron.tex	(revision 1208)
@@ -0,0 +1,113 @@
+\chapter{Lepton Hadron Interactions}
+
+The photonuclear interaction of muons is currently the only process treated
+in this category. 
+
+\section{\it G4MuonNucleusProcess}
+
+This class simulates the photonuclear interaction of muons in a material.
+The muon interacts electromagnetically with a nucleus, exchanging a virtual
+photon.  At energies above a few GeV, the photon interacts hadronically with 
+the nucleus, producing hadronic secondaries.  
+
+The outcome of the simulation depends heavily upon the interaction model 
+chosen.  Hence the model-dependent part of the process is implemented in 
+the {\it G4MuonNucleusInteractionModel} class, which can be easily replaced by
+another model.
+
+{\it G4MuonNucleusInteractionModel} calculates the cross section and final 
+states of the muon and hadronic secondaries.  The final muon momentum is 
+given by a double-differential cross section which depends on the 
+photoabsorption cross sections for longitudinally and transversely polarized
+photons.  The final hadronic state is determined by replacing the virtual 
+photon with a charged pion of the same $Q^2$ and then allowing the pion to 
+interact with the nucleus.  The charge of the pion is chosen at random.  The 
+pion interactions with the nucleus are modeled by processes derived from the 
+GHEISHA \cite{GHEISHA} package.  These processes are: \\
+
+\begin{tabular}[t]{ll}
+{\it G4LEPionPlusInelastic}, {\it G4LEPionMinusInelastic} & $E \leq 25$ GeV \\
+{\it G4HEPionPlusInelastic}, {\it G4HEPionMinusInelastic} & $E > 25$ GeV \\
+\end{tabular}
+\\
+
+\subsection{Cross Section Calculation}
+
+The cross section for the above process in a material is given roughly by
+
+\begin{eqnarray*}
+\sigma_{\mu A} = A \sigma_{\mu N}
+\end{eqnarray*}
+
+\noindent where $A$ is the atomic mass number of the material and 
+$\sigma_{\mu N}$ is the cross section for the process on a single nucleon:
+
+\[
+  \sigma_{\mu N} =
+    \left\{ \begin{array}{ll}
+      0.3               & (E \leq 30GeV) \\
+      0.3 (E/30)^{0.25} & (E > 30GeV) \\
+    \end{array} \right. [\mu b] .
+\]
+
+\noindent
+The differential cross section, in terms of muon energy $E$ and emission solid
+angle $\Omega$, can be expressed as:
+
+\begin{eqnarray*}
+  \frac{d\sigma}{d\Omega dE} =\Gamma\,(\sigma_T + \epsilon \sigma_L)
+\end{eqnarray*}
+where $\sigma_L$ and $\sigma_T$ are the photoabsorption cross sections for 
+longitudinal and transverse photons, respectively.  $\Gamma$ is the transverse
+photon flux and $\epsilon$ is the polarization of the intermediate photon.
+The photoabsorption cross sections are parameterized as:
+\begin{eqnarray*}
+  \sigma_L &=& 0.3\,\left( 1 - \frac{1}{1.868} Q^2 \nu \right)\,\sigma_T \\
+  \sigma_T &\sim& const = 0.12 mb \\
+\end{eqnarray*}
+
+\noindent while the flux and polarization are given by 
+\begin{eqnarray*}
+  \Gamma   &=& \frac{K \alpha}{2\pi} \frac{E^\prime}{E} \frac{1}{1-\epsilon} \\
+  \epsilon &=& \left[ 1 + 2 \frac{Q^2 + \nu^2}{Q^2} tan^2 \frac{\theta}{2} \right]^{-1} . \\
+\end{eqnarray*}
+
+\noindent
+$E$ and $E^{\prime}$ are the initial and final muon energies, $Q^2$ and $\nu$ 
+are the scaling variables
+\begin{eqnarray*}
+  Q^2   &=& -q^2 = 2 (EE^{\prime} - PP^{\prime} cos \theta - m_\mu^2) \\
+  \nu   &=& E - E^{\prime} , \\
+\end{eqnarray*}
+and $K$ is given using the Gilman convention
+\begin{eqnarray*}
+  K = \nu + \frac{Q^2}{2\nu} .
+\end{eqnarray*}
+
+
+\section{Status of this document}
+ 20.04.02  re-written by D.H. Wright \\
+ 23.10.98  created by M.Takahata \\
+
+\begin{latexonly}
+
+\begin{thebibliography}{99}
+\bibitem{GHEISHA} H.Fesefeldt
+   {\em GHEISHA The Simulation of Hadronic Showers} 149
+   {\em RWTH/PITHA 85/02} (1985)
+\end{thebibliography}
+
+\end{latexonly}
+
+\begin{htmlonly}
+
+\section{Bibliography}
+
+\begin{enumerate}
+\item H.Fesefeldt
+   {\em GHEISHA The Simulation of Hadronic Showers} 149
+   {\em RWTH/PITHA 85/02} (1985)
+\end{enumerate}
+
+\end{htmlonly}
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/transportation/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/transportation/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/transportation/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/transportation.tex/1.5/Fri Jun 13 16:42:23 2003//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/transportation/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/transportation/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/transportation/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/transportation
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/transportation/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/transportation/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/transportation/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/transportation/transportation.tex
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/transportation/transportation.tex	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/latex/transportation/transportation.tex	(revision 1208)
@@ -0,0 +1,30 @@
+\chapter{Transportation}
+
+      The transportation process is responsible for determining the
+geometrical limits of a step.  It calculates the length of step with which a
+track will cross into 
+another volume.  When the track actually arrives at a boundary, the
+transportation process locates the next volume that it enters.
+
+   If the particle is charged and there is an electromagnetic (or
+potentially other) field, it is responsible for propagating the particle in
+this field.  It does this according to an equation of motion.  This equation 
+can be provided by Geant4, for the case a magnetic or EM field, 
+or can be provided by the user for other fields.
+
+   The transportation updates the time of flight of a particle, utilising its
+initial velocity.
+
+\textit{Some additional details on motion in fields:}
+
+  In order to intersect the model Geant4 geometry of a detector or setup, the
+curved trajectory followed by a charged particle is split into 'chords segments'.  A
+chord is a straight line segment between two trajectory points.  Chords are
+created utilizing a criterion for the maximum estimated distance between a
+curve point and the chord. This distance is also known as the sagitta.
+
+  The equations of motions are solved utilising Runge Kutta methods.
+Runge Kutta methods of different can be utilised for fields depending on the
+numerical method utilised for approximating the field.  Specialised methods
+for near-constant magnetic fields are under development.
+   
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/print/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/print/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/print/CVS/Entries	(revision 1208)
@@ -0,0 +1,3 @@
+/Execute.pl/1.1/Fri Nov 27 06:03:32 1998//
+/MergeDocs.pl/1.1/Fri Nov 27 06:03:33 1998//
+D
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/print/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/print/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/print/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/PhysicsReferenceManual/print
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/print/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/print/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/print/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/print/Execute.pl
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/print/Execute.pl	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/print/Execute.pl	(revision 1208)
@@ -0,0 +1,7 @@
+#!/kek/local/bin/perl
+#
+
+
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/print/MergeDocs.pl
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/print/MergeDocs.pl	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/PhysicsReferenceManual/print/MergeDocs.pl	(revision 1208)
@@ -0,0 +1,4 @@
+#!/kek/local/bin/perl
+#
+
+
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+D/html////
+D/print////
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/SoftwareReferenceManual
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/CVS/Entries	(revision 1208)
@@ -0,0 +1,4 @@
+D/ClassReference////
+D/CodeConvention////
+D/Introduction////
+/index.html/1.2/Tue Nov 26 19:50:04 2002//
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/SoftwareReferenceManual/html
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/CVS/Entries	(revision 1208)
@@ -0,0 +1,13 @@
+/geometry.html/1.1/Tue Sep 29 13:47:28 1998//
+/global.html/1.1/Tue Sep 29 13:47:28 1998//
+/graphicalUserInterface.html/1.1/Tue Sep 29 13:47:29 1998//
+/hit.html/1.1/Tue Sep 29 13:47:29 1998//
+/material.html/1.1/Tue Sep 29 13:47:30 1998//
+/particle.html/1.1/Tue Sep 29 13:47:30 1998//
+/persistency.html/1.1/Tue Sep 29 13:47:31 1998//
+/physicsProcess.html/1.1/Tue Sep 29 13:47:31 1998//
+/run.html/1.1/Tue Sep 29 13:47:32 1998//
+/tracking.html/1.1/Tue Sep 29 13:47:32 1998//
+/userInterfaceCommand.html/1.1/Tue Sep 29 13:47:33 1998//
+/visualization.html/1.1/Tue Sep 29 13:47:34 1998//
+D
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/geometry.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/geometry.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/geometry.html	(revision 1208)
@@ -0,0 +1,51 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako,  9-Jul-1998 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+<A HREF="../../../../Overview/html/index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></A>
+<A HREF="../index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="eventGenerator.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A HREF="material.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>Reference Manual</B>
+<BR>
+<B>Class Reference</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>3.4 Geometry</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+<!-- ============================================== Section --> 
+
+
+<BR><BR><BR><BR><BR><BR><BR>
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/global.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/global.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/global.html	(revision 1208)
@@ -0,0 +1,51 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako,  9-Jul-1998 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+<A HREF="../../../../Overview/html/index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></A>
+<A HREF="../index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="visualization.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/NextGR.gif" ALT="Next">
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>Reference Manual</B>
+<BR>
+<B>Class Reference</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>3.16 Global usage classes</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+<!-- ============================================== Section --> 
+
+
+<BR><BR><BR><BR><BR><BR><BR>
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/graphicalUserInterface.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/graphicalUserInterface.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/graphicalUserInterface.html	(revision 1208)
@@ -0,0 +1,51 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako,  9-Jul-1998 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+<A HREF="../../../../Overview/html/index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></A>
+<A HREF="../index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="userInterfaceCommand.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A HREF="visualization.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>Reference Manual</B>
+<BR>
+<B>Class Reference</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>3.14 Graphical user interface</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+
+<!-- ============================================== Section --> 
+
+
+<BR><BR><BR><BR><BR><BR><BR>
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
+
+
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/hit.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/hit.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/hit.html	(revision 1208)
@@ -0,0 +1,67 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako,  9-Jul-1998 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+<A HREF="../../../../Overview/html/index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></A>
+<A HREF="../index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="tracking.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A HREF="digitization.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>Reference Manual</B>
+<BR>
+<B>Class Reference</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>3.10 Hit</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+<!-- ============================================== Section --> 
+
+
+
+<BR><BR><BR><BR><BR><BR><BR>
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/material.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/material.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/material.html	(revision 1208)
@@ -0,0 +1,50 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako,  9-Jul-1998 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+<A HREF="../../../../Overview/html/index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></A>
+<A HREF="../index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="geometry.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A HREF="electroMagneticField.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>Reference Manual</B>
+<BR>
+<B>Class Reference</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>3.5 Material</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+<!-- ============================================== Section --> 
+
+<BR><BR><BR><BR><BR><BR><BR>
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/particle.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/particle.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/particle.html	(revision 1208)
@@ -0,0 +1,51 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako,  9-Jul-1998 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+<A HREF="../../../../Overview/html/index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></A>
+<A HREF="../index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="electroMagneticField.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A HREF="physicsProcess.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>Reference Manual</B>
+<BR>
+<B>Class Reference</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>3.7 Particle</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+<!-- ============================================== Section --> 
+
+
+<BR><BR><BR><BR><BR><BR><BR>
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/persistency.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/persistency.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/persistency.html	(revision 1208)
@@ -0,0 +1,61 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako,  9-Jul-1998 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+<A HREF="../../../../Overview/html/index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></A>
+<A HREF="../index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="digitization.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A HREF="userInterfaceCommand.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>Reference Manual</B>
+<BR>
+<B>Class Reference</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>3.12 Object Persistency</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+<!-- ============================================== Section --> 
+<H2>List of classes</H2>
+<UL>
+<LI>G4PEvent ( &lt;-- link to the header file)
+<LI>G4PPrimaryVertex ( &lt;-- link to the header file)
+<LI>G4PersistencyManager ( &lt;-- link to the header file)
+<LI>.............
+<LI>.............
+</UL>
+
+
+<!-- ============================================== Section --> 
+
+
+<BR><BR><BR><BR><BR><BR><BR>
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
+
+
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/physicsProcess.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/physicsProcess.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/physicsProcess.html	(revision 1208)
@@ -0,0 +1,51 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako,  9-Jul-1998 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+<A HREF="../../../../Overview/html/index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></A>
+<A HREF="../index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="particle.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A HREF="tracking.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>Reference Manual</B>
+<BR>
+<B>Class Reference</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>3.8 Physics processes</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+<!-- ============================================== Section --> 
+
+
+<BR><BR><BR><BR><BR><BR><BR>
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/run.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/run.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/run.html	(revision 1208)
@@ -0,0 +1,47 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako,  9-Jul-1998 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+<A HREF="../../../../Overview/html/index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></A>
+<A HREF="../index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/PreviousGR.gif" ALT="Previous">
+<A HREF="event.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>Reference Manual</B>
+<BR>
+<B>Class Reference</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>3.1 Run</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+
+<!-- ============================================== Section --> 
+
+<BR><BR><BR><BR><BR><BR><BR>
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/tracking.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/tracking.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/tracking.html	(revision 1208)
@@ -0,0 +1,64 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako,  9-Jul-1998 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+<A HREF="../../../../Overview/html/index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></A>
+<A HREF="../index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="physicsProcess.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A HREF="hit.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>Reference Manual</B>
+<BR>
+<B>Class Reference</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>3.9 Tracking</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+<!-- ============================================== Section --> 
+<H2>3.9.1.1 G4TrackingManager</H2>
+<UL>
+<LI>public interfaces
+<LI>private data member 
+</UL>
+
+<H2>3.9.1.2 G4SteppingManager</H2>
+<H2>3.9.1.3 G4Track</H2>
+<H2>3.9.1.4 G4Step</H2>
+
+
+<!-- ============================================== Section --> 
+
+
+
+<BR><BR><BR><BR><BR><BR><BR>
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/userInterfaceCommand.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/userInterfaceCommand.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/userInterfaceCommand.html	(revision 1208)
@@ -0,0 +1,51 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako,  9-Jul-1998 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+<A HREF="../../../../Overview/html/index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></A>
+<A HREF="../index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="persistency.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A HREF="graphicalUserInterface.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>Reference Manual</B>
+<BR>
+<B>Class Reference</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>3.13 User Interface</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+<!-- ============================================== Section --> 
+
+
+<BR><BR><BR><BR><BR><BR><BR>
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/visualization.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/visualization.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/ClassReference/visualization.html	(revision 1208)
@@ -0,0 +1,65 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako,  9-Jul-1998 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+<A HREF="../../../../Overview/html/index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></A>
+<A HREF="../index.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<A HREF="graphicalUserInterface.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A>
+<A HREF="global.html">
+<IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next"></A>
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Guide</B>
+<BR>
+<B>Reference Manual</B>
+<BR>
+<B>Class Reference</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>3.15 Visualization</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+<!-- ============================================== Section --> 
+<FONT SIZE="+1" COLOR="#000000">
+<B>3.15.1  Visualization/management sub-category</B><BR>
+</FONT>
+<P>
+<FONT SIZE="+1" COLOR="#000000">
+<B>3.15.2  Visualization/modeling   sub-category</B><BR>
+</FONT>
+<P>
+<FONT SIZE="+1" COLOR="#000000">
+<B>3.15.3  Graphics_reps category</B><BR>
+</FONT>
+<P>
+
+<!-- ============================================== Section --> 
+
+
+<BR><BR><BR><BR><BR><BR><BR>
+<HR>
+<A HREF="../../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/CodeConvention/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/CodeConvention/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/CodeConvention/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/codeConvention.html/1.2/Wed Dec  2 03:50:59 1998//
+D
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/CodeConvention/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/CodeConvention/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/CodeConvention/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/CodeConvention
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/CodeConvention/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/CodeConvention/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/CodeConvention/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/CodeConvention/codeConvention.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/CodeConvention/codeConvention.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/CodeConvention/codeConvention.html	(revision 1208)
@@ -0,0 +1,315 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako,  2-Dec-1998 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+</TD>
+
+<TD ALIGN="Right">
+</TD>
+</TR></TABLE>
+<P>
+
+<BR><BR>
+<P ALIGN="Center">
+<FONT SIZE="+4" COLOR="#238E23">
+<B>2. Code Convention</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+
+<!-- ============================================== Section --> 
+"A major benefit of object-oriented programming languages like
+ C++ is the degree of reuse that can be achieved in
+ well-engineered systems. A high degree of reuse means that
+ far less code must be written for each new application;
+ consequently, that is far less code to maintain." (G.Booch).
+<P>
+The set of rules listed here are the only 'imposed' rules which have
+been adopted for the development of Geant4. We think they might become
+useful also for those users who will develope C++ code for applications
+related to Geant4 and, why not?, in general !
+<P>
+
+<H2>2.1 Introduction</H2>
+
+Geant4 as object-oriented toolkit is thought to be an integration of
+components (sets of classes) which are specific to the HEP applications
+or part of general foundation class libraries, math libraries
+(commercial or free) already implemented and distributed world-wide,
+useful as building blocks for a wide variety of applications. Even
+within HEP, the reusability of object-oriented software across
+different laboratories and between different experiments will be
+essential. 
+<P>
+As an object-oriented toolkit, Geant4 can be certainly extended and
+refined by physicists and experts all over the world, who may have used
+or will use their own coding conventions and rules, different from each
+others.
+It is and has been then important not to impose too fixed rules or
+style-conventions for a world-wide collaboration like GEANT4, but just
+flexible and adequate guidelines for programming and coding styles.
+<P>
+"C++ was designed to support data abstraction and object-oriented
+ programming in addition to traditional C programming techniques.
+ It was not meant to force any particular programming style upon
+ all users" (B.Stroustrup).
+<P>
+
+<HR>
+<H2>2.2 Programming guidelines</H2>
+
+The programming guidelines are the ones which refer to the way of using
+the features of the programming languages. They have to do with things
+like the adhesion to the object oriented paradigm (data-hiding,
+encapsulation, etc ...), the performance and portability.
+<P>
+
+<UL>
+<LI>Every class should have at least one constructor and a
+    destructor even if it does nothing or is defined to do nothing.
+    <P>
+    If a class does not have a constructor there is no guarantee of
+    how objects of that class will be initialized, whilst data
+    members should be explicitly initialized therein. When the
+    constructor dynamically allocates memory, a destructor must be 
+    added to return the memory to the free pool when an object gets
+    cleaned up. 
+<P>
+<LI>Each class should have an assignment operator:<BR> 
+    <KBD>ClassName& operator=(const ClassName&)</KBD><BR>
+    and a copy constructor:<BR> 
+    <KBD>ClassName(const ClassName&)</KBD><BR>
+    when allocating subsidiary data structures on the heap or
+    consume any other kind of shared resources.
+    <P> 
+    The assignment operator is called when one instance of a class
+    is assigned to another.
+    The copy constructor defines the behaviour of the class when it
+    is passed by value as an argument, returned by value from a
+    function, or used to initialize one instance with the value of
+    another class instance. Defining this constructor, all the class
+    objects are copied properly. When it doesn't make sense to copy
+    or assign instances of a given class, the copy constructor or
+    the = operator should be made private. 
+<P>
+<LI>Data members should be made private/protected and accessed by
+    inline functions in order to best implement information-hiding.
+    <P>
+    Inline expansion avoids the overhead of a function call and can
+    result in large savings of CPU time expecially if applied to
+    member functions supporting public access to private data
+    (allowing the maximum data-hiding for a required performance). 
+<P>
+<LI>The use of global variables or functions should be avoided where
+    possible, in order to respect encapsulation. 
+<P>
+<LI>The use of friend classes should be avoided where possible.
+    <P>
+    To garantee the encapsulation of a base class is always
+    preferable to use protected data over friends or public data
+    and then use inheritance. 
+<P>
+<LI>The use of type casting should be avoided.
+    <P>
+    Especially from <KBD>const*</KBD> or <KBD>const</KBD>, type 
+    casting may be dangerous
+    for data-hiding. In addition pointers should not be cast to int
+    for portability reasons. 
+<P>
+<LI>Hard-coded numbers within the code must be avoided.
+    <P>
+    For portability and maintainability reasons. The use of costants
+    (<KBD>const</KBD>) is a valid solution. 
+<P>
+<LI>Instead of the raw C types, the G4 types should be used.
+    <P>
+    For the basic numeric types (int, float, double, etc ...),
+    different compilers and different platforms provide different
+    value ranges. In order to assure portability, the use of G4int,
+    G4float, G4double, which are base classes globally defined is
+    preferable. G4 types implement the right generic type for a
+    given architecture. 
+</UL>
+<P>
+
+<HR>
+<H2>2.3 Coding-style conventions</H2>
+
+The coding-style guidelines are the ones which refer to the editing
+styles of the source code. They have to do with things like the code
+maintainability and readability.
+<P>
+
+<UL>
+<LI>The public, protected and private keywords must be used
+    explicitly in the class declaration in order to make easier
+    code readability. 
+<P>
+<LI>English and self-explaining names for constants, variables and
+    functions should be used for code readability.
+    <P>
+    Possibly avoid the use of underscore "_" characters within
+    variables or function names (ex. <KBD>theTotalEnergy,
+    SetEnergyTable(), GetTrackPosition()</KBD>, ...). 
+<P>
+<LI>The code must be properly indented (ex. 2 characters indentation
+    when inside a control structure) for readability reasons. 
+<P>
+<LI>Each GEANT4 class name should begin with G4
+    <P>
+    (ex. <KBD>G4Material, G4GeometryManager, G4ProcessVector</KBD>, ...) 
+    to  keep an homogeneous naming style for GEANT4 specific classes. 
+<P>
+<LI>Each header file should contain only one or related class
+    declarations.
+    <P>
+    For maintainability reasons and to make easier retrieval of
+    classes' definitions across each category. 
+<P>
+<LI>Each class implementation source code should go into a single
+    source file.
+    <P>
+    For maintainability reasons and to make easier retrieval of
+    classes' implementations across each category. 
+<P>
+<LI>Each header file must be protected from multiple inclusions.
+    <P>
+    In order to avoid multiple declarations and circular dependences
+    in the code. Ex.:
+    <PRE>
+    #ifndef NAME_HH
+    #define NAME_HH
+    ...
+    #endif 
+    </PRE>
+
+<LI>Each file should contain a short header about the author,
+   updates (CVS) and date.
+   <P>
+   All files should begin with:<BR>
+   <KBD> // $Id: codeConvention.html,v 1.2 1998/12/02 03:50:59 amako Exp $</KBD>
+   and a half line comment with the name of the original author,
+   update notes and dates. The <KBD>$Id: codeConvention.html,v 1.2 1998/12/02 03:50:59 amako Exp $</KBD> will expand to filename
+    and  last updater in CVS. 
+</UL>
+<P>
+
+<HR>
+<H2>2.4 Coding-style for writing a Geant4 application </H2>
+<UL>
+<I> Style to adopt to write a Geant4 main application.</I>
+</UL>
+
+<HR>
+<H2>2.5 Programming Suggestions learned from experience</H2>
+
+Here is a list of rules/hints which we could collect after all
+periodical sessions of QA/QC on the developed code. These "hints" have
+been made public to Geant4 developers in order to avoid the most common
+mistakes and improve the quality of the code.
+<P>
+
+<UL>
+<LI>Initialize all data members of a class in each constructor
+    (pointers, <KBD>G4ints</KBD>, etc.) 
+    <P>
+    Bugs related to this problem are extremely difficult to track
+    down !
+<P> 
+<LI>Do not insert items allocated on the heap into value-based
+    collections (Or, at least, preserve the pointer for deletion) 
+<P>
+<LI>Properly destruct objects 
+    <P>
+    In particular, remember to delete items of a pointer based
+    collection which were allocated on the heap. 
+<P>    
+<LI>Inline short and frequently used member functions 
+    <P>
+    Define inlined functions in the .icc file and check that the
+    compiler is effectively inlining them (using the proper
+    compiler options). 
+<P>
+<LI>A member function doing allocations on the heap may leak memory
+    if the user invokes the function several times 
+    <P>
+    Check if allocation was done already. 
+<P>
+<LI>Access of elements of the RWTPtrOrderedVector collections
+    <P>
+    As of Tools.h++ V7.0.1: <BR>
+    <KBD>operator()</KBD> fetches an element and does no bounds 
+    checking of the index.<BR> 
+    <KBD>operator[]</KBD> fetches an element and does bounds check. 
+    The library is only aware of insertions by <KBD>insert()</KBD> 
+    (and related functions). 
+    Therefore: 
+    <UL>    
+    <LI>filling the array by insert() and reading it with [] works; 
+    <LI>filling the array by () and reading it by () works; 
+    <LI>filling by [] does NOT work any more. 
+    </UL>
+<P>
+<LI>The return type of function main() 
+    <P>
+    use the declaration int <KBD>main()</KBD> instead of 
+    <KBD>void main()</KBD> or <KBD>main()</KBD>
+    (this "implicite int" will be excluded from the C++ standard
+    soon).
+<P>
+<LI>Programs should return: <BR>
+    <UL>
+    <LI>0 or <KBD>EXIT_SUCCESS</KBD> on success; 
+    <LI>nonzero or <KBD>EXIT_FAILURE</KBD> on error. 
+    </UL>
+<P>
+<LI>Deletion of elements in pointer based collections 
+    <P>
+    Items stored in pointer collections e.g. <KBD>RWTPtrOrderedVector</KBD>
+    can be deleted by the method <KBD>clearAndDestroy()</KBD>. 
+<P>
+<LI>Problems with classes that cannot be copied/assigned
+    to/constructed etc. 
+    <P>
+    It is best to make the corresponding member functions private. 
+<P>
+<LI>Use const declarations whenever possible instead of numbers
+    in the code 
+<P>
+<LI>Avoid multiple return points in a method where possible 
+    <P>
+    Methods with multiple return points cannot be inlined and
+    some compilers (e.g. HP-CC) complain about this. 
+<P>
+<LI>Use G4Exception to print an error message and exit the program
+<P> 
+<LI>Use costants and units defined in <KBD>PhysicalConstants.h</KBD> and
+    <KBD>SystemOfUnits.h</KBD>
+    <P>
+    Look inside those files in CLHEP/Units before defining local
+    constants or putting hard-coded numbers in the code. 
+<P>
+<LI>Do not code bit-wise operations within a word. Consider
+    a word as atomic!
+</UL>
+
+
+<BR><BR>
+
+</BODY>
+</HTML>
+
+
+
+
+
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/Introduction/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/Introduction/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/Introduction/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/introduction.html/1.2/Wed Dec  2 03:51:04 1998//
+D
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/Introduction/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/Introduction/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/Introduction/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/Introduction
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/Introduction/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/Introduction/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/Introduction/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/Introduction/introduction.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/Introduction/introduction.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/Introduction/introduction.html	(revision 1208)
@@ -0,0 +1,54 @@
+<HTML>
+<TITLE>
+</TITLE>
+<!-- Changed by: Katsuya Amako,  2-Dec-1998 -->
+
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+</TD>
+<TD ALIGN="Right">
+</TD>
+</TR></TABLE>
+<P>
+
+<BR><BR>
+<P ALIGN="Center">
+<FONT SIZE="+4" COLOR="#238E23">
+<B>1. Introduction</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+
+<!-- ============================================== Section --> 
+<P>
+This is the reference manual for the Geant4 toolkit.
+It describes definitions of all classes and their public 
+methods which are necessary for Geant4 application developers. 
+<P>
+Chapter 2 explains C++ code convention used in the Geant4 toolkit.
+It also includes programming suggestions learned from experience 
+of the Geant4 development.
+<P>
+Chapter 3 describes, class category by class category, the 
+definitions of classes in it and their public methods. It 
+covers all classes necessary for those who want to develop
+a detector simulator using Geant4. This means it does not
+contain entire classes in the Geant4 toolkit. Suppose if
+you want, as a toolkit developer, to develop an additional 
+functionary to the toolkit, probably you need to read 
+directly the source codes instead of reading this reference
+manual. 
+<P>
+
+
+<BR><BR>
+
+</BODY>
+</HTML>
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/index.html
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/index.html	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/html/index.html	(revision 1208)
@@ -0,0 +1,190 @@
+<HTML>
+<HEAD>
+<TITLE>Software Reference Manual</TITLE>
+<!-- Changed by: Katsuya Amako, 22-Sep-1998 -->
+<!-- Changed by: Dennis Wright, 26-Nov-2002 -->
+</HEAD>
+<BODY>
+<TABLE WIDTH="100%"><TR>
+<TD>
+<A HREF="../../../Overview/html/index.html">
+<IMG BORDER="0" SRC="../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></A>
+<IMG BORDER="0" SRC="../../../resources/html/IconsGIF/ContentsGR.gif" ALT="Contents">
+<IMG BORDER="0" SRC="../../../resources/html/IconsGIF/PreviousGR.gif" ALT="Previous">
+<IMG BORDER="0" SRC="../../../resources/html/IconsGIF/NextGR.gif" ALT="Next">
+</TD>
+<TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#238E23">
+<B>Geant4 User's Documents</B>
+</FONT>
+</TD>
+</TR></TABLE>
+<BR><BR>
+
+<P ALIGN="Center">
+<FONT SIZE="+4" COLOR="#238E23">
+<B>Software Reference Manual</B>
+</FONT>
+<BR><BR>
+
+<HR ALIGN="Center" SIZE="7%">
+<BR><BR>
+
+
+<!-- ============================================== Section --> 
+<OL>
+<LI><A HREF="Introduction/introduction.html">
+    <B>Introduction</B></A>
+<P>
+
+<!-- ============================================== Section --> 
+<LI><A HREF="CodeConvention/codeConvention.html">
+    <B>C++ code convention</B></A>
+<P>
+   
+<!-- ============================================== Section --> 
+<LI><B>Class reference</B></A>
+<P>
+    <OL>
+    <LI><A HREF="ClassReference/run.html">
+        Run</A>
+    <LI><A HREF="ClassReference/event.html">
+        Event</A>
+    <LI><A HREF="ClassReference/eventGenerator.html">
+        Event generator interface</A>
+    <LI><A HREF="ClassReference/geometry.html">
+        Geometry</A>
+    <LI><A HREF="ClassReference/material.html">
+        Materials</A>
+    <LI><A HREF="ClassReference/electroMagneticField.html">
+        Electro-magnetic field</A>
+    <LI><A HREF="ClassReference/particle.html">
+        Particles</A>
+    <LI><A HREF="ClassReference/physicsProcess.html">
+        Physics processes</A>
+    <LI><A HREF="ClassReference/tracking.html">
+        Tracking</A>
+    <LI><A HREF="ClassReference/hit.html">
+        Hit</A>
+    <LI><A HREF="ClassReference/digitization.html">
+        Digitization</A>
+        <BR>
+    <LI><A HREF="ClassReference/persistency.html">
+        Object persistency</A>
+    <LI><A HREF="ClassReference/userInterfaceCommand.html">
+        User interface commands</A>
+    <LI><A HREF="ClassReference/graphicalUserInterface.html">
+        Graphical user interface</A>
+    <LI><A HREF="ClassReference/visualization.html">
+        Visualization</A>
+    <LI><A HREF="ClassReference/global.html">
+        Global usage classes</A>
+    </OL> 
+</OL>
+ 
+ 
+ 
+ 
+<BR><BR>
+<HR>
+ <A HREF="../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/print/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/print/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/print/CVS/Entries	(revision 1208)
@@ -0,0 +1,3 @@
+/Execute.pl/1.1/Fri Nov 27 06:04:38 1998//
+/MergeDocs.pl/1.1/Fri Nov 27 06:04:39 1998//
+D
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/print/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/print/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/print/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/UsersGuides/SoftwareReferenceManual/print
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/print/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/print/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/print/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/print/Execute.pl
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/print/Execute.pl	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/print/Execute.pl	(revision 1208)
@@ -0,0 +1,7 @@
+#!/kek/local/bin/perl
+#
+
+
+
+
+
Index: /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/print/MergeDocs.pl
===================================================================
--- /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/print/MergeDocs.pl	(revision 1208)
+++ /trunk/documents/UserDoc/UsersGuides/SoftwareReferenceManual/print/MergeDocs.pl	(revision 1208)
@@ -0,0 +1,4 @@
+#!/kek/local/bin/perl
+#
+
+
Index: /trunk/documents/UserDoc/Welcome/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/Welcome/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/CVS/Entries	(revision 1208)
@@ -0,0 +1,1 @@
+D/IntroductionToGeant4////
Index: /trunk/documents/UserDoc/Welcome/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/Welcome/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/Welcome
Index: /trunk/documents/UserDoc/Welcome/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/Welcome/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+D/html////
+D/print////
Index: /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/Welcome/IntroductionToGeant4
Index: /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/CVS/Entries	(revision 1208)
@@ -0,0 +1,5 @@
+/FAQ.html/1.6/Sat Jul  1 00:12:58 2006//
+/index.html/1.19/Wed Nov 29 06:07:19 2006//
+/introductionToGeant4.html/1.19/Mon Jun 19 21:46:00 2006//
+/morefaq.html/1.6/Tue Jul  1 15:37:33 2003//
+D/introductionToGeant4.src////
Index: /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/Welcome/IntroductionToGeant4/html
Index: /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/FAQ.html
===================================================================
--- /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/FAQ.html	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/FAQ.html	(revision 1208)
@@ -0,0 +1,97 @@
+<HTML>
+<HEAD>
+<TITLE>FAQ</TITLE>
+   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+   <META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (X11; I; AIX 4.1) [Netscape]">
+   <!-- Changed by: Dennis Wright, 26-Nov-2002 -->
+</HEAD>
+<BODY>
+
+
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+<A HREF="http://cern.ch/geant4/support/userdocuments.shtml">
+<IMG SRC="../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></A>
+<IMG SRC="../../../resources/html/IconsGIF/ContentsGR.gif" ALT="Contents"></A>
+<IMG SRC="../../../resources/html/IconsGIF/PreviousGR.gif" ALT="Previous"></A>
+<IMG SRC="../../../resources/html/IconsGIF/NextGR.gif" ALT="Next">
+</TD>
+
+<TD ALIGN=RIGHT><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Documents</B></FONT></FONT>
+</TD>
+</TR>
+</TABLE>
+<P>
+<BR>
+
+<CENTER><B><FONT COLOR="#238E23"><FONT SIZE=+4>
+Frequently Asked Questions about User Support Policy
+</FONT></FONT></B></CENTER>
+<P>
+<BR>       
+
+<HR ALIGN="Center" SIZE="7%">
+
+<b>1.<i>If I need to discuss technical matters specific to my simulation 
+      application or ask for first-aid help, who can I contact?</i></b>
+      <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://cern.ch/geant4/organisation/technical_board.html">http://cern.ch/geant4/organisation/technical_board.html</a>.
+      You may also post your question in the Geant4 HyperNews Forum, 
+     <a href="http://geant4-hn.slac.stanford.edu:5090/Geant4-HyperNews/index">http://geant4-hn.slac.stanford.edu:5090/Geant4-HyperNews/index</a>.</P><BR>
+
+<b>2.<i>If I find a bug or other problem with the code, who should be 
+      informed?</i></b>
+      <P>
+      A WWW interface, available at 
+      <a href="http://cern.ch/geant4/problemreport/">http://cern.ch/geant4/problemreport/</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><BR>
+
+
+<b>3.<i>If I propose a fix, who is responsible for approving it?</i></b>
+     <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><BR>
+
+<b>4.<i>To whom should I send a proposal for an improvement in Geant4 
+     functionality?</i></b>
+     <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><BR> 
+
+<b>5.<i>Is there a regular user meeting which I should attend?</i></b>
+     <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><BR> 
+
+<b>6.<i>Where can I find solutions to particular problems as well as general
+     user support?</i></b>
+     <P>
+     Solutions and tips for solving practical problems can be found on an
+     additional 
+     <a href="http://cern.ch/geant4/support/faq.html">FAQ</a> page.
+     General and specific user support information is available at
+     <a href="http://cern.ch/geant4/support">http://cern.ch/geant4/support</a>.
+     </P><BR> 
+
+</BODY>
+</HTML>
+
Index: /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/index.html
===================================================================
--- /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/index.html	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/index.html	(revision 1208)
@@ -0,0 +1,83 @@
+<HTML>
+<HEAD>
+<TITLE>Introduction to Geant4</TITLE>
+   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+   <META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (X11; I; AIX 4.1) [Netscape]">
+<!-- Changed by: Katsuya Amako, 30-Jul-1998 -->
+<!-- Changed by: Michel MAIRE,  3-Aug-1998 -->
+<!-- Changed by: John Allison,  5-Aug-1998 -->
+<!-- Changed by: Katsuya Amako, 28-Dec-1999 -->
+<!-- Changed by: Katsuya Dosanjh, 15-Jul-2000 -->
+<!-- Changed by: Dennis Wright, 29-Apr-2003 -->
+</HEAD>
+<BODY>
+
+
+<TABLE WIDTH="100%" >
+<TR>
+<TD><A HREF="http://cern.ch/geant4/support/userdocuments.shtml">
+<IMG SRC="../../../resources/html/IconsGIF/Overview.gif" ALT="Overview">
+</A>
+<IMG SRC="../../../resources/html/IconsGIF/ContentsGR.gif" ALT="Contents">
+<IMG SRC="../../../resources/html/IconsGIF/PreviousGR.gif" ALT="Previous">
+<IMG SRC="../../../resources/html/IconsGIF/NextGR.gif" ALT="Next" BORDER=0 >
+</TD>
+
+<TD ALIGN=RIGHT><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Documents</B></FONT></FONT>
+<BR>
+<FONT COLOR="#5C3317"><FONT SIZE=-1>
+<B><I>Version:</I></B> <I>Geant4 8.2 December 2006</I>
+</FONT></FONT>
+</TD>
+</TR>
+</TABLE>
+<P><BR>
+
+<CENTER><B><FONT COLOR="#238E23"><FONT SIZE=+4>
+Introduction to Geant4
+</FONT></FONT></B></CENTER>
+<P>
+
+<HR ALIGN="Center" SIZE="7%">
+
+<!-- ============================================== Section -->
+<P>
+<BR>
+<OL>
+<LI><A HREF="introductionToGeant4.html#1.">
+    <B>Geant4 Scope of Application</B>
+    </A>
+<P>
+<LI><A HREF="introductionToGeant4.html#2.">
+    <B>History of Geant4</B>
+    </A>
+<P>
+<LI><A HREF="introductionToGeant4.html#3.">
+    <B>Overview of Geant4 Functionality</B>
+    </A>
+<P>
+<LI><A HREF="introductionToGeant4.html#4.">
+    <B>Geant4 User Support</B>
+    </A>
+<P>
+<LI><A HREF="introductionToGeant4.html#5.">
+    <B>Software Knowledge Required to Use the Geant4 Toolkit</B>
+    </A> 
+<P>
+<LI><A HREF="introductionToGeant4.html#6.">
+    <B>Computing Environment Required by the Geant4 Toolkit</B>
+    </A> 
+<P>
+
+</OL>
+
+<!-- ============================================== Section --> 
+<BR><BR>
+<HR>
+<A HREF="../../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/introductionToGeant4.html
===================================================================
--- /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/introductionToGeant4.html	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/introductionToGeant4.html	(revision 1208)
@@ -0,0 +1,388 @@
+<HTML>
+<HEAD>
+<TITLE>Introduction to Geant4</TITLE>
+   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+   <META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (X11; I; AIX 4.1) [Netscape]">
+   <!-- Changed by: Dennis Wright, 26-Nov-2002 -->
+</HEAD>
+<BODY>
+
+
+<TABLE WIDTH="100%" >
+<TR>
+<TD>
+<A HREF="../../../Overview/html/index.html">
+<IMG SRC="../../../resources/html/IconsGIF/Overview.gif" ALT="Overview"></A>
+<A HREF="index.html">
+<IMG SRC="../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A>
+<IMG SRC="../../../resources/html/IconsGIF/PreviousGR.gif" ALT="Previous">
+<IMG SRC="../../../resources/html/IconsGIF/NextGR.gif" ALT="Next"></A>
+</TD>
+
+<TD ALIGN=RIGHT><FONT COLOR="#238E23"><FONT SIZE=-1>
+<B>Geant4 User's Documents</B></FONT></FONT>
+</TD>
+</TR>
+</TABLE>
+<P>
+<BR>
+
+<CENTER><B><FONT COLOR="#238E23"><FONT SIZE=+4>
+Introduction to Geant4
+</FONT></FONT></B></CENTER>
+<P>
+<BR>       
+
+<HR ALIGN="Center" SIZE="7%">
+
+<!-- ============================================== Section -->
+<A NAME="1."></A>
+<H2>1. Geant4 Scope of Application</H2>
+
+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: 
+<UL>
+  <LI>the geometry of the system,</LI> 
+  <LI>the materials involved,</LI>
+  <LI>the fundamental particles of interest,</LI> 
+  <LI>the generation of primary events, 
+  <LI>the tracking of particles through materials and electromagnetic fields, 
+  <LI>the physics processes governing particle interactions, 
+  <LI>the response of sensitive detector components, 
+  <LI>the generation of event data, 
+  <LI>the storage of events and tracks, 
+  <LI>the visualization of the detector and particle trajectories, and 
+  <LI>the capture and analysis of simulation data at different levels of 
+      detail and refinement.</LI>
+</UL>
+
+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: 
+<UL>
+  <LI>user interfaces,
+  <LI>built-in steering routines, and  
+  <LI>command interpreters 
+</UL>
+which operate at every level of the simulation. 
+
+<P>
+At the heart of Geant4 is an abundant set of physics models to handle the 
+interactions of particles with matter across a very wide energy range.  Data
+and expertise have been drawn from many sources around the world and in this
+respect, Geant4 acts as a repository which incorporates a large part of all 
+that is known about particle interactions.
+
+<P>
+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.
+
+<A NAME="2."></A>
+<H2>2. History of Geant4</H2>
+
+These ideas first appeared in two studies done independently at CERN and KEK
+in 1993.  Both groups sought to investigate how modern computing techniques 
+could be applied to improve the existing FORTRAN based Geant3 simulation 
+program.  Activities were merged in the fall of 1994 and a formal proposal, 
+RD44, to construct an entirely new program based on object-oriented
+technology was submitted to CERN's Detector Research and Development 
+Committee.  The initiative grew to become a large international 
+collaboration of physicist programmers and software engineers from a number 
+of institutes and universities participating in a range of high-energy 
+physics experiments in Europe, Japan, Canada and the United States.  The 
+objective was to write a detector simulation program which had the 
+functionality and flexibility necessary to meet the requirements of the next
+generation of subatomic physics experiments.  The initial scope quickly 
+widened when it became apparent that such a tool would also benefit the 
+nuclear, accelerator, space and medical physics community, with more 
+individuals joining from these fields of science.
+
+<P>
+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&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.
+
+<P>
+The collaboration now profits from the accumulated experience of many 
+contributors to the field of Monte Carlo simulation of physics detectors and
+physical processes.  While geographically distributed software development 
+and large-scale object-oriented systems are no longer a novelty, Geant4, in 
+terms of the size and scope of the code and the number of contributors, may 
+well represent the largest and most ambitious project of its kind outside 
+the corporate world.  A clean overall problem decomposition has led to a 
+clear hierarchical structure of domains.  Every section of the Geant4 
+software, which corresponds to a releasable component (library), is
+individually managed by a working group of experts.  In addition, there is a
+working group for each of the activities: testing and quality assurance, 
+software management and documentation management.  A release coordinator 
+heads each group.  This consequent distribution of responsibility among a 
+relative large number of people permits a support structure whereby 
+outside users can address questions directly to the appropriate expert.
+
+<A NAME="3."></A>
+<H2>3. Overview of Geant4 Functionality</H2>
+
+The Geant4 class category diagram is shown in Fig. 1.
+<p>
+Categories at the bottom of the diagram are used by virtually all higher 
+categories and provide the foundation of the toolkit.</p>
+
+The 
+<UL>
+    <LI><i>global</i> 
+</UL>
+category covers the system of units, constants, numerics and random number 
+handling.
+<p>
+The two categories: 
+
+<UL>
+  <LI><i>materials</i> 
+  <LI><i>particles</i>
+</UL> 
+
+implement facilities necessary to describe the physical properties of 
+particles and materials for the simulation of particle-matter interactions. 
+<P>
+The 
+<UL>
+    <LI><i>geometry</i>
+</UL>
+
+module offers the ability to describe a geometrical structure and propagate 
+particles efficiently through it. 
+<p>
+<center>
+<table>
+<tr>
+<td>
+<IMG SRC="introductionToGeant4.src/classCategory.gif"></a>
+</td>
+</tr>
+<tr>
+<td align=center>
+   Fig. 1 Geant4 class categories
+</td>
+</tr>
+</table>
+</center>
+
+
+<P>
+Above these reside categories required to describe the tracking of particles 
+and the physical processes they undergo. The 
+
+<UL>
+    <LI><i>track</i>
+</UL>
+
+category contains classes for tracks and steps, used by the 
+<UL>
+    <LI><i>processes</i>
+</UL>
+
+category, which contains implementations of models of physical interactions: electromagnetic interactions of leptons, photons,
+hadrons and ions, and hadronic interactions. 
+<p>
+All processes are invoked by the 
+<UL>
+    <LI><i>tracking</i>
+</UL>
+
+category, which manages their contribution to the evolution of a track's state
+and provides information in sensitive volumes for hits and digitization. 
+
+<P>
+Above these the
+<UL>
+    <LI><i>event</i>
+</UL>
+
+category manages events in terms of their tracks and the 
+<UL>
+    <LI><i>run</i>
+</UL>
+
+category manages collections of events that share a common beam and detector 
+implementation. A 
+
+<UL>
+    <LI><i>readout</i>
+</UL>
+
+category allows the handling of pile-up. 
+
+<P>
+Finally capabilities that use all of these categories and connect to 
+facilities outside the toolkit through abstract interfaces, provide
+<i>visualization</i>, <i>persistency</i> and user <i>interface</i> 
+capabilities. 
+
+<BR>
+
+<A NAME="4."></A>
+<H2>4. Geant4 User Support</H2>
+
+The collaboration offers support for Geant4, providing 
+<UL>
+  <LI>assistance with problems relating to the code, 
+  <LI>consultation on using the toolkit, and 
+  <LI>response to enhancement requests. 
+</UL>
+
+A user can also expect assistance in 
+<UL>
+  <LI>investigating aberrant results. 
+</UL>
+
+Users of the software who encounter a problem in running the code can use an 
+<UL>
+  <LI>Internet-based <a href="http://cern.ch/geant4/problemreport">problem reporting system</a>.
+</UL>
+
+The system is open to all users. It is set up automatically to assign problem 
+reports to the responsible person according to the category affected. The 
+contact person may then respond directly or forward it to a colleague.  This 
+system is a customized version of the open source reporting tool 
+<a target="_ext" href="http://bugzilla.mozilla.org">Bugzilla</a>.  Besides routing the 
+problem to specialists, it tracks and documents the responses until the 
+problem is resolved. 
+
+<P>
+New requirements, such as requests for new functionality, are presented to 
+and decided by the Technical Steering Board (TSB).  The TSB sets the 
+priorities and agrees on time-scales for the fulfillment of new 
+requirements.  Such support is guaranteed to collaboration members, while 
+requests from non-members are handled on a <i>best effort</i> basis. 
+
+<P>
+For each member organisation a contact person
+<a href="http://cern.ch/geant4/collaboration/steering_board/members.shtml">(TSB member)</a> has been designated who acts as a first reference for Geant4 
+users in that locality, which may include affiliated institutions, user 
+groups, and others in the same geographic area.  The contact person will 
+respond to enquiries, help resolve simple problems, and forward more 
+specialized queries to the relevant expert(s). 
+
+<P>
+Beyond that, a list of frequently asked questions 
+<a href="FAQ.html">(FAQs)</a>, and an internet-based 
+<a targer="_ext" href="http://geant4-hn.slac.stanford.edu:5090/Geant4-HyperNews/index">user forum</a> complete the available Geant4 user support. 
+<BR>
+
+<A NAME="5."></A>
+<H2>5. Software Knowledge Required to Use the Geant4 Toolkit</H2>
+
+In general, there are three types of users: 
+<UL>
+  <LI>the <b>end user</b>, 
+  <LI>the <b>application programmer</b>, 
+</UL>
+
+and for large simulation tasks:
+<UL>
+  <LI>the <b>framework provider</b>. 
+</UL>
+
+The <b>end user</b> runs the simulation program by controlling run time 
+parameters. The interface with the program may be a graphical user 
+interface, an interactive command line interface, or the macro-based system 
+for batch.  The end user needs a basic knowledge of how to control the 
+program flow but does not necessarily have to know object-oriented 
+programming or C++. 
+
+<P>
+The <b>application programmer</b> is central to any simulation task. A firm 
+knowledge of C++ is required to implement code in user action classes to 
+specify, at a minimum, the detector description, the relevant particles and 
+physics processes, and the initial event kinematics.  A manual for the
+application programmer is found in the
+<a href="../../../UsersGuides/ForApplicationDeveloper/html/index.html">User's Guide: For Application Developers</a>.
+
+<P>
+Using standard components of Geant4, a <b>framework provider</b> would add 
+interfaces to external tools, such as for example, to Computer Aided Design 
+(CAD) programs, Object-Oriented Data Base Management Systems (ODBMS) and 
+graphics systems. This requires the development of new classes overloading 
+standard Geant4 functionality and hence a solid understanding of 
+object-oriented Programming.  A manual for the framework provider is found in the 
+<a href="../../../UsersGuides/ForToolkitDeveloper/html/index.html">User's Guide: For Toolkit Developers</a>.
+<p>
+
+
+<B>References</B>
+<P>
+All user documentation can be found on the Geant4 homepage
+<a href="http://cern.ch/geant4">http://cern.ch/geant4</a>.
+<P>
+References for Object-Oriented Technology: 
+<UL>
+  <LI>Grady Booch, Object-Oriented Analysis and Design with Applications The Benjamin/Cummings Publishing Co. Inc, 1994,
+     ISBN 0-8053-5340-2 
+  <LI>R.C.Martin, Designing Object-Oriented C++ Applications Using The Booch Method, Prentice Hall 1995, ISBN
+     0-13-203837-4; 
+  <LI>E. Gamma, et al., Design Patterns - Elements of Reusable Object-Oriented Software, Addison Wesley 1995, ISBN
+     0-201-63361-2; 
+</UL>
+
+References for C++: 
+<UL>
+  <LI>B.Stroustrup, C++ Programming Language 3rd Edition, Addison Wesley, 
+      ISBN: 0-201-88954-4</LI>
+  <LI>I.Pohl, Object-Oriented Programming Using C++, 2nd Edition, Addison 
+      Wesley, ISBN: 0-201-89550-1.</LI>
+</UL>
+<BR>
+
+<A NAME="6."></A>
+<H2>6. Computing Environment Required by the Geant4 Toolkit</H2>
+
+The Geant4 toolkit is available for a variety of operating systems: 
+<UL>
+  <LI>flavors of UNIX,  
+  <LI>Linux, 
+  <LI>and Windows systems. 
+</UL>
+
+In order to link and build the program only two underlying software packages are mandatory: 
+<UL>
+  <LI>CLHEP (Class Library of High Energy Physics) and the 
+  <LI>STL (Standard Template Library for fundamental classes like C++ containers and strings). 
+</UL>
+
+The Geant4 source code is available from the 
+<a href="http://cern.ch/geant4">Geant4 web pages</a>
+while CLHEP is available from the 
+<a target="_ext" href="http://cern.ch/clhep">CLHEP Home Page</a>.
+For details on setting up the computing environment see the
+<a href="../../../UsersGuides/InstallationGuide/html/index.html">Installation Guide</a>.
+
+</BODY>
+</HTML>
+
Index: /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/introductionToGeant4.src/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/introductionToGeant4.src/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/introductionToGeant4.src/CVS/Entries	(revision 1208)
@@ -0,0 +1,2 @@
+/classCategory.gif/1.2/Tue Nov 17 14:15:27 1998/-kb/
+D
Index: /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/introductionToGeant4.src/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/introductionToGeant4.src/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/introductionToGeant4.src/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/Welcome/IntroductionToGeant4/html/introductionToGeant4.src
Index: /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/introductionToGeant4.src/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/introductionToGeant4.src/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/introductionToGeant4.src/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/morefaq.html
===================================================================
--- /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/morefaq.html	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/html/morefaq.html	(revision 1208)
@@ -0,0 +1,477 @@
+<HTML>
+<HEAD>
+<TITLE>More Geant4 FAQ</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> 
+<STYLE TYPE="text/css">
+<!--
+-->
+</STYLE> 
+</HEAD>
+
+<BODY BGCOLOR="#FFFFFF" BACKGROUND="../icons/backg.jpg">
+<DIV ALIGN="center"> 
+<P>
+<IMG SRC="../icons/g4_small.gif" WIDTH="312" HEIGHT="76"> 
+</P>
+</DIV><DIV ALIGN="center"> <H1>Frequently Asked Questions</H1><H1>&nbsp;</H1></DIV>
+<P>
+<P>
+<P>
+
+<UL>
+  <LI> <B><A NAME="q-general"></A><A HREF="#a-general">General</A></B>
+    <OL>
+      <LI><A HREF="#gen-1">How do I add a FAQ to this page?</A></LI>
+    </OL>
+  </LI>
+  <BLOCKQUOTE> 
+    <P>&nbsp; </P>
+  </BLOCKQUOTE>
+  <LI><B><A NAME="q-install"></A><A HREF="#a-install">Installation</A></B> 
+    <OL>
+      <LI><A HREF="#install-1">When I download the source from the web, and unpack 
+        the tar file, some files unpack into the top level directory.</A> </LI>
+      <LI><A HREF="#install-2">I cannot find CLHEP files or library and I have it 
+        installed in my system</A>. </LI>
+      <LI><a href="#install-3">I installed CLHEP and the "Hist" 
+        package for histogramming is missing. Where can I find it and how can 
+        I do for making histograms.</a> </LI>
+      <LI><a href="#install-4">While installing the Geant4 libraries I get the 
+        following message printed:</a><br>
+        <code> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gmake[1]: cernlib: 
+        Command not found</code> <br>
+        <a href="#install-4">Has Geant4 been installed properly ? What to do to 
+        solve this error ? </a> </LI>
+      <LI><a href="#install-5">Trying building the Geant4 libraries I see several 
+        of these errors appearing and my installation fails:</a><br>
+        <code> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .....G4Exception.d:1: 
+        *** missing separator. Stop.<br>
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </code><code>...../G4DalitzDecayChannel.d:1: 
+        *** missing separator. Stop. <br>
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :<br>
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : </code> 
+        <br>
+        <a href="#install-5">Has Geant4 been installed properly ? What to do to 
+        solve this error ? </a> </LI>
+      <LI><a href="#install-6">I'm trying to build Geant4 on Linux Red-Hat 
+        7.0/7.1 with gcc-2.96.XX and get errors in compilation or when building 
+        the file dependencies.</a> </LI>
+      <LI><a href="#install-7">Trying to install Geant4 on Linux with gcc-3.X 
+        compiler, I get compilation errors from CLHEP/DRand48Engine. </a> </LI>
+    </OL>
+  </LI>
+  <BLOCKQUOTE> 
+    <P>&nbsp; </P>
+  </BLOCKQUOTE>
+  <LI><B><A NAME="q-run"></A><A HREF="#a-run">Runtime Problems</A></B> 
+    <OL>
+      <LI><A HREF="#runtime-1">On Linux Red-Hat 6.1, I get a segmentation fault 
+        as soon as I run one of the official extended examples. I also noticed 
+        that random engine status is not stored on file.</A>
+      </LI>
+      <LI><a href="#runtime-2">I installed Geant4 libraries and built my application, 
+        when I try to run it I get:</a><br>
+        <code>
+         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+           error in loading shared libraries:<br>
+         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+           libCLHEP.so: cannot open shared object file:<br>
+         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+           No such file or directory</code>.
+      </LI>
+      <LI><A HREF="#runtime-3">On my system I get a Floating Point Exception 
+        (FPE) since some physics processes sometimes return DBL_MAX as interaction 
+        length and this number is afterwards multiplied by a number greater than 
+        1.</A>
+      </LI>
+    </OL>
+  </LI>
+  <BLOCKQUOTE> 
+    <P>&nbsp; </P>
+  </BLOCKQUOTE>
+  <LI><A NAME="q-geometry"></A><B><A HREF="#a-geometry">Geometry</A></B>
+    <OL>
+      <LI><A HREF="#a-geom-1">I have a generic point and I would like to know 
+        in which physical volume I'm located in my detector geometry.</A></LI>
+      <LI><A HREF="#a-geom-2">How can I access the daughter volumes of a specific 
+        physical volume?</A></LI>
+      <LI><A HREF="#a-geom-3">How can I identify the exact copy-number of a specific 
+        physical volume in my mass geometry?  I tried with <code>GetCopyNo()</code>
+        from my physical volume pointer, but it doesn't seem to work!</A></LI>
+      <LI><A HREF="#a-geom-4">How can I determine the exact position in global coordinates 
+        in my mass geometry during tracking and how can I convert it to coordinates local to
+        the current volume ?</A></LI>
+    </OL>
+  </LI>
+  <BLOCKQUOTE>
+    <P>&nbsp; </P>
+  </BLOCKQUOTE>
+  <LI><B><A NAME="q-phys"></A><A HREF="#a-phys">Physics and cuts</A></B>
+    <OL>
+      <LI><A HREF="#PHYS-1">How do production cuts (in range) work in Geant4 ?
+        Are they also used in tracking ?  If a particle has an energy lower than the
+        converted cut in energy for the given material and the distance to the next
+        boundary is smaller than the cut in range, is the particle killed ?</A> 
+    </OL>
+  </LI>
+  <BLOCKQUOTE>
+    <P>&nbsp; </P>
+  </BLOCKQUOTE>
+  <LI><B><A NAME="q-vis"></A><A HREF="#a-vis">Visualization</A></B>
+    <OL>
+      <LI><A HREF="#VIS-1">I have set G4VIS... environmental variables but visualization 
+        does not appear to be enabled.</A> 
+      <LI><A HREF="#VIS-2">Geant4 crashes while trying to open an OpenGLX window.</A> 
+    </OL>
+  </LI>
+</UL>
+
+<HR>
+
+<H3><A NAME="a-general"></A><A HREF="#q-general">General</A></H3>
+<OL>
+<LI><A NAME="gen-1"></A><I>How do I add a FAQ to this page?</I>
+  <BR><BR>
+  <I>Solution:</I><BR>
+  This is done manually at the moment. Please send your FAQ with solution
+  to the <A HREF="mailto:Gunter.Folger@cern.ch, Gabriele.Cosmo@cern.ch">editors</A>.
+</LI>
+</OL>
+
+<HR>
+
+<H3> <A NAME="a-install"></A><A HREF="#q-install">Installation</A> </H3>
+<OL>
+  <LI><A NAME="install-1"></A><I>When I download the source from the web, and unpack 
+    the tar file, some files unpack into the top level directory.</I><BR>
+    <BR>
+    <I>Solution:</I><BR>
+    The problem you describe usually is the result of using "UNIX" tar to 
+    unpack the gtar ("GNU-tar") file, or vice versa, or using zip on either the 
+    gtar or tar file. Please make certain that you download the correct file for 
+    your system, and that you use the correct unpacking tool. Note that for Linux 
+    you must download the gtar.gz file.<P>
+  </LI>
+  <LI><A NAME="install-2"></A><I>I cannot find CLHEP files or library and I have 
+    it installed in my system.</I><BR>
+    <BR>
+    <I>Solution:</I><BR>
+    If the standard CLHEP installation procedure has been adopted, the variable 
+    $CLHEP_BASE_DIR should point to the area where include/ and lib/ directories 
+    for CLHEP headers & lib are installed (i.e., it should be /usr/local for the 
+    default CLHEP installation). In case the library name is different than the 
+    one expected (libCLHEP.a), you should either create a symbolic link with the 
+    expected name, or define the variable CLHEP_LIB in your environment which 
+    explicitly sets the name of the CLHEP library. If a non-standard CLHEP installation 
+    has been adopted, define variables $CLHEP_INCLUDE_DIR, $CLHEP_LIB_DIR (and 
+    $CLHEP_LIB) to refer explicitly to the place where includes, library (and 
+    library-name) respectively are placed in your system.<P>
+  </LI>
+  <li><a name="install-3"></a><i>I installed </i>CLHEP<i> and the 
+    "</i>Hist<i>" package for histogramming is missing. Where can I find it and 
+    how can I do for making histograms.</i><br>
+    <br>
+    <i>Solution:</i><br>
+    In Geant4, histogramming is done through the standard AIDA interface; 
+    these histograms can be displayed or otherwise manipulated using analysis 
+    tools based on the AIDA interface (JAS, Lizard, Open Scientist, ...). Examples 
+    are shown in examples/extended/analysis and examples/advanced applications. 
+    <br>
+    <br>
+    The obsolete and no-longer maintened "Hist" module can be downloaded from 
+    the <a href="http://pcitapiww.cern.ch/asd/lhc++/INSTALLATION/clhep-1.5.html"> 
+    CLHEP 1.5 distribution from web</a>, but requires some modifications to the 
+    CLHEP installation scripts to be properly installed.<P>
+  </li>
+  <li><a name="install-4"></a><i>While installing the Geant4 libraries I get 
+    the following message printed:</i><br>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      gmake[1]: cernlib: Command not found <br>
+    <i>Has Geant4 been installed properly ? What to do to solve this error ?</i><br>
+    <br>
+    <i>Solution:</i><br>
+    The message:<br>
+    <code> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+           gmake[1]: cernlib: Command not found
+    </code> <br>
+    shows that you don't have the 'cernlib' command installed in your system; 
+    'cernlib' is a command from the CERN program library (cernlib) returning a 
+    list of libraries needed to link a cernlib application. This command is only 
+    used in the 'g3tog4' module, however, if you do not make use of the 'g3tog4' 
+    tool, it's harmless. The cernlib script (and the needed cernlib libraries) 
+    are available from: <a href="http://cern.ch/cernlib">http://cern.ch/cernlib</a>.<P>
+  </li>
+  <li><a name="install-5"></a> <i>Trying building the Geant4 libraries I see several 
+    of these errors appearing and my installation fails:</i><br>
+    <code> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+           .....G4Exception.d:1: 
+           *** missing separator. Stop.<br>
+           &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+           ...../G4DalitzDecayChannel.d:1: 
+           *** missing separator. Stop. <br>
+           &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+           :<br>
+           &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+           :
+    </code> <br>
+    <i>Has Geant4 been installed properly ? What to do to solve this error ?</i><br>
+    <br>
+    <i>Solution:</i><br>
+    It looks like some file dependencies (.d) are corrupted, possibly
+    due to previous build attempts which failed for some reason.<br>
+    You need to remove each of them; you can use:
+    <pre>
+       gmake dependencies='' clean
+    </pre>
+    from the affected module (i.e. for this case, from
+    $G4INSTALL/source/global/management and
+    $G4INSTALL/source/particles/management)
+    and rebuild.
+    <br>Alternatively, you may use:
+    <pre>
+       gmake clean
+    </pre>
+    from geant4/source and rebuild.<P>
+  </li>
+  <li><a name="install-6"></a><i>I'm trying to build Geant4 on Linux Red-Hat 
+    7.0/7.1 with gcc-2.96.XX and get errors in compilation or when building 
+    the file dependencies.</i><br>
+    <br>
+    <i>Solution:</i><br>
+    Geant4 is supported on Red Hat 6.1 with gcc-2.95.2. Moreover, note 
+    that on versions 7.X, Red Hat Linux is distributed with a flawed version of 
+    the gcc compiler which has -never- been officially released by GNU. The compiler 
+    gcc-2.96.XX may require strict ISO/ANSI setup. If so the following changes 
+    in Geant4 3.2 may help to build most of the modules in Geant4, although we 
+    cannot guarantee a correct behavior of a program built with such compiler. 
+    In geant4/config/sys/Linux-g++.gmk modify the line:<br>
+    <code> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXXFLAGS := -pipe -fno-for-scope -DGNU_GCC</code><br>
+    to<br>
+    <code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXXFLAGS := -ansi -pedantic -pipe -fno-for-scope 
+    -DGNU_GCC</code><br>
+    <br>
+    And the following lines:<br>
+    <code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>ifdef G4USE_OSPACE<br>
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPPFLAGS += -DOS_LINUX_2 -DOS_NEW_CHECK -DOS_STL_ASSERT<br>
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPPFLAGS += -DOS_NO_WSTRING -DOS_NO_ALLOCATORS<br>
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPPFLAGS += -I$(OSPACE_BASE_DIR)/ospace/std 
+    -I$(OSPACE_BASE_DIR)<br>
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# else<br>
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# G4USE_STD_NAMESPACE := yes<br>
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# CPPFLAGS += -DG4USE_STD_NAMESPACE<br>
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endif</code><br>
+    to:<br>
+    <code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>G4USE_STD_NAMESPACE := yes<br>
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPPFLAGS += -DG4USE_STD_NAMESPACE</code><br>
+    <br>
+    Rebuild from scratch:<br>
+    <code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code> <code>cd geant4/source<br>
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gmake clean<br>
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gmake<br>
+    </code><P>
+  </li>
+  <li><a name="install-7"></a><i>Trying to install Geant4 on Linux with gcc-3.X 
+    compiler, I get compilation errors from CLHEP/DRand48Engine.</i><br>
+    <br>
+    <i>Solution:</i><br>
+    To overcome this problem on gcc-3.X, you should reinstall CLHEP and 
+    comment out or remove the lines included between <br>
+    <code>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#if !defined(__GNUC__) || defined(__STRICT_ANSI__) <BR>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ... <BR>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#endif <br></code>
+    in DRand48Engine.h. <br>
+    This problem is fixed in a higher (>1.7) version of the CLHEP package.
+  </li>
+</ol>
+  
+<HR>
+
+<H3><A NAME="a-run"></A><A HREF="#q-run">Run Time Problems</A> </H3>
+<OL>
+  <LI><A NAME="runtime-1"></A><I>On Linux Red-Hat 6.1, I get a segmentation fault 
+    as soon as I run one of the official extended examples. I also noticed that 
+    random engine status is not stored on file.</I><BR>
+    <BR>
+    <I>Solution:</I><BR>
+    Check that the CLHEP library has been installed and compiled with Red-Hat 
+    6.1. A binary object produced with Red-Hat 5.X is not fully compatible with 
+    binaries running on RH 6.X, due to a different libc used in the two configurations.<P>
+  </li>
+  <li><a name="runtime-2"></a><i>I installed Geant4 libraries and built my application, 
+    when I try to run it I get:</i><br>
+    <code>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     error in loading shared libraries:<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     libCLHEP.so: cannot open shared object file:<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     No such file or directory.
+    </code><br>
+    <br>
+    <i>Solution:</i><br>
+    Your installation of CLHEP includes shared libraries. You need to specify 
+    the path where libCLHEP.so is installed through your environment variable 
+    LD_LIBRARY_PATH.<P>
+  </li>
+  <LI><A NAME="runtime-3"></A><I>On my system I get a Floating Point Exception 
+    (FPE) since some physics processes sometimes return </I>DBL_MAX<I> as interaction 
+    length and this number is afterwards multiplied by a number greater than 1.</I><BR>
+    <BR>
+    <I>Solution:</I><BR>
+    Geant4 coding conventions and installation setup explicitly follow the ANSI/IEEE-754 
+    Standard for the initialization of floating-point arithmetic hardware and 
+    portability. The Standard foresees floating-point arithmetic to be nonstop 
+    and underflows to be gradual. On DEC platforms, for example, the ANSI/IEEE-754 
+    Standard compliance needs to be explicitly set (since deactivated by default); 
+    in this case we use infact the option "-ieee" on the DEC/cxx native C++ compiler 
+    to achieve this. You should check if your compiler provides compilation options 
+    for activating Standard initialization of FP arithmetic (it may be platform 
+    specific).
+  </LI>
+</OL>
+
+<HR>
+
+<H3><A NAME="a-geometry"></A><A HREF="#q-geometry">Geometry</A> </H3> 
+<OL>
+<LI><A NAME="a-geom-1"></A><I>I have a generic point and I would like to know 
+  in which physical volume I'm located in my detector geometry.</I>
+  <BR><BR>
+  <I>Solution:</I><BR> 
+  The best way of doing this is by invoking the G4Navigator. First get a pointer 
+  of the navigator through the G4TransportationManager, and then locate the point. 
+  i.e. 
+  <pre>
+     #include "G4TransportationManager.hh" 
+     #include "G4Navigator.hh" 
+     G4ThreeVector myPoint = ....;
+     G4Navigator* theNavigator = G4TransportationManager::GetTransportationManager()->GetNavigatorForTracking();
+     G4VPhysicalVolume* myVolume = theNavigator->LocateGlobalPointAndSetup(myPoint); 
+  </pre>
+</LI>
+<LI><A NAME="a-geom-2"></A><I>How can I access the daughter volumes of a specific 
+  physical volume?</I>
+  <BR><BR>
+  <I>Solution:</I><BR>
+  Through the associated logical volume. 
+  <pre>
+      G4VPhysicalVolume* myPVolume = ....; 
+      G4LogicalVolume* myLVolume = myPVolume->GetLogicalVolume(); 
+      for (G4int i=0; i<myLVolume->GetNoDaughters(); i++)  
+        myPVolume = myLVolume->GetDaughter(i); 
+  </pre>
+</LI>
+<LI><A NAME="a-geom-3"></A><I>How can I identify the exact copy-number of a specific 
+   physical volume in my mass geometry?  I tried with <code>GetCopyNo()</code>
+   from my physical volume pointer, but it doesn't seem to work!</I>
+   <BR><BR>
+  <I>Solution:</I><BR>
+  The correct way to identify -uniquely- a physical volume in your
+  mass geometry is by using the touchables (see also section 4.1.5 of the
+  User's Guide for Application Developers), as follows:
+  <pre>
+      G4Step* aStep = ..;
+      G4StepPoint* preStepPoint = aStep->GetPreStepPoint();
+      G4TouchableHandle theTouchable = preStepPoint->GetTouchableHandle();
+      G4int copyNo = theTouchable->GetReplicaNumber();
+      G4int motherCopyNo = theTouchable->GetReplicaNumber(1);
+  </pre>
+  where <code>Replica</code> here stays for any duplicated instance of a physical
+  volume, either if it is a <code>G4PVPlacement</code> (multiple placements of the
+  same logical volume) or a <code>G4PVReplica</code>/<code>G4PVParameterised</code>.<BR>
+  The method <code>GetCopyNo()</code> is meant to return only the serial
+  number of placements not duplicated in the geometry tree.<P>
+</LI>
+<LI><A NAME="a-geom-4"></A><I>How can I determine the exact position in global coordinates 
+   in my mass geometry during tracking and how can I convert it to coordinates local to
+   the current volume ?</I>
+   <BR><BR>
+  <I>Solution:</I><BR>
+  You need again to do it through the touchables (see also section 4.1.5 of the
+  User's Guide for Application Developers), as follows:
+  <pre>
+      G4Step* aStep = ..;
+      G4StepPoint* preStepPoint = aStep->GetPreStepPoint();
+      G4TouchableHandle theTouchable = preStepPoint->GetTouchableHandle();
+      G4ThreeVector worldPosition = preStepPoint->GetPosition();
+      G4ThreeVector localPosition = theTouchable->GetHistory()->
+                                    GetTopTransform().TransformPoint(worldPosition);
+  </pre>
+  where <code>worldPosition</code> here stays for the position related to the world
+  volume, while <code>localPosition</code> refers to the coordinates local to the
+  volume where the particle is currently placed.
+</LI>
+</OL>
+
+<HR>
+
+<H3><A NAME="a-phys"></A><A HREF="#q-phys">Physics and cuts</A> </H3>
+<OL>
+<LI><I><A NAME="PHYS-1"></A>How do production cuts (in range) work in Geant4 ?
+  Are they also used in tracking ?  If a particle has an energy lower than the
+  converted cut in energy for the given material and the distance to the next
+  boundary is smaller than the cut in range, is the particle killed ?</I>
+  <BR><BR>
+  <I>Answer:</I><BR>
+  Geant4 does NOT have a "tracking cut". The toolkit's default behaviour
+  is to track particles down to zero range (i.e. zero energy).<BR>
+  Of course, it is possible for the user to create and register a process
+  that kills particles below a certain energy or range; this is however
+  NOT provided by default in Geant4. So there's NO "tracking cut".<BR>
+  For example, suppose a particle that is nearing zero energy will at some point
+  be proposed by its Ionisation process to undergo one final step, from its current
+  energy down to zero energy. This is still only a proposal. If during this step
+  the particle crosses a boundary, then the transportation will limit the step at
+  a length smaller than the Ionisation -- so the particle will still see and cross
+  the relevant boundary, and another step will occur on the other side of that
+  boundary.<BR>
+  In summary the "production threshold" range and its equivalent in
+  energy are not utilised as a "tracking cut". A particle is not abandoned
+  by Geant4 below a certain range/energy unless the user registers a process
+  to do this by him/her-self.
+</LI>
+</OL>
+
+<HR>
+
+<H3><A NAME="a-vis"></A><A HREF="#q-vis">Visualization</A> </H3>
+<OL>
+<LI><I><A NAME="VIS-1"></A>I have set G4VIS... environmental variables but visualization 
+  does not appear to be enabled.</I>
+  <BR><BR>
+  <I>Solution:</I><BR>
+  This might be 
+  because you set the environment variables *after* already compiling. The environment 
+  variables control C-pre-processor macros of the same name and therefore influence 
+  what code gets compiled. I suggest: (setenv or export the environment variables) 
+  <PRE>
+     cd $G4INSTALL/source/visualization
+     gmake clean
+     gmake
+     cd $G4INSTALL/source/interfaces
+     gmake clean
+     gmake
+     cd $G4INSTALL/source
+     gmake libmap
+     cd [your working directory]
+     gmake clean
+     gmake
+  </PRE>
+  Try environment variables <CODE>G4VIS_BUILD_xxx_DRIVER</CODE> 
+  and <CODE>G4VIS_USE_xxx</CODE>, where xxx = <CODE>OPENGLX, DAWN, DANWFILE, VRML, 
+  VRMLFILE</CODE> all set to 1.<P>
+</LI>
+<LI><I><A NAME="VIS-2"></A>Geant4 crashes while trying to open an OpenGLX window.</I>
+  <BR><BR>
+  <I>Solution:</I><BR>
+  This might be because you are using Mesa-3.1. Mesa-3.0 works.
+</LI>
+</OL>
+
+<HR>
+Wednesday, 21 May 2003 -
+        <I> <A HREF="http://consult.cern.ch/xwho/people/20341">GC</A>,
+            <A HREF="http://consult.cern.ch/xwho/people/1342">GF</A>
+        </I> 
+</BODY>
+</HTML>
Index: /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/CVS/Entries	(revision 1208)
@@ -0,0 +1,1 @@
+D/print////
Index: /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/Welcome/IntroductionToGeant4/print
Index: /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/Execute.pl
===================================================================
--- /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/Execute.pl	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/Execute.pl	(revision 1208)
@@ -0,0 +1,21 @@
+#!/usr/local/bin/perl
+#
+#
+
+$outputFile = 'IntroductionToGeant4Merged.html';
+
+@inputFiles = (
+               '../html/index.html',
+               'break00.html',
+               '../html/introductionToGeant4.html'
+              );
+
+$numberFiles = @inputFiles;
+
+for ($i=0; $i<$numberFiles; $i++)
+{
+    `MergeDocs.pl $inputFiles[$i] >> $outputFile`;
+}
+
+
+
Index: /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/MergeDocs.pl
===================================================================
--- /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/MergeDocs.pl	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/MergeDocs.pl	(revision 1208)
@@ -0,0 +1,39 @@
+#!/usr/local/bin/perl
+#
+# Merge html files into one so that MSWord can read
+# it and generate a ps file.
+#
+
+$file = $ARGV[0];                     # Name the file
+
+open(INFO, "<$file" ) ;               # Open the file
+@lines = <INFO> ;                     # Read it into an array
+close(INFO) ;                         # Close the file
+
+foreach $line (@lines)                # assign @lines to $line, one at a time
+{                                     # braces {} are required, bracket code
+
+  $line =~ s#"introductionToGeant4.src/#"../html/introductionToGeant4.src/#;
+###  $line =~ s#"../../../../resources/#"../../../resources/#;
+
+  if ($file =~ "index.html")
+  {
+    if ($line =~ /About the authors/)
+    {
+      $line = '<I>About the authors</I></A>
+<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+';
+      
+    }
+  }
+
+  print "$line" ;    # print formatted lines to screen 
+}
+
+#
+# DONE
+#
+
+
Index: /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/break00.html
===================================================================
--- /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/break00.html	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/break00.html	(revision 1208)
@@ -0,0 +1,3 @@
+
+<BR><BR><BR><BR><BR><BR>
+
Index: /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/print/CVS/Entries
===================================================================
--- /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/print/CVS/Entries	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/print/CVS/Entries	(revision 1208)
@@ -0,0 +1,4 @@
+/Execute.pl/1.4/Mon Dec 18 10:28:26 2006//
+/MergeDocs.pl/1.2/Tue Dec 28 11:10:17 1999//
+/break00.html/1.1/Wed Jun 29 00:55:05 2005//
+D
Index: /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/print/CVS/Repository
===================================================================
--- /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/print/CVS/Repository	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/print/CVS/Repository	(revision 1208)
@@ -0,0 +1,1 @@
+documents/UserDoc/Welcome/IntroductionToGeant4/print
Index: /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/print/CVS/Root
===================================================================
--- /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/print/CVS/Root	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/print/CVS/Root	(revision 1208)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/print/Execute.pl
===================================================================
--- /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/print/Execute.pl	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/print/Execute.pl	(revision 1208)
@@ -0,0 +1,21 @@
+#!/usr/local/bin/perl
+#
+#
+
+$outputFile = 'IntroductionToGeant4Merged.html';
+
+@inputFiles = (
+               '../html/index.html',
+               'break00.html',
+               '../html/introductionToGeant4.html'
+              );
+
+$numberFiles = @inputFiles;
+
+for ($i=0; $i<$numberFiles; $i++)
+{
+    `MergeDocs.pl $inputFiles[$i] >> $outputFile`;
+}
+
+
+
Index: /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/print/MergeDocs.pl
===================================================================
--- /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/print/MergeDocs.pl	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/print/MergeDocs.pl	(revision 1208)
@@ -0,0 +1,39 @@
+#!/usr/local/bin/perl
+#
+# Merge html files into one so that MSWord can read
+# it and generate a ps file.
+#
+
+$file = $ARGV[0];                     # Name the file
+
+open(INFO, "<$file" ) ;               # Open the file
+@lines = <INFO> ;                     # Read it into an array
+close(INFO) ;                         # Close the file
+
+foreach $line (@lines)                # assign @lines to $line, one at a time
+{                                     # braces {} are required, bracket code
+
+  $line =~ s#"introductionToGeant4.src/#"../html/introductionToGeant4.src/#;
+###  $line =~ s#"../../../../resources/#"../../../resources/#;
+
+  if ($file =~ "index.html")
+  {
+    if ($line =~ /About the authors/)
+    {
+      $line = '<I>About the authors</I></A>
+<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
+<BR><BR><BR><BR><BR><BR>
+';
+      
+    }
+  }
+
+  print "$line" ;    # print formatted lines to screen 
+}
+
+#
+# DONE
+#
+
+
Index: /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/print/break00.html
===================================================================
--- /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/print/break00.html	(revision 1208)
+++ /trunk/documents/UserDoc/Welcome/IntroductionToGeant4/print/print/break00.html	(revision 1208)
@@ -0,0 +1,3 @@
+
+<BR><BR><BR><BR><BR><BR>
+
