-------------------------------------------------------------------


 G4HadronElasticPhysics
 ----------------------
 Hadron nuclear elastic process for all hadrons:
 - proton
   - cross section: Barashenkov-Glauber-Gribov
   - final-state:   Chips
 - neutron:
   - cross section: G4NeutronElasticXS           
   - final-state:   Chips
 - charged pions:
   - cross section: Barashenkov-Glauber-Gribov
   - final-state:   Starkov's model (G4ElasticHadrNucleusHE) for all energies
 - kaons, hyperons, anti-hyperons, charm and bottom hadrons
   - cross section: Glauber-Gribov
   - final-state:   Gheisha
 - deuteron, triton, He3, alpha 
   - cross section: Glauber-Gribov
   - final-state:   Gheisha
 - anti_proton, anti_neutron, anti_deuteron, anti_triton, anti_He3, 
   anti_alpha
   - cross-section: Galoyan-Uzhinsky-Glauber-Gribov
   - final-state:   Galoyan-Uzhinsky model above 100 MeV/nucleon,
                    Gheisha below.

 G4HadronElasticPhysicsHP
 ------------------------
 As G4HadronElasticPhysics, with the only difference that for neutrons
 below 20 MeV, NeutronHP elastic is used (for both cross section and
 final-state model).

 G4HadronElasticPhysicsLEND
 --------------------------
 As G4HadronElasticPhysics, with the only difference that for neutrons
 below 20 MeV, LEND elastic is used (for both cross section and 
 final-state model).
 
 G4HadronElasticPhysicsXS
 ------------------------
 Now exactly as G4HadronElasticPhysics.

 G4HadronHElasticPhysics
 -----------------------
 - proton
   - cross section: Barashenkov-Glauber-Gribov
   - final-state:   Diffuse model, except for Hydrogen where Chips is used,
                    above 10 MeV, and Gheisha below
 - neutron:
   - cross section: G4NeutronElasticXS
   - final-state:   Diffuse model, except for Hydrogen where Chips is used,
                    above 10 MeV, and Gheisha below
 - charged pions:
   - cross section: Barashenkov-Glauber-Gribov
   - final-state:   Diffuse model, except for Hydrogen where Chips is used,
                    above 10 MeV, and Gheisha below
 - kaons, hyperons, anti-hyperons, charm and bottom hadrons
   - cross section: Glauber-Gribov
   - final-state:   Gheisha
 - deuteron, triton, He3, alpha
   - cross section: Glauber-Gribov
   - final-state:   Gheisha
 - anti_proton, anti_neutron
   - cross section: Galoyan-Uzhinsky-Glauber-Gribov
   - final-state:   Galoyan-Uzhinsky model above 100 MeV/nucleon,
                    Chips below.
 - anti_deuteron, anti_triton, anti_He3, anti_alpha
   - cross-section: Galoyan-Uzhinsky-Glauber-Gribov
   - final-state:   Galoyan-Uzhinsky model above 100 MeV/nucleon,
                    Gheisha below.
 
 G4IonElasticPhysics
 -------------------
 As G4HadronElasticPhysics, with the addition of elastic process for
 generic ion:
 - cross section: Glauber-Gribov
 - final-state:   Diffuse model


 G4HadronDElasticPhysics
 -----------------------
 Hadron nuclear elastic process for all hadrons:
 - proton and charged pions:
   - cross section: Barashenkov-Glauber-Gribov
   - final-state:   Diffuse model where applicable, else Gheisha
 - neutron:
   - cross section: G4NeutronElasticXS           
   - final-state:   Diffuse model where applicable, else Gheisha
 - kaons, hyperons, anti-hyperons, charm and bottom hadrons,
   deuteron, triton, He3, alpha
   - cross section: Glauber-Gribov
   - final-state:   Gheisha
 - anti_proton, anti_neutron, anti_deuteron, anti_triton, anti_He3, 
   anti_alpha
   - cross-section: Galoyan-Uzhinsky-Glauber-Gribov
   - final-state:   Galoyan-Uzhinsky model above 100 MeV/nucleon,
                    Gheisha below.

 G4ChargeExchangePhysics
 -----------------------
 Hadron nuclear coherent charge exchange, used in this constructor
 only for nucleons and charged pions.

