Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4AlphaEvaporationChannel.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4AlphaEvaporationChannel.hh	(revision 1340)
+++ trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4AlphaEvaporationChannel.hh	(revision 1347)
@@ -25,10 +25,11 @@
 //
 //
-// $Id: G4AlphaEvaporationChannel.hh,v 1.8 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-03-ref-09 $
+// $Id: G4AlphaEvaporationChannel.hh,v 1.9 2010/11/17 12:14:59 vnivanch Exp $
+// GEANT4 tag $Name: geant4-09-04-ref-00 $
 //
 // Hadronic Process: Nuclear De-excitations
 // by V. Lara (Nov. 1999)
 //
+// 17-11-2010 V.Ivanchenko moved constructor and destructor to source and cleanup
 
 #ifndef G4AlphaEvaporationChannel_h
@@ -43,9 +44,8 @@
 public:
   // only available constructor
-  G4AlphaEvaporationChannel() : G4EvaporationChannel(4,2,"alpha",
-						     &theEvaporationProbability,&theCoulombBarrier) {};
+  G4AlphaEvaporationChannel();
 
   // destructor
-  ~G4AlphaEvaporationChannel() {};
+  virtual ~G4AlphaEvaporationChannel();
 
 private:
@@ -54,10 +54,6 @@
   G4AlphaEvaporationChannel(const G4AlphaEvaporationChannel & right);
 
-
-public:
   G4bool operator==(const G4AlphaEvaporationChannel & right) const;
   G4bool operator!=(const G4AlphaEvaporationChannel & right) const;
-
-private:
 
   G4AlphaCoulombBarrier theCoulombBarrier;	
Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4AlphaEvaporationProbability.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4AlphaEvaporationProbability.hh	(revision 1340)
+++ trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4AlphaEvaporationProbability.hh	(revision 1347)
@@ -24,8 +24,14 @@
 // ********************************************************************
 //
-//J.M. Quesada (August2008). Based on:
+// $Id: G4AlphaEvaporationProbability.hh,v 1.14 2010/11/17 11:06:03 vnivanch Exp $
+// GEANT4 tag $Name: geant4-09-04-ref-00 $
+//
+// J.M. Quesada (August2008). Based on:
 //
 // Hadronic Process: Nuclear De-excitations
 // by V. Lara (Oct 1998)
+//
+// Modified:
+// 17-11-2010 V.Ivanchenko integer Z and A
 //
 #ifndef G4AlphaEvaporationProbability_h
@@ -42,5 +48,6 @@
   G4AlphaEvaporationProbability();
 
-  ~G4AlphaEvaporationProbability() {}
+  virtual ~G4AlphaEvaporationProbability();
+
 private:  
   // Copy constructor
@@ -51,32 +58,29 @@
   G4bool operator!=(const G4AlphaEvaporationProbability &right) const;
 
-
 private:
 
-  virtual G4double CrossSection(const  G4Fragment & fragment, const  G4double K);
+  virtual G4double CrossSection(const  G4Fragment & fragment, G4double K);
 
-  G4double GetOpt0(const G4double K);
-  G4double GetOpt12(const G4double K);
-  G4double GetOpt34(const G4double K);
+  G4double GetOpt0(G4double K);
+  G4double GetOpt12(G4double K);
+  G4double GetOpt34(G4double K);
+  
+  virtual G4double CalcAlphaParam(const G4Fragment & fragment) ;
+ 
+  virtual G4double CalcBetaParam(const G4Fragment & fragment)  ;
+ 
+  G4double CCoeficient(G4int aZ) ;
+  
+  //data members
+    
+  G4AlphaCoulombBarrier theCoulombBarrier;
 
-  
- virtual G4double CalcAlphaParam(const G4Fragment & fragment) ;
- 
- virtual G4double CalcBetaParam(const G4Fragment & fragment)  ;
- 
-  G4double CCoeficient(const G4double aZ) ;
-  
-//data members
-    
-      G4AlphaCoulombBarrier theCoulombBarrier;
-
-      G4double ResidualA;
-      G4double ResidualZ; 
-      G4double theA;
-      G4double theZ;
-      G4double ResidualAthrd;
-      G4double FragmentA;
-      G4double FragmentAthrd;
-
+  G4int ResidualA;
+  G4int ResidualZ; 
+  G4int theA;
+  G4int theZ;
+  G4double ResidualAthrd;
+  G4int FragmentA;
+  G4double FragmentAthrd;
 
 };
Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4DeuteronEvaporationChannel.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4DeuteronEvaporationChannel.hh	(revision 1340)
+++ trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4DeuteronEvaporationChannel.hh	(revision 1347)
@@ -25,10 +25,11 @@
 //
 //
-// $Id: G4DeuteronEvaporationChannel.hh,v 1.8 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-03-ref-09 $
+// $Id: G4DeuteronEvaporationChannel.hh,v 1.9 2010/11/17 12:14:59 vnivanch Exp $
+// GEANT4 tag $Name: geant4-09-04-ref-00 $
 //
 // Hadronic Process: Nuclear De-excitations
 // by V. Lara (Nov. 1999)
 //
+// 17-11-2010 V.Ivanchenko moved constructor and destructor to source and cleanup
 
 #ifndef G4DeuteronEvaporationChannel_h
@@ -43,9 +44,8 @@
 public:
   // only available constructor
-  G4DeuteronEvaporationChannel() : G4EvaporationChannel(2,1,"deuteron",
-							&theEvaporationProbability,&theCoulombBarrier) {};
+  G4DeuteronEvaporationChannel();
 
   // destructor
-  ~G4DeuteronEvaporationChannel() {};
+  virtual ~G4DeuteronEvaporationChannel();
 
 private:
@@ -54,9 +54,6 @@
   G4DeuteronEvaporationChannel(const G4DeuteronEvaporationChannel & right);
 
-public:
   G4bool operator==(const G4DeuteronEvaporationChannel & right) const;
   G4bool operator!=(const G4DeuteronEvaporationChannel & right) const;
-
-private:
 
   G4DeuteronCoulombBarrier theCoulombBarrier;
Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4DeuteronEvaporationProbability.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4DeuteronEvaporationProbability.hh	(revision 1340)
+++ trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4DeuteronEvaporationProbability.hh	(revision 1347)
@@ -24,8 +24,14 @@
 // ********************************************************************
 //
-//J.M. Quesada (August2008). Based on:
+// $Id: G4DeuteronEvaporationProbability.hh,v 1.14 2010/11/17 11:06:03 vnivanch Exp $
+// GEANT4 tag $Name: geant4-09-04-ref-00 $
+//
+// J.M. Quesada (August2008). Based on:
 //
 // Hadronic Process: Nuclear De-excitations
 // by V. Lara (Oct 1998)
+//
+// Modified:
+// 17-11-2010 V.Ivanchenko integer Z and A
 //
 
@@ -43,5 +49,6 @@
   G4DeuteronEvaporationProbability();
 
-  ~G4DeuteronEvaporationProbability() {}
+  virtual ~G4DeuteronEvaporationProbability();
+
 private:  
   // Copy constructor
@@ -55,30 +62,27 @@
 private:
 
-  virtual G4double CrossSection(const  G4Fragment & fragment, const  G4double K);
+  virtual G4double CrossSection(const  G4Fragment & fragment, G4double K);
 
-  G4double GetOpt0(const G4double K);
-  G4double GetOpt12(const G4double K);
-  G4double GetOpt34(const G4double K);
+  G4double GetOpt0(G4double K);
+  G4double GetOpt12(G4double K);
+  G4double GetOpt34(G4double K);
 
+  virtual G4double CalcAlphaParam(const G4Fragment & fragment) ;
+ 
+  virtual G4double CalcBetaParam(const G4Fragment & fragment) ;
+ 
+  G4double CCoeficient(G4int aZ) ;
   
- virtual G4double CalcAlphaParam(const G4Fragment & fragment) ;
- 
- virtual G4double CalcBetaParam(const G4Fragment & fragment) ;
- 
-  G4double CCoeficient(const G4double aZ) ;
-  
-//data members
+  //data members
 
-      G4DeuteronCoulombBarrier theCoulombBarrier; 
+  G4DeuteronCoulombBarrier theCoulombBarrier; 
 
-      G4double ResidualA;
-      G4double ResidualZ; 
-      G4double theA;
-      G4double theZ;
-      G4double ResidualAthrd;
-      G4double FragmentA;
-      G4double FragmentAthrd;
-
-
+  G4int ResidualA;
+  G4int ResidualZ; 
+  G4int theA;
+  G4int theZ;
+  G4double ResidualAthrd;
+  G4int FragmentA;
+  G4double FragmentAthrd;
 };
 
Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4Evaporation.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4Evaporation.hh	(revision 1340)
+++ trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4Evaporation.hh	(revision 1347)
@@ -26,5 +26,5 @@
 //
 // $Id: G4Evaporation.hh,v 1.12 2010/05/11 11:34:09 vnivanch Exp $
-// GEANT4 tag $Name: geant4-09-03-ref-09 $
+// GEANT4 tag $Name: geant4-09-04-ref-00 $
 //
 // Hadronic Process: Nuclear De-excitations
Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4EvaporationChannel.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4EvaporationChannel.hh	(revision 1340)
+++ trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4EvaporationChannel.hh	(revision 1347)
@@ -24,4 +24,8 @@
 // ********************************************************************
 //
+// $Id: G4EvaporationChannel.hh,v 1.11 2010/11/17 12:19:08 vnivanch Exp $
+// GEANT4 tag $Name: geant4-09-04-ref-00 $
+//
+//
 //J.M. Quesada (August2008). Based on:
 //
@@ -29,5 +33,7 @@
 // by V. Lara (Oct 1998)
 //
-
+// 17-11-2010 V.Ivanchenko in constructor replace G4VEmissionProbability by 
+//            G4EvaporationProbability and do not new and delete probability
+//            object at each call; use G4Pow
 
 #ifndef G4EvaporationChannel_h
@@ -35,20 +41,8 @@
 
 #include "G4VEvaporationChannel.hh"
-#include "G4VEmissionProbability.hh"
 #include "G4EvaporationProbability.hh"
-#include "G4NeutronEvaporationProbability.hh"
-#include "G4ProtonEvaporationProbability.hh"
-#include "G4DeuteronEvaporationProbability.hh"
-#include "G4TritonEvaporationProbability.hh"
-#include "G4He3EvaporationProbability.hh"
-#include "G4AlphaEvaporationProbability.hh"
-#include "G4VLevelDensityParameter.hh"
 #include "G4VCoulombBarrier.hh"
-#include "G4EvaporationLevelDensityParameter.hh"
-#include "G4NucleiProperties.hh"
-#include "Randomize.hh"
-#include "G4ParticleTable.hh"
-#include "G4IonTable.hh"
 
+class G4EvaporationLevelDensityParameter;
 
 class G4EvaporationChannel : public G4VEvaporationChannel
@@ -56,24 +50,20 @@
 public:
   // constructor
-
-
-  G4EvaporationChannel(const G4int theA, const G4int theZ, const G4String & aName,
-		       G4VEmissionProbability * aEmissionStrategy,
+  G4EvaporationChannel(G4int theA, G4int theZ, const G4String & aName,
+		       G4EvaporationProbability * aEmissionStrategy,
 	               G4VCoulombBarrier * aCoulombBarrier);
 public:
   // destructor
-  ~G4EvaporationChannel();
+  virtual ~G4EvaporationChannel();
   
-  void SetEmissionStrategy(G4VEmissionProbability * aEmissionStrategy)
+  inline void SetEmissionStrategy(G4EvaporationProbability * aEmissionStrategy)
   {theEvaporationProbabilityPtr = aEmissionStrategy;}
 
-  void SetCoulombBarrierStrategy(G4VCoulombBarrier * aCoulombBarrier)
+  inline void SetCoulombBarrierStrategy(G4VCoulombBarrier * aCoulombBarrier)
   {theCoulombBarrierPtr = aCoulombBarrier;} 
-  
-
-  
+    
 protected:
   // default constructor
-  G4EvaporationChannel() {};
+  G4EvaporationChannel();
   
 private:
@@ -93,13 +83,9 @@
   G4FragmentVector * BreakUp(const G4Fragment & theNucleus);
 
-  // void SetLevelDensityParameter(G4VLevelDensityParameter * aLevelDensity);
- 
 public:
-
 
   inline G4double GetEmissionProbability(void) const 
   {return EmissionProbability;}
-  
-  
+    
   inline G4double GetMaximalKineticEnergy(void) const 
   { return MaximalKineticEnergy; }
@@ -108,14 +94,14 @@
   
   // Calculate Binding Energy for separate fragment from nucleus
-  G4double CalcBindingEnergy(const G4int anA, const G4int aZ);
+  G4double CalcBindingEnergy(G4int anA, G4int aZ);
 
   // Calculate maximal kinetic energy that can be carried by fragment (in MeV)
-  G4double CalcMaximalKineticEnergy(const G4double U);
+  G4double CalcMaximalKineticEnergy(G4double U);
 
   // Samples fragment kinetic energy.
-    G4double  GetKineticEnergy(const G4Fragment & aFragment);
+  G4double  GetKineticEnergy(const G4Fragment & aFragment);
 
   // This has to be removed and put in Random Generator
-  G4ThreeVector IsotropicVector(const G4double Magnitude  = 1.0);
+  G4ThreeVector IsotropicVector(G4double Magnitude  = 1.0);
 
 	// Data Members
@@ -132,18 +118,18 @@
   G4int theZ;
 
+  G4double EvaporatedMass;
+  G4double ResidualMass;
 
   // For evaporation probability calcualation
-  G4VEmissionProbability * theEvaporationProbabilityPtr;
+  G4EvaporationProbability * theEvaporationProbabilityPtr;
 
   // For Level Density calculation
- // G4bool MyOwnLevelDensity;
+  // G4bool MyOwnLevelDensity;
   G4VLevelDensityParameter * theLevelDensityPtr;
-
 
   // For Coulomb Barrier calculation
   G4VCoulombBarrier * theCoulombBarrierPtr;
   G4double CoulombBarrier;
-  
- 
+   
   //---------------------------------------------------
 
@@ -161,8 +147,6 @@
   G4double EmissionProbability;
 
-
   // Maximal Kinetic Energy that can be carried by fragment
   G4double MaximalKineticEnergy;
-
 
 };
Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4EvaporationDefaultGEMFactory.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4EvaporationDefaultGEMFactory.hh	(revision 1340)
+++ trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4EvaporationDefaultGEMFactory.hh	(revision 1347)
@@ -26,5 +26,5 @@
 //
 // $Id: G4EvaporationDefaultGEMFactory.hh,v 1.1 2009/07/27 10:20:13 vnivanch Exp $
-// GEANT4 tag $Name: geant4-09-03-ref-09 $
+// GEANT4 tag $Name: geant4-09-04-ref-00 $
 //
 // Hadronic Process: Nuclear De-excitations
Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4EvaporationFactory.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4EvaporationFactory.hh	(revision 1340)
+++ trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4EvaporationFactory.hh	(revision 1347)
@@ -26,5 +26,5 @@
 //
 // $Id: G4EvaporationFactory.hh,v 1.4 2010/04/27 11:43:16 vnivanch Exp $
-// GEANT4 tag $Name: geant4-09-03-ref-09 $
+// GEANT4 tag $Name: geant4-09-04-ref-00 $
 //
 // Hadronic Process: Nuclear De-excitations
Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4EvaporationProbability.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4EvaporationProbability.hh	(revision 1340)
+++ trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4EvaporationProbability.hh	(revision 1347)
@@ -24,4 +24,7 @@
 // ********************************************************************
 //
+// $Id: G4EvaporationProbability.hh,v 1.13 2010/11/17 11:06:03 vnivanch Exp $
+// GEANT4 tag $Name: geant4-09-04-ref-00 $
+//
 //J.M. Quesada (August2008). Based on:
 //
@@ -44,31 +47,17 @@
 public:
   // Only available constructor
-  G4EvaporationProbability(const G4int anA, const G4int aZ, const G4double aGamma,G4VCoulombBarrier * aCoulombBarrier) : 
-    theA(anA),
-    theZ(aZ),
-    Gamma(aGamma)
-,  theCoulombBarrierptr(aCoulombBarrier) 
-  {
-    theEvapLDPptr = new G4EvaporationLevelDensityParameter;
+  G4EvaporationProbability(G4int anA, G4int aZ, G4double aGamma,
+			   G4VCoulombBarrier * aCoulombBarrier); 
 
-    
-  }
+  virtual ~G4EvaporationProbability();
 
-  ~G4EvaporationProbability() 
-  {
-    if (theEvapLDPptr != 0) delete theEvapLDPptr;
-
-  }
-
-
+  inline G4int GetZ(void) const { return theZ; }
 	
-  G4double GetZ(void) const { return theZ; }
-	
-  G4double GetA(void) const { return theA;} 
+  inline G4int GetA(void) const { return theA;} 
 
 protected:
   
   // Default constructor
-  G4EvaporationProbability() {}
+  G4EvaporationProbability();
 
 private:
@@ -82,17 +71,18 @@
 public:
 
- G4double ProbabilityDistributionFunction( const G4Fragment & aFragment, const G4double K);
+  G4double ProbabilityDistributionFunction( const G4Fragment & aFragment, G4double K);
 
- G4double EmissionProbability(const G4Fragment & fragment, const G4double anEnergy);
+  G4double EmissionProbability(const G4Fragment & fragment, G4double anEnergy);
 
 private:
 
-  G4double CalculateProbability(const G4Fragment & fragment, const G4double MaximalKineticEnergy );
+  G4double CalculateProbability(const G4Fragment & fragment, G4double MaximalKineticEnergy );
 
-  G4double IntegrateEmissionProbability(const G4Fragment & aFragment, const G4double & Low, const G4double & Up );
+  G4double IntegrateEmissionProbability(const G4Fragment & aFragment, 
+					const G4double & Low, const G4double & Up );
 
 protected:
 
- virtual G4double CrossSection( const  G4Fragment & fragment, const G4double K )= 0;  
+ virtual G4double CrossSection( const  G4Fragment & fragment, G4double K )= 0;  
 
  virtual G4double CalcAlphaParam(const G4Fragment & fragment)=0 ;
@@ -102,8 +92,5 @@
 private:
 
-  // Data Members
-
-  G4VLevelDensityParameter * theEvapLDPptr;
-	
+  // Data Members	
   G4int theA;
   G4int theZ;
@@ -113,12 +100,8 @@
   G4double Gamma;
 
-//The Coulomb Barrier
-         G4VCoulombBarrier * theCoulombBarrierptr;
-
+  //The Coulomb Barrier
+  G4VCoulombBarrier * theCoulombBarrierptr;
 
 };
 
-
-
-
 #endif
Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4He3EvaporationChannel.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4He3EvaporationChannel.hh	(revision 1340)
+++ trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4He3EvaporationChannel.hh	(revision 1347)
@@ -25,10 +25,11 @@
 //
 //
-// $Id: G4He3EvaporationChannel.hh,v 1.8 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-03-ref-09 $
+// $Id: G4He3EvaporationChannel.hh,v 1.9 2010/11/17 12:14:59 vnivanch Exp $
+// GEANT4 tag $Name: geant4-09-04-ref-00 $
 //
 // Hadronic Process: Nuclear De-excitations
 // by V. Lara (Nov. 1999)
 //
+// 17-11-2010 V.Ivanchenko moved constructor and destructor to source and cleanup
 
 #ifndef G4He3EvaporationChannel_h
@@ -43,22 +44,19 @@
 public:
   // only available constructor
-  G4He3EvaporationChannel() : G4EvaporationChannel(3,2,"He3",
-						   &theEvaporationProbability,&theCoulombBarrier) {};
+  G4He3EvaporationChannel();
 
   // destructor
-  ~G4He3EvaporationChannel() {};
+  virtual ~G4He3EvaporationChannel();
 
 private:
+
   const G4He3EvaporationChannel & operator=(const G4He3EvaporationChannel & right);  
 
   G4He3EvaporationChannel(const G4He3EvaporationChannel & right);
 
-public:
   G4bool operator==(const G4He3EvaporationChannel & right) const;
   G4bool operator!=(const G4He3EvaporationChannel & right) const;
 
-private:
-
-    G4He3CoulombBarrier theCoulombBarrier;
+  G4He3CoulombBarrier theCoulombBarrier;
 	
   G4He3EvaporationProbability theEvaporationProbability;
Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4He3EvaporationProbability.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4He3EvaporationProbability.hh	(revision 1340)
+++ trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4He3EvaporationProbability.hh	(revision 1347)
@@ -24,8 +24,14 @@
 // ********************************************************************
 //
-//J.M. Quesada (August2008). Based on:
+// $Id: G4He3EvaporationProbability.hh,v 1.14 2010/11/17 11:06:03 vnivanch Exp $
+// GEANT4 tag $Name: geant4-09-04-ref-00 $
+//
+// J.M. Quesada (August2008). Based on:
 //
 // Hadronic Process: Nuclear De-excitations
 // by V. Lara (Oct 1998)
+//
+// Modified:
+// 17-11-2010 V.Ivanchenko integer Z and A
 //
 #ifndef G4He3EvaporationProbability_h
@@ -42,5 +48,6 @@
   G4He3EvaporationProbability();
 
-  ~G4He3EvaporationProbability() {}
+  virtual ~G4He3EvaporationProbability();
+
 private:  
   // Copy constructor
@@ -51,33 +58,29 @@
   G4bool operator!=(const G4He3EvaporationProbability &right) const;
 
-
 private:
 
-  virtual G4double CrossSection(const  G4Fragment & fragment, const  G4double K);
+  virtual G4double CrossSection(const  G4Fragment & fragment, G4double K);
 
-  G4double GetOpt0(const G4double K);
-  G4double GetOpt12(const G4double K);
-  G4double GetOpt34(const G4double K);
+  G4double GetOpt0(G4double K);
+  G4double GetOpt12(G4double K);
+  G4double GetOpt34(G4double K);
 
+  virtual G4double CalcAlphaParam(const G4Fragment & fragment) ;
+ 
+  virtual G4double CalcBetaParam(const G4Fragment & fragment) ;
+ 
+  G4double CCoeficient(G4int aZ) ;
   
- virtual G4double CalcAlphaParam(const G4Fragment & fragment) ;
- 
- virtual G4double CalcBetaParam(const G4Fragment & fragment) ;
- 
-  G4double CCoeficient(const G4double aZ) ;
-  
-//data members
+  //data members
    
-      G4He3CoulombBarrier theCoulombBarrier;
+  G4He3CoulombBarrier theCoulombBarrier;
 
-      G4double ResidualA;
-      G4double ResidualZ; 
-      G4double theA;
-      G4double theZ;
-      G4double ResidualAthrd;
-      G4double FragmentA;
-      G4double FragmentAthrd;
-
-
+  G4int ResidualA;
+  G4int ResidualZ; 
+  G4int theA;
+  G4int theZ;
+  G4double ResidualAthrd;
+  G4int FragmentA;
+  G4double FragmentAthrd;
 };
 
Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4NeutronEvaporationChannel.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4NeutronEvaporationChannel.hh	(revision 1340)
+++ trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4NeutronEvaporationChannel.hh	(revision 1347)
@@ -25,10 +25,11 @@
 //
 //
-// $Id: G4NeutronEvaporationChannel.hh,v 1.8 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-03-ref-09 $
+// $Id: G4NeutronEvaporationChannel.hh,v 1.9 2010/11/17 12:14:59 vnivanch Exp $
+// GEANT4 tag $Name: geant4-09-04-ref-00 $
 //
 // Hadronic Process: Nuclear De-excitations
 // by V. Lara (Nov. 1999)
 //
+// 17-11-2010 V.Ivanchenko moved constructor and destructor to source and cleanup
 
 #ifndef G4NeutronEvaporationChannel_h
@@ -43,22 +44,19 @@
 public:
   // only available constructor
-  G4NeutronEvaporationChannel() : G4EvaporationChannel(1,0,"neutron",
-						       &theEvaporationProbability,&theCoulombBarrier) {};
+  G4NeutronEvaporationChannel();
 
   // destructor
-  ~G4NeutronEvaporationChannel() {};
+  virtual ~G4NeutronEvaporationChannel();
 
 private:
+
   const G4NeutronEvaporationChannel & operator=(const G4NeutronEvaporationChannel & right);  
 
   G4NeutronEvaporationChannel(const G4NeutronEvaporationChannel & right);
 
-public:
   G4bool operator==(const G4NeutronEvaporationChannel & right) const;
   G4bool operator!=(const G4NeutronEvaporationChannel & right) const;
 
-private:
-
- G4NeutronCoulombBarrier theCoulombBarrier;
+  G4NeutronCoulombBarrier theCoulombBarrier;
 	
   G4NeutronEvaporationProbability theEvaporationProbability;
Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4NeutronEvaporationProbability.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4NeutronEvaporationProbability.hh	(revision 1340)
+++ trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4NeutronEvaporationProbability.hh	(revision 1347)
@@ -24,8 +24,14 @@
 // ********************************************************************
 //
-//J.M. Quesada (August2008). Based on:
+// $Id: G4NeutronEvaporationProbability.hh,v 1.15 2010/11/17 11:06:03 vnivanch Exp $
+// GEANT4 tag $Name: geant4-09-04-ref-00 $
+//
+// J.M. Quesada (August2008). Based on:
 //
 // Hadronic Process: Nuclear De-excitations
 // by V. Lara (Oct 1998)
+//
+// Modified:
+// 17-11-2010 V.Ivanchenko integer Z and A
 //
 
@@ -43,5 +49,6 @@
   G4NeutronEvaporationProbability();
 		
-  ~G4NeutronEvaporationProbability() {}
+  virtual ~G4NeutronEvaporationProbability();
+
 private:  
   
@@ -54,29 +61,24 @@
 private:
 
-  virtual G4double CrossSection(const  G4Fragment & fragment, const  G4double K);
+  virtual G4double CrossSection(const  G4Fragment & fragment, G4double K);
 
-  G4double GetOpt12(const G4double K);
-  G4double GetOpt34(const G4double K);
+  G4double GetOpt12(G4double K);
+  G4double GetOpt34(G4double K);
 
- virtual G4double CalcAlphaParam(const G4Fragment & fragment);
+  virtual G4double CalcAlphaParam(const G4Fragment & fragment);
  
- virtual G4double CalcBetaParam(const G4Fragment & fragment);
+  virtual G4double CalcBetaParam(const G4Fragment & fragment);
  
-  
-//data members
+  //data members
 
-      G4NeutronCoulombBarrier theCoulombBarrier; 
+  G4NeutronCoulombBarrier theCoulombBarrier; 
 
-      G4double ResidualA;
-      G4double ResidualZ; 
-      G4double theA;
-      G4double theZ;
-      G4double ResidualAthrd;
-      G4double FragmentA;
-      G4double FragmentAthrd;
-
-
-
-
+  G4int ResidualA;
+  G4int ResidualZ; 
+  G4int theA;
+  G4int theZ;
+  G4double ResidualAthrd;
+  G4int FragmentA;
+  G4double FragmentAthrd;
 };
 
Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4ProtonEvaporationChannel.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4ProtonEvaporationChannel.hh	(revision 1340)
+++ trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4ProtonEvaporationChannel.hh	(revision 1347)
@@ -25,10 +25,11 @@
 //
 //
-// $Id: G4ProtonEvaporationChannel.hh,v 1.8 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-03-ref-09 $
+// $Id: G4ProtonEvaporationChannel.hh,v 1.9 2010/11/17 12:14:59 vnivanch Exp $
+// GEANT4 tag $Name: geant4-09-04-ref-00 $
 //
 // Hadronic Process: Nuclear De-excitations
 // by V. Lara (Nov. 1999)
 //
+// 17-11-2010 V.Ivanchenko moved constructor and destructor to source and cleanup
 
 #ifndef G4ProtonEvaporationChannel_h
@@ -43,23 +44,19 @@
 public:
   // only available constructor
-  G4ProtonEvaporationChannel() : G4EvaporationChannel(1,1,"proton",
-						      &theEvaporationProbability,&theCoulombBarrier) {};
+  G4ProtonEvaporationChannel();
 
   // destructor
-  ~G4ProtonEvaporationChannel() {};
+  virtual ~G4ProtonEvaporationChannel();
 
 private:
+
   const G4ProtonEvaporationChannel & operator=(const G4ProtonEvaporationChannel & right);  
 
   G4ProtonEvaporationChannel(const G4ProtonEvaporationChannel & right);
 
-public:
   G4bool operator==(const G4ProtonEvaporationChannel & right) const;
   G4bool operator!=(const G4ProtonEvaporationChannel & right) const;
 
-
-private:
-
-   G4ProtonCoulombBarrier  theCoulombBarrier;
+  G4ProtonCoulombBarrier  theCoulombBarrier;
  
   G4ProtonEvaporationProbability  theEvaporationProbability;
Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4ProtonEvaporationProbability.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4ProtonEvaporationProbability.hh	(revision 1340)
+++ trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4ProtonEvaporationProbability.hh	(revision 1347)
@@ -24,8 +24,14 @@
 // ********************************************************************
 //
-//J.M. Quesada (August2008). Based on:
+// $Id: G4ProtonEvaporationProbability.hh,v 1.14 2010/11/17 11:06:03 vnivanch Exp $
+// GEANT4 tag $Name: geant4-09-04-ref-00 $
+//
+// J.M. Quesada (August2008). Based on:
 //
 // Hadronic Process: Nuclear De-excitations
 // by V. Lara (Oct 1998)
+//
+// Modified:
+// 17-11-2010 V.Ivanchenko integer Z and A
 //
 
@@ -43,5 +49,6 @@
   G4ProtonEvaporationProbability();
 
-  ~G4ProtonEvaporationProbability() {}
+  virtual ~G4ProtonEvaporationProbability();
+
 private:  
   // Copy constructor
@@ -52,36 +59,31 @@
   G4bool operator!=(const G4ProtonEvaporationProbability &right) const;
 
-
 private:
 
-  virtual G4double CrossSection(const  G4Fragment & fragment, const  G4double K);
+  virtual G4double CrossSection(const  G4Fragment & fragment, G4double K);
 
-  G4double GetOpt0(const G4double K);
-  G4double GetOpt1(const G4double K);
-  G4double GetOpt2(const G4double K);
-  G4double GetOpt3(const G4double K);
+  G4double GetOpt0(G4double K);
+  G4double GetOpt1(G4double K);
+  G4double GetOpt2(G4double K);
+  G4double GetOpt3(G4double K);
 
+  virtual G4double CalcAlphaParam(const G4Fragment & fragment)  ;
+ 
+  virtual G4double CalcBetaParam(const G4Fragment & fragment) ;
+ 
+  G4double CCoeficient(G4int aZ) ;
   
- virtual G4double CalcAlphaParam(const G4Fragment & fragment)  ;
- 
- virtual G4double CalcBetaParam(const G4Fragment & fragment) ;
- 
-  G4double CCoeficient(const G4double aZ) ;
-  
-//data members
+  //data members
 
-      G4ProtonCoulombBarrier theCoulombBarrier; 
+  G4ProtonCoulombBarrier theCoulombBarrier; 
 
-      G4double ResidualA;
-      G4double ResidualZ; 
-      G4double theA;
-      G4double theZ;
-      G4double ResidualAthrd;
-      G4double FragmentA;
-      G4double FragmentAthrd;
-      G4double U;
-
-
-
+  G4int ResidualA;
+  G4int ResidualZ; 
+  G4int theA;
+  G4int theZ;
+  G4double ResidualAthrd;
+  G4int FragmentA;
+  G4double FragmentAthrd;
+  G4double U;
 
 };
Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4TritonEvaporationChannel.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4TritonEvaporationChannel.hh	(revision 1340)
+++ trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4TritonEvaporationChannel.hh	(revision 1347)
@@ -25,10 +25,11 @@
 //
 //
-// $Id: G4TritonEvaporationChannel.hh,v 1.8 2008/09/19 13:32:54 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-03-ref-09 $
+// $Id: G4TritonEvaporationChannel.hh,v 1.9 2010/11/17 12:14:59 vnivanch Exp $
+// GEANT4 tag $Name: geant4-09-04-ref-00 $
 //
 // Hadronic Process: Nuclear De-excitations
 // by V. Lara (Nov. 1999)
 //
+// 17-11-2010 V.Ivanchenko moved constructor and destructor to source and cleanup
 
 #ifndef G4TritonEvaporationChannel_h
@@ -43,9 +44,8 @@
 public:
   // only available constructor
-  G4TritonEvaporationChannel() : G4EvaporationChannel(3,1,"triton",
-						      &theEvaporationProbability,&theCoulombBarrier) {};
+  G4TritonEvaporationChannel();
 
   // destructor
-  ~G4TritonEvaporationChannel() {};
+  virtual ~G4TritonEvaporationChannel();
 
 private:
@@ -54,9 +54,6 @@
   G4TritonEvaporationChannel(const G4TritonEvaporationChannel & right);
 
-public:
   G4bool operator==(const G4TritonEvaporationChannel & right) const;
   G4bool operator!=(const G4TritonEvaporationChannel & right) const;
-
-private:
 
   G4TritonCoulombBarrier theCoulombBarrier;
Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4TritonEvaporationProbability.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4TritonEvaporationProbability.hh	(revision 1340)
+++ trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4TritonEvaporationProbability.hh	(revision 1347)
@@ -24,9 +24,16 @@
 // ********************************************************************
 //
-//J.M. Quesada (August2008). Based on:
+// $Id: G4TritonEvaporationProbability.hh,v 1.14 2010/11/17 11:06:03 vnivanch Exp $
+// GEANT4 tag $Name: geant4-09-04-ref-00 $
+//
+// J.M. Quesada (August2008). Based on:
 //
 // Hadronic Process: Nuclear De-excitations
 // by V. Lara (Oct 1998)
 //
+// Modified:
+// 17-11-2010 V.Ivanchenko integer Z and A
+
+
 #ifndef G4TritonEvaporationProbability_h
 #define G4TritonEvaporationProbability_h 1
@@ -42,5 +49,6 @@
   G4TritonEvaporationProbability();
 
-  ~G4TritonEvaporationProbability() {}
+  virtual ~G4TritonEvaporationProbability();
+
 private:  
   // Copy constructor
@@ -54,35 +62,31 @@
 private:
 
-  virtual G4double CrossSection(const  G4Fragment & fragment, const  G4double K);
+  virtual G4double CrossSection(const G4Fragment & fragment, G4double K);
 
-  G4double GetOpt0(const G4double K);
-  G4double GetOpt12(const G4double K);
-  G4double GetOpt34(const G4double K);
+  G4double GetOpt0(G4double K);
+  G4double GetOpt12(G4double K);
+  G4double GetOpt34(G4double K);
 
   
- virtual G4double CalcAlphaParam(const G4Fragment & fragment)  ;
+  virtual G4double CalcAlphaParam(const G4Fragment & fragment)  ;
  
- virtual G4double CalcBetaParam(const G4Fragment & fragment)  ;
+  virtual G4double CalcBetaParam(const G4Fragment & fragment)  ;
  
-  G4double CCoeficient(const G4double aZ) ;
+  G4double CCoeficient(G4int aZ) ;
   
-//data members
+  //data members
+      
+  G4TritonCoulombBarrier theCoulombBarrier;
 
-      
-      G4TritonCoulombBarrier theCoulombBarrier;
-
-      G4double ResidualA;
-      G4double ResidualZ; 
-      G4double theA;
-      G4double theZ;
-      G4double ResidualAthrd;
-      G4double FragmentA;
-      G4double FragmentAthrd;
-
+  G4int ResidualA;
+  G4int ResidualZ; 
+  G4int theA;
+  G4int theZ;
+  G4double ResidualAthrd;
+  G4int FragmentA;
+  G4double FragmentAthrd;
 
 };
 
-
 #endif
 
-
Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4UnstableFragmentBreakUp.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4UnstableFragmentBreakUp.hh	(revision 1340)
+++ trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4UnstableFragmentBreakUp.hh	(revision 1347)
@@ -25,5 +25,5 @@
 //
 // $Id: G4UnstableFragmentBreakUp.hh,v 1.2 2010/05/11 11:26:15 vnivanch Exp $
-// GEANT4 tag $Name: geant4-09-03-ref-09 $
+// GEANT4 tag $Name: geant4-09-04-ref-00 $
 //
 // -------------------------------------------------------------------
Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4VEvaporation.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4VEvaporation.hh	(revision 1340)
+++ trunk/source/processes/hadronic/models/de_excitation/evaporation/include/G4VEvaporation.hh	(revision 1347)
@@ -24,7 +24,6 @@
 // ********************************************************************
 //
-//
-// $Id: G4VEvaporation.hh,v 1.6 2010/04/27 14:00:40 vnivanch Exp $
-// GEANT4 tag $Name: geant4-09-03-ref-09 $
+// $Id: G4VEvaporation.hh,v 1.8 2010/11/17 11:06:03 vnivanch Exp $
+// GEANT4 tag $Name: geant4-09-04-ref-00 $
 //
 // Hadronic Process: Nuclear De-excitations
@@ -66,7 +65,8 @@
   // for superimposed Coulomb Barrier for inverse cross sections 	
   inline void UseSICB(G4bool use) { useSICB = use; }	
+
 protected:
-   G4int OPTxs;
-   G4bool useSICB;
+  G4int OPTxs;
+  G4bool useSICB;
 
 };
