Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/physicsProcess.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/physicsProcess.xml	(revision 1208)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/physicsProcess.xml	(revision 1211)
@@ -793,60 +793,257 @@
 
 <para>
-The following is a summary of the Low Energy Electromagnetic
-processes available in Geant4. Further information is available in
-the web 
-<ulink url="http://geant4.web.cern.ch/geant4/collaboration/working_groups/LEelectromagnetic/index.shtml">pages 
+A physical interaction is described by a process class which can handle 
+physics models, described by model classes. The following is a summary 
+of the Low Energy Electromagnetic physics models available in Geant4. 
+Further information is available in the web pages of the 
+Geant4 Low Energy Electromagnetic Physics Working Group, accessible 
+from the Geant4 web site, âwho we areâ section, then âworking groupsâ. 
+</para>
+
+<para>
+The physics content of these models is documented in the Geant4 
+<ulink url="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html">
+Physics Reference Manual. 
 </ulink>
-of the Geant4 Low Energy Electromagnetic Physics Working Group. 
-The physics content of these processes is documented in Geant4 
-<ulink url="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html">
-Physics Reference Manual 
-</ulink>
-</para>
+They are based on the Livermore data library, on the 
+ICRU73 data tables or on the Penelope Monte Carlo code. They adopt the 
+same software design as the "standard" Geant4 electromagnetic models.
+</para>
+
+<para>
+Examples of the registration of physics constructor with low-energy 
+electromagnetic models are shown in Geant4 extended examples 
+(<literal>$G4INSTALL/examples/extended/electromagnetic</literal>). 
+Advanced examples (<literal>$G4INSTALL/examples/advanced</literal>) 
+illustrate alternative instantiation of these processes. 
+Both are available as part of the Geant4 release.
+</para>
+
+<para>
+To use the low energy electromagnetic models, data files need to be 
+copied by the user to his/her code repository. These files are 
+distributed together with Geant4. The user should set the environment 
+variable G4LEDATA to the directory where he/she has copied the files.
+</para>
+
+<!-- ******************* Section (Level#4) ****************** -->
+<sect4 id="sect.PhysProc.EleMag.LowE.Livemore">
+<title>
+Livermore based models
+</title> 
 
 <para>
 <itemizedlist spacing="compact">
   <listitem><para>
-    <emphasis role="bold">Photon processes</emphasis>
+    <emphasis role="bold">Photon models</emphasis>
     <itemizedlist spacing="compact">
       <listitem><para>
-        Compton scattering (class <emphasis>G4LowEnergyCompton</emphasis>)
-      </para></listitem>
-      <listitem><para>
-        Polarized Compton scattering (class
-        <emphasis>G4LowEnergyPolarizedCompton</emphasis>)
-      </para></listitem>
-      <listitem><para>
-        Rayleigh scattering (class <emphasis>G4LowEnergyRayleigh</emphasis>)
-      </para></listitem>
-      <listitem><para>
-        Gamma conversion (also called pair production, class
-        <emphasis>G4LowEnergyGammaConversion</emphasis>)
-      </para></listitem>
-      <listitem><para>
-        Photo-electric effect (class<emphasis>G4LowEnergyPhotoElectric</emphasis>)
-      </para></listitem>
-      </itemizedlist>
-  </para></listitem>
-  <listitem><para>
-    <emphasis role="bold">Electron processes</emphasis>
+        Photo-electric effect (class <emphasis>G4LivermorePhotoElectricModel</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Polarized Photo-electric effect (class <emphasis>G4LivermorePolarizedPhotoElectricModel</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Compton scattering (class <emphasis>G4LivermoreComptonModel</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Polarized Compton scattering (class <emphasis>G4LivermorePolarizedComptonModel</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Rayleigh scattering (class <emphasis>G4LivermoreRayleighModel</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Polarized Rayleigh scattering (class <emphasis>G4LivermorePolarizedRayleighModel</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Gamma conversion (also called pair production, class <emphasis>G4LivermoreGammaConversionModel</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Polarized gamma conversion (class <emphasis>G4LivermorePolarizedGammaConversionModel</emphasis>)
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Electron models</emphasis>
     <itemizedlist spacing="compact">
       <listitem><para>
-        Bremsstrahlung (class <emphasis>G4LowEnergyBremsstrahlung</emphasis>)
-      </para></listitem>
-      <listitem><para>
-        Ionisation and delta ray production (class
-        <emphasis>G4LowEnergyIonisation</emphasis>)
+         Bremsstrahlung (class <emphasis>G4LivermoreBremsstrahlungModel</emphasis>)
+      </para></listitem>
+      <listitem><para>
+         Ionisation and delta ray production (class <emphasis>G4LivermoreIonisationModel</emphasis>)
       </para></listitem>
     </itemizedlist>
   </para></listitem>
-  <listitem><para>
-    <emphasis role="bold">Hadron and ion processes</emphasis>
+</itemizedlist>
+</para>
+
+<para>
+Options can be set in the G4LivermorePhotoElectricModel class, that allow 
+the use of alternative photoelectron angular generators:
+
+<itemizedlist spacing="compact">
+  <listitem><para>     
+    SetAngularGenerator(G4VPhotoElectricAngularDistribution* distribution);
+  </para></listitem>
+  <listitem><para>
+    SetAngularGenerator(const G4String&amp; name);     
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+Currently three angular generators are available: 
+G4PhotoElectricAngularGeneratorSimple, G4PhotoElectricAngularGeneratorSauterGavrilla 
+and G4PhotoElectricAngularGeneratorPolarized.
+G4PhotoElectricAngularGeneratorSauterGavrilla is selected by default.
+G4PhotoElectricAngularGeneratorSimple, G4PhotoElectricAngularGeneratorSauterGavrilla 
+and G4PhotoElectricAngularGeneratorPolarized can be set using respectively the 
+strings "default", "standard" and "polarized".
+</para>
+
+<para>
+Options are available in the G4LivermoreBremsstrahlungModel class, that allow 
+the use of alternative bremsstrahlung angular generators:
+<itemizedlist spacing="compact">
+  <listitem><para>     
+    SetAngularGenerator(G4VBremAngularDistribution* distribution);
+  </para></listitem>
+  <listitem><para>     
+    SetAngularGenerator(const G4String&amp; name);
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+Currently three angular generators are available: G4ModifiedTsai, 
+2BNGenerator and 2BSGenerator. G4ModifiedTsai is set by default, but it 
+can be forced using the string "tsai". 2BNGenerator and 2BSGenerator
+can be set using the strings "2bs" and "2bn". Information regarding 
+conditions of use, performance and energy
+limits of different models are available in the Physics Reference Manual .
+</para>
+
+<para>
+Other options G4LivermoreBremsstrahlungModel class are:
+
+<itemizedlist spacing="compact">
+  <listitem><para>     
+    SetCutForLowEnSecPhotons(G4double)
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+Options are available in the G4LivermoreIonisationModel class:
+
+<itemizedlist spacing="compact">
+  <listitem><para>     
+    ActivateAuger(G4bool)
+  </para></listitem>
+  <listitem><para>     
+    SetCutForLowEnSecPhotons(G4double)  
+  </para></listitem>
+  <listitem><para>     
+    SetCutForLowEnSecElectrons(G4double)
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect4>
+
+
+<!-- ******************* Section (Level#4) ****************** -->
+<sect4 id="sect.PhysProc.EleMag.LowE.ICRU73">
+<title>
+ICRU73 based ion model
+</title> 
+
+<para>
+Ionisation and delta ray production (class G4IonParametrisedLossModel)
+</para>
+
+<para>
+The ion model uses ICRU 73 stopping powers, if corresponding ion-material 
+combinations are covered by the ICRU 73 report (up to 1 GeV/nucleon), and 
+otherwise applies a Bethe-Bloch based formalism. For compounds, ICRU 73 
+stopping powers are employed if the material name coincides with the name 
+of Geant4 NIST materials (e.g. G4_WATER). Elemental materials are matched 
+to the corresponding ICRU 73 stopping powers by means of the atomic number 
+of the material. The material name may be arbitrary in this case. For a 
+list of applicable materials, the user is referred to the ICRU 73 report.
+</para>
+
+<para>
+The model requires data files to be copied by the user to his/her code 
+repository. These files are distributed together with the Geant4 release. 
+The user should set the environment variable G4LEDATA to the directory where 
+he/she has copied the files. 
+</para>
+
+<para>
+The model is dedicated to be used with the G4ionIonisation process and its 
+applicability is restricted to G4GenericIon particles. The ion model is 
+not used by default by this process and must be instantiated and registered 
+by the user:
+
+<informalexample>
+<programlisting>
+G4ionIonisation* ionIoni = new G4ionIonisation();
+ionIoni -> SetEmModel(new G4IonParametrisedLossModel());
+</programlisting>
+</informalexample>
+</para>
+
+</sect4>
+
+<!-- ******************* Section (Level#4) ****************** -->
+<sect4 id="sect.PhysProc.EleMag.LowE.Penelope">
+<title>
+Penelope based models
+</title> 
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">Photon models</emphasis>
     <itemizedlist spacing="compact">
       <listitem><para>
-        Ionisation and delta ray production (class
-        <emphasis>G4hLowEnergyIonisation</emphasis>)
-      </para></listitem>
-      </itemizedlist>
+        Compton scattering (class <emphasis>G4PenelopeComptonModel</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Rayleigh scattering (class <emphasis>G4PenelopeRayleighModel</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Gamma conversion (also called pair production, class <emphasis>GPenelopeGammaConversionModel</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Photo-electric effect (class <emphasis>G4PenelopePhotoElectricModel</emphasis>)
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Electron models</emphasis>
+    <itemizedlist spacing="compact">
+      <listitem><para>
+         Bremsstrahlung (class <emphasis>G4PenelopeBremsstrahlungModel</emphasis>)
+      </para></listitem>
+      <listitem><para>
+         Ionisation and delta ray production (class <emphasis>G4PenelopeIonisationModel</emphasis>)
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Positron models</emphasis>
+    <itemizedlist spacing="compact">
+      <listitem><para>
+         Bremsstrahlung (class <emphasis>G4PenelopeBremsstrahlungModel</emphasis>)
+      </para></listitem>
+      <listitem><para>
+         Ionisation and delta ray production (class <emphasis>G4PenelopeIonisationModel</emphasis>)
+      </para></listitem>
+      <listitem><para>
+         Positron annihilation (class <emphasis>class G4PenelopeAnnihilationModel</emphasis>)
+      </para></listitem>
+    </itemizedlist>
   </para></listitem>
 </itemizedlist>
@@ -854,170 +1051,93 @@
 
 <para>
-Examples of the registration of physics constructor with low-energy 
-electromagnetic processes are shown
-in Geant4 extended examples ($G4INSTALL/examples/extended/electromagnetic).
-<emphasis role="bold">Advanced examples</emphasis> illustrating alternative instantiation
-of these processes. Both are available as part of the Geant4
-<ulink url="http://geant4.web.cern.ch/geant4/support/download.shtml">
-release</ulink>.
-</para>
-
-<para>
-To run the Low Energy code for photon and electron
-electromagnetic processes, <emphasis role="bold">
-<ulink url="http://geant4.web.cern.ch/geant4/support/download.shtml">
-data files
-</ulink>
-</emphasis> 
-need to be copied by the user to his/her code
-repository. These files are distributed together with Geant4.
-The user should set the environment variable 
-<emphasis role="bold">G4LEDATA</emphasis> to the
-directory where he/she has copied the files.
-</para>
-
-<para>
-<emphasis role="bold">Options</emphasis> are available for low energy electromagnetic
-processes for hadrons and ions in terms of public member functions
-of the G4hLowEnergyIonisation class:
+All Penelope models can be applied up to a maximum energy of 100 GeV, 
+although it is advisable not to use them above a few hundreds of MeV.
+</para>
+
+<para>
+Options are available in the all Penelope Models, allowing to set 
+(and retrieve) the verbosity level of the model, namely the amount of 
+information which is printed on the screen.
 
 <itemizedlist spacing="compact">
-   <listitem><para>
-     SetHighEnergyForProtonParametrisation(G4double)
-   </para></listitem>
-   <listitem><para>
-     SetLowEnergyForProtonParametrisation(G4double)
-   </para></listitem>
-   <listitem><para>
-     SetHighEnergyForAntiProtonParametrisation(G4double)
-   </para></listitem>
-   <listitem><para>
-     SetLowEnergyForAntiProtonParametrisation(G4double)
-   </para></listitem>
-   <listitem><para>
-     SetElectronicStoppingPowerModel(const G4ParticleDefinition*,const G4String&amp; )
-   </para></listitem>
-   <listitem><para>
-     SetNuclearStoppingPowerModel(const G4String&amp;)
-   </para></listitem>
-   <listitem><para>
-     SetNuclearStoppingOn()
-   </para></listitem>
-   <listitem><para>
-     SetNuclearStoppingOff()
-   </para></listitem>
-   <listitem><para>
-     SetBarkasOn()
-   </para></listitem>
-   <listitem><para>
-     SetBarkasOff()
-   </para></listitem>
-   <listitem><para>
-     SetFluorescence(const G4bool)
-   </para></listitem>
-   <listitem><para>
-     ActivateAugerElectronProduction(G4bool)
-   </para></listitem>
-   <listitem><para>
-     SetCutForSecondaryPhotons(G4double)
-   </para></listitem>
-   <listitem><para>
-     SetCutForSecondaryElectrons(G4double)
-   </para></listitem>
+  <listitem><para>     
+    SetVerbosityLevel(G4int)
+  </para></listitem>
+  <listitem><para>     
+    GetVerbosityLevel()
+  </para></listitem>
 </itemizedlist>
 </para>
 
 <para>
-<emphasis role="bold">Options</emphasis> are available for low energy electromagnetic
-processes for electrons in the G4LowEnergyIonisation class:
+The default verbosity level is 0 (namely, no textual output on the screen).
+The default value should be used in general for normal runs. Higher 
+verbosity levels are suggested only for testing and debugging purposes. 
+</para>
+
+<para>
+The verbosity scale defined for all Penelope processes is the following:
 
 <itemizedlist spacing="compact">
-   <listitem><para>
-     ActivateAuger(G4bool)
-   </para></listitem>
-   <listitem><para>
-     SetCutForLowEnSecPhotons(G4double)
-   </para></listitem>
-   <listitem><para>
-     SetCutForLowEnSecElectrons(G4double)
-   </para></listitem>
+  <listitem><para>     
+    0 = no printout on the screen (default)
+  </para></listitem>
+  <listitem><para>     
+    1 = issue warnings only in the case of energy non-conservation in the final state (should never happen)
+  </para></listitem>
+  <listitem><para>     
+    2 = reports full details on the energy budget in the final state
+  </para></listitem>
+  <listitem><para>     
+    3 = writes also informations on cross section calculation, data file opening and sampling of atoms
+  </para></listitem>
+  <listitem><para>     
+    4 = issues messages when entering in methods
+  </para></listitem>
 </itemizedlist>
 </para>
 
 <para>
-<emphasis role="bold">Options</emphasis> are available for low energy electromagnetic
-processes for electrons/positrons in the G4LowEnergyBremsstrahlung
-class, that allow the use of alternative bremsstrahlung angular
-generators:
+Options are available in G4PenelopeComptonModel, G4PenelopePhotoElectricModel 
+and G4PenelopeIonisationModel to enable or disable the usage of atomic 
+de-excitation via the G4AtomicDeexcitation module. 
 
 <itemizedlist spacing="compact">
-   <listitem><para>
-     SetAngularGenerator(G4VBremAngularDistribution* distribution);
-   </para></listitem>
-   <listitem><para>
-     SetAngularGenerator(const G4String&amp; name);
-   </para></listitem>
+  <listitem><para>     
+    SetDeexcitationFlag(G4bool)
+  </para></listitem>
+  <listitem><para>     
+    DeexcitationFlag()
+  </para></listitem>
 </itemizedlist>
 </para>
 
 <para>
-Currently three angular generators are available: G4ModifiedTsai,
-2BNGenerator and 2BSGenerator. G4ModifiedTsai is set by default,
-but it can be forced using the string "tsai". 2BNGenerator and
-2BSGenerator can be set using the strings "2bs" and "2bn".
-Information regarding conditions of use, performance and energy
-limits of different models are available in the 
-<ulink url="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html">
-Physics Reference Manual
-</ulink>.
-</para>
-
-<para>
-Other <emphasis role="bold">options</emphasis> G4LowEnergyBremsstrahlung class are:
-
-<itemizedlist spacing="compact">
-   <listitem><para>
-     SetCutForLowEnSecPhotons(G4double)
-   </para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-<emphasis role="bold">Options</emphasis> can also be set in the G4LowEnergyPhotoElectric
-class, that allow the use of alternative photoelectron angular
-generators:
-
-<itemizedlist spacing="compact">
-   <listitem><para>
-     SetAngularGenerator(G4VPhotoElectricAngularDistribution* distribution);
-   </para></listitem>
-   <listitem><para>
-     SetAngularGenerator(const G4String&amp; name);
-   </para></listitem>
-   <listitem><para>
-     
-   </para></listitem>
-   <listitem><para>
-     
-   </para></listitem>
-   <listitem><para>
-     
-   </para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-Currently three angular generators are available:
-G4PhotoElectricAngularGeneratorSimple,
-G4PhotoElectricAngularGeneratorSauterGavrilla and
-G4PhotoElectricAngularGeneratorPolarized.
-G4PhotoElectricAngularGeneratorSimple is set by default, but it can
-be forced using the string "default".
-G4PhotoElectricAngularGeneratorSauterGavrilla and
-G4PhotoElectricAngularGeneratorPolarized can be set using the
-strings "standard" and "polarized". 
-</para>
-
+The default is âtrueâ, namely vacancies in atomic shells produced by the 
+interaction are handled by the G4AtomicDeexcitation module, possibly with 
+the subsequent emission of fluorescence x-rays. If is set to âfalseâ 
+by the user, the energy released in the re-arrangement of atomic vacancies 
+is treated in the model as a local energy deposit, without emission of 
+secondary particles. The methods are actually inherited from G4VEmModel, 
+so they work for all Penelope models; by the way, they have effect only 
+in G4PenelopeComptonModel, G4PenelopePhotoElectricModel and 
+G4PenelopeIonisationModel.
+</para>
+
+<para>
+An option is also available in these models to enable the production of
+Auger electrons by the G4AtomicDeexcitation module ActivateAuger(G4bool).
+The default (coming from G4AtomicDeexcitation) is âfalseâ, namely only 
+fluorescence x-rays are emitted but not Auger electrons. One should 
+notice that this option has effect only if the usage of the atomic 
+deexcitation is enabled. A warning message is printed if one tries to 
+enable the emission of the Auger electrons after having disabled the 
+atomic deexcitation via SetDeexcitationFlag(false).
+</para>
+
+</sect4>
 </sect3>
+
+
 
 <!-- ******************* Section (Level#3) ****************** -->
@@ -1028,69 +1148,58 @@
 
 <para>
-Geant4 low energy electromagnetic Physics processes have been extended down 
-to energies of a few electronVolts suitable for the simulation of radiation 
-effects in liquid water for applications at the cellular and sub-cellular 
-level. These developments take place in the framework of the Geant4-DNA 
-project and are described in the paper 
-<citation>
-<xref linkend="biblio.chauvie2007" endterm="biblio.chauvie2007.abbrev" />
-</citation>.
-</para>
-
-<para>
-Their implementation in Geant4 is based on the usage of innovative techniques 
-first introduced in Monte Carlo simulation (policy-based class design), to 
-ensure openness to future extension and evolution as well as flexibility of 
-configuration in user applications. In this new design, a generic Geant4-DNA 
-physics process is configured by template specialization in order to acquire 
-physical properties (cross section, final state), using policy classes : 
-a Cross Section policy class and a Final State policy class.
-</para>
-
-<para>
-These processes apply to electrons, protons, hydrogen, alpha particles and 
-their charge states.
-</para>
+The Geant4 low energy electromagnetic Physics package has been extended 
+down to energies of a few electronVolts suitable for the simulation of 
+radiation effects in liquid water for applications in microdosimetry at 
+the cellular and sub-cellular level. These developments take place in 
+the framework of the on-going Geant4-DNA project (see the web pages 
+of the 
+<ulink url="http://geant4.web.cern.ch/geant4/collaboration/working_groups/LEelectromagnetic/">Geant4 Low Energy Electromagnetic Physics Working Group</ulink>).
+</para>
+
+<para>
+The Geant4-DNA process and model classes apply to electrons, protons, 
+hydrogen, alpha particles and their charge states.
+</para>
+
 
 <!-- ******* Bridgehead ******* -->
 <bridgehead renderas='sect4'>
- Electron processes
+ Electron processes and models
 </bridgehead>
 <para>
 <itemizedlist spacing="compact">
   <listitem><para>
-    Elastic scattering (two complementary models available depending on energy range, and one alternative model) 
+    Elastic scattering :
     <itemizedlist spacing="compact">
       <listitem><para>
-        - 1) either : cross section policy class names : G4CrossSectionElasticScreenedRutherfordLE (below 200 eV) 
-	and G4CrossSectionElasticScreenedRutherfordHE (above 200 eV). Both should be used together.
-	- 2) or : cross section policy class name : G4CrossSectionElasticChampion.        
-      </para></listitem>
-      <listitem><para>
-        - 1) either : final state policy class names : G4FinalStateElasticBrennerZaider (corresponding to G4CrossSectionElasticScreenedRutherfordLE) 
-	and G4CrossSectionElasticScreenedRutherfordLE (corresponding to G4CrossSectionElasticScreenedRutherfordHE). 
-	- 2) or final state policy class name : G4FinalStateElasticChampion (corresponding to G4CrossSectionElasticChampion).        
+        process class isÂ G4DNAElastic
+      </para></listitem>
+      <listitem><para>
+        two alternative model classes areÂ : G4DNAScreenedRutherfordElasticModel 
+        or G4DNAChampionElasticModel
       </para></listitem>
     </itemizedlist>
   </para></listitem>
-  <listitem><para>
-    Excitation (one model) 
+
+  <listitem><para>
+    Excitation
     <itemizedlist spacing="compact">
       <listitem><para>
-        Cross section policy class name : G4CrossSectionExcitationEmfietzoglou  
-      </para></listitem>
-      <listitem><para>
-        Final state policy class name : G4FinalStateExcitationEmfietzoglou
+        process class is G4DNAExcitationÂ 
+      </para></listitem>
+      <listitem><para>
+        model class is G4DNAEmfietzoglouExcitationModel
       </para></listitem>
     </itemizedlist>
   </para></listitem>
-  <listitem><para>
-    Ionisation (one model)   
+
+  <listitem><para>
+    Ionisation
     <itemizedlist spacing="compact">
       <listitem><para>
-        Cross section policy class name : G4CrossSectionIonisationBorn  
-      </para></listitem>
-      <listitem><para>
-        Final state policy class names : G4FinalStateIonisationBorn
+        process class isÂ G4DNAIonisation
+      </para></listitem>
+      <listitem><para>
+        model class is G4DNABornIonisationModel
       </para></listitem>
     </itemizedlist>
@@ -1101,50 +1210,42 @@
 <!-- ******* Bridgehead ******* -->
 <bridgehead renderas='sect4'>
- Proton processes
+ Proton processes and models
 </bridgehead>
 <para>
 <itemizedlist spacing="compact">
   <listitem><para>
-    Excitation  (two complementary models available depending on energy range)
+    Excitation
     <itemizedlist spacing="compact">
       <listitem><para>
-        Cross section policy class name : G4CrossSectionExcitationMillerGreen
-      </para></listitem>
-      <listitem><para>
-        Final state policy class name : G4FinalStateExcitationMillerGreen
-      </para></listitem>
-      <listitem><para>
-        Cross section policy class name : G4CrossSectionExcitationBorn
-      </para></listitem>
-      <listitem><para>
-        Final state policy class name : G4FinalStateExcitationBorn
+        process class isÂ G4DNAExcitation
+      </para></listitem>
+      <listitem><para>
+        two complementary model classes are G4DNAMillerGreenExcitationModel 
+        (below 500 keV) and G4DNABornExcitationModel (above)                
       </para></listitem>
     </itemizedlist>
   </para></listitem>
-  <listitem><para>
-    Ionisation (two complementary models available depending on energy range) 
+
+  <listitem><para>
+    Ionisation
     <itemizedlist spacing="compact">
       <listitem><para>
-        Cross section policy class name : G4CrossSectionIonisationRudd
-      </para></listitem>
-      <listitem><para>
-        Final state policy class name : G4FinalStateIonisationRudd 
-      </para></listitem>
-      <listitem><para>
-        Cross section policy class name : G4CrossSectionIonisationBorn
-      </para></listitem>
-      <listitem><para>
-        Final state policy class name : G4FinalStateIonisationBorn
+        process class is G4DNAIonisation 
+      </para></listitem>
+      <listitem><para>
+        two complementary model classes are G4DNARuddIonisationModel 
+        (below 500 keV) and G4DNABornIonisationModel (above)
       </para></listitem>
     </itemizedlist>
   </para></listitem>
-  <listitem><para>
-    Charge decrease (one model)
+
+  <listitem><para>
+    Charge decrease
     <itemizedlist spacing="compact">
       <listitem><para>
-        Cross section policy class name : G4CrossSectionChargeDecrease
-      </para></listitem>
-      <listitem><para>
-        Final state policy class name : G4FinalStateChargeDecrease
+        process class isÂ G4DNAChargeDecrease
+      </para></listitem>
+      <listitem><para>
+        model class is G4DNADingfelderChargeDecreaseModel
       </para></listitem>
     </itemizedlist>
@@ -1155,27 +1256,28 @@
 <!-- ******* Bridgehead ******* -->
 <bridgehead renderas='sect4'>
- Hydrogen processes
+ Hydrogen processes and models
 </bridgehead>
 <para>
 <itemizedlist spacing="compact">
   <listitem><para>
-    Ionisation (one model)
+    Ionisation
     <itemizedlist spacing="compact">
       <listitem><para>
-        Cross section policy class name : G4CrossSectionIonisationRudd
-      </para></listitem>
-      <listitem><para>
-        Final state policy class name : G4FinalStateIonisationRudd
+        process class is G4DNAIonisation 
+      </para></listitem>
+      <listitem><para>
+        model class is G4DNARuddIonisationModel        
       </para></listitem>
     </itemizedlist>
   </para></listitem>
-  <listitem><para>
-    Charge increase (one model) 
+
+  <listitem><para>
+    Charge increase
     <itemizedlist spacing="compact">
       <listitem><para>
-        Cross section policy class name : G4CrossSectionChargeIncrease
-      </para></listitem>
-      <listitem><para>
-        Final state policy class name : G4FinalStateChargeIncrease
+        process class isÂ G4DNAChargeIncrease
+      </para></listitem>
+      <listitem><para>
+        model class is G4DNADingfelderChargeIncreaseModel
       </para></listitem>
     </itemizedlist>
@@ -1186,38 +1288,40 @@
 <!-- ******* Bridgehead ******* -->
 <bridgehead renderas='sect4'>
- Helium (neutral) processes
+ Helium (neutral) processes and models
 </bridgehead>
 <para>
 <itemizedlist spacing="compact">
   <listitem><para>
-    Excitation (one model) 
+    Excitation
     <itemizedlist spacing="compact">
       <listitem><para>
-        Cross section policy class name : G4CrossSectionExcitationMillerGreen
-      </para></listitem>
-      <listitem><para>
-        Final state policy class name : G4FinalStateExcitationMillerGreen
+        process class isÂ G4DNAExcitation
+      </para></listitem>
+      <listitem><para>
+        model class is G4DNAMillerGreenExcitationModel       
       </para></listitem>
     </itemizedlist>
   </para></listitem>
-  <listitem><para>
-    Ionisation (one model)
+
+  <listitem><para>
+    Ionisation
     <itemizedlist spacing="compact">
       <listitem><para>
-        Cross section policy class name : G4CrossSectionIonisationRudd
-      </para></listitem>
-      <listitem><para>
-        Final state policy class name : G4FinalStateIonisationRudd
+        process class is G4DNAIonisation         
+      </para></listitem>
+      <listitem><para>
+        model class is G4DNARuddIonisationModel
       </para></listitem>
     </itemizedlist>
   </para></listitem>
-  <listitem><para>
-    Charge increase (one model) 
+
+  <listitem><para>
+    Charge increase
     <itemizedlist spacing="compact">
       <listitem><para>
-        Cross section policy class name : G4CrossSectionChargeIncrease
-      </para></listitem>
-      <listitem><para>
-        Final state policy class name : G4FinalStateChargeIncrease
+        process class isÂ G4DNAChargeIncrease
+      </para></listitem>
+      <listitem><para>
+        model class is G4DNADingfelderChargeIncreaseModel
       </para></listitem>
     </itemizedlist>
@@ -1228,49 +1332,52 @@
 <!-- ******* Bridgehead ******* -->
 <bridgehead renderas='sect4'>
- Helium+ (ionized once) processes
+ Helium+ (ionized once) processes and models
 </bridgehead>
 <para>
 <itemizedlist spacing="compact">
   <listitem><para>
-    Excitation (one model) 
+    Excitation
     <itemizedlist spacing="compact">
       <listitem><para>
-        Cross section policy class name : G4CrossSectionExcitationMillerGreen
-      </para></listitem>
-      <listitem><para>
-        Final state policy class name : G4FinalStateExcitationMillerGreen
+        process class isÂ G4DNAExcitation
+      </para></listitem>
+      <listitem><para>
+        model class is G4DNAMillerGreenExcitationModel
       </para></listitem>
     </itemizedlist>
   </para></listitem>
-  <listitem><para>
-    Ionisation (one model)
+
+  <listitem><para>
+    Ionisation
     <itemizedlist spacing="compact">
       <listitem><para>
-        Cross section policy class name : G4CrossSectionIonisationRudd
-      </para></listitem>
-      <listitem><para>
-        Final state policy class name : G4FinalStateIonisationRudd
+        process class is G4DNAIonisation 
+      </para></listitem>
+      <listitem><para>
+        model classes is G4DNARuddIonisationModel
       </para></listitem>
     </itemizedlist>
   </para></listitem>
-  <listitem><para>
-    Charge increase (one model) 
+
+  <listitem><para>
+    Charge increase
     <itemizedlist spacing="compact">
       <listitem><para>
-        Cross section policy class name : G4CrossSectionChargeIncrease
-      </para></listitem>
-      <listitem><para>
-        Final state policy class name : G4FinalStateChargeIncrease
+        process class isÂ G4DNAChargeIncrease
+      </para></listitem>
+      <listitem><para>
+        model classes is G4DNADingfelderChargeIncreaseModel        
       </para></listitem>
     </itemizedlist>
   </para></listitem>
-  <listitem><para>
-    Charge decrease (one model)  
+
+  <listitem><para>
+    Charge decrease
     <itemizedlist spacing="compact">
       <listitem><para>
-        Cross section policy class name : G4CrossSectionChargeDecrease
-      </para></listitem>
-      <listitem><para>
-        Final state policy class name : G4FinalStateChargeDecrease
+        process class isÂ G4DNAChargeDecrease
+      </para></listitem>
+      <listitem><para>
+        model classes is G4DNADingfelderChargeDecreaseModel
       </para></listitem>
     </itemizedlist>
@@ -1281,38 +1388,40 @@
 <!-- ******* Bridgehead ******* -->
 <bridgehead renderas='sect4'>
- Helium++ (ionised twice) processes
+ Helium++ (ionised twice) processes and models
 </bridgehead>
 <para>
 <itemizedlist spacing="compact">
   <listitem><para>
-    Excitation (one model) 
+    Excitation
     <itemizedlist spacing="compact">
       <listitem><para>
-        Cross section policy class name : G4CrossSectionExcitationMillerGreen
-      </para></listitem>
-      <listitem><para>
-        Final state policy class name : G4FinalStateExcitationMillerGreen
+        process class isÂ G4DNAExcitation
+      </para></listitem>
+      <listitem><para>
+        model classes is G4DNAMillerGreenExcitationModel        
       </para></listitem>
     </itemizedlist>
   </para></listitem>
-  <listitem><para>
-    Ionisation (one model)
+
+  <listitem><para>
+    Ionisation
     <itemizedlist spacing="compact">
       <listitem><para>
-        Cross section policy class name : G4CrossSectionIonisationRudd
-      </para></listitem>
-      <listitem><para>
-        Final state policy class name : G4FinalStateIonisationRudd
+        process class is G4DNAIonisation 
+      </para></listitem>
+      <listitem><para>
+        model classes is G4DNARuddIonisationModel  
       </para></listitem>
     </itemizedlist>
   </para></listitem>
-  <listitem><para>
-    Charge decrease (one model) 
+
+  <listitem><para>
+    Charge decrease
     <itemizedlist spacing="compact">
       <listitem><para>
-        Cross section policy class name : G4CrossSectionChargeDecrease
-      </para></listitem>
-      <listitem><para>
-        Final state policy class name : G4FinalStateChargeDecrease
+        process class isÂ G4DNAChargeDecrease
+      </para></listitem>
+      <listitem><para>
+        model classes is G4DNADingfelderChargeDecreaseModel
       </para></listitem>
     </itemizedlist>
@@ -1322,5 +1431,99 @@
 
 <para>
-An example of the registration of these processes in a physics list is given here below :
+An example of the registration of these processes in a physics list is 
+given here below and may be found in the microdosimetry advanced example.
+
+
+<informalexample>
+<programlisting>
+#include "G4DNAElastic.hh"
+#include "G4DNAChampionElasticModel.hh"
+#include "G4DNAScreenedRutherfordElasticModel.hh"
+
+#include "G4DNAExcitation.hh"
+#include "G4DNAEmfietzoglouExcitationModel.hh"
+#include "G4DNAMillerGreenExcitationModel.hh"
+#include "G4DNABornExcitationModel.hh"
+
+#include "G4DNAIonisation.hh"
+#include "G4DNABornIonisationModel.hh"
+#include "G4DNARuddIonisationModel.hh"
+
+#include "G4DNAChargeDecrease.hh"
+#include "G4DNADingfelderChargeDecreaseModel.hh"
+
+#include "G4DNAChargeIncrease.hh"
+#include "G4DNADingfelderChargeIncreaseModel.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
+
+void PhysicsList::ConstructEM()
+{
+  theParticleIterator-&gt;reset();
+
+  while( (*theParticleIterator)() )
+  {
+
+    G4ParticleDefinition* particle = theParticleIterator-&gt;value();
+    G4ProcessManager* pmanager = particle-&gt;GetProcessManager();
+    G4String particleName = particle-&gt;GetParticleName();
+
+// DNA processes per particle type
+
+    if (particleName == "e-") {
+
+      G4DNAElastic* theDNAElasticProcess = new G4DNAElastic("e-_G4DNAElastic");
+      theDNAElasticProcess-&gt;SetModel(new G4DNAChampionElasticModel());
+      // or alternative model
+      // theDNAElasticProcess-&gt;SetModel(new G4DNAScreenedRutherfordElasticModel());
+      pmanager-&gt;AddDiscreteProcess(theDNAElasticProcess);
+
+      pmanager-&gt;AddDiscreteProcess(new G4DNAExcitation("e-_G4DNAExcitation"));
+      pmanager-&gt;AddDiscreteProcess(new G4DNAIonisation("e-_G4DNAIonisation"));
+            
+    } else if ( particleName == "proton" ) {
+
+      pmanager-&gt;AddDiscreteProcess(new G4DNAExcitation("proton_G4DNAExcitation"));
+      pmanager-&gt;AddDiscreteProcess(new G4DNAIonisation("proton_G4DNAIonisation"));
+      pmanager-&gt;AddDiscreteProcess(new G4DNAChargeDecrease("proton_G4DNAChargeDecrease"));
+
+    } else if ( particleName == "hydrogen" ) {
+
+      pmanager-&gt;AddDiscreteProcess(new G4DNAIonisation("hydrogen_G4DNAIonisation"));
+      pmanager-&gt;AddDiscreteProcess(new G4DNAChargeIncrease("hydrogen_G4DNAChargeIncrease"));
+
+    } else if ( particleName == "alpha" ) {
+
+      pmanager-&gt;AddDiscreteProcess(new G4DNAExcitation("alpha_G4DNAExcitation"));
+      pmanager-&gt;AddDiscreteProcess(new G4DNAIonisation("alpha_G4DNAIonisation"));
+      pmanager-&gt;AddDiscreteProcess(new G4DNAChargeDecrease("alpha_G4DNAChargeDecrease"));
+
+    } else if ( particleName == "alpha+" ) {
+
+      pmanager-&gt;AddDiscreteProcess(new G4DNAExcitation("alpha+_G4DNAExcitation"));
+      pmanager-&gt;AddDiscreteProcess(new G4DNAIonisation("alpha+_G4DNAIonisation"));
+      pmanager-&gt;AddDiscreteProcess(new G4DNAChargeDecrease("alpha+_G4DNAChargeDecrease"));
+      pmanager-&gt;AddDiscreteProcess(new G4DNAChargeIncrease("alpha+_G4DNAChargeIncrease"));
+            
+    } else if ( particleName == "helium" ) {
+
+      pmanager-&gt;AddDiscreteProcess(new G4DNAExcitation("helium_G4DNAExcitation"));
+      pmanager-&gt;AddDiscreteProcess(new G4DNAIonisation("helium_G4DNAIonisation"));
+      pmanager-&gt;AddDiscreteProcess(new G4DNAChargeIncrease("helium_G4DNAChargeIncrease"));
+
+    }
+
+  } // Loop on particles
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Note that in the above example, "alpha" particles are helium atoms ionised 
+twice and "helium" particles are neutral helium atoms. The definition of 
+particles in the physics list may be for example implemented as follows :
 
 <informalexample>
@@ -1328,117 +1531,16 @@
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
 
-// Geant4 DNA header files
-
 #include "G4DNAGenericIonsManager.hh"
-#include "G4FinalStateProduct.hh"
-#include "G4DNAProcess.hh"
-
-#include "G4CrossSectionExcitationEmfietzoglou.hh"
-#include "G4FinalStateExcitationEmfietzoglou.hh"
-
-#include "G4CrossSectionElasticScreenedRutherfordLE.hh"
-#include "G4FinalStateElasticBrennerZaider.hh"
-
-#include "G4CrossSectionElasticScreenedRutherfordHE.hh"
-#include "G4FinalStateElasticScreenedRutherford.hh"
-
-#include "G4CrossSectionElasticChampion.hh"
-#include "G4FinalStateElasticChampion.hh"
-
-#include "G4CrossSectionExcitationBorn.hh"
-#include "G4FinalStateExcitationBorn.hh"
-
-#include "G4CrossSectionIonisationBorn.hh"
-#include "G4FinalStateIonisationBorn.hh"
-
-#include "G4CrossSectionIonisationRudd.hh"
-#include "G4FinalStateIonisationRudd.hh"
-
-#include "G4CrossSectionExcitationMillerGreen.hh"
-#include "G4FinalStateExcitationMillerGreen.hh"
-
-#include "G4CrossSectionChargeDecrease.hh"
-#include "G4FinalStateChargeDecrease.hh"
-
-#include "G4CrossSectionChargeIncrease.hh"
-#include "G4FinalStateChargeIncrease.hh"
-
-// Processes definition
-
-typedef G4DNAProcess&lt;G4CrossSectionElasticScreenedRutherfordLE,G4FinalStateElasticBrennerZaider&gt; 
-  ElasticScreenedRutherfordLE;
-typedef G4DNAProcess&lt;G4CrossSectionElasticScreenedRutherfordHE,G4FinalStateElasticScreenedRutherford&gt; 
-  ElasticScreenedRutherfordHE;
-typedef G4DNAProcess&lt;G4CrossSectionElasticChampion,G4FinalStateElasticChampion&gt; 
-  ElasticChampion;
-typedef G4DNAProcess&lt;G4CrossSectionExcitationEmfietzoglou,G4FinalStateExcitationEmfietzoglou&gt; 
-  ExcitationEmfietzoglou;
-typedef G4DNAProcess&lt;G4CrossSectionExcitationBorn,G4FinalStateExcitationBorn&gt; 
-  ExcitationBorn;
-typedef G4DNAProcess&lt;G4CrossSectionIonisationBorn,G4FinalStateIonisationBorn&gt; 
-  IonisationBorn;
-typedef G4DNAProcess&lt;G4CrossSectionIonisationRudd,G4FinalStateIonisationRudd&gt; 
-  IonisationRudd;
-typedef G4DNAProcess&lt;G4CrossSectionExcitationMillerGreen,G4FinalStateExcitationMillerGreen&gt; 
-  ExcitationMillerGreen;
-typedef G4DNAProcess&lt;G4CrossSectionChargeDecrease,G4FinalStateChargeDecrease&gt; 
-  ChargeDecrease;
-typedef G4DNAProcess&lt;G4CrossSectionChargeIncrease,G4FinalStateChargeIncrease&gt; 
-  ChargeIncrease;
-
-// Processes registration
-
-void MicrodosimetryPhysicsList::ConstructEM()
+void PhysicsList::ConstructBaryons()
 {
-  theParticleIterator-&gt;reset();
-
-  while( (*theParticleIterator)() ){
-
-    G4ParticleDefinition* particle = theParticleIterator-&gt;value();
-    G4ProcessManager* processManager = particle-&gt;GetProcessManager();
-    G4String particleName = particle-&gt;GetParticleName();
-
-    if (particleName == "e-") {
-       processManager-&gt;AddDiscreteProcess(new ExcitationEmfietzoglou("ExcitationEmfietzoglou"));
-       
-       // The two following elastic scattering models should be registered together
-       processManager-&gt;AddDiscreteProcess(new ElasticScreenedRutherfordLE("ElasticScreenedRutherfordLE"));
-       processManager-&gt;AddDiscreteProcess(new ElasticScreenedRutherfordHE("ElasticScreenedRutherfordHE"));
-       
-       // The following process is commented here because it is ALTERNATIVE to ElasticScreenedRutherfordLE and ElasticScreenedRutherfordHE
-       // It should NOT be registered simultaneously with ElasticScreenedRutherfordLE and ElasticScreenedRutherfordHE
-       // processManager-&gt;AddDiscreteProcess(new ElasticChampion("ElasticChampion"));
-       
-       processManager-&gt;AddDiscreteProcess(new IonisationBorn("IonisationBorn"));
-
-    } else if ( particleName == "proton" ) {
-       processManager-&gt;AddDiscreteProcess(new ExcitationMillerGreen("ExcitationMillerGreen"));
-       processManager-&gt;AddDiscreteProcess(new ExcitationBorn("ExcitationBorn"));
-       processManager-&gt;AddDiscreteProcess(new IonisationRudd("IonisationRudd"));
-       processManager-&gt;AddDiscreteProcess(new IonisationBorn("IonisationBorn"));
-       processManager-&gt;AddDiscreteProcess(new ChargeDecrease("ChargeDecrease"));
-
-    } else if ( particleName == "hydrogen" ) {
-       processManager-&gt;AddDiscreteProcess(new IonisationRudd("IonisationRudd"));
-       processManager-&gt;AddDiscreteProcess(new ChargeIncrease("ChargeIncrease"));
-
-    } else if ( particleName == "alpha" ) {
-       processManager-&gt;AddDiscreteProcess(new ExcitationMillerGreen("ExcitationMillerGreen"));
-       processManager-&gt;AddDiscreteProcess(new IonisationRudd("IonisationRudd"));
-       processManager-&gt;AddDiscreteProcess(new ChargeDecrease("ChargeDecrease"));
-    
-    } else if ( particleName == "alpha+" ) {
-       processManager-&gt;AddDiscreteProcess(new ExcitationMillerGreen("ExcitationMillerGreen"));
-       processManager-&gt;AddDiscreteProcess(new IonisationRudd("IonisationRudd"));
-       processManager-&gt;AddDiscreteProcess(new ChargeDecrease("ChargeDecrease"));
-       processManager-&gt;AddDiscreteProcess(new ChargeIncrease("ChargeIncrease"));
-    
-    } else if ( particleName == "helium" ) {
-       processManager-&gt;AddDiscreteProcess(new ExcitationMillerGreen("ExcitationMillerGreen"));
-       processManager-&gt;AddDiscreteProcess(new IonisationRudd("IonisationRudd"));
-       processManager-&gt;AddDiscreteProcess(new ChargeIncrease("ChargeIncrease"));
-    }
-
-  }
+// construct baryons ---
+// Geant4 DNA particles
+G4GenericIon::GenericIonDefinition()Â ;
+G4DNAGenericIonsManager * genericIonsManager;
+genericIonsManager=G4DNAGenericIonsManager::Instance();
+genericIonsManager-&gt;GetIon("alpha++");
+genericIonsManager-&gt;GetIon("alpha+");
+genericIonsManager-&gt;GetIon("helium");
+genericIonsManager-&gt;GetIon("hydrogen");
 }
 
@@ -1449,42 +1551,8 @@
 
 <para>
-Note that in the above example, "alpha"  particles are helium atoms ionised
-twice and "helium" particles are neutral helium atoms. The definition of 
-particles in the physics list may be for example implemented as follows :
-
-<informalexample>
-<programlisting>
-//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
-
-#include "G4DNAGenericIonsManager.hh"
-
-void MicrodosimetryPhysicsList::ConstructBaryons()
-{
-  //  construct baryons ---
-
-  // Geant4 DNA particles
-
-  G4DNAGenericIonsManager * genericIonsManager;
-  genericIonsManager=G4DNAGenericIonsManager::Instance();
-  genericIonsManager-&gt;GetIon("alpha++");
-  genericIonsManager-&gt;GetIon("alpha+");
-  genericIonsManager-&gt;GetIon("helium");
-  genericIonsManager-&gt;GetIon("hydrogen");
-
-}
-
-//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
-</programlisting>
-</informalexample>
-</para>
-
-<para>
-To run the Geant4 DNA extension, data files need to be copied by the user to 
-his/her code repository. These files are distributed together with the Geant4 release. 
-</para>
-
-<para>
-The user should set the environment variable G4LEDATA to the directory where 
-he/she has copied the files. 
+To run the Geant4-DNA extension, data files need to be copied by the 
+user to his/her code repository. These files are distributed together 
+with the Geant4 release. The user should set the environment variable 
+G4LEDATA to the directory where he/she has copied the files.
 </para>
 
@@ -2420,21 +2488,27 @@
 </programlisting>
 </informalexample>
-
+</para>
+
+<para>
 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>
+
+<para>
+<emphasis role="bold">Example: Set 100% br for dalitz decay of pi0</emphasis>
+
+<informalexample>
+<programlisting>
+  Idle&gt; /particle/select pi0
+  Idle&gt; /particle/property/decay/select 0
+  Idle&gt; /particle/property/decay/br 0
+  Idle&gt; /particle/property/decay/select 1
+  Idle&gt; /particle/property/decay/br 1
+  Idle&gt; /particle/property/decay/dump
+        G4DecayTable:  pi0
+           0:  BR:  0  [Phase Space]   :   gamma gamma
+           1:  BR:  1  [Dalitz Decay]  :   gamma e- e+
+</programlisting>
+</informalexample>
+
 </para>
 
@@ -3223,4 +3297,74 @@
 otherwise specify the model reflection probability constants, the
 default becomes Lambertian reflection.
+</para>
+
+<para>
+Martin Janecek and Bill Moses (Lawrence Berkeley National Laboratory) 
+built an instrument for measuring the angular reflectivity distribution 
+inside of BGO crystals with common surface treatments and reflectors 
+applied. These results have been incorporate into the Geant4 code. A 
+third class of reflection type besides dielectric_metal and 
+dielectric_dielectric is added: dielectric_LUT. The distributions have 
+been converted to 21 look-up-tables (LUT); so far for 1 scintillator 
+material (BGO) x 3 surface treatments x 7 reflector materials.  The 
+modified code allows the user to specify the surface treatment 
+(rough-cut, chemically etched, or mechanically polished), the attached 
+reflector (Lumirror, Teflon, ESR film, Tyvek, or TiO2 paint), and the 
+bonding type (air-coupled or glued). The glue used is MeltMount, and the 
+ESR film used is VM2000. Each LUT consists of measured angular 
+distributions with 4Âº by 5Âº resolution in theta and phi, respectively, 
+for incidence angles from 0Âº to 90Âº degrees, in 1Âº-steps. The code might 
+in the future be updated by adding more LUTs, for instance, for other 
+scintillating materials (such as LSO or NaI). To use these LUT the user 
+has to download them from 
+<ulink url="http://geant4.web.cern.ch/geant4/support/download.shtml">
+Geant4 Software Download</ulink> and set an environment variable, 
+<literal>G4REALSURFACEDATA</literal>, to the directory of 
+<literal>geant4/data/RealSurface1.0</literal>. For details see: 
+
+<ulink url="./AllResources/TrackingAndPhysics/physicsProcessOptical.src/Janecek-TNS-00249-2009R1.pdf">
+M. Janecek, W. Moses IEEE Transactions on Nuclear Science 
+</ulink>.
+</para>
+
+<para>
+The enumeration G4OpticalSurfaceFinish has been extended to include 
+(what follows should be a 2 column table): 
+
+<informalexample>
+<programlisting>
+  polishedlumirrorair,         // mechanically polished surface, with lumirror 
+  polishedlumirrorglue,        // mechanically polished surface, with lumirror &amp; meltmount 
+  polishedair,                 // mechanically polished surface 
+  polishedteflonair,           // mechanically polished surface, with teflon 
+  polishedtioair,              // mechanically polished surface, with tio paint 
+  polishedtyvekair,            // mechanically polished surface, with tyvek 
+  polishedvm2000air,           // mechanically polished surface, with esr film 
+  polishedvm2000glue,          // mechanically polished surface, with esr film &amp; meltmount 
+  etchedlumirrorair,           // chemically etched surface, with lumirror 
+  etchedlumirrorglue,          // chemically etched surface, with lumirror &amp; meltmount 
+  etchedair,                   // chemically etched surface 
+  etchedteflonair,             // chemically etched surface, with teflon 
+  etchedtioair,                // chemically etched surface, with tio paint 
+  etchedtyvekair,              // chemically etched surface, with tyvek 
+  etchedvm2000air,             // chemically etched surface, with esr film 
+  etchedvm2000glue,            // chemically etched surface, with esr film &amp; meltmount 
+  groundlumirrorair,           // rough-cut surface, with lumirror 
+  groundlumirrorglue,          // rough-cut surface, with lumirror &amp; meltmount 
+  groundair,                   // rough-cut surface 
+  groundteflonair,             // rough-cut surface, with teflon 
+  groundtioair,                // rough-cut surface, with tio paint 
+  groundtyvekair,              // rough-cut surface, with tyvek 
+  groundvm2000air,             // rough-cut surface, with esr film 
+  groundvm2000glue             // rough-cut surface, with esr film &amp; meltmount 
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+To use a look-up-table, all the user needs to specify for an 
+<literal>G4OpticalSurface</literal> is: 
+<literal>SetType(dielectric_LUT), SetModel(LUT)</literal> and for example, 
+<literal>SetFinish(polishedtyvekair)</literal>.
 </para>
 
