Index: trunk/source/processes/hadronic/models/de_excitation/History
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/History	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/History	(revision 1055)
@@ -14,4 +14,59 @@
      * Please list in reverse chronological order (last date on top)
      ---------------------------------------------------------------
+
+13 March 2009 Vladimir Ivanchenko (hadr-deex-V09-02-09)
+---------------------------------------------------------
+- G4CompetitiveFission - fixed 4-momentum balance by using direct Lorentz 
+                         computations (JMQ);
+                       - use G4 units (VI).
+
+12 March 2009 Alexander Howard (hadr-deex-V09-02-08)
+----------------------------------------------------
+- Added Tatsumi's fixes ( G4GEMProbability.cc and G4GEMChannel.cc ) to GEM 
+  on top of patch9-02 ("hadr-deex-V09-02-07" and "hadr-deex-util-V09-02-00")
+
+04 March 2009 Gabriele Cosmo
+----------------------------
+- Fixed leaks in singleton classes in the 'util' module. Corrected wherever
+  needed inlining of constructors/destructors for base classes and usage of
+  virtual specification. Corresponds to tag "hadr-deex-util-V09-02-00".
+
+15 February 2009 Vladimir Ivanchenko (hadr-deex-V09-02-07)
+---------------------------------------------------------
+- G4EvaporationProbability - hbar_Plank substituted by hbarc (JMQ fix)
+- G4FissionProbability - fixed forgotten parenthesis (JMQ fix) 
+
+13 February 2009 Vladimir Ivanchenko (hadr-deex-V09-02-06)
+---------------------------------------------------------
+- Jose Manuel Quesada change the shape of probabilities (back to 9.2)
+  for d, t, He3, alpha near the Coulomb barrier
+
+12 February 2009 Vladimir Ivanchenko (hadr-deex-V09-02-05)
+---------------------------------------------------------
+- Jose Manuel Quesada change the shape of probabilities 
+  for d, t, He3, alpha near the Coulomb barrier
+
+11 February 2009 Vladimir Ivanchenko (hadr-deex-V09-02-04)
+---------------------------------------------------------
+- Jose Manuel Quesada set default OPT=3 back for all particles
+  and add smearing of Coloumb barriers of d, t, he3, alpha 
+
+10 February 2009 Vladimir Ivanchenko (hadr-deex-V09-02-03)
+---------------------------------------------------------
+- Exclude updated G4VGammaDeexcitation
+
+10 February 2009 Vladimir Ivanchenko (hadr-deex-V09-02-02)
+---------------------------------------------------------
+- Jose Manuel Quesada set default OPT=3 for evaporation of protons 
+  and neutrons and OPT=1 for deuterons, tritons, alpha and He3
+
+10 February 2009 Vladimir Ivanchenko (hadr-deex-V09-02-01)
+---------------------------------------------------------
+- Miguel Cortes added extra protection to G4VGammaDeexcitation
+
+27 January 2009 Vladimir Ivanchenko (hadr-deex-V09-02-00)
+--------------------------------------------------------
+- Miguel Cortes fix of Lorentz transformation in G4VGammaDeexcitation,
+  which provides Doppler broading of gamma lines
 
 09 December 2008 Alexander Howard (hadr-deex-V09-01-25)
Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/src/G4AlphaEvaporationProbability.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/src/G4AlphaEvaporationProbability.cc	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/evaporation/src/G4AlphaEvaporationProbability.cc	(revision 1055)
@@ -104,5 +104,6 @@
 //OPT=3,4 Kalbach's parameterization 
 // 
- G4double G4AlphaEvaporationProbability::CrossSection(const  G4Fragment & fragment, const  G4double K)
+G4double G4AlphaEvaporationProbability::CrossSection(const  G4Fragment & fragment, 
+						     const  G4double K)
 {
   theA=GetA();
@@ -117,5 +118,6 @@
   
   if (OPTxs==0) {std::ostringstream errOs;
-    errOs << "We should'n be here (OPT =0) at evaporation cross section calculation (Alpha's)!!"  <<G4endl;
+    errOs << "We should'n be here (OPT =0) at evaporation cross section calculation (Alpha's)!!"  
+	  <<G4endl;
     throw G4HadronicException(__FILE__, __LINE__, errOs.str());
     return 0.;}
@@ -203,5 +205,7 @@
   G4double      ra=1.20;
   
-  ec = 1.44 * theZ * ResidualZ / (1.5*ResidualAthrd+ra);
+  //JMQ 13/02/09 increase of reduced radius to lower the barrier
+  // ec = 1.44 * theZ * ResidualZ / (1.5*ResidualAthrd+ra);
+  ec = 1.44 * theZ * ResidualZ / (1.7*ResidualAthrd+ra);
   ecsq = ec * ec;
   p = p0 + p1/ec + p2/ecsq;
@@ -226,5 +230,5 @@
   
   if (elab <= ec) { //start for E<Ec
-    if (elab > ecut2)  sig = (p*elab*elab+a*elab+b) * signor;    
+    if (elab > ecut2)  sig = (p*elab*elab+a*elab+b) * signor;
   }           //end for E<Ec
   else {           //start for E>Ec
Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/src/G4DeuteronEvaporationProbability.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/src/G4DeuteronEvaporationProbability.cc	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/evaporation/src/G4DeuteronEvaporationProbability.cc	(revision 1055)
@@ -106,5 +106,5 @@
 //OPT=3,4 Kalbach's parameterization 
 // 
- G4double G4DeuteronEvaporationProbability::CrossSection(const  G4Fragment & fragment, const  G4double K)
+G4double G4DeuteronEvaporationProbability::CrossSection(const  G4Fragment & fragment, const  G4double K)
 {
        theA=GetA();
@@ -205,5 +205,7 @@
   G4double      ra=0.80;
         
-  ec = 1.44 * theZ * ResidualZ / (1.5*ResidualAthrd+ra);
+  //JMQ 13/02/09 increase of reduced radius to lower the barrier
+  // ec = 1.44 * theZ * ResidualZ / (1.5*ResidualAthrd+ra);
+  ec = 1.44 * theZ * ResidualZ / (1.7*ResidualAthrd+ra);
   ecsq = ec * ec;
   p = p0 + p1/ec + p2/ecsq;
@@ -226,7 +228,7 @@
   elab = K * FragmentA / ResidualA;
   sig = 0.;
- 
+
   if (elab <= ec) { //start for E<Ec
-    if (elab > ecut2)  sig = (p*elab*elab+a*elab+b) * signor;    
+    if (elab > ecut2)  sig = (p*elab*elab+a*elab+b) * signor;
   }           //end for E<Ec
   else {           //start for E>Ec
Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/src/G4EvaporationProbability.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/src/G4EvaporationProbability.cc	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/evaporation/src/G4EvaporationProbability.cc	(revision 1055)
@@ -33,5 +33,7 @@
 // JMQ (06 September 2008) Also external choices have been added for 
 // superimposed Coulomb barrier (if useSICB is set true, by default is false) 
-
+//
+// JMQ (14 february 2009) bug fixed in emission width: hbarc instead of hbar_Planck in the denominator
+//
 #include <iostream>
 using namespace std;
@@ -138,15 +140,15 @@
 
 
-// if Coulomb barrier cutoff is superimposed for all cross sections the limit is the Coulomb Barrier
-	G4double LowerLimit= limit;
-
-//  MaximalKineticEnergy: asimptotic value (already accounted for in G4EvaporationChannel)     
-
-  G4double UpperLimit = MaximalKineticEnergy;
-
-
-  G4double Width = IntegrateEmissionProbability(fragment,LowerLimit,UpperLimit);
-
-  return Width;
+   // if Coulomb barrier cutoff is superimposed for all cross sections the limit is the Coulomb Barrier
+   G4double LowerLimit= limit;
+
+   //  MaximalKineticEnergy: asimptotic value (already accounted for in G4EvaporationChannel)     
+
+   G4double UpperLimit = MaximalKineticEnergy;
+
+
+   G4double Width = IntegrateEmissionProbability(fragment,LowerLimit,UpperLimit);
+
+   return Width;
  } else{
    std::ostringstream errOs;
@@ -244,12 +246,14 @@
   if (E1<0.) return 0.;
 
-
-//Without 1/hbar_Panck remains as a width
-
-  G4double  Prob=Gamma*ParticleMass/((pi*hbar_Planck)*(pi*hbar_Planck)*std::exp(2*std::sqrt(a0*E0)))*K*CrossSection(fragment,K)*std::exp(2*std::sqrt(a1*E1))*millibarn;
-
-return Prob;
-
-}
-
-
+  //JMQ 14/02/09 BUG fixed: hbarc should be in the denominator instead of hbar_Planck 
+  //Without 1/hbar_Panck remains as a width
+  //  G4double  Prob=Gamma*ParticleMass/((pi*hbar_Planck)*(pi*hbar_Planck)*
+  //std::exp(2*std::sqrt(a0*E0)))*K*CrossSection(fragment,K)*std::exp(2*std::sqrt(a1*E1))*millibarn;
+
+  G4double Prob=Gamma*ParticleMass/((pi*hbarc)*(pi*hbarc)*std::exp(2*std::sqrt(a0*E0)))
+    *K*CrossSection(fragment,K)*std::exp(2*std::sqrt(a1*E1))*millibarn;
+
+  return Prob;
+}
+
+
Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/src/G4He3EvaporationProbability.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/src/G4He3EvaporationProbability.cc	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/evaporation/src/G4He3EvaporationProbability.cc	(revision 1055)
@@ -104,5 +104,5 @@
 //OPT=3,4 Kalbach's parameterization 
 // 
- G4double G4He3EvaporationProbability::CrossSection(const  G4Fragment & fragment, const  G4double K)
+G4double G4He3EvaporationProbability::CrossSection(const  G4Fragment & fragment, const  G4double K)
 {
        theA=GetA();
@@ -117,5 +117,6 @@
 
        if (OPTxs==0) {std::ostringstream errOs;
-         errOs << "We should'n be here (OPT =0) at evaporation cross section calculation (He3's)!!"  <<G4endl;
+         errOs << "We should'n be here (OPT =0) at evaporation cross section calculation (He3's)!!"  
+	       <<G4endl;
          throw G4HadronicException(__FILE__, __LINE__, errOs.str());
          return 0.;}
@@ -200,5 +201,7 @@
   G4double      ra=0.80;
   
-  ec = 1.44 * theZ * ResidualZ / (1.5*ResidualAthrd+ra);
+  //JMQ 13/02/09 increase of reduced radius to lower the barrier
+  // ec = 1.44 * theZ * ResidualZ / (1.5*ResidualAthrd+ra);
+  ec = 1.44 * theZ * ResidualZ / (1.7*ResidualAthrd+ra);
   ecsq = ec * ec;
   p = p0 + p1/ec + p2/ecsq;
@@ -221,7 +224,7 @@
   elab = K * FragmentA / ResidualA;
   sig = 0.;
-  
+
   if (elab <= ec) { //start for E<Ec
-    if (elab > ecut2)  sig = (p*elab*elab+a*elab+b) * signor;    
+    if (elab > ecut2)  sig = (p*elab*elab+a*elab+b) * signor;
   }           //end for E<Ec
   else {           //start for E>Ec
Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/src/G4TritonEvaporationProbability.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/src/G4TritonEvaporationProbability.cc	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/evaporation/src/G4TritonEvaporationProbability.cc	(revision 1055)
@@ -100,5 +100,5 @@
 //OPT=3,4 Kalbach's parameterization 
 // 
- G4double G4TritonEvaporationProbability::CrossSection(const  G4Fragment & fragment, const  G4double K)
+G4double G4TritonEvaporationProbability::CrossSection(const  G4Fragment & fragment, const  G4double K)
 {
   theA=GetA();
@@ -113,5 +113,6 @@
   
   if (OPTxs==0) {std::ostringstream errOs;
-    errOs << "We should'n be here (OPT =0) at evaporation cross section calculation (tritons)!!"  <<G4endl;
+    errOs << "We should'n be here (OPT =0) at evaporation cross section calculation (tritons)!!"  
+	  <<G4endl;
     throw G4HadronicException(__FILE__, __LINE__, errOs.str());
     return 0.;}
@@ -198,5 +199,7 @@
   G4double      ra=0.80;
         
-  ec = 1.44 * theZ * ResidualZ / (1.5*ResidualAthrd+ra);
+  //JMQ 13/02/09 increase of reduced radius to lower the barrier
+  // ec = 1.44 * theZ * ResidualZ / (1.5*ResidualAthrd+ra);
+  ec = 1.44 * theZ * ResidualZ / (1.7*ResidualAthrd+ra);
   ecsq = ec * ec;
   p = p0 + p1/ec + p2/ecsq;
@@ -219,9 +222,9 @@
   elab = K * FragmentA / ResidualA;
   sig = 0.;
-  
+
   if (elab <= ec) { //start for E<Ec
-    if (elab > ecut2)  sig = (p*elab*elab+a*elab+b) * signor;    
+    if (elab > ecut2)  sig = (p*elab*elab+a*elab+b) * signor;
   }           //end for E<Ec
-  else {           //start for E>Ec
+  else {           //start for E>Ec  
     sig = (landa*elab+mu+nu/elab) * signor;
     geom = 0.;
Index: trunk/source/processes/hadronic/models/de_excitation/fission/src/G4CompetitiveFission.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/fission/src/G4CompetitiveFission.cc	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/fission/src/G4CompetitiveFission.cc	(revision 1055)
@@ -25,9 +25,14 @@
 //
 //
-// $Id: G4CompetitiveFission.cc,v 1.9 2008/11/20 13:46:27 dennis Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4CompetitiveFission.cc,v 1.11 2009/03/13 18:57:17 vnivanch Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
 // by V. Lara (Oct 1998)
+//
+// J. M. Quesada (March 2009). Bugs fixed:
+//          - Full relativistic calculation (Lorentz boosts)
+//          - Fission pairing energy is included in fragment excitation energies
+// Now Energy and momentum are conserved in fission 
 
 #include "G4CompetitiveFission.hh"
@@ -127,6 +132,8 @@
     }
 
+
     // Atomic Mass of Nucleus (in MeV)
-    G4double M = G4ParticleTable::GetParticleTable()->GetIonTable()->GetIonMass(Z,A)/MeV;
+    G4double M = G4ParticleTable::GetParticleTable()->GetIonTable()->GetIonMass(Z,A);
+
     // Nucleus Momentum
     G4LorentzVector theNucleusMomentum = theNucleus.GetMomentum();
@@ -147,4 +154,7 @@
     G4double FragmentsExcitationEnergy = 0.0;
     G4double FragmentsKineticEnergy = 0.0;
+
+    //JMQ 04/03/09 It will be used latter to fix the bug in energy conservation
+    G4double FissionPairingEnergy=G4PairingCorrection::GetInstance()->GetFissionPairingCorrection(A,Z);
 
     G4int Trials = 0;
@@ -162,13 +172,12 @@
 	if (A2 < 1 || Z2 < 0) 
 	    throw G4HadronicException(__FILE__, __LINE__, "G4CompetitiveFission::BreakUp: Can't define second fragment! ");
-	M2 = G4ParticleTable::GetParticleTable()->GetIonTable()->GetIonMass(Z2,A2)/MeV;
+
+	M2 = G4ParticleTable::GetParticleTable()->GetIonTable()->GetIonMass(Z2,A2);
 
 	// Check that fragment masses are less or equal than total energy
-	//  if (M1 + M2 > theNucleusMomentum.mag()/MeV)
-	if (M1 + M2 > theNucleusMomentum.e()/MeV)
+	if (M1 + M2 > theNucleusMomentum.e())
 	    throw G4HadronicException(__FILE__, __LINE__, "G4CompetitiveFission::BreakUp: Fragments Mass > Total Energy");
 
 	// Maximal Kinetic Energy (available energy for fragments)
-	//  G4double Tmax = theNucleusMomentum.mag()/MeV - M1 - M2;
 	G4double Tmax = M + U - M1 - M2;
 
@@ -180,8 +189,13 @@
     
 	// Excitation Energy
-	FragmentsExcitationEnergy = Tmax - FragmentsKineticEnergy;
+	//	FragmentsExcitationEnergy = Tmax - FragmentsKineticEnergy;
+	// JMQ 04/03/09 BUG FIXED: in order to fulfill energy conservation the
+	// fragments carry the fission pairing energy in form of 
+	//excitation energy
+
+	FragmentsExcitationEnergy = Tmax - FragmentsKineticEnergy+FissionPairingEnergy;
+
+    } while (FragmentsExcitationEnergy < 0.0 && Trials++ < 100);
     
-    } while (FragmentsExcitationEnergy < 0.0 && Trials++ < 100);
-  
   
 
@@ -190,7 +204,7 @@
   
 
-  // while (FragmentsExcitationEnergy < 0 && Trials < 100);
-  
-  // Fragment 1
+    // while (FragmentsExcitationEnergy < 0 && Trials < 100);
+  
+    // Fragment 1
     G4double U1 = FragmentsExcitationEnergy * (static_cast<G4double>(A1)/static_cast<G4double>(A));
     // Fragment 2
@@ -198,22 +212,41 @@
 
 
-    G4double Pmax = std::sqrt( 2 * ( ( (M1+U1)*(M2+U2) ) /
-				( (M1+U1)+(M2+U2) ) ) * FragmentsKineticEnergy);
-
-    G4ParticleMomentum momentum1 = IsotropicVector( Pmax );
-    G4ParticleMomentum momentum2( -momentum1 );
+    //JMQ  04/03/09 Full relativistic calculation is performed
+    //
+    G4double Fragment1KineticEnergy=(FragmentsKineticEnergy*(FragmentsKineticEnergy+2*(M2+U2)))/(2*(M1+U1+M2+U2+FragmentsKineticEnergy));
+    G4ParticleMomentum Momentum1(IsotropicVector(std::sqrt(Fragment1KineticEnergy*(Fragment1KineticEnergy+2*(M1+U1)))));
+    G4ParticleMomentum Momentum2(-Momentum1);
+    G4LorentzVector FourMomentum1(Momentum1,std::sqrt(Momentum1.mag2()+(M1+U1)*(M1+U1)));
+    G4LorentzVector FourMomentum2(Momentum2,std::sqrt(Momentum2.mag2()+(M2+U2)*(M2+U2)));
+
+    //JMQ 04/03/09 now we do Lorentz boosts (instead of Galileo boosts)
+    FourMomentum1.boost(theNucleusMomentum.boostVector());
+    FourMomentum2.boost(theNucleusMomentum.boostVector());
+    
+    //////////JMQ 04/03: Old version calculation is commented
+    // There was vioation of energy momentum conservation
+
+    //    G4double Pmax = std::sqrt( 2 * ( ( (M1+U1)*(M2+U2) ) /
+    //				( (M1+U1)+(M2+U2) ) ) * FragmentsKineticEnergy);
+
+    //G4ParticleMomentum momentum1 = IsotropicVector( Pmax );
+    //  G4ParticleMomentum momentum2( -momentum1 );
 
     // Perform a Galileo boost for fragments
-    momentum1 += (theNucleusMomentum.boostVector() * (M1+U1));
-    momentum2 += (theNucleusMomentum.boostVector() * (M2+U2));
+    //    momentum1 += (theNucleusMomentum.boostVector() * (M1+U1));
+    //    momentum2 += (theNucleusMomentum.boostVector() * (M2+U2));
 
 
     // Create 4-momentum for first fragment
     // Warning!! Energy conservation is broken
-    G4LorentzVector FourMomentum1( momentum1 , std::sqrt(momentum1.mag2() + (M1+U1)*(M1+U1)));
+    //JMQ 04/03/09 ...NOT ANY MORE!! BUGS FIXED: Energy and momentum are NOW conserved 
+    //    G4LorentzVector FourMomentum1( momentum1 , std::sqrt(momentum1.mag2() + (M1+U1)*(M1+U1)));
 
     // Create 4-momentum for second fragment
     // Warning!! Energy conservation is broken
-    G4LorentzVector FourMomentum2( momentum2 , std::sqrt(momentum2.mag2() + (M2+U2)*(M2+U2)));
+    //JMQ 04/03/09 ...NOT ANY MORE!! BUGS FIXED: Energy and momentum are NOW conserved
+    //    G4LorentzVector FourMomentum2( momentum2 , std::sqrt(momentum2.mag2() + (M2+U2)*(M2+U2)));
+
+    //////////
 
     // Create Fragments
@@ -227,5 +260,5 @@
     Fragment2->SetCreatorModel(G4String("G4CompetitiveFission"));
 #endif
-  // Create Fragment Vector
+    // Create Fragment Vector
     G4FragmentVector * theResult = new G4FragmentVector;
 
Index: trunk/source/processes/hadronic/models/de_excitation/fission/src/G4FissionProbability.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/fission/src/G4FissionProbability.cc	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/fission/src/G4FissionProbability.cc	(revision 1055)
@@ -25,10 +25,12 @@
 //
 //
-// $Id: G4FissionProbability.cc,v 1.8 2007/02/12 09:39:58 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4FissionProbability.cc,v 1.9 2009/02/15 17:03:25 vnivanch Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
 // by V. Lara (Oct 1998)
 //
+//
+// J.M.Quesada (14 february 2009) bug fixed in fission width: missing parenthesis in the denominator 
 
 
@@ -95,9 +97,13 @@
     G4double Exp1 = 0.0;
     if (SystemEntropy <= 160.0) Exp1 = std::exp(-SystemEntropy);
-    // @@@@@@@@@@@@@@@@@ hpw changed max to min - cannot notify vicente now since cern mail gave up on me...
+    // @@@@@@@@@@@@@@@@@ hpw changed max to min - cannot notify vicente now
     G4double Exp2 = std::exp( std::min(700.0,Cf-SystemEntropy) ); 
 
+    // JMQ 14/02/09 BUG fixed in fission probability (missing parenthesis at denominator)
     //AH fix from Vincente:    G4double probability = (Exp1 + (1.0-Cf)*Exp2) / 4.0*pi*afission;
-    G4double probability = (Exp1 + (Cf-1.0)*Exp2) / 4.0*pi*afission;
+    //    G4double probability = (Exp1 + (Cf-1.0)*Exp2) / 4.0*pi*afission;
+    G4double probability = (Exp1 + (Cf-1.0)*Exp2) / (4.0*pi*afission);
+
+
     
     return probability;
Index: trunk/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4GEMChannel.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4GEMChannel.cc	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4GEMChannel.cc	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4GEMChannel.cc,v 1.6 2008/11/18 18:26:30 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4GEMChannel.cc,v 1.7 2009/03/12 11:25:28 ahoward Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -125,6 +125,10 @@
     //    G4double ExEnergy = fragment.GetExcitationEnergy() -
     //      G4PairingCorrection::GetInstance()->GetPairingCorrection(anA,aZ);
-    G4double ExEnergy = fragment.GetExcitationEnergy() -
-      G4PairingCorrection::GetInstance()->GetPairingCorrection(AResidual,ZResidual);
+//090120
+    //G4double ExEnergy = fragment.GetExcitationEnergy() -
+      //G4PairingCorrection::GetInstance()->GetPairingCorrection(AResidual,ZResidual);
+    G4double ExEnergy = fragment.GetExcitationEnergy(); 
+    if ( AResidual > 0 ) ExEnergy -= G4PairingCorrection::GetInstance()->GetPairingCorrection(AResidual,ZResidual);
+//090120
     
     // We only take into account channels which are physically allowed
@@ -260,6 +264,9 @@
     G4double a = theLevelDensityPtr->LevelDensityParameter(static_cast<G4int>(fragment.GetA()),
 							   static_cast<G4int>(fragment.GetZ()),U);
-    G4double delta0 = G4PairingCorrection::GetInstance()->GetPairingCorrection(static_cast<G4int>(fragment.GetA()),
-									       static_cast<G4int>(fragment.GetZ()));
+//090115
+//G4double delta0 = G4PairingCorrection::GetInstance()->GetPairingCorrection(static_cast<G4int>(fragment.GetA()),
+//								       static_cast<G4int>(fragment.GetZ()));
+    G4double delta0 = G4PairingCorrection::GetInstance()->GetPairingCorrection(AResidual,ZResidual);
+//090115
     
     G4double Alpha = theEvaporationProbabilityPtr->CalcAlphaParam(fragment);
@@ -307,4 +314,8 @@
 //      std::cout << "\t\tEjectile (" << A << ',' << Z << ") V = " << CoulombBarrier 
 //  	      << " Beta = " << Beta << " V+Beta = " << CoulombBarrier+Beta << '\n';
+
+//G4cout << AResidual << " " << ZResidual << " " << ConstantFactor << " " << Beta << " " << CoulombBarrier << " " << MaximalKineticEnergy << " " << CoulombBarrier + MaximalKineticEnergy + Beta << G4endl;
+//090128
+if ( CoulombBarrier + MaximalKineticEnergy + Beta <= 0 ) return 0; 
 
     do 
Index: trunk/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4GEMProbability.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4GEMProbability.cc	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4GEMProbability.cc	(revision 1055)
@@ -108,6 +108,10 @@
     G4double a = theEvapLDPptr->LevelDensityParameter(static_cast<G4int>(fragment.GetA()),
 						      static_cast<G4int>(fragment.GetZ()),U);
-    G4double delta0 = G4PairingCorrection::GetInstance()->GetPairingCorrection(static_cast<G4int>(fragment.GetA()),
-									       static_cast<G4int>(fragment.GetZ()));
+//090115
+//G4double delta0 = G4PairingCorrection::GetInstance()->GetPairingCorrection(static_cast<G4int>(fragment.GetA()),
+//								       static_cast<G4int>(fragment.GetZ()));
+    G4double ResidualZ = static_cast<G4double>(fragment.GetZ() - theZ);
+    G4double delta0 = G4PairingCorrection::GetInstance()->GetPairingCorrection( static_cast<G4int>( ResidualA ) , static_cast<G4int>( ResidualZ ) );
+//090115
     
     G4double Alpha = CalcAlphaParam(fragment);
Index: trunk/source/processes/hadronic/models/de_excitation/util/include/G4CameronGilbertPairingCorrections.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/include/G4CameronGilbertPairingCorrections.hh	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/include/G4CameronGilbertPairingCorrections.hh	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4CameronGilbertPairingCorrections.hh,v 1.4 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4CameronGilbertPairingCorrections.hh,v 1.5 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -52,5 +52,5 @@
   static G4CameronGilbertPairingCorrections* GetInstance();
 
-  ~G4CameronGilbertPairingCorrections() {};
+  ~G4CameronGilbertPairingCorrections();
 
   G4double GetPairingCorrection(const G4int A, const G4int Z) const
Index: trunk/source/processes/hadronic/models/de_excitation/util/include/G4CameronGilbertShellCorrections.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/include/G4CameronGilbertShellCorrections.hh	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/include/G4CameronGilbertShellCorrections.hh	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4CameronGilbertShellCorrections.hh,v 1.4 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4CameronGilbertShellCorrections.hh,v 1.5 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -51,5 +51,5 @@
   static G4CameronGilbertShellCorrections* GetInstance();
 
-  ~G4CameronGilbertShellCorrections() {};
+  ~G4CameronGilbertShellCorrections();
   
   G4double GetShellCorrection(const G4int A, const G4int Z) const 
Index: trunk/source/processes/hadronic/models/de_excitation/util/include/G4CameronShellPlusPairingCorrections.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/include/G4CameronShellPlusPairingCorrections.hh	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/include/G4CameronShellPlusPairingCorrections.hh	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4CameronShellPlusPairingCorrections.hh,v 1.4 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4CameronShellPlusPairingCorrections.hh,v 1.5 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -51,5 +51,5 @@
   static G4CameronShellPlusPairingCorrections* GetInstance();
 
-  ~G4CameronShellPlusPairingCorrections() {};
+  ~G4CameronShellPlusPairingCorrections();
   
   G4double GetShellPlusPairingZ(const G4int Z) const 
Index: trunk/source/processes/hadronic/models/de_excitation/util/include/G4CameronTruranHilfPairingCorrections.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/include/G4CameronTruranHilfPairingCorrections.hh	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/include/G4CameronTruranHilfPairingCorrections.hh	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4CameronTruranHilfPairingCorrections.hh,v 1.4 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4CameronTruranHilfPairingCorrections.hh,v 1.5 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -50,5 +50,5 @@
   static G4CameronTruranHilfPairingCorrections* GetInstance();
 
-  ~G4CameronTruranHilfPairingCorrections() {};
+  ~G4CameronTruranHilfPairingCorrections();
 
   G4double GetParingCorrection(const G4int A, const  G4int Z) const
Index: trunk/source/processes/hadronic/models/de_excitation/util/include/G4CameronTruranHilfShellCorrections.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/include/G4CameronTruranHilfShellCorrections.hh	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/include/G4CameronTruranHilfShellCorrections.hh	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4CameronTruranHilfShellCorrections.hh,v 1.4 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4CameronTruranHilfShellCorrections.hh,v 1.5 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -50,5 +50,5 @@
   static G4CameronTruranHilfShellCorrections* GetInstance();
   
-  ~G4CameronTruranHilfShellCorrections() {};
+  ~G4CameronTruranHilfShellCorrections();
 
   G4double GetShellCorrection(const G4int A, const G4int Z) const 
Index: trunk/source/processes/hadronic/models/de_excitation/util/include/G4ConstantLevelDensityParameter.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/include/G4ConstantLevelDensityParameter.hh	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/include/G4ConstantLevelDensityParameter.hh	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4ConstantLevelDensityParameter.hh,v 1.4 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4ConstantLevelDensityParameter.hh,v 1.5 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations (photon evaporation)
@@ -41,5 +41,5 @@
 public:
   G4ConstantLevelDensityParameter() :  EvapLevelDensityParameter(0.125*(1./MeV)) {};
-  virtual ~G4ConstantLevelDensityParameter() {};
+  virtual ~G4ConstantLevelDensityParameter();
 
 private:  
Index: trunk/source/processes/hadronic/models/de_excitation/util/include/G4CookPairingCorrections.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/include/G4CookPairingCorrections.hh	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/include/G4CookPairingCorrections.hh	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4CookPairingCorrections.hh,v 1.4 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4CookPairingCorrections.hh,v 1.5 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -50,5 +50,5 @@
   static G4CookPairingCorrections* GetInstance();
 
-  ~G4CookPairingCorrections() {};
+  ~G4CookPairingCorrections();
 
   G4double GetParingCorrection(const G4int A, const G4int Z) const {
Index: trunk/source/processes/hadronic/models/de_excitation/util/include/G4CookShellCorrections.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/include/G4CookShellCorrections.hh	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/include/G4CookShellCorrections.hh	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4CookShellCorrections.hh,v 1.4 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4CookShellCorrections.hh,v 1.5 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -52,5 +52,5 @@
   static G4CookShellCorrections* GetInstance();
 
-  ~G4CookShellCorrections() {};
+  ~G4CookShellCorrections();
 
   G4double GetShellCorrection(const G4int A, const G4int Z) const 
Index: trunk/source/processes/hadronic/models/de_excitation/util/include/G4CoulombBarrier.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/include/G4CoulombBarrier.hh	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/include/G4CoulombBarrier.hh	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4CoulombBarrier.hh,v 1.5 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4CoulombBarrier.hh,v 1.6 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -42,8 +42,7 @@
 {
 public:
-  G4CoulombBarrier() : G4VCoulombBarrier(1,0) {};
-  G4CoulombBarrier(const G4int anA,const G4int aZ) :
-    G4VCoulombBarrier(anA,aZ) {};
-  ~G4CoulombBarrier() {};
+  G4CoulombBarrier();
+  G4CoulombBarrier(const G4int anA,const G4int aZ);
+  virtual ~G4CoulombBarrier();
 
 private:
Index: trunk/source/processes/hadronic/models/de_excitation/util/include/G4DeuteronCoulombBarrier.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/include/G4DeuteronCoulombBarrier.hh	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/include/G4DeuteronCoulombBarrier.hh	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4DeuteronCoulombBarrier.hh,v 1.4 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4DeuteronCoulombBarrier.hh,v 1.5 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -40,6 +40,6 @@
 {
 public:
-	G4DeuteronCoulombBarrier() : G4CoulombBarrier(2,1) {};
-	~G4DeuteronCoulombBarrier() {};
+	G4DeuteronCoulombBarrier() : G4CoulombBarrier(2,1) {}
+	~G4DeuteronCoulombBarrier() {}
 
 private:
@@ -52,6 +52,5 @@
 private:
 
-	virtual G4double BarrierPenetrationFactor(const G4double aZ) const;
-
+	G4double BarrierPenetrationFactor(const G4double aZ) const;
 
 };
Index: trunk/source/processes/hadronic/models/de_excitation/util/include/G4EvaporationLevelDensityParameter.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/include/G4EvaporationLevelDensityParameter.hh	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/include/G4EvaporationLevelDensityParameter.hh	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4EvaporationLevelDensityParameter.hh,v 1.4 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4EvaporationLevelDensityParameter.hh,v 1.5 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -45,7 +45,7 @@
 public:
 
-  G4EvaporationLevelDensityParameter()  {};
+  G4EvaporationLevelDensityParameter();
 
-  virtual ~G4EvaporationLevelDensityParameter() {};
+  virtual ~G4EvaporationLevelDensityParameter();
 
 private:  
Index: trunk/source/processes/hadronic/models/de_excitation/util/include/G4He3CoulombBarrier.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/include/G4He3CoulombBarrier.hh	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/include/G4He3CoulombBarrier.hh	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4He3CoulombBarrier.hh,v 1.4 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4He3CoulombBarrier.hh,v 1.5 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -40,6 +40,6 @@
 {
 public:
-	G4He3CoulombBarrier() : G4CoulombBarrier(3,2) {};
-	~G4He3CoulombBarrier() {};
+	G4He3CoulombBarrier() : G4CoulombBarrier(3,2) {}
+	~G4He3CoulombBarrier() {}
 
 private:
@@ -52,6 +52,5 @@
 private:
 
-	virtual G4double BarrierPenetrationFactor(const G4double aZ) const;
-
+	G4double BarrierPenetrationFactor(const G4double aZ) const;
 
 };
Index: trunk/source/processes/hadronic/models/de_excitation/util/include/G4NeutronCoulombBarrier.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/include/G4NeutronCoulombBarrier.hh	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/include/G4NeutronCoulombBarrier.hh	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4NeutronCoulombBarrier.hh,v 1.4 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4NeutronCoulombBarrier.hh,v 1.5 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -40,6 +40,6 @@
 {
 public:
-	G4NeutronCoulombBarrier() : G4CoulombBarrier(1,0) {};
-	~G4NeutronCoulombBarrier() {};
+	G4NeutronCoulombBarrier() : G4CoulombBarrier(1,0) {}
+	~G4NeutronCoulombBarrier() {}
 
 private:
@@ -52,7 +52,6 @@
 private:
 
-	virtual G4double BarrierPenetrationFactor(const G4double ) const
+	G4double BarrierPenetrationFactor(const G4double ) const
 	{ return 1.0;}
-
 
 };
Index: trunk/source/processes/hadronic/models/de_excitation/util/include/G4PairingCorrection.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/include/G4PairingCorrection.hh	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/include/G4PairingCorrection.hh	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4PairingCorrection.hh,v 1.5 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4PairingCorrection.hh,v 1.6 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -53,5 +53,5 @@
   static G4PairingCorrection* GetInstance();
   
-  ~G4PairingCorrection() {};
+  ~G4PairingCorrection();
 
   G4double GetPairingCorrection(const G4int A, const G4int Z) const
Index: trunk/source/processes/hadronic/models/de_excitation/util/include/G4ProtonCoulombBarrier.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/include/G4ProtonCoulombBarrier.hh	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/include/G4ProtonCoulombBarrier.hh	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4ProtonCoulombBarrier.hh,v 1.4 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4ProtonCoulombBarrier.hh,v 1.5 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -40,6 +40,6 @@
 {
 public:
-	G4ProtonCoulombBarrier() : G4CoulombBarrier(1,1) {};
-	~G4ProtonCoulombBarrier() {};
+	G4ProtonCoulombBarrier() : G4CoulombBarrier(1,1) {}
+	~G4ProtonCoulombBarrier() {}
 
 private:
@@ -52,6 +52,5 @@
 private:
 
-	virtual G4double BarrierPenetrationFactor(const G4double aZ) const;
-
+	G4double BarrierPenetrationFactor(const G4double aZ) const;
 
 };
Index: trunk/source/processes/hadronic/models/de_excitation/util/include/G4ShellCorrection.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/include/G4ShellCorrection.hh	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/include/G4ShellCorrection.hh	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4ShellCorrection.hh,v 1.4 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4ShellCorrection.hh,v 1.5 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -51,5 +51,5 @@
 public:
   static G4ShellCorrection* GetInstance();
-  ~G4ShellCorrection() {};
+  ~G4ShellCorrection();
 
   G4double GetShellCorrection(const G4int A, const G4int Z) const 
Index: trunk/source/processes/hadronic/models/de_excitation/util/include/G4TritonCoulombBarrier.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/include/G4TritonCoulombBarrier.hh	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/include/G4TritonCoulombBarrier.hh	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4TritonCoulombBarrier.hh,v 1.4 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4TritonCoulombBarrier.hh,v 1.5 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -40,6 +40,6 @@
 {
 public:
-    G4TritonCoulombBarrier() : G4CoulombBarrier(3,1) {};
-    ~G4TritonCoulombBarrier() {};
+    G4TritonCoulombBarrier() : G4CoulombBarrier(3,1) {}
+    ~G4TritonCoulombBarrier() {}
 
 private:
@@ -52,6 +52,5 @@
 private:
 
-    virtual G4double BarrierPenetrationFactor(const G4double aZ) const;
-
+    G4double BarrierPenetrationFactor(const G4double aZ) const;
 
 };
Index: trunk/source/processes/hadronic/models/de_excitation/util/include/G4VCoulombBarrier.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/include/G4VCoulombBarrier.hh	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/include/G4VCoulombBarrier.hh	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4VCoulombBarrier.hh,v 1.4 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4VCoulombBarrier.hh,v 1.5 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -41,8 +41,8 @@
 public:
   G4VCoulombBarrier(const G4int anA, const G4int aZ);
-  virtual ~G4VCoulombBarrier() {};
+  virtual ~G4VCoulombBarrier();
 
 protected:
-  G4VCoulombBarrier() : theA(1),theZ(0) {};
+  G4VCoulombBarrier();
 
 private:
Index: trunk/source/processes/hadronic/models/de_excitation/util/include/G4VEmissionProbability.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/include/G4VEmissionProbability.hh	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/include/G4VEmissionProbability.hh	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4VEmissionProbability.hh,v 1.4 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4VEmissionProbability.hh,v 1.5 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -47,6 +47,6 @@
 {
 public:
-  G4VEmissionProbability() {};
-  virtual ~G4VEmissionProbability() {};
+  G4VEmissionProbability();
+  virtual ~G4VEmissionProbability();
 
 private:  
Index: trunk/source/processes/hadronic/models/de_excitation/util/include/G4VLevelDensityParameter.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/include/G4VLevelDensityParameter.hh	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/include/G4VLevelDensityParameter.hh	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4VLevelDensityParameter.hh,v 1.5 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4VLevelDensityParameter.hh,v 1.6 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -44,6 +44,6 @@
 {
 public:
-  G4VLevelDensityParameter() {};
-  virtual ~G4VLevelDensityParameter() {};
+  G4VLevelDensityParameter();
+  virtual ~G4VLevelDensityParameter();
 
 private:  
Index: trunk/source/processes/hadronic/models/de_excitation/util/src/G4CameronGilbertPairingCorrections.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/src/G4CameronGilbertPairingCorrections.cc	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/src/G4CameronGilbertPairingCorrections.cc	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4CameronGilbertPairingCorrections.cc,v 1.4 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4CameronGilbertPairingCorrections.cc,v 1.5 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -74,4 +74,6 @@
 {;}
 
+G4CameronGilbertPairingCorrections::~G4CameronGilbertPairingCorrections()
+{ delete theInstance; }
 
 G4CameronGilbertPairingCorrections* G4CameronGilbertPairingCorrections::GetInstance()
Index: trunk/source/processes/hadronic/models/de_excitation/util/src/G4CameronGilbertShellCorrections.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/src/G4CameronGilbertShellCorrections.cc	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/src/G4CameronGilbertShellCorrections.cc	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4CameronGilbertShellCorrections.cc,v 1.4 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4CameronGilbertShellCorrections.cc,v 1.5 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -74,4 +74,7 @@
 {;}
 
+G4CameronGilbertShellCorrections::~G4CameronGilbertShellCorrections()
+{ delete theInstance; }
+
 G4CameronGilbertShellCorrections* G4CameronGilbertShellCorrections::GetInstance()
 {
Index: trunk/source/processes/hadronic/models/de_excitation/util/src/G4CameronShellPlusPairingCorrections.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/src/G4CameronShellPlusPairingCorrections.cc	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/src/G4CameronShellPlusPairingCorrections.cc	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4CameronShellPlusPairingCorrections.cc,v 1.4 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4CameronShellPlusPairingCorrections.cc,v 1.5 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -92,4 +92,7 @@
 {;}
 
+G4CameronShellPlusPairingCorrections::~G4CameronShellPlusPairingCorrections()
+{ delete theInstance; }
+
 G4CameronShellPlusPairingCorrections* G4CameronShellPlusPairingCorrections::GetInstance() {
   if (!theInstance) theInstance = new G4CameronShellPlusPairingCorrections();
Index: trunk/source/processes/hadronic/models/de_excitation/util/src/G4CameronTruranHilfPairingCorrections.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/src/G4CameronTruranHilfPairingCorrections.cc	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/src/G4CameronTruranHilfPairingCorrections.cc	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4CameronTruranHilfPairingCorrections.cc,v 1.4 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4CameronTruranHilfPairingCorrections.cc,v 1.5 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -79,4 +79,7 @@
 {;}
 
+G4CameronTruranHilfPairingCorrections::~G4CameronTruranHilfPairingCorrections()
+{ delete theInstance; }
+
 G4CameronTruranHilfPairingCorrections* G4CameronTruranHilfPairingCorrections::GetInstance() {
   if (!theInstance) theInstance = new G4CameronTruranHilfPairingCorrections();
Index: trunk/source/processes/hadronic/models/de_excitation/util/src/G4CameronTruranHilfShellCorrections.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/src/G4CameronTruranHilfShellCorrections.cc	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/src/G4CameronTruranHilfShellCorrections.cc	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4CameronTruranHilfShellCorrections.cc,v 1.4 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4CameronTruranHilfShellCorrections.cc,v 1.5 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -81,4 +81,7 @@
 {;}
 
+G4CameronTruranHilfShellCorrections::~G4CameronTruranHilfShellCorrections()
+{ delete theInstance; }
+
 G4CameronTruranHilfShellCorrections* G4CameronTruranHilfShellCorrections::GetInstance() {
   if (!theInstance) theInstance = new G4CameronTruranHilfShellCorrections();
Index: trunk/source/processes/hadronic/models/de_excitation/util/src/G4ConstantLevelDensityParameter.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/src/G4ConstantLevelDensityParameter.cc	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/src/G4ConstantLevelDensityParameter.cc	(revision 1055)
@@ -42,4 +42,7 @@
 }
 
+G4ConstantLevelDensityParameter::~G4ConstantLevelDensityParameter()
+{
+}
 
 const G4ConstantLevelDensityParameter & G4ConstantLevelDensityParameter::
Index: trunk/source/processes/hadronic/models/de_excitation/util/src/G4CookPairingCorrections.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/src/G4CookPairingCorrections.cc	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/src/G4CookPairingCorrections.cc	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4CookPairingCorrections.cc,v 1.4 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4CookPairingCorrections.cc,v 1.5 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -73,4 +73,7 @@
 {;}
 
+G4CookPairingCorrections::~G4CookPairingCorrections()
+{ delete theInstance; }
+
 G4CookPairingCorrections* G4CookPairingCorrections::GetInstance() {
   if (!theInstance) theInstance = new  G4CookPairingCorrections();
Index: trunk/source/processes/hadronic/models/de_excitation/util/src/G4CookShellCorrections.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/src/G4CookShellCorrections.cc	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/src/G4CookShellCorrections.cc	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4CookShellCorrections.cc,v 1.4 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4CookShellCorrections.cc,v 1.5 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -73,4 +73,6 @@
 {;}
 
+G4CookShellCorrections::~G4CookShellCorrections()
+{ delete theInstance; }
 
 G4CookShellCorrections* G4CookShellCorrections::GetInstance() {
Index: trunk/source/processes/hadronic/models/de_excitation/util/src/G4CoulombBarrier.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/src/G4CoulombBarrier.cc	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/src/G4CoulombBarrier.cc	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4CoulombBarrier.cc,v 1.8 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4CoulombBarrier.cc,v 1.9 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -35,4 +35,12 @@
 #include "G4HadronicException.hh"
 #include <sstream>
+
+G4CoulombBarrier::G4CoulombBarrier()
+  : G4VCoulombBarrier(1,0) {}
+
+G4CoulombBarrier::G4CoulombBarrier(const G4int anA,const G4int aZ)
+  : G4VCoulombBarrier(anA,aZ) {}
+
+G4CoulombBarrier::~G4CoulombBarrier() {}
 
 G4CoulombBarrier::G4CoulombBarrier(const G4CoulombBarrier & ) : G4VCoulombBarrier()
Index: trunk/source/processes/hadronic/models/de_excitation/util/src/G4EvaporationLevelDensityParameter.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/src/G4EvaporationLevelDensityParameter.cc	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/src/G4EvaporationLevelDensityParameter.cc	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4EvaporationLevelDensityParameter.cc,v 1.8 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4EvaporationLevelDensityParameter.cc,v 1.9 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -49,4 +49,6 @@
 const G4double G4EvaporationLevelDensityParameter::Bs = 1.0;
 
+G4EvaporationLevelDensityParameter::G4EvaporationLevelDensityParameter() {}
+G4EvaporationLevelDensityParameter::~G4EvaporationLevelDensityParameter() {}
 
 G4EvaporationLevelDensityParameter::
Index: trunk/source/processes/hadronic/models/de_excitation/util/src/G4PairingCorrection.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/src/G4PairingCorrection.cc	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/src/G4PairingCorrection.cc	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4PairingCorrection.cc,v 1.4 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4PairingCorrection.cc,v 1.5 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -44,4 +44,7 @@
 }
 
+G4PairingCorrection::~G4PairingCorrection()
+{ delete theInstance; }
+
 G4PairingCorrection* G4PairingCorrection::GetInstance()
 {
Index: trunk/source/processes/hadronic/models/de_excitation/util/src/G4ShellCorrection.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/src/G4ShellCorrection.cc	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/src/G4ShellCorrection.cc	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4ShellCorrection.cc,v 1.4 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4ShellCorrection.cc,v 1.5 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -44,4 +44,8 @@
 }
 
+G4ShellCorrection::~G4ShellCorrection()
+{
+  delete theInstance;
+}
 
 G4ShellCorrection* G4ShellCorrection::GetInstance()
Index: trunk/source/processes/hadronic/models/de_excitation/util/src/G4VCoulombBarrier.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/src/G4VCoulombBarrier.cc	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/src/G4VCoulombBarrier.cc	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4VCoulombBarrier.cc,v 1.6 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4VCoulombBarrier.cc,v 1.7 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -35,4 +35,10 @@
 #include "G4HadronicException.hh"
 #include <sstream>
+
+G4VCoulombBarrier::G4VCoulombBarrier()
+  : theA(1),theZ(0)
+{
+}
+
 
 G4VCoulombBarrier::G4VCoulombBarrier(const G4int anA, const G4int aZ)
@@ -49,4 +55,9 @@
 	throw G4HadronicException(__FILE__, __LINE__, errOs.str());
     }
+}
+
+
+G4VCoulombBarrier::~G4VCoulombBarrier()
+{
 }
 
Index: trunk/source/processes/hadronic/models/de_excitation/util/src/G4VEmissionProbability.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/src/G4VEmissionProbability.cc	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/src/G4VEmissionProbability.cc	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4VEmissionProbability.cc,v 1.6 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4VEmissionProbability.cc,v 1.7 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -36,10 +36,13 @@
 #include "G4HadronicException.hh"
 
+
+G4VEmissionProbability::G4VEmissionProbability() {}
+G4VEmissionProbability::~G4VEmissionProbability() {}
+
+
 G4VEmissionProbability::G4VEmissionProbability(const G4VEmissionProbability &)
 {
     throw G4HadronicException(__FILE__, __LINE__, "G4VEmissionProbability::copy_constructor meant to not be accessable");
 }
-
-
 
 
Index: trunk/source/processes/hadronic/models/de_excitation/util/src/G4VLevelDensityParameter.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/util/src/G4VLevelDensityParameter.cc	(revision 1007)
+++ trunk/source/processes/hadronic/models/de_excitation/util/src/G4VLevelDensityParameter.cc	(revision 1055)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: G4VLevelDensityParameter.cc,v 1.5 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-02 $
+// $Id: G4VLevelDensityParameter.cc,v 1.6 2009/03/04 11:05:02 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -36,4 +36,8 @@
 
 
+G4VLevelDensityParameter::G4VLevelDensityParameter() {}
+G4VLevelDensityParameter::~G4VLevelDensityParameter() {}
+
+
 G4VLevelDensityParameter::
 G4VLevelDensityParameter(const G4VLevelDensityParameter &)
@@ -41,6 +45,4 @@
     throw G4HadronicException(__FILE__, __LINE__, "G4VLevelDensityParameter::copy_constructor meant to not be accessable");
 }
-
-
 
 
