Index: trunk/source/processes/hadronic/models/binary_cascade/test/BinaryLightIonReaction.cc
===================================================================
--- trunk/source/processes/hadronic/models/binary_cascade/test/BinaryLightIonReaction.cc	(revision 1350)
+++ 	(revision )
@@ -1,345 +1,0 @@
-//
-// ********************************************************************
-// * DISCLAIMER                                                       *
-// *                                                                  *
-// * The following disclaimer summarizes all the specific disclaimers *
-// * of contributors to this software. The specific disclaimers,which *
-// * govern, are listed with their locations in:                      *
-// *   http://cern.ch/geant4/license                                  *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.                                                             *
-// *                                                                  *
-// * This  code  implementation is the  intellectual property  of the *
-// * GEANT4 collaboration.                                            *
-// * By copying,  distributing  or modifying the Program (or any work *
-// * based  on  the Program)  you indicate  your  acceptance of  this *
-// * statement, and all its terms.                                    *
-// ********************************************************************
-//
-//
-// $Id: BinaryLightIonReaction.cc,v 1.11 2004/06/03 15:39:54 hpw Exp $
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-// Johannes Peter Wellisch, 22.Apr 1997: full test-suite coded.    
-#include "G4ios.hh"
-#include <fstream>
-#include <iomanip>
- 
-#include "G4Material.hh"
- 
-#include "G4GRSVolume.hh"
-#include "G4ProcessManager.hh"
-#include "G4HadronInelasticProcess.hh"
- 
-#include "G4IonInelasticProcess.hh"
-#include "G4BinaryLightIonReaction.hh"
-
-#include "G4DynamicParticle.hh"
-#include "G4LeptonConstructor.hh"
-#include "G4BaryonConstructor.hh"
-#include "G4MesonConstructor.hh"
-#include "G4IonConstructor.hh"
-
-#include "G4Box.hh"
-#include "G4PVPlacement.hh"
-
-#include "G4Step.hh"
-#include "G4StepPoint.hh"
-
-#include "G4TripathiCrossSection.hh"
-
- // forward declarations
- 
- G4int sortEnergies( const double Px, const double Py, const double Pz,
-                     const double Ekin, double* sortedPx, double* sortedPy,
-                     double* sortedPz, double* sortedE );
- 
- // here comes the code
- 
- G4int sortEnergies( const double Px, const double Py, const double Pz,
-                     const double Ekin, double* sortedPx, double* sortedPy,
-                     double* sortedPz, double* sortedE)
-  {
-    for( int i=0; i<10; ++i ) {
-      if( abs(Ekin) > sortedE[i] ) {
-        sortedE[i]  = Ekin;
-        sortedPx[i] = Px;
-        sortedPy[i] = Py;
-        sortedPz[i] = Pz;
-        return 1;
-      }
-    }
-    return 0;
-  }
-
-// extern "C" int ecpt();
- 
- int main()
-  {
-
-//    ecpt();
-    
-    G4cout.setf( std::ios::scientific, std::ios::floatfield );
-    std::ofstream outFile( "InInelasticAlpha.listing.GetMeanFreePath", std::ios::out);
-    outFile.setf( std::ios::scientific, std::ios::floatfield );
-    std::ofstream outFile1( "InInelasticAlpha.listing.DoIt", std::ios::out);
-    outFile1.setf( std::ios::scientific, std::ios::floatfield );
-
-    G4String name, symbol;
-    G4double a, iz, z, density;
-    G4int nEl, nIso;
-    
- // constructing the particles
- 
- G4LeptonConstructor aC1;
- G4BaryonConstructor aC2;
- G4MesonConstructor aC3;
- G4IonConstructor aC4;
- 
- aC1.ConstructParticle();
- aC2.ConstructParticle();
- aC3.ConstructParticle();
- aC4.ConstructParticle();
-
-    G4int numberOfMaterials=1;
-    G4Material* theMaterials[2000];    
-    
-     G4cout << "Please specify A, Z"<<G4endl;
-     G4cin >> a >> iz;
-     G4Material *theMaterial = new G4Material(name="stuff", density=18.95*g/cm3, nEl=1);
-     G4Element  *theElement  = new G4Element (name="stuff", symbol="Z", iz, a*g/mole);
-     theMaterial->AddElement( theElement, 1 );
-     theMaterials[25] = theMaterial;
-
-    G4cout << "Please enter material number"<<G4endl;
-    G4int inputNumber = 25;
-    theMaterials[0]=theMaterials[inputNumber];
-    G4cout << "Active Material = " << theMaterials[0]->GetName()<<G4endl;
-    G4cin >> inputNumber;
-    // ----------- here all material have been defined -----------
-    
-//    G4Element::DumpInfo(); 
-//    G4Material::DumpInfo();
-    
-    // ----------- the following is needed for building a track...... ------------
-    
-    static const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable();
-    G4int imat = 0;   
-    G4Box* theFrame = new G4Box ("Frame",10*m, 10*m, 10*m);
-    
-    G4LogicalVolume* LogicalFrame = new G4LogicalVolume(theFrame, (*theMaterialTable)[imat],
-                                                       "LFrame", 0, 0, 0);
-    
-    G4PVPlacement* PhysicalFrame = new G4PVPlacement(0,G4ThreeVector(),
-                                                    "PFrame",LogicalFrame,0,false,0);
-    G4RotationMatrix theNull;
-    G4ThreeVector theCenter(0,0,0);
-    G4GRSVolume * theTouchable = new G4GRSVolume(PhysicalFrame, &theNull, theCenter);
-    G4TouchableHandle theTouchableHandle(theTouchable);
-    // ----------- now get all particles of interest ---------
-   G4int numberOfParticles = 1;
-   G4ParticleDefinition* theParticles[1];
-   G4cout << "Please enter the projectile A, Z"<<G4endl;
-   G4cin >> a >> z;
-   G4ParticleDefinition* theIon = G4ParticleTable::GetParticleTable()->FindIon(z, a, 0, z);
-   theParticles[0]=theIon;
-   
-   //------ here all the particles are Done ----------
-   G4cout << "Done with all the particles" << G4endl;
-   G4cout << "Starting process definitions" << G4endl;
-   //--------- Processes definitions ---------
-   G4IonInelasticProcess* theProcesses[1];
-      
-   G4ProcessManager* theIonProcessManager = new G4ProcessManager(theIon);
-   theIon->SetProcessManager(theIonProcessManager);
-   G4IonInelasticProcess theInelasticProcess; 
-   G4BinaryLightIonReaction theIonModel;
-//   G4TripathiCrossSection theXSec;
-//   theInelasticProcess.GetCrossSectionDataStore()->AddDataSet(&theXSec);
-
-//   theInelasticProcess.RegisterMe(theTheoModel);
-   theInelasticProcess.RegisterMe(&theIonModel);
-   theIonProcessManager->AddDiscreteProcess(&theInelasticProcess);
-   theProcesses[0] = &theInelasticProcess;
-   
-   G4ForceCondition* condition = new G4ForceCondition;
-   *condition = NotForced;
-
-   G4cout << "Done with all the process definitions"<<G4endl;
-   //   G4cout << "Building the CrossSection Tables. This will take a while"<<G4endl;
-   
-   // ----------- define energies of interest ----------------
-      
-   // ----------- needed to Build a Step, and a track -------------------
-   
-   G4ParticleMomentum theDirection(1.,0.,0.);
-   G4ThreeVector aPosition(0.,0.,0.);
-   G4double aTime = 0.0;
-   
-   // --------- Test the GetMeanFreePath
-   
-   G4StepPoint * aPreStepPoint, * aPostStepPoint;
-   G4Step aStep;
-   aPreStepPoint= aStep.GetPreStepPoint();
-   G4double meanFreePath;
-   G4double incomingEnergy;
-   G4int k, i, l, hpw = 0;   
-   // --------- Test the PostStepDoIt now, 10 events each --------------
-   G4cout << "Entering the DoIt loops!!!!!"<< G4endl;
-   G4ParticleChange* aFinalState;
-   G4cout << "Test the DoIt: please enter the number of events"<<G4endl;
-   G4int ll0;
-   G4cin >> ll0;
-//   G4cout <<"Now debug the DoIt: enter the problem event number"<< G4endl;
-   G4int debugThisOne=1;
-//   G4cin >> debugThisOne;
-   G4cout << "Please enter the projectile energy [AMeV]"<<G4endl;
-   G4cin >> incomingEnergy;
-   incomingEnergy*=a;
-   G4int errorOne;
-   G4cout << "Please enter the problematic event number"<<G4endl;
-   G4cin >> errorOne;
-   for (i=0; i<numberOfParticles; i++)
-   {
-     outFile << G4endl
-             << "New particle type: " << theParticles[i]->GetParticleName()
-             << " " << i << G4endl;
-     for ( G4int k=0; k<numberOfMaterials; k++)
-     {
-       outFile << G4endl << "Entering Material " << theMaterials[0]->GetName()
-               << " for particle " << theParticles[i]->GetParticleName() << G4endl;
-       LogicalFrame->SetMaterial(theMaterials[0]); 
-//       for( G4int j=0; j<numberOfEnergies; ++j )
-int j = 0;
-       {
-         for( G4int l=0; l<ll0; ++l )
-         {
-//           incomingEnergy=theEnergies[j];
-           G4DynamicParticle* aParticle =
-             new G4DynamicParticle( theParticles[i], theDirection, incomingEnergy );
-           G4Track* aTrack = new G4Track( aParticle, aTime, aPosition );
-           aTrack->SetTouchableHandle(theTouchableHandle);
-           aStep.SetTrack( aTrack );
-	   aPreStepPoint = aStep.GetPreStepPoint();
-	   aPostStepPoint = aStep.GetPostStepPoint();
-           aPreStepPoint->SetTouchableHandle(theTouchableHandle);
-	   aPreStepPoint->SetMaterial(theMaterials[0]);
-           aPostStepPoint->SetTouchableHandle(theTouchableHandle);
-	   aPostStepPoint->SetMaterial(theMaterials[0]);
-//          aStep.SetPreStepPoint(aPreStepPoint);
-//	    aStep.SetPostStepPoint(aPostStepPoint);
-	   aTrack->SetStep(&aStep);
-           ++hpw;
-           if(hpw == 1*(hpw/1))
-           G4cerr << "FINAL EVENTCOUNTER=" << hpw
-                << " current energy: " << incomingEnergy
-                << " of particle " << aParticle->GetDefinition()->GetParticleName() 
-                << " in material " << theMaterials[k]->GetName() << G4endl;
-	   if(hpw == errorOne)
-	   {
-	      hpw --;
-	      hpw ++;
-	   }
-           G4cout << "Last chance before DoIt call: "
-//                << theIonModel.GetNiso()
-                <<G4endl;
-           aFinalState = (G4ParticleChange*)  (theProcesses[i]->PostStepDoIt( *aTrack, aStep ));
-           G4cout << "NUMBER OF SECONDARIES="<<aFinalState->GetNumberOfSecondaries();
-           G4double theFSEnergy = aFinalState->GetEnergyChange();
-           G4ThreeVector * theFSMomentum= const_cast<G4ThreeVector *>
-	                                  (aFinalState->GetMomentumChange());
-           G4cout << "FINAL STATE = "<<theFSEnergy<<" ";
-           G4cout <<*theFSMomentum<<G4endl;
-           G4Track * second;
-           G4DynamicParticle * aSec;
-           G4int isec;
-	   G4double QValue = 0;
-	   G4double QValueM1 = 0;
-	   G4double QValueM2 = 0;
-	   if(aFinalState->GetStatusChange() == fAlive)
-	   {
-	     QValue += aFinalState->GetEnergyChange();
-	     if(theParticles[i]->GetBaryonNumber()<0) QValue+= 2.*theParticles[i]->GetPDGMass();
-	   }
-           G4double esec(0);
-	   G4ThreeVector psec(0);
-           for(isec=0;isec<aFinalState->GetNumberOfSecondaries();isec++)
-           {
-             second = aFinalState->GetSecondary(isec);
-             aSec = const_cast<G4DynamicParticle *> (second->GetDynamicParticle());
-	     esec+= aSec->GetTotalEnergy();
-	     psec+= aSec->GetMomentum();
-             G4cout << aSec->GetTotalEnergy()<<" ";
-             G4cout << aSec->GetMomentum().x()<<" ";
-             G4cout << aSec->GetMomentum().y()<<" ";
-             G4cout << aSec->GetMomentum().z()<<" ";
-             G4cout << aSec->GetDefinition()->GetPDGEncoding()<<" ";
-	     G4cout << (1-isec)*aFinalState->GetNumberOfSecondaries()<<" ";
-	     G4cout << aSec->GetDefinition()->GetParticleName()<<" ";
-             G4cout << "SECONDARIES info";
-	     G4cout << G4endl;
-	     if(aSec->GetDefinition()->GetParticleType() == "baryon")
-	     { 
-	       if(aSec->GetDefinition()->GetBaryonNumber() < 0)
-	       {
-                 QValue += aSec->GetTotalEnergy();
-                 QValue += G4Neutron::Neutron()->GetPDGMass();
- 	         if(isec!=0) QValueM1 += aSec->GetTotalEnergy();
- 	         if(isec!=0) QValueM1 += aSec->GetDefinition()->GetPDGMass();
-	         if(isec>1) QValueM2 += aSec->GetTotalEnergy();
-	         if(isec>1) QValueM2 += aSec->GetDefinition()->GetPDGMass();
-//	         G4cout << "found an anti !!!" <<G4endl;
-	       }
-	       else
-	       {
-                 G4double ss = 0;
-	         ss +=aSec->GetDefinition()->GetPDGMass();
-		 if(aSec->GetDefinition() == G4Proton::Proton())
-		 {
-		   ss -=G4Proton::Proton()->GetPDGMass();
-		 }
-		 else
-		 {
-	           ss -=G4Neutron::Neutron()->GetPDGMass();
-		 }
-	         ss += aSec->GetKineticEnergy();
-	         QValue += ss;
-	         if(isec!=0) QValueM1 += ss;
-	         if(isec>1) QValueM2 += ss;
-//	         G4cout << "found a Baryon !!!" <<G4endl;
-	       }
-	     }
-	     else if(aSec->GetDefinition()->GetPDGEncoding() == 0)
-	     {
-	       QValue += aSec->GetKineticEnergy();
-//	       G4cout << "found a ion !!!" <<G4endl;
-	     }
-	     else
-	     {
-               QValue += aSec->GetTotalEnergy();
-	       if(isec!=0) QValueM1 += aSec->GetTotalEnergy();
-	       if(isec>1) QValueM2 += aSec->GetKineticEnergy();
-//	       G4cout << "found a Meson !!!" <<G4endl;
-	     }
-	     delete second;
-           }
-	   G4cout << "QVALUE = "<<QValue<<" "<<hpw<<" ";
-//	   G4cout <<QValueM1<<" "<<QValueM2<<" "
-	   G4cout <<G4endl;
-	   G4cout <<"Event Total e/p " << esec/MeV << " " << psec/MeV<< G4endl;
-          delete aParticle;
-           delete aTrack;
-           aFinalState->Clear();
-         }  // event loop
-       }  // energy loop
-     }  // material loop
-   }  // particle loop
-   G4cout << G4endl <<"Light-ION-SUCESS" <<G4endl;
-   return EXIT_SUCCESS;
-}
-
-
Index: trunk/source/processes/hadronic/models/binary_cascade/test/G4AbsorberTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/binary_cascade/test/G4AbsorberTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,126 +1,0 @@
-//
-// ********************************************************************
-// * DISCLAIMER                                                       *
-// *                                                                  *
-// * The following disclaimer summarizes all the specific disclaimers *
-// * of contributors to this software. The specific disclaimers,which *
-// * govern, are listed with their locations in:                      *
-// *   http://cern.ch/geant4/license                                  *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.                                                             *
-// *                                                                  *
-// * This  code  implementation is the  intellectual property  of the *
-// * GEANT4 collaboration.                                            *
-// * By copying,  distributing  or modifying the Program (or any work *
-// * based  on  the Program)  you indicate  your  acceptance of  this *
-// * statement, and all its terms.                                    *
-// ********************************************************************
-//
-#include "globals.hh"
-#include "G4Absorber.hh"
-#include "G4Fancy3DNucleus.hh"
-#include "G4KineticTrackVectorSTL.hh"
-#include "G4ThreeVector.hh"
-#include "G4LorentzVector.hh"
-#include "Randomize.hh"
-#include "G4PionPlus.hh"
-#include "G4LeptonConstructor.hh"
-
-
-G4V3DNucleus * the3DNucleus;
-G4KineticTrackVectorSTL theTargetList;
-
-void BuildTargetList();
-G4ThreeVector GetSpherePoint(G4double r);
-
-int main(int argc, char ** argv)
-{
-  G4LeptonConstructor leptons;
-  leptons.ConstructParticle();
-
-  G4int A, Z;
-  G4int nEvents;
-  if(argc != 4)
-  {
-    cout << "Input A and Z: ";
-    cin >> A >> Z;
-    cout << "Input number of events: ";
-    cin >> nEvents;
-  }
-  else
-  {
-    A = atoi(argv[1]);
-    Z = atoi(argv[2]);
-    nEvents = atoi(argv[3]);
-  }
-
-// create the nucleus
-  the3DNucleus = new G4Fancy3DNucleus;
-  the3DNucleus->Init(A, Z);
-// create theTargetList
-  BuildTargetList();
-// create the pion
-    G4ParticleDefinition * pion = G4PionPlus::PionPlus();
-    G4ThreeVector pos = GetSpherePoint(the3DNucleus->GetOuterRadius());
-    G4double p = 100*MeV;
-    G4double mass = pion->GetPDGMass();
-    G4LorentzVector mom(0, 0, p, sqrt(p*p+mass*mass));
-    G4KineticTrack kt(pion, 0., pos, mom);
-// create the absorber
-    G4double theCutOnP = 150*MeV;
-    G4Absorber absorber(theCutOnP);
-
-    absorber.FindAbsorbers(kt, theTargetList);
-  for(G4int i = 0; i < nEvents; ++i)
-  {
-    absorber.FindProducts(kt);
-  }
-  
-  return 0;
-}
-
-
-void BuildTargetList()
-{
-  if(!the3DNucleus->StartLoop())
-  {
-    G4cerr << "G4HadronKineticModel::BuildTargetList(): StartLoop() error!"
-	   << G4endl;
-    return;
-  }
-  G4Nucleon * nucleon;
-  G4ParticleDefinition * definition;
-  G4ThreeVector pos;
-  G4LorentzVector mom;
-  while((nucleon = the3DNucleus->GetNextNucleon()) != NULL)
-  {
-    definition = nucleon->GetDefinition();
-    pos = nucleon->GetPosition();
-    mom = nucleon->GetMomentum();
-    G4KineticTrack * kt = new G4KineticTrack(definition, 0., pos, mom);
-    theTargetList.push_back(kt);
-  }
-}
-
-
-G4ThreeVector GetSpherePoint(G4double r)
-{
-// Get the entry point of the projectile, distribuited uniformly
-// on the projection of the surface in the plane ortogonal to the direction
-// of the motion.
-  G4double b = r*G4UniformRand();  // impact parameter
-  G4double phi = G4UniformRand()*2*pi;
-  G4double x = b*cos(phi);
-  G4double y = b*sin(phi);
-  G4double z = -sqrt(r*r-b*b);
-  z *= 1.001; // Get position a little bit out of the sphere...
-  G4ThreeVector point;
-  point.setX(x);
-  point.setY(y);
-  point.setZ(z);
-  return point;
-}
Index: trunk/source/processes/hadronic/models/binary_cascade/test/G4BinaryCascadeTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/binary_cascade/test/G4BinaryCascadeTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,391 +1,0 @@
-//
-// ********************************************************************
-// * DISCLAIMER                                                       *
-// *                                                                  *
-// * The following disclaimer summarizes all the specific disclaimers *
-// * of contributors to this software. The specific disclaimers,which *
-// * govern, are listed with their locations in:                      *
-// *   http://cern.ch/geant4/license                                  *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.                                                             *
-// *                                                                  *
-// * This  code  implementation is the  intellectual property  of the *
-// * GEANT4 collaboration.                                            *
-// * By copying,  distributing  or modifying the Program (or any work *
-// * based  on  the Program)  you indicate  your  acceptance of  this *
-// * statement, and all its terms.                                    *
-// ********************************************************************
-//
-#include "G4BinaryCascade.hh"
-#include "G4Nucleus.hh"
-#include "G4Proton.hh"
-#include "G4PionPlus.hh"
-#include "G4ThreeVector.hh"
-#include "G4LorentzVector.hh"
-#include "G4DynamicParticle.hh"
-#include "G4StateManager.hh"
-
-#include "G4LeptonConstructor.hh"
-#include "G4Gamma.hh"
-
-#include "G4ExcitationHandler.hh"
-#include "G4PreCompoundModel.hh"
-
-#define APPLYYOURSELF 1
-
-/*
-#include "ResourceMgr.hh"
-// in G4BinaryCascade.cc
-ResourceMgr absorbRes;
-ResourceMgr buildTargetListRes;
-ResourceMgr findCollisionRes;
-ResourceMgr findFirstCollisionRes;
-ResourceMgr totalRes;
-ResourceMgr thePropagatorRes;
-ResourceMgr updateRes;
-ResourceMgr scattererRes;
-void PrintResourceUsage(ResourceMgr & resMgr);
-*/
-G4V3DNucleus * global3DNucleus;
-
-
-void Init(G4int code, std::vector<G4ParticleDefinition *> & particles);
-void GetParam(G4int & A, G4int & Z, G4double & pMin, G4double & pMax,
-	      G4int &nEvents, G4int & particleCode);
-G4ThreeVector GetSpherePoint(G4double r);
-G4ThreeVector GetSurfacePoint(G4double r);
-
-int main(int argc, char * argv[])
-{
-    G4StateManager* g4State=G4StateManager::GetStateManager();
-    if (! g4State->SetNewState(G4State_Init)) 
-      G4cout << "error changing G4state"<< G4endl;;   
-
-  G4String a=G4Proton::ProtonDefinition()->GetParticleName();
-  G4cout << " At Start " << a << G4endl;
-  G4cout.setf( std::ios::scientific, std::ios::floatfield );
-//  totalRes.Start();
-  G4LeptonConstructor leptons;
-  leptons.ConstructParticle();
-  G4IonConstructor ions;
-  ions.ConstructParticle();
-  const G4ParticleDefinition* proton = G4Proton::Proton();
-  const G4ParticleDefinition* neutron = G4Neutron::Neutron();
-  const G4ParticleDefinition* pin = G4PionMinus::PionMinus();
-  const G4ParticleDefinition* pip = G4PionPlus::PionPlus();
-  const G4ParticleDefinition* pi0 = G4PionZero::PionZero();
-  const G4ParticleDefinition* deu = G4Deuteron::DeuteronDefinition();
-  const G4ParticleDefinition* tri = G4Triton::TritonDefinition();
-  const G4ParticleDefinition* alp = G4Alpha::AlphaDefinition();
-  const G4ParticleDefinition* ion = G4GenericIon::GenericIon();
-  G4ParticleTable* partTable = G4ParticleTable::GetParticleTable();
-  partTable->SetReadiness();
-
-    if(!G4StateManager::GetStateManager()->SetNewState(G4State_Idle))
-      G4cout << "G4StateManager PROBLEM! " << G4endl;
-
-  G4int A, Z, nEvents, particleCode;
-  G4double pMin, pMax;
-  std::vector<G4ParticleDefinition *> particles;
-  if(argc == 7)
-  {
-    A = atoi(argv[1]);
-    Z = atoi(argv[2]);
-    pMin = G4double(atoi(argv[3]))*MeV;
-    pMax = G4double(atoi(argv[4]))*MeV;
-    nEvents = atoi(argv[5]);
-    particleCode = atoi(argv[6]);
-  }
-  else
-    GetParam(A, Z, pMin, pMax, nEvents, particleCode);
-
-  if(pMin > pMax)
-  {
-    G4double pTmp = pMin;
-    pMin = pMax;
-    pMax = pTmp;
-  }
-
-  Init(particleCode, particles);
-
-  G4BinaryCascade bic;
-  G4ExcitationHandler * excite = new G4ExcitationHandler();
-  G4VPreCompoundModel * precompound = new G4PreCompoundModel(excite);
-
-//  bic.SetDeExcitation(0);
-  bic.SetDeExcitation(precompound);
-
-
-  for(G4int event = 0; event < nEvents; ++event)
-  {
-// Get particle definition
-    G4cout << " ---- event " << event << "----------------------"<< G4endl;
-    G4double type = G4UniformRand();
-    unsigned int index = G4int(type*particles.size());
-    if(index == particles.size())  // if random gave 1!
-      --index;
-    G4ParticleDefinition * particle = particles[index];
-// position
-    G4ThreeVector pos(0, 0, -5.*fermi);
-// momentum
-    G4double p = G4UniformRand()*(pMax-pMin)+pMin;
-    G4double mass = particle->GetPDGMass();
-    G4double e = sqrt(mass*mass+p*p);
-    G4LorentzVector mom(0, p, 0, e);
-    
-    G4cout << "initial p /E . Ekin, nucleus " << p << " / " << e 
-           << " " << e-mass << " "
-	   <<G4ParticleTable::GetParticleTable()->GetIonTable()->GetIonMass(Z, A)<< G4endl;
-
-// build the nucleus
-#ifdef APPLYYOURSELF
-  //  G4Nucleus nucleus(G4double(A), G4double(Z));  // for ApplyYourself()
-  G4Nucleus nucleus(A, Z);  // for ApplyYourself()
-//  global3DNucleus = new G4Fancy3DNucleus;
-//  global3DNucleus->Init(A, Z);
-#else
-  G4V3DNucleus * fancyNucleus = new G4Fancy3DNucleus;  // for PropagateSTL()
-  fancyNucleus->Init(A, Z);
-#endif
-
-// build the projectile
-#ifdef APPLYYOURSELF
-    G4DynamicParticle * dynamic = new G4DynamicParticle(particle, mom);
-    G4double time = 0.;
-    G4Track projectile(dynamic, time, pos);
-    // needed by G4ParticleChange::Initialize(G4Track &)
-   // G4Step * step = new G4Step();
-    //step->SetStepLength(1.0*mm);
-   // projectile.SetStep(step);
-    G4HadFinalState * aFinalState = bic.ApplyYourself(projectile, nucleus);
-
-    G4double QValue = 0, Etot=0;
-    G4LorentzVector pTot = 0;
-//    G4Track * second;
-    G4HadSecondary * second;
-    const G4DynamicParticle * aSec;
-    
-    for(G4int isec=0;isec<aFinalState->GetNumberOfSecondaries();isec++)
-    {
-      second = aFinalState->GetSecondary(isec);
-      aSec = second->GetParticle();
-      G4cout << "SECONDARIES info ";
-      G4cout << aSec->GetDefinition()->GetBaryonNumber() << " ";
-      G4cout << aSec->GetTotalEnergy();
-      G4cout << aSec->GetMomentum()<< " ";
-      G4cout << (1-isec)*aFinalState->GetNumberOfSecondaries();
-      G4cout << G4endl;
-      QValue += aSec->GetKineticEnergy();
-      pTot += aSec->Get4Momentum();
-      if ( aSec->GetDefinition()->GetBaryonNumber() == 0 ) 
-      {
-      	 Etot += aSec->GetTotalEnergy();
-      } else {
-	 Etot += aSec->GetKineticEnergy();
-	 if (aSec->Get4Momentum().mag() > 0.95*GeV )
-	 {
-	      Etot += aSec->Get4Momentum().mag() - 939*MeV;
-	 }
-	    
-      } 
-      
-
-//      delete second;
-    }
-    G4cout << "QVALUE = "<<QValue<<G4endl;
-    G4cout << "Ptotal, pseudoE, exciteE = " 
-             << pTot << " " << Etot << " " << e-mass-Etot <<G4endl;
-
-    aFinalState->Clear();
-//    delete dynamic;
-//    delete step;
-
-//    change->DumpInfo();
-
-#else
-    G4double radius = fancyNucleus->GetOuterRadius();
-    G4KineticTrackVectorSTL * ktv = new G4KineticTrackVectorSTL;
-//    bic.GetSpherePoint(radius, pos); // start from the surface
-    pos = GetSpherePoint(radius); // start already inside, pos.mag()< r
-    pos = GetSurfacePoint(radius*1.01); // start outside,  pos.mag()= r*1.01
-//    pos = G4ThreeVector(1.*fermi,0.*fermi,-15.*fermi);
-    G4KineticTrack * kt = new G4KineticTrack(particle, 0., pos, mom);
-    ktv->push_back(kt);
-    G4ReactionProductVector *result=bic.PropagateSTL(ktv, fancyNucleus);
-
-//    bic.GetExcitationEnergy();
-//    std::cout << bic.GetExcitationEnergy()/MeV << endl;
-    
-    G4ReactionProductVector::iterator result_iter;
-    G4int isec=0;
-    for(result_iter = result->begin();result_iter != result->end();
-        ++result_iter)
-    {    
-       G4ThreeVector pFinal= (*result_iter)->GetMomentum();
-
-       G4cout << " Final particle # "<< ++isec << ": "
-    	     << pFinal.x() << "  "
-	     << pFinal.y() << "  "
-	     << pFinal.z() << "  "
-	     << (*result_iter)->GetTotalEnergy() << "  "
-	     << G4endl;
-     }	   
-#endif
-  }
-/*
-  totalRes.Stop();
-  std::cout << "Absorb() resources:" << endl;
-  PrintResourceUsage(absorbRes);
-  std::cout << "FindFirstCollision() resources:" << endl;
-  PrintResourceUsage(findFirstCollisionRes);
-  std::cout << "FindCollision() resources:" << endl;
-  PrintResourceUsage(findCollisionRes);
-  std::cout << "BuildTargetList() resources:" << endl;
-  PrintResourceUsage(buildTargetListRes);
-  std::cout << "thePropagator() resources:" << endl;
-  PrintResourceUsage(thePropagatorRes);
-  std::cout << "UpdateTrackAndCollisions() resources:" << endl;
-  PrintResourceUsage(updateRes);
-  std::cout << "scatterer resources:" << endl;
-  PrintResourceUsage(scattererRes);
-  std::cout << "main() resources:" << endl;
-  PrintResourceUsage(totalRes);
-*/
-//  std::cout << "Exiting" << endl;
-  std::cout.flush();
-
-  return 0;
-}
-
-/*
-
-void PrintResourceUsage(ResourceMgr & resMgr)
-{
-  double userTime = resMgr.GetUserTime();
-  double sysTime = resMgr.GetSysTime();
-  double cpuTime = userTime+sysTime;
-  std::cout << "cpu time: " << cpuTime << " (" << userTime << "+"
-       << sysTime << ")" << endl;
-}
-
-
-*/
-
-void Init(G4int code, std::vector<G4ParticleDefinition *> & particles)
-{
-  if(code == 0)
-  {
-    particles.push_back(G4Gamma::Gamma());
-    return;
-  }
-
-  G4int count = 0;
-  while(code != 0)
-  {
-    if(code & 1)
-    {
-      switch (count)
-      {
-      case 0:
-	particles.push_back(G4Proton::Proton());
-	break;
-      case 1:
-	particles.push_back(G4Neutron::Neutron());
-	break;
-      case 2:
-	particles.push_back(G4AntiProton::AntiProton());
-	break;
-      case 3:
-	particles.push_back(G4PionPlus::PionPlus());
-	break;
-      case 4:
-	particles.push_back(G4PionZero::PionZero());
-	break;
-      case 5:
-	particles.push_back(G4PionMinus::PionMinus());
-	break;
-      case 6:
-	particles.push_back(G4KaonPlus::KaonPlus());
-	break;
-      case 7:
-	particles.push_back(G4KaonZero::KaonZero());
-	break;
-      case 8:
-	particles.push_back(G4KaonMinus::KaonMinus());
-	break;
-      case 9:
-	particles.push_back(G4SigmaPlus::SigmaPlus());
-	break;
-      case 10:
-	particles.push_back(G4SigmaZero::SigmaZero());
-	break;
-      case 11:
-	particles.push_back(G4SigmaMinus::SigmaMinus());
-	break;
-      }
-    }
-    ++count;
-    code = code>>1;
-  }
-}
-
-
-void GetParam(G4int & A, G4int & Z, G4double & pMin, G4double & pMax,
-	      G4int &nEvents, G4int & particleCode)
-{
-// A and Z
-  std::cout << "Input Nucleus A and Z: ";
-  std::cin >> A >> Z;
-// initial impulse
-  std::cout << "Input min and max of |momentum|: ";
-  std::cin >> pMin >> pMax;
-// number of events
-  std::cout << "Input number of events: ";
-  std::cin >> nEvents;
-// particle code
-  std::cout << "Binary code for projectile type:" << std::endl;
-  std::cout << "1 = proton, 2 = neutron, 4 = antiproton" << std::endl;
-  std::cout << "8 = pi+, 16 = pi0, 32 = pi-" << std::endl;
-  std::cout << "64 = k+, 128 = k0, 256 = k-" << std::endl;
-  std::cout << "512 = s+, 1024 = s0, 2048 = s-" << std::endl;
-  std::cout << "       0 for photon" << std::endl;
-  std::cout << "Input projectile type (binary code): ";
-  std::cin >> particleCode;
-}
-
-
-
-
-G4ThreeVector GetSpherePoint(G4double r)
-{
-// random point INSIDE a sphere
-
-  G4double x = r*(2*G4UniformRand()-1);
-  G4double tmp = sqrt(r*r-x*x);
-  G4double y = tmp*(2*G4UniformRand()-1);
-  tmp = sqrt(r*r-x*x-y*y);
-  G4double z = tmp*(2*G4UniformRand()-1);
-  G4ThreeVector point;
-  point.setX(x);
-  point.setY(y);
-  point.setZ(z);
-  return point;
-}
-G4ThreeVector GetSurfacePoint(G4double r)
-{
-// random point oin surface of a sphere
-
-  G4double x = r*(2*G4UniformRand()-1);
-  G4double tmp = sqrt(r*r-x*x);
-  G4double y = tmp*(2*G4UniformRand()-1);
-  G4double z = -sqrt(r*r-x*x-y*y);
-  G4ThreeVector point;
-  point.setX(x);
-  point.setY(y);
-  point.setZ(z);
-  return point;
-}
Index: trunk/source/processes/hadronic/models/binary_cascade/test/G4BinaryIonTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/binary_cascade/test/G4BinaryIonTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,234 +1,0 @@
-#include "G4BinaryLightIonReaction.hh"
-#include "G4Nucleus.hh"
-#include "G4Proton.hh"
-#include "G4PionPlus.hh"
-#include "G4ThreeVector.hh"
-#include "G4LorentzVector.hh"
-#include "G4DynamicParticle.hh"
-
-#include "G4LeptonConstructor.hh"
-#include "G4IonConstructor.hh"
-#include "G4Gamma.hh"
-
-G4V3DNucleus * global3DNucleus;
-
-
-void Init(G4int code, vector<G4ParticleDefinition *> & particles);
-void GetParam(G4int & A, G4int & Z, G4double & pMin, G4double & pMax,
-	      G4int &nEvents, G4int & particleCode);
-G4ThreeVector GetSpherePoint(G4double r);
-G4ThreeVector GetSurfacePoint(G4double r);
-
-int main(int argc, char * argv[])
-{
-  G4String a=G4Proton::ProtonDefinition()->GetParticleName();
-  G4cout << " At Start " << a << G4endl;
-  G4cout.setf( std::ios::scientific, std::ios::floatfield );
-//  totalRes.Start();
-  G4LeptonConstructor leptons;
-  leptons.ConstructParticle();
-  G4IonConstructor ions;
-  ions.ConstructParticle();
-
-  G4int A, Z, nEvents, particleCode;
-  G4double pMin, pMax;
-  vector<G4ParticleDefinition *> particles;
-  if(argc == 7)
-  {
-    A = atoi(argv[1]);
-    Z = atoi(argv[2]);
-    pMin = G4double(atoi(argv[3]))*MeV;
-    pMax = G4double(atoi(argv[4]))*MeV;
-    nEvents = atoi(argv[5]);
-    particleCode = atoi(argv[6]);
-  }
-  else
-    GetParam(A, Z, pMin, pMax, nEvents, particleCode);
-
-  if(pMin > pMax)
-  {
-    G4double pTmp = pMin;
-    pMin = pMax;
-    pMax = pTmp;
-  }
-
-  Init(particleCode, particles);
-
-  G4BinaryCascade hkm;
-  hkm.SetDeExcitation(0);
-
-  for(G4int event = 0; event < nEvents; ++event)
-  {
-    G4cerr << " ---- event " << event << "----------------------"<< G4endl;
-    G4V3DNucleus * fancyNucleus = new G4Fancy3DNucleus;  // for Propagate()
-    fancyNucleus->Init(16, 8);
-    G4V3DNucleus * projectile = new G4Fancy3DNucleus;
-    projectile->Init(12, 6);
-    G4double radius = fancyNucleus->GetOuterRadius();
-    G4double impactMax = fancyNucleus->GetOuterRadius()+projectile->GetOuterRadius();
-// position
-    G4double aX=(2.*G4UniformRand()-1.)*impactMax;
-    G4double aY=(2.*G4UniformRand()-1.)*impactMax;
-    
-    G4ThreeVector pos(aX, aY, -20.*fermi);
-// momentum
-    G4double mass = G4ParticleTable::GetParticleTable()->GetIonTable()->GetIonMass(6, 12);
-    G4double p = 280*MeV;
-    G4double e = sqrt(mass*mass+p*p);
-    G4LorentzVector mom(0, p, 0, e);
-    
-// build the projectile
-    G4KineticTrackVector * ktv = new G4KineticTrackVector;
-    G4ThreeVector beta = mom.beta();
-    projectile->DoLorentzBoost(beta);
-    projectile->StartLoop();
-    G4Nucleon * aNuc;
-    while( (aNuc=projectile->GetNextNucleon()) )
-    {
-      G4KineticTrack * it = 
-          new G4KineticTrack(aNuc->GetDefinition(), 0, 
-	                     aNuc->GetPosition()+pos, const_cast<G4LorentzVector &>(aNuc->GetMomentum()) );
-      ktv->push_back(it);
-    }
-
-// do the reactions
-    G4ReactionProductVector *result=hkm.Propagate(ktv, fancyNucleus);
-    
-    delete fancyNucleus;
-    delete projectile;
-    
-    G4ReactionProductVector::iterator result_iter;
-    G4int isec=0;
-    for(result_iter = result->begin();result_iter != result->end();
-        ++result_iter)
-    {    
-       G4ThreeVector pFinal= (*result_iter)->GetMomentum();
-
-       G4cout << " Final particle # "<< ++isec << ": "
-    	     << pFinal.x() << "  "
-	     << pFinal.y() << "  "
-	     << pFinal.z() << "  "
-	     << (*result_iter)->GetTotalEnergy() << "  "
-	     << G4endl;
-     }	   
-  }
-  cout.flush();
-  return 0;
-}
-
-/*
-
-void PrintResourceUsage(ResourceMgr & resMgr)
-{
-  double userTime = resMgr.GetUserTime();
-  double sysTime = resMgr.GetSysTime();
-  double cpuTime = userTime+sysTime;
-  cout << "cpu time: " << cpuTime << " (" << userTime << "+"
-       << sysTime << ")" << endl;
-}
-
-
-*/
-
-void Init(G4int code, vector<G4ParticleDefinition *> & particles)
-{
-  if(code == 0)
-  {
-    particles.push_back(G4Gamma::Gamma());
-    return;
-  }
-
-  G4int count = 0;
-  while(code != 0)
-  {
-    if(code & 1)
-    {
-      switch (count)
-      {
-      case 0:
-	particles.push_back(G4Proton::Proton());
-	break;
-      case 1:
-	particles.push_back(G4Neutron::Neutron());
-	break;
-      case 2:
-	particles.push_back(G4AntiProton::AntiProton());
-	break;
-      case 3:
-	particles.push_back(G4PionPlus::PionPlus());
-	break;
-      case 4:
-	particles.push_back(G4PionZero::PionZero());
-	break;
-      case 5:
-	particles.push_back(G4PionMinus::PionMinus());
-	break;
-      case 6:
-	particles.push_back(G4KaonPlus::KaonPlus());
-	break;
-      case 7:
-	particles.push_back(G4KaonZero::KaonZero());
-	break;
-      case 8:
-	particles.push_back(G4KaonMinus::KaonMinus());
-	break;
-      case 9:
-	particles.push_back(G4SigmaPlus::SigmaPlus());
-	break;
-      case 10:
-	particles.push_back(G4SigmaZero::SigmaZero());
-	break;
-      case 11:
-	particles.push_back(G4SigmaMinus::SigmaMinus());
-	break;
-      }
-    }
-    ++count;
-    code = code>>1;
-  }
-}
-
-
-void GetParam(G4int & A, G4int & Z, G4double & pMin, G4double & pMax,
-	      G4int &nEvents, G4int & particleCode)
-{
-// A and Z
-  cout << "Input Nucleus A and Z: ";
-  cin >> A >> Z;
-// number of events
-  cout << "Input number of events: ";
-  cin >> nEvents;
-}
-
-
-
-
-G4ThreeVector GetSpherePoint(G4double r)
-{
-// random point INSIDE a sphere
-
-  G4double x = r*(2*G4UniformRand()-1);
-  G4double tmp = sqrt(r*r-x*x);
-  G4double y = tmp*(2*G4UniformRand()-1);
-  tmp = sqrt(r*r-x*x-y*y);
-  G4double z = tmp*(2*G4UniformRand()-1);
-  G4ThreeVector point;
-  point.setX(x);
-  point.setY(y);
-  point.setZ(z);
-  return point;
-}
-G4ThreeVector GetSurfacePoint(G4double r)
-{
-// random point oin surface of a sphere
-
-  G4double x = r*(2*G4UniformRand()-1);
-  G4double tmp = sqrt(r*r-x*x);
-  G4double y = tmp*(2*G4UniformRand()-1);
-  G4double z = -sqrt(r*r-x*x-y*y);
-  G4ThreeVector point;
-  point.setX(x);
-  point.setY(y);
-  point.setZ(z);
-  return point;
-}
Index: trunk/source/processes/hadronic/models/binary_cascade/test/G4BrTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/binary_cascade/test/G4BrTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,346 +1,0 @@
-//
-// ********************************************************************
-// * DISCLAIMER                                                       *
-// *                                                                  *
-// * The following disclaimer summarizes all the specific disclaimers *
-// * of contributors to this software. The specific disclaimers,which *
-// * govern, are listed with their locations in:                      *
-// *   http://cern.ch/geant4/license                                  *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.                                                             *
-// *                                                                  *
-// * This  code  implementation is the  intellectual property  of the *
-// * GEANT4 collaboration.                                            *
-// * By copying,  distributing  or modifying the Program (or any work *
-// * based  on  the Program)  you indicate  your  acceptance of  this *
-// * statement, and all its terms.                                    *
-// ********************************************************************
-//
-// $Id: G4BrTest.cc,v 1.2 2003/06/19 14:39:18 gunter Exp $
-// -------------------------------------------------------------------
-//
-// -------------------------------------------------------------------
-//      GEANT 4 class file --- Copyright CERN 1998
-//      CERN Geneva Switzerland
-//
-//
-//      File name:     G4DecayTest.cc
-//
-//      Author:        Lorenzo Bellagamba (bellagamba@bo.infn.it), 
-// 
-//      Creation date: 30 October 1999
-//
-//      Modifications: 
-//
-// -------------------------------------------------------------------
-
-#include "globals.hh"
-
-#include "G4ios.hh"
-#include <fstream>
-#include <iomanip>
-#include <iostream>
-#include <assert.h>
-
-#include "CLHEP/Hist/TupleManager.h"
-#include "CLHEP/Hist/HBookFile.h"
-#include "CLHEP/Hist/Histogram.h"
-#include "CLHEP/Hist/Tuple.h"
-
-#include "Randomize.hh"
-
-#include "G4ThreeVector.hh"
-#include "G4LorentzVector.hh"
-#include "G4LorentzRotation.hh"
-
-#include "G4AntiProton.hh"
-#include "G4Proton.hh"
-#include "G4Neutron.hh"
-#include "G4AntiNeutron.hh"
-#include "G4KaonPlus.hh"
-#include "G4KaonMinus.hh"
-#include "G4PionPlus.hh"
-#include "G4PionMinus.hh"
-#include "G4PionZero.hh"
-#include "G4Gamma.hh"
-#include "G4MuonMinus.hh"
-#include "G4MuonPlus.hh"
-#include "G4NeutrinoMu.hh"
-#include "G4AntiNeutrinoMu.hh"
-#include "G4Lambda.hh"
-#include "G4Eta.hh"
-#include "G4LambdacPlus.hh"
-
-
-#include "G4VDecayChannel.hh"
-#include "G4DecayTable.hh"
-
-#include "G4KineticTrack.hh"
-#include "G4KineticTrackVector.hh"
-
-#include "G4VShortLivedParticle.hh"
-#include "G4ShortLivedConstructor.hh"
-#include "G4ParticleTable.hh"
-#include "G4ShortLivedTable.hh"
-
-#include "G4ParticleTable.hh"
-#include "G4VCrossSectionSource.hh"
-#include "G4XAqmTotal.hh"
-#include "G4XAqmElastic.hh"
-#include "G4XNNTotalLowE.hh"
-#include "G4XPDGTotal.hh"
-#include "G4XNNTotal.hh"
-#include "G4XPDGElastic.hh"
-
-
-int main()
-{
-  // MGP ---- HBOOK initialization
-  HepTupleManager* hbookManager;
-  hbookManager = new HBookFile("br.hbook", 58);
-  assert (hbookManager != 0);
-
-  // MGP ---- Book histograms
- 
-  // MGP ---- Book a ntuple
-  HepTuple* ntuple;
-  ntuple = hbookManager->ntuple("Decay ntuple");
-  assert (ntuple != 0); 
-
-  G4ShortLivedConstructor ShortLived;
-  G4ShortLivedTable ShortLivedTab;
-  ShortLived.ConstructParticle();
-
-  G4ParticleDefinition* gamma = G4Gamma::GammaDefinition();
-
-  G4ParticleDefinition* proton = G4Proton::ProtonDefinition();
-  G4ParticleDefinition* antiProton = G4AntiProton::AntiProtonDefinition();
-  G4ParticleDefinition* neutron = G4Neutron::NeutronDefinition();   
-  G4ParticleDefinition* antiNeutron = G4AntiNeutron::AntiNeutronDefinition();   
-
-  G4ParticleDefinition* pionPlus = G4PionPlus::PionPlusDefinition();
-  G4ParticleDefinition* pionMinus = G4PionMinus::PionMinusDefinition();
-  G4ParticleDefinition* pionZero = G4PionZero::PionZeroDefinition();
-
-  G4ParticleDefinition* kaonPlus = G4KaonPlus::KaonPlusDefinition();
-  G4ParticleDefinition* kaonMinus = G4KaonMinus::KaonMinusDefinition();
-   
-  G4ParticleDefinition* lambda = G4Lambda::LambdaDefinition();
-  G4ParticleDefinition* eta = G4Eta::EtaDefinition();
-
-  G4ParticleDefinition* theMuonPlus = G4MuonPlus::MuonPlusDefinition();
-  G4ParticleDefinition* theMuonMinus = G4MuonMinus::MuonMinusDefinition();
-
-  G4ParticleDefinition* theNeutrinoMu = G4NeutrinoMu::NeutrinoMuDefinition();
-  G4ParticleDefinition* theAntiNeutrinoMu = G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
-
-  //  G4ParticleDefinition* lambdacPlus = G4LambdacPlus::LambdacPlusDefinition();
-
-  G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
-  G4ParticleDefinition* N1440_Plus = particleTable->FindParticle("N(1440)+");
-  G4ParticleDefinition* N1440_0 = particleTable->FindParticle("N(1440)0");
-  G4ParticleDefinition* N1535_0 = particleTable->FindParticle("N(1535)0");
-  // G4ParticleDefinition* deltaPluslus = particleTable->FindParticle("delta++");
-  G4ParticleDefinition* deltaPlus = particleTable->FindParticle("delta+");
-  G4ParticleDefinition* deltaMinus = particleTable->FindParticle("delta-");
-
-
-  G4int DEBUG;
-  cout << "insert Debug value 0/1" << G4endl;
-  G4cin >> DEBUG;
-
-  // Select track 1
-  
-  G4cout << "---- Set KineticTrack 1 ----" << G4endl;
-  G4int id1 = 0;
-  G4cout << "1 p   2 ap   3 n   4 an   5 pi+   6 pi-   7 K+   8 K-  9 N(1440)0  10 N(1440)+  11 delta+  12 N(1535)0   13 delta++" << G4endl;
-  G4cin >> id1;
-
-  G4ParticleDefinition* definition1;
-  switch (id1)
-    {
-    case 1:
-      definition1 = proton;
-      break;
-    case 2:
-      definition1 = antiProton;
-      break;
-    case 3:
-      definition1 = neutron;
-      break;
-    case 4:
-      definition1 = antiNeutron;
-      break;
-    case 5:
-      definition1 = pionPlus;
-      break;
-    case 6:
-      definition1 = pionMinus;
-      break;
-    case 7:
-      definition1 = kaonPlus;
-      break;
-    case 8:
-      definition1 = kaonMinus;
-      break;
-    case 9:
-      definition1 = N1440_0;
-      break;
-    case 10:
-      definition1 = N1440_Plus;
-      break;
-    case 11:
-      definition1 = deltaPlus;
-      break;
-    case 12:
-      definition1 = N1535_0;
-      break;
-      //    case 13:
-      //      definition1 = deltaPlusPlus;
-      //      break;
-    default:
-      definition1 = proton;
-      break;
-    }
-  if(DEBUG==1)cout << definition1 << G4endl;
-  G4double mass0 = definition1->GetPDGMass();
-  G4double width0 = definition1->GetPDGWidth();
-  G4String name0;
-  if(DEBUG==1)name0 = definition1->GetParticleName();
-  if(DEBUG==1)cout << "Particle Type: " << name0 << G4endl;
-  if(DEBUG==1)cout << "Particle Mass: " << mass0 << G4endl;
-  if(DEBUG==1)cout << "Particle Width: " << width0 << G4endl;
-
-  G4KineticTrack wig;
-  cout << "Enter number of width to be consdered for BW mass distribtion" << G4endl;
-  cout << " If Nwidth = 0  Mass = PDGMass " << G4endl;
-  double nwid;
-  G4cin >> nwid;
-
- // Formation time
-  G4double time1 = 0.;
-
-  // Initial position
-  G4double x1 = 0.;
-  G4double y1 = 0.;
-  G4double z1 = 0.;
-  G4ThreeVector pos1(x1*cm, y1*cm, z1*cm);
-
-  // Momentum
-  G4double px1 = 0. * GeV;
-  G4double py1 = 0. * GeV;
-  G4double pz1 = 0. * GeV; 
-  cout << " enter Pz (Px=Py=0.)" << G4endl;
-  G4cin >> pz1;
-
-  G4int iter=0, iter_max;
-  G4int nchan;
-  cout << " Enter number of iteration" << G4endl;
-  G4cin >> iter_max;
-  G4double Dch[10] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
-  G4double max=wig.BrWig(width0, mass0, mass0);
-  G4double Dmas=(2*nwid*width0)/iter_max;
-  while(iter < iter_max){
-    cout << " =================>   Processing event:......" << (iter+1) << G4endl;
-  G4double mass1=(mass0-nwid*width0)+iter*Dmas;
-  cout << mass1 << G4endl;
-  G4double width1=width0;
-
-  ntuple->column("mass",mass1);
-
-  G4ThreeVector p1(px1,py1,pz1);
-  G4double e1 = sqrt(mass1*mass1 + p1.mag()*p1.mag());
-  G4LorentzVector p41(p1,e1);
-
-  G4KineticTrack mytrack(definition1,time1,pos1,p41);
-
-  ntuple->column("bwmas",mytrack.BrWig(width0,mass0,mass1));
-
-  if(DEBUG==1)cout << mytrack.GetDefinition()->GetParticleName() << G4endl;
-  G4DecayTable* TheDec=definition1->GetDecayTable();
-  nchan=TheDec->entries(); 
-  G4double* br=mytrack.GetActualWidth();
-  G4int nn;
-  G4double TotWd=0.;
-  // Total Width
-  for (nn=0; nn < nchan; nn++)TotWd = TotWd + br[nn];
-  ntuple->column("totwd",TotWd);
-  for (nn=0; nn < nchan; nn++){
-  // fill decay channel histos
-  switch (nn){
-  case 0:
-    ntuple->column("wd0",br[nn]);
-    ntuple->column("br0",br[nn]/TotWd);
-    break;
-  case 1:
-    ntuple->column("wd1",br[nn]);
-    ntuple->column("br1",br[nn]/TotWd);
-    break;
-  case 2:
-    ntuple->column("wd2",br[nn]);
-    ntuple->column("br2",br[nn]/TotWd);
-    break;
-  case 3:
-    ntuple->column("wd3",br[nn]);
-    ntuple->column("br3",br[nn]/TotWd);
-    break;
-  case 4:
-    ntuple->column("wd4",br[nn]);
-    ntuple->column("br4",br[nn]/TotWd);
-    break;
-  case 5:
-    ntuple->column("wd5",br[nn]);
-    ntuple->column("br5",br[nn]/TotWd);
-    break;
-  case 6:
-    ntuple->column("wd6",br[nn]);
-    ntuple->column("br6",br[nn]/TotWd);
-    break;
-  case 7:
-    ntuple->column("wd7",br[nn]);
-    ntuple->column("br7",br[nn]/TotWd);
-    break;
-  case 8:
-    ntuple->column("wd8",br[nn]);
-    ntuple->column("br8",br[nn]/TotWd);
-    break;
-  case 9:
-    ntuple->column("wd9",br[nn]);
-    ntuple->column("br9",br[nn]/TotWd);
-    break;
-  case 10:
-    ntuple->column("wd10",br[nn]);
-    ntuple->column("br10",br[nn]/TotWd);
-    break;
-  }
-  }
-  //  ntuple->column("id",i);
-  ntuple->dumpData();
-
-  iter++;
-  }  
-  hbookManager->write();
-
-  //  delete source;
-
-  return EXIT_SUCCESS;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Index: trunk/source/processes/hadronic/models/binary_cascade/test/G4BrWigTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/binary_cascade/test/G4BrWigTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,111 +1,0 @@
-//
-// ********************************************************************
-// * DISCLAIMER                                                       *
-// *                                                                  *
-// * The following disclaimer summarizes all the specific disclaimers *
-// * of contributors to this software. The specific disclaimers,which *
-// * govern, are listed with their locations in:                      *
-// *   http://cern.ch/geant4/license                                  *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.                                                             *
-// *                                                                  *
-// * This  code  implementation is the  intellectual property  of the *
-// * GEANT4 collaboration.                                            *
-// * By copying,  distributing  or modifying the Program (or any work *
-// * based  on  the Program)  you indicate  your  acceptance of  this *
-// * statement, and all its terms.                                    *
-// ********************************************************************
-//
-#include "globals.hh"
-#include "G4ios.hh"
-
-#include "CLHEP/Hist/TupleManager.h"
-#include "CLHEP/Hist/HBookFile.h"
-#include "CLHEP/Hist/Histogram.h"
-#include "CLHEP/Hist/Tuple.h"
-#include "Randomize.hh"
-
-#include <fstream>
-#include <iomanip>
-#include <assert.h>
-#include <iostream>
-#include <G4KineticTrack.hh>
-
-#include "G4PionMinus.hh"
-#include "G4VShortLivedParticle.hh"
-#include "G4ShortLivedConstructor.hh"
-#include "G4ParticleTable.hh"
-#include "G4ShortLivedTable.hh"
-
-int main()
-{
-  // MGP ---- HBOOK initialization
-  HepTupleManager* hbookManager;
-  hbookManager = new HBookFile("brwig.hbook", 58);
-  assert (hbookManager != 0);  
-
-  // MGP ---- Book histograms
- 
-  HepHistogram* hbrwig;
-  HepHistogram* hbmass;
-  hbrwig = hbookManager->histogram("Breit Wigner", 1000,0.,1.);
-  assert (hbrwig != 0);
-  hbmass = hbookManager->histogram("random mass", 1000,0.,2500.);
-  assert (hbmass != 0);
-
-  G4ParticleDefinition* pionMinus = G4PionMinus::PionMinusDefinition();
-  G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
-
-  G4ShortLivedConstructor ShortLived;
-  ShortLived.ConstructParticle();
-
-  G4ParticleDefinition* deltaPlus = particleTable->FindParticle("delta+");
-  G4cout << deltaPlus->GetParticleName() << " created, type is " 
-	 << deltaPlus->GetParticleType() << G4endl;
-
-  G4ParticleDefinition* definition1;
-  definition1 = deltaPlus;
-  G4double mass1 = definition1->GetPDGMass();
-  G4double width1 = definition1->GetPDGWidth();
-
-  int nevt, DEBUG, nwid;
-  cout << "Enter Debug 0/1" << G4endl;
-  G4cin >> DEBUG;
-  cout << " Enter number of events " << G4endl;
-  G4cin >> nevt;
-  cout << " Enter number of width " << G4endl;
-  G4cin >> nwid;
-
-  G4KineticTrack wig;
-  G4double max=wig.BrWig(width1, mass1, mass1);
-  int i=0;
-  while(i<nevt){
-  // rand mass-nwid*width:mass+nwid*width
-   G4double mass=(mass1+nwid*width1)-(G4UniformRand()*2*nwid*width1);
-   G4double check=max*G4UniformRand();
-   G4double wigt=wig.BrWig(width1, mass1, mass);
-   // fill histo
-   hbrwig->accumulate(wigt);
-   if(check < wigt){
-     hbmass->accumulate(mass);
-     i++;
-   }
-   if (DEBUG == 1)cout << " w/m/xm/brwig " << width1 << "  " << mass << "  " << mass1 << "  " << wigt << G4endl;
-  } 
-  hbookManager->write();
-  return EXIT_SUCCESS;
-}
-
-
-
-
-
-
-
-
-
-
Index: trunk/source/processes/hadronic/models/binary_cascade/test/G4CollisionTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/binary_cascade/test/G4CollisionTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,327 +1,0 @@
-//
-// ********************************************************************
-// * DISCLAIMER                                                       *
-// *                                                                  *
-// * The following disclaimer summarizes all the specific disclaimers *
-// * of contributors to this software. The specific disclaimers,which *
-// * govern, are listed with their locations in:                      *
-// *   http://cern.ch/geant4/license                                  *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.                                                             *
-// *                                                                  *
-// * This  code  implementation is the  intellectual property  of the *
-// * GEANT4 collaboration.                                            *
-// * By copying,  distributing  or modifying the Program (or any work *
-// * based  on  the Program)  you indicate  your  acceptance of  this *
-// * statement, and all its terms.                                    *
-// ********************************************************************
-//
-//
-// -------------------------------------------------------------------
-//      GEANT 4 class file --- Copyright CERN 1998
-//      CERN Geneva Switzerland
-//
-//
-//      File name:     G4CollisionTest.cc
-//
-//      Author:        Maria Grazia Pia (pia@genova.infn.it), 
-// 
-//      Creation date: 15 April 1999
-//
-//      Modifications: 
-//
-// -------------------------------------------------------------------
-
-#include "globals.hh"
-
-#include "G4ios.hh"
-#include <fstream>
-#include <iomanip>
-#include <iostream>
-#include <assert.h>
-
-#include "CLHEP/Hist/TupleManager.h"
-#include "CLHEP/Hist/HBookFile.h"
-#include "CLHEP/Hist/Histogram.h"
-#include "CLHEP/Hist/Tuple.h"
-
-#include "Randomize.hh"
-
-#include "G4ThreeVector.hh"
-#include "G4LorentzVector.hh"
-#include "G4LorentzRotation.hh"
-
-#include "G4AntiProton.hh"
-#include "G4Proton.hh"
-#include "G4AntiNeutron.hh"
-#include "G4Neutron.hh"
-#include "G4PionPlus.hh"
-#include "G4PionMinus.hh"
-#include "G4PionZero.hh"
-#include "G4KaonMinus.hh"
-#include "G4KaonPlus.hh"
-#include "G4Gamma.hh"
-#include "G4MuonMinus.hh"
-#include "G4MuonPlus.hh"
-#include "G4NeutrinoMu.hh"
-#include "G4AntiNeutrinoMu.hh"
-#include "G4Lambda.hh"
-
-#include "G4VShortLivedParticle.hh"
-#include "G4ShortLivedConstructor.hh"
-#include "G4ParticleTable.hh"
-#include "G4ShortLivedTable.hh"
-
-#include "G4KineticTrack.hh"
-#include "G4KineticTrackVector.hh"
-#include "G4KineticTrackVector.hh"
-
-#include "G4ParticleDefinition.hh"
-
-#include "G4VCollision.hh"
-#include "G4CollisionNN.hh"
-#include "G4CollisionNNElastic.hh"
-
-int main()
-{
-  // MGP ---- HBOOK initialization
-  HepTupleManager* hbookManager;
-  hbookManager = new HBookFile("collision.hbook", 58);
-  assert (hbookManager != 0);
-
-  // MGP ---- Book histograms
-
-  // MGP ---- Book a ntuple
-  HepTuple* ntuple;
-  ntuple = hbookManager->ntuple("Collision ntuple");
-  assert (ntuple != 0);
-
-
-  G4ParticleDefinition* gamma = G4Gamma::GammaDefinition();
-
-  G4ParticleDefinition* proton = G4Proton::ProtonDefinition();
-  G4ParticleDefinition* antiProton = G4AntiProton::AntiProtonDefinition();
-  G4ParticleDefinition* neutron = G4Neutron::NeutronDefinition();   
-  G4ParticleDefinition* antiNeutron = G4AntiNeutron::AntiNeutronDefinition();   
-
-  G4ParticleDefinition* pionPlus = G4PionPlus::PionPlusDefinition();
-  G4ParticleDefinition* pionMinus = G4PionMinus::PionMinusDefinition();
-  G4ParticleDefinition* pionZero = G4PionZero::PionZeroDefinition();
-
-  G4ParticleDefinition* kaonPlus = G4KaonPlus::KaonPlusDefinition();
-  G4ParticleDefinition* kaonMinus = G4KaonMinus::KaonMinusDefinition();
-   
-  G4ParticleDefinition* lambda = G4Lambda::LambdaDefinition();
-
-  G4ParticleDefinition* theMuonPlus = G4MuonPlus::MuonPlusDefinition();
-  G4ParticleDefinition* theMuonMinus = G4MuonMinus::MuonMinusDefinition();
-
-  G4ParticleDefinition* theNeutrinoMu = G4NeutrinoMu::NeutrinoMuDefinition();
-  G4ParticleDefinition* theAntiNeutrinoMu = G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
-
-  G4ShortLivedConstructor ShortLived;
-  ShortLived.ConstructParticle();
-
-  // Select track 1
-  
-  G4cout << "---- Set KineticTrack 1 ----" << G4endl;
-  G4int id1 = 0;
-  G4cout << "1 p   2 ap   3 n   4 an   5 pi+   6 pi-   7 K+   8 K- " << G4endl;
-  G4cin >> id1;
-
-  G4ParticleDefinition* definition1;
-  switch (id1)
-    {
-    case 1:
-      definition1 = proton;
-      break;
-    case 2:
-      definition1 = antiProton;
-      break;
-    case 3:
-      definition1 = neutron;
-      break;
-    case 4:
-      definition1 = antiNeutron;
-      break;
-    case 5:
-      definition1 = pionPlus;
-      break;
-    case 6:
-      definition1 = pionMinus;
-      break;
-    case 7:
-      definition1 = kaonPlus;
-      break;
-    case 8:
-      definition1 = kaonMinus;
-      break;
-    default:
-      definition1 = proton;
-      break;
-    }
-  G4double mass1 = definition1->GetPDGMass();
-
-  // Formation time
-  G4double time1 = 0.;
-  //  G4cout << "Formation time (ns)" << G4endl;
-  //  G4cin >> time1;
-  //  if (time1 < 0.) time1 = 0.;
-  //   time1 = time1 * ns;
-  
-  // Initial position
-  G4double x1 = 0.;
-  G4double y1 = 0.;
-  G4double z1 = 0.;
-  //  G4cout <<"Initial position (cm) " << G4endl;
-  //  G4cin >> x1 >> y1 >> z1;
-  G4ThreeVector position1(x1*cm, y1*cm, z1*cm);
-
-  // Momentum
-  G4double pzMin1;
-  G4double pzMax1;
-  G4cout << "Pz min and max (GeV)" << G4endl;
-  G4cin >> pzMin1 >> pzMax1;
-  pzMin1 = pzMin1 * GeV;
-  pzMax1 = pzMax1 * GeV;
-
-  // Select track 2
- 
-  G4cout << "---- Set KineticTrack 2 ----" << G4endl;
-  G4int id2 = 0;
-  G4cout << "1 p   2 ap   3 n   4 an   5 pi+   6 pi-   7 K+   8 K- " << G4endl;
-  G4cin >> id2;
-
-  G4ParticleDefinition* definition2;
-  G4KineticTrack trk2;
-  switch (id2)
-    {
-    case 1:
-      definition2 = proton;
-      break;
-    case 2:
-      definition2 = antiProton;
-      break;
-    case 3:
-      definition2 = neutron;
-      break;
-    case 4:
-      definition2 = antiNeutron;
-      break;
-    case 5:
-      definition2 = pionPlus;
-      break;
-    case 6:
-      definition2 = pionMinus;
-      break;
-    case 7:
-      definition2 = kaonPlus;
-      break;
-    case 8:
-      definition2 = kaonMinus;
-      break;
-    default:
-      definition2 = proton;
-      break;
-    }
-  G4double mass2 = definition2->GetPDGMass();
-
-  // Formation time
-  G4double time2 = 0.;
-  //  G4cout << "Formation time (ns)" << G4endl;
-  //  G4cin >> time2;
-  //  if (time2 < 0.) time2 = 0.;
-  //  time2 = time2 * ns;
-  
-  // Initial position
-  G4double x2 = 0.;
-  G4double y2 = 0.;
-  G4double z2 = 0.;
-  //  G4cout <<"Initial position (cm) " << G4endl;
-  //  G4cin >> x2 >> y2 >> z2;
-  G4ThreeVector position2(x2*cm, y2*cm, z2*cm);
-
-  // Momentum
-  G4double pzMin2;
-  G4double pzMax2;
-  G4cout << "Pz min and max (GeV)" << G4endl;
-  G4cin >> pzMin2 >> pzMax2;
-  pzMin2 = pzMin2 * GeV;
-  pzMax2 = pzMax2 * GeV;
-
-  G4VCollision* collision = new G4CollisionNNElastic;
-  //    collision->Print();
-
-  // Number of iterations
-  G4int n = 0;
-  G4cout << "---- Number of iterations ----" << G4endl;
-  G4cin >> n;
-  if (n < 1) n = 1;
-
-  G4double step1 = (pzMax1 - pzMin1) / n;
-  G4double step2 = (pzMax2 - pzMin2) / n;
-
-  G4cout << "pz min max step " 
-	 << pzMin1 / GeV << ", " 
-	 << pzMax1 / GeV << ", " 
-	 << step1  / GeV << ", " << G4endl 
-	 << "pz min max step " 
-	 << pzMin2 / GeV << ", " 
-	 << pzMax2 / GeV << ", " 
-	 << step2  / GeV << G4endl; 
-
-  G4int i;
-  for (i=0; i<n; i++)
-    {
-      G4double pStep1 = pzMin1 + step1 * i;
-      G4ThreeVector p1(0.,0.,pStep1);
-      G4double e1 = sqrt(mass1*mass1 + p1.mag()*p1.mag());
-      G4LorentzVector p41(p1,e1);
-      G4KineticTrack trk1(definition1,time1,position1,p41);
-
-      G4double pStep2 = -(pzMin2 + step2 * i);
-      G4ThreeVector p2(0.,0.,pStep2);
-      G4double e2 = sqrt(mass2*mass2 + p2.mag()*p2.mag());
-      G4LorentzVector p42(p2,e2);
-      G4KineticTrack trk2(definition2,time2,position2,p42);
-
-      G4double sqrts = (trk1.Get4Momentum() + trk2.Get4Momentum()).mag();
-
-      G4KineticTrackVector* finalState = collision->FinalState(trk1,trk2);
-      G4int nFinal = finalState->size();
-      for (G4int it=0; it<nFinal; it++)
-	{
-	  G4KineticTrack* trk = (*finalState)[it];
-	  G4double mass = trk->GetDefinition()->GetPDGMass();
-	  G4ThreeVector p3 = trk->Get4Momentum().vect();
-	  G4double p = p3.mag() / GeV;
-	  G4double px = p3.x() / GeV;
-	  G4double py = p3.y() / GeV;
-	  G4double pz = p3.z() / GeV;
-	  G4cout << mass
-		 << " - p = "
-		 << p
-		 << ", (px,py,pz) =  "		
-		 << px
-		 << ","
-		 << py
-		 << ","			 
-		 << pz
-		 << G4endl;
-	}
-    }
-
-
-  hbookManager->write();
-  
-  return EXIT_SUCCESS;
-}
-
-
-
-
-
Index: trunk/source/processes/hadronic/models/binary_cascade/test/G4CrossSectionTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/binary_cascade/test/G4CrossSectionTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,390 +1,0 @@
-//
-// ********************************************************************
-// * DISCLAIMER                                                       *
-// *                                                                  *
-// * The following disclaimer summarizes all the specific disclaimers *
-// * of contributors to this software. The specific disclaimers,which *
-// * govern, are listed with their locations in:                      *
-// *   http://cern.ch/geant4/license                                  *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.                                                             *
-// *                                                                  *
-// * This  code  implementation is the  intellectual property  of the *
-// * GEANT4 collaboration.                                            *
-// * By copying,  distributing  or modifying the Program (or any work *
-// * based  on  the Program)  you indicate  your  acceptance of  this *
-// * statement, and all its terms.                                    *
-// ********************************************************************
-//
-// $Id: G4CrossSectionTest.cc,v 1.3 2009/06/15 10:35:12 gunter Exp $
-// -------------------------------------------------------------------
-//
-// -------------------------------------------------------------------
-//      GEANT 4 class file --- Copyright CERN 1998
-//      CERN Geneva Switzerland
-//
-//
-//      File name:     G4CrossSectionTest.cc
-//
-//      Author:        Maria Grazia Pia (pia@genova.infn.it), 
-// 
-//      Creation date: 15 April 1999
-//
-//      Modifications:
-//
-//  Dec- 2008 GF : migrate to root 
-//
-// -------------------------------------------------------------------
-
-#include "globals.hh"
-
-#include "G4ios.hh"
-#include <fstream>
-#include <iomanip>
-#include <iostream>
-#include <assert.h>
-
-#include "Randomize.hh"
-
-#include "G4ThreeVector.hh"
-#include "G4LorentzVector.hh"
-#include "G4LorentzRotation.hh"
-
-#include "G4AntiProton.hh"
-#include "G4Proton.hh"
-#include "G4AntiNeutron.hh"
-#include "G4Neutron.hh"
-#include "G4PionPlus.hh"
-#include "G4PionMinus.hh"
-#include "G4PionZero.hh"
-#include "G4KaonMinus.hh"
-#include "G4KaonPlus.hh"
-#include "G4Gamma.hh"
-#include "G4MuonMinus.hh"
-#include "G4MuonPlus.hh"
-#include "G4NeutrinoMu.hh"
-#include "G4AntiNeutrinoMu.hh"
-#include "G4Lambda.hh"
-
-#include "G4ParticleDefinition.hh"
-
-#include "G4VDecayChannel.hh"
-#include "G4DecayTable.hh"
-
-#include "G4KineticTrack.hh"
-#include "G4KineticTrackVector.hh"
-
-#include "G4VShortLivedParticle.hh"
-#include "G4ShortLivedConstructor.hh"
-#include "G4ParticleTable.hh"
-#include "G4ShortLivedTable.hh"
-#include "G4LeptonConstructor.hh"
-#include "G4BaryonConstructor.hh"
-#include "G4VCrossSectionSource.hh"
-#include "G4XAqmTotal.hh"
-#include "G4XAqmElastic.hh"
-#include "G4XNNTotalLowE.hh"
-#include "G4XPDGTotal.hh"
-#include "G4XNNTotal.hh"
-#include "G4XNNElastic.hh"
-#include "G4XPDGElastic.hh"
-#include "G4XNNElasticLowE.hh"
-#include "G4XnpElastic.hh"
-#include "G4XResonance.hh"
-
-#include "TFile.h"
-#include "TH1F.h"
-#include "TH1D.h"
-#include "TTree.h"
-
-#define G4FPE_DEBUG=1
-
-#ifdef G4FPE_DEBUG
-  #include "G4FPEDetection.hh"
-#endif
-
-G4ParticleDefinition* SelectTrackDef(int i);
-
-int main()
-{
-
-#ifdef G4FPE_DEBUG
-  InvalidOperationDetection();
-#endif
-    std::string hFile="xsec.root"; 
-    TFile * rootFile = new TFile(hFile.c_str(),"CREATE");
-    if ( ! rootFile ) 
-    {
-       std::cout << " Fail to create root file " << std::endl;
-       exit(1);
-    }   
-
-        TTree * Txs = new TTree("SEC","Secondary info");
-
-        struct xs_info {
-             float cmsE;
-             float sigma;
-        };
-        xs_info xsec;     
-        Txs->Branch("secondaries",&xsec.cmsE,"cmsE/F:sigma/F");
-
- 
-  TH1 * hSigma = new TH1F("1","CrossSection", 100,0.,10.);
-
-
-/*  G4ParticleDefinition* gamma = G4Gamma::GammaDefinition();
-
-  G4ParticleDefinition* proton = G4Proton::ProtonDefinition();
-  G4ParticleDefinition* antiProton = G4AntiProton::AntiProtonDefinition();
-  G4ParticleDefinition* neutron = G4Neutron::NeutronDefinition();   
-  G4ParticleDefinition* antiNeutron = G4AntiNeutron::AntiNeutronDefinition();   
-
-  G4ParticleDefinition* pionPlus = G4PionPlus::PionPlusDefinition();
-  G4ParticleDefinition* pionMinus = G4PionMinus::PionMinusDefinition();
-  G4ParticleDefinition* pionZero = G4PionZero::PionZeroDefinition();
-
-  G4ParticleDefinition* kaonPlus = G4KaonPlus::KaonPlusDefinition();
-  G4ParticleDefinition* kaonMinus = G4KaonMinus::KaonMinusDefinition();
-   
-  G4ParticleDefinition* lambda = G4Lambda::LambdaDefinition();
-
-  G4ParticleDefinition* theMuonPlus = G4MuonPlus::MuonPlusDefinition();
-  G4ParticleDefinition* theMuonMinus = G4MuonMinus::MuonMinusDefinition();
-
-  G4ParticleDefinition* theNeutrinoMu = G4NeutrinoMu::NeutrinoMuDefinition();
-  G4ParticleDefinition* theAntiNeutrinoMu = G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
-*/
-  G4BaryonConstructor Baryons;
-  Baryons.ConstructParticle();
-  G4LeptonConstructor Leptons;
-  Leptons.ConstructParticle();
-  G4ShortLivedConstructor ShortLived;
-  ShortLived.ConstructParticle();
-
-  G4ParticleDefinition* definition1= SelectTrackDef(1);
-  G4double mass1 = definition1->GetPDGMass();
-
-  // Formation time
-  G4double time1 = 0.;
-  //  G4cout << "Formation time (ns)" << G4endl;
-  //  G4cin >> time1;
-  //  if (time1 < 0.) time1 = 0.;
-  //   time1 = time1 * ns;
-
-  
-  // Initial position
-  G4double x1 = 0.;
-  G4double y1 = 0.;
-  G4double z1 = 0.;
-  //  G4cout <<"Initial position (cm) " << G4endl;
-  //  G4cin >> x1 >> y1 >> z1;
-  G4ThreeVector position1(x1*cm, y1*cm, z1*cm);
-
-  // Momentum
-  G4double pzMin1, pzMax1;
-  G4cout << "Pz min and max (GeV)" << G4endl;
-  G4cin >> pzMin1 >> pzMax1;
-  pzMin1 = pzMin1 * GeV;
-  pzMax1 = pzMax1 * GeV;
-
-  // Select track 2
- 
-  G4cout << "---- Set KineticTrack 2 ----" << G4endl;
-  G4int id2 = 0;
-  G4cout << "1 p   2 ap   3 n   4 an   5 pi+   6 pi-   7 K+   8 K- " << G4endl;
-  G4cin >> id2;
-
-  G4ParticleDefinition* definition2= SelectTrackDef(2);
-  G4double mass2 = definition2->GetPDGMass();
-
-  // Formation time
-  G4double time2 = 0.;
-  //  G4cout << "Formation time (ns)" << G4endl;
-  //  G4cin >> time2;
-  //  if (time2 < 0.) time2 = 0.;
-  //  time2 = time2 * ns;
-  
-  // Initial position
-  G4double x2 = 0.;
-  G4double y2 = 0.;
-  G4double z2 = 0.;
-  //  G4cout <<"Initial position (cm) " << G4endl;
-  //  G4cin >> x2 >> y2 >> z2;
-  G4ThreeVector position2(x2*cm, y2*cm, z2*cm);
-
-  // Momentum
-  G4double pzMin2;
-  G4double pzMax2;
-  G4cout << "Pz min and max (GeV)" << G4endl;
-  G4cin >> pzMin2 >> pzMax2;
-  pzMin2 = pzMin2 * GeV;
-  pzMax2 = pzMax2 * GeV;
-
-  // Select CrossSectionSource
-
-  G4cout << "CrossSectionSource: " << G4endl
-	 <<  "1) AqmElastic " 
-	 <<  "2) AqmTotal "
-	 <<  "3) NNElastic "
-	 <<  "4) NNElasticLowE "
-	 <<  "5) NNTotal "         << G4endl
-	 <<  "6) NNTotalLowE " 
-	 <<  "7) PDGElastic " 
-	 <<  "8) PDGTotal "
-	 <<  "9) Resonance "
-	 <<  "10) XnpElastic "
-	 << G4endl;
-
-  G4int ids;
-  G4cin >> ids;
-
-  G4VCrossSectionSource* source;
-
-  switch (ids)
-    {
-    case 1:
-      source = new G4XAqmElastic;
-      break;
-    case 2:
-      source = new G4XAqmTotal;
-      break;
-    case 3:
-      source = new G4XNNElastic;
-      break;
-    case 4:
-      source = new G4XNNElasticLowE;
-      break;
-    case 5:
-      source = new G4XNNTotal;
-      break;
-    case 6:
-      source = new G4XNNTotalLowE;
-      break;
-    case 7:
-      source = new G4XPDGElastic();
-      break;
-    case 8:
-      source = new G4XPDGTotal();
-      break;
-    case 9:
-      //      source = new G4XResonance;
-      break;
-    case 10:
-            source = new G4XnpElastic;
-      break;
-    default:
-      source = new G4XAqmTotal;
-      break;
-    }
-
-  G4cout << "***** " << source->Name() <<  "***** created " << G4endl;
-  source->Print();
-
-  // Number of iterations
-  G4int n = 0;
-  G4cout << "---- Number of iterations ----" << G4endl;
-  G4cin >> n;
-  if (n < 1) n = 1;
-
-  G4double step1 = (pzMax1 - pzMin1) / n;
-  G4double step2 = (pzMax2 - pzMin2) / n;
-
-  G4cout << "pz min max step " 
-	 << pzMin1 / GeV << ", " 
-	 << pzMax1 / GeV << ", " 
-	 << step1  / GeV << ", " << G4endl 
-	 << "pz min max step " 
-	 << pzMin2 / GeV << ", " 
-	 << pzMax2 / GeV << ", " 
-	 << step2  / GeV << G4endl; 
-
-  G4int i;
-  for (i=0; i<n; i++)
-    {
-      G4double pStep1 = pzMin1 + step1 * i;
-      G4ThreeVector p1(0.,0.,pStep1);
-      G4double e1 = sqrt(mass1*mass1 + p1.mag()*p1.mag());
-      G4LorentzVector p41(p1,e1);
-      G4KineticTrack trk1(definition1,time1,position1,p41);
-
-      G4double pStep2 = -(pzMin2 + step2 * i);
-      G4ThreeVector p2(0.,0.,pStep2);
-      G4double e2 = sqrt(mass2*mass2 + p2.mag()*p2.mag());
-      G4LorentzVector p42(p2,e2);
-      G4KineticTrack trk2(definition2,time2,position2,p42);
-
-      G4double sqrts = (trk1.Get4Momentum() + trk2.Get4Momentum()).mag();
-      
-      //      G4cout << "*-*-*-*-* Step " << i 
-      //	     << " - pz1, pz2 = " << pStep1 << ", " << pStep2 
-      //	     << " - e1, e2 = " << e1 << ", " << e2 
-      //	     << " - p41.m(), p42.m() = " << trk1.Get4Momentum().m() << ", " << trk2.Get4Momentum().m()
-      //	     << " ----- sqrtS = " << sqrts << G4endl;
-
-
-      source->PrintAll(trk1,trk2);
-     
-      G4double sigma = source->CrossSection(trk1,trk2);
-      
-      //      G4cout << "Energy: " << sqrts / GeV 
-      //	     << " ---- CrossSection = " << sigma / millibarn 
-      //	     << G4endl;
-
-      xsec.cmsE=sqrts/GeV;
-      xsec.sigma=sigma/millibarn;
-      Txs->Fill();
-    }
-
-  std::cout << "Committing..." << std::endl;
-  rootFile->Write();
-
-
-  delete source;
-
-  return EXIT_SUCCESS;
-}
-
-G4ParticleDefinition* SelectTrackDef(int i)
-{  
-  G4cout << "---- Set KineticTrack " << i <<  " ----" << G4endl;
-  G4int id = 0;
-  G4cout << "1 p   2 ap   3 n   4 an   5 pi+   6 pi-   7 K+   8 K- " << G4endl;
-  G4cin >> id;
-
-  G4ParticleDefinition* pDef;
-  switch (id)
-    {
-    case 1:
-      pDef = G4Proton::Proton();
-      break;
-    case 2:
-      pDef = G4AntiProton::AntiProton();
-      break;
-    case 3:
-      pDef = G4Neutron::Neutron();
-      break;
-    case 4:
-      pDef = G4AntiNeutron::AntiNeutron();
-      break;
-    case 5:
-      pDef = G4PionPlus::PionPlus();
-      break;
-    case 6:
-      pDef = G4PionMinus::PionMinus();
-      break;
-    case 7:
-      pDef = G4KaonPlus::KaonPlus();
-      break;
-    case 8:
-      pDef = G4KaonMinus::KaonMinus();
-      break;
-    default:
-      pDef = G4Proton::Proton();
-      break;
-    }
-   return pDef;
-}
Index: trunk/source/processes/hadronic/models/binary_cascade/test/G4DecayTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/binary_cascade/test/G4DecayTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,344 +1,0 @@
-//
-// ********************************************************************
-// * DISCLAIMER                                                       *
-// *                                                                  *
-// * The following disclaimer summarizes all the specific disclaimers *
-// * of contributors to this software. The specific disclaimers,which *
-// * govern, are listed with their locations in:                      *
-// *   http://cern.ch/geant4/license                                  *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.                                                             *
-// *                                                                  *
-// * This  code  implementation is the  intellectual property  of the *
-// * GEANT4 collaboration.                                            *
-// * By copying,  distributing  or modifying the Program (or any work *
-// * based  on  the Program)  you indicate  your  acceptance of  this *
-// * statement, and all its terms.                                    *
-// ********************************************************************
-//
-// $Id: G4DecayTest.cc,v 1.2 2003/06/19 14:39:22 gunter Exp $
-// -------------------------------------------------------------------
-//
-// -------------------------------------------------------------------
-//      GEANT 4 class file --- Copyright CERN 1998
-//      CERN Geneva Switzerland
-//
-//
-//      File name:     G4CrossSectionTest.cc
-//
-//      Author:        Maria Grazia Pia (pia@genova.infn.it), 
-// 
-//      Creation date: 15 April 1999
-//
-//      Modifications: 
-//
-// -------------------------------------------------------------------
-
-#include "globals.hh"
-
-#include "G4ios.hh"
-#include <fstream>
-#include <iomanip>
-#include <iostream>
-#include <assert.h>
-
-#include "CLHEP/Hist/TupleManager.h"
-#include "CLHEP/Hist/HBookFile.h"
-#include "CLHEP/Hist/Histogram.h"
-#include "CLHEP/Hist/Tuple.h"
-
-#include "Randomize.hh"
-
-#include "G4ThreeVector.hh"
-#include "G4LorentzVector.hh"
-#include "G4LorentzRotation.hh"
-
-#include "G4AntiProton.hh"
-#include "G4Proton.hh"
-#include "G4Neutron.hh"
-#include "G4AntiNeutron.hh"
-#include "G4KaonPlus.hh"
-#include "G4KaonMinus.hh"
-#include "G4PionPlus.hh"
-#include "G4PionMinus.hh"
-#include "G4PionZero.hh"
-#include "G4Gamma.hh"
-#include "G4MuonMinus.hh"
-#include "G4MuonPlus.hh"
-#include "G4NeutrinoMu.hh"
-#include "G4AntiNeutrinoMu.hh"
-#include "G4Lambda.hh"
-#include "G4LambdacPlus.hh"
-
-
-#include "G4VDecayChannel.hh"
-#include "G4DecayTable.hh"
-
-#include "G4KineticTrack.hh"
-#include "G4KineticTrackVector.hh"
-
-#include "G4VShortLivedParticle.hh"
-#include "G4ShortLivedConstructor.hh"
-#include "G4ParticleTable.hh"
-#include "G4ShortLivedTable.hh"
-
-#include "G4ParticleTable.hh"
-#include "G4VCrossSectionSource.hh"
-#include "G4XAqmTotal.hh"
-#include "G4XAqmElastic.hh"
-#include "G4XNNTotalLowE.hh"
-#include "G4XPDGTotal.hh"
-#include "G4XNNTotal.hh"
-#include "G4XPDGElastic.hh"
-
-
-int main()
-{
-  // MGP ---- HBOOK initialization
-  HepTupleManager* hbookManager;
-  hbookManager = new HBookFile("decay.hbook", 58);
-  assert (hbookManager != 0);
-
-  // MGP ---- Book histograms
- 
-  HepHistogram* hSigma;
-
-  hSigma = hbookManager->histogram("CrossSection", 100,0.,10.);
-  assert (hSigma != 0);  
-
-  // MGP ---- Book a ntuple
-  HepTuple* ntuple;
-  ntuple = hbookManager->ntuple("Decay ntuple");
-  assert (ntuple != 0); 
-
-  G4ParticleDefinition* gamma = G4Gamma::GammaDefinition();
-
-  G4ParticleDefinition* proton = G4Proton::ProtonDefinition();
-  G4ParticleDefinition* antiProton = G4AntiProton::AntiProtonDefinition();
-  G4ParticleDefinition* neutron = G4Neutron::NeutronDefinition();   
-  G4ParticleDefinition* antiNeutron = G4AntiNeutron::AntiNeutronDefinition();   
-
-  G4ParticleDefinition* pionPlus = G4PionPlus::PionPlusDefinition();
-  G4ParticleDefinition* pionMinus = G4PionMinus::PionMinusDefinition();
-  G4ParticleDefinition* pionZero = G4PionZero::PionZeroDefinition();
-
-  G4ParticleDefinition* kaonPlus = G4KaonPlus::KaonPlusDefinition();
-  G4ParticleDefinition* kaonMinus = G4KaonMinus::KaonMinusDefinition();
-   
-  G4ParticleDefinition* lambda = G4Lambda::LambdaDefinition();
-
-  G4ParticleDefinition* theMuonPlus = G4MuonPlus::MuonPlusDefinition();
-  G4ParticleDefinition* theMuonMinus = G4MuonMinus::MuonMinusDefinition();
-
-  G4ParticleDefinition* theNeutrinoMu = G4NeutrinoMu::NeutrinoMuDefinition();
-  G4ParticleDefinition* theAntiNeutrinoMu = G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
-
-  G4ParticleDefinition* lambdacPlus = G4LambdacPlus::LambdacPlusDefinition();
-
-  //  G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
-  //  G4ParticleDefinition* deltaPlus = particleTable->FindParticle("delta+");
-  //  G4ParticleDefinition* deltaPlus = particleTable->FindParticle("N(1440)0");
-
-  G4ShortLivedConstructor ShortLived;
-  G4ShortLivedTable ShortLivedTab;
-  ShortLived.ConstructParticle();
-
-  G4int DEBUG;
-  cout << "insert Debug value 0/1" << G4endl;
-  G4cin >> DEBUG;
-
-  // Select track 1
-  
-  G4cout << "---- Set KineticTrack 1 ----" << G4endl;
-  G4int id1 = 0;
-  G4cout << "1 p   2 ap   3 n   4 an   5 pi+   6 pi-   7 K+   8 K-  " << G4endl;
-  G4cin >> id1;
-
-  G4ParticleDefinition* definition1;
-  switch (id1)
-    {
-    case 1:
-      definition1 = proton;
-      break;
-    case 2:
-      definition1 = antiProton;
-      break;
-    case 3:
-      definition1 = neutron;
-      break;
-    case 4:
-      definition1 = antiNeutron;
-      break;
-    case 5:
-      definition1 = pionPlus;
-      break;
-    case 6:
-      definition1 = pionMinus;
-      break;
-    case 7:
-      definition1 = kaonPlus;
-      break;
-    case 8:
-      definition1 = kaonMinus;
-      break;
-      //    case 9:
-      //      definition1 = deltaPlus;
-      //      break;
-    default:
-      definition1 = proton;
-      break;
-    }
-  if(DEBUG==1)cout << definition1 << G4endl;
-  G4double mass1 = definition1->GetPDGMass();
-  G4String name1;
-  if(DEBUG==1)name1 = definition1->GetParticleName();
-  if(DEBUG==1)cout << "Particle Type: " << name1 << G4endl;
-  if(DEBUG==1)cout << "Particle Mass: " << mass1 << G4endl;
-
-
- // Formation time
-  G4double time1 = 0.;
-
-  // Initial position
-  G4double x1 = 0.;
-  G4double y1 = 0.;
-  G4double z1 = 0.;
-  G4ThreeVector pos1(x1*cm, y1*cm, z1*cm);
-
-  // Momentum
-  G4double px1 = 0. * GeV;
-  G4double py1 = 0. * GeV;
-  G4double pz1 = 0. * GeV; 
-  cout << " enter Pz (Px=Py=0.)" << G4endl;
-  G4cin >> pz1;
-  G4ThreeVector p1(px1,py1,pz1);
-  G4double e1 = sqrt(mass1*mass1 + p1.mag()*p1.mag());
-  G4LorentzVector p41(p1,e1);
-
-  G4KineticTrack mytrack;
-
-  G4int iter=0, iter_max;
-  cout << " Enter number of iteration" << G4endl;
-  G4cin >> iter_max;
-  while(iter < iter_max){
-    cout << " =================>   Processing event:......" << (iter+1) << G4endl;
-  mytrack=G4KineticTrack(definition1,time1,pos1,p41);
-  if(DEBUG==1)cout << mytrack.GetDefinition()->GetParticleName() << G4endl;
-  //  mytrack.SetFormationTime(time1);
-  //  mytrack.SetPosition(pos1);
-  //  mytrack.Set4Momentum(p41);
-
-  //  G4DecayTable Dectab=G4DecayTable();
-  //  definition1->SetDecayTable(&Dectab);
-  if(DEBUG==1){
-   cout << "\n " << G4endl;
-   definition1->DumpTable();
-   cout << "\n " << G4endl;}
-  G4DecayTable* TheDec=definition1->GetDecayTable();
-  //  cout << " n decay channels: " << TheDec << G4endl;
-  //  if(TheDec == NULL)cout << " **************** " << G4endl;
-
-  //  cout << " Table not yet dumped " << G4endl;
-  // TheDec->DumpInfo();
-  //  cout << " Table dumped " << G4endl;
-
-  G4KineticTrackVector* Dec = mytrack.Decay();
-  if(Dec != NULL){
-//    if(DEBUG==1)TheDec->DumpInfo();
-    if(DEBUG==1)cout << " Pointer to Decay Products: "<< Dec << G4endl;  
-    G4int nchan = TheDec->entries();
-    /*    G4double TheBR[10];
-    cout << nchan << G4endl;
-    for(int index=nchan-1; index >=0; index--){
-      TheBR[index]=TheDec->GetDecayChannel(index)->GetBR();
-      cout << " BR: " << TheBR[index] << G4endl;} */
-  } 
-
-  // get kinetictracks from kinetictracksvector
-
-  G4int nComponents = 0;
-  if (Dec != 0)
-    nComponents = Dec->entries();
-  else
-    continue;
-  G4int i;
-  G4LorentzVector Sumv=G4LorentzVector();
-      G4double pxx1=-999.;
-      G4double pyy1=-999.;
-      G4double pzz1=-999.;
-      G4double pxx2=-999.;
-      G4double pyy2=-999.;
-      G4double pzz2=-999.;
-      G4double pxx3=-999.;
-      G4double pyy3=-999.;
-      G4double pzz3=-999.;
-  for (i=0; i<nComponents; i++)
-    {
-      if(DEBUG==1)G4cout << "* Component " << i << ": " <<
-	Dec->at(i)->GetDefinition()->GetParticleName() << "  " <<
-	Dec->at(i)->GetPosition() << "  " <<
-	Dec->at(i)->Get4Momentum() << "  " <<
-	G4endl;
-      
-      switch (i) {
-      case 0:
-        pxx1=Dec->at(i)->Get4Momentum().px();
-        pyy1=Dec->at(i)->Get4Momentum().py();
-        pzz1=Dec->at(i)->Get4Momentum().pz();
-        break;
-      case 1:
-        pxx2=Dec->at(i)->Get4Momentum().px();
-        pyy2=Dec->at(i)->Get4Momentum().py();
-        pzz2=Dec->at(i)->Get4Momentum().pz();
-        break;
-      case 2:
-        pxx3=Dec->at(i)->Get4Momentum().px();
-        pyy3=Dec->at(i)->Get4Momentum().py();
-        pzz3=Dec->at(i)->Get4Momentum().pz();
-        break;}      
-        Sumv=Sumv+Dec->at(i)->Get4Momentum();
-    }
-  G4double mass=Sumv.m()/1000.;
-  if(DEBUG==1)cout << "Mass:" << mass << G4endl;
-
-  ntuple->column("mass",mass);
-  ntuple->column("px1",pxx1);
-  ntuple->column("px2",pxx2);
-  ntuple->column("px3",pxx3);
-  ntuple->column("py1",pyy1);
-  ntuple->column("py2",pyy2);
-  ntuple->column("py3",pyy3);
-  ntuple->column("pz1",pzz1);
-  ntuple->column("pz2",pzz2);
-  ntuple->column("pz3",pzz3);
-  //  ntuple->column("id",i);
-  ntuple->dumpData();
-
-  iter++;
-  int k;
-  }  
-  hbookManager->write();
-
-  //  delete source;
-
-  return EXIT_SUCCESS;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Index: trunk/source/processes/hadronic/models/binary_cascade/test/G4Fancy3DNucleusTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/binary_cascade/test/G4Fancy3DNucleusTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,120 +1,0 @@
-//
-// ********************************************************************
-// * DISCLAIMER                                                       *
-// *                                                                  *
-// * The following disclaimer summarizes all the specific disclaimers *
-// * of contributors to this software. The specific disclaimers,which *
-// * govern, are listed with their locations in:                      *
-// *   http://cern.ch/geant4/license                                  *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.                                                             *
-// *                                                                  *
-// * This  code  implementation is the  intellectual property  of the *
-// * GEANT4 collaboration.                                            *
-// * By copying,  distributing  or modifying the Program (or any work *
-// * based  on  the Program)  you indicate  your  acceptance of  this *
-// * statement, and all its terms.                                    *
-// ********************************************************************
-//
-#include "G4NuclearShellModelDensity.hh"
-#include "G4NuclearFermiDensity.hh"
-#include "G4FermiMomentum.hh"
-
-#include "G4NucleiProperties.hh"
-#include "G4ParticleTable.hh"
-#include "G4IonTable.hh"
-#include "globals.hh"
-#include "G4Fancy3DNucleus.hh"
-#include "G4KineticTrackVectorSTL.hh"
-#include "G4ThreeVector.hh"
-#include "G4LorentzVector.hh"
-
-G4V3DNucleus * the3DNucleus;
-G4KineticTrackVectorSTL theTargetList;
-
-void BuildTargetList();
-G4ThreeVector GetSpherePoint(G4double r);
-
-int main(int argc, char ** argv)
-{
-  G4int A, Z, nEvents;
-
-  if(argc != 4)
-  {
-    cout << "Input A and Z: ";
-    cin >> A >> Z;
-    cout << "Input number of events: ";
-    cin >> nEvents;
-  }
-  else
-  {
-    A = atoi(argv[1]);
-    Z = atoi(argv[2]);
-    nEvents = atoi(argv[3]);
-  }
-
-  G4KineticTrackVectorSTL::iterator iter;
-  for(G4int i = 0; i < nEvents; ++i)
-  {
-// create the nucleus
-    the3DNucleus = new G4Fancy3DNucleus;
-    the3DNucleus->Init(A, Z);
-// create theTargetList
-    BuildTargetList();
-    G4LorentzVector totalMom(0, 0, 0, 0);
-    for(iter = theTargetList.begin(); iter != theTargetList.end(); ++iter)
-    {
-      G4ThreeVector pos = (1/fermi)*(*iter)->GetPosition();
-      G4LorentzVector mom = (1/MeV)*(*iter)->Get4Momentum();
-      totalMom+=mom;
-      cout << pos.x() << " " << pos.y() << " " << pos.z() << " "
-	   << pos.mag() << " " << mom.x() << " " << mom.y() << " "
-	   << mom.z() << " " << mom.t() << " " << mom.vect().mag()
-	   << " " << mom.mag() << endl;
-    }
-    cerr << totalMom.x() << " " << totalMom.y() << " "
-	 << totalMom.z() << " " << totalMom.t() << " "
-	 << totalMom.vect().mag() << " " << totalMom.mag() << " "
-	 << (1/MeV) * G4ParticleTable::GetParticleTable()->GetIonTable()->GetIonMass(Z, A)
-	 << endl;
-  }
-  return 0;
-}
-
-void BuildTargetList()
-{
-  G4KineticTrackVectorSTL::iterator iter;
-  for(iter = theTargetList.begin(); iter != theTargetList.end(); ++iter)
-    delete (*iter);
-
-  theTargetList.clear();
-
-  if(!the3DNucleus->StartLoop())
-  {
-    G4cerr << "G4HadronKineticModel::BuildTargetList(): StartLoop() error!"
-	   << G4endl;
-    return;
-  }
-  G4Nucleon * nucleon;
-  G4ParticleDefinition * definition;
-  G4ThreeVector pos;
-  G4LorentzVector mom;
-  while((nucleon = the3DNucleus->GetNextNucleon()) != NULL)
-  {
-    definition = nucleon->GetDefinition();
-    pos = nucleon->GetPosition();
-    mom = nucleon->GetMomentum();
-    G4KineticTrack * kt = new G4KineticTrack(definition, 0., pos, mom);
-    theTargetList.push_back(kt);
-  }
-}
-
-
-
-
-
-
Index: trunk/source/processes/hadronic/models/binary_cascade/test/G4Fancy3DNucleusTestBis.cc
===================================================================
--- trunk/source/processes/hadronic/models/binary_cascade/test/G4Fancy3DNucleusTestBis.cc	(revision 1350)
+++ 	(revision )
@@ -1,81 +1,0 @@
-//
-// ********************************************************************
-// * DISCLAIMER                                                       *
-// *                                                                  *
-// * The following disclaimer summarizes all the specific disclaimers *
-// * of contributors to this software. The specific disclaimers,which *
-// * govern, are listed with their locations in:                      *
-// *   http://cern.ch/geant4/license                                  *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.                                                             *
-// *                                                                  *
-// * This  code  implementation is the  intellectual property  of the *
-// * GEANT4 collaboration.                                            *
-// * By copying,  distributing  or modifying the Program (or any work *
-// * based  on  the Program)  you indicate  your  acceptance of  this *
-// * statement, and all its terms.                                    *
-// ********************************************************************
-//
-//#include "G4NuclearShellModelDensity.hh"
-//#include "G4NuclearFermiDensity.hh"
-//#include "G4FermiMomentum.hh"
-
-#include "G4NucleiProperties.hh"
-#include "G4ParticleTable.hh"
-#include "G4IonTable.hh"
-#include "globals.hh"
-#include "G4Fancy3DNucleus.hh"
-//#include "G4ThreeVector.hh"
-#include "G4LorentzVector.hh"
-
-int main(int argc, char ** argv)
-{
-  G4int A, Z, nEvents;
-
-  if(argc != 4)
-  {
-    cout << "Input A and Z: ";
-    cin >> A >> Z;
-    cout << "Input number of events: ";
-    cin >> nEvents;
-  }
-  else
-  {
-    A = atoi(argv[1]);
-    Z = atoi(argv[2]);
-    nEvents = atoi(argv[3]);
-  }
-
-  for(G4int i = 0; i < nEvents; ++i)
-  {
-// create the nucleus
-    G4V3DNucleus * the3DNucleus = new G4Fancy3DNucleus;
-    the3DNucleus->Init(A, Z);
-
-    if(!the3DNucleus->StartLoop())
-    {
-      cout << "G4Fancy3DNucleus::StartLoop() error." << endl;
-      return 1;
-    }
-    G4Nucleon * nucleon;
-    G4ThreeVector pos;
-    G4LorentzVector mom;
-    G4LorentzVector totalMom(0, 0, 0, 0);
-    while((nucleon = the3DNucleus->GetNextNucleon()) != NULL)
-    {
-      mom = nucleon->GetMomentum();
-      totalMom += mom;
-    }
-    cout << totalMom.x() << " " << totalMom.y() << " "
-	 << totalMom.z() << " " << totalMom.t() << " "
-	 << totalMom.vect().mag() << " " << totalMom.mag() << " "
-	 << (1/MeV) * G4ParticleTable::GetParticleTable()->GetIonTable()->GetIonMass(Z, A)
-	 << endl;
-  }
-  return 0;
-}
-
Index: trunk/source/processes/hadronic/models/binary_cascade/test/G4FermiMomentumTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/binary_cascade/test/G4FermiMomentumTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,74 +1,0 @@
-//
-// ********************************************************************
-// * DISCLAIMER                                                       *
-// *                                                                  *
-// * The following disclaimer summarizes all the specific disclaimers *
-// * of contributors to this software. The specific disclaimers,which *
-// * govern, are listed with their locations in:                      *
-// *   http://cern.ch/geant4/license                                  *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.                                                             *
-// *                                                                  *
-// * This  code  implementation is the  intellectual property  of the *
-// * GEANT4 collaboration.                                            *
-// * By copying,  distributing  or modifying the Program (or any work *
-// * based  on  the Program)  you indicate  your  acceptance of  this *
-// * statement, and all its terms.                                    *
-// ********************************************************************
-//
-#include "globals.hh"
-#include "G4FermiMomentum.hh"
-#include "G4NuclearShellModelDensity.hh"
-#include "G4NuclearFermiDensity.hh"
-#include "G4Fancy3DNucleus.hh"
-
-
-int main(int argc, char ** argv)
-{
-  G4int A, Z, nEvents;
-
-  if(argc != 4)
-  {
-    cout << "Input A and Z: ";
-    cin >> A >> Z;
-    cout << "Input number of events: ";
-    cin >> nEvents;
-  }
-  else
-  {
-    A = atoi(argv[1]);
-    Z = atoi(argv[2]);
-    nEvents = atoi(argv[3]);
-  }
-
-  G4VNuclearDensity * density;
-  if(A < 17)
-    density = new G4NuclearShellModelDensity(A, Z);
-  else
-    density = new G4NuclearFermiDensity(A, Z);
-
-  G4FermiMomentum fermiMom;
-  fermiMom.Init(A, Z);
-
-  G4Fancy3DNucleus nucleus;
-  nucleus.Init(A, Z);
-  G4double radius = nucleus.GetOuterRadius();
-  G4double step = radius/1000.;
-  G4double r = 0;
-  while(r < 2*radius)
-  {
-    G4ThreeVector pos(0, 0, r);
-    G4double d = density->GetDensity(pos);
-    G4double p = fermiMom.GetFermiMomentum(d);
-    G4ThreeVector mom = fermiMom.GetMomentum(d);
-    cout << p/MeV << " " << (1/MeV)*mom.x() << " " << (1/MeV)*mom.y() << " "
-	 << (1/MeV)*mom.z() << " " << (1/MeV)*mom.mag() << " " << r/fermi
-	 << endl;
-    r += step;
-  }
-  return 0;
-}
Index: trunk/source/processes/hadronic/models/binary_cascade/test/G4NuclearDensityTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/binary_cascade/test/G4NuclearDensityTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,79 +1,0 @@
-//
-// ********************************************************************
-// * DISCLAIMER                                                       *
-// *                                                                  *
-// * The following disclaimer summarizes all the specific disclaimers *
-// * of contributors to this software. The specific disclaimers,which *
-// * govern, are listed with their locations in:                      *
-// *   http://cern.ch/geant4/license                                  *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.                                                             *
-// *                                                                  *
-// * This  code  implementation is the  intellectual property  of the *
-// * GEANT4 collaboration.                                            *
-// * By copying,  distributing  or modifying the Program (or any work *
-// * based  on  the Program)  you indicate  your  acceptance of  this *
-// * statement, and all its terms.                                    *
-// ********************************************************************
-//
-#include "G4VKM_NuclearDensity.hh"
-#include "G4KM_NuclearFermiDensity.hh"
-#include "G4KM_NuclearShellModelDensity.hh"
-#include "G4VNuclearDensity.hh"
-#include "G4NuclearFermiDensity.hh"
-#include "G4NuclearShellModelDensity.hh"
-#include "G4Fancy3DNucleus.hh"
-
-
-
-int main(int argc, char ** argv)
-{
-  // Get nucleus
-  G4int A, Z;
-  if(argc != 3)
-  {
-    cerr << "Wrong arguments. Please, enter A and Z for the nucleus: ";
-    cin >> A >> Z;
-  }
-  else
-  {
-    A = atoi(argv[1]);
-    Z = atoi(argv[2]);
-  }
-
-  G4VNuclearDensity *g4Density;
-  G4VKM_NuclearDensity * nuclearDensity;
-  if(A < 17)
-  {
-    g4Density = new G4NuclearShellModelDensity(A, Z);
-    nuclearDensity = new G4KM_NuclearShellModelDensity(A);
-  }
-  else
-  {
-    g4Density = new G4NuclearFermiDensity(A, Z);
-    nuclearDensity = new G4KM_NuclearFermiDensity(A);
-  }
-
-  G4Fancy3DNucleus nucleus;
-  nucleus.Init(A, Z);
-  G4double radius = nucleus.GetOuterRadius();
-  G4double step = radius/1000.;
-  G4double r = 0;
-  while(r < 2*radius)
-    {
-      G4ThreeVector pos(0, 0, r);
-      cout << nuclearDensity->GetDensity(pos)*fermi*fermi*fermi << " "
-	   << g4Density->GetDensity(pos)*fermi*fermi*fermi << " "
-	   << nuclearDensity->GetDeriv(pos)*fermi*fermi*fermi*fermi << " "
-	   << g4Density->GetDeriv(pos)*fermi*fermi*fermi*fermi << " "
-	   << r/fermi << endl;
-      r += step;
-    }
-
-  return 0;
-}
-
Index: trunk/source/processes/hadronic/models/binary_cascade/test/G4NuclearFieldTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/binary_cascade/test/G4NuclearFieldTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,112 +1,0 @@
-//
-// ********************************************************************
-// * DISCLAIMER                                                       *
-// *                                                                  *
-// * The following disclaimer summarizes all the specific disclaimers *
-// * of contributors to this software. The specific disclaimers,which *
-// * govern, are listed with their locations in:                      *
-// *   http://cern.ch/geant4/license                                  *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.                                                             *
-// *                                                                  *
-// * This  code  implementation is the  intellectual property  of the *
-// * GEANT4 collaboration.                                            *
-// * By copying,  distributing  or modifying the Program (or any work *
-// * based  on  the Program)  you indicate  your  acceptance of  this *
-// * statement, and all its terms.                                    *
-// ********************************************************************
-//
-#include "G4VNuclearField.hh"
-#include "G4AntiProtonField.hh"
-#include "G4PionZeroField.hh"
-#include "G4ProtonField.hh"
-#include "G4KaonMinusField.hh"
-#include "G4SigmaMinusField.hh"
-#include "G4KaonPlusField.hh"
-#include "G4SigmaPlusField.hh"
-#include "G4KaonZeroField.hh"
-#include "G4SigmaZeroField.hh"
-#include "G4NeutronField.hh"
-#include "G4PionMinusField.hh"
-#include "G4VNuclearField.hh"
-#include "G4PionPlusField.hh"
-#include "G4Fancy3DNucleus.hh"
-
-int main(int argc, char ** argv)
-{
-  // Get nucleus
-  G4int A, Z;
-  if(argc != 3)
-    {
-      cerr << "Wrong arguments. Please, enter A and Z for the nucleus: ";
-      cin >> A >> Z;
-    }
-  else
-    {
-      A = atoi(argv[1]);
-      Z = atoi(argv[2]);
-    }
-
-  G4V3DNucleus * nucleus = new G4Fancy3DNucleus;
-  nucleus->Init(A, Z);
-  G4VNuclearField * pro = new G4ProtonField(nucleus);
-  G4VNuclearField * neu = new G4NeutronField(nucleus);
-  G4VNuclearField * pbar = new G4AntiProtonField(nucleus);
-  G4VNuclearField * pip = new G4PionPlusField(nucleus);
-  G4VNuclearField * pi0 = new G4PionZeroField(nucleus);
-  G4VNuclearField * pim = new G4PionMinusField(nucleus);
-  G4VNuclearField * kp = new G4KaonPlusField(nucleus);
-  G4VNuclearField * k0 = new G4KaonZeroField(nucleus);
-  G4VNuclearField * km = new G4KaonMinusField(nucleus);
-  G4VNuclearField * sp = new G4SigmaPlusField(nucleus);
-  G4VNuclearField * s0 = new G4SigmaZeroField(nucleus);
-  G4VNuclearField * sm = new G4SigmaMinusField(nucleus);
-
-  G4double radius = nucleus->GetOuterRadius();
-  G4double step = radius/1000.;
-  G4double r = 0;
-  
-  G4cout << "C Nucradius proton Neutron Pbar Pi+ Pi0 Pi- K+ K0 K- Sigma+ Sigma0 Sigma-" << G4endl;
-  G4cout << "C " << radius << " " 
-  	   << pro->GetBarrier()/MeV << " "
-	   << neu->GetBarrier()/MeV << " "
-	   << pbar->GetBarrier()/MeV << " "
-	   << pip->GetBarrier()/MeV << " "
-	   << pi0->GetBarrier()/MeV << " "
-	   << pim->GetBarrier()/MeV << " "
-	   << kp->GetBarrier()/MeV << " "
-	   << k0->GetBarrier()/MeV << " "
-	   << km->GetBarrier()/MeV << " "
-	   << sp->GetBarrier()/MeV << " "
-	   << s0->GetBarrier()/MeV << " "
-	   << sm->GetBarrier()/MeV << " "
-	   << G4endl;
-
-  G4cout << "C radius proton Neutron Pbar Pi+ Pi0 Pi- K+ K0 K- Sigma+ Sigma0 Sigma-" << G4endl;
-  while(r < 1.1*radius)
-    {
-      G4ThreeVector pos(0, 0, r);
-      G4cout << r/fermi << " "
-           << pro->GetField(pos)/MeV << " "
-	   << neu->GetField(pos)/MeV << " "
-	   << pbar->GetField(pos)/MeV << " "
-	   << pip->GetField(pos)/MeV << " "
-	   << pi0->GetField(pos)/MeV << " "
-	   << pim->GetField(pos)/MeV << " "
-	   << kp->GetField(pos)/MeV << " "
-	   << k0->GetField(pos)/MeV << " "
-	   << km->GetField(pos)/MeV << " "
-	   << sp->GetField(pos)/MeV << " "
-	   << s0->GetField(pos)/MeV << " "
-	   << sm->GetField(pos)/MeV << " "
-	   << G4endl;
-      r += step;
-    }
-
-  return 0;
-}
-
Index: trunk/source/processes/hadronic/models/binary_cascade/test/G4ParticleDump.cc
===================================================================
--- trunk/source/processes/hadronic/models/binary_cascade/test/G4ParticleDump.cc	(revision 1350)
+++ 	(revision )
@@ -1,225 +1,0 @@
-//
-// ********************************************************************
-// * DISCLAIMER                                                       *
-// *                                                                  *
-// * The following disclaimer summarizes all the specific disclaimers *
-// * of contributors to this software. The specific disclaimers,which *
-// * govern, are listed with their locations in:                      *
-// *   http://cern.ch/geant4/license                                  *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.                                                             *
-// *                                                                  *
-// * This  code  implementation is the  intellectual property  of the *
-// * GEANT4 collaboration.                                            *
-// * By copying,  distributing  or modifying the Program (or any work *
-// * based  on  the Program)  you indicate  your  acceptance of  this *
-// * statement, and all its terms.                                    *
-// ********************************************************************
-//
-//
-// -------------------------------------------------------------------
-//      GEANT 4 class file --- Copyright CERN 1998
-//      CERN Geneva Switzerland
-//
-//
-//      File name:     G4ParticleDump.cc
-//
-//      Author:        Maria Grazia Pia (pia@genova.infn.it), 
-// 
-//      Creation date: 15 April 1999
-//
-//      Modifications: 
-//
-// -------------------------------------------------------------------
-
-#include "globals.hh"
-
-#include "G4ios.hh"
-#include <fstream>
-#include <iomanip>
-#include <iostream>
-#include <assert.h>
-#include <vector>
-
-#include "CLHEP/Hist/TupleManager.h"
-#include "CLHEP/Hist/HBookFile.h"
-#include "CLHEP/Hist/Histogram.h"
-#include "CLHEP/Hist/Tuple.h"
-
-#include "Randomize.hh"
-
-#include "G4AntiProton.hh"
-#include "G4AntiNeutron.hh"
-#include "G4Proton.hh"
-#include "G4Neutron.hh"
-#include "G4PionPlus.hh"
-#include "G4PionMinus.hh"
-#include "G4PionZero.hh"
-#include "G4Gamma.hh"
-#include "G4MuonMinus.hh"
-#include "G4MuonPlus.hh"
-#include "G4KaonMinus.hh"
-#include "G4KaonPlus.hh"
-#include "G4NeutrinoMu.hh"
-#include "G4AntiNeutrinoMu.hh"
-#include "G4Lambda.hh"
-
-#include "G4ParticleDefinition.hh"
-
-#include "G4VDecayChannel.hh"
-#include "G4DecayTable.hh"
-
-#include "G4KineticTrack.hh"
-#include "G4KineticTrackVector.hh"
-
-#include "G4VShortLivedParticle.hh"
-#include "G4ShortLivedConstructor.hh"
-#include "G4ParticleTable.hh"
-#include "G4ShortLivedTable.hh"
-
-#include "G4VXResonanceTable.hh"
-#include "G4XNNstarTable.hh"
-#include "G4XDeltaNstarTable.hh"
-#include "G4XDeltaDeltaTable.hh"
-#include "G4XNDeltaTable.hh"
-#include "G4XNDeltastarTable.hh"
-#include "G4XDeltaDeltastarTable.hh"
-
-#include "G4ResonanceNames.hh"
-
-
-int main()
-{
-
-  // ==== Initialization phase ====
-
-  G4ParticleDefinition* gamma = G4Gamma::GammaDefinition();
-
-  G4ParticleDefinition* proton = G4Proton::ProtonDefinition();
-  G4ParticleDefinition* antiProton = G4AntiProton::AntiProtonDefinition();
-  G4ParticleDefinition* neutron = G4Neutron::NeutronDefinition();   
-  G4ParticleDefinition* antiNeutron = G4AntiNeutron::AntiNeutronDefinition();   
-
-  G4ParticleDefinition* pionPlus = G4PionPlus::PionPlusDefinition();
-  G4ParticleDefinition* pionMinus = G4PionMinus::PionMinusDefinition();
-  G4ParticleDefinition* pionZero = G4PionZero::PionZeroDefinition();
-
-  G4ParticleDefinition* kaonPlus = G4KaonPlus::KaonPlusDefinition();
-  G4ParticleDefinition* kaonMinus = G4KaonMinus::KaonMinusDefinition();
-   
-  G4ParticleDefinition* lambda = G4Lambda::LambdaDefinition();
-
-  G4ParticleDefinition* theMuonPlus = G4MuonPlus::MuonPlusDefinition();
-  G4ParticleDefinition* theMuonMinus = G4MuonMinus::MuonMinusDefinition();
-
-  G4ParticleDefinition* theNeutrinoMu = G4NeutrinoMu::NeutrinoMuDefinition();
-  G4ParticleDefinition* theAntiNeutrinoMu = G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
-
-  // Construct resonances
-  G4ShortLivedConstructor shortLived;
-  shortLived.ConstructParticle();
-
-  // Get the particle table
-  G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
-
-  // ==== End of the initialization phase ====
-
-  // The list of resonances handled by the Kinetic Model
-  G4ResonanceNames* resonanceList = new G4ResonanceNames;
-
-  // ==== Nucleons ====
-
-  G4cout << proton->GetParticleName() 
-	 <<": mass " << proton->GetPDGMass()
-	 <<", width " << proton->GetPDGWidth()
-	 <<", iSpin "<< proton->GetPDGiSpin()
-	 <<", iIsospin " << proton->GetPDGiIsospin()
-	 <<", iIsospin3 " << proton->GetPDGiIsospin3() 
-         <<", subType " << proton->GetParticleSubType()
-	 << G4endl; 
-
-  G4cout << neutron->GetParticleName() 
-	 <<": mass " << neutron->GetPDGMass()
-	 <<", width " << neutron->GetPDGWidth()
-	 <<", iSpin "<< neutron->GetPDGiSpin()
-	 <<", iIsospin " << neutron->GetPDGiIsospin()
-	 <<", iIsospin3 " << neutron->GetPDGiIsospin3() 
-         <<", subType " << neutron->GetParticleSubType()
-	 << G4endl; 
-
-  // ===== Delta =====
-
-  const std::vector<G4String> listDelta = resonanceList->DeltaNames();
-  G4int nDelta = listDelta.size();
-  G4cout << G4endl << "===== Delta ===== " << G4endl;
-
-  G4int i;
-  for (i=0; i<nDelta; i++)
-    {
-      // Particle information
-      G4String name = listDelta[i];
-      G4ParticleDefinition* def = particleTable->FindParticle(name);
-      if (def == 0) G4cout << name << "does not have a ParticleDefinition " << G4endl;
-      G4cout << def->GetParticleName() 
-	     <<": mass " << def->GetPDGMass()
-	     <<", width " << def->GetPDGWidth()
-	     <<", iSpin "<< def->GetPDGiSpin()
-	     <<", iIsospin " << def->GetPDGiIsospin()
-	     <<", iIsospin3 " << def->GetPDGiIsospin3()
-	     <<", subType " << def->GetParticleSubType()
-	     << G4endl; 
-    }
-
-  // Excited Nucleons =====
-
-  G4cout << G4endl << "===== Excited Nucleons ===== " << G4endl;
-
-  const std::vector<G4String> listNstar = resonanceList->NstarNames();
-  G4int nNstar = listNstar.size();
-
-  for (i=0; i<nNstar; i++)
-    {
-      G4String name = listNstar[i];
-      G4ParticleDefinition* def = particleTable->FindParticle(name);
-      if (def == 0) G4cout << name << "does not have a ParticleDefinition " << G4endl;
-      G4cout << def->GetParticleName() 
-	     <<": mass " << def->GetPDGMass()
-	     <<", width " << def->GetPDGWidth()
-	     <<", iSpin "<< def->GetPDGiSpin()
-	     <<", iIsospin " << def->GetPDGiIsospin()
-	     <<", iIsospin3 " << def->GetPDGiIsospin3() 
-	     <<", subType " << def->GetParticleSubType()
-	     << G4endl; 
-    }
-
-  // ===== Excited Deltas ===== 
-
-  G4cout << G4endl << "===== Excited Deltas ===== " << G4endl;
-
-  const std::vector<G4String> listDeltastar = resonanceList->DeltastarNames();
-  G4int nDeltastar = listDeltastar.size();
-
-  for (i=0; i<nDeltastar; i++)
-    {
-      G4String name = listDeltastar[i];
-      G4ParticleDefinition* def = particleTable->FindParticle(name);
-      if (def == 0) G4cout << name << "does not have a ParticleDefinition " << G4endl;
-      G4cout << def->GetParticleName() 
-	     <<": mass " << def->GetPDGMass()
-	     <<", width " << def->GetPDGWidth()
-	     <<", iSpin "<< def->GetPDGiSpin()
-	     <<", iIsospin " << def->GetPDGiIsospin()
-	     <<", iIsospin3 " << def->GetPDGiIsospin3() 
-	     <<", subType " << def->GetParticleSubType()
-	     << G4endl; 
-    }
-  
-
-  delete resonanceList;
-
-  return EXIT_SUCCESS;
-}
Index: trunk/source/processes/hadronic/models/binary_cascade/test/G4ResonanceListTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/binary_cascade/test/G4ResonanceListTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,430 +1,0 @@
-//
-// ********************************************************************
-// * DISCLAIMER                                                       *
-// *                                                                  *
-// * The following disclaimer summarizes all the specific disclaimers *
-// * of contributors to this software. The specific disclaimers,which *
-// * govern, are listed with their locations in:                      *
-// *   http://cern.ch/geant4/license                                  *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.                                                             *
-// *                                                                  *
-// * This  code  implementation is the  intellectual property  of the *
-// * GEANT4 collaboration.                                            *
-// * By copying,  distributing  or modifying the Program (or any work *
-// * based  on  the Program)  you indicate  your  acceptance of  this *
-// * statement, and all its terms.                                    *
-// ********************************************************************
-//
-//
-// -------------------------------------------------------------------
-//      GEANT 4 class file --- Copyright CERN 1998
-//      CERN Geneva Switzerland
-//
-//
-//      File name:     G4ResonanceListTest.cc
-//
-//      Author:        Maria Grazia Pia (pia@genova.infn.it), 
-// 
-//      Creation date: 15 April 1999
-//
-//      Modifications: 
-//
-// -------------------------------------------------------------------
-
-#include "globals.hh"
-
-#include "G4ios.hh"
-#include <fstream>
-#include <iomanip>
-#include <iostream>
-#include <assert.h>
-#include <vector>
-
-#include "CLHEP/Hist/TupleManager.h"
-#include "CLHEP/Hist/HBookFile.h"
-#include "CLHEP/Hist/Histogram.h"
-#include "CLHEP/Hist/Tuple.h"
-
-#include "Randomize.hh"
-
-#include "G4AntiProton.hh"
-#include "G4AntiNeutron.hh"
-#include "G4Proton.hh"
-#include "G4Neutron.hh"
-#include "G4PionPlus.hh"
-#include "G4PionMinus.hh"
-#include "G4PionZero.hh"
-#include "G4Gamma.hh"
-#include "G4MuonMinus.hh"
-#include "G4MuonPlus.hh"
-#include "G4KaonMinus.hh"
-#include "G4KaonPlus.hh"
-#include "G4NeutrinoMu.hh"
-#include "G4AntiNeutrinoMu.hh"
-#include "G4Lambda.hh"
-
-#include "G4ParticleDefinition.hh"
-
-#include "G4VDecayChannel.hh"
-#include "G4DecayTable.hh"
-
-#include "G4KineticTrack.hh"
-#include "G4KineticTrackVector.hh"
-
-#include "G4VShortLivedParticle.hh"
-#include "G4ShortLivedConstructor.hh"
-#include "G4ParticleTable.hh"
-#include "G4ShortLivedTable.hh"
-
-#include "G4VXResonanceTable.hh"
-#include "G4XNNstarTable.hh"
-#include "G4XDeltaNstarTable.hh"
-#include "G4XDeltaDeltaTable.hh"
-#include "G4XNDeltaTable.hh"
-#include "G4XNDeltastarTable.hh"
-#include "G4XDeltaDeltastarTable.hh"
-
-#include "G4ResonanceNames.hh"
-
-
-int main()
-{
-  // MGP ---- HBOOK initialization
-  HepTupleManager* hbookManager;
-  G4String fileName = "xtables.hbook";
-  hbookManager = new HBookFile(fileName, 58);
-  assert (hbookManager != 0);
-
-  // ==== Initialization phase ====
-
-  G4ParticleDefinition* gamma = G4Gamma::GammaDefinition();
-
-  G4ParticleDefinition* proton = G4Proton::ProtonDefinition();
-  G4ParticleDefinition* antiProton = G4AntiProton::AntiProtonDefinition();
-  G4ParticleDefinition* neutron = G4Neutron::NeutronDefinition();   
-  G4ParticleDefinition* antiNeutron = G4AntiNeutron::AntiNeutronDefinition();   
-
-  G4ParticleDefinition* pionPlus = G4PionPlus::PionPlusDefinition();
-  G4ParticleDefinition* pionMinus = G4PionMinus::PionMinusDefinition();
-  G4ParticleDefinition* pionZero = G4PionZero::PionZeroDefinition();
-
-  G4ParticleDefinition* kaonPlus = G4KaonPlus::KaonPlusDefinition();
-  G4ParticleDefinition* kaonMinus = G4KaonMinus::KaonMinusDefinition();
-   
-  G4ParticleDefinition* lambda = G4Lambda::LambdaDefinition();
-
-  G4ParticleDefinition* theMuonPlus = G4MuonPlus::MuonPlusDefinition();
-  G4ParticleDefinition* theMuonMinus = G4MuonMinus::MuonMinusDefinition();
-
-  G4ParticleDefinition* theNeutrinoMu = G4NeutrinoMu::NeutrinoMuDefinition();
-  G4ParticleDefinition* theAntiNeutrinoMu = G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
-
-  // Construct resonances
-  G4ShortLivedConstructor shortLived;
-  shortLived.ConstructParticle();
-
-  // Get the particle table
-  G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
-
-  // ==== End of the initialization phase ====
-
-  // The list of resonances handled by the Kinetic Model
-  G4ResonanceNames* resonanceList = new G4ResonanceNames;
-
-  // ==== Nucleons ====
-
-  G4cout << proton->GetParticleName() 
-	 <<": mass " << proton->GetPDGMass()
-	 <<", width " << proton->GetPDGWidth()
-	 <<", iSpin "<< proton->GetPDGiSpin()
-	 <<", iIsospin " << proton->GetPDGiIsospin()
-	 <<", iIsospin3 " << proton->GetPDGiIsospin3() 
-	 << G4endl; 
-
-  G4cout << neutron->GetParticleName() 
-	 <<": mass " << neutron->GetPDGMass()
-	 <<", width " << neutron->GetPDGWidth()
-	 <<", iSpin "<< neutron->GetPDGiSpin()
-	 <<", iIsospin " << neutron->GetPDGiIsospin()
-	 <<", iIsospin3 " << neutron->GetPDGiIsospin3() 
-	 << G4endl; 
-
-  // ===== Delta =====
-
-  const std::vector<G4String> listDelta = resonanceList->DeltaNames();
-  G4int nDelta = listDelta.size();
-  G4cout << G4endl << "===== Delta ===== " << G4endl;
-
-  G4int i;
-  for (i=0; i<nDelta; i++)
-    {
-      // Particle information
-      G4String name = listDelta[i];
-      G4ParticleDefinition* def = particleTable->FindParticle(name);
-      if (def == 0) G4cout << name << "does not have a ParticleDefinition " << G4endl;
-      G4cout << def->GetParticleName() 
-	     <<": mass " << def->GetPDGMass()
-	     <<", width " << def->GetPDGWidth()
-	     <<", iSpin "<< def->GetPDGiSpin()
-	     <<", iIsospin " << def->GetPDGiIsospin()
-	     <<", iIsospin3 " << def->GetPDGiIsospin3() 
-	     << G4endl; 
-    }
-
-  // pp -> N Delta cross section table
-  G4VXResonanceTable* tableND = new G4XNDeltaTable;
-  
-  for (i=0; i<nDelta; i+=4)
-    {
-      // Book a ntuple
-      G4String name = listDelta[i];
-      G4String ntName = "N " + name;
-      HepTuple* ntupleND = hbookManager->ntuple(ntName);
-      
-      G4String xName = " p p -> Delta " + name;
-      const G4PhysicsVector* sigma = tableND->CrossSectionTable(name);
-      G4int entries = ((G4PhysicsVector*) sigma)->GetVectorLength();
-      G4cout << "----------- " << xName <<" cross section table ----------- " 
-	     << G4endl;
-
-      // Fill the ntuple
-      G4int j;
-      for (j=0; j<entries; j++)
-	{
-	  const G4double energy = ((G4PhysicsVector*) sigma)->GetLowEdgeEnergy(j);
-	  G4bool dummy = false;
-	  G4double x = ((G4PhysicsVector*) sigma)->GetValue(energy,dummy) / millibarn;
-	  G4cout << j << ") energy = " << energy /GeV << " GeV - sigma = " << x << " mb " 
-		 << G4endl;
-	  ntupleND->column("e",energy /GeV);
-	  ntupleND->column("sigma",x);
-	  ntupleND->dumpData();
-	}
-      G4cout << ntName << " ntuple available" << G4endl;
-    }
-  delete tableND;
-
-  // pp -> Delta Delta cross section table
-  G4VXResonanceTable* tableDD = new G4XDeltaDeltaTable;
-
-  for (i=0; i<nDelta; i+=4)
-    {
-      // Book a ntuple
-      G4String name = listDelta[i];
-      G4String ntName = "delta " + name;
-      HepTuple* ntupleDD = hbookManager->ntuple(ntName);
-      
-      G4String xName = " p p -> Delta " + name;
-      const G4PhysicsVector* sigma = tableDD->CrossSectionTable(name);
-      G4int entries = ((G4PhysicsVector*) sigma)->GetVectorLength();
-      G4cout << "----------- " << xName << " cross section table ----------- " 
-	     << G4endl;
-
-      // Fill the ntuple
-      G4int j;
-      for (j=0; j<entries; j++)
-	{
-	  const G4double energy = ((G4PhysicsVector*) sigma)->GetLowEdgeEnergy(j);
-	  G4bool dummy = false;
-	  G4double x = ((G4PhysicsVector*) sigma)->GetValue(energy,dummy) / millibarn;
-	  G4cout << j << ") energy = " << energy /GeV << " GeV - sigma = " << x << " mb " 
-		 << G4endl;
-	  ntupleDD->column("e",energy /GeV);
-	  ntupleDD->column("sigma",x);
-	  ntupleDD->dumpData();
-	}
-      G4cout << ntName << " ntuple available" << G4endl;
-    }
-  delete tableDD;
-
-
-  // Excited Nucleons =====
-
-  G4cout << G4endl << "===== Excited Nucleons ===== " << G4endl;
-
-  const std::vector<G4String> listNstar = resonanceList->NstarNames();
-  G4int nNstar = listNstar.size();
-
-  for (i=0; i<nNstar; i++)
-    {
-      G4String name = listNstar[i];
-      G4ParticleDefinition* def = particleTable->FindParticle(name);
-      if (def == 0) G4cout << name << "does not have a ParticleDefinition " << G4endl;
-      G4cout << def->GetParticleName() 
-	     <<": mass " << def->GetPDGMass()
-	     <<", width " << def->GetPDGWidth()
-	     <<", iSpin "<< def->GetPDGiSpin()
-	     <<", iIsospin " << def->GetPDGiIsospin()
-	     <<", iIsospin3 " << def->GetPDGiIsospin3() 
-	     << G4endl; 
-    }
-
-  // pp -> N Nstar  cross section table
-  G4VXResonanceTable* tableNNstar = new G4XNNstarTable;
-  
-  for (i=0; i<nNstar; i+=2)
-    {
-      // Book a ntuple
-      G4String name = listNstar[i];
-      G4String ntName = "N " + name;
-      HepTuple* ntupleNNstar = hbookManager->ntuple(ntName);
-
-      G4String xName = " p p -> N " + name;
-      const G4PhysicsVector* sigma = tableNNstar->CrossSectionTable(name);
-      if (sigma == 0)
-	G4cout << name << " does not return a valid PhysicsVector " << G4endl;
-
-      G4int entries = ((G4PhysicsVector*) sigma)->GetVectorLength();
-      G4cout << "----------- " << xName << " cross section table ----------- " 
-	     << G4endl;
-
-      // Fill the ntuple
-      G4int j;
-      for (j=0; j<entries; j++)
-	{
-	  const G4double energy = ((G4PhysicsVector*) sigma)->GetLowEdgeEnergy(j);
-	  G4bool dummy = false;
-	  G4double x = ((G4PhysicsVector*) sigma)->GetValue(energy,dummy) / millibarn;
-	  G4cout << j << ") energy = " << energy /GeV << " GeV - sigma = " << x << " mb " 
-		 << G4endl;
-	  ntupleNNstar->column("e",energy /GeV);
-	  ntupleNNstar->column("sigma",x);
-	  ntupleNNstar->dumpData();
-	}
-      G4cout << ntName << " ntuple available" << G4endl;
-    }
-  delete tableNNstar;
-
-  // pp -> Nstar Delta cross section table
-  G4VXResonanceTable* tableDNstar = new G4XDeltaNstarTable;
-
-  for (i=0; i<nNstar; i+=2)
-    {
-      // Book a ntuple
-      G4String name = listNstar[i];
-      G4String ntName = "delta " + name;
-      HepTuple* ntupleDNstar = hbookManager->ntuple(ntName);
-
-      G4String xName = " p p -> Delta " + name;
-      const G4PhysicsVector* sigma = tableDNstar->CrossSectionTable(name);
-      G4int entries = ((G4PhysicsVector*) sigma)->GetVectorLength();
-      G4cout << "----------- " << xName << " cross section table ----------- " 
-	     << G4endl;
-
-      // Fill the ntuple
-      G4int j;
-      for (j=0; j<entries; j++)
-	{
-	  const G4double energy = ((G4PhysicsVector*) sigma)->GetLowEdgeEnergy(j);
-	  G4bool dummy = false;
-	  G4double x = ((G4PhysicsVector*) sigma)->GetValue(energy,dummy) / millibarn;
-	  G4cout << j << ") energy = " << energy /GeV << " GeV - sigma = " << x << " mb " 
-		 << G4endl;
-	  ntupleDNstar->column("e",energy /GeV);
-	  ntupleDNstar->column("sigma",x);
-	  ntupleDNstar->dumpData();
-	}
-      G4cout << ntName << " ntuple available" << G4endl;
-    }
-  delete tableDNstar;
-
-  // ===== Excited Deltas ===== 
-
-  G4cout << G4endl << "===== Excited Deltas ===== " << G4endl;
-
-  const std::vector<G4String> listDeltastar = resonanceList->DeltastarNames();
-  G4int nDeltastar = listDeltastar.size();
-
-  for (i=0; i<nDeltastar; i++)
-    {
-      G4String name = listDeltastar[i];
-      G4ParticleDefinition* def = particleTable->FindParticle(name);
-      if (def == 0) G4cout << name << "does not have a ParticleDefinition " << G4endl;
-      G4cout << def->GetParticleName() 
-	     <<": mass " << def->GetPDGMass()
-	     <<", width " << def->GetPDGWidth()
-	     <<", iSpin "<< def->GetPDGiSpin()
-	     <<", iIsospin " << def->GetPDGiIsospin()
-	     <<", iIsospin3 " << def->GetPDGiIsospin3() 
-	     << G4endl; 
-    }
-  
-  // pp -> N Deltastar cross section table
-  G4VXResonanceTable* tableNDstar = new G4XNDeltastarTable;
-       
-  for (i=0; i<nDeltastar; i+=4)
-    {
-      // Book a ntuple
-      G4String name = listDeltastar[i];
-      G4String ntName = "N " + name;
-      HepTuple* ntupleNDstar = hbookManager->ntuple(ntName);
-
-      G4String xName = " p p -> N " + name;
-      const G4PhysicsVector* sigma = tableNDstar->CrossSectionTable(name);
-      G4int entries = ((G4PhysicsVector*) sigma)->GetVectorLength();
-      G4cout << "----------- " << xName << " cross section table ----------- " 
-	     << G4endl;
-
-  // Fill the ntuple
-      G4int j;
-      for (j=0; j<entries; j++)
-	{
-	  const G4double energy = ((G4PhysicsVector*) sigma)->GetLowEdgeEnergy(j);
-	  G4bool dummy = false;
-	  G4double x = ((G4PhysicsVector*) sigma)->GetValue(energy,dummy) / millibarn;
-	  G4cout << j << ") energy = " << energy /GeV << " GeV - sigma = " << x << " mb " 
-		 << G4endl;
-	  ntupleNDstar->column("e",energy /GeV);
-	  ntupleNDstar->column("sigma",x);
-	  ntupleNDstar->dumpData();
-	}
-      G4cout << ntName << " ntuple available" << G4endl;
-    }
-  delete tableNDstar;
-
-  // pp -> Delta Deltastar cross section table
-  G4VXResonanceTable* tableDDstar = new G4XDeltaDeltastarTable;
-      
-  for (i=0; i<nDeltastar; i+=4)
-    {
-      // Book a ntuple
-      G4String name = listDeltastar[i];
-      G4String ntName = "delta " + name;
-      HepTuple* ntupleDDstar = hbookManager->ntuple(ntName);
-
-      G4String xName = " p p -> Delta " + name;
-      const G4PhysicsVector* sigma = tableDDstar->CrossSectionTable(name);
-      G4int entries = ((G4PhysicsVector*) sigma)->GetVectorLength();
-      G4cout << "----------- " << xName << " cross section table ----------- " 
-	     << G4endl;
-
-      // Fill the ntuple
-      G4int j;
-      for (j=0; j<entries; j++)
-	{
-	  const G4double energy = ((G4PhysicsVector*) sigma)->GetLowEdgeEnergy(j);
-	  G4bool dummy = false;
-	  G4double x = ((G4PhysicsVector*) sigma)->GetValue(energy,dummy) / millibarn;
-	  G4cout << j << ") energy = " << energy /GeV << " GeV - sigma = " << x << " mb " 
-		 << G4endl;
-	  ntupleDDstar->column("e",energy /GeV);
-	  ntupleDDstar->column("sigma",x);
-	  ntupleDDstar->dumpData();
-	}
-      G4cout << ntName << " ntuple available" << G4endl;
-    }
-  delete tableDDstar;
-
-  hbookManager->write();
-
-  G4cout << "ntuples are in file " << fileName<< G4endl;
-
-  delete resonanceList;
-
-  return EXIT_SUCCESS;
-}
Index: trunk/source/processes/hadronic/models/binary_cascade/test/G4ScattererStubTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/binary_cascade/test/G4ScattererStubTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,90 +1,0 @@
-//
-// ********************************************************************
-// * DISCLAIMER                                                       *
-// *                                                                  *
-// * The following disclaimer summarizes all the specific disclaimers *
-// * of contributors to this software. The specific disclaimers,which *
-// * govern, are listed with their locations in:                      *
-// *   http://cern.ch/geant4/license                                  *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.                                                             *
-// *                                                                  *
-// * This  code  implementation is the  intellectual property  of the *
-// * GEANT4 collaboration.                                            *
-// * By copying,  distributing  or modifying the Program (or any work *
-// * based  on  the Program)  you indicate  your  acceptance of  this *
-// * statement, and all its terms.                                    *
-// ********************************************************************
-//
-#include "G4ScattererStub.hh"
-#include "G4Proton.hh"
-#include "G4Neutron.hh"
-
-
-int main(int argc, char ** argv)
-{
-  G4int nEvents;
-  if(argc == 2)
-    nEvents = atoi(argv[1]);
-  else
-  {
-    cout << "Input number of events: ";
-    cin >> nEvents;
-  }
-
-  G4ScattererStub scatterer;
-
-  G4ParticleDefinition * proton = G4Proton::Proton();
-  G4ParticleDefinition * neutron = G4Neutron::Neutron();
-  G4double pmass = proton->GetPDGMass();
-  G4double nmass = neutron->GetPDGMass();
-  
-  G4ThreeVector pos(0,0,0);
-
-  for(G4int i = 0; i < nEvents; ++i)
-  {
-    G4double p = 1000*MeV*G4UniformRand();
-    G4double theta = 2.0*G4UniformRand()-1.0;
-    theta = acos(theta);
-    G4double phi = G4UniformRand()*2*pi;
-    G4ThreeVector direction(sin(theta)*cos(phi),
-			    sin(theta)*sin(phi), cos(theta));
-    G4LorentzVector mom1(p*direction, sqrt(p*p+pmass*pmass));
-    p = 1000*MeV*G4UniformRand();
-    theta = 2.0*G4UniformRand()-1.0;
-    theta = acos(theta);
-    phi = G4UniformRand()*2*pi;
-    G4ThreeVector direction2(sin(theta)*cos(phi), sin(theta)*sin(phi), cos(theta));
-    G4LorentzVector mom2(p*direction2, sqrt(p*p+nmass*nmass));
-
-    G4KineticTrack kt1(proton, 0.0, pos, mom1);
-    G4KineticTrack kt2(proton, 0.0, pos, mom2);
-
-    G4KineticTrackVectorSTL * products = scatterer.Scatter(kt1, kt2);
-    G4KineticTrackVectorSTL::iterator i = products->begin();
-    G4LorentzVector fmom1 = (*i)->Get4Momentum();
-    ++i;
-    G4LorentzVector fmom2 = (*i)->Get4Momentum();
-    G4LorentzVector diff = fmom1+fmom2-mom1-mom2;
-    G4LorentzVector diff1 = fmom1-mom1;
-    G4LorentzVector diff2 = fmom2-mom2;
-    cout << diff1.x() << " " << diff1.y() << " " << diff1.z() << " " 
-	 << diff1.t() << " " 
-	 << diff2.x() << " " << diff2.y() << " " << diff2.z() << " " 
-	 << diff2.t() << " " 
-	 << diff.x() << " " << diff.y() << " " << diff.z() << " " 
-	 << diff.t() << " " 
-	 << fmom1.m() << " " << fmom2.m() << endl;
-  }
-
-
-  return 0;
-}
-
-
-
-
Index: trunk/source/processes/hadronic/models/binary_cascade/test/G4TableTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/binary_cascade/test/G4TableTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,429 +1,0 @@
-//
-// ********************************************************************
-// * DISCLAIMER                                                       *
-// *                                                                  *
-// * The following disclaimer summarizes all the specific disclaimers *
-// * of contributors to this software. The specific disclaimers,which *
-// * govern, are listed with their locations in:                      *
-// *   http://cern.ch/geant4/license                                  *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.                                                             *
-// *                                                                  *
-// * This  code  implementation is the  intellectual property  of the *
-// * GEANT4 collaboration.                                            *
-// * By copying,  distributing  or modifying the Program (or any work *
-// * based  on  the Program)  you indicate  your  acceptance of  this *
-// * statement, and all its terms.                                    *
-// ********************************************************************
-//
-//
-// -------------------------------------------------------------------
-//      GEANT 4 class file --- Copyright CERN 1998
-//      CERN Geneva Switzerland
-//
-//
-//      File name:     G4TableTest.cc
-//
-//      Author:        Maria Grazia Pia (pia@genova.infn.it), 
-// 
-//      Creation date: 15 April 1999
-//
-//      Modifications: 
-//
-// -------------------------------------------------------------------
-
-#include "globals.hh"
-
-#include "G4ios.hh"
-#include <fstream>
-#include <iomanip>
-#include <iostream>
-#include <assert.h>
-
-#include "CLHEP/Hist/TupleManager.h"
-#include "CLHEP/Hist/HBookFile.h"
-#include "CLHEP/Hist/Histogram.h"
-#include "CLHEP/Hist/Tuple.h"
-
-#include "Randomize.hh"
-
-#include "G4ParticleDefinition.hh"
-#include "G4AntiProton.hh"
-#include "G4AntiNeutron.hh"
-#include "G4Proton.hh"
-#include "G4Neutron.hh"
-#include "G4PionPlus.hh"
-#include "G4PionMinus.hh"
-#include "G4PionZero.hh"
-#include "G4Gamma.hh"
-#include "G4MuonMinus.hh"
-#include "G4MuonPlus.hh"
-#include "G4KaonMinus.hh"
-#include "G4KaonPlus.hh"
-#include "G4NeutrinoMu.hh"
-#include "G4AntiNeutrinoMu.hh"
-#include "G4Lambda.hh"
-
-#include "G4VDecayChannel.hh"
-#include "G4DecayTable.hh"
-
-#include "G4KineticTrack.hh"
-#include "G4KineticTrackVector.hh"
-
-#include "G4VShortLivedParticle.hh"
-#include "G4ShortLivedConstructor.hh"
-#include "G4ParticleTable.hh"
-#include "G4ShortLivedTable.hh"
-
-#include "G4VXResonanceTable.hh"
-#include "G4XNNstarTable.hh"
-#include "G4XDeltaNstarTable.hh"
-#include "G4XDeltaDeltaTable.hh"
-#include "G4XNDeltaTable.hh"
-#include "G4XNDeltastarTable.hh"
-#include "G4XDeltaDeltastarTable.hh"
-
-#include "G4ResonanceNames.hh"
-
-#include <vector>
-
-int main()
-{
-  // MGP ---- HBOOK initialization
-  HepTupleManager* hbookManager;
-  G4String fileName = "xtables.hbook";
-  hbookManager = new HBookFile(fileName, 58);
-  assert (hbookManager != 0);
-
-  // ==== Initialization phase ====
-
-  G4ParticleDefinition* gamma = G4Gamma::GammaDefinition();
-
-  G4ParticleDefinition* proton = G4Proton::ProtonDefinition();
-  G4ParticleDefinition* antiProton = G4AntiProton::AntiProtonDefinition();
-  G4ParticleDefinition* neutron = G4Neutron::NeutronDefinition();   
-  G4ParticleDefinition* antiNeutron = G4AntiNeutron::AntiNeutronDefinition();   
-
-  G4ParticleDefinition* pionPlus = G4PionPlus::PionPlusDefinition();
-  G4ParticleDefinition* pionMinus = G4PionMinus::PionMinusDefinition();
-  G4ParticleDefinition* pionZero = G4PionZero::PionZeroDefinition();
-
-  G4ParticleDefinition* kaonPlus = G4KaonPlus::KaonPlusDefinition();
-  G4ParticleDefinition* kaonMinus = G4KaonMinus::KaonMinusDefinition();
-   
-  G4ParticleDefinition* lambda = G4Lambda::LambdaDefinition();
-
-  G4ParticleDefinition* theMuonPlus = G4MuonPlus::MuonPlusDefinition();
-  G4ParticleDefinition* theMuonMinus = G4MuonMinus::MuonMinusDefinition();
-
-  G4ParticleDefinition* theNeutrinoMu = G4NeutrinoMu::NeutrinoMuDefinition();
-  G4ParticleDefinition* theAntiNeutrinoMu = G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
-
-  // Construct resonances
-  G4ShortLivedConstructor shortLived;
-  shortLived.ConstructParticle();
-
-  // Get the particle table
-  G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
-
-  // ==== End of the initialization phase ====
-
-  // The list of resonances handled by the Kinetic Model
-  G4ResonanceNames* resonanceList = new G4ResonanceNames;
-
-  // ==== Nucleons ====
-
-  G4cout << proton->GetParticleName() 
-	 <<": mass " << proton->GetPDGMass()
-	 <<", width " << proton->GetPDGWidth()
-	 <<", iSpin "<< proton->GetPDGiSpin()
-	 <<", iIsospin " << proton->GetPDGiIsospin()
-	 <<", iIsospin3 " << proton->GetPDGiIsospin3() 
-	 << G4endl; 
-
-  G4cout << neutron->GetParticleName() 
-	 <<": mass " << neutron->GetPDGMass()
-	 <<", width " << neutron->GetPDGWidth()
-	 <<", iSpin "<< neutron->GetPDGiSpin()
-	 <<", iIsospin " << neutron->GetPDGiIsospin()
-	 <<", iIsospin3 " << neutron->GetPDGiIsospin3() 
-	 << G4endl; 
-
-  // ===== Delta =====
-
-  std::vector<G4String> listDelta = resonanceList->DeltaNames();
-  G4int nDelta = listDelta.size();
-  G4cout << G4endl << "===== Delta ===== " << G4endl;
-
-  G4int i;
-  for (i=0; i<nDelta; i++)
-    {
-      // Particle information
-      G4String name = listDelta[i];
-      G4ParticleDefinition* def = particleTable->FindParticle(name);
-      if (def == 0) G4cout << name << "does not have a ParticleDefinition " << G4endl;
-      G4cout << def->GetParticleName() 
-	     <<": mass " << def->GetPDGMass()
-	     <<", width " << def->GetPDGWidth()
-	     <<", iSpin "<< def->GetPDGiSpin()
-	     <<", iIsospin " << def->GetPDGiIsospin()
-	     <<", iIsospin3 " << def->GetPDGiIsospin3() 
-	     << G4endl; 
-    }
-
-  // pp -> N Delta cross section table
-  G4VXResonanceTable* tableND = new G4XNDeltaTable;
-  
-  for (i=0; i<nDelta; i+=4)
-    {
-      // Book a ntuple
-      G4String name = listDelta[i];
-      G4String ntName = "N " + name;
-      HepTuple* ntupleND = hbookManager->ntuple(ntName);
-      
-      G4String xName = " p p -> Delta " + name;
-      const G4PhysicsVector* sigma = tableND->CrossSectionTable(name);
-      G4int entries = ((G4PhysicsVector*) sigma)->GetVectorLength();
-      G4cout << "----------- " << xName <<" cross section table ----------- " 
-	     << G4endl;
-
-      // Fill the ntuple
-      G4int j;
-      for (j=0; j<entries; j++)
-	{
-	  const G4double energy = ((G4PhysicsVector*) sigma)->GetLowEdgeEnergy(j);
-	  G4bool dummy = false;
-	  G4double x = ((G4PhysicsVector*) sigma)->GetValue(energy,dummy) / millibarn;
-	  G4cout << j << ") energy = " << energy /GeV << " GeV - sigma = " << x << " mb " 
-		 << G4endl;
-	  ntupleND->column("e",energy /GeV);
-	  ntupleND->column("sigma",x);
-	  ntupleND->dumpData();
-	}
-      G4cout << ntName << " ntuple available" << G4endl;
-    }
-  delete tableND;
-
-  // pp -> Delta Delta cross section table
-  G4VXResonanceTable* tableDD = new G4XDeltaDeltaTable;
-
-  for (i=0; i<nDelta; i+=4)
-    {
-      // Book a ntuple
-      G4String name = listDelta[i];
-      G4String ntName = "delta " + name;
-      HepTuple* ntupleDD = hbookManager->ntuple(ntName);
-      
-      G4String xName = " p p -> Delta " + name;
-      const G4PhysicsVector* sigma = tableDD->CrossSectionTable(name);
-      G4int entries = ((G4PhysicsVector*) sigma)->GetVectorLength();
-      G4cout << "----------- " << xName << " cross section table ----------- " 
-	     << G4endl;
-
-      // Fill the ntuple
-      G4int j;
-      for (j=0; j<entries; j++)
-	{
-	  const G4double energy = ((G4PhysicsVector*) sigma)->GetLowEdgeEnergy(j);
-	  G4bool dummy = false;
-	  G4double x = ((G4PhysicsVector*) sigma)->GetValue(energy,dummy) / millibarn;
-	  G4cout << j << ") energy = " << energy /GeV << " GeV - sigma = " << x << " mb " 
-		 << G4endl;
-	  ntupleDD->column("e",energy /GeV);
-	  ntupleDD->column("sigma",x);
-	  ntupleDD->dumpData();
-	}
-      G4cout << ntName << " ntuple available" << G4endl;
-    }
-  delete tableDD;
-
-
-  // Excited Nucleons =====
-
-  G4cout << G4endl << "===== Excited Nucleons ===== " << G4endl;
-
-  std::vector<G4String> listNstar = resonanceList->NstarNames();
-  G4int nNstar = listNstar.size();
-
-  for (i=0; i<nNstar; i++)
-    {
-      G4String name = listNstar[i];
-      G4ParticleDefinition* def = particleTable->FindParticle(name);
-      if (def == 0) G4cout << name << "does not have a ParticleDefinition " << G4endl;
-      G4cout << def->GetParticleName() 
-	     <<": mass " << def->GetPDGMass()
-	     <<", width " << def->GetPDGWidth()
-	     <<", iSpin "<< def->GetPDGiSpin()
-	     <<", iIsospin " << def->GetPDGiIsospin()
-	     <<", iIsospin3 " << def->GetPDGiIsospin3() 
-	     << G4endl; 
-    }
-
-  // pp -> N Nstar  cross section table
-  G4VXResonanceTable* tableNNstar = new G4XNNstarTable;
-  
-  for (i=0; i<nNstar; i+=2)
-    {
-      // Book a ntuple
-      G4String name = listNstar[i];
-      G4String ntName = "N " + name;
-      HepTuple* ntupleNNstar = hbookManager->ntuple(ntName);
-
-      G4String xName = " p p -> N " + name;
-      const G4PhysicsVector* sigma = tableNNstar->CrossSectionTable(name);
-      if (sigma == 0)
-	G4cout << name << " does not return a valid PhysicsVector " << G4endl;
-
-      G4int entries = ((G4PhysicsVector*) sigma)->GetVectorLength();
-      G4cout << "----------- " << xName << " cross section table ----------- " 
-	     << G4endl;
-
-      // Fill the ntuple
-      G4int j;
-      for (j=0; j<entries; j++)
-	{
-	  const G4double energy = ((G4PhysicsVector*) sigma)->GetLowEdgeEnergy(j);
-	  G4bool dummy = false;
-	  G4double x = ((G4PhysicsVector*) sigma)->GetValue(energy,dummy) / millibarn;
-	  G4cout << j << ") energy = " << energy /GeV << " GeV - sigma = " << x << " mb " 
-		 << G4endl;
-	  ntupleNNstar->column("e",energy /GeV);
-	  ntupleNNstar->column("sigma",x);
-	  ntupleNNstar->dumpData();
-	}
-      G4cout << ntName << " ntuple available" << G4endl;
-    }
-  delete tableNNstar;
-
-  // pp -> Nstar Delta cross section table
-  G4VXResonanceTable* tableDNstar = new G4XDeltaNstarTable;
-
-  for (i=0; i<nNstar; i+=2)
-    {
-      // Book a ntuple
-      G4String name = listNstar[i];
-      G4String ntName = "delta " + name;
-      HepTuple* ntupleDNstar = hbookManager->ntuple(ntName);
-
-      G4String xName = " p p -> Delta " + name;
-      const G4PhysicsVector* sigma = tableDNstar->CrossSectionTable(name);
-      G4int entries = ((G4PhysicsVector*) sigma)->GetVectorLength();
-      G4cout << "----------- " << xName << " cross section table ----------- " 
-	     << G4endl;
-
-      // Fill the ntuple
-      G4int j;
-      for (j=0; j<entries; j++)
-	{
-	  const G4double energy = ((G4PhysicsVector*) sigma)->GetLowEdgeEnergy(j);
-	  G4bool dummy = false;
-	  G4double x = ((G4PhysicsVector*) sigma)->GetValue(energy,dummy) / millibarn;
-	  G4cout << j << ") energy = " << energy /GeV << " GeV - sigma = " << x << " mb " 
-		 << G4endl;
-	  ntupleDNstar->column("e",energy /GeV);
-	  ntupleDNstar->column("sigma",x);
-	  ntupleDNstar->dumpData();
-	}
-      G4cout << ntName << " ntuple available" << G4endl;
-    }
-  delete tableDNstar;
-
-  // ===== Excited Deltas ===== 
-
-  G4cout << G4endl << "===== Excited Deltas ===== " << G4endl;
-
-  std::vector<G4String> listDeltastar = resonanceList->DeltastarNames();
-  G4int nDeltastar = listDeltastar.size();
-
-  for (i=0; i<nDeltastar; i++)
-    {
-      G4String name = listDeltastar[i];
-      G4ParticleDefinition* def = particleTable->FindParticle(name);
-      if (def == 0) G4cout << name << "does not have a ParticleDefinition " << G4endl;
-      G4cout << def->GetParticleName() 
-	     <<": mass " << def->GetPDGMass()
-	     <<", width " << def->GetPDGWidth()
-	     <<", iSpin "<< def->GetPDGiSpin()
-	     <<", iIsospin " << def->GetPDGiIsospin()
-	     <<", iIsospin3 " << def->GetPDGiIsospin3() 
-	     << G4endl; 
-    }
-  
-  // pp -> N Deltastar cross section table
-  G4VXResonanceTable* tableNDstar = new G4XNDeltastarTable;
-       
-  for (i=0; i<nDeltastar; i+=4)
-    {
-      // Book a ntuple
-      G4String name = listDeltastar[i];
-      G4String ntName = "N " + name;
-      HepTuple* ntupleNDstar = hbookManager->ntuple(ntName);
-
-      G4String xName = " p p -> N " + name;
-      const G4PhysicsVector* sigma = tableNDstar->CrossSectionTable(name);
-      G4int entries = ((G4PhysicsVector*) sigma)->GetVectorLength();
-      G4cout << "----------- " << xName << " cross section table ----------- " 
-	     << G4endl;
-
-  // Fill the ntuple
-      G4int j;
-      for (j=0; j<entries; j++)
-	{
-	  const G4double energy = ((G4PhysicsVector*) sigma)->GetLowEdgeEnergy(j);
-	  G4bool dummy = false;
-	  G4double x = ((G4PhysicsVector*) sigma)->GetValue(energy,dummy) / millibarn;
-	  G4cout << j << ") energy = " << energy /GeV << " GeV - sigma = " << x << " mb " 
-		 << G4endl;
-	  ntupleNDstar->column("e",energy /GeV);
-	  ntupleNDstar->column("sigma",x);
-	  ntupleNDstar->dumpData();
-	}
-      G4cout << ntName << " ntuple available" << G4endl;
-    }
-  delete tableNDstar;
-
-  // pp -> Delta Deltastar cross section table
-  G4VXResonanceTable* tableDDstar = new G4XDeltaDeltastarTable;
-      
-  for (i=0; i<nDeltastar; i+=4)
-    {
-      // Book a ntuple
-      G4String name = listDeltastar[i];
-      G4String ntName = "delta " + name;
-      HepTuple* ntupleDDstar = hbookManager->ntuple(ntName);
-
-      G4String xName = " p p -> Delta " + name;
-      const G4PhysicsVector* sigma = tableDDstar->CrossSectionTable(name);
-      G4int entries = ((G4PhysicsVector*) sigma)->GetVectorLength();
-      G4cout << "----------- " << xName << " cross section table ----------- " 
-	     << G4endl;
-
-      // Fill the ntuple
-      G4int j;
-      for (j=0; j<entries; j++)
-	{
-	  const G4double energy = ((G4PhysicsVector*) sigma)->GetLowEdgeEnergy(j);
-	  G4bool dummy = false;
-	  G4double x = ((G4PhysicsVector*) sigma)->GetValue(energy,dummy) / millibarn;
-	  G4cout << j << ") energy = " << energy /GeV << " GeV - sigma = " << x << " mb " 
-		 << G4endl;
-	  ntupleDDstar->column("e",energy /GeV);
-	  ntupleDDstar->column("sigma",x);
-	  ntupleDDstar->dumpData();
-	}
-      G4cout << ntName << " ntuple available" << G4endl;
-    }
-  delete tableDDstar;
-
-  hbookManager->write();
-
-  G4cout << "ntuples are in file " << fileName<< G4endl;
-
-  delete resonanceList;
-
-  return EXIT_SUCCESS;
-}
Index: trunk/source/processes/hadronic/models/binary_cascade/test/G4WidthTableTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/binary_cascade/test/G4WidthTableTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,257 +1,0 @@
-//
-// ********************************************************************
-// * DISCLAIMER                                                       *
-// *                                                                  *
-// * The following disclaimer summarizes all the specific disclaimers *
-// * of contributors to this software. The specific disclaimers,which *
-// * govern, are listed with their locations in:                      *
-// *   http://cern.ch/geant4/license                                  *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.                                                             *
-// *                                                                  *
-// * This  code  implementation is the  intellectual property  of the *
-// * GEANT4 collaboration.                                            *
-// * By copying,  distributing  or modifying the Program (or any work *
-// * based  on  the Program)  you indicate  your  acceptance of  this *
-// * statement, and all its terms.                                    *
-// ********************************************************************
-//
-//
-// -------------------------------------------------------------------
-//      GEANT 4 class file --- Copyright CERN 1998
-//      CERN Geneva Switzerland
-//
-//
-//      File name:     G4WidthTableTest.cc
-//
-//      Author:        Maria Grazia Pia (pia@genova.infn.it), 
-// 
-//      Creation date: 15 April 1999
-//
-//      Modifications: 
-//
-// -------------------------------------------------------------------
-
-#include "globals.hh"
-
-#include "G4ios.hh"
-#include <fstream>
-#include <iomanip>
-#include <iostream>
-#include <assert.h>
-#include <vector>
-
-#include "CLHEP/Hist/TupleManager.h"
-#include "CLHEP/Hist/HBookFile.h"
-#include "CLHEP/Hist/Histogram.h"
-#include "CLHEP/Hist/Tuple.h"
-
-#include "Randomize.hh"
-
-#include "G4AntiProton.hh"
-#include "G4AntiNeutron.hh"
-#include "G4Proton.hh"
-#include "G4Neutron.hh"
-#include "G4PionPlus.hh"
-#include "G4PionMinus.hh"
-#include "G4PionZero.hh"
-#include "G4Gamma.hh"
-#include "G4MuonMinus.hh"
-#include "G4MuonPlus.hh"
-#include "G4KaonMinus.hh"
-#include "G4KaonPlus.hh"
-#include "G4NeutrinoMu.hh"
-#include "G4AntiNeutrinoMu.hh"
-#include "G4Lambda.hh"
-
-#include "G4ParticleDefinition.hh"
-
-#include "G4VDecayChannel.hh"
-#include "G4DecayTable.hh"
-
-#include "G4KineticTrack.hh"
-#include "G4KineticTrackVector.hh"
-
-#include "G4VShortLivedParticle.hh"
-#include "G4ShortLivedConstructor.hh"
-#include "G4ParticleTable.hh"
-#include "G4ShortLivedTable.hh"
-
-#include "G4ResonanceNames.hh"
-
-
-int main()
-{
-  // MGP ---- HBOOK initialization
-  HepTupleManager* hbookManager;
-  G4String fileName = "wtables.hbook";
-  hbookManager = new HBookFile(fileName, 58);
-  assert (hbookManager != 0);
-
-  // ==== Initialization phase ====
-
-  G4ParticleDefinition* gamma = G4Gamma::GammaDefinition();
-
-  G4ParticleDefinition* proton = G4Proton::ProtonDefinition();
-  G4ParticleDefinition* antiProton = G4AntiProton::AntiProtonDefinition();
-  G4ParticleDefinition* neutron = G4Neutron::NeutronDefinition();   
-  G4ParticleDefinition* antiNeutron = G4AntiNeutron::AntiNeutronDefinition();   
-
-  G4ParticleDefinition* pionPlus = G4PionPlus::PionPlusDefinition();
-  G4ParticleDefinition* pionMinus = G4PionMinus::PionMinusDefinition();
-  G4ParticleDefinition* pionZero = G4PionZero::PionZeroDefinition();
-
-  G4ParticleDefinition* kaonPlus = G4KaonPlus::KaonPlusDefinition();
-  G4ParticleDefinition* kaonMinus = G4KaonMinus::KaonMinusDefinition();
-   
-  G4ParticleDefinition* lambda = G4Lambda::LambdaDefinition();
-
-  G4ParticleDefinition* theMuonPlus = G4MuonPlus::MuonPlusDefinition();
-  G4ParticleDefinition* theMuonMinus = G4MuonMinus::MuonMinusDefinition();
-
-  G4ParticleDefinition* theNeutrinoMu = G4NeutrinoMu::NeutrinoMuDefinition();
-  G4ParticleDefinition* theAntiNeutrinoMu = G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
-
-  // Construct resonances
-  G4ShortLivedConstructor shortLived;
-  shortLived.ConstructParticle();
-
-  // Get the particle table
-  G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
-  //  particleTable->DumpTable("ALL");
-
-  // ==== End of the initialization phase ====
-
-
-  // The list of resonances handled by the Kinetic Model
-  G4ResonanceNames* resonanceList = new G4ResonanceNames;
-
-
-  // ==== Nucleons ====
-
-  G4cout << proton->GetParticleName() 
-	 << G4endl; 
-
-  G4cout << neutron->GetParticleName() 
-	 << G4endl; 
-
-  // ===== Delta =====
-
-  const std::vector<G4String> listDelta = resonanceList->DeltaNames();
-  G4int nDelta = listDelta.size();
-  G4cout << G4endl << "===== Delta ===== " << G4endl;
-
-  G4int i;
-  for (i=0; i<nDelta; i++)
-    {
-      // Particle information
-      G4String name = listDelta[i];
-      G4ParticleDefinition* def = particleTable->FindParticle(name);
-      if (def == 0) G4cout << name << "does not have a ParticleDefinition " << G4endl;
-      G4cout << def->GetParticleName() << G4endl; 
-      G4DecayTable* decayTable = def->GetDecayTable();
-      decayTable->DumpInfo();
-    }
-
- 
-  // ===== Excited Nucleons =====
-
-  G4cout << G4endl << "===== Excited Nucleons ===== " << G4endl;
-
-  const std::vector<G4String> listNstar = resonanceList->NstarNames();
-  G4int nNstar = listNstar.size();
-
-  for (i=0; i<nNstar; i++)
-    {
-      G4String name = listNstar[i];
-      G4ParticleDefinition* def = particleTable->FindParticle(name);
-      if (def == 0) G4cout << name << "does not have a ParticleDefinition " << G4endl;
-      G4cout << def->GetParticleName() << G4endl; 
-      G4DecayTable* decayTable = def->GetDecayTable();
-      decayTable->DumpInfo();
-    }
-
- 
-  // ===== Excited Deltas ===== 
-
-  G4cout << G4endl << "===== Excited Deltas ===== " << G4endl;
-
-  const std::vector<G4String> listDeltastar = resonanceList->DeltastarNames();
-  G4int nDeltastar = listDeltastar.size();
-
-  for (i=0; i<nDeltastar; i++)
-    {
-      G4String name = listDeltastar[i];
-      G4ParticleDefinition* def = particleTable->FindParticle(name);
-      if (def == 0) G4cout << name << "does not have a ParticleDefinition " << G4endl;
-      G4cout << def->GetParticleName() << G4endl; 
-      G4DecayTable* decayTable = def->GetDecayTable();
-      decayTable->DumpInfo();
-    }
-
-  // ===== Lambdas ===== 
-
-  G4cout << G4endl << "===== Lambdas ===== " << G4endl;
-
-  const std::vector<G4String> listLambda = resonanceList->LambdaNames();
-  G4int nLambda = listLambda.size();
-
-  for (i=0; i<nLambda; i++)
-    {
-      G4String name = listLambda[i];
-      G4ParticleDefinition* def = particleTable->FindParticle(name);
-      if (def == 0) G4cout << name << "does not have a ParticleDefinition " << G4endl;
-      G4cout << def->GetParticleName() << G4endl; 
-      G4DecayTable* decayTable = def->GetDecayTable();
-      decayTable->DumpInfo();
-    }
-
-
-  // ===== Sigmas ===== 
-
-  G4cout << G4endl << "===== Sigmas ===== " << G4endl;
-  
-  const std::vector<G4String> listSigma = resonanceList->SigmaNames();
-  G4int nSigma = listSigma.size();
-
-  for (i=0; i<nSigma; i++)
-    {
-      G4String name = listSigma[i];
-      G4ParticleDefinition* def = particleTable->FindParticle(name);
-      if (def == 0) G4cout << name << "does not have a ParticleDefinition " << G4endl;
-      G4cout << def->GetParticleName() << G4endl; 
-      G4DecayTable* decayTable = def->GetDecayTable();
-      decayTable->DumpInfo();
-    }
-
-  
-  // ===== Xis ===== 
-
-  G4cout << G4endl << "===== Xis ===== " << G4endl;
-  
-  const std::vector<G4String> listXi = resonanceList->XiNames();
-  G4int nXi = listXi.size();
-
-  for (i=0; i<nXi; i++)
-    {
-      G4String name = listXi[i];
-      G4ParticleDefinition* def = particleTable->FindParticle(name);
-      if (def == 0) G4cout << name << "does not have a ParticleDefinition " << G4endl;
-      G4cout << def->GetParticleName() << G4endl; 
-      G4DecayTable* decayTable = def->GetDecayTable();
-      decayTable->DumpInfo();
-    }
-
-
-  hbookManager->write();
-
-  G4cout << "ntuples are in file " << fileName<< G4endl;
-
-  delete resonanceList;
-
-  return EXIT_SUCCESS;
-}
Index: trunk/source/processes/hadronic/models/binary_cascade/test/G4XResonanceTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/binary_cascade/test/G4XResonanceTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,362 +1,0 @@
-//
-// ********************************************************************
-// * DISCLAIMER                                                       *
-// *                                                                  *
-// * The following disclaimer summarizes all the specific disclaimers *
-// * of contributors to this software. The specific disclaimers,which *
-// * govern, are listed with their locations in:                      *
-// *   http://cern.ch/geant4/license                                  *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.                                                             *
-// *                                                                  *
-// * This  code  implementation is the  intellectual property  of the *
-// * GEANT4 collaboration.                                            *
-// * By copying,  distributing  or modifying the Program (or any work *
-// * based  on  the Program)  you indicate  your  acceptance of  this *
-// * statement, and all its terms.                                    *
-// ********************************************************************
-//
-//
-// -------------------------------------------------------------------
-//      GEANT 4 class file --- Copyright CERN 1998
-//      CERN Geneva Switzerland
-//
-//
-//      File name:     G4XResonanceTest.cc
-//
-//      Author:        Maria Grazia Pia (pia@genova.infn.it), 
-// 
-//      Creation date: 15 June 1999
-//
-//      Modifications: 
-//
-// -------------------------------------------------------------------
-
-#include "globals.hh"
-
-#include "G4ios.hh"
-#include <fstream>
-#include <iomanip>
-#include <iostream>
-#include <assert.h>
-
-#include "CLHEP/Hist/TupleManager.h"
-#include "CLHEP/Hist/HBookFile.h"
-#include "CLHEP/Hist/Histogram.h"
-#include "CLHEP/Hist/Tuple.h"
-
-#include "Randomize.hh"
-
-#include "G4ThreeVector.hh"
-#include "G4LorentzVector.hh"
-#include "G4LorentzRotation.hh"
-
-#include "G4AntiProton.hh"
-#include "G4AntiNeutron.hh"
-#include "G4Proton.hh"
-#include "G4Neutron.hh"
-#include "G4PionPlus.hh"
-#include "G4PionMinus.hh"
-#include "G4PionZero.hh"
-#include "G4Gamma.hh"
-#include "G4MuonMinus.hh"
-#include "G4MuonPlus.hh"
-#include "G4KaonMinus.hh"
-#include "G4KaonPlus.hh"
-#include "G4NeutrinoMu.hh"
-#include "G4AntiNeutrinoMu.hh"
-#include "G4Lambda.hh"
-
-#include "G4ParticleDefinition.hh"
-
-#include "G4VDecayChannel.hh"
-#include "G4DecayTable.hh"
-
-#include "G4KineticTrack.hh"
-#include "G4KineticTrackVector.hh"
-
-#include "G4ParticleTable.hh"
-#include "G4VShortLivedParticle.hh"
-#include "G4ShortLivedConstructor.hh"
-#include "G4ShortLivedTable.hh"
-
-#include "G4VCrossSectionSource.hh"
-#include "G4XAqmTotal.hh"
-#include "G4XAqmElastic.hh"
-#include "G4XNNTotalLowE.hh"
-#include "G4XPDGTotal.hh"
-#include "G4XNNTotal.hh"
-#include "G4XPDGElastic.hh"
-
-#include "G4VXResonanceTable.hh"
-
-#include "G4XResonance.hh"
-#include "G4XNNstarTable.hh"
-#include "G4XDeltaNstarTable.hh"
-#include "G4XDeltaDeltaTable.hh"
-#include "G4XNDeltaTable.hh"
-#include "G4XNDeltastarTable.hh"
-#include "G4XDeltaDeltastarTable.hh"
-
-
-int main()
-{
-  // MGP ---- HBOOK initialization
-  HepTupleManager* hbookManager;
-  hbookManager = new HBookFile("xresonance.hbook", 58);
-  assert (hbookManager != 0);
-
-  // MGP ---- Book histograms
- 
-  HepHistogram* hSigma;
-  hSigma = hbookManager->histogram("CrossSection", 100,0.,10.);
-  assert (hSigma != 0);  
-
-  // MGP ---- Book a ntuple
-  HepTuple* ntuple;
-  ntuple = hbookManager->ntuple("CrossSection ntuple");
-  assert (ntuple != 0); 
-
-  G4ParticleDefinition* gamma = G4Gamma::GammaDefinition();
-
-  G4ParticleDefinition* proton = G4Proton::ProtonDefinition();
-  G4ParticleDefinition* antiProton = G4AntiProton::AntiProtonDefinition();
-  G4ParticleDefinition* neutron = G4Neutron::NeutronDefinition();   
-  G4ParticleDefinition* antiNeutron = G4AntiNeutron::AntiNeutronDefinition();   
-
-  G4ParticleDefinition* pionPlus = G4PionPlus::PionPlusDefinition();
-  G4ParticleDefinition* pionMinus = G4PionMinus::PionMinusDefinition();
-  G4ParticleDefinition* pionZero = G4PionZero::PionZeroDefinition();
-
-  G4ParticleDefinition* kaonPlus = G4KaonPlus::KaonPlusDefinition();
-  G4ParticleDefinition* kaonMinus = G4KaonMinus::KaonMinusDefinition();
-   
-  G4ParticleDefinition* lambda = G4Lambda::LambdaDefinition();
-
-  G4ParticleDefinition* theMuonPlus = G4MuonPlus::MuonPlusDefinition();
-  G4ParticleDefinition* theMuonMinus = G4MuonMinus::MuonMinusDefinition();
-
-  G4ParticleDefinition* theNeutrinoMu = G4NeutrinoMu::NeutrinoMuDefinition();
-  G4ParticleDefinition* theAntiNeutrinoMu = G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
-
-  G4ShortLivedConstructor ShortLived;
-  ShortLived.ConstructParticle();
-
-  // Select track 1
-  
-  G4cout << "---- Set KineticTrack 1 ----" << G4endl;
-  G4int id1 = 0;
-  G4cout << "1 p   2 ap   3 n   4 an   5 pi+   6 pi-   7 K+   8 K- " << G4endl;
-  G4cin >> id1;
-
-  G4ParticleDefinition* definition1;
-  switch (id1)
-    {
-    case 1:
-      definition1 = proton;
-      break;
-    case 2:
-      definition1 = antiProton;
-      break;
-    case 3:
-      definition1 = neutron;
-      break;
-    case 4:
-      definition1 = antiNeutron;
-      break;
-    case 5:
-      definition1 = pionPlus;
-      break;
-    case 6:
-      definition1 = pionMinus;
-      break;
-    case 7:
-      definition1 = kaonPlus;
-      break;
-    case 8:
-      definition1 = kaonMinus;
-      break;
-    default:
-      definition1 = proton;
-      break;
-    }
-  G4double mass1 = definition1->GetPDGMass();
-
-  // Formation time
-  G4double time1 = 0.;
-  //  G4cout << "Formation time (ns)" << G4endl;
-  //  G4cin >> time1;
-  //  if (time1 < 0.) time1 = 0.;
-  //   time1 = time1 * ns;
-  
-  // Initial position
-  G4double x1 = 0.;
-  G4double y1 = 0.;
-  G4double z1 = 0.;
-  //  G4cout <<"Initial position (cm) " << G4endl;
-  //  G4cin >> x1 >> y1 >> z1;
-  G4ThreeVector position1(x1*cm, y1*cm, z1*cm);
-
-  // Momentum
-  G4double pzMin1;
-  G4double pzMax1;
-  G4cout << "Pz min and max (GeV)" << G4endl;
-  G4cin >> pzMin1 >> pzMax1;
-  pzMin1 = pzMin1 * GeV;
-  pzMax1 = pzMax1 * GeV;
-
-  // Select track 2
- 
-  G4cout << "---- Set KineticTrack 2 ----" << G4endl;
-  G4int id2 = 0;
-  G4cout << "1 p   2 ap   3 n   4 an   5 pi+   6 pi-   7 K+   8 K- " << G4endl;
-  G4cin >> id2;
-
-  G4ParticleDefinition* definition2;
-  G4KineticTrack trk2;
-  switch (id2)
-    {
-    case 1:
-      definition2 = proton;
-      break;
-    case 2:
-      definition2 = antiProton;
-      break;
-    case 3:
-      definition2 = neutron;
-      break;
-    case 4:
-      definition2 = antiNeutron;
-      break;
-    case 5:
-      definition2 = pionPlus;
-      break;
-    case 6:
-      definition2 = pionMinus;
-      break;
-    case 7:
-      definition2 = kaonPlus;
-      break;
-    case 8:
-      definition2 = kaonMinus;
-      break;
-    default:
-      definition2 = proton;
-      break;
-    }
-  G4double mass2 = definition2->GetPDGMass();
-
-  // Formation time
-  G4double time2 = 0.;
-  //  G4cout << "Formation time (ns)" << G4endl;
-  //  G4cin >> time2;
-  //  if (time2 < 0.) time2 = 0.;
-  //  time2 = time2 * ns;
-  
-  // Initial position
-  G4double x2 = 0.;
-  G4double y2 = 0.;
-  G4double z2 = 0.;
-  //  G4cout <<"Initial position (cm) " << G4endl;
-  //  G4cin >> x2 >> y2 >> z2;
-  G4ThreeVector position2(x2*cm, y2*cm, z2*cm);
-
-  // Momentum
-  G4double pzMin2;
-  G4double pzMax2;
-  G4cout << "Pz min and max (GeV)" << G4endl;
-  G4cin >> pzMin2 >> pzMax2;
-  pzMin2 = pzMin2 * GeV;
-  pzMax2 = pzMax2 * GeV;
-
-  // N1440
-  G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
-  G4ParticleDefinition* N1440Zero = particleTable->FindParticle("N(1440)0");
-  G4cout << N1440Zero->GetParticleName() << " created, type is "
-	 << N1440Zero->GetParticleType() << G4endl;
-  G4ParticleDefinition* N1440Plus = particleTable->FindParticle("N(1440)+");
-  G4cout << N1440Plus->GetParticleName() << " created, type is " 
-	 << N1440Plus->GetParticleType() << G4endl;
-  G4ParticleDefinition* deltaPlus = particleTable->FindParticle("delta+");
-  G4cout << deltaPlus->GetParticleName() << " created, type is " 
-	 << deltaPlus->GetParticleType() << G4endl;
-
-  G4String name = N1440Plus->GetParticleName();
-
-  G4VXResonanceTable* table = new G4XDeltaNstarTable;
-
-  // Create the ResonanceCrossSection
-
-  G4VCrossSectionSource* source = new G4XResonance(definition1,definition2,
-						   deltaPlus,N1440Plus,*table);
-  G4cout << "***** " << source->Name() <<  "***** created " << G4endl;
-  source->Print();
-
-  const G4PhysicsVector* sigmaVector = table->CrossSectionTable(N1440Plus->GetParticleName());
-
-  // Number of iterations
-  G4int n = 0;
-  G4cout << "---- Number of iterations ----" << G4endl;
-  G4cin >> n;
-  if (n < 1) n = 1;
-
-  G4double step1 = (pzMax1 - pzMin1) / n;
-  G4double step2 = (pzMax2 - pzMin2) / n;
-
-  G4cout << "pz min max step " 
-	 << pzMin1 / GeV << ", " 
-	 << pzMax1 / GeV << ", " 
-	 << step1  / GeV << ", " << G4endl 
-	 << "pz min max step " 
-	 << pzMin2 / GeV << ", " 
-	 << pzMax2 / GeV << ", " 
-	 << step2  / GeV << G4endl; 
-
-  G4int i;
-  for (i=0; i<n; i++)
-    {
-      G4double pStep1 = pzMin1 + step1 * i;
-      G4ThreeVector p1(0.,0.,pStep1);
-      G4double e1 = sqrt(mass1*mass1 + p1.mag()*p1.mag());
-      G4LorentzVector p41(p1,e1);
-      G4KineticTrack trk1(definition1,time1,position1,p41);
-
-      G4double pStep2 = -(pzMin2 + step2 * i);
-      G4ThreeVector p2(0.,0.,pStep2);
-      G4double e2 = sqrt(mass2*mass2 + p2.mag()*p2.mag());
-      G4LorentzVector p42(p2,e2);
-      G4KineticTrack trk2(definition2,time2,position2,p42);
-
-      G4double sqrtS = (trk1.Get4Momentum() + trk2.Get4Momentum()).mag();
-      
-
-      //      source->PrintAll(trk1,trk2);
-      G4double sigma = source->CrossSection(trk1,trk2);
-
-      G4bool dummy = false;
-      G4double ppSigma = ((G4PhysicsVector*)sigmaVector)->GetValue(sqrtS,dummy);
-
-      G4cout << definition1->GetParticleName() << " " << definition2->GetParticleName() 
-	     << " cross section = " << sigma / millibarn << G4endl;
-      G4cout << "pp cross section = " << ppSigma / millibarn << G4endl;
-
-      //      ntuple->column("ecm",sqrtS/GeV);
-      //      ntuple->column("sigma",sigma/millibarn);
-      //      ntuple->dumpData();
-    }
-
-  
-  hbookManager->write();
-
-  delete source;
-
-  delete table;
-
-  return EXIT_SUCCESS;
-}
-
-
Index: trunk/source/processes/hadronic/models/binary_cascade/test/G4XToTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/binary_cascade/test/G4XToTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,292 +1,0 @@
-//
-// ********************************************************************
-// * DISCLAIMER                                                       *
-// *                                                                  *
-// * The following disclaimer summarizes all the specific disclaimers *
-// * of contributors to this software. The specific disclaimers,which *
-// * govern, are listed with their locations in:                      *
-// *   http://cern.ch/geant4/license                                  *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.                                                             *
-// *                                                                  *
-// * This  code  implementation is the  intellectual property  of the *
-// * GEANT4 collaboration.                                            *
-// * By copying,  distributing  or modifying the Program (or any work *
-// * based  on  the Program)  you indicate  your  acceptance of  this *
-// * statement, and all its terms.                                    *
-// ********************************************************************
-//
-//
-// -------------------------------------------------------------------
-//      GEANT 4 class file --- Copyright CERN 1998
-//      CERN Geneva Switzerland
-//
-//
-//      File name:     G4XResonanceTest.cc
-//
-//      Author:        Maria Grazia Pia (pia@genova.infn.it), 
-// 
-//      Creation date: 15 June 1999
-//
-//      Modifications: 
-//
-// -------------------------------------------------------------------
-
-#include "globals.hh"
-
-#include "G4ios.hh"
-#include <fstream>
-#include <iomanip>
-#include <iostream>
-#include <assert.h>
-
-#include "CLHEP/Hist/TupleManager.h"
-#include "CLHEP/Hist/HBookFile.h"
-#include "CLHEP/Hist/Histogram.h"
-#include "CLHEP/Hist/Tuple.h"
-
-#include "Randomize.hh"
-
-#include "G4ThreeVector.hh"
-#include "G4LorentzVector.hh"
-#include "G4LorentzRotation.hh"
-
-#include "G4AntiProton.hh"
-#include "G4AntiNeutron.hh"
-#include "G4Proton.hh"
-#include "G4Neutron.hh"
-#include "G4PionPlus.hh"
-#include "G4PionMinus.hh"
-#include "G4PionZero.hh"
-#include "G4Gamma.hh"
-#include "G4MuonMinus.hh"
-#include "G4MuonPlus.hh"
-#include "G4KaonMinus.hh"
-#include "G4KaonPlus.hh"
-#include "G4NeutrinoMu.hh"
-#include "G4AntiNeutrinoMu.hh"
-#include "G4Lambda.hh"
-
-#include "G4ParticleDefinition.hh"
-
-#include "G4VDecayChannel.hh"
-#include "G4DecayTable.hh"
-
-#include "G4KineticTrack.hh"
-#include "G4KineticTrackVector.hh"
-
-#include "G4ParticleTable.hh"
-#include "G4VShortLivedParticle.hh"
-#include "G4ShortLivedConstructor.hh"
-#include "G4ShortLivedTable.hh"
-
-#include "G4VCrossSectionSource.hh"
-#include "G4XAqmElastic.hh"
-#include "G4XNNTotalLowE.hh"
-#include "G4XPDGTotal.hh"
-#include "G4XNNTotal.hh"
-#include "G4XPDGElastic.hh"
-
-#include "G4VXResonanceTable.hh"
-
-#include "G4XResonance.hh"
-#include "G4XDeltaDeltaToNN.hh"
-#include "G4XDeltaDeltaToNDelta.hh"
-#include "G4XNDeltaToNN.hh"
-#include "G4XNDeltaToDeltaDelta.hh"
-
-int main()
-{
-  // MGP ---- HBOOK initialization
-  HepTupleManager* hbookManager;
-  hbookManager = new HBookFile("xresonance.hbook", 58);
-  assert (hbookManager != 0);
-
-  // MGP ---- Book histograms
- 
-  HepHistogram* hSigma;
-  hSigma = hbookManager->histogram("CrossSection", 100,0.,10.);
-  assert (hSigma != 0);  
-
-  // MGP ---- Book a ntuple
-  HepTuple* ntuple;
-  ntuple = hbookManager->ntuple("CrossSection ntuple");
-  assert (ntuple != 0); 
-
-  G4ParticleDefinition* gamma = G4Gamma::GammaDefinition();
-
-  G4ParticleDefinition* proton = G4Proton::ProtonDefinition();
-  G4ParticleDefinition* antiProton = G4AntiProton::AntiProtonDefinition();
-  G4ParticleDefinition* neutron = G4Neutron::NeutronDefinition();   
-  G4ParticleDefinition* antiNeutron = G4AntiNeutron::AntiNeutronDefinition();   
-
-  G4ParticleDefinition* pionPlus = G4PionPlus::PionPlusDefinition();
-  G4ParticleDefinition* pionMinus = G4PionMinus::PionMinusDefinition();
-  G4ParticleDefinition* pionZero = G4PionZero::PionZeroDefinition();
-
-  G4ParticleDefinition* kaonPlus = G4KaonPlus::KaonPlusDefinition();
-  G4ParticleDefinition* kaonMinus = G4KaonMinus::KaonMinusDefinition();
-   
-  G4ParticleDefinition* lambda = G4Lambda::LambdaDefinition();
-
-  G4ParticleDefinition* theMuonPlus = G4MuonPlus::MuonPlusDefinition();
-  G4ParticleDefinition* theMuonMinus = G4MuonMinus::MuonMinusDefinition();
-
-  G4ParticleDefinition* theNeutrinoMu = G4NeutrinoMu::NeutrinoMuDefinition();
-  G4ParticleDefinition* theAntiNeutrinoMu = G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
-
-  G4ShortLivedConstructor ShortLived;
-  ShortLived.ConstructParticle();
-
-
-  // N1440
-  G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
-  G4ParticleDefinition* N1440Zero = particleTable->FindParticle("N(1440)0");
-  G4cout << N1440Zero->GetParticleName() << " created, type is "
-	 << N1440Zero->GetParticleType() << G4endl;
-  G4ParticleDefinition* N1440Plus = particleTable->FindParticle("N(1440)+");
-  G4cout << N1440Plus->GetParticleName() << " created, type is " 
-	 << N1440Plus->GetParticleType() << G4endl;
-
-  // Delta
-  G4ParticleDefinition* deltaPlus = particleTable->FindParticle("delta+");
-  G4cout << deltaPlus->GetParticleName() << " created, type is " 
-	 << deltaPlus->GetParticleType() << G4endl;
-  G4String name = N1440Plus->GetParticleName();
-
-  // Select track 1
-  
-  G4ParticleDefinition* definition1 = proton;
-  G4KineticTrack trk1;  
-  G4double mass1 = definition1->GetPDGMass();
-
-  // Formation time
-  G4double time1 = 0.;
-  //  G4cout << "Formation time (ns)" << G4endl;
-  //  G4cin >> time1;
-  //  if (time1 < 0.) time1 = 0.;
-  //   time1 = time1 * ns;
-  
-  // Initial position
-  G4double x1 = 0.;
-  G4double y1 = 0.;
-  G4double z1 = 0.;
-  //  G4cout <<"Initial position (cm) " << G4endl;
-  //  G4cin >> x1 >> y1 >> z1;
-  G4ThreeVector position1(x1*cm, y1*cm, z1*cm);
-
-  // Momentum
-  G4double pzMin1;
-
-  G4double pzMax1;
-  G4cout << "Pz min and max (GeV)" << G4endl;
-  G4cin >> pzMin1 >> pzMax1;
-  pzMin1 = pzMin1 * GeV;
-  pzMax1 = pzMax1 * GeV;
-
-  // Select track 2
- 
-  G4ParticleDefinition* definition2 = deltaPlus;
-  G4KineticTrack trk2;
-
-  G4double mass2 = definition2->GetPDGMass();
-
-  // Formation time
-  G4double time2 = 0.;
-  //  G4cout << "Formation time (ns)" << G4endl;
-  //  G4cin >> time2;
-  //  if (time2 < 0.) time2 = 0.;
-  //  time2 = time2 * ns;
-  
-  // Initial position
-  G4double x2 = 0.;
-  G4double y2 = 0.;
-  G4double z2 = 0.;
-  //  G4cout <<"Initial position (cm) " << G4endl;
-  //  G4cin >> x2 >> y2 >> z2;
-  G4ThreeVector position2(x2*cm, y2*cm, z2*cm);
-
-  // Momentum
-  G4double pzMin2;
-  G4double pzMax2;
-  G4cout << "Pz min and max (GeV)" << G4endl;
-  G4cin >> pzMin2 >> pzMax2;
-  pzMin2 = pzMin2 * GeV;
-  pzMax2 = pzMax2 * GeV;
-
-
-  // Create the ResonanceCrossSection
-
-  //  G4VCrossSectionSource* source = new G4XDeltaDeltaToNDelta(definition1,definition2,
-  //							    deltaPlus,N1440Plus);
-
-  // G4VCrossSectionSource* source = new G4XDeltaDeltaToNN(definition1,definition1,
-  //							proton,proton);
-
-   G4VCrossSectionSource* source = new G4XNDeltaToNN(proton,definition2,
-						     proton,proton);
-
-  G4cout << "***** " << source->Name() <<  "***** created " << G4endl;
-  source->Print();
-
-  // Number of iterations
-  G4int n = 0;
-  G4cout << "---- Number of iterations ----" << G4endl;
-  G4cin >> n;
-  if (n < 1) n = 1;
-
-  G4double step1 = (pzMax1 - pzMin1) / n;
-  G4double step2 = (pzMax2 - pzMin2) / n;
-
-  G4cout << "pz min max step " 
-	 << pzMin1 / GeV << ", " 
-	 << pzMax1 / GeV << ", " 
-	 << step1  / GeV << ", " << G4endl 
-	 << "pz min max step " 
-	 << pzMin2 / GeV << ", " 
-	 << pzMax2 / GeV << ", " 
-	 << step2  / GeV << G4endl; 
-
-  G4int i;
-  for (i=0; i<n; i++)
-    {
-      G4double pStep1 = pzMin1 + step1 * i;
-      G4ThreeVector p1(0.,0.,pStep1);
-      G4double e1 = sqrt(mass1*mass1 + p1.mag()*p1.mag());
-      G4LorentzVector p41(p1,e1);
-
-      G4KineticTrack trk1(definition1,time1,position1,p41);
-
-      G4double pStep2 = -(pzMin2 + step2 * i);
-      G4ThreeVector p2(0.,0.,pStep2);
-      G4double e2 = sqrt(mass2*mass2 + p2.mag()*p2.mag());
-      G4LorentzVector p42(p2,e2);
-      G4KineticTrack trk2(definition2,time2,position2,p42);
-
-      G4double sqrtS = (trk1.Get4Momentum() + trk2.Get4Momentum()).mag();
-      
-      G4double sigma = source->CrossSection(trk1,trk2);
-
-      G4bool dummy = false;
-
-      G4cout << definition1->GetParticleName() << " " << definition2->GetParticleName() 
-	     << " cross section = " << sigma / millibarn << G4endl;
-
-      //      ntuple->column("ecm",sqrtS/GeV);
-      //      ntuple->column("sigma",sigma/millibarn);
-      //      ntuple->dumpData();
-    }
-
-  
-  hbookManager->write();
-
-  delete source;
-
-  return EXIT_SUCCESS;
-}
-
-
Index: trunk/source/processes/hadronic/models/binary_cascade/test/GNUmakefile
===================================================================
--- trunk/source/processes/hadronic/models/binary_cascade/test/GNUmakefile	(revision 1350)
+++ 	(revision )
@@ -1,35 +1,0 @@
-# $Id: GNUmakefile,v 1.7 2009/06/15 10:35:12 gunter Exp $
-# ----------------------------------------------------------------
-# Makes test program in environment variable G4TARGET.
-# ----------------------------------------------------------------
-
-ifndef G4TARGET
-  G4TARGET := $(TESTTARGET)
-endif
-
-ifndef G4INSTALL
-  G4INSTALL = ../../../../../../
-endif
-
-G4EXEC_BUILD = true
-
-include $(G4INSTALL)/config/architecture.gmk
-	
-CPPFLAGS += `root-config --cflags`
-LOADLIBS += `root-config --ldflags --libs`
-
-
-include $(G4INSTALL)/config/binmake.gmk
-    
-INCFLAGS += -I$(G4BASE)/processes/hadronic/models/im_r_matrix/include
-INCFLAGS += -I$(G4BASE)/processes/hadronic/models/binary_cascade/include
-
-
-
-
-
-
-
-
-
-
Index: trunk/source/processes/hadronic/models/binary_cascade/test/LightIon/input.cc
===================================================================
--- trunk/source/processes/hadronic/models/binary_cascade/test/LightIon/input.cc	(revision 1350)
+++ 	(revision )
@@ -1,80 +1,0 @@
-#include <iostream>
-#include <vector>
-#include <utility>
-#include <strstream>
-#include <fstream>
-
-int main()
-{
-
-   std::vector<std::pair<int,int> > materials;
-   std::vector<std::pair<int,int> > projectiles;
-   std::vector<double> energies;
-   
-   std::pair<int,int> H(1,1);
-   std::pair<int,int> d(2,1);
-   std::pair<int,int> O(16,8);
-   std::pair<int,int> Al(27,13);
-   std::pair<int,int> Fe(56,26);
-   std::pair<int,int> Pb(207,82);
-   
-   std::pair<int,int> t(3,1);
-   std::pair<int,int> alpha(4,2);
-   std::pair<int,int> Li6(6,3);
-   std::pair<int,int> Li7(7,3);
-   std::pair<int,int> C(12,6);
-   
-
-   materials.push_back(H);
-   materials.push_back(d);
-   materials.push_back(O);
-   materials.push_back(Al);
-   materials.push_back(Fe);
-   materials.push_back(Pb);
-
-   projectiles.push_back(d);
-   projectiles.push_back(t);
-   projectiles.push_back(alpha);
-   projectiles.push_back(Li6);
-   projectiles.push_back(Li7);
-   projectiles.push_back(C);
-   
-   energies.push_back(100.);
-   energies.push_back(250.);
-   energies.push_back(500.);
-   energies.push_back(800.);
-
-   std::vector<std::pair<int,int> >::iterator  imat;
-   std::vector<std::pair<int,int> >::iterator ipro;
-   std::vector<double>::iterator iener;
-
-   for (imat=materials.begin();imat<materials.end();imat++)
-   {
-       for (ipro=projectiles.begin();ipro<projectiles.end();ipro++)
-       {
-           for (iener=energies.begin();iener<energies.end();iener++)
-	   {
-	        int m_a=imat->first;
-		int m_z=imat->second;
-		int p_a=ipro->first;
-		int p_z=ipro->second;
-		double e=*iener;
-		std::strstream f_name;
-		f_name << m_a <<"_" << m_z<<"_" << p_a<<"_"<< p_z<<
-		"_"<<e<<".in";
-		std::cout << m_a <<" " << m_z<<" " << e<< "f_name " <<
-		f_name.str() << std::endl;
-	   	std::ofstream  file(f_name.str());
-	   	file << m_a <<" " << m_z<<" " << std::endl;
-		file << "1" << std::endl;
-		file << p_a <<" " << p_z<<" " << std::endl;
-		file << "20000" << std::endl;   // number of events
-		file << e << std::endl;
-		file << "1" << std::endl;
-		file.close();
-		
-	   }
-	   
-       }
-   }
-}   
Index: trunk/source/processes/hadronic/models/cascade/cascade/include/G4CascadeMomentum.hh
===================================================================
--- trunk/source/processes/hadronic/models/cascade/cascade/include/G4CascadeMomentum.hh	(revision 1350)
+++ 	(revision )
@@ -1,106 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-// $Id: G4CascadeMomentum.hh,v 1.5 2010/03/16 22:10:26 mkelsey Exp $
-// GEANT4 tag $Name: geant4-09-04-beta-01 $
-//
-// Class G4CascadeMomentum
-//
-// Class description:
-//
-// A simple wrapper class meant to replace the widespread use of
-// std::vector<double> in the cascade mode code, which causes
-// problems for performance due to excess memory allocations.
-//
-// NOTE:  The Bertini code does not pass legitimate four-vectors when
-//	  creating new particles; the new getLV() function takes an
-//	  optional mass argument (in Bertini units [GeV]) so that a
-//	  valid G4LorentzVector can be returned.
-//
-// Author: Peter Elmer, Princeton University                  7-Aug-2008
-// Update: Michael Kelsey, SLAC (support G4LorentzVector)     8-Jan-2010
-// --------------------------------------------------------------------
-#ifndef G4CASCADE_MOMENTUM_HH
-#define G4CASCADE_MOMENTUM_HH
-
-#include <cassert>
-
-#include "G4Types.hh"
-#include "G4LorentzVector.hh"
-#include "G4ThreeVector.hh"
-
-class G4CascadeMomentum
-{
-  public:
-    G4CascadeMomentum() {for (int i=0; i<4; ++i) data_[i]=0.0;}
-
-    // WARNING!  This metric is (t,x,y,z), DIFFERENT FROM HepLV!
-    G4CascadeMomentum(const G4LorentzVector& lv) {
-      setLV(lv);
-    }
-
-    G4double& operator[](int i) {
-      assert(i>=0 && i<4);
-      return data_[i];
-    }
-    const G4double& operator[](int i) const {
-      assert(i>=0 && i<4);
-      return data_[i];
-    }
-
-    operator const G4LorentzVector&() const {
-      return getLV();			// Casting can't do mass repairs
-    }
-
-    const G4LorentzVector& getLV(G4double mass=-1.) const {
-      if (mass>=0.) lv.setVectM(get3V(),mass);		// Force input mass!
-      else lv.set(data_[1],data_[2],data_[3],data_[0]);
-      
-      return lv;
-    }
-
-    G4ThreeVector get3V() const {
-      return getLV().vect();
-    }
-
-    void setLV(const G4LorentzVector& lv) {
-      data_[0] = lv.t();		// NOTE DIFFERENT METRIC CONVENTION!
-      data_[1] = lv.x();
-      data_[2] = lv.y();
-      data_[3] = lv.z();
-    }
-
-    G4CascadeMomentum& operator=(const G4LorentzVector& lv) {
-      setLV(lv);
-      return *this;
-    }
-
-  private:
-    G4double data_[4];
-    mutable G4LorentzVector lv;		// Buffer for conversion operations
-};
-
-#endif
-
Index: trunk/source/processes/hadronic/models/cascade/cascade/include/G4PreCompoundCascadeInterface.hh
===================================================================
--- trunk/source/processes/hadronic/models/cascade/cascade/include/G4PreCompoundCascadeInterface.hh	(revision 1350)
+++ 	(revision )
@@ -1,72 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-// $Id: G4PreCompoundCascadeInterface.hh,v 1.3 2010/05/21 18:07:30 mkelsey Exp $
-// Defines an interface to Bertini (BERT) INC with exitons. Evaporation is NOT included
-//
-// 20100520 M. Kelsey -- Add missing name string to ctor, follow code changes from
-//		G4CascadeInterface.
-
-#ifndef G4PRECOMPOUNDCASCADEINTERFACE_H
-#define G4PRECOMPOUNDCASCADEINTERFACE_H 1
-
-#include "G4Nucleon.hh"
-#include "G4Nucleus.hh"
-#include "G4VIntraNuclearTransportModel.hh"
-#include "G4KineticTrackVector.hh"
-#include "G4FragmentVector.hh"
-#include "G4ParticleChange.hh"
-#include "G4ReactionProductVector.hh"
-#include "G4ReactionProduct.hh"
-
-class G4PreCompoundCascadeInterface : public G4VIntraNuclearTransportModel {
-
-public:
-  G4PreCompoundCascadeInterface(const G4String& nam="PreCompound Bertini Cascade");
-
-  ~G4PreCompoundCascadeInterface(){
-  }
-
-  G4ReactionProductVector* Propagate(G4KineticTrackVector* theSecondaries, G4V3DNucleus* theNucleus);
-
-  G4HadFinalState* ApplyYourself(const G4HadProjectile& aTrack, G4Nucleus& theNucleus); 
-
-private:
-  G4int operator==(const G4PreCompoundCascadeInterface& right) const {
-    return (this == &right);
-  }
-
-  G4int operator!=(const G4PreCompoundCascadeInterface& right) const {
-    return (this != &right);
-  }
-
-  G4int verboseLevel;
-
-private:
-  G4HadFinalState theResult;  
-  
-};
-
-#endif // G4PRECOMPOUNDCASCADEINTERFACE_H
Index: trunk/source/processes/hadronic/models/cascade/cascade/include/G4PreCompoundInuclCollider.hh
===================================================================
--- trunk/source/processes/hadronic/models/cascade/cascade/include/G4PreCompoundInuclCollider.hh	(revision 1350)
+++ 	(revision )
@@ -1,63 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-// $Id: G4PreCompoundInuclCollider.hh,v 1.7 2010/06/25 09:43:50 gunter Exp $
-// GEANT4 tag: $Name: geant4-09-04-beta-01 $
-//
-// 20100315  M. Kelsey -- Remove "using" directive and unneeded #includes.
-// 20100413  M. Kelsey -- Pass G4CollisionOutput by ref to ::collide()
-// 20100517  M. Kelsey -- Inherit from common base class, make other colliders
-//		simple data members
-
-#ifndef G4PRECOMPOUNDINUCL_COLLIDER_HH
-#define G4PRECOMPOUNDINUCL_COLLIDER_HH
- 
-#include "G4VCascadeCollider.hh"
-
-class G4BigBanger;
-class G4CollisionOutput;
-class G4ElementaryParticleCollider;
-class G4IntraNucleiCascader;
-class G4InuclParticle;
-class G4NonEquilibriumEvaporator;
-
-class G4PreCompoundInuclCollider : public G4VCascadeCollider {
-public:
-  G4PreCompoundInuclCollider();
-  virtual ~G4PreCompoundInuclCollider();
-  
-  void collide(G4InuclParticle* bullet, G4InuclParticle* target,
-	       G4CollisionOutput& globalOutput);
-
-private: 
-  G4ElementaryParticleCollider* theElementaryParticleCollider;
-  G4IntraNucleiCascader* theIntraNucleiCascader;
-  G4NonEquilibriumEvaporator* theNonEquilibriumEvaporator;
-  G4BigBanger* theBigBanger;
-};        
-
-#endif /* G4PRECOMPOUNDINUCL_COLLIDER_HH */
-
-
Index: trunk/source/processes/hadronic/models/cascade/cascade/src/G4PreCompoundCascadeInterface.cc
===================================================================
--- trunk/source/processes/hadronic/models/cascade/cascade/src/G4PreCompoundCascadeInterface.cc	(revision 1350)
+++ 	(revision )
@@ -1,318 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-// $Id: G4PreCompoundCascadeInterface.cc,v 1.13.2.1 2010/06/25 09:45:00 gunter Exp $
-// Geant4 tag: $Name: geant4-09-04-beta-01 $
-//
-// 20100114  M. Kelsey -- Remove G4CascadeMomentum, use G4LorentzVector directly
-// 20100413  M. Kelsey -- Pass G4CollisionOutput by ref to ::collide()
-// 20100414  M. Kelsey -- Check for K0L/K0S before using G4InuclElemPart::type
-// 20100419  M. Kelsey -- Access G4CollisionOutput lists by const-ref, and 
-//		const_iterator
-// 20100428  M. Kelsey -- Use G4InuclParticleNames enum
-// 20100429  M. Kelsey -- Change "case gamma:" to "case photon:"
-// 20100517  M. Kelsey -- Follow new ctors for G4*Collider family.
-// 20100520  M. Kelsey -- Add missing name string to ctor, follow code changes
-//		from G4CascadeInterface.
-
-#include "G4PreCompoundCascadeInterface.hh"
-#include "globals.hh"
-#include "G4CollisionOutput.hh"
-#include "G4DynamicParticle.hh"
-#include "G4InuclElementaryParticle.hh"
-#include "G4InuclNuclei.hh"
-#include "G4InuclParticle.hh"
-#include "G4InuclParticleNames.hh"
-#include "G4KaonZeroShort.hh"
-#include "G4KaonZeroLong.hh"
-#include "G4LorentzRotation.hh"
-#include "G4Nucleus.hh"
-#include "G4ParticleDefinition.hh"
-#include "G4PreCompoundInuclCollider.hh"
-#include "G4Track.hh"
-#include "G4V3DNucleus.hh"
-
-using namespace G4InuclParticleNames;
-
-
-typedef std::vector<G4InuclElementaryParticle>::const_iterator particleIterator;
-typedef std::vector<G4InuclNuclei>::const_iterator nucleiIterator;
-
-G4PreCompoundCascadeInterface::G4PreCompoundCascadeInterface(const G4String& nam)
-  :G4VIntraNuclearTransportModel(nam), verboseLevel(0)  {
-
-  if (verboseLevel > 3) {
-    G4cout << " >>> G4PreCompoundCascadeInterface::G4PreCompoundCascadeInterface" << G4endl;
-  }
-}
-   
-G4ReactionProductVector* G4PreCompoundCascadeInterface::Propagate(G4KineticTrackVector* , 
-								  G4V3DNucleus* ) {
-  return 0;
-}
-
-// #define debug_G4PreCompoundCascadeInterface
-
-G4HadFinalState* G4PreCompoundCascadeInterface::ApplyYourself(const G4HadProjectile& aTrack, 
-							      G4Nucleus& theNucleus) {
-#ifdef debug_G4PreCompoundCascadeInterface
-  static G4int counter(0);
-  counter++;
-  G4cerr << "Reaction number "<< counter << " "<<aTrack.GetDynamicParticle()->GetDefinition()->GetParticleName()<<" "<< aTrack.GetDynamicParticle()->GetKineticEnergy()<<G4endl;
-#endif
-
-  theResult.Clear();
-
-  if (verboseLevel > 3) {
-    G4cout << " >>> G4PreCompoundCascadeInterface::ApplyYourself" << G4endl;
-  };
-
-  G4double eInit     = 0.0;
-  G4double eTot      = 0.0;
-  G4double sumBaryon = 0.0;
-  G4double sumEnergy = 0.0;
-
-  // Make conversion between native Geant4 and Bertini cascade classes.
-  // NOTE: Geant4 units are MeV = 1 and GeV = 1000. Cascade code by default use GeV = 1.
-
-  G4int bulletType;
-  if (aTrack.GetDefinition() == G4KaonZeroLong::KaonZeroLong() ||
-      aTrack.GetDefinition() == G4KaonZeroShort::KaonZeroShort() )
-    bulletType = (G4UniformRand() > 0.5) ? kaonZero : kaonZeroBar;
-  else 
-    bulletType = G4InuclElementaryParticle::type(aTrack.GetDefinition());
-
-  // Code momentum and energy.
-  G4LorentzVector projectileMomentum = aTrack.Get4Momentum();
-  G4LorentzRotation toZ;
-  toZ.rotateZ(-projectileMomentum.phi());
-  toZ.rotateY(-projectileMomentum.theta());
-  G4LorentzRotation toLabFrame = toZ.inverse();
-
-  G4LorentzVector momentumBullet(0., 0., aTrack.GetTotalMomentum()/GeV,
-				 aTrack.GetTotalEnergy()/GeV);
-
-  G4InuclElementaryParticle *  bullet =
-    new G4InuclElementaryParticle(momentumBullet, bulletType); 
-
-  sumEnergy = bullet->getKineticEnergy(); // In GeV 
-  sumBaryon += bullet->baryon();
-
-  // Set target
-  G4InuclNuclei*   target  = 0;
-  G4InuclParticle* targetH = 0;
-
-  G4double theNucleusA = theNucleus.GetN();
-
-  if ( !(G4int(theNucleusA) == 1) ) {
-    target  = new G4InuclNuclei(theNucleusA, theNucleus.GetZ());
-    eInit = bullet->getEnergy() + target->getEnergy();
-
-    sumBaryon += theNucleusA;
-
-    if (verboseLevel > 2) {
-      G4cout << "Bullet:  " << G4endl;  
-      bullet->printParticle();
-    }
-    if (verboseLevel > 2) {
-      G4cout << "Target:  " << G4endl;  
-      target->printParticle();
-    }
-  }
-
-  G4CollisionOutput output;
-
-  // Colliders initialisation
-  G4PreCompoundInuclCollider*  collider = new G4PreCompoundInuclCollider;
-
-  G4int  maxTries = 10; // maximum tries for inelastic collision to avoid infinite loop
-  G4int  nTries   = 0;  // try counter
-
-  if (G4int(theNucleusA) == 1) { // special treatment for target H(1,1) (proton)
-
-    targetH = new G4InuclElementaryParticle(1);
-
-    G4float cutElastic[32];
-
-    cutElastic[proton   ]   = 1.0; // 1 GeV
-    cutElastic[neutron  ]   = 1.0;
-    cutElastic[lambda]      = 1.0;
-    cutElastic[sigmaPlus]   = 1.0;
-    cutElastic[sigmaZero]   = 1.0;
-    cutElastic[sigmaMinus]  = 1.0;
-    cutElastic[xiZero]      = 1.0;
-    cutElastic[xiMinus]     = 1.0;
-
-    cutElastic[pionPlus ]   = 0.6; // 0.6 GeV
-
-    cutElastic[kaonPlus ]   = 0.5; // 0.5 GeV
-    cutElastic[kaonMinus]   = 0.5;
-    cutElastic[kaonZero]    = 0.5;
-    cutElastic[kaonZeroBar] = 0.5;
-
-    cutElastic[pionMinus]   = 0.2; // 0.2 GeV
-    cutElastic[pionZero ]   = 0.2;
-
-
-    if (momentumBullet.z() > cutElastic[bulletType]) { // inelastic collision possible
-
-      do {   // we try to create inelastic interaction
-	output.reset();
-	collider->collide(bullet, targetH, output);
-	nTries++;
-      } while(
-	      (nTries < maxTries) &&
-	      (output.getOutgoingParticles().size() == 2 && // elastic: bullet + p = H(1,1) coming out
-	       (output.getOutgoingParticles().begin()->type() == bulletType || output.getOutgoingParticles().begin()->type() == proton)
-	       )
-	      );
-
-    } else { // only elastic collision is energetically possible
-      collider->collide(bullet, targetH, output);
-    }
-
-    sumBaryon += 1;
-
-    eInit = bullet->getEnergy() + target->getEnergy();
-
-    if (verboseLevel > 2) {
-      G4cout << "Target:  " << G4endl;
-      targetH->printParticle();
-    }
-
-  } else {  // treat all other targets excepet H(1,1)
-
-    do  // we try to create inelastic interaction
-      {
-	output.reset();
-	collider->collide(bullet, target, output);
-	nTries++;
-      } while (
-	       (nTries < maxTries) &&
-	       output.getOutgoingParticles().size() == 1 &&     // we retry when elastic collision happened
-               output.getNucleiFragments().size() == 1 &&            
-	       output.getOutgoingParticles().begin()->type() == bullet->type() &&
-	       output.getNucleiFragments().begin()->getA() == target->getA() && 
-	       output.getNucleiFragments().begin()->getZ() == target->getZ() 
-	       );
-  }
- 
-  if (verboseLevel > 1) {
-      G4cout << " Cascade output: " << G4endl;
-      output.printCollisionOutput();
-  }
-  
-  // Rotate event to put Z axis along original projectile direction
-  output.rotateEvent(toLabFrame);
-
-  // Convert cascade data to use hadronics interface
-  const std::vector<G4InuclNuclei>& nucleiFragments = output.getNucleiFragments();
-  const std::vector<G4InuclElementaryParticle>& particles = output.getOutgoingParticles();
-
-  theResult.SetStatusChange(stopAndKill);
-
-  // Get outcoming particles
-  G4DynamicParticle* cascadeParticle = 0;
-  if (!particles.empty()) { 
-    particleIterator ipart = particles.begin();
-    for (; ipart != particles.end(); ipart++) {
-      G4int outgoingType = ipart->type();
-
-      eTot += ipart->getEnergy();
-      sumBaryon -= ipart->baryon();
-      sumEnergy -= ipart->getKineticEnergy();
-
-      if (!ipart->valid() || ipart->quasi_deutron()) {
-        G4cerr << " ERROR: G4PreCompoundCascadeInterface::Propagate incompatible"
-	       << " particle type " << ipart->type() << G4endl;
-	continue;
-      }
-
-      // Copy local G4DynPart to public output (handle kaon mixing specially)
-      if (outgoingType == kaonZero || outgoingType == kaonZeroBar) {
-	G4ThreeVector momDir = ipart->getMomentum().vect().unit();
-	G4double ekin = ipart->getKineticEnergy();
-
-	G4ParticleDefinition* pd = G4KaonZeroShort::Definition();
-	if (G4UniformRand() > 0.5) pd = G4KaonZeroLong::Definition();
-
-	cascadeParticle = new G4DynamicParticle(pd, momDir, ekin);
-      } else {
-	cascadeParticle = new G4DynamicParticle(ipart->getDynamicParticle());
-      }
- 
-      theResult.AddSecondary(cascadeParticle); 
-    }
-  }
-
-  // get nuclei fragments
-  G4DynamicParticle * aFragment = 0;
-  if (!nucleiFragments.empty()) { 
-    nucleiIterator ifrag = nucleiFragments.begin();
-    for (; ifrag != nucleiFragments.end(); ifrag++) {
-      eTot += ifrag->getEnergy();
-      sumBaryon -= ifrag->getA();
-      sumEnergy -= ifrag->getKineticEnergy();
-
-      if (verboseLevel > 2) {
-	G4cout << " Nuclei fragment: " << G4endl;
-	ifrag->printParticle();
-      }
-
-      // Copy local G4DynPart to public output 
-      aFragment =  new G4DynamicParticle(ifrag->getDynamicParticle());
-      theResult.AddSecondary(aFragment); 
-    }
-  }
-
-  // Report violations of energy, baryon conservation
-  if (verboseLevel > 2) {
-    if (sumBaryon != 0) {
-      G4cout << "ERROR: no baryon number conservation, sum of baryons = "
-	     << sumBaryon << G4endl;
-    }
-
-    if (sumEnergy > 0.01 ) {
-      G4cout << "Kinetic energy conservation violated by "
-	     << sumEnergy << " GeV" << G4endl;
-    }
-     
-    G4cout << "Total energy conservation at level ~"
-	   << (eInit - eTot) * GeV << " MeV" << G4endl;
-    
-    if (sumEnergy < -5.0e-5 ) { // 0.05 MeV
-      G4cout << "FATAL ERROR: energy created  "
-	     << sumEnergy * GeV << " MeV" << G4endl;
-    }
-  }
-
-  delete bullet;
-  delete collider;
-
-  if(target != 0) delete target;
-  if(targetH != 0) delete targetH;
-
-  return &theResult;
-  }
Index: trunk/source/processes/hadronic/models/cascade/cascade/src/G4PreCompoundInuclCollider.cc
===================================================================
--- trunk/source/processes/hadronic/models/cascade/cascade/src/G4PreCompoundInuclCollider.cc	(revision 1350)
+++ 	(revision )
@@ -1,218 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-// $Id: G4PreCompoundInuclCollider.cc,v 1.10 2010/06/25 09:45:02 gunter Exp $
-// Geant4 tag: $Name: geant4-09-04-beta-01 $
-//
-// 20100114  M. Kelsey -- Remove G4CascadeMomentum, use G4LorentzVector directly
-// 20100309  M. Kelsey -- Eliminate some unnecessary std::pow()
-// 20100413  M. Kelsey -- Pass G4CollisionOutput by ref to ::collide()
-// 20100429  M. Kelsey -- Change "photon()" to "isPhoton()"
-// 20100517  M. Kelsey -- Inherit from common base class, make other colliders
-//		simple data members, consolidate code
-
-#include "G4PreCompoundInuclCollider.hh"
-#include "G4BigBanger.hh"
-#include "G4CollisionOutput.hh"
-#include "G4ElementaryParticleCollider.hh"
-#include "G4IntraNucleiCascader.hh"
-#include "G4InuclElementaryParticle.hh"
-#include "G4LorentzConvertor.hh"
-#include "G4NonEquilibriumEvaporator.hh"
-
-	 
-G4PreCompoundInuclCollider::G4PreCompoundInuclCollider()
-  : G4VCascadeCollider("G4PreCompoundInuclCollider"),
-    theElementaryParticleCollider(new G4ElementaryParticleCollider),
-    theIntraNucleiCascader(new G4IntraNucleiCascader),
-    theNonEquilibriumEvaporator(new G4NonEquilibriumEvaporator),
-    theBigBanger(new G4BigBanger) {}
-
-G4PreCompoundInuclCollider::~G4PreCompoundInuclCollider() {
-  delete theElementaryParticleCollider;
-  delete theIntraNucleiCascader;
-  delete theNonEquilibriumEvaporator;
-  delete theBigBanger;
-}
-
-
-void G4PreCompoundInuclCollider::collide(G4InuclParticle* bullet,
-					 G4InuclParticle* target,
-					 G4CollisionOutput& globalOutput) {
-  if (verboseLevel > 3) {
-    G4cout << " >>> G4PreCompoundInuclCollider::collide" << G4endl;
-  }
-
-  const G4int itry_max = 1000;
-  		     
-  if (useEPCollider(bullet,target)) {
-    if (verboseLevel > 2) {
-      bullet->printParticle();
-      target->printParticle();
-    }
-
-    theElementaryParticleCollider->collide(bullet, target, globalOutput);
-  } else { // needs to call all machinery    	
-    G4LorentzConvertor convertToTargetRestFrame;
-
-    interCase.set(bullet, target);
-     
-    if (interCase.valid()) { // ok
-      G4InuclNuclei* ntarget =
-	dynamic_cast<G4InuclNuclei*>(interCase.getTarget());
-
-      convertToTargetRestFrame.setTarget(ntarget);
-      G4int btype = 0;
-      G4double ab = 0.0;
-      G4double zb = 0.0;
-      G4double at = ntarget->getA();
-      G4double zt = ntarget->getZ();
-       
-      if (interCase.hadNucleus()) { // particle with nuclei
-	G4InuclElementaryParticle* pbullet = 
-	  dynamic_cast<G4InuclElementaryParticle*>(interCase.getBullet());
-         
-	if (pbullet->isPhoton()) {
-	  G4cout << " InuclCollider -> can not collide with photon " << G4endl;
-
-	  globalOutput.trivialise(bullet, target);
-	  return;
-	} else {
-	  convertToTargetRestFrame.setBullet(pbullet);   
-	  btype = pbullet->type();
-	}; 
-
-      } else { // nuclei with nuclei
-	G4InuclNuclei* nbullet = 
-	  dynamic_cast<G4InuclNuclei*>(interCase.getBullet());
-
-	convertToTargetRestFrame.setBullet(nbullet);   
-	ab = nbullet->getA();
-	zb = nbullet->getZ();
-      };
-       	
-      G4double ekin = convertToTargetRestFrame.getKinEnergyInTheTRS();
-
-      if (verboseLevel > 3) {
-	G4cout << " ekin in trs " << ekin << G4endl;
-      }
-
-      if (inelasticInteractionPossible(bullet, target, ekin)) {
-	convertToTargetRestFrame.toTheTargetRestFrame();
-
-	if (verboseLevel > 3) {
-	  G4cout << " degenerated? " << convertToTargetRestFrame.trivial() << G4endl;
-	}
-
-	G4LorentzVector bmom;
-	bmom.setZ(convertToTargetRestFrame.getTRSMomentum());
-
-	G4InuclNuclei ntarget(at, zt);		// Default is at rest
-
-	theIntraNucleiCascader->setInteractionCase(interCase.code());
-	 
-	G4bool bad = true;
-	G4int itry = 0;
-	 
-	G4CollisionOutput TRFoutput;
-	G4CollisionOutput output;
-	while (bad && itry < itry_max) {
-	  itry++;
-
-	  output.reset();	// Clear buffers for this attempt
-	  TRFoutput.reset();
-
-	  if (interCase.hadNucleus()) {
-	    G4InuclElementaryParticle pbullet(bmom, btype);
-
-	    theIntraNucleiCascader->collide(&pbullet, &ntarget, output);
-	  } else {
-	    G4InuclNuclei nbullet(bmom, ab, zb);
-	    theIntraNucleiCascader->collide(&nbullet, &ntarget, output);
-	  };   
-
-	  if (verboseLevel > 3) {
-	    G4cout << " After Cascade " << G4endl;
-	    output.printCollisionOutput();
-	  }
-	  
-	  // the rest, if any
-	  TRFoutput.addOutgoingParticles(output.getOutgoingParticles());
-
-	  if (output.numberOfNucleiFragments() == 1) { // there is smth. after
-	    G4InuclNuclei cascad_rec_nuclei = output.getNucleiFragments()[0];
-	    if (explosion(&cascad_rec_nuclei)) {
-	      if (verboseLevel > 3) {
-		G4cout << " big bang after cascade " << G4endl;
-	      };
-
-	      theBigBanger->collide(0,&cascad_rec_nuclei, TRFoutput);
-	    } else {
-	      output.reset();
-	      theNonEquilibriumEvaporator->collide(0, &cascad_rec_nuclei, output);
-
-	      if (verboseLevel > 3) {
-		G4cout << " After NonEquilibriumEvaporator " << G4endl;
-		output.printCollisionOutput();
-	      };
-
-	      TRFoutput.addOutgoingParticles(output.getOutgoingParticles());  
-	      TRFoutput.addTargetFragments(output.getNucleiFragments());
-	    };
-	  };
-	 
-	  // convert to the LAB       
-	  TRFoutput.boostToLabFrame(convertToTargetRestFrame);
-
-	  globalOutput.addOutgoingParticles(TRFoutput.getOutgoingParticles());
-	  globalOutput.addTargetFragments(TRFoutput.getNucleiFragments());
-	  globalOutput.setOnShell(bullet, target);
-	  if (globalOutput.acceptable()) return;
-
-	  globalOutput.reset();		// Clear and try again
-	};
-
-	if (verboseLevel > 3) {
-	  G4cout << " InuclCollider -> can not generate acceptable inter. after " 
-		 << itry_max << " attempts " << G4endl;
-	}
-      } else {
-	if (verboseLevel > 3) {
-	  G4cout << " InuclCollider -> inelastic interaction is impossible " << G4endl
-		 << " due to the coulomb barirer " << G4endl;
-	}
-      }
-	
-      globalOutput.trivialise(bullet, target);
-      return;
-    } else {
-      if (verboseLevel > 3) {
-	G4cout << " InuclCollider -> inter case " << interCase.code() << G4endl;
-      };
-    };       
-  };
-
-  return;
-}
Index: trunk/source/processes/hadronic/models/cascade/cascade/src/bindingEnergyExact.cc
===================================================================
--- trunk/source/processes/hadronic/models/cascade/cascade/src/bindingEnergyExact.cc	(revision 1350)
+++ 	(revision )
@@ -1,327 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-#include "G4InuclSpecialFunctions.hh"
-
-#include <iostream>
-
-G4double G4InuclSpecialFunctions::bindingEnergyExact(G4double A, 
-						     G4double Z) {
-  G4int verboseLevel = 2;
-
-  if (verboseLevel > 3) {
-    G4cout << " >>> G4InuclSpecialFunctions::bindingEnergyExact" << G4endl;
-  }
-
-  // calculates the nuclei binding energy using experimental data or
-  // asymptotic mass formula if it's impossible to use exact
-
-  // data for precise binding energies
-  const G4double DH[4] = {2.225, 8.482, 5.58, 5.79};
-  const G4double DHE[6] = {7.718, 28.297, 27.41, 29.268, 28.826, 31.36};
-  const G4double DLI[8] = {4.81, 26.33, 31.995, 39.246, 41.279,
-			   45.331, 43.03, 43.13};
-  const G4double DBE[8] = {26.926, 37.602, 56.502, 58.167, 64.979,
-			   65.482, 68.78, 66.08};  
-  const G4double DB[9] = {24.65, 34.739, 56.317, 64.752, 76.208,
-			  79.578, 84.458, 84.86, 87.76};
-  const G4double DC[9] = {39.038, 60.319, 73.444, 92.166,
-			  97.112, 105.289, 106.507, 110.759, 114.96};
-  const G4double DN[9] = {57.86, 74.039, 94.109, 104.663,
-			  115.496, 117.986, 123.87, 126.539, 131.54};
-  const G4double DOX[9] = {75.567, 98.735, 111.954, 127.624,
-			   131.766, 139.813, 143.77, 151.374, 152.57};
-  const G4double DF[8] = {96.37, 111.412, 128.225, 137.375, 147.806, 
-			  154.407, 162.51, 167.707};
-  const G4double DNE[8] = {112.92, 132.146, 143.785, 160.65, 167.412, 
-			   177.778, 182.974, 191.844};
-  const G4double DNA[9] = {131.78, 145.98, 163.081, 174.152, 186.571, 
-			   193.53, 202.541, 208.77,  215.91};
-  const G4double DMG[9] = {134.53, 149.204, 168.571, 181.732, 198.262, 205.594,
-			   216.688, 223.131, 231.635};
-  const G4double DAL[9] = {149.36, 168.71, 183.597, 200.532,
-			   211.901, 224.959, 232.684, 242.12, 247.87}; 
-  const G4double DSI[9] = {172.0, 187.02, 206.056, 219.366,
-			   236.544, 245.018, 255.627, 262.216, 271.431}; 
-  const G4double DP[8] = {205.98, 221.424, 239.292,
-			  250.617, 262.925, 270.861, 280.966, 287.53}; 
-  const G4double DS[10] = {224.71, 243.696, 256.701, 
-			   271.789, 280.432, 291.847, 298.835, 308.727, 
-			   313.04, 321.068};
-  const G4double DCL[10] = {244.12, 258.255, 274.066, 285.574, 298.22, 
-			    306.801, 317.112, 323.222, 331.296, 337.1}; 
-  const G4double DAR[10] = {261.68, 278.748, 291.474, 306.727, 315.515, 
-			    327.354, 333.952, 343.822, 349.921, 359.35}; 
-  const G4double DK[13] = {278.89, 293.031, 308.584, 320.649, 333.734,
-			   341.534, 351.631, 359.165, 368.798, 376.092, 
-			   384.97, 391.857, 400.207}; 
-
-  //  const G4double DCA[3] = {296.23, 313.098, 326.43};
-  const G4double DSC = 326.957;                               
-  G4double DM;
-  G4double AN = A - Z;
-  G4int IZ = G4int(Z + 0.1); 
-  G4int IN = G4int(AN + 0.1); 
-	 
-  switch (IZ) {
-
-  case 1: // H
-
-    if (IN <= 4) {
-      DM = DH[IN - 1];
-
-    } else {
-      DM = bindingEnergyAsymptotic(A, Z); //::: clean repetitive structure
-    };
-
-    break;    
-
-  case 2: // He
-
-    if (IN <= 6) {
-      DM = DHE[IN - 1];
-
-    } else {
-      DM = bindingEnergyAsymptotic(A, Z);
-    };
-
-    break;    
-
-  case 3: // Li
-
-    if (IN <= 8) {
-      DM = DLI[IN - 1];
-
-    } else {
-      DM = bindingEnergyAsymptotic(A, Z);
-    };
-
-    break;    
-
-  case 4: // Be
-
-    if (IN <= 9 && IN >= 2) {
-      DM = DBE[IN - 2];
-
-    } else {
-      DM = bindingEnergyAsymptotic(A, Z);
-    };
-
-    break;    
-
-  case 5: // B
-
-    if (IN <= 10 && IN >= 2) {
-      DM = DB[IN - 2];
-
-    } else {
-      DM = bindingEnergyAsymptotic(A, Z);
-    };
-
-    break;    
-
-  case 6: // C
-    if (IN <= 11 && IN >= 3) {
-      DM = DC[IN - 3];
-
-    } else {
-      DM = bindingEnergyAsymptotic(A, Z);
-    };
-
-    break;    
-
-  case 7: // N
-    if (IN <= 12 && IN >= 4) {
-      DM = DN[IN - 4];
-
-    } else {
-      DM = bindingEnergyAsymptotic(A, Z);
-    };
-
-    break;    
-
-  case 8: // O
-    if (IN <= 13 && IN >= 5) {
-      DM = DOX[IN - 5];
-
-    } else {
-      DM = bindingEnergyAsymptotic(A, Z);
-    };
-
-    break;    
-
-  case 9: // F
-    if (IN <= 13 && IN >= 6) {
-      DM = DF[IN - 6];
-
-    } else {
-      DM = bindingEnergyAsymptotic(A, Z);
-    };
-
-    break;    
-
-  case 10: // Ne
-    if (IN <= 14 && IN >= 7) {
-      DM = DNE[IN - 7];
-
-    } else {
-      DM = bindingEnergyAsymptotic(A, Z);
-    };
-
-    break;    
-
-  case 11: // Na
-    if (IN <= 16 && IN >= 8) {
-      DM = DNA[IN - 8];
-
-    } else {
-      DM = bindingEnergyAsymptotic(A, Z);
-    };
-
-    break;    
-
-  case 12: // Mg
-
-    if (IN <= 16 && IN >= 8) {
-      DM = DMG[IN - 8];
-
-    } else {
-      DM = bindingEnergyAsymptotic(A, Z);
-    };
-
-    break;    
-
-  case 13: // Al
-
-    if (IN <= 17 && IN >= 9) {
-      DM = DAL[IN - 9];
-
-    } else {
-      DM = bindingEnergyAsymptotic(A, Z);
-    };
-
-    break;    
-
-  case 14: // Si
-
-    if (IN <= 18 && IN >= 10) {
-      DM = DSI[IN - 10];
-
-    } else {
-      DM = bindingEnergyAsymptotic(A, Z);
-    };
-
-    break;    
-
-  case 15: // P
-
-    if (IN <= 19 && IN >= 12) {
-      DM = DP[IN - 12];
-
-    } else {
-      DM = bindingEnergyAsymptotic(A, Z);
-    };
-
-    break;    
-
-  case 16: // S
-
-    if (IN <= 22 && IN >= 13) {
-      DM = DS[IN - 13];
-
-    } else {
-      DM = bindingEnergyAsymptotic(A, Z);
-    };
-
-    break;    
-
-  case 17: // Cl
-
-    if (IN <= 23 && IN >= 14) {
-      DM = DCL[IN - 14];
-
-    } else {
-      DM = bindingEnergyAsymptotic(A, Z);
-    };
-
-    break;    
-
-  case 18: // Ar
-
-    if (IN <= 24 && IN >= 15) {
-      DM = DAR[IN - 15];
-
-    } else {
-      DM = bindingEnergyAsymptotic(A, Z);
-    };
-
-    break;    
-
-  case 19: // K
-
-    if (IN <= 28 && IN >= 16) {
-      DM = DK[IN - 16];
-
-    } else {
-      DM = bindingEnergyAsymptotic(A, Z);
-    };
-
-    break;    
-
-  case 20: // Ca
-
-    if (IN >= 17) {
-      DM = DK[IN - 17];
-
-    } else {
-      DM = bindingEnergyAsymptotic(A, Z);
-    };
-
-    break;    
-
-  case 21: // Sc
-
-    if (IN == 19) {
-      DM = DSC;
-
-    } else {
-      DM = bindingEnergyAsymptotic(A, Z);
-    };
-
-    break;    
-
-  default: 
-
-  if (verboseLevel > 3) {
-    G4cout << " >>> G4InuclSpecialFunctions::bindingEnergyExact" << G4endl;
-    G4cout << "     DM(A, Z): wrong exact case: IN " << IN  << " IZ " << IZ 
-           << "     -> Using default bindingEnergyAsymptotic(A, Z)" << G4endl;
-  }
-
-    DM = bindingEnergyAsymptotic(A, Z);
-  }; 
-
-  return DM;
-}
Index: trunk/source/processes/hadronic/models/cascade/cascade/src/bindingEnergyKummel.cc
===================================================================
--- trunk/source/processes/hadronic/models/cascade/cascade/src/bindingEnergyKummel.cc	(revision 1350)
+++ 	(revision )
@@ -1,333 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-// $Id: bindingEnergyKummel.cc,v 1.13 2010/06/25 09:45:14 gunter Exp $
-// Geant4 tag: $Name: geant4-09-04-beta-01 $
-//
-// 20100202  M. Kelsey -- Eliminate unnecessary use of std::pow()
-
-#include "G4InuclSpecialFunctions.hh"
-
-using namespace G4InuclSpecialFunctions;
-
-
-G4double G4InuclSpecialFunctions::bindingEnergyKummel(G4double A, 
-						      G4double Z) {
-  G4int verboseLevel = 2;
-  if (verboseLevel > 3) {
-    G4cout << " >>> G4InuclSpecialFunctions::bindingEnergyKummel" << G4endl;
-  }
-
-  // calculates the nuclei binding energy using Kummel mass formula
-
-// data for Kummel mass formula 
-  const G4double ASH[6] = {20.0, 28.0, 50.0, 82.0, 126.0, 184.0};
-  const G4double OMN[3] = {2.511464e0, 7.640294e-2, 2.618317e-2};
-  const G4double OMP[3] = {2.511464e0, 7.640294e-2, 6.243892e-3};
-  const G4double TMET[5] = {9.477193e0, 7.166809e-1, 1.2169e-1, 4.07179e-2, 2.927847e-2}; 
-  const G4double TMET1[4] = {-4.775384e-2, 5.880883e-5, -1.98964e-3, 3.427961e-6}; 
-
-  const G4double BET[5] = {1.535628e4, 1.502538e4, 1.481831e4, 1.459232e4, 1.40664e4};
-
-  const G4double SHN[5] = {8.0, 22.0, 32.0, 44.0, 58.0};
-
-  const G4double TNUN[5] = {8.728778e2, 8.45789e1, 9.210738e1, 5.98e1, 3.724e1}; 
-
-  const G4double TNUP[5] = {8.728778e2, 8.45789e1, 3.74e1, 5.42e1, 3.724e1};
-
-  const G4double TKSN[5] = {3.34582e1, 3.858216e0, -1.489218e-1, -9.2e-1, -6.36e-1};
-
-  const G4double TKSP[5] = {3.34582e1, 3.858216e0, 7.2e-1, -8.2e-1, -6.36e-1};
-
-  const G4double RON[5] = {-6.441735e3, -5.422058e3, -3.722645e3, -2.437172e4, -2.645867e4};
-
-  const G4double ROP[5] = {-6.75601e3, -5.877588e3, -3.216382e4, -3.010688e4, -2.645867e4}; 
-
-  const G4double SINGM[4] = {-3.578531e0, -2.6911e0, -7.487347e-1, 0.0};
-
-  const G4double C[2] = {6.1e3, 8.31e3};
-
-  const G4double AKU = 6.04122e5;
-
-  const G4double US = 1.661835e4;
-
-  const G4double UC = 6.218614e2;
-
-  const G4double UT = 1.983151e4;
-
-  const G4double SIPG = -2.067547e0;
-
-  const G4double TAU = 2.231241e0;
-
-  const G4double AL0 = 0.151;
-
-  const G4double USB = 1.95114e4;
-
-  const G4double UCB = 753.3;
-
-  //  const G4double ALD = 15.4941;
-  // const G4double ALD1 = 17.9439;
-
-  // const G4double C3 = 0.7059;
-
-  //const G4double C4 = 1.21129;
-
-  //  const G4double PKLD = 1.7826;
-
-  const G4double DMU = 3.132902e4;
-        
-  G4double DM;
-
-  G4double AN = A - Z;
-
-  G4int INS = 0;
-  G4double ANE = 0.0;
-  G4double HNE = 0.0;
-  G4int i(0);
-
-  for (i = 1; i < 6; i++) {
-
-    if (AN <= ASH[i]) {
-      ANE = AN - ASH[i - 1];
-      HNE = ASH[i] - AN;
-      INS = i - 1;
-
-      break;
-    };
-  };
- 
-  G4int IPS = 0;
-
-  G4double APR = 0.0;
-
-  G4double HPR = 0.0;
-
-  for (i = 1; i < 6; i++) {
-
-    if (Z <= ASH[i]) {
-      APR = Z - ASH[i - 1];
-      HPR = ASH[i] - Z;
-      IPS = i - 1;
-
-      break;
-    };
-  };
- 
-  G4double PPHN = ANE * HNE;
-  G4double PPHZ = APR * HPR;
-
-  // omega terms
-  G4double OMT = 0.0;
-
-  if (INS <= 2) OMT += OMN[INS] * PPHN;
-
-  if (IPS <= 2) OMT += OMP[IPS] * PPHZ;
-
-  if (verboseLevel > 3) {
-    G4cout << " OMT " << OMT << G4endl;
-  }
-
-  // theta term 1
-
-  G4double TET = 0.0;
-
-  if (verboseLevel> 3) {
-    G4cout << " PPHN " << PPHN << " PPHZ " << PPHZ << G4endl;
-    G4cout << " INS " << INS << " IPS " << IPS << G4endl;
-  }
-
-  if (PPHN > 0.5 && PPHZ > 0.5) {
-    G4int IT = 0;
-
-    if ((INS + 1) * (IPS + 1) > 0) {
-
-      if (INS - IPS == 1) {
-
-	if (INS < 5) {
-	  IT = INS;
-
-	} else {
-	  IT = -1; 
-	};		 
-
-      } else {
-	IT = -1;
-      }; 
-    };
-
-    if (verboseLevel > 3){
-      G4cout << " IT " << IT << G4endl; 
-    }
-
-    if (IT >= 0) TET = TMET[IT] * PPHN * PPHZ;
-  };
-
-  if (verboseLevel> 3) {
-    G4cout << " TET " << TET << G4endl;
-  }
-
-  // theta term 2
-  G4double TET1 = 0.0;
-
-  if (IPS == 2) {
-    TET1 += TMET1[0] * PPHZ * PPHZ;
-
-    if (INS == 3) TET1 += TMET1[1] * PPHN * PPHZ * HNE * HPR;
-  };
-
-  if (INS == 3) {
-
-    G4double TVSP = PPHN * PPHN * HNE;
-    TET1 += TMET1[2] * TVSP;
-    TET1 += TMET1[3] * TVSP * PPHN;
-  };
-
-  if (verboseLevel > 3) {
-    G4cout << " TET1 " << TET1 << G4endl;
-  }
-
-  // betta, nu, ksy terms
-  G4double TBET = 0.0;
-
-  if (INS != 0) {
-
-    for (G4int i = 0; i <= INS - 1; i++) TBET += BET[i] * SHN[i];
-  };
-  TBET += BET[INS] * ANE;
-	
-  if (IPS != 0) {
-
-    for (G4int i = 0; i <= IPS - 1; i++) TBET += BET[i] * SHN[i];
-  };
-  TBET += BET[IPS] * APR;
-
-  if (verboseLevel> 3) {
-    G4cout << " TBET " << TBET << G4endl;
-  }
-
-  G4double TBET1 = 0.0;
-
-  if (PPHN > 0.0 || PPHZ > 0.0) 
-    TBET1 = 0.5 * ((TNUN[INS] + TKSN[INS] * ANE) * PPHN + 
-		   (TNUP[IPS] + TKSP[IPS] * APR) * PPHZ);
-  TBET -= TBET1;
-
-  if (verboseLevel > 3) {
-    G4cout << " TBET1 " << TBET1 << G4endl;
-  }
-
-  // deformation
-  G4double TDEF = 0.0;
-  G4double X = Z * Z / A;
-  G4double X1 = G4cbrt(A);
-  G4double X2 = X1 * X1;
-
-  if (IPS != INS && INS >= 3 && IPS >= 2) {
-    G4double X3 = 2.0 * USB - UCB * X;
-    G4double DNZ = 0.0;
-
-    if (!(INS < 3 || (INS - IPS) != 1)) DNZ = C[INS - 3];
-    DNZ = TBET1 - DNZ;
-    G4double X4 = 0.2 * X2 * AL0 * AL0 * X3;
-  
-    if (DNZ > X4) {
-      G4double X5 = USB + X * UCB;
-      G4double X6 = std::log(DNZ / X4);
-      G4double X7 = std::sqrt(X6);
-
-      // G4double ALM = AL0 * (X7 + 0.143 * AL0 * X5 / X3);
-      TDEF = -X4 * (X6 + 1.0) + DNZ + 0.038 * X2 * (AL0*X7 * AL0*X7 * AL0*X7) * X5;
-    };
-  };
-
-  if (verboseLevel > 3) {
-    G4cout << " TDEF " << TDEF << G4endl;
-  }
-
-  // pairing
-  G4double TPE = 0.0; 
-  G4double TPEN = 0.0;
-  G4double TPEP = 0.0;
-  G4double DN0 = 0.0;
-  G4double DZ0 = 0.0;
-  G4double AV = 2.0 * int(0.5 * AN + 0.1); 	
-
-  if (AN > AV) DN0 = 1.0;
-
-  AV = 2.0 * int(0.5 * Z + 0.1); 
-
-  if (Z > AV) DZ0 = 1.0;
-
-  if (DN0 * DZ0 > 0.0) TPE = DMU / A;
-
-  if (DN0 + DZ0 > 0.0) {
-
-    if (DN0 > 0.0) {
-      TPEN = RON[INS] / X1;
-
-      if (INS >= 1) {
-
-	if (AN >= 82.0) {
-	  TPEN /= X1;
-
-	  if (INS == 3) {
-	    G4double PN = 0.0;
-	    G4double HN = 0.0;
-
-	    if (AN > 90.0) PN = AN - 90.0;
-
-	    if (AN < 116.0) HN = 116.0 - AN;
-	    TPEN += TAU * PN * HN;
-	  };
-	  TPEN += SINGM[INS - 1] * PPHN;
-	}; 
-      };
-    };
-
-    if (DZ0 > 0.0) {
-      TPEP = ROP[IPS] / X1;
-
-      if (IPS == 1) TPEP += SIPG * PPHZ;
-
-      if (IPS > 1) TPEP = TPEP / X1;
-
-    };  
-  };
-  TPE += TPEN + TPEP;
-
-  if (verboseLevel > 3) {
-    G4cout << " TPE " << TPE << " TPEN " << TPEN << " TPEP " << TPEP << G4endl;
-  }
-
-  // collect everything
-  DM = (AKU - US * X2 + Z * (Z - 1.0) / X1 * (OMT - UC) - UT / A *
-	(AN - Z) * (AN - Z) + TET + TET1 + TBET + TDEF + TPE) * 0.001;	  
-
-  if (verboseLevel > 3) {
-    G4cout << " kummel " << G4endl; 
-  }
-
-  return DM;
-}
Index: trunk/source/processes/hadronic/models/cascade/evaporation/test/excitationFunctionTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/cascade/evaporation/test/excitationFunctionTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,141 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: excitationFunctionTest.cc,v 1.4 2007/06/21 15:04:30 gunter Exp $
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-// Test program for G4 Bertini Evaporation.
-
-#define G4VERBOSE 1
-
-#include "G4LayeredNucleus.hh"
-#include "G4BertiniEvaporation.hh"
-
-int main(int argc, char *argv[])
-{
-  G4LayeredNucleus nucl;
-  G4BertiniEvaporation bert;
-  G4VParticleChange * pc;
-  G4int A, Z;
-  G4double E;
-
-  G4int rounds;
-
-  if ( argc == 4 )
-    {
-      sscanf( argv[1], "%d", &A);
-      sscanf( argv[2], "%d", &Z);
-      sscanf( argv[3], "%d", &rounds);
-      G4cout << " % excitation function for " << A << " " << Z << " " << rounds << endl;
-    }
-  
-  else 
-    {
-      G4cout << "***************************" << endl
-	     << "* Exc Fs for : n p pn 2n 2p p2n * " << endl
-	     << "*  Parameters: A Z rounds  * " << endl
-	     << "*  use 68 32 5000, takes  * " << endl
-	     << "*  copper 63 (70%) -> zn 64,30 * " << endl
-	     << "*  copper 65 (30%) -> zn 66,30 * " << endl
-	     << "***************************" << endl << endl;
-      return 0 ;
-    } 
-
-  G4cout << "% n p pn 2n 2p p2n alfan * " << endl;
-
-  bert.setVerboseLevel(0);
-
-  G4int ntemp=0, ptemp=0, dtemp=0, ttemp=0, h3temp=0, h4temp=0, gtemp=0;
-  
-  for ( G4double energy = 1 ; energy < 100 ; energy += 0.5 )
-    {
-      G4int n=0, p=0, d=0, t=0, h3=0, h4=0, g=0, pn=0, _2n=0, _2p=0, p2n=0, alfan=0;
-      nucl.SetParameters( A, Z );
-      nucl.AddExcitationEnergy( energy - nucl.GetEnergyDeposit() );
-      n=p=d=t=h3=h4=g=0;
-
-      for ( G4int j = 0 ; j < rounds ; j++)
-	{
-	  ntemp=ptemp=dtemp=ttemp=h3temp=h4temp=gtemp=0;
-	  pc = bert.BreakItUp( nucl );
-	  
-	  for ( G4int i = 0 ; i < pc->GetNumberOfSecondaries() ;  i++ )
-	    {
-	      const char * name = pc->GetSecondary( i )->GetDefinition()->GetParticleName() ;
-	      if ( strcmp ( name , "neutron" ) == 0 ) ntemp++;
-	      else if ( strcmp ( name , "proton" ) == 0 ) ptemp++;
-	      else if ( strcmp ( name , "deuteron" ) == 0 ) dtemp++;
-	      else if ( strcmp ( name , "triton" ) == 0 ) ttemp++;
-	      else if ( strcmp ( name , "He3" ) == 0 ) h3temp++;
-	      else if ( strcmp ( name , "alpha" ) == 0 ) h4temp++;
-	      else if ( strcmp ( name , "gamma" ) == 0 ) gtemp++;
-	      
-	      delete pc->GetSecondary( i );
-	    } // loop over particle change vector
-
-//  	  G4cout << "a" 
-//  		 << ntemp << " " 
-//  		 << ptemp << " " 
-//  		 << dtemp << " " 
-//  		 << ttemp << " " 
-//  		 << h3temp << " " 
-//  		 << h4temp << " " 
-//  		 << gtemp << " "
-//  		 << pc->GetNumberOfSecondaries() << endl;
-	  
-//  	  if ( pc->GetNumberOfSecondaries() - g == 1 ) m1++;
-//  	  else if ( pc->GetNumberOfSecondaries() - g == 2 ) m2++;
-//  	  else if ( pc->GetNumberOfSecondaries() - g == 3 ) m3++;
-	  
-	  if ( ntemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) n++;
-	  if ( ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) p++;
-	  if ( ( ntemp == 1 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) ||
-	       ( dtemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) ) pn++;
-	  if ( ntemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 2 ) _2n++;
-	  if ( ptemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 2 ) _2p++;
-	  if ( ( ntemp == 2 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 3 ) ||
-	       ( dtemp == 1 && ntemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) ) p2n++;
-	  if ( ntemp == 1 && h4temp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) alfan++;
-	  //x  G4cout << "% n p pn 2n 2p p2n * " << en
-	  pc->Clear();
-	  delete pc;
-      
-	}
-
-      G4cout << energy << "\t"
-	     << n << " "
-	     << p << " "
-	     << pn << " "
-	     << _2n << " "
-	     << _2p << " "
-	     << p2n << " "
-	     << alfan << endl;
-	  //	     << g << endl;
-
-    } // energy loop
-  
-  return 0;
-}
Index: trunk/source/processes/hadronic/models/cascade/evaporation/test/generalTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/cascade/evaporation/test/generalTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,95 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: generalTest.cc,v 1.4 2007/06/21 15:04:32 gunter Exp $
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-// Test program for G4 Bertini Evaporation.
-
-#include "G4LayeredNucleus.hh"
-#include "G4BertiniEvaporation.hh"
-
-int main(int argc, char *argv[])
-{
-  G4LayeredNucleus nucl;
-  G4BertiniEvaporation bert;
-  G4VParticleChange * pc;
-  G4int A, Z;
-  G4double E;
-
-
-  G4cout << "Parameters " << argc-1 << endl;
-
-  if ( argc == 4 )
-    {
-      sscanf( argv[1], "%d", &A);
-      sscanf( argv[2], "%d", &Z);
-      sscanf( argv[3], "%lf", &E);
-      G4cout << A << " " << Z << " " << E << endl;
-      nucl.SetParameters( A, Z);
-      nucl.AddExcitationEnergy( E );
-    }
-
-  bert.setVerboseLevel(0);
-  
-  for ( G4double energy = 1 ; energy < 150 ; energy += 0.5 )
-    {
-      G4int n=0, p=0, d=0, t=0, h3=0, h4=0, g=0;
-
-      nucl.SetParameters( A, Z);
-      nucl.AddExcitationEnergy( E - nucl.GetEnergyDeposit() );
-
-      pc = bert.BreakItUp( nucl );
-
-      for ( G4int i = 0 ; i < pc->GetNumberOfSecondaries() ;  i++ )
-	{
-	  char * name = pc->GetSecondary( i )->GetDefinition()->GetParticleName() ;
-	  if ( strcmp ( name , "proton" ) == 0 ) p++;
-	  if ( strcmp ( name , "neutron" ) == 0 ) n++;
-	  if ( strcmp ( name , "deuteron" ) == 0 ) d++;
-	  if ( strcmp ( name , "triton" ) == 0 ) t++;
-	  if ( strcmp ( name , "He3" ) == 0 ) h3++;
-	  if ( strcmp ( name , "alpha" ) == 0 ) h4++;
-	  if ( strcmp ( name , "gamma" ) == 0 ) g++;
-	} // loop over particle change vector
-
-      G4cout << energy << "\t"
-	     << n << " "
-	     << p << " "
-	     << d << " "
-	     << t << " "
-	     << h3 << " "
-	     << h4 << " "
-	     << g << endl;
-      
-    } // energy loop
-  
-  return 0;
-}
-
-
-
-//G4cout << energy << " " << pc->GetSecondary( i )->GetDefinition()->GetParticleName() << endl;
Index: trunk/source/processes/hadronic/models/cascade/evaporation/test/multiplicityTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/cascade/evaporation/test/multiplicityTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,105 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: multiplicityTest.cc,v 1.4 2007/06/21 15:04:34 gunter Exp $
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-// Test program for G4 Bertini Evaporation.
-
-#define G4VERBOSE 1
-
-#include "G4LayeredNucleus.hh"
-#include "G4BertiniEvaporation.hh"
-
-int main(int argc, char *argv[])
-{
-  G4LayeredNucleus nucl;
-  G4BertiniEvaporation bert;
-  G4VParticleChange * pc;
-  G4int A, Z;
-  G4double E;
-
-  G4int rounds;
-
-  if ( argc == 4 )
-    {
-      sscanf( argv[1], "%d", &A);
-      sscanf( argv[2], "%d", &Z);
-      sscanf( argv[3], "%d", &rounds);
-      G4cout << A << " " << Z << " " << rounds << endl;
-    }
-  
-  else 
-    {
-      G4cout << "***************************" << endl
-	     << "*  Parameters: A Z rounds  * " << endl
-	     << "*  use 68 32 5000, takes  * " << endl
-	     << "***************************" << endl << endl;
-      return 0 ;
-    } 
-
-  bert.setVerboseLevel(0);
-  
-  for ( G4double energy = 1 ; energy < 150 ; energy += 0.5 )
-    {
-      G4int n=0, p=0, d=0, t=0, h3=0, h4=0, g=0;
-      G4int m1=0, m2=0, m3=0;
-
-      nucl.SetParameters( A, Z );
-      nucl.AddExcitationEnergy( energy - nucl.GetEnergyDeposit() );
-
-      for ( G4int j = 0 ; j < rounds ; j++)
-	{
-	  n=p=d=t=h3=h4=g=0;
-	  pc = bert.BreakItUp( nucl );
-	  
-	  for ( G4int i = 0 ; i < pc->GetNumberOfSecondaries() ;  i++ )
-	    {
-	      char * name = pc->GetSecondary( i )->GetDefinition()->GetParticleName() ;
-	      if ( strcmp ( name , "gamma" ) == 0 ) g++;
-	      
-	      delete pc->GetSecondary( i );
-	    } // loop over particle change vector
-	  
-	  if ( pc->GetNumberOfSecondaries() - g == 1 ) m1++;
-	  else if ( pc->GetNumberOfSecondaries() - g == 2 ) m2++;
-	  else if ( pc->GetNumberOfSecondaries() - g == 3 ) m3++;
-
-	  pc->Clear();
-	  delete pc;
-      
-	}
-
-
-      G4cout << energy << "\t"
-	     << m1 << " "
-	     << m2 << " "
-	     << m3 << endl;
-
-    } // energy loop
-  
-  return 0;
-}
Index: trunk/source/processes/hadronic/models/cascade/evaporation/test/neutronTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/cascade/evaporation/test/neutronTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,26 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
- 
Index: trunk/source/processes/hadronic/models/cascade/evaporation/test/ratioTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/cascade/evaporation/test/ratioTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,673 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: ratioTest.cc,v 1.4 2007/06/21 15:04:38 gunter Exp $
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-// Test program for G4 Bertini Evaporation.
-
-#define G4VERBOSE 1
-
-#include "G4LayeredNucleus.hh"
-#include "G4BertiniEvaporation.hh"
-
-int main(int argc, char *argv[])
-{
-  G4cout << "%*********************************" << endl
-	 << "%*  Ratio test                   *" << endl 
-	 << "%*  Output in Latex table format *" << endl 
-	 << "%*********************************" << endl << endl;
-
-  G4LayeredNucleus nucl;
-  G4BertiniEvaporation bert;
-  G4VParticleChange * pc;
-  G4int A, Z;
-  G4double E;
-
-  G4int rounds=10000;
-  bert.setVerboseLevel(0);
-
-  G4int ntemp=0, ptemp=0, dtemp=0, ttemp=0, h3temp=0, h4temp=0, gtemp=0;
-  G4int n=0, p=0, d=0, t=0, h3=0, h4=0, g=0, pn=0, _2n=0, _2p=0, alfan=0, p2n=0, _2pn=0;
-  G4int j;
-
-  G4cout << "% * Rounds : "<< rounds << endl;
-
-  ////////////////////////// Se 74 30, 35 MeV
-
-  A = 74;
-  Z = 34;
-  E = 35;
-  
-  nucl.SetParameters( A, Z );
-  nucl.AddExcitationEnergy( E - nucl.GetEnergyDeposit() );
-  n=p=d=t=h3=h4=g=0;
-
-  for ( j = 0 ; j < rounds ; j++)
-    {
-      ntemp=ptemp=dtemp=ttemp=h3temp=h4temp=gtemp=0;
-      pc = bert.BreakItUp( nucl );
-      
-      for ( G4int i = 0 ; i < pc->GetNumberOfSecondaries() ;  i++ )
-	{
-	  const char * name = pc->GetSecondary( i )->GetDefinition()->GetParticleName() ;
-	  if ( strcmp ( name , "neutron" ) == 0 ) ntemp++;
-	  else if ( strcmp ( name , "proton" ) == 0 ) ptemp++;
-	  else if ( strcmp ( name , "deuteron" ) == 0 ) dtemp++;
-	  else if ( strcmp ( name , "triton" ) == 0 ) ttemp++;
-	  else if ( strcmp ( name , "He3" ) == 0 ) h3temp++;
-	  else if ( strcmp ( name , "alpha" ) == 0 ) h4temp++;
-	  else if ( strcmp ( name , "gamma" ) == 0 ) gtemp++;
-	  
-	  delete pc->GetSecondary( i );
-	} // loop over particle change vector
-      
-      if ( ntemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) n++;
-      if ( ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) p++;
-      if ( ( ntemp == 1 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) ||
-	   ( dtemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) ) pn++;
-      if ( ntemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 2 ) _2n++;
-      if ( ptemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 2 ) _2p++;
-      if ( ( ntemp == 2 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 3 ) ||
-	       ( dtemp == 1 && ntemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) ) p2n++;
-      if ( ntemp == 1 && h4temp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) alfan++;
-      //x  G4cout << "% n p pn 2n 2p p2n * " << en
-      pc->Clear();
-      delete pc;
-      
-    }
-  
-  G4cout << "Se$^{74}$     &  " << E << "   &   pn/2n   &   1.7  & " << (G4double) pn/((G4double)_2n)
-	 << " \\\\ % " << pn << "  " << _2n << endl;
-
-  ///////////////////////// Ge 68 32, E=20
-
-  A = 68;
-  Z = 32;
-  E = 20;
-
-  nucl.SetParameters( A, Z );
-  nucl.AddExcitationEnergy( E - nucl.GetEnergyDeposit() );
-  ntemp=0, ptemp=0, dtemp=0, ttemp=0, h3temp=0, h4temp=0, gtemp=0;
-  n=p=d=t=h3=h4=g=pn=_2n=_2p=alfan=p2n=0;
-
-  for ( j = 0 ; j < rounds ; j++)
-    {
-      ntemp=ptemp=dtemp=ttemp=h3temp=h4temp=gtemp=0;
-      pc = bert.BreakItUp( nucl );
-      
-      for ( G4int i = 0 ; i < pc->GetNumberOfSecondaries() ;  i++ )
-	{
-	  const char * name = pc->GetSecondary( i )->GetDefinition()->GetParticleName() ;
-	  if ( strcmp ( name , "neutron" ) == 0 ) ntemp++;
-	  else if ( strcmp ( name , "proton" ) == 0 ) ptemp++;
-	  else if ( strcmp ( name , "deuteron" ) == 0 ) dtemp++;
-	  else if ( strcmp ( name , "triton" ) == 0 ) ttemp++;
-	  else if ( strcmp ( name , "He3" ) == 0 ) h3temp++;
-	  else if ( strcmp ( name , "alpha" ) == 0 ) h4temp++;
-	  else if ( strcmp ( name , "gamma" ) == 0 ) gtemp++;
-	  
-	  delete pc->GetSecondary( i );
-	} // loop over particle change vector
-      
-      if ( ntemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) n++;
-      if ( ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) p++;
-      if ( ( ntemp == 1 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) ||
-	   ( dtemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) ) pn++;
-      if ( ntemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 2 ) _2n++;
-      if ( ptemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 2 ) _2p++;
-      if ( ( ntemp == 2 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 3 ) ||
-	       ( dtemp == 1 && ntemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) ) p2n++;
-      if ( ntemp == 1 && h4temp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) alfan++;
-      //x  G4cout << "% n p pn 2n 2p p2n * " << en
-      pc->Clear();
-      delete pc;
-      
-    }
-  
-  G4cout << "Ge$^{68}$   &  " << E << "   &   p/n     &   1.76 & " << (G4double) p/((G4double)n)
-	 << " \\\\ % " << p << "  " << n << endl;
-
-  ///////////////////////// Ge 68 32, E=35
-
-  A = 68;
-  Z = 32;
-  E = 35;
-
-  nucl.SetParameters( A, Z );
-  nucl.AddExcitationEnergy( E - nucl.GetEnergyDeposit() );
-  ntemp=0, ptemp=0, dtemp=0, ttemp=0, h3temp=0, h4temp=0, gtemp=0;
-  n=p=d=t=h3=h4=g=pn=_2n=_2p=alfan=p2n=0;
-
-  for ( j = 0 ; j < rounds ; j++)
-    {
-      ntemp=ptemp=dtemp=ttemp=h3temp=h4temp=gtemp=0;
-      pc = bert.BreakItUp( nucl );
-      
-      for ( G4int i = 0 ; i < pc->GetNumberOfSecondaries() ;  i++ )
-	{
-	  const char * name = pc->GetSecondary( i )->GetDefinition()->GetParticleName() ;
-	  if ( strcmp ( name , "neutron" ) == 0 ) ntemp++;
-	  else if ( strcmp ( name , "proton" ) == 0 ) ptemp++;
-	  else if ( strcmp ( name , "deuteron" ) == 0 ) dtemp++;
-	  else if ( strcmp ( name , "triton" ) == 0 ) ttemp++;
-	  else if ( strcmp ( name , "He3" ) == 0 ) h3temp++;
-	  else if ( strcmp ( name , "alpha" ) == 0 ) h4temp++;
-	  else if ( strcmp ( name , "gamma" ) == 0 ) gtemp++;
-	  
-	  delete pc->GetSecondary( i );
-	} // loop over particle change vector
-      
-      if ( ntemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) n++;
-      if ( ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) p++;
-      if ( ( ntemp == 1 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) ||
-	   ( dtemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) ) pn++;
-      if ( ntemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 2 ) _2n++;
-      if ( ptemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 2 ) _2p++;
-      if ( ( ntemp == 2 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 3 ) ||
-	       ( dtemp == 1 && ntemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) ) p2n++;
-      if ( ntemp == 1 && h4temp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) alfan++;
-      //x  G4cout << "% n p pn 2n 2p p2n * " << en
-      pc->Clear();
-      delete pc;
-      
-    }
-  
-  G4cout << "            &  " << E << "   &   pn/2n   &   8.4  & " << (G4double) pn/((G4double)_2n)
-	 << " \\\\ % " << pn << "  " << _2n << endl;
-
-  ///////////////////////// Ge 68 32, E=40
-
-  A = 68;
-  Z = 32;
-  E = 40;
-
-  nucl.SetParameters( A, Z );
-  nucl.AddExcitationEnergy( E - nucl.GetEnergyDeposit() );
-  ntemp=0, ptemp=0, dtemp=0, ttemp=0, h3temp=0, h4temp=0, gtemp=0;
-  n=p=d=t=h3=h4=g=pn=_2n=_2p=alfan=p2n=_2pn=0;
-
-
-  for ( j = 0 ; j < rounds ; j++)
-    {
-      ntemp=ptemp=dtemp=ttemp=h3temp=h4temp=gtemp=0;
-      pc = bert.BreakItUp( nucl );
-      
-      for ( G4int i = 0 ; i < pc->GetNumberOfSecondaries() ;  i++ )
-	{
-	  const char * name = pc->GetSecondary( i )->GetDefinition()->GetParticleName() ;
-	  if ( strcmp ( name , "neutron" ) == 0 ) ntemp++;
-	  else if ( strcmp ( name , "proton" ) == 0 ) ptemp++;
-	  else if ( strcmp ( name , "deuteron" ) == 0 ) dtemp++;
-	  else if ( strcmp ( name , "triton" ) == 0 ) ttemp++;
-	  else if ( strcmp ( name , "He3" ) == 0 ) h3temp++;
-	  else if ( strcmp ( name , "alpha" ) == 0 ) h4temp++;
-	  else if ( strcmp ( name , "gamma" ) == 0 ) gtemp++;
-	  
-	  delete pc->GetSecondary( i );
-	} // loop over particle change vector
-      
-      if ( ntemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) n++;
-      if ( ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) p++;
-      if ( ( ntemp == 1 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) ||
-	   ( dtemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) ) pn++;
-      if ( ntemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 2 ) _2n++;
-      if ( ptemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 2 ) _2p++;
-      if ( ( ntemp == 2 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 3 ) ||
-	       ( dtemp == 1 && ntemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) ) p2n++;
-      if ( ( ntemp == 1 && ptemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 3 ) ||
-	       ( dtemp == 1 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) )_2pn++;
-      if ( ntemp == 1 && h4temp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) alfan++;
-      //x  G4cout << "% n p pn 2n 2p p2n * " << en
-      pc->Clear();
-      delete pc;
-      
-    }
-  
-  G4cout << "            &  " << E << "   &   2pn/p2n &   5.8  & " << (G4double) _2pn/((G4double)p2n)
-	 << " \\\\ % " << _2pn << "  " << p2n << endl;
-
-  ///////////////////////// Ge 67 31, E=35
-
-  A = 67;
-  Z = 31;
-  E = 35;
-
-  nucl.SetParameters( A, Z );
-  nucl.AddExcitationEnergy( E - nucl.GetEnergyDeposit() );
-  ntemp=0, ptemp=0, dtemp=0, ttemp=0, h3temp=0, h4temp=0, gtemp=0;
-  n=p=d=t=h3=h4=g=pn=_2n=_2p=alfan=p2n=_2pn=0;
-
-
-  for ( j = 0 ; j < rounds ; j++)
-    {
-      ntemp=ptemp=dtemp=ttemp=h3temp=h4temp=gtemp=0;
-      pc = bert.BreakItUp( nucl );
-      
-      for ( G4int i = 0 ; i < pc->GetNumberOfSecondaries() ;  i++ )
-	{
-	  const char * name = pc->GetSecondary( i )->GetDefinition()->GetParticleName() ;
-	  if ( strcmp ( name , "neutron" ) == 0 ) ntemp++;
-	  else if ( strcmp ( name , "proton" ) == 0 ) ptemp++;
-	  else if ( strcmp ( name , "deuteron" ) == 0 ) dtemp++;
-	  else if ( strcmp ( name , "triton" ) == 0 ) ttemp++;
-	  else if ( strcmp ( name , "He3" ) == 0 ) h3temp++;
-	  else if ( strcmp ( name , "alpha" ) == 0 ) h4temp++;
-	  else if ( strcmp ( name , "gamma" ) == 0 ) gtemp++;
-	  
-	  delete pc->GetSecondary( i );
-	} // loop over particle change vector
-      
-      if ( ntemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) n++;
-      if ( ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) p++;
-      if ( ( ntemp == 1 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) ||
-	   ( dtemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) ) pn++;
-      if ( ntemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 2 ) _2n++;
-      if ( ptemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 2 ) _2p++;
-      if ( ( ntemp == 2 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 3 ) ||
-	       ( dtemp == 1 && ntemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) ) p2n++;
-      if ( ( ntemp == 1 && ptemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 3 ) ||
-	       ( dtemp == 1 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) )_2pn++;
-      if ( ntemp == 1 && h4temp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) alfan++;
-      //x  G4cout << "% n p pn 2n 2p p2n * " << en
-      pc->Clear();
-      delete pc;
-      
-    }
-  
-  G4cout << "Ga^{67}     &  " << E << "   &   pn/2n   &   3.3  & " << (G4double) pn/((G4double)_2n)
-	 << " \\\\ % " << pn << "  " << _2n << endl;
-
- ///////////////////////// Ni 58 28
-
-  A = 58;
-  Z = 28;
-  E = 25;
-
-  nucl.SetParameters( A, Z );
-  nucl.AddExcitationEnergy( E - nucl.GetEnergyDeposit() );
-  ntemp=0, ptemp=0, dtemp=0, ttemp=0, h3temp=0, h4temp=0, gtemp=0;
-  n=p=d=t=h3=h4=g=pn=_2n=_2p=alfan=p2n=_2pn=0;
-
-
-  for ( j = 0 ; j < rounds ; j++)
-    {
-      ntemp=ptemp=dtemp=ttemp=h3temp=h4temp=gtemp=0;
-      pc = bert.BreakItUp( nucl );
-      
-      for ( G4int i = 0 ; i < pc->GetNumberOfSecondaries() ;  i++ )
-	{
-	  const char * name = pc->GetSecondary( i )->GetDefinition()->GetParticleName() ;
-	  if ( strcmp ( name , "neutron" ) == 0 ) ntemp++;
-	  else if ( strcmp ( name , "proton" ) == 0 ) ptemp++;
-	  else if ( strcmp ( name , "deuteron" ) == 0 ) dtemp++;
-	  else if ( strcmp ( name , "triton" ) == 0 ) ttemp++;
-	  else if ( strcmp ( name , "He3" ) == 0 ) h3temp++;
-	  else if ( strcmp ( name , "alpha" ) == 0 ) h4temp++;
-	  else if ( strcmp ( name , "gamma" ) == 0 ) gtemp++;
-	  
-	  delete pc->GetSecondary( i );
-	} // loop over particle change vector
-      
-      if ( ntemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) n++;
-      if ( ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) p++;
-      if ( ( ntemp == 1 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) ||
-	   ( dtemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) ) pn++;
-      if ( ntemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 2 ) _2n++;
-      if ( ptemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 2 ) _2p++;
-      if ( ( ntemp == 2 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 3 ) ||
-	       ( dtemp == 1 && ntemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) ) p2n++;
-      if ( ( ntemp == 1 && ptemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 3 ) ||
-	       ( dtemp == 1 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) )_2pn++;
-      if ( ntemp == 1 && h4temp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) alfan++;
-      //x  G4cout << "% n p pn 2n 2p p2n * " << en
-      pc->Clear();
-      delete pc;
-      
-    }
-  
-  G4cout << "Ni^{58}     &  " << E << "   &   p/n     &   3.8  & " << (G4double) p/((G4double)n)
-	 << " \\\\ % " << p << "  " << n << endl;
-
- ///////////////////////// 
-
-  ///////////////////////// Ni 58 28, 35
-
-  A = 58;
-  Z = 28;
-  E = 35;
-
-  nucl.SetParameters( A, Z );
-  nucl.AddExcitationEnergy( E - nucl.GetEnergyDeposit() );
-  ntemp=0, ptemp=0, dtemp=0, ttemp=0, h3temp=0, h4temp=0, gtemp=0;
-  n=p=d=t=h3=h4=g=pn=_2n=_2p=alfan=p2n=_2pn=0;
-
-
-  for ( j = 0 ; j < rounds ; j++)
-    {
-      ntemp=ptemp=dtemp=ttemp=h3temp=h4temp=gtemp=0;
-      pc = bert.BreakItUp( nucl );
-      
-      for ( G4int i = 0 ; i < pc->GetNumberOfSecondaries() ;  i++ )
-	{
-	  const char * name = pc->GetSecondary( i )->GetDefinition()->GetParticleName() ;
-	  if ( strcmp ( name , "neutron" ) == 0 ) ntemp++;
-	  else if ( strcmp ( name , "proton" ) == 0 ) ptemp++;
-	  else if ( strcmp ( name , "deuteron" ) == 0 ) dtemp++;
-	  else if ( strcmp ( name , "triton" ) == 0 ) ttemp++;
-	  else if ( strcmp ( name , "He3" ) == 0 ) h3temp++;
-	  else if ( strcmp ( name , "alpha" ) == 0 ) h4temp++;
-	  else if ( strcmp ( name , "gamma" ) == 0 ) gtemp++;
-	  
-	  delete pc->GetSecondary( i );
-	} // loop over particle change vector
-      
-      if ( ntemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) n++;
-      if ( ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) p++;
-      if ( ( ntemp == 1 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) ||
-	   ( dtemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) ) pn++;
-      if ( ntemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 2 ) _2n++;
-      if ( ptemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 2 ) _2p++;
-      if ( ( ntemp == 2 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 3 ) ||
-	       ( dtemp == 1 && ntemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) ) p2n++;
-      if ( ( ntemp == 1 && ptemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 3 ) ||
-	       ( dtemp == 1 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) )_2pn++;
-      if ( ntemp == 1 && h4temp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) alfan++;
-      //x  G4cout << "% n p pn 2n 2p p2n * " << en
-      pc->Clear();
-      delete pc;
-      
-    }
-  
-  G4cout << "Ni^{58}     &  " << E << "   &   pn/2n   &   67   & " << (G4double) pn/((G4double)_2n)
-	 << " \\\\ % " << pn << "  " << _2n << endl;
-
-  ///////////////////////// Ni 58 28 40
-
-  A = 58;
-  Z = 28;
-  E = 40;
-
-  nucl.SetParameters( A, Z );
-  nucl.AddExcitationEnergy( E - nucl.GetEnergyDeposit() );
-  ntemp=0, ptemp=0, dtemp=0, ttemp=0, h3temp=0, h4temp=0, gtemp=0;
-  n=p=d=t=h3=h4=g=pn=_2n=_2p=alfan=p2n=_2pn=0;
-
-
-  for ( j = 0 ; j < rounds ; j++)
-    {
-      ntemp=ptemp=dtemp=ttemp=h3temp=h4temp=gtemp=0;
-      pc = bert.BreakItUp( nucl );
-      
-      for ( G4int i = 0 ; i < pc->GetNumberOfSecondaries() ;  i++ )
-	{
-	  const char * name = pc->GetSecondary( i )->GetDefinition()->GetParticleName() ;
-	  if ( strcmp ( name , "neutron" ) == 0 ) ntemp++;
-	  else if ( strcmp ( name , "proton" ) == 0 ) ptemp++;
-	  else if ( strcmp ( name , "deuteron" ) == 0 ) dtemp++;
-	  else if ( strcmp ( name , "triton" ) == 0 ) ttemp++;
-	  else if ( strcmp ( name , "He3" ) == 0 ) h3temp++;
-	  else if ( strcmp ( name , "alpha" ) == 0 ) h4temp++;
-	  else if ( strcmp ( name , "gamma" ) == 0 ) gtemp++;
-	  
-	  delete pc->GetSecondary( i );
-	} // loop over particle change vector
-      
-      if ( ntemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) n++;
-      if ( ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) p++;
-      if ( ( ntemp == 1 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) ||
-	   ( dtemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) ) pn++;
-      if ( ntemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 2 ) _2n++;
-      if ( ptemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 2 ) _2p++;
-      if ( ( ntemp == 2 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 3 ) ||
-	       ( dtemp == 1 && ntemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) ) p2n++;
-      if ( ( ntemp == 1 && ptemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 3 ) ||
-	       ( dtemp == 1 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) )_2pn++;
-      if ( ntemp == 1 && h4temp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) alfan++;
-      //x  G4cout << "% n p pn 2n 2p p2n * " << en
-      pc->Clear();
-      delete pc;
-      
-    }
-  
-  G4cout << "Ni^{58}     &  " << E << "   &   2pn/p2n &   7.3  & " << (G4double) _2pn/((G4double)p2n)
-	 << " \\\\ % " << _2pn << "  " << p2n << endl;
-
-  ///////////////////////// Fe 54 26 35
-
-  A = 54;
-  Z = 26;
-  E = 35;
-
-  nucl.SetParameters( A, Z );
-  nucl.AddExcitationEnergy( E - nucl.GetEnergyDeposit() );
-  ntemp=0, ptemp=0, dtemp=0, ttemp=0, h3temp=0, h4temp=0, gtemp=0;
-  n=p=d=t=h3=h4=g=pn=_2n=_2p=alfan=p2n=_2pn=0;
-
-
-  for ( j = 0 ; j < rounds ; j++)
-    {
-      ntemp=ptemp=dtemp=ttemp=h3temp=h4temp=gtemp=0;
-      pc = bert.BreakItUp( nucl );
-      
-      for ( G4int i = 0 ; i < pc->GetNumberOfSecondaries() ;  i++ )
-	{
-	  const char * name = pc->GetSecondary( i )->GetDefinition()->GetParticleName() ;
-	  if ( strcmp ( name , "neutron" ) == 0 ) ntemp++;
-	  else if ( strcmp ( name , "proton" ) == 0 ) ptemp++;
-	  else if ( strcmp ( name , "deuteron" ) == 0 ) dtemp++;
-	  else if ( strcmp ( name , "triton" ) == 0 ) ttemp++;
-	  else if ( strcmp ( name , "He3" ) == 0 ) h3temp++;
-	  else if ( strcmp ( name , "alpha" ) == 0 ) h4temp++;
-	  else if ( strcmp ( name , "gamma" ) == 0 ) gtemp++;
-	  
-	  delete pc->GetSecondary( i );
-	} // loop over particle change vector
-      
-      if ( ntemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) n++;
-      if ( ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) p++;
-      if ( ( ntemp == 1 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) ||
-	   ( dtemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) ) pn++;
-      if ( ntemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 2 ) _2n++;
-      if ( ptemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 2 ) _2p++;
-      if ( ( ntemp == 2 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 3 ) ||
-	       ( dtemp == 1 && ntemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) ) p2n++;
-      if ( ( ntemp == 1 && ptemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 3 ) ||
-	       ( dtemp == 1 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) )_2pn++;
-      if ( ntemp == 1 && h4temp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) alfan++;
-      //x  G4cout << "% n p pn 2n 2p p2n * " << en
-      pc->Clear();
-      delete pc;
-      
-    }
-  
-  G4cout << "Fe^{54}     &  " << E << "   &   pn/2n   &   31   & " << (G4double) pn/((G4double)_2n)
-	 << " \\\\ % " << pn << "  " << _2n << endl;
-
-  /// 
-  ///////////////////////// Mn 54 25 30
-
-  A = 54;
-  Z = 25;
-  E = 30;
-
-  nucl.SetParameters( A, Z );
-  nucl.AddExcitationEnergy( E - nucl.GetEnergyDeposit() );
-  ntemp=0, ptemp=0, dtemp=0, ttemp=0, h3temp=0, h4temp=0, gtemp=0;
-  n=p=d=t=h3=h4=g=pn=_2n=_2p=alfan=p2n=_2pn=0;
-
-
-  for ( j = 0 ; j < rounds ; j++)
-    {
-      ntemp=ptemp=dtemp=ttemp=h3temp=h4temp=gtemp=0;
-      pc = bert.BreakItUp( nucl );
-      
-      for ( G4int i = 0 ; i < pc->GetNumberOfSecondaries() ;  i++ )
-	{
-	  const char * name = pc->GetSecondary( i )->GetDefinition()->GetParticleName() ;
-	  if ( strcmp ( name , "neutron" ) == 0 ) ntemp++;
-	  else if ( strcmp ( name , "proton" ) == 0 ) ptemp++;
-	  else if ( strcmp ( name , "deuteron" ) == 0 ) dtemp++;
-	  else if ( strcmp ( name , "triton" ) == 0 ) ttemp++;
-	  else if ( strcmp ( name , "He3" ) == 0 ) h3temp++;
-	  else if ( strcmp ( name , "alpha" ) == 0 ) h4temp++;
-	  else if ( strcmp ( name , "gamma" ) == 0 ) gtemp++;
-	  
-	  delete pc->GetSecondary( i );
-	} // loop over particle change vector
-      
-      if ( ntemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) n++;
-      if ( ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) p++;
-      if ( ( ntemp == 1 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) ||
-	   ( dtemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) ) pn++;
-      if ( ntemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 2 ) _2n++;
-      if ( ptemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 2 ) _2p++;
-      if ( ( ntemp == 2 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 3 ) ||
-	       ( dtemp == 1 && ntemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) ) p2n++;
-      if ( ( ntemp == 1 && ptemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 3 ) ||
-	       ( dtemp == 1 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) )_2pn++;
-      if ( ntemp == 1 && h4temp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) alfan++;
-      //x  G4cout << "% n p pn 2n 2p p2n * " << en
-      pc->Clear();
-      delete pc;
-      
-    }
-  
-  G4cout << "Mn^{54}     &  " << E << "   &   pn/2n   &   <1   & " << (G4double) pn/((G4double)_2n)
-	 << " \\\\ % " << pn << "  " << _2n << endl;
-
- ///////////////////////// Cr 50 24
-
-  A = 50;
-  Z = 24;
-  E = 25;
-
-  nucl.SetParameters( A, Z );
-  nucl.AddExcitationEnergy( E - nucl.GetEnergyDeposit() );
-  ntemp=0, ptemp=0, dtemp=0, ttemp=0, h3temp=0, h4temp=0, gtemp=0;
-  n=p=d=t=h3=h4=g=pn=_2n=_2p=alfan=p2n=_2pn=0;
-
-
-  for ( j = 0 ; j < rounds ; j++)
-    {
-      ntemp=ptemp=dtemp=ttemp=h3temp=h4temp=gtemp=0;
-      pc = bert.BreakItUp( nucl );
-      
-      for ( G4int i = 0 ; i < pc->GetNumberOfSecondaries() ;  i++ )
-	{
-	  const char * name = pc->GetSecondary( i )->GetDefinition()->GetParticleName() ;
-	  if ( strcmp ( name , "neutron" ) == 0 ) ntemp++;
-	  else if ( strcmp ( name , "proton" ) == 0 ) ptemp++;
-	  else if ( strcmp ( name , "deuteron" ) == 0 ) dtemp++;
-	  else if ( strcmp ( name , "triton" ) == 0 ) ttemp++;
-	  else if ( strcmp ( name , "He3" ) == 0 ) h3temp++;
-	  else if ( strcmp ( name , "alpha" ) == 0 ) h4temp++;
-	  else if ( strcmp ( name , "gamma" ) == 0 ) gtemp++;
-	  
-	  delete pc->GetSecondary( i );
-	} // loop over particle change vector
-      
-      if ( ntemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) n++;
-      if ( ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) p++;
-      if ( ( ntemp == 1 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) ||
-	   ( dtemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) ) pn++;
-      if ( ntemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 2 ) _2n++;
-      if ( ptemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 2 ) _2p++;
-      if ( ( ntemp == 2 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 3 ) ||
-	       ( dtemp == 1 && ntemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) ) p2n++;
-      if ( ( ntemp == 1 && ptemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 3 ) ||
-	       ( dtemp == 1 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) )_2pn++;
-      if ( ntemp == 1 && h4temp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) alfan++;
-      //x  G4cout << "% n p pn 2n 2p p2n * " << en
-      pc->Clear();
-      delete pc;
-      
-    }
-  
-  G4cout << "Cr^{50}     &  " << E << "   &   p/n     &   0.51 & " << (G4double) p/((G4double)n)
-	 << " \\\\ % " << p << "  " << n << endl;
-
-  ///////////////////////// Cr 50 24 35
-
-  A = 50;
-  Z = 24;
-  E = 35;
-
-  nucl.SetParameters( A, Z );
-  nucl.AddExcitationEnergy( E - nucl.GetEnergyDeposit() );
-  ntemp=0, ptemp=0, dtemp=0, ttemp=0, h3temp=0, h4temp=0, gtemp=0;
-  n=p=d=t=h3=h4=g=pn=_2n=_2p=alfan=p2n=_2pn=0;
-
-
-  for ( j = 0 ; j < rounds ; j++)
-    {
-      ntemp=ptemp=dtemp=ttemp=h3temp=h4temp=gtemp=0;
-      pc = bert.BreakItUp( nucl );
-      
-      for ( G4int i = 0 ; i < pc->GetNumberOfSecondaries() ;  i++ )
-	{
-	  const char * name = pc->GetSecondary( i )->GetDefinition()->GetParticleName() ;
-	  if ( strcmp ( name , "neutron" ) == 0 ) ntemp++;
-	  else if ( strcmp ( name , "proton" ) == 0 ) ptemp++;
-	  else if ( strcmp ( name , "deuteron" ) == 0 ) dtemp++;
-	  else if ( strcmp ( name , "triton" ) == 0 ) ttemp++;
-	  else if ( strcmp ( name , "He3" ) == 0 ) h3temp++;
-	  else if ( strcmp ( name , "alpha" ) == 0 ) h4temp++;
-	  else if ( strcmp ( name , "gamma" ) == 0 ) gtemp++;
-	  
-	  delete pc->GetSecondary( i );
-	} // loop over particle change vector
-      
-      if ( ntemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) n++;
-      if ( ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) p++;
-      if ( ( ntemp == 1 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) ||
-	   ( dtemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 1 ) ) pn++;
-      if ( ntemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 2 ) _2n++;
-      if ( ptemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 2 ) _2p++;
-      if ( ( ntemp == 2 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 3 ) ||
-	       ( dtemp == 1 && ntemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) ) p2n++;
-      if ( ( ntemp == 1 && ptemp == 2 && pc->GetNumberOfSecondaries() - gtemp == 3 ) ||
-	       ( dtemp == 1 && ptemp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) )_2pn++;
-      if ( ntemp == 1 && h4temp == 1 && pc->GetNumberOfSecondaries() - gtemp == 2 ) alfan++;
-      //x  G4cout << "% n p pn 2n 2p p2n * " << en
-      pc->Clear();
-      delete pc;
-      
-    }
-  
-  G4cout << "            &  " << E << "   &   pn/2n   &   46   & " << (G4double) pn/((G4double)_2n)
-	 << " \\\\ % " << pn << "  " << _2n << endl;
-
-  
-  return 0;
-}
-
-
-
-
-
-
-
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QANuANuNuclearCrossSection.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QANuANuNuclearCrossSection.hh	(revision 1350)
+++ 	(revision )
@@ -1,111 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: G4QANuANuNuclearCrossSection.hh,v 1.1 2009/11/16 18:15:42 mkossov Exp $
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 physics class: G4QANuANuNuclearCrossSection -- header file
-// M.V. Kossov, CERN-ITEP(Moscow), 20-DEC-2005
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 20-DEC-2005
-//
-// Short description: this G4 singletone class calculates (an-nu,an-nu)A cross section
-// (Energy limit: E<320GeV->badExtrapolation) for a particular isotope (proportional to A)
-// ****************************************************************************************
-
-#ifndef G4QANuANuNuclearCrossSection_h
-#define G4QANuANuNuclearCrossSection_h 1
-
-#include "G4ParticleTable.hh"
-#include "G4NucleiProperties.hh"
-#include <vector>
-#include "Randomize.hh"
-#include "G4MuonPlus.hh"
-#include "G4MuonMinus.hh"
-#include "G4VQCrossSection.hh"
-
-class G4QANuANuNuclearCrossSection : public G4VQCrossSection
-{
-protected:
-
-  G4QANuANuNuclearCrossSection()  {};
-
-public:
-
-  ~G4QANuANuNuclearCrossSection();
-
-  static G4VQCrossSection* GetPointer(); // Gives a pointer to this singletone
-
-  G4double ThresholdEnergy(G4int Z, G4int N, G4int PDG=-14);
-
-  // At present momentum (pMom) must be in GeV (@@ Units)
-  virtual G4double GetCrossSection(G4bool fCS, G4double pMom, G4int tgZ, G4int tgN,
-                                                                             G4int pPDG=0);
-
-  G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int PDG, G4int Z,
-                                                               G4int N, G4double Momentum);
-  G4int    GetExchangePDGCode();
-
-  G4double GetDirectPart(G4double Q2);
-
-  G4double GetNPartons(G4double Q2);
-
-  G4double GetQEL_ExchangeQ2();
-
-  G4double GetNQE_ExchangeQ2();
-
-  // Get static members
-  G4double GetLastTOTCS() {return lastSig;}
-  G4double GetLastQELCS() {return lastQEL;}
-
-private:
-  G4int    GetFunctions(G4int z, G4int n, G4double* t, G4double* q, G4double* e);
-  G4double HighEnergyTX(G4double lE);
-  G4double HighEnergyQE(G4double lE);
-
-// Body
-private:
-  static G4bool    onlyCS;   // flag to calculate only CS (not QE)
-  static G4double  lastSig;  // Last calculated total cross section
-  static G4double  lastQEL;  // Last calculated quasi-elastic cross section
-  static G4int     lastL;    // Last bin used in the cross section TheLastBin
-  static G4double  lastE;    // Last energy used in the cross section Energy
-  static G4double* lastEN;   // Pointer to the last array of the energy axis
-  static G4double* lastTX;   // Pointer to the last array of the total CS function
-  static G4double* lastQE;   // Pointer to the last array of the QE CS function
-  static G4int     lastPDG;  // The last projectile PDG
-  static G4int     lastN;    // The last N of calculated nucleus
-  static G4int     lastZ;    // The last Z of calculated nucleus
-  static G4double  lastP;    // Last used in the cross section Momentum
-  static G4double  lastTH;   // Last value of the Momentum Threshold
-  static G4double  lastCS;   // Last value of the Cross Section
-  static G4int     lastI;    // The last position in the DAMDB
-  static std::vector <G4double*>* TX; // Vector of pointers to the TX tabulated functions
-  static std::vector <G4double*>* QE; // Vector of pointers to the QE tabulated functions
-
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QANuENuclearCrossSection.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QANuENuclearCrossSection.hh	(revision 1350)
+++ 	(revision )
@@ -1,110 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: G4QANuENuclearCrossSection.hh,v 1.1 2009/11/16 18:15:42 mkossov Exp $
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 physics class: G4QANuENuclearCrossSection -- header file
-// M.V. Kossov, CERN-ITEP(Moscow), 20-SEP-2007
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 20-SEP-2007
-//
-// Short description: this G4 singletone class calculates (anu_e,e+) Nuclear cross section
-// (Energy limit: E<320GeV->badExtrapolation) for a particular isotope (proportional to A)
-// ****************************************************************************************
-
-#ifndef G4QANuENuclearCrossSection_h
-#define G4QANuENuclearCrossSection_h 1
-
-#include "G4ParticleTable.hh"
-#include "G4NucleiProperties.hh"
-#include <vector>
-#include "Randomize.hh"
-#include "G4MuonPlus.hh"
-#include "G4MuonMinus.hh"
-#include "G4VQCrossSection.hh"
-
-class G4QANuENuclearCrossSection : public G4VQCrossSection
-{
-protected:
-
-  G4QANuENuclearCrossSection()  {};
-
-public:
-
-  ~G4QANuENuclearCrossSection();
-
-  static G4VQCrossSection* GetPointer(); // Gives a pointer to this singletone
-
-  G4double ThresholdEnergy(G4int Z, G4int N, G4int PDG=-12);
-
-  // At present momentum (pMom) must be in GeV (@@ Units)
-  virtual G4double GetCrossSection(G4bool fCS, G4double pMom, G4int tgZ, G4int tgN,
-                                                                             G4int pPDG=0);
-
-  G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int PDG, G4int Z,
-                                                               G4int N, G4double Momentum);
-  G4int    GetExchangePDGCode();
-
-  G4double GetDirectPart(G4double Q2);
-
-  G4double GetNPartons(G4double Q2);
-
-  G4double GetQEL_ExchangeQ2();
-
-  G4double GetNQE_ExchangeQ2();
-
-  // Get static members
-  G4double GetLastTOTCS() {return lastSig;}
-  G4double GetLastQELCS() {return lastQEL;}
-
-private:
-  G4int    GetFunctions(G4int z, G4int n, G4double* t, G4double* q, G4double* e);
-  G4double HighEnergyTX(G4double lE);
-  G4double HighEnergyQE(G4double lE);
-
-// Body
-private:
-  static G4bool    onlyCS;   // flag to calculate only CS (not QE)
-  static G4double  lastSig;  // Last calculated total cross section
-  static G4double  lastQEL;  // Last calculated quasi-elastic cross section
-  static G4int     lastL;    // Last bin used in the cross section TheLastBin
-  static G4double  lastE;    // Last energy used in the cross section Energy
-  static G4double* lastEN;   // Pointer to the last array of the energy axis
-  static G4double* lastTX;   // Pointer to the last array of the total CS function
-  static G4double* lastQE;   // Pointer to the last array of the QE CS function
-  static G4int     lastPDG;  // The last projectile PDG
-  static G4int     lastN;    // The last N of calculated nucleus
-  static G4int     lastZ;    // The last Z of calculated nucleus
-  static G4double  lastP;    // Last used in the cross section Momentum
-  static G4double  lastTH;   // Last value of the Momentum Threshold
-  static G4double  lastCS;   // Last value of the Cross Section
-  static G4int     lastI;    // The last position in the DAMDB
-  static std::vector <G4double*>* TX; // Vector of pointers to the TX tabulated functions
-  static std::vector <G4double*>* QE; // Vector of pointers to the QE tabulated functions
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QANuMuNuclearCrossSection.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QANuMuNuclearCrossSection.hh	(revision 1350)
+++ 	(revision )
@@ -1,110 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: G4QANuMuNuclearCrossSection.hh,v 1.1 2009/11/16 18:15:42 mkossov Exp $
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 physics class: G4QANuMuNuclearCrossSection -- header file for (anu_mu,mu+)A XS
-// M.V. Kossov, CERN-ITEP(Moscow), 20-DEC-2005
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 20-DEC-2005
-//
-// Short description: this G4 singletone class calculates (nu_mu,mu) Nuclear cross section
-// (Energy limit: E<320GeV->badExtrapolation) for a particular isotope (proportional to A)
-// ****************************************************************************************
-
-#ifndef G4QANuMuNuclearCrossSection_h
-#define G4QANuMuNuclearCrossSection_h 1
-
-#include "G4ParticleTable.hh"
-#include "G4NucleiProperties.hh"
-#include <vector>
-#include "Randomize.hh"
-#include "G4MuonPlus.hh"
-#include "G4MuonMinus.hh"
-#include "G4VQCrossSection.hh"
-
-class G4QANuMuNuclearCrossSection : public G4VQCrossSection
-{
-protected:
-
-  G4QANuMuNuclearCrossSection()  {};
-
-public:
-
-  ~G4QANuMuNuclearCrossSection();
-
-  static G4VQCrossSection* GetPointer(); // Gives a pointer to this singletone
-
-  G4double ThresholdEnergy(G4int Z, G4int N, G4int PDG=-14);
-
-  // At present momentum (pMom) must be in GeV (@@ Units)
-  virtual G4double GetCrossSection(G4bool fCS, G4double pMom, G4int tgZ, G4int tgN,
-                                                                             G4int pPDG=0);
-
-  G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int PDG, G4int Z,
-                                                               G4int N, G4double Momentum);
-  G4int    GetExchangePDGCode();
-
-  G4double GetDirectPart(G4double Q2);
-
-  G4double GetNPartons(G4double Q2);
-
-  G4double GetQEL_ExchangeQ2();
-
-  G4double GetNQE_ExchangeQ2();
-
-  // Get static members
-  G4double GetLastTOTCS() {return lastSig;}
-  G4double GetLastQELCS() {return lastQEL;}
-
-private:
-  G4int    GetFunctions(G4int z, G4int n, G4double* t, G4double* q, G4double* e);
-  G4double HighEnergyTX(G4double lE);
-  G4double HighEnergyQE(G4double lE);
-
-// Body
-private:
-  static G4bool    onlyCS;   // flag to calculate only CS (not QE)
-  static G4double  lastSig;  // Last calculated total cross section
-  static G4double  lastQEL;  // Last calculated quasi-elastic cross section
-  static G4int     lastL;    // Last bin used in the cross section TheLastBin
-  static G4double  lastE;    // Last energy used in the cross section Energy
-  static G4double* lastEN;   // Pointer to the last array of the energy axis
-  static G4double* lastTX;   // Pointer to the last array of the total CS function
-  static G4double* lastQE;   // Pointer to the last array of the QE CS function
-  static G4int     lastPDG;  // The last projectile PDG
-  static G4int     lastN;    // The last N of calculated nucleus
-  static G4int     lastZ;    // The last Z of calculated nucleus
-  static G4double  lastP;    // Last used in the cross section Momentum
-  static G4double  lastTH;   // Last value of the Momentum Threshold
-  static G4double  lastCS;   // Last value of the Cross Section
-  static G4int     lastI;    // The last position in the DAMDB
-  static std::vector <G4double*>* TX; // Vector of pointers to the TX tabulated functions
-  static std::vector <G4double*>* QE; // Vector of pointers to the QE tabulated functions
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QAntiBaryonNuclearCrossSection.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QAntiBaryonNuclearCrossSection.hh	(revision 1350)
+++ 	(revision )
@@ -1,91 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 physics class: G4QAntiBaryonNuclearCrossSection -- header file
-// Created: M.V. Kossov, CERN/ITEP(Moscow), 20-Dec-01
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 17-May-02
-//
-// ****************************************************************************************
-// ********* This HEADER is temporary moved from the photolepton_hadron directory *********
-// ******* DO NOT MAKE ANY CHANGE! With time it'll move back to photolepton...(M.K.) ******
-// ****************************************************************************************
-// Short description: CHIPS cross-sections for pi(minus)-nuclear interactions
-// It is purely fake now (just a copy of the proton-nuclear XS) !!! only for testing !!!
-// -------------------------------------------------------------------------------------
-
-#ifndef G4QAntiBaryonNuclearCrossSection_h
-#define G4QAntiBaryonNuclearCrossSection_h 1
-
-#include "G4ParticleTable.hh"
-#include "G4NucleiProperties.hh"
-#include <vector>
-#include "G4VQCrossSection.hh"
-#include "G4QPDGCode.hh"
-
-class G4QAntiBaryonNuclearCrossSection : public G4VQCrossSection
-{
-protected:
-
-  G4QAntiBaryonNuclearCrossSection()  {}
-
-public:
-
-  ~G4QAntiBaryonNuclearCrossSection();
-
-  static G4VQCrossSection* GetPointer(); // Gives a pointer to this singletone
-
-  // At present momentum (pMom) in MeV/c, CS in mb (@@ Units)
-  virtual G4double GetCrossSection(G4bool fCS, G4double pMom, G4int tgZ, G4int tgN,
-                                   G4int pPDG=-2212);
-
-  G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int PDG, G4int Z,
-                                 G4int N, G4double Momentum);
-
-private:
-  G4double CrossSectionLin(G4int targZ, G4int targN, G4double P);
-  G4double CrossSectionLog(G4int targZ, G4int targN, G4double lP);
-  G4double CrossSectionFormula(G4int targZ, G4int targN, G4double P, G4double lP);
-// Body
-private:
-  static G4double  lastSig; // Last value of the Cross Section
-  static G4double* lastLEN; // Pointer to the last array of LowEnergy cross sections
-  static G4double* lastHEN; // Pointer to the last array of HighEnergy cross sections
-  static G4double  lastE;   // Last used in the cross section Energy
-  static G4int     lastPDG; // The last projectile PDG
-  static G4int     lastN;   // The last N of calculated nucleus
-  static G4int     lastZ;   // The last Z of calculated nucleus
-  static G4double  lastP;   // Last used in the cross section Momentum
-  static G4double  lastTH;  // Last value of the Momentum Threshold
-  static G4double  lastCS;  // Last value of the Cross Section
-  static G4int     lastI;   // The last position in the DAMDB
-  static std::vector<G4double*>* LEN;  // Vector of pointers to LowEnProtonCrossSection
-  static std::vector<G4double*>* HEN;  // Vector of pointers to HighEnProtonCrossSection
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QAntiBaryonPlusNuclearCrossSection.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QAntiBaryonPlusNuclearCrossSection.hh	(revision 1350)
+++ 	(revision )
@@ -1,92 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 physics class: G4QAntiBaryonPlusNuclearCrossSection -- header file
-// Created: M.V. Kossov, CERN/ITEP(Moscow), 20-Dec-01
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 17-May-02
-//
-// ****************************************************************************************
-// ********* This HEADER is temporary moved from the photolepton_hadron directory *********
-// ******* DO NOT MAKE ANY CHANGE! With time it'll move back to photolepton...(M.K.) ******
-// ****************************************************************************************
-// Short description: CHIPS cross-sections for pi(minus)-nuclear interactions
-// It is purely fake now (just a copy of the proton-nuclear XS) !!! only for testing !!!
-// -------------------------------------------------------------------------------------
-
-#ifndef G4QAntiBaryonPlusNuclearCrossSection_h
-#define G4QAntiBaryonPlusNuclearCrossSection_h 1
-
-#include "G4ParticleTable.hh"
-#include "G4NucleiProperties.hh"
-#include <vector>
-#include "G4VQCrossSection.hh"
-#include "G4QPDGCode.hh"
-
-class G4QAntiBaryonPlusNuclearCrossSection : public G4VQCrossSection
-{
-protected:
-
-  G4QAntiBaryonPlusNuclearCrossSection()  {}
-
-public:
-
-  ~G4QAntiBaryonPlusNuclearCrossSection();
-
-  static G4VQCrossSection* GetPointer(); // Gives a pointer to this singletone
-
-  // At present momentum (pMom) in MeV/c, CS in mb (@@ Units)
-  virtual G4double GetCrossSection(G4bool fCS, G4double pMom, G4int tgZ, G4int tgN,
-                                   G4int pPDG=-3112);
-
-  G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int PDG, G4int Z,
-                                 G4int N, G4double Momentum);
-
-private:
-  G4double CrossSectionLin(G4int targZ, G4int targN, G4double P);
-  G4double CrossSectionLog(G4int targZ, G4int targN, G4double lP);
-  G4double CrossSectionFormula(G4int targZ, G4int targN, G4double P, G4double lP);
-  G4double ThresholdMomentum(G4int targZ, G4int targN); // Threshold of pA reaction (MeV/c)
-// Body
-private:
-  static G4double  lastSig; // Last value of the Cross Section
-  static G4double* lastLEN; // Pointer to the last array of LowEnergy cross sections
-  static G4double* lastHEN; // Pointer to the last array of HighEnergy cross sections
-  static G4double  lastE;   // Last used in the cross section Energy
-  static G4int     lastPDG; // The last projectile PDG
-  static G4int     lastN;   // The last N of calculated nucleus
-  static G4int     lastZ;   // The last Z of calculated nucleus
-  static G4double  lastP;   // Last used in the cross section Momentum
-  static G4double  lastTH;  // Last value of the Momentum Threshold
-  static G4double  lastCS;  // Last value of the Cross Section
-  static G4int     lastI;   // The last position in the DAMDB
-  static std::vector<G4double*>* LEN;  // Vector of pointers to LowEnProtonCrossSection
-  static std::vector<G4double*>* HEN;  // Vector of pointers to HighEnProtonCrossSection
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QDiffractionRatio.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QDiffractionRatio.hh	(revision 1350)
+++ 	(revision )
@@ -1,88 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 physics class: G4QDiffractionRatio -- header file
-// M.V. Kossov, ITEP(Moscow), 24-OCT-01
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 10-Nov-2009
-//
-//=======================================================================
-// Short description: Difraction excitation is a part of the incoherent
-// (inelastic) interaction. This part is calculated in the class.
-// --------------------------------------------------------------------
-
-#ifndef G4QDiffractionRatio_h
-#define G4QDiffractionRatio_h 1
-
-#include "globals.hh"
-#include "G4ios.hh"
-#include "Randomize.hh"
-#include <vector>
-#include "G4QPDGCode.hh"
-#include "G4QEnvironment.hh"
-#include "G4Quasmon.hh"
-#include "G4QHadronVector.hh"
-#include "G4RandomDirection.hh"
-
-
-class G4QDiffractionRatio
-{
- protected:
-
-  G4QDiffractionRatio()  {}                 // Constructor
-
- public:
-
-  ~G4QDiffractionRatio() {}                 // Destructor
-
-  static G4QDiffractionRatio* GetPointer(); // Gives a pointer to this singletone
-
-  // Diffraction/Prodaction Ratio (Production=Inelastic-QuasiElastic)
-  G4double GetRatio(G4double pIU, G4int prPDG, G4int tgZ, G4int tgN);
-
-  // ==> The following will be a protected function for internal CHIPS usage
-  // ProjFragment(pPDG,p4M) on a nucleus (tgZ, tgN), result: Vector of secondary hadrons
-  // Whoever uses this member function is responsible for DEL/DESTROY of G4QHadronVector
-  G4QHadronVector* ProjFragment(G4int pPDG, G4LorentzVector p4M, G4int tgZ, G4int tgN);
-
-  // ==> The following will be a protected function for internal CHIPS usage
-  // TargFragment(pPDG,p4M) on a nucleus (tgZ, tgN), result: Vector of secondary hadrons
-  // Whoever uses this member function is responsible for DEL/DESTROY of G4QHadronVector
-  G4QHadronVector* TargFragment(G4int pPDG, G4LorentzVector p4M, G4int tgZ, G4int tgN);
-
-  // Single Diffraction Target Excitation Cross-Section (independent Units)
-  G4double GetTargSingDiffXS(G4double pIU, G4int prPDG, G4int tgZ, G4int tgN);
-
- private:
-  // These working member functions are in CHIPS units and must not be used externally
-  G4double CalcDiff2Prod_Ratio(G4double s, G4int A); // R=Diff/Prod (sqrt(s)(hN) in GeV, A)
-
- // Body
- private:
-};      
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QElasticCrossSection.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QElasticCrossSection.hh	(revision 1350)
+++ 	(revision )
@@ -1,131 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 physics class: G4QElasticCrossSection -- header file
-// M.V. Kossov, ITEP(Moscow), 24-OCT-01
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 15-Oct-2006
-//
-//================================================================================
-// Short description: Interaction cross-sections for the G4QElastic process
-// -------------------------------------------------------------------------------
-
-#ifndef G4QElasticCrossSection_h
-#define G4QElasticCrossSection_h 1
-
-#include "G4QPDGCode.hh"
-#include "G4QException.hh"
-#include <vector>
-#include "Randomize.hh"
-#include "G4VQCrossSection.hh"
-
-class G4QElasticCrossSection : public G4VQCrossSection
-{
-protected:
-
-  G4QElasticCrossSection();               // Constructor
-
-public:
-
-  ~G4QElasticCrossSection();
-
-  static G4VQCrossSection* GetPointer(); // Gives a pointer to this singletone
-
-  // Cross-section is mb. At present momentum (pMom) is in MeV=IU (@@ make Indep. Units)
-  virtual G4double GetCrossSection(G4bool fCS, G4double pMom, G4int tgZ, G4int tgN,
-                                                                             G4int pPDG=0);
-
-  G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int pPDG, G4int Z, G4int N,
-                                                                              G4double pP);
-  G4double GetSlope(G4int tZ, G4int tN, G4int pPDG);     // Slope of the 1st diff. maximum
-  G4double GetExchangeT(G4int tZ, G4int tN, G4int pPDG); // Randomizes -t=Q2 (in IU=MeV^2)
-  G4double GetHMaxT();                   // Currrent Max(-t=Q2)/2. (in IU=MeV^2)
-
-private:
-  G4double GetPTables(G4double lpP, G4double lPm, G4int PDG, G4int tZ, G4int tN); // newLP
-  G4double GetTabValues(G4double lp, G4int pPDG, G4int tgZ, G4int tgN); // return CS(Si/Bi)
-  G4double GetQ2max(G4int pPDG, G4int tgZ, G4int tgN, G4double pP); // return -t=Q2
-
-// Body
-private:
-  // --- Data formating AMDB (define the precalculated table structure) ---
-  static const G4int nPoints;// #of points in the AMDB tables     
-  static const G4int nLast;  // the Last element in the table
-  static G4double    lPMin;  // Min tabulated logarithmic Momentum  
-  static G4double    lPMax;  // Max tabulated logarithmic Momentum  
-  static G4double    dlnP;   // Log step in the table     
-  // ---- Local (for particular pP, pPDG, tZ, tN) -----
-  static G4bool    onlyCS;   // flag to calculate only CS (not S1/B1,S2/B2,S3/B3)
-  static G4double  lastSIG;  // Last calculated cross section
-  static G4double  lastLP;   // Last log(mom_of_the_incident_hadron in GeV)
-  static G4double  lastTM;   // Last t_maximum                       
-  static G4int     lastN;    // The last N of calculated nucleus
-  static G4int     lastZ;    // The last Z of calculated nucleus
-  static G4double  lastP;    // Last used in the cross section Momentum
-  static G4double  lastTH;   // Last value of the Momentum Threshold
-  static G4double  lastCS;   // Last value of the Cross Section
-  static G4int     lastI;    // The last position in the DAMDB
-  static G4double  theSS;    // The Last squared slope of first diffruction 
-  static G4double  theS1;    // The Last mantissa of first diffruction 
-  static G4double  theB1;    // The Last slope of first diffruction    
-  static G4double  theS2;    // The Last mantissa of second diffruction
-  static G4double  theB2;    // The Last slope of second diffruction   
-  static G4double  theS3;    // The Last mantissa of third diffruction 
-  static G4double  theB3;    // The Last slope of third diffruction    
-  static G4double  theS4;    // The Last mantissa of 4-th diffruction 
-  static G4double  theB4;    // The Last slope of 4-th diffruction    
-  // ---- Global (AMBD of P-dependent tables for pPDG,tZ,tN) -----
-  static G4int     lastPDG;  // Last PDG code of the projectile
-  static G4int     lastTZ;   // Last atomic number of the target
-  static G4int     lastTN;   // Last number of neutrons of the target
-  static G4double  lastPIN;  // Last initialized max momentum
-  static G4double* lastCST;  // Last cross-section table
-  static G4double* lastPAR;  // Last parameters for functional calculation
-  static G4double* lastSST;  // E-dep of squared slope of the first difruction 
-  static G4double* lastS1T;  // E-dep of mantissa of the first difruction 
-  static G4double* lastB1T;  // E-dep of the slope of the first difruction
-  static G4double* lastS2T;  // E-dep of mantissa of the second difruction
-  static G4double* lastB2T;  // E-dep of the slope of theSecond difruction
-  static G4double* lastS3T;  // E-dep of mantissa of the third difruction 
-  static G4double* lastB3T;  // E-dep of the slope of the third difruction
-  static G4double* lastS4T;  // E-dep of mantissa of the 4-th difruction 
-  static G4double* lastB4T;  // E-dep of the slope of the 4-th difruction
-
-  static std::vector <G4double*> PAR;   // Vector of parameters for functional calculations
-  static std::vector <G4double*> CST;   // Vector of cross-section table
-  static std::vector <G4double*> SST;   // Vector of the first squared slope
-  static std::vector <G4double*> S1T;   // Vector of the first mantissa
-  static std::vector <G4double*> B1T;   // Vector of the first slope
-  static std::vector <G4double*> S2T;   // Vector of the secon mantissa
-  static std::vector <G4double*> B2T;   // Vector of the second slope
-  static std::vector <G4double*> S3T;   // Vector of the third mantissa
-  static std::vector <G4double*> B3T;   // Vector of the third slope
-  static std::vector <G4double*> S4T;   // Vector of the 4-th mantissa (gloria)
-  static std::vector <G4double*> B4T;   // Vector of the 4-th slope    (gloria)
- };
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QElectronNuclearCrossSection.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QElectronNuclearCrossSection.hh	(revision 1350)
+++ 	(revision )
@@ -1,171 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 physics class: G4QElectronNuclearCrossSection -- header file
-// M.V. Kossov, ITEP(Moscow), 24-OCT-01
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 25-Sept-03
-//
-// --------------------------------------------------------------------------------
-// Short description: reaction cross-sections for electron-nuclear reactions, which
-// are integrals over virtual equivalent photons photons.
-// --------------------------------------------------------------------------------
-
-#ifndef G4QElectronNuclearCrossSection_h
-#define G4QElectronNuclearCrossSection_h 1
-
-#include <vector>
-#include "Randomize.hh"
-#include "G4VQCrossSection.hh"
-
-class G4QElectronNuclearCrossSection : public G4VQCrossSection
-{
-protected:
-
-  G4QElectronNuclearCrossSection()  {}               // Constructor
-
-public:
-
-  ~G4QElectronNuclearCrossSection();
-
-  static G4VQCrossSection* GetPointer(); // Gives a pointer to this singletone
-
-  G4double ThresholdEnergy(G4int Z, G4int N, G4int PDG=11);
-
-  // At present momentum (pMom) must be in GeV (@@ Units)
-  virtual G4double GetCrossSection(G4bool fCS, G4double pMom, G4int tgZ, G4int tgN,
-                                                                             G4int pPDG=0);
-
-  G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int PDG, G4int Z, G4int N,
-                                                                        G4double Momentum);
-
-  G4int    GetExchangePDGCode();
-
-  G4double GetExchangeEnergy();
-
-  G4double GetVirtualFactor(G4double nu, G4double Q2);
-
-  G4double GetExchangeQ2(G4double nu);
-
-private:
-  G4int    GetFunctions(G4double a, G4double* x, G4double* y, G4double* z);
-  G4double HighEnergyJ1(G4double lE);
-  G4double HighEnergyJ2(G4double lE);
-  G4double HighEnergyJ3(G4double lE);
-  G4double SolveTheEquation(G4double f);
-  G4double Fun(G4double x);
-  G4double DFun(G4double x);
-
-// Body
-private:
-  static G4bool    onlyCS;   // flag to calculate only CrossSection
-  static G4double  lastSig;  // Last calculated cross section
-  static G4int     lastL;    // Last used in the cross section TheLastBin
-  static G4double  lastE;    // Last used in the cross section Energy
-  static G4int     lastF;    // Last used in the cross section TheFirstBin
-  static G4double  lastG;    // Last value of gamma=lnE-ln(m)
-  static G4double  lastH;    // Last value of the High energy A-dependence
-  static G4double* lastJ1;   // Pointer to the last array of the J1 function
-  static G4double* lastJ2;   // Pointer to the last array of the J2 function
-  static G4double* lastJ3;   // Pointer to the last array of the J3 function
-  static G4int     lastPDG;  // The last projectile PDG
-  static G4int     lastN;    // The last N of calculated nucleus
-  static G4int     lastZ;    // The last Z of calculated nucleus
-  static G4double  lastP;    // Last used in the cross section Momentum
-  static G4double  lastTH;   // Last value of the Momentum Threshold
-  static G4double  lastCS;   // Last value of the Cross Section
-  static G4int     lastI;    // The last position in the DAMDB
-  static std::vector <G4double*>* J1; // Vector of pointers to the J1 tabulated functions
-  static std::vector <G4double*>* J2; // Vector of pointers to the J2 tabulated functions
-  static std::vector <G4double*>* J3; // Vector of pointers to the J3 tabulated functions
-};
-
-inline G4double G4QElectronNuclearCrossSection::DFun(G4double x)//PhotoNucCSParametrization
-{
-  static const G4double shd=1.0734;                    // HE PomShadowing(D)
-  static const G4double poc=0.0375;                    // HE Pomeron coefficient
-  static const G4double pos=16.5;                      // HE Pomeron shift
-  static const G4double reg=.11;                       // HE Reggeon slope
-  static const G4double mel=0.5109989;                 // Mass of an electron in MeV
-  static const G4double lmel=std::log(mel);            // Log of an electron mass
-  G4double y=std::exp(x-lastG-lmel);                   // y for the x
-  G4double flux=lastG*(2.-y*(2.-y))-1.;                // flux factor
-  return (poc*(x-pos)+shd*std::exp(-reg*x))*flux;
-}
-
-inline G4double G4QElectronNuclearCrossSection::Fun(G4double x) // Integrated PhoNucCS
-{
-  G4double dlg1=lastG+lastG-1.;
-  G4double lgoe=lastG/lastE;
-  G4double HE2=HighEnergyJ2(x);
-  return dlg1*HighEnergyJ1(x)-lgoe*(HE2+HE2-HighEnergyJ3(x)/lastE);
-}
-
-inline G4double G4QElectronNuclearCrossSection::HighEnergyJ1(G4double lEn)
-{
-  static const G4double le=std::log(50000.); // log(E0)
-  static const G4double le2=le*le;           // log(E0)^2
-  static const G4double a=.0375;             // a
-  static const G4double ha=a*.5;             // a/2
-  static const G4double ab=a*16.5;           // a*b
-  static const G4double d=0.11;              // d
-  static const G4double cd=1.0734/d;         // c/d
-  static const G4double ele=std::exp(-d*le); // E0^(-d)
-  return ha*(lEn*lEn-le2)-ab*(lEn-le)-cd*(std::exp(-d*lEn)-ele);
-}
-
-inline G4double G4QElectronNuclearCrossSection::HighEnergyJ2(G4double lEn)
-{
-  static const G4double e=50000.;            // E0
-  static const G4double le=std::log(e);      // log(E0)
-  static const G4double le1=(le-1.)*e;       // (log(E0)-1)*E0
-  static const G4double a=.0375;             // a
-  static const G4double ab=a*16.5;           // a*b
-  static const G4double d=1.-0.11;           // 1-d
-  static const G4double cd=1.0734/d;         // c/(1-d)
-  static const G4double ele=std::exp(d*le);  // E0^(1-d)
-  G4double En=std::exp(lEn);
-  return a*((lEn-1.)*En-le1)-ab*(En-e)+cd*(std::exp(d*lEn)-ele);
-}
-
-inline G4double G4QElectronNuclearCrossSection::HighEnergyJ3(G4double lEn)
-{
-  static const G4double e=50000.;            // E0
-  static const G4double le=std::log(e);      // log(E0)
-  static const G4double e2=e*e;              // E0^2
-  static const G4double leh=(le-.5)*e2;      // (log(E0)-.5)*E0^2
-  static const G4double ha=.0375*.5;         // a/2
-  static const G4double hab=ha*16.5;         // a*b/2
-  static const G4double d=2.-.11;            // 2-d
-  static const G4double cd=1.0734/d;         // c/(2-d)
-  static const G4double ele=std::exp(d*le);  // E0^(2-d)
-  G4double lastE2=std::exp(lEn+lEn);
-  return ha*((lEn-.5)*lastE2-leh)-hab*(lastE2-e2)+cd*(std::exp(d*lEn)-ele);
-}
-
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QHyperonNuclearCrossSection.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QHyperonNuclearCrossSection.hh	(revision 1350)
+++ 	(revision )
@@ -1,90 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 physics class: G4QHyperonNuclearCrossSection -- header file
-// Created: M.V. Kossov, CERN/ITEP(Moscow), 20-Dec-01
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 17-May-02
-//
-// ****************************************************************************************
-// ********* This HEADER is temporary moved from the photolepton_hadron directory *********
-// ******* DO NOT MAKE ANY CHANGE! With time it'll move back to photolepton...(M.K.) ******
-// ****************************************************************************************
-// Short description: CHIPS cross-sections for pi(minus)-nuclear interactions
-// It is purely fake now (just a copy of the proton-nuclear XS) !!! only for testing !!!
-// -------------------------------------------------------------------------------------
-
-#ifndef G4QHyperonNuclearCrossSection_h
-#define G4QHyperonNuclearCrossSection_h 1
-
-#include "G4ParticleTable.hh"
-#include "G4NucleiProperties.hh"
-#include <vector>
-#include "G4VQCrossSection.hh"
-
-class G4QHyperonNuclearCrossSection : public G4VQCrossSection
-{
-protected:
-
-  G4QHyperonNuclearCrossSection()  {}
-
-public:
-
-  ~G4QHyperonNuclearCrossSection();
-
-  static G4VQCrossSection* GetPointer(); // Gives a pointer to this singletone
-
-  // At present momentum (pMom) in MeV/c, CS in mb (@@ Units)
-  virtual G4double GetCrossSection(G4bool fCS, G4double pMom, G4int tgZ, G4int tgN,
-                                   G4int pPDG=3122);
-
-  G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int PDG, G4int Z,
-                                 G4int N, G4double Momentum);
-
-private:
-  G4double CrossSectionLin(G4int targZ, G4int targN, G4double P);
-  G4double CrossSectionLog(G4int targZ, G4int targN, G4double lP);
-  G4double CrossSectionFormula(G4int targZ, G4int targN, G4double P, G4double lP);
-// Body
-private:
-  static G4double  lastSig; // Last value of the Cross Section
-  static G4double* lastLEN; // Pointer to the last array of LowEnergy cross sections
-  static G4double* lastHEN; // Pointer to the last array of HighEnergy cross sections
-  static G4double  lastE;   // Last used in the cross section Energy
-  static G4int     lastPDG; // The last projectile PDG
-  static G4int     lastN;   // The last N of calculated nucleus
-  static G4int     lastZ;   // The last Z of calculated nucleus
-  static G4double  lastP;   // Last used in the cross section Momentum
-  static G4double  lastTH;  // Last value of the Momentum Threshold
-  static G4double  lastCS;  // Last value of the Cross Section
-  static G4int     lastI;   // The last position in the DAMDB
-  static std::vector<G4double*>* LEN;  // Vector of pointers to LowEnProtonCrossSection
-  static std::vector<G4double*>* HEN;  // Vector of pointers to HighEnProtonCrossSection
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QHyperonPlusNuclearCrossSection.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QHyperonPlusNuclearCrossSection.hh	(revision 1350)
+++ 	(revision )
@@ -1,92 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 physics class: G4QHyperonPlusNuclearCrossSection -- header file
-// Created: M.V. Kossov, CERN/ITEP(Moscow), 20-Dec-01
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 17-May-02
-//
-// ****************************************************************************************
-// ********* This HEADER is temporary moved from the photolepton_hadron directory *********
-// ******* DO NOT MAKE ANY CHANGE! With time it'll move back to photolepton...(M.K.) ******
-// ****************************************************************************************
-// Short description: CHIPS cross-sections for pi(minus)-nuclear interactions
-// It is purely fake now (just a copy of the proton-nuclear XS) !!! only for testing !!!
-// -------------------------------------------------------------------------------------
-
-#ifndef G4QHyperonPlusNuclearCrossSection_h
-#define G4QHyperonPlusNuclearCrossSection_h 1
-
-#include "G4ParticleTable.hh"
-#include "G4NucleiProperties.hh"
-#include <vector>
-#include "G4VQCrossSection.hh"
-#include "G4QPDGCode.hh"
-
-class G4QHyperonPlusNuclearCrossSection : public G4VQCrossSection
-{
-protected:
-
-  G4QHyperonPlusNuclearCrossSection()  {}
-
-public:
-
-  ~G4QHyperonPlusNuclearCrossSection();
-
-  static G4VQCrossSection* GetPointer(); // Gives a pointer to this singletone
-
-  // At present momentum (pMom) in MeV/c, CS in mb (@@ Units)
-  virtual G4double GetCrossSection(G4bool fCS, G4double pMom, G4int tgZ, G4int tgN,
-                                   G4int pPDG=3222);
-
-  G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int PDG, G4int Z,
-                                 G4int N, G4double Momentum);
-
-private:
-  G4double CrossSectionLin(G4int targZ, G4int targN, G4double P);
-  G4double CrossSectionLog(G4int targZ, G4int targN, G4double lP);
-  G4double CrossSectionFormula(G4int targZ, G4int targN, G4double P, G4double lP);
-  G4double ThresholdMomentum(G4int targZ, G4int targN); // Threshold of pA reaction (MeV/c)
-// Body
-private:
-  static G4double  lastSig; // Last value of the Cross Section
-  static G4double* lastLEN; // Pointer to the last array of LowEnergy cross sections
-  static G4double* lastHEN; // Pointer to the last array of HighEnergy cross sections
-  static G4double  lastE;   // Last used in the cross section Energy
-  static G4int     lastPDG; // The last projectile PDG
-  static G4int     lastN;   // The last N of calculated nucleus
-  static G4int     lastZ;   // The last Z of calculated nucleus
-  static G4double  lastP;   // Last used in the cross section Momentum
-  static G4double  lastTH;  // Last value of the Momentum Threshold
-  static G4double  lastCS;  // Last value of the Cross Section
-  static G4int     lastI;   // The last position in the DAMDB
-  static std::vector<G4double*>* LEN;  // Vector of pointers to LowEnProtonCrossSection
-  static std::vector<G4double*>* HEN;  // Vector of pointers to HighEnProtonCrossSection
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QIonIonCrossSection.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QIonIonCrossSection.hh	(revision 1350)
+++ 	(revision )
@@ -1,106 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-// Short description: CHIPS cross-sectons for Ion-Ion interactions
-// ---------------------------------------------------------------
-//
-//
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 physics class: G4QIonIonCrossSection -- header file
-// Created: M.V. Kossov, CERN/ITEP(Moscow), 19-Aug-07
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 19-Aug-07
-//-----------------------------------------------------------------------------------------
-// In this class, just as an experiment the real PDG codes (not CHIPS) are used
-//-----------------------------------------------------------------------------------------
-//
-// ****************************************************************************************
-// ********* This HEADER is temporary moved from the chips/interface directory *********
-// ******* DO NOT MAKE ANY CHANGE! With time it'll move back to photolepton...(M.K.) ******
-// ****************************************************************************************
-
-#ifndef G4QIonIonCrossSection_h
-#define G4QIonIonCrossSection_h 1
-
-#include "G4ParticleTable.hh"
-#include "G4NucleiProperties.hh"
-#include <vector>
-#include "G4VQCrossSection.hh"
-#include "G4QPDGCode.hh"
-#include "G4QElasticCrossSection.hh"
-#include "G4QProtonNuclearCrossSection.hh"
-#include "G4QNeutronNuclearCrossSection.hh"
-
-
-class G4QIonIonCrossSection : public G4VQCrossSection
-{
-protected:
-
-  G4QIonIonCrossSection()  {}
-
-public:
-
-  ~G4QIonIonCrossSection() {}
-
-  static G4VQCrossSection* GetPointer(); // Gives a pointer to this singletone
-
-  // At present momentum (pMom) must be in GeV(@@ Units),fCS=true:Inelastic, =false:Elastic
-  virtual G4double GetCrossSection(G4bool fCS, G4double pMom, G4int Z, G4int N, G4int PDG);
-
-  // Momentum=p/A (MeV/c)
-  G4double CalculateCrossSection(G4bool fCS, G4int F, G4int I, G4int PDG,
-                                 G4int tZ, G4int tN, G4double Momentum);
-
-  G4double ThresholdMomentum(G4int pZ, G4int pN, G4int tZ, G4int tN);// P-Threshold(MeV/c)
-
-private:
-  G4int    GetFunctions(G4int pZ, G4int pN, G4int tZ, G4int tN,
-                        G4double* LI, G4double* HI,  // Inelastic
-                        G4double* LE, G4double* HE); // Elastic
-
-  G4double CalculateTotal(G4double pA, G4double tA, G4double Momentum);
-  G4double CalculateElTot(G4double pA, G4double tA, G4double Momentum);
-  // Momentum=p/A (MeV/c), first=InelasticCS, second=elasticCS (mb)
-  std::pair<G4double,G4double> CalculateXS(G4int pZ,G4int pN,G4int tZ,G4int tN,G4double P);
-
-// Body
-private:
-  static G4double* lastLENI;// Pointer to the last array of LowEnergy Inel cross sections
-  static G4double* lastHENI;// Pointer to the last array of HighEnergy Inel cross sections
-  static G4double* lastLENE;// Pointer to the last array of LowEnergy Elast cross sections
-  static G4double* lastHENE;// Pointer to the last array of HighEnergy Elast cross sections
-  static G4double  lastE;   // Last used in the cross section Energy
-  static G4int     lastPDG; // The last projectile PDG
-  static G4int     lastN;   // The last N of calculated nucleus
-  static G4int     lastZ;   // The last Z of calculated nucleus
-  static G4double  lastP;   // Last used in the cross section Momentum
-  static G4double  lastTH;  // Last value of the Momentum Threshold
-  static G4double  lastICS; // Last value of the Inelastic Cross Section
-  static G4double  lastECS; // Last value of the Elastic Cross Section
-  static G4int     lastI;   // The last position in the DAMDB
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QKaonMinusNuclearCrossSection.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QKaonMinusNuclearCrossSection.hh	(revision 1350)
+++ 	(revision )
@@ -1,91 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 physics class: G4QKaonMinusNuclearCrossSection -- header file
-// Created: M.V. Kossov, CERN/ITEP(Moscow), 20-Dec-01
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 17-May-02
-//
-// ****************************************************************************************
-// ********* This HEADER is temporary moved from the photolepton_hadron directory *********
-// ******* DO NOT MAKE ANY CHANGE! With time it'll move back to photolepton...(M.K.) ******
-// ****************************************************************************************
-// Short description: CHIPS cross-sections for pi(minus)-nuclear interactions
-// It is purely fake now (just a copy of the proton-nuclear XS) !!! only for testing !!!
-// -------------------------------------------------------------------------------------
-
-#ifndef G4QKaonMinusNuclearCrossSection_h
-#define G4QKaonMinusNuclearCrossSection_h 1
-
-#include "G4ParticleTable.hh"
-#include "G4NucleiProperties.hh"
-#include <vector>
-#include "G4VQCrossSection.hh"
-
-class G4QKaonMinusNuclearCrossSection : public G4VQCrossSection
-{
-protected:
-
-  G4QKaonMinusNuclearCrossSection()  {}
-
-public:
-
-  ~G4QKaonMinusNuclearCrossSection();
-
-  static G4VQCrossSection* GetPointer(); // Gives a pointer to this singletone
-
-  // At present momentum (pMom) in MeV/c, CS in mb (@@ Units)
-  virtual G4double GetCrossSection(G4bool fCS, G4double pMom, G4int tgZ, G4int tgN,
-                                   G4int pPDG=-321);
-
-  G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int PDG, G4int Z,
-                                 G4int N, G4double Momentum);
-
-private:
-  G4double CrossSectionLin(G4int targZ, G4int targN, G4double P);
-  G4double CrossSectionLog(G4int targZ, G4int targN, G4double lP);
-  G4double CrossSectionFormula(G4int targZ, G4int targN, G4double P, G4double lP);
-  G4double ThresholdMomentum(G4int targZ, G4int targN); // Threshold of pA reaction (MeV/c)
-// Body
-private:
-  static G4double  lastSig; // Last value of the Cross Section
-  static G4double* lastLEN; // Pointer to the last array of LowEnergy cross sections
-  static G4double* lastHEN; // Pointer to the last array of HighEnergy cross sections
-  static G4double  lastE;   // Last used in the cross section Energy
-  static G4int     lastPDG; // The last projectile PDG
-  static G4int     lastN;   // The last N of calculated nucleus
-  static G4int     lastZ;   // The last Z of calculated nucleus
-  static G4double  lastP;   // Last used in the cross section Momentum
-  static G4double  lastTH;  // Last value of the Momentum Threshold
-  static G4double  lastCS;  // Last value of the Cross Section
-  static G4int     lastI;   // The last position in the DAMDB
-  static std::vector<G4double*>* LEN;  // Vector of pointers to LowEnProtonCrossSection
-  static std::vector<G4double*>* HEN;  // Vector of pointers to HighEnProtonCrossSection
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QKaonPlusNuclearCrossSection.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QKaonPlusNuclearCrossSection.hh	(revision 1350)
+++ 	(revision )
@@ -1,93 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 physics class: G4QKaonPlusNuclearCrossSection -- header file
-// Created: M.V. Kossov, CERN/ITEP(Moscow), 20-Dec-01
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 17-May-02
-//
-// ****************************************************************************************
-// ********* This HEADER is temporary moved from the photolepton_hadron directory *********
-// ******* DO NOT MAKE ANY CHANGE! With time it'll move back to photolepton...(M.K.) ******
-// ****************************************************************************************
-// Short description: CHIPS cross-sections for pi(minus)-nuclear interactions
-// It is purely fake now (just a copy of the proton-nuclear XS) !!! only for testing !!!
-// -------------------------------------------------------------------------------------
-
-#ifndef G4QKaonPlusNuclearCrossSection_h
-#define G4QKaonPlusNuclearCrossSection_h 1
-
-#include "G4ParticleTable.hh"
-#include "G4NucleiProperties.hh"
-#include <vector>
-#include "G4VQCrossSection.hh"
-#include "G4QPDGCode.hh"
-
-class G4QKaonPlusNuclearCrossSection : public G4VQCrossSection
-{
-protected:
-
-  G4QKaonPlusNuclearCrossSection()  {}
-
-public:
-
-  ~G4QKaonPlusNuclearCrossSection();
-
-  static G4VQCrossSection* GetPointer(); // Gives a pointer to this singletone
-
-  // At present momentum (pMom) in MeV/c, CS in mb (@@ Units)
-  virtual G4double GetCrossSection(G4bool fCS, G4double pMom, G4int tgZ, G4int tgN,
-                                   G4int pPDG=321);
-
-  G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int PDG, G4int Z,
-                                 G4int N, G4double Momentum);
-
-private:
-  G4int    GetFunctions(G4int tZ, G4int tN, G4double* y, G4double* z); // y&z=ArrayPointers
-  G4double CrossSectionLin(G4int targZ, G4int targN, G4double P);
-  G4double CrossSectionLog(G4int targZ, G4int targN, G4double lP);
-  G4double CrossSectionFormula(G4int targZ, G4int targN, G4double P, G4double lP);
-  G4double ThresholdMomentum(G4int targZ, G4int targN); // Threshold of pA reaction (MeV/c)
-// Body
-private:
-  static G4double  lastSig; // Last value of the Cross Section
-  static G4double* lastLEN; // Pointer to the last array of LowEnergy cross sections
-  static G4double* lastHEN; // Pointer to the last array of HighEnergy cross sections
-  static G4double  lastE;   // Last used in the cross section Energy
-  static G4int     lastPDG; // The last projectile PDG
-  static G4int     lastN;   // The last N of calculated nucleus
-  static G4int     lastZ;   // The last Z of calculated nucleus
-  static G4double  lastP;   // Last used in the cross section Momentum
-  static G4double  lastTH;  // Last value of the Momentum Threshold
-  static G4double  lastCS;  // Last value of the Cross Section
-  static G4int     lastI;   // The last position in the DAMDB
-  static std::vector<G4double*>* LEN;  // Vector of pointers to LowEnProtonCrossSection
-  static std::vector<G4double*>* HEN;  // Vector of pointers to HighEnProtonCrossSection
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QKaonZeroNuclearCrossSection.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QKaonZeroNuclearCrossSection.hh	(revision 1350)
+++ 	(revision )
@@ -1,87 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 physics class: G4QKaonZeroNuclearCrossSection -- header file
-// Created: M.V. Kossov, CERN/ITEP(Moscow), 20-Dec-01
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 17-May-02
-//
-// ****************************************************************************************
-// ********* This HEADER is temporary moved from the photolepton_hadron directory *********
-// ******* DO NOT MAKE ANY CHANGE! With time it'll move back to photolepton...(M.K.) ******
-// ****************************************************************************************
-// Short description: CHIPS cross-sections for pi(minus)-nuclear interactions
-// It is purely fake now (just a copy of the proton-nuclear XS) !!! only for testing !!!
-// -------------------------------------------------------------------------------------
-
-#ifndef G4QKaonZeroNuclearCrossSection_h
-#define G4QKaonZeroNuclearCrossSection_h 1
-
-#include "G4ParticleTable.hh"
-#include "G4NucleiProperties.hh"
-#include <vector>
-#include "G4VQCrossSection.hh"
-#include "G4QKaonPlusNuclearCrossSection.hh"
-#include "G4QKaonMinusNuclearCrossSection.hh"
-
-class G4QKaonZeroNuclearCrossSection : public G4VQCrossSection
-{
-protected:
-
-  G4QKaonZeroNuclearCrossSection() {}
-
-public:
-
-  ~G4QKaonZeroNuclearCrossSection() {}
-
-  static G4VQCrossSection* GetPointer(); // Gives a pointer to this singletone
-
-  // At present momentum (pMom) in MeV/c, CS in mb (@@ Units)
-  virtual G4double GetCrossSection(G4bool fCS, G4double pMom, G4int tgZ, G4int tgN,
-                                   G4int pPDG=130);
-
-  G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int PDG, G4int Z,
-                                 G4int N, G4double Momentum);
-// Body
-private:
-  static G4double  lastSig; // Last value of the Cross Section
-  static G4double* lastLEN; // Pointer to the last array of LowEnergy cross sections
-  static G4double* lastHEN; // Pointer to the last array of HighEnergy cross sections
-  static G4double  lastE;   // Last used in the cross section Energy
-  static G4int     lastPDG; // The last projectile PDG
-  static G4int     lastN;   // The last N of calculated nucleus
-  static G4int     lastZ;   // The last Z of calculated nucleus
-  static G4double  lastP;   // Last used in the cross section Momentum
-  static G4double  lastTH;  // Last value of the Momentum Threshold
-  static G4double  lastCS;  // Last value of the Cross Section
-  static G4int     lastI;   // The last position in the DAMDB
-  static G4VQCrossSection* theKMinusCS; // K- cross-section
-  static G4VQCrossSection* theKPlusCS;  // K+ cross-section
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QMuonNuclearCrossSection.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QMuonNuclearCrossSection.hh	(revision 1350)
+++ 	(revision )
@@ -1,182 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: G4QMuonNuclearCrossSection.hh,v 1.1 2009/11/16 18:15:42 mkossov Exp $
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 physics class: G4QMuonNuclearCrossSection -- header file
-// M.V. Kossov, CERN-ITEP(Moscow), 4-FEB-2004
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 4-Feb-04
-//
-// Short description: this G4 singletone class calculates muonNuclear cross section for
-// the particular isotope (GetCrossSection member function)
-// ****************************************************************************************
-// ********* This HEADER is temporary moved from the photolepton_hadron directory *********
-// ******* DO NOT MAKE ANY CHANGE! With time it'll move back to photolepton...(M.K.) ******
-// ****************************************************************************************
-// Short description: reaction cross-sections for muon-nuclear reactions, which
-// are integrals over virtual equivalent photons photons. The muon-nuclear GHAD
-// model (not CHIPS) gives 2-3 times smaller scattering angle and deposited energy.
-// --------------------------------------------------------------------------------
-
-#ifndef G4QMuonNuclearCrossSection_h
-#define G4QMuonNuclearCrossSection_h 1
-
-#include "G4ParticleTable.hh"
-#include "G4NucleiProperties.hh"
-#include <vector>
-#include "Randomize.hh"
-#include "G4MuonPlus.hh"
-#include "G4MuonMinus.hh"
-#include "G4VQCrossSection.hh"
-
-class G4QMuonNuclearCrossSection : public G4VQCrossSection
-{
-protected:
-
-  G4QMuonNuclearCrossSection()  {};
-
-public:
-
-  ~G4QMuonNuclearCrossSection();
-
-  static G4VQCrossSection* GetPointer(); // Gives a pointer to this singletone
-
-  G4double ThresholdEnergy(G4int Z, G4int N, G4int PDG=13);
-
-  // At present momentum (pMom) must be in GeV (@@ Units)
-  virtual G4double GetCrossSection(G4bool fCS, G4double pMom, G4int tgZ, G4int tgN,
-                                                                             G4int pPDG=0);
-
-  G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int PDG, G4int Z, G4int N,
-                                                                        G4double Momentum);
-
-  G4int    GetExchangePDGCode();
-
-  G4double GetExchangeEnergy();
-
-  G4double GetVirtualFactor(G4double nu, G4double Q2);
-
-  G4double GetExchangeQ2(G4double nu);
-
-private:
-  G4int    GetFunctions(G4double a, G4double* x, G4double* y, G4double* z);
-  G4double HighEnergyJ1(G4double lE);
-  G4double HighEnergyJ2(G4double lE);
-  G4double HighEnergyJ3(G4double lE);
-  G4double SolveTheEquation(G4double f);
-  G4double Fun(G4double x);
-  G4double DFun(G4double x);
-
-// Body
-private:
-  static G4bool    onlyCS;   // flag to calculate only CS
-  static G4double  lastSig;  // Last calculated cross section
-  static G4int     lastL;    // Last used in the cross section TheLastBin
-  static G4double  lastE;    // Last used in the cross section Energy
-  static G4int     lastF;    // Last used in the cross section TheFirstBin
-  static G4double  lastG;    // Last value of gamma=lnE-ln(m)
-  static G4double  lastH;    // Last value of the High energy A-dependence
-  static G4double* lastJ1;   // Pointer to the last array of the J1 function
-  static G4double* lastJ2;   // Pointer to the last array of the J2 function
-  static G4double* lastJ3;   // Pointer to the last array of the J3 function
-  static G4int     lastPDG;  // The last projectile PDG
-  static G4int     lastN;    // The last N of calculated nucleus
-  static G4int     lastZ;    // The last Z of calculated nucleus
-  static G4double  lastP;    // Last used in the cross section Momentum
-  static G4double  lastTH;   // Last value of the Momentum Threshold
-  static G4double  lastCS;   // Last value of the Cross Section
-  static G4int     lastI;    // The last position in the DAMDB
-  static std::vector <G4double*>* J1; // Vector of pointers to the J1 tabulated functions
-  static std::vector <G4double*>* J2; // Vector of pointers to the J2 tabulated functions
-  static std::vector <G4double*>* J3; // Vector of pointers to the J3 tabulated functions
-};
-
-inline G4double G4QMuonNuclearCrossSection::DFun(G4double x)// Parametrization of PhotNucCS
-{
-  static const G4double shd=1.0734;                    // HE PomShadowing(D)
-  static const G4double poc=0.0375;                    // HE Pomeron coefficient
-  static const G4double pos=16.5;                      // HE Pomeron shift
-  static const G4double reg=.11;                       // HE Reggeon slope
-  static const G4double mmu=105.65839;                 // Mass of a muon in MeV
-  static const G4double lmmu=std::log(mmu);                 // Log of a muon mass
-  G4double y=std::exp(x-lastG-lmmu);                        // y for the x
-  G4double flux=lastG*(2.-y*(2.-y))-1.;                // flux factor
-  return (poc*(x-pos)+shd*std::exp(-reg*x))*flux;
-}
-
-inline G4double G4QMuonNuclearCrossSection::Fun(G4double x) // Integrated PhoNucCS
-{
-  G4double dlg1=lastG+lastG-1.;
-  G4double lgoe=lastG/lastE;
-  G4double HE2=HighEnergyJ2(x);
-  return dlg1*HighEnergyJ1(x)-lgoe*(HE2+HE2-HighEnergyJ3(x)/lastE);
-}
-
-inline G4double G4QMuonNuclearCrossSection::HighEnergyJ1(G4double lEn)
-{
-  static const G4double le=std::log(50000.); // log(E0)
-  static const G4double le2=le*le;           // log(E0)^2
-  static const G4double a=.0375;             // a
-  static const G4double ha=a*.5;             // a/2
-  static const G4double ab=a*16.5;           // a*b
-  static const G4double d=0.11;              // d
-  static const G4double cd=1.0734/d;         // c/d
-  static const G4double ele=std::exp(-d*le); // E0^(-d)
-  return ha*(lEn*lEn-le2)-ab*(lEn-le)-cd*(std::exp(-d*lEn)-ele);
-}
-
-inline G4double G4QMuonNuclearCrossSection::HighEnergyJ2(G4double lEn)
-{
-  static const G4double e=50000.;            // E0
-  static const G4double le=std::log(e);      // log(E0)
-  static const G4double le1=(le-1.)*e;       // (log(E0)-1)*E0
-  static const G4double a=.0375;             // a
-  static const G4double ab=a*16.5;           // a*b
-  static const G4double d=1.-0.11;           // 1-d
-  static const G4double cd=1.0734/d;         // c/(1-d)
-  static const G4double ele=std::exp(d*le);  // E0^(1-d)
-  G4double En=std::exp(lEn);
-  return a*((lEn-1.)*En-le1)-ab*(En-e)+cd*(std::exp(d*lEn)-ele);
-}
-
-inline G4double G4QMuonNuclearCrossSection::HighEnergyJ3(G4double lEn)
-{
-  static const G4double e=50000.;            // E0
-  static const G4double le=std::log(e);      // log(E0)
-  static const G4double e2=e*e;              // E0^2
-  static const G4double leh=(le-.5)*e2;      // (log(E0)-.5)*E0^2
-  static const G4double ha=.0375*.5;         // a/2
-  static const G4double hab=ha*16.5;         // a*b/2
-  static const G4double d=2.-.11;            // 2-d
-  static const G4double cd=1.0734/d;         // c/(2-d)
-  static const G4double ele=std::exp(d*le);  // E0^(2-d)
-  G4double lastE2=std::exp(lEn+lEn);
-  return ha*((lEn-.5)*lastE2-leh)-hab*(lastE2-e2)+cd*(std::exp(d*lEn)-ele);
-}
-
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QNeutronCaptureRatio.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QNeutronCaptureRatio.hh	(revision 1350)
+++ 	(revision )
@@ -1,79 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 physics class: G4QNeutronCaptureRatio -- header file
-// M.V. Kossov, ITEP(Moscow), 22-May-09
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 22-May-2009
-//
-// **********************************************************************
-// ****** This HEADER is property of the CHIPS model (M. Kosov) *********
-// ******************** DO NOT MAKE ANY CHANGE! (M.K.) ******************
-//=======================================================================
-// Short description: (n,gamma) capture is a part of the incoherent
-// (inelastic) interaction. This part is calculated in the class.
-// ----------------------------------------------------------------------
-
-#ifndef G4QNeutronCaptureRatio_h
-#define G4QNeutronCaptureRatio_h 1
-
-#include "globals.hh"
-#include "G4ios.hh"
-#include "Randomize.hh"
-#include <vector>
-#include "G4QPDGCode.hh"
-#include "G4QEnvironment.hh"
-#include "G4Quasmon.hh"
-#include "G4QHadronVector.hh"
-#include "G4QElasticCrossSection.hh"
-
-
-
-class G4QNeutronCaptureRatio
-{
- protected:
-
-  G4QNeutronCaptureRatio()  {}                 // Constructor
-
- public:
-
-  ~G4QNeutronCaptureRatio() {}                 // Destructor
-
-  static G4QNeutronCaptureRatio* GetPointer(); // Gives a pointer to this singletone
-
-  // Capture/Inelastic Ratio (momentum is in independent units)
-  G4double GetRatio(G4double pIU, G4int tgZ, G4int tgN);
-
- private:
-  // These working member functions are in CHIPS units and must not be used externally
-  G4double CalcCap2In_Ratio(G4double p, G4int Z, G4int N); // R = Capture/In (p in GeV/c)
-
-  // Body
- private:
-};      
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QNeutronNuclearCrossSection.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QNeutronNuclearCrossSection.hh	(revision 1350)
+++ 	(revision )
@@ -1,90 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 physics class: G4QNeutronNuclearCrossSection -- header file
-// Created: M.V. Kossov, CERN/ITEP(Moscow), 17-May-2009
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 21-May-2009
-//
-// **********************************************************************
-// ****** This HEADER is property of the CHIPS model (M. Kosov) *********
-// ******************** DO NOT MAKE ANY CHANGE! (M.K.) ******************
-//=========================================================================
-// Short description: CHIPS cross-sections for neutron-nuclear interactions
-// ------------------------------------------------------------------------
-
-#ifndef G4QNeutronNuclearCrossSection_h
-#define G4QNeutronNuclearCrossSection_h 1
-
-#include "G4ParticleTable.hh"
-#include "G4NucleiProperties.hh"
-#include <vector>
-#include "G4VQCrossSection.hh"
-
-class G4QNeutronNuclearCrossSection : public G4VQCrossSection
-{
-protected:
-
-  G4QNeutronNuclearCrossSection()  {}
-
-public:
-
-  ~G4QNeutronNuclearCrossSection();
-
-  static G4VQCrossSection* GetPointer(); // Gives a pointer to this singletone
-
-  // At present momentum (pMom) in MeV/c, CS in mb (@@ Units)
-  virtual G4double GetCrossSection(G4bool fCS, G4double pMom, G4int tgZ, G4int tgN,
-                                   G4int pPDG=2112);
-
-  G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int PDG, G4int Z,
-                                 G4int N, G4double Momentum);
-
-private:
-  G4double CrossSectionLin(G4int targZ, G4int targN, G4double P);
-  G4double CrossSectionLog(G4int targZ, G4int targN, G4double lP);
-  G4double CrossSectionFormula(G4int targZ, G4int targN, G4double P, G4double lP);
-// Body
-private:
-  static G4double  lastSig; // Last value of the Cross Section
-  static G4double* lastLEN; // Pointer to the last array of LowEnergy cross sections
-  static G4double* lastHEN; // Pointer to the last array of HighEnergy cross sections
-  static G4double  lastE;   // Last used in the cross section Energy
-  static G4int     lastPDG; // The last projectile PDG
-  static G4int     lastN;   // The last N of calculated nucleus
-  static G4int     lastZ;   // The last Z of calculated nucleus
-  static G4double  lastP;   // Last used in the cross section Momentum
-  static G4double  lastTH;  // Last value of the Momentum Threshold
-  static G4double  lastCS;  // Last value of the Cross Section
-  static G4int     lastI;   // The last position in the DAMDB
-  static G4double  HEthresh;  // High energy threshold parameter for the CS calculation
-  static std::vector<G4double*>* LEN;  // Vector of pointers to LowEnNeutronCrossSection
-  static std::vector<G4double*>* HEN;  // Vector of pointers to HighEnNeutronCrossSection
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QNuENuclearCrossSection.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QNuENuclearCrossSection.hh	(revision 1350)
+++ 	(revision )
@@ -1,111 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: G4QNuENuclearCrossSection.hh,v 1.1 2009/11/16 18:15:42 mkossov Exp $
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 physics class: G4QNuENuclearCrossSection -- header file
-// M.V. Kossov, CERN-ITEP(Moscow), 20-SEP-2007
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 20-SEP-2007
-//
-// Short description: this G4 singletone class calculates (nu_e,e-) Nuclear cross section
-// (Energy limit: E<320GeV->badExtrapolation) for a particular isotope (proportional to A)
-// ****************************************************************************************
-
-#ifndef G4QNuENuclearCrossSection_h
-#define G4QNuENuclearCrossSection_h 1
-
-#include "G4ParticleTable.hh"
-#include "G4NucleiProperties.hh"
-#include <vector>
-#include "Randomize.hh"
-#include "G4MuonPlus.hh"
-#include "G4MuonMinus.hh"
-#include "G4VQCrossSection.hh"
-
-class G4QNuENuclearCrossSection : public G4VQCrossSection
-{
-protected:
-
-  G4QNuENuclearCrossSection() {};
-
-public:
-
-  ~G4QNuENuclearCrossSection();
-
-  static G4VQCrossSection* GetPointer(); // Gives a pointer to this singletone
-
-  G4double ThresholdEnergy(G4int Z, G4int N, G4int PDG=12);
-
-  // At present momentum (pMom) must be in GeV (@@ Units)
-  virtual G4double GetCrossSection(G4bool fCS, G4double pMom, G4int tgZ, G4int tgN,
-                                                                             G4int pPDG=0);
-
-  G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int PDG, G4int Z,
-                                                               G4int N, G4double Momentum);
-
-  G4int    GetExchangePDGCode();
-
-  G4double GetDirectPart(G4double Q2);
-
-  G4double GetNPartons(G4double Q2);
-
-  G4double GetQEL_ExchangeQ2();
-
-  G4double GetNQE_ExchangeQ2();
-
-  // Get static members
-  G4double GetLastTOTCS() {return lastSig;}
-  G4double GetLastQELCS() {return lastQEL;}
-
-private:
-  G4int    GetFunctions(G4int z, G4int n, G4double* t, G4double* q, G4double* e);
-  G4double HighEnergyTX(G4double lE);
-  G4double HighEnergyQE(G4double lE);
-
-// Body
-private:
-  static G4bool    onlyCS;   // flag to calculate only CS (not TX & QE)
-  static G4double  lastSig;  // Last calculated total cross section
-  static G4double  lastQEL;  // Last calculated quasi-elastic cross section
-  static G4int     lastL;    // Last bin used in the cross section TheLastBin
-  static G4double  lastE;    // Last energy used in the cross section Energy
-  static G4double* lastEN;   // Pointer to the last array of the energy axis
-  static G4double* lastTX;   // Pointer to the last array of the total CS function
-  static G4double* lastQE;   // Pointer to the last array of the QE CS function
-  static G4int     lastPDG;  // The last projectile PDG
-  static G4int     lastN;    // The last N of calculated nucleus
-  static G4int     lastZ;    // The last Z of calculated nucleus
-  static G4double  lastP;    // Last used in the cross section Momentum
-  static G4double  lastTH;   // Last value of the Momentum Threshold
-  static G4double  lastCS;   // Last value of the Cross Section
-  static G4int     lastI;    // The last position in the DAMDB
-  static std::vector <G4double*>* TX; // Vector of pointers to the TX tabulated functions
-  static std::vector <G4double*>* QE; // Vector of pointers to the QE tabulated functions
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QNuMuNuclearCrossSection.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QNuMuNuclearCrossSection.hh	(revision 1350)
+++ 	(revision )
@@ -1,111 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: G4QNuMuNuclearCrossSection.hh,v 1.1 2009/11/16 18:15:42 mkossov Exp $
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 physics class: G4QNuMuNuclearCrossSection -- header file
-// M.V. Kossov, CERN-ITEP(Moscow), 20-DEC-2005
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 20-DEC-2005
-//
-// Short description: this G4 singletone class calculates (nu_mu,mu-) Nuclear cross section
-// (Energy limit: E<320GeV->badExtrapolation) for a particular isotope (proportional to A)
-// ****************************************************************************************
-
-#ifndef G4QNuMuNuclearCrossSection_h
-#define G4QNuMuNuclearCrossSection_h 1
-
-#include "G4ParticleTable.hh"
-#include "G4NucleiProperties.hh"
-#include <vector>
-#include "Randomize.hh"
-#include "G4MuonPlus.hh"
-#include "G4MuonMinus.hh"
-#include "G4VQCrossSection.hh"
-
-class G4QNuMuNuclearCrossSection : public G4VQCrossSection
-{
-protected:
-
-  G4QNuMuNuclearCrossSection()  {};
-
-public:
-
-  ~G4QNuMuNuclearCrossSection();
-
-  static G4VQCrossSection* GetPointer(); // Gives a pointer to this singletone
-
-  G4double ThresholdEnergy(G4int Z, G4int N, G4int PDG=14);
-
-  // At present momentum (pMom) must be in GeV (@@ Units)
-  virtual G4double GetCrossSection(G4bool fCS, G4double pMom, G4int tgZ, G4int tgN,
-                                                                             G4int pPDG=0);
-
-  G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int PDG, G4int Z,
-                                                               G4int N, G4double Momentum);
-
-  G4int    GetExchangePDGCode();
-
-  G4double GetDirectPart(G4double Q2);
-
-  G4double GetNPartons(G4double Q2);
-
-  G4double GetQEL_ExchangeQ2();
-
-  G4double GetNQE_ExchangeQ2();
-
-  // Get static members
-  G4double GetLastTOTCS() {return lastSig;}
-  G4double GetLastQELCS() {return lastQEL;}
-
-private:
-  G4int    GetFunctions(G4int z, G4int n, G4double* t, G4double* q, G4double* e);
-  G4double HighEnergyTX(G4double lE);
-  G4double HighEnergyQE(G4double lE);
-
-// Body
-private:
-  static G4bool    onlyCS;   // flag to calculate only CS (not TX & QE)
-  static G4double  lastSig;  // Last calculated total cross section
-  static G4double  lastQEL;  // Last calculated quasi-elastic cross section
-  static G4int     lastL;    // Last bin used in the cross section TheLastBin
-  static G4double  lastE;    // Last energy used in the cross section Energy
-  static G4double* lastEN;   // Pointer to the last array of the energy axis
-  static G4double* lastTX;   // Pointer to the last array of the total CS function
-  static G4double* lastQE;   // Pointer to the last array of the QE CS function
-  static G4int     lastPDG;  // The last projectile PDG
-  static G4int     lastN;    // The last N of calculated nucleus
-  static G4int     lastZ;    // The last Z of calculated nucleus
-  static G4double  lastP;    // Last used in the cross section Momentum
-  static G4double  lastTH;   // Last value of the Momentum Threshold
-  static G4double  lastCS;   // Last value of the Cross Section
-  static G4int     lastI;    // The last position in the DAMDB
-  static std::vector <G4double*>* TX; // Vector of pointers to the TX tabulated functions
-  static std::vector <G4double*>* QE; // Vector of pointers to the QE tabulated functions
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QNuNuNuclearCrossSection.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QNuNuNuclearCrossSection.hh	(revision 1350)
+++ 	(revision )
@@ -1,111 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: G4QNuNuNuclearCrossSection.hh,v 1.1 2009/11/16 18:15:42 mkossov Exp $
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 physics class: G4QNuNuNuclearCrossSection -- header file
-// M.V. Kossov, CERN-ITEP(Moscow), 20-DEC-2005
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 20-DEC-2005
-//
-// Short description: this G4 singletone class calculates (nu,nu) Nuclear cross section
-// (Energy limit: E<320GeV->badExtrapolation) for a particular isotope (proportional to A)
-// ****************************************************************************************
-
-#ifndef G4QNuNuNuclearCrossSection_h
-#define G4QNuNuNuclearCrossSection_h 1
-
-#include "G4ParticleTable.hh"
-#include "G4NucleiProperties.hh"
-#include <vector>
-#include "Randomize.hh"
-#include "G4MuonPlus.hh"
-#include "G4MuonMinus.hh"
-#include "G4VQCrossSection.hh"
-
-class G4QNuNuNuclearCrossSection : public G4VQCrossSection
-{
-protected:
-
-  G4QNuNuNuclearCrossSection()  {};
-
-public:
-
-  ~G4QNuNuNuclearCrossSection();
-
-  static G4VQCrossSection* GetPointer(); // Gives a pointer to this singletone
-
-  G4double ThresholdEnergy(G4int Z, G4int N, G4int PDG=14);
-
-  // At present momentum (pMom) must be in GeV (@@ Units)
-  virtual G4double GetCrossSection(G4bool fCS, G4double pMom, G4int tgZ, G4int tgN,
-                                                                             G4int pPDG=0);
-
-  G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int PDG, G4int Z,
-                                                               G4int N, G4double Momentum);
-
-  G4int    GetExchangePDGCode();
-
-  G4double GetDirectPart(G4double Q2);
-
-  G4double GetNPartons(G4double Q2);
-
-  G4double GetQEL_ExchangeQ2();
-
-  G4double GetNQE_ExchangeQ2();
-
-  // Get static members
-  G4double GetLastTOTCS() {return lastSig;}
-  G4double GetLastQELCS() {return lastQEL;}
-
-private:
-  G4int    GetFunctions(G4int z, G4int n, G4double* t, G4double* q, G4double* e);
-  G4double HighEnergyTX(G4double lE);
-  G4double HighEnergyQE(G4double lE);
-
-// Body
-private:
-  static G4bool    onlyCS;   // flag to calculate only CS (not TX & QE)
-  static G4double  lastSig;  // Last calculated total cross section
-  static G4double  lastQEL;  // Last calculated quasi-elastic cross section
-  static G4int     lastL;    // Last bin used in the cross section TheLastBin
-  static G4double  lastE;    // Last energy used in the cross section Energy
-  static G4double* lastEN;   // Pointer to the last array of the energy axis
-  static G4double* lastTX;   // Pointer to the last array of the total CS function
-  static G4double* lastQE;   // Pointer to the last array of the QE CS function
-  static G4int     lastPDG;  // The last projectile PDG
-  static G4int     lastN;    // The last N of calculated nucleus
-  static G4int     lastZ;    // The last Z of calculated nucleus
-  static G4double  lastP;    // Last used in the cross section Momentum
-  static G4double  lastTH;   // Last value of the Momentum Threshold
-  static G4double  lastCS;   // Last value of the Cross Section
-  static G4int     lastI;    // The last position in the DAMDB
-  static std::vector <G4double*>* TX; // Vector of pointers to the TX tabulated functions
-  static std::vector <G4double*>* QE; // Vector of pointers to the QE tabulated functions
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QPhotonNuclearCrossSection.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QPhotonNuclearCrossSection.hh	(revision 1350)
+++ 	(revision )
@@ -1,94 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 physics class: G4QPhotonNuclearCrossSection -- header file
-// Created: M.V. Kossov, CERN/ITEP(Moscow), 20-Dec-01
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 17-May-02
-//
-// ****************************************************************************************
-// ********* This HEADER is temporary moved from the photolepton_hadron directory *********
-// ******* DO NOT MAKE ANY CHANGE! With time it'll move back to photolepton...(M.K.) ******
-// ****************************************************************************************
-// Short description: This is an original CHIPS process for photo-nuclear
-// interactions, which does not include "fast and dirty" corrections for
-// reactions near threshold, with respect to the GHAD application of CHIPS.
-// ------------------------------------------------------------------------
-
-#ifndef G4QPhotonNuclearCrossSection_h
-#define G4QPhotonNuclearCrossSection_h 1
-
-#include "G4ParticleTable.hh"
-#include "G4NucleiProperties.hh"
-#include <vector>
-#include "G4VQCrossSection.hh"
-
-class G4QPhotonNuclearCrossSection : public G4VQCrossSection
-{
-protected:
-
-  G4QPhotonNuclearCrossSection()  {}
-
-public:
-
-  ~G4QPhotonNuclearCrossSection();
-
-  static G4VQCrossSection* GetPointer(); // Gives a pointer to this singletone
-
-  // At present momentum (pMom) must be in GeV (@@ Units)
-  virtual G4double GetCrossSection(G4bool fCS, G4double pMom, G4int tgZ, G4int tgN,
-                                                                             G4int pPDG=0);
-
-  G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int PDG, G4int Z, G4int N,
-                                                                        G4double Momentum);
-
-  G4double ThresholdEnergy(G4int Z, G4int N, G4int PDG=22);
-
-private:
-  G4int    GetFunctions(G4double A, G4double* y, G4double* z);// y&z are pointers to arrays
-
-// Body
-private:
-  static G4bool    onlyCS;  // flag to calculate only CrossSection
-  static G4double  lastSig; // Last value of the Cross Section
-  static G4double* lastGDR; // Pointer to the last array of GDR cross sections
-  static G4double* lastHEN; // Pointer to the last array of HEn cross sections
-  static G4double  lastE;   // Last used in the cross section Energy
-  static G4double  lastSP;  // Last value of the ShadowingPomeron (A-dependent)
-  static G4int     lastPDG;  // The last projectile PDG
-  static G4int     lastN;    // The last N of calculated nucleus
-  static G4int     lastZ;    // The last Z of calculated nucleus
-  static G4double  lastP;    // Last used in the cross section Momentum
-  static G4double  lastTH;   // Last value of the Momentum Threshold
-  static G4double  lastCS;   // Last value of the Cross Section
-  static G4int     lastI;    // The last position in the DAMDB
-  static std::vector <G4double*>* GDR; // Vector of pointers to GDRPhotonuclearCrossSection
-  static std::vector <G4double*>* HEN; // Vector of pointers to HighEnPhotonuclearCrossSect
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QPionMinusNuclearCrossSection.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QPionMinusNuclearCrossSection.hh	(revision 1350)
+++ 	(revision )
@@ -1,90 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 physics class: G4QPionMinusNuclearCrossSection -- header file
-// Created: M.V. Kossov, CERN/ITEP(Moscow), 20-Dec-01
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 17-May-02
-//
-// ****************************************************************************************
-// ********* This HEADER is temporary moved from the photolepton_hadron directory *********
-// ******* DO NOT MAKE ANY CHANGE! With time it'll move back to photolepton...(M.K.) ******
-// ****************************************************************************************
-// Short description: CHIPS cross-sections for pi(minus)-nuclear interactions
-// It is purely fake now (just a copy of the proton-nuclear XS) !!! only for testing !!!
-// -------------------------------------------------------------------------------------
-
-#ifndef G4QPionMinusNuclearCrossSection_h
-#define G4QPionMinusNuclearCrossSection_h 1
-
-#include "G4ParticleTable.hh"
-#include "G4NucleiProperties.hh"
-#include <vector>
-#include "G4VQCrossSection.hh"
-
-class G4QPionMinusNuclearCrossSection : public G4VQCrossSection
-{
-protected:
-
-  G4QPionMinusNuclearCrossSection()  {}
-
-public:
-
-  ~G4QPionMinusNuclearCrossSection();
-
-  static G4VQCrossSection* GetPointer(); // Gives a pointer to this singletone
-
-  // At present momentum (pMom) in MeV/c, CS in mb (@@ Units)
-  virtual G4double GetCrossSection(G4bool fCS, G4double pMom, G4int tgZ, G4int tgN,
-                                   G4int pPDG=-211);
-
-  G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int PDG, G4int Z,
-                                 G4int N, G4double Momentum);
-
-private:
-  G4double CrossSectionLin(G4int targZ, G4int targN, G4double P);
-  G4double CrossSectionLog(G4int targZ, G4int targN, G4double lP);
-  G4double CrossSectionFormula(G4int targZ, G4int targN, G4double P, G4double lP);
-// Body
-private:
-  static G4double  lastSig; // Last value of the Cross Section
-  static G4double* lastLEN; // Pointer to the last array of LowEnergy cross sections
-  static G4double* lastHEN; // Pointer to the last array of HighEnergy cross sections
-  static G4double  lastE;   // Last used in the cross section Energy
-  static G4int     lastPDG; // The last projectile PDG
-  static G4int     lastN;   // The last N of calculated nucleus
-  static G4int     lastZ;   // The last Z of calculated nucleus
-  static G4double  lastP;   // Last used in the cross section Momentum
-  static G4double  lastTH;  // Last value of the Momentum Threshold
-  static G4double  lastCS;  // Last value of the Cross Section
-  static G4int     lastI;   // The last position in the DAMDB
-  static std::vector<G4double*>* LEN;  // Vector of pointers to LowEnProtonCrossSection
-  static std::vector<G4double*>* HEN;  // Vector of pointers to HighEnProtonCrossSection
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QPionPlusNuclearCrossSection.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QPionPlusNuclearCrossSection.hh	(revision 1350)
+++ 	(revision )
@@ -1,93 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 physics class: G4QPionPlusNuclearCrossSection -- header file
-// Created: M.V. Kossov, CERN/ITEP(Moscow), 20-Dec-01
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 17-May-02
-//
-// ****************************************************************************************
-// ********* This HEADER is temporary moved from the photolepton_hadron directory *********
-// ******* DO NOT MAKE ANY CHANGE! With time it'll move back to photolepton...(M.K.) ******
-// ****************************************************************************************
-// Short description: CHIPS cross-sections for pi(minus)-nuclear interactions
-// It is purely fake now (just a copy of the proton-nuclear XS) !!! only for testing !!!
-// -------------------------------------------------------------------------------------
-
-#ifndef G4QPionPlusNuclearCrossSection_h
-#define G4QPionPlusNuclearCrossSection_h 1
-
-#include "G4ParticleTable.hh"
-#include "G4NucleiProperties.hh"
-#include <vector>
-#include "G4VQCrossSection.hh"
-#include "G4QPDGCode.hh"
-
-class G4QPionPlusNuclearCrossSection : public G4VQCrossSection
-{
-protected:
-
-  G4QPionPlusNuclearCrossSection()  {}
-
-public:
-
-  ~G4QPionPlusNuclearCrossSection();
-
-  static G4VQCrossSection* GetPointer(); // Gives a pointer to this singletone
-
-  // At present momentum (pMom) in MeV/c, CS in mb (@@ Units)
-  virtual G4double GetCrossSection(G4bool fCS, G4double pMom, G4int tgZ, G4int tgN,
-                                   G4int pPDG=211);
-
-  G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int PDG, G4int Z,
-                                 G4int N, G4double Momentum);
-
-private:
-  G4int    GetFunctions(G4int tZ, G4int tN, G4double* y, G4double* z); // y&z=ArrayPointers
-  G4double CrossSectionLin(G4int targZ, G4int targN, G4double P);
-  G4double CrossSectionLog(G4int targZ, G4int targN, G4double lP);
-  G4double CrossSectionFormula(G4int targZ, G4int targN, G4double P, G4double lP);
-  G4double ThresholdMomentum(G4int targZ, G4int targN); // Threshold of pA reaction (MeV/c)
-// Body
-private:
-  static G4double  lastSig; // Last value of the Cross Section
-  static G4double* lastLEN; // Pointer to the last array of LowEnergy cross sections
-  static G4double* lastHEN; // Pointer to the last array of HighEnergy cross sections
-  static G4double  lastE;   // Last used in the cross section Energy
-  static G4int     lastPDG; // The last projectile PDG
-  static G4int     lastN;   // The last N of calculated nucleus
-  static G4int     lastZ;   // The last Z of calculated nucleus
-  static G4double  lastP;   // Last used in the cross section Momentum
-  static G4double  lastTH;  // Last value of the Momentum Threshold
-  static G4double  lastCS;  // Last value of the Cross Section
-  static G4int     lastI;   // The last position in the DAMDB
-  static std::vector<G4double*>* LEN;  // Vector of pointers to LowEnProtonCrossSection
-  static std::vector<G4double*>* HEN;  // Vector of pointers to HighEnProtonCrossSection
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QProtonNuclearCrossSection.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QProtonNuclearCrossSection.hh	(revision 1350)
+++ 	(revision )
@@ -1,91 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 physics class: G4QProtonNuclearCrossSection -- header file
-// Created: M.V. Kossov, CERN/ITEP(Moscow), 20-Dec-01
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 17-May-02
-//
-// ****************************************************************************************
-// ********* This HEADER is temporary moved from the photolepton_hadron directory *********
-// ******* DO NOT MAKE ANY CHANGE! With time it'll move back to photolepton...(M.K.) ******
-// ****************************************************************************************
-// Short description: CHIPS cross-sections for proton-nuclear interactions
-// -----------------------------------------------------------------------
-
-#ifndef G4QProtonNuclearCrossSection_h
-#define G4QProtonNuclearCrossSection_h 1
-
-#include "G4ParticleTable.hh"
-#include "G4NucleiProperties.hh"
-#include <vector>
-#include "G4VQCrossSection.hh"
-#include "G4QPDGCode.hh"
-
-class G4QProtonNuclearCrossSection : public G4VQCrossSection
-{
-protected:
-
-  G4QProtonNuclearCrossSection()  {}
-
-public:
-
-  ~G4QProtonNuclearCrossSection();
-
-  static G4VQCrossSection* GetPointer(); // Gives a pointer to this singletone
-
-  // At present momentum (pMom) in MeV/c, CS in mb (@@ Units)
-  virtual G4double GetCrossSection(G4bool fCS, G4double pMom, G4int tgZ, G4int tgN,
-                                   G4int pPDG=2212);
-
-  G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int PDG, G4int Z,
-                                 G4int N, G4double Momentum);
-
-private:
-  G4double CrossSectionLin(G4int targZ, G4int targN, G4double P);
-  G4double CrossSectionLog(G4int targZ, G4int targN, G4double lP);
-  G4double CrossSectionFormula(G4int targZ, G4int targN, G4double P, G4double lP);
-  G4double ThresholdMomentum(G4int targZ, G4int targN); // Threshold of pA reaction (MeV/c)
-// Body
-private:
-  static G4double  lastSig; // Last value of the Cross Section
-  static G4double* lastLEN; // Pointer to the last array of LowEnergy cross sections
-  static G4double* lastHEN; // Pointer to the last array of HighEnergy cross sections
-  static G4double  lastE;   // Last used in the cross section Energy
-  static G4int     lastPDG; // The last projectile PDG
-  static G4int     lastN;   // The last N of calculated nucleus
-  static G4int     lastZ;   // The last Z of calculated nucleus
-  static G4double  lastP;   // Last used in the cross section Momentum
-  static G4double  lastTH;  // Last value of the Momentum Threshold
-  static G4double  lastCS;  // Last value of the Cross Section
-  static G4int     lastI;   // The last position in the DAMDB
-  static std::vector<G4double*>* LEN;  // Vector of pointers to LowEnProtonCrossSection
-  static std::vector<G4double*>* HEN;  // Vector of pointers to HighEnProtonCrossSection
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QTauNuclearCrossSection.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QTauNuclearCrossSection.hh	(revision 1350)
+++ 	(revision )
@@ -1,183 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: G4QTauNuclearCrossSection.hh,v 1.1 2009/11/16 18:15:42 mkossov Exp $
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 physics class: G4QTauNuclearCrossSection -- header file
-// M.V. Kossov, CERN-ITEP(Moscow), 4-FEB-2004
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 4-Feb-04
-//
-// Short description: this G4 singletone class calculates tau-lepton-nuclear cross section
-// for the particular isotope (GetCrossSection member function)
-// ****************************************************************************************
-// ********* This HEADER is temporary moved from the photolepton_hadron directory *********
-// ******* DO NOT MAKE ANY CHANGE! With time it'll move back to photolepton...(M.K.) ******
-// ****************************************************************************************
-// Short description: reaction cross-sections for tau-nuclear reactions, which
-// are integrals over virtual equivalent photons photons. The tau-nuclear
-// reactions do not exist in GHAD, so by the present physics lists it is not
-// simulated at all.
-// --------------------------------------------------------------------------------
-
-#ifndef G4QTauNuclearCrossSection_h
-#define G4QTauNuclearCrossSection_h 1
-
-#include "G4ParticleTable.hh"
-#include "G4NucleiProperties.hh"
-#include <vector>
-#include "Randomize.hh"
-#include "G4MuonPlus.hh"
-#include "G4MuonMinus.hh"
-#include "G4VQCrossSection.hh"
-
-class G4QTauNuclearCrossSection : public G4VQCrossSection
-{
-protected:
-
-  G4QTauNuclearCrossSection()  {};
-
-public:
-
-  ~G4QTauNuclearCrossSection();
-
-  static G4VQCrossSection* GetPointer(); // Gives a pointer to this singletone
-
-  G4double ThresholdEnergy(G4int Z, G4int N, G4int PDG=15);
-
-  // At present momentum (pMom) must be in GeV (@@ Units)
-  virtual G4double GetCrossSection(G4bool fCS, G4double pMom, G4int tgZ, G4int tgN,
-                                                                             G4int pPDG=0);
-
-  G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int PDG, G4int Z, G4int N,
-                                                                        G4double Momentum);
-
-  G4int    GetExchangePDGCode();
-
-  G4double GetExchangeEnergy();
-
-  G4double GetVirtualFactor(G4double nu, G4double Q2);
-
-  G4double GetExchangeQ2(G4double nu);
-
-private:
-  G4int    GetFunctions(G4double a, G4double* x, G4double* y, G4double* z);
-  G4double HighEnergyJ1(G4double lE);
-  G4double HighEnergyJ2(G4double lE);
-  G4double HighEnergyJ3(G4double lE);
-  G4double SolveTheEquation(G4double f);
-  G4double Fun(G4double x);
-  G4double DFun(G4double x);
-
-// Body
-private:
-  static G4bool    onlyCS;   // flag to calculate only CS
-  static G4double  lastSig;  // Last calculated cross section
-  static G4int     lastL;    // Last used in the cross section TheLastBin
-  static G4double  lastE;    // Last used in the cross section Energy
-  static G4int     lastF;    // Last used in the cross section TheFirstBin
-  static G4double  lastG;    // Last value of gamma=lnE-ln(m)
-  static G4double  lastH;    // Last value of the High energy A-dependence
-  static G4double* lastJ1;   // Pointer to the last array of the J1 function
-  static G4double* lastJ2;   // Pointer to the last array of the J2 function
-  static G4double* lastJ3;   // Pointer to the last array of the J3 function
-  static G4int     lastPDG;  // The last projectile PDG
-  static G4int     lastN;    // The last N of calculated nucleus
-  static G4int     lastZ;    // The last Z of calculated nucleus
-  static G4double  lastP;    // Last used in the cross section Momentum
-  static G4double  lastTH;   // Last value of the Momentum Threshold
-  static G4double  lastCS;   // Last value of the Cross Section
-  static G4int     lastI;    // The last position in the DAMDB
-  static std::vector <G4double*>* J1; // Vector of pointers to the J1 tabulated functions
-  static std::vector <G4double*>* J2; // Vector of pointers to the J2 tabulated functions
-  static std::vector <G4double*>* J3; // Vector of pointers to the J3 tabulated functions
-};
-
-inline G4double G4QTauNuclearCrossSection::DFun(G4double x)// Parametrization of PhotNucCS
-{
-  static const G4double shd=1.0734;                    // HE PomShadowing(D)
-  static const G4double poc=0.0375;                    // HE Pomeron coefficient
-  static const G4double pos=16.5;                      // HE Pomeron shift
-  static const G4double reg=.11;                       // HE Reggeon slope
-  static const G4double mtu=1777.;                     // Mass of a muon in MeV
-  static const G4double lmtu=std::log(mtu);            // Log of a muon mass
-  G4double y=std::exp(x-lastG-lmtu);                   // y for the x
-  G4double flux=lastG*(2.-y*(2.-y))-1.;                // flux factor
-  return (poc*(x-pos)+shd*std::exp(-reg*x))*flux;
-}
-
-inline G4double G4QTauNuclearCrossSection::Fun(G4double x) // Integrated PhoNucCS
-{
-  G4double dlg1=lastG+lastG-1.;
-  G4double lgoe=lastG/lastE;
-  G4double HE2=HighEnergyJ2(x);
-  return dlg1*HighEnergyJ1(x)-lgoe*(HE2+HE2-HighEnergyJ3(x)/lastE);
-}
-
-inline G4double G4QTauNuclearCrossSection::HighEnergyJ1(G4double lEn)
-{
-  static const G4double le=std::log(50000.); // log(E0)
-  static const G4double le2=le*le;           // log(E0)^2
-  static const G4double a=.0375;             // a
-  static const G4double ha=a*.5;             // a/2
-  static const G4double ab=a*16.5;           // a*b
-  static const G4double d=0.11;              // d
-  static const G4double cd=1.0734/d;         // c/d
-  static const G4double ele=std::exp(-d*le); // E0^(-d)
-  return ha*(lEn*lEn-le2)-ab*(lEn-le)-cd*(std::exp(-d*lEn)-ele);
-}
-
-inline G4double G4QTauNuclearCrossSection::HighEnergyJ2(G4double lEn)
-{
-  static const G4double e=50000.;            // E0
-  static const G4double le=std::log(e);      // log(E0)
-  static const G4double le1=(le-1.)*e;       // (log(E0)-1)*E0
-  static const G4double a=.0375;             // a
-  static const G4double ab=a*16.5;           // a*b
-  static const G4double d=1.-0.11;           // 1-d
-  static const G4double cd=1.0734/d;         // c/(1-d)
-  static const G4double ele=std::exp(d*le);  // E0^(1-d)
-  G4double En=std::exp(lEn);
-  return a*((lEn-1.)*En-le1)-ab*(En-e)+cd*(std::exp(d*lEn)-ele);
-}
-
-inline G4double G4QTauNuclearCrossSection::HighEnergyJ3(G4double lEn)
-{
-  static const G4double e=50000.;            // E0
-  static const G4double le=std::log(e);      // log(E0)
-  static const G4double e2=e*e;              // E0^2
-  static const G4double leh=(le-.5)*e2;      // (log(E0)-.5)*E0^2
-  static const G4double ha=.0375*.5;         // a/2
-  static const G4double hab=ha*16.5;         // a*b/2
-  static const G4double d=2.-.11;            // 2-d
-  static const G4double cd=1.0734/d;         // c/(2-d)
-  static const G4double ele=std::exp(d*le);  // E0^(2-d)
-  G4double lastE2=std::exp(lEn+lEn);
-  return ha*((lEn-.5)*lastE2-leh)-hab*(lastE2-e2)+cd*(std::exp(d*lEn)-ele);
-}
-
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QuasiFreeRatios.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4QuasiFreeRatios.hh	(revision 1350)
+++ 	(revision )
@@ -1,100 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 physics class: G4QuasiFreeRatios -- header file
-// M.V. Kossov, ITEP(Moscow), 24-OCT-01
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 15-Oct-2006
-// ----------------------------------------------------------------------
-// Short description: Provides percentage of quasi-free and quasi-elastic
-// reactions in the inelastic reactions.
-// ----------------------------------------------------------------------
-
-#ifndef G4QuasiFreeRatios_h
-#define G4QuasiFreeRatios_h 1
-
-#include "globals.hh"
-#include "G4ios.hh"
-#include "Randomize.hh"
-#include <vector>
-#include "G4QPDGCode.hh"
-#include "G4QHadron.hh"
-#include "G4QElasticCrossSection.hh"
-
-
-class G4QuasiFreeRatios
-{
- protected:
-
-  G4QuasiFreeRatios();                 // Constructor
-
- public:
-
-  ~G4QuasiFreeRatios();                 // Destructor
-
-  static G4QuasiFreeRatios* GetPointer(); // Gives a pointer to this singletone
-
-  // Pair(QuasiFree/Inelastic,QuasiElastic/QuasiFree)
-  std::pair<G4double,G4double> GetRatios(G4double pIU, G4int prPDG, G4int tgZ, G4int tgN);
-  // ChargeExchange/QuasiElastic factor pair<for protons (Z), for neutrons(N)>
-  std::pair<G4double,G4double> GetChExFactor(G4double pIU, G4int pPDG, G4int Z, G4int N);
-  // scatter (pPDG,p4M) on a virtual nucleon (NPDG,N4M), result: final pair(newN4M,newp4M)
-  // if(newN4M.e()==0.) - below threshold, XS=0, no scattering of the projectile happened
-  std::pair<G4LorentzVector,G4LorentzVector> Scatter(G4int NPDG, G4LorentzVector N4M,
-                                                     G4int pPDG, G4LorentzVector p4M);
-  // ChExer (pPDG,p4M) on a virtual nucleon (NPDG,N4M), result: final pair(newN4M,newp4M)
-  // if(newN4M.e()==0.) - keep projectile, XS=0, no interaction of the progectile happened
-  // User should himself change the charge (PDG) (e.g. pn->np, pi+n->pi0p, pi-p->pi0n etc.)
-  // Recepy: change target n to p or taget p to n and conserve enrgy, changing projectile
-  // Do not use for the nucleon, as it is already included in quasielastic, and for pi0.
-  std::pair<G4LorentzVector,G4LorentzVector> ChExer(G4int NPDG, G4LorentzVector N4M,
-                                                    G4int pPDG, G4LorentzVector p4M);
-  // Mean hN El and Tot XS(IU) for the isotopic (Z,N): on p -> (Z=1,N=0), on n -> (Z=0,N=1)
-  std::pair<G4double,G4double> GetElTot(G4double pIU, G4int hPDG, G4int Z, G4int N); //(IU)
-
-  // Calculate ChEx/El ratio coefficient (p is in independent units, (Z,N) is a target)
-  G4double ChExElCoef(G4double p, G4int Z, G4int N, G4int pPDG);
-
-  // For hadron PDG with momentum Mom (GeV/c) on F(p/n) calculate <sig_el,sig_tot> pair(mb)
-  // F=true corresponds to the Nroton target, F=false corresponds to the Proton target
-  std::pair<G4double,G4double> GetElTotXS(G4double Mom, G4int PDG, G4bool F);//<sigEl,sigT>
-  std::pair<G4double,G4double> FetchElTot(G4double pGeV,G4int PDG,G4bool F);//<E,T>fromAMDB
-
- private:
-  // These working member functions are in CHIPS units and must not be used externally
-  G4double GetQF2IN_Ratio(G4double TotCS_mb, G4int A); // QuasiFree/Inelastic (fast)
-  G4double CalcQF2IN_Ratio(G4double TCSmb, G4int A); // R=QuasuFree/Inelastic (sig_t in mb)
-  std::pair<G4double,G4double> CalcElTot(G4double pGeV,G4int Index);//(sigEl,sigTot)(Index)
-
- // Body
- private:
-  static std::vector<G4double*> vT;     // Vector of pointers to LinTable
-  static std::vector<G4double*> vL;     // Vector of pointers to LogTable
-  static std::vector<std::pair<G4double,G4double>*> vX; // Vector of ETPointers to LogTable
-};
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4VQCrossSection.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/G4VQCrossSection.hh	(revision 1350)
+++ 	(revision )
@@ -1,179 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: G4VQCrossSection.hh,v 1.1 2009/11/16 18:15:42 mkossov Exp $
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-//
-// GEANT4 virtual class: G4VQCrossSection -- header file
-// M.V. Kossov, CERN-ITEP(Moscow), 4-FEB-2004
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 27-Nov-04
-//
-// Short description: this G4 virtual class is made for the cross section
-// classes of the CHIPS model, which calculate the cross section for the
-// particular Element (virtual GetCrossSection member function). Each of the
-// CHIPS cross section classes creates its own Dynamic Associative Memory
-// Data Base (DAMDB) for the already used isotopes. For all of them thay use the
-// same algorithm. Common member functions of this algorithm can be in this
-// basic virtual class. Any CHIPS cross section class MUST inherit from this virtual
-// G4VQCrossSection class. In the G4QCollision class the general G4VQCrossSection*
-// pointer is connected to this or that CHIPS cross section class (depending on the
-// projectile particle), so each of the CHIPS cross section class must be
-// an evolving singletone. The singletone nature can not be realized in the
-// virtual class. So each derived CS class must have
-//  static G4VQCrossSection* GetPointer(); // Gives a pointer to the singletone
-// static function, which is defined in the *.cc file as
-//     // Returns Pointer to the G4VQCrossSection class
-//     G4VQCrossSection* G4VQCrossSection::GetPointer()
-//     {
-//       static  G4QXCrossSection theCrossSection; //***Static body of the Cross Section***
-//       return &theCrossSection;
-//     }
-// the line
-//   //virtual static G4VQCrossSection* GetPointer(); // Gives a pointer to the singletone
-// Reminds about this necesity, but in C++ the virtual static function can not be
-// realised, so the static function can not be realised in the interface. Developers
-// must take care of this themselves because this member fuction is called to get a pointer
-// to the singletone in the G4QCollision class. So there is an agreement to
-// make a separate CS class for each projectile particle, e.g. while the (pi-)d
-// and (pi+)d (as well as [n,z] and [z,n]) cross sections) are almost equal,
-// they must be calculated in different classes: G4QPiMinusCrossSection and
-// G4QPiPlusCrossSections. For the ion-nuclear cross sections there should exist only
-// one G4QIonCrossSection class with a huge (#0f isotopes times #of already produced
-// ions) DAMDB or a general analitic formula with parameters. --- December 2004 ---
-// -----------------------------------------------------------------------
-// At present (25.11.04) for the test purposes this virtual class is created
-// for ohly G4QPhotonCrossSection, G4QElectronCrossSection, G4QMuonCrossSection,
-// G4QTauCrossSection and G4QProtonCrossSection (only for pp collisions now).
-// ****************************************************************************************
-// ********* This HEADER is temporary moved from the photolepton_hadron directory *********
-// ******* DO NOT MAKE ANY CHANGE! With time it'll move back to photolepton...(M.K.) ******
-// ****************************************************************************************
-// Short description: a basic class for all CHIPS reaction cross-sections.
-// -----------------------------------------------------------------------
-
-#ifndef G4VQCrossSection_h
-#define G4VQCrossSection_h 1
-
-#include "G4ParticleTable.hh"
-#include "G4NucleiProperties.hh"
-#include <vector>
-#include "Randomize.hh"
-
-class G4VQCrossSection
-{
-protected:
-
-  G4VQCrossSection() {;} // for each particle a separate instance of G4QCollision should be
-                         // used (and inside use a separate instance of G4Q*CrossSection)
-
-public:
-  virtual ~G4VQCrossSection() {;}// for each particle separate instance of G4QXCrossSection
-  //@@ can be improved in future)// should be used and inside a separate istance of CS's
-  // Set the new tolerance (abs(p_old/p_new-1)<tolerance)
-  static void setTolerance(G4double tol){tolerance=tol;}// Set NewTolerance for SameCrosSec
-
-  // At present momentum (pMom) must be in GeV (@@ Units)
-  virtual G4double GetCrossSection(G4bool, G4double, G4int, G4int, G4int pPDG=0)
-                                                                   {return G4double(pPDG);}
-
-  virtual G4double ThresholdEnergy(G4int Z, G4int N, G4int PDG=0); // Gives 0 by default
-
-  // Define in the derived class, F=0 - create AMDB, F=-1 - read AMDB, F=1 - update AMDB
-  virtual G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int PDG, G4int tgZ,
-                                         G4int tgN, G4double pMom)=0;//*** PURE VIRTUAL ***
-
-  virtual G4double GetLastTOTCS(); // LastCalculated total cross-section (total elastic)
-
-  virtual G4double GetLastQELCS(); // LastCalculated quasielastic cross-section (quasifree)
-
-  virtual G4double GetDirectPart(G4double Q2); // DirectInteraction with QuarkPartons (nuA)
-
-  virtual G4double GetNPartons(G4double Q2); // #ofQuarkPartons in nonPerturbatPhaseSp(nuA)
-
-  // Subroutines for the t-chanel processes with a leader (DIS, Elastic, Quasielastic etc.)
-
-  virtual G4double GetExchangeEnergy(); // Returns energy of the t-chanel particle (gam,pi)
-
-  virtual G4double GetExchangeT(G4int tZ, G4int tN, G4int pPDG); // -t=Q2 for hadronic
-
-  virtual G4double GetSlope(G4int tZ, G4int tN, G4int pPDG); // B-slope of the maim maximum
-
-  virtual G4double GetHMaxT();          // max(-t=Q2)/2 for hadronic (MeV^2)
-
-  virtual G4double GetExchangeQ2(G4double nu=0); // Q2 for lepto-nuclear reactions
-
-  virtual G4double GetVirtualFactor(G4double nu, G4double Q2); // ReductionFactor (leptA)
-
-  virtual G4double GetQEL_ExchangeQ2(); // Get randomized Q2 for quasi-elastic scattering
-
-  virtual G4double GetNQE_ExchangeQ2(); // Get randomized Q2 for non quasi-elastic scat.
-
-  virtual G4int GetExchangePDGCode(); // PDGCode of the Exchange Particle (Pi0 by default)
-
-  // Body: Basic Parameters of DAMDB (each derived class can add it's own values)
-  // -----------------------------------------------------------------------------
-  // The basic scheme of the DAMDB coveres the cross section for isotopes with fixed
-  // Z (lastZ - number of protons) and N (lastN - number of neutrons) from the
-  // Threshold momentum (TH) up to infinity. The cross section is first (Tab.1)
-  // tabulated from the threshold till the boundary momentum (BP). The Tab.1 is
-  // the function of the momentum (p) with the N1 elements. The N1 elements can be
-  // not all different from zero. The first non-zero element is F1, the last non-zero
-  // element is L1. If TH#0 the Tab.1 can be skipped. It is defined by N1=F1=L1=0 and
-  // BP=TH. The Tab.1 is the function of the ln(p) with N2 elements (F2 is the first
-  // non-zero element, L2 is the last non-zero element) from BP up tp MP. Both Tab.1
-  // and Tab.2 are calculated when the projectile of the class meet the corresponding
-  // ion. After that the tables are stored in the DAMDB for the fast calculations. To
-  // avoid a complete calculation of the tables in the low energy calculation case,
-  // the lastP momentum is used. The tables are calculated only till the momentum,
-  // which already appeared in the simulation for this projectile and this isotope.
-  // If the momentum above MP appeared, then the extrapolation function is calculated.
-  // So, if lastP>MP it means that the cross section is defined for all energies above
-  // TH. All parameters and pointers to arrays MUST be stored (F=0), updated (F=1) and
-  // retrieved (F=-1) by the derived class in the CalculateCrossSection(F,I,N,Z,P)
-  // function. The parameters are used for the immediate result: if the cross section is
-  // calculated for the same Z, N, and fabs(p-lastP)/lastP<.001 (? - a parameter), the same
-  // cross section (lastCS) is returned, if p<lastTH, then the 0 cross section is returned.
-  // It helps to avoid double counting. The derived class can have only the approximation
-  // functions, but such class is too slow, as it calculates the arythmetic equations each
-  // time, when it is necessary to get a new cross section. So it is reasonable to
-  // precalculate the tables, store them in memory, remember the pointers to these
-  // functions and just interpolate them in the range of the most frequent energies (use
-  // a LinearFit inline function of this virtual class for that). Starting some high
-  // momentum (PM) the functional calculations are unavoidable, but fortunately they are
-  // not frequent. In case of the ion-nuclear cross section the functional approach can
-  // be reasonable, because tabulated cross-sections demand too much memory.
-  //
-  // -----------------------------------------------------------------------------
-protected:
-  G4double LinearFit(G4double X, G4int N, G4double* XN, G4double* YN);
-
-  G4double EquLinearFit(G4double X, G4int N, G4double X0, G4double DX, G4double* Y);
-
-  static G4double  tolerance;// relative tolerance in momentum to get old CroSec
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/include/G4QElasticCrossSection.hh
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/include/G4QElasticCrossSection.hh	(revision 1350)
+++ 	(revision )
@@ -1,131 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// GEANT4 tag $Name: geant4-09-03 $
-//
-//
-// GEANT4 physics class: G4QElasticCrossSection -- header file
-// M.V. Kossov, ITEP(Moscow), 24-OCT-01
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 15-Oct-2006
-//
-//================================================================================
-// Short description: Interaction cross-sections for the G4QElastic process
-// -------------------------------------------------------------------------------
-
-#ifndef G4QElasticCrossSection_h
-#define G4QElasticCrossSection_h 1
-
-#include "G4QPDGCode.hh"
-#include "G4QException.hh"
-#include <vector>
-#include "Randomize.hh"
-#include "G4VQCrossSection.hh"
-
-class G4QElasticCrossSection : public G4VQCrossSection
-{
-protected:
-
-  G4QElasticCrossSection();               // Constructor
-
-public:
-
-  ~G4QElasticCrossSection();
-
-  static G4VQCrossSection* GetPointer(); // Gives a pointer to this singletone
-
-  // Cross-section is mb. At present momentum (pMom) is in MeV=IU (@@ make Indep. Units)
-  virtual G4double GetCrossSection(G4bool fCS, G4double pMom, G4int tgZ, G4int tgN,
-                                                                             G4int pPDG=0);
-
-  G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int pPDG, G4int Z, G4int N,
-                                                                              G4double pP);
-  G4double GetSlope(G4int tZ, G4int tN, G4int pPDG);     // Slope of the 1st diff. maximum
-  G4double GetExchangeT(G4int tZ, G4int tN, G4int pPDG); // Randomizes -t=Q2 (in IU=MeV^2)
-  G4double GetHMaxT();                   // Currrent Max(-t=Q2)/2. (in IU=MeV^2)
-
-private:
-  G4double GetPTables(G4double lpP, G4double lPm, G4int PDG, G4int tZ, G4int tN); // newLP
-  G4double GetTabValues(G4double lp, G4int pPDG, G4int tgZ, G4int tgN); // return CS(Si/Bi)
-  G4double GetQ2max(G4int pPDG, G4int tgZ, G4int tgN, G4double pP); // return -t=Q2
-
-// Body
-private:
-  // --- Data formating AMDB (define the precalculated table structure) ---
-  static const G4int nPoints;// #of points in the AMDB tables     
-  static const G4int nLast;  // the Last element in the table
-  static G4double    lPMin;  // Min tabulated logarithmic Momentum  
-  static G4double    lPMax;  // Max tabulated logarithmic Momentum  
-  static G4double    dlnP;   // Log step in the table     
-  // ---- Local (for particular pP, pPDG, tZ, tN) -----
-  static G4bool    onlyCS;   // flag to calculate only CS (not S1/B1,S2/B2,S3/B3)
-  static G4double  lastSIG;  // Last calculated cross section
-  static G4double  lastLP;   // Last log(mom_of_the_incident_hadron in GeV)
-  static G4double  lastTM;   // Last t_maximum                       
-  static G4int     lastN;    // The last N of calculated nucleus
-  static G4int     lastZ;    // The last Z of calculated nucleus
-  static G4double  lastP;    // Last used in the cross section Momentum
-  static G4double  lastTH;   // Last value of the Momentum Threshold
-  static G4double  lastCS;   // Last value of the Cross Section
-  static G4int     lastI;    // The last position in the DAMDB
-  static G4double  theSS;    // The Last squared slope of first diffruction 
-  static G4double  theS1;    // The Last mantissa of first diffruction 
-  static G4double  theB1;    // The Last slope of first diffruction    
-  static G4double  theS2;    // The Last mantissa of second diffruction
-  static G4double  theB2;    // The Last slope of second diffruction   
-  static G4double  theS3;    // The Last mantissa of third diffruction 
-  static G4double  theB3;    // The Last slope of third diffruction    
-  static G4double  theS4;    // The Last mantissa of 4-th diffruction 
-  static G4double  theB4;    // The Last slope of 4-th diffruction    
-  // ---- Global (AMBD of P-dependent tables for pPDG,tZ,tN) -----
-  static G4int     lastPDG;  // Last PDG code of the projectile
-  static G4int     lastTZ;   // Last atomic number of the target
-  static G4int     lastTN;   // Last number of neutrons of the target
-  static G4double  lastPIN;  // Last initialized max momentum
-  static G4double* lastCST;  // Last cross-section table
-  static G4double* lastPAR;  // Last parameters for functional calculation
-  static G4double* lastSST;  // E-dep of squared slope of the first difruction 
-  static G4double* lastS1T;  // E-dep of mantissa of the first difruction 
-  static G4double* lastB1T;  // E-dep of the slope of the first difruction
-  static G4double* lastS2T;  // E-dep of mantissa of the second difruction
-  static G4double* lastB2T;  // E-dep of the slope of theSecond difruction
-  static G4double* lastS3T;  // E-dep of mantissa of the third difruction 
-  static G4double* lastB3T;  // E-dep of the slope of the third difruction
-  static G4double* lastS4T;  // E-dep of mantissa of the 4-th difruction 
-  static G4double* lastB4T;  // E-dep of the slope of the 4-th difruction
-
-  static std::vector <G4double*> PAR;   // Vector of parameters for functional calculations
-  static std::vector <G4double*> CST;   // Vector of cross-section table
-  static std::vector <G4double*> SST;   // Vector of the first squared slope
-  static std::vector <G4double*> S1T;   // Vector of the first mantissa
-  static std::vector <G4double*> B1T;   // Vector of the first slope
-  static std::vector <G4double*> S2T;   // Vector of the secon mantissa
-  static std::vector <G4double*> B2T;   // Vector of the second slope
-  static std::vector <G4double*> S3T;   // Vector of the third mantissa
-  static std::vector <G4double*> B3T;   // Vector of the third slope
-  static std::vector <G4double*> S4T;   // Vector of the 4-th mantissa (gloria)
-  static std::vector <G4double*> B4T;   // Vector of the 4-th slope    (gloria)
- };
-#endif
Index: trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/src/G4QElasticCrossSection.cc
===================================================================
--- trunk/source/processes/hadronic/models/chiral_inv_phase_space/cross_sections/src/G4QElasticCrossSection.cc	(revision 1350)
+++ 	(revision )
@@ -1,1360 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: G4QElasticCrossSection.cc,v 1.1 2009/11/16 18:15:43 mkossov Exp $
-// GEANT4 tag $Name: geant4-09-03 $
-//
-//
-// G4 Physics class: G4QElasticCrossSection for N+A elastic cross sections
-// Created: M.V. Kossov, CERN/ITEP(Moscow), 10-OCT-01
-// The last update: M.V. Kossov, CERN/ITEP (Moscow) 15-Oct-06
-// 
-//================================================================================
-// Short description: Interaction cross-sections for the G4QElastic process
-// -------------------------------------------------------------------------------
-
-//#define debug
-//#define isodebug
-//#define pdebug
-//#define ppdebug
-//#define tdebug
-//#define sdebug
-
-#include "G4QElasticCrossSection.hh"
-
-// Initialization of the static parameters
-const G4int G4QElasticCrossSection::nPoints=128;//#of points in the AMDB tables(>anyPar)(D)
-const G4int G4QElasticCrossSection::nLast=nPoints-1; // the Last element in the table   (D)
-G4double  G4QElasticCrossSection::lPMin=-8.;  // Min tabulated logarithmic Momentum     (D)
-G4double  G4QElasticCrossSection::lPMax= 8.;  // Max tabulated logarithmic Momentum     (D)
-G4double  G4QElasticCrossSection::dlnP=(lPMax-lPMin)/nLast;// Log step in the table     (D)
-G4bool    G4QElasticCrossSection::onlyCS=true;// Flag to calculate only CS (not Si/Bi)  (L)
-G4double  G4QElasticCrossSection::lastSIG=0.; // Last calculated cross section          (L)
-G4double  G4QElasticCrossSection::lastLP=-10.;// Last log(mom_of_the_incident_hadron)   (L)
-G4double  G4QElasticCrossSection::lastTM=0.;  // Last t_maximum                         (L)
-G4double  G4QElasticCrossSection::theSS=0.;   // The Last sq.slope of first difruction  (L)
-G4double  G4QElasticCrossSection::theS1=0.;   // The Last mantissa of first difruction  (L)
-G4double  G4QElasticCrossSection::theB1=0.;   // The Last slope of first difruction     (L)
-G4double  G4QElasticCrossSection::theS2=0.;   // The Last mantissa of second difruction (L)
-G4double  G4QElasticCrossSection::theB2=0.;   // The Last slope of second difruction    (L)
-G4double  G4QElasticCrossSection::theS3=0.;   // The Last mantissa of third difruction  (L)
-G4double  G4QElasticCrossSection::theB3=0.;   // The Last slope of third difruction     (L)
-G4double  G4QElasticCrossSection::theS4=0.;   // The Last mantissa of 4-th difruction   (L)
-G4double  G4QElasticCrossSection::theB4=0.;   // The Last slope of 4-th difruction      (L)
-G4int     G4QElasticCrossSection::lastTZ=0;   // Last atomic number of the target    
-G4int     G4QElasticCrossSection::lastTN=0;   // Last number of neutrons of the target
-G4double  G4QElasticCrossSection::lastPIN=0.; // Last initialized max momentum
-G4double* G4QElasticCrossSection::lastCST=0;  // Elastic cross-section table               
-G4double* G4QElasticCrossSection::lastPAR=0;  // Parameters for functional calculation     
-G4double* G4QElasticCrossSection::lastSST=0;  // E-dep of sq.slope of the first difruction 
-G4double* G4QElasticCrossSection::lastS1T=0;  // E-dep of mantissa of the first difruction 
-G4double* G4QElasticCrossSection::lastB1T=0;  // E-dep of the slope of the first difruction
-G4double* G4QElasticCrossSection::lastS2T=0;  // E-dep of mantissa of the second difruction
-G4double* G4QElasticCrossSection::lastB2T=0;  // E-dep of the slope of theSecond difruction
-G4double* G4QElasticCrossSection::lastS3T=0;  // E-dep of mantissa of the third difruction 
-G4double* G4QElasticCrossSection::lastB3T=0;  // E-dep of the slope of the third difruction
-G4double* G4QElasticCrossSection::lastS4T=0;  // E-dep of mantissa of the 4-th difruction 
-G4double* G4QElasticCrossSection::lastB4T=0;  // E-dep of the slope of the 4-th difruction
-G4int     G4QElasticCrossSection::lastPDG=0;  // The last PDG code of the projectile
-G4int     G4QElasticCrossSection::lastN=0;    // The last N of calculated nucleus
-G4int     G4QElasticCrossSection::lastZ=0;    // The last Z of calculated nucleus
-G4double  G4QElasticCrossSection::lastP=0.;   // Last used in cross section Momentum
-G4double  G4QElasticCrossSection::lastTH=0.;  // Last threshold momentum
-G4double  G4QElasticCrossSection::lastCS=0.;  // Last value of the Cross Section
-G4int     G4QElasticCrossSection::lastI=0;    // The last position in the DAMDB
-
-std::vector<G4double*> G4QElasticCrossSection::PAR; // Vector of parameters for functCalcul
-std::vector<G4double*> G4QElasticCrossSection::CST; // Vector of cross-section table
-std::vector<G4double*> G4QElasticCrossSection::SST; // Vector of the first squared slope
-std::vector<G4double*> G4QElasticCrossSection::S1T; // Vector of the first mantissa
-std::vector<G4double*> G4QElasticCrossSection::B1T; // Vector of the first slope
-std::vector<G4double*> G4QElasticCrossSection::S2T; // Vector of the secon mantissa
-std::vector<G4double*> G4QElasticCrossSection::B2T; // Vector of the second slope
-std::vector<G4double*> G4QElasticCrossSection::S3T; // Vector of the third mantissa
-std::vector<G4double*> G4QElasticCrossSection::B3T; // Vector of the third slope
-std::vector<G4double*> G4QElasticCrossSection::S4T; // Vector of the 4-th mantissa (gloria)
-std::vector<G4double*> G4QElasticCrossSection::B4T; // Vector of the 4-th slope    (gloria)
-
-G4QElasticCrossSection::G4QElasticCrossSection()
-{
-}
-
-G4QElasticCrossSection::~G4QElasticCrossSection()
-{
-  std::vector<G4double*>::iterator pos;
-  for (pos=CST.begin(); pos<CST.end(); pos++)
-  { delete [] *pos; }
-  CST.clear();
-  for (pos=PAR.begin(); pos<PAR.end(); pos++)
-  { delete [] *pos; }
-  PAR.clear();
-  for (pos=SST.begin(); pos<SST.end(); pos++)
-  { delete [] *pos; }
-  SST.clear();
-  for (pos=S1T.begin(); pos<S1T.end(); pos++)
-  { delete [] *pos; }
-  S1T.clear();
-  for (pos=B1T.begin(); pos<B1T.end(); pos++)
-  { delete [] *pos; }
-  B1T.clear();
-  for (pos=S2T.begin(); pos<S2T.end(); pos++)
-  { delete [] *pos; }
-  S2T.clear();
-  for (pos=B2T.begin(); pos<B2T.end(); pos++)
-  { delete [] *pos; }
-  B2T.clear();
-  for (pos=S3T.begin(); pos<S3T.end(); pos++)
-  { delete [] *pos; }
-  S3T.clear();
-  for (pos=B3T.begin(); pos<B3T.end(); pos++)
-  { delete [] *pos; }
-  B3T.clear();
-  for (pos=S4T.begin(); pos<S4T.end(); pos++)
-  { delete [] *pos; }
-  S4T.clear();
-  for (pos=B4T.begin(); pos<B4T.end(); pos++)
-  { delete [] *pos; }
-  B4T.clear();
-}
-
-// Returns Pointer to the G4VQCrossSection class
-G4VQCrossSection* G4QElasticCrossSection::GetPointer()
-{
-  static G4QElasticCrossSection theCrossSection; //**Static body of the QEl Cross Section**
-  return &theCrossSection;
-}
-
-// The main member function giving the collision cross section (P is in IU, CS is in mb)
-// Make pMom in independent units ! (Now it is MeV)
-G4double G4QElasticCrossSection::GetCrossSection(G4bool fCS, G4double pMom, G4int tgZ,
-                                                 G4int tgN, G4int pPDG)
-{
-  static std::vector <G4int>    colPDG;// Vector of the projectile PDG code
-  static std::vector <G4int>    colN;  // Vector of N for calculated nuclei (isotops)
-  static std::vector <G4int>    colZ;  // Vector of Z for calculated nuclei (isotops)
-  static std::vector <G4double> colP;  // Vector of last momenta for the reaction
-  static std::vector <G4double> colTH; // Vector of energy thresholds for the reaction
-  static std::vector <G4double> colCS; // Vector of last cross sections for the reaction
-  // ***---*** End of the mandatory Static Definitions of the Associative Memory ***---***
-  if(tgZ==0 && tgN==1)                 // Temporary change for Quasi-Elastic
-  {
-    tgZ=1;
-    tgN=1;
-    if     (pPDG==2212) pPDG=2112;
-    else if(pPDG==2112) pPDG=2212;
-  }
-  G4double pEn=pMom;
-  onlyCS=fCS;
-#ifdef pdebug
-  G4cout<<"G4QElCS::GetCS:>>> f="<<fCS<<", p="<<pMom<<", Z="<<tgZ<<"("<<lastZ<<") ,N="<<tgN
-        <<"("<<lastN<<"),PDG="<<pPDG<<"("<<lastPDG<<"), T="<<pEn<<"("<<lastTH<<")"<<",Sz="
-        <<colN.size()<<G4endl;
-  //CalculateCrossSection(fCS,-27,j,lastPDG,lastZ,lastN,pMom); // DUMMY TEST
-#endif
-  if(!pPDG)
-  {
-#ifdef pdebug
-    G4cout<<"G4QElCS::GetCS: *** Found pPDG="<<pPDG<<" ====> CS=0"<<G4endl;
-    //CalculateCrossSection(fCS,-27,j,lastPDG,lastZ,lastN,pMom); // DUMMY TEST
-#endif
-    return 0.;                         // projectile PDG=0 is a mistake (?!) @@
-  }
-  G4bool in=false;                     // By default the isotope must be found in the AMDB
-//GF the block will update parameters, needed for quasi-eleastic
-//GF if(tgN!=lastN || tgZ!=lastZ || pPDG!=lastPDG)// The nucleus isn't the LastUsedIsotope
-  {
-    in = false;                        // By default the isotope haven't be found in AMDB  
-    lastP   = 0.;                      // New momentum history (nothing to compare with)
-    lastPDG = pPDG;                    // The last PDG of the projectile
-    lastN   = tgN;                     // The last N of the calculated nucleus
-    lastZ   = tgZ;                     // The last Z of the calculated nucleus
-    lastI   = colN.size();             // Size of the Associative Memory DB in the heap
-    if(lastI) for(G4int i=0; i<lastI; i++) // Loop over proj/tgZ/tgN lines of DB
-    {                                  // The nucleus with projPDG is found in AMDB
-      if(colPDG[i]==pPDG && colN[i]==tgN && colZ[i]==tgZ)
-      {
-        lastI=i;
-        lastTH =colTH[i];                // Last THreshold (A-dependent)
-#ifdef pdebug
-        G4cout<<"G4QElCS::GetCS:*Found* P="<<pMom<<",Threshold="<<lastTH<<",i="<<i<<G4endl;
-        //CalculateCrossSection(fCS,-27,i,lastPDG,lastZ,lastN,pMom); // DUMMY TEST
-#endif
-        if(pEn<=lastTH)
-        {
-#ifdef pdebug
-          G4cout<<"G4QElCS::GetCS:Found T="<<pEn<<" < Threshold="<<lastTH<<",CS=0"<<G4endl;
-          //CalculateCrossSection(fCS,-27,i,lastPDG,lastZ,lastN,pMom); // DUMMY TEST
-#endif
-          return 0.;                     // Energy is below the Threshold value
-        }
-        lastP  =colP [i];                // Last Momentum  (A-dependent)
-        lastCS =colCS[i];                // Last CrossSect (A-dependent)
-        //  if(std::fabs(lastP/pMom-1.)<tolerance) //VI (do not use tolerance)
-        if(lastP == pMom)   // V.Ivanchenko safe solution
-        {
-#ifdef pdebug
-          G4cout<<"G4QElCS::GetCS:P="<<pMom<<",CS="<<lastCS*millibarn<<G4endl;
-#endif
-          CalculateCrossSection(fCS,-1,i,lastPDG,lastZ,lastN,pMom); // Update param's only
-          return lastCS*millibarn;     // Use theLastCS
-        }
-        in = true;                       // This is the case when the isotop is found in DB
-        // Momentum pMom is in IU ! @@ Units
-#ifdef pdebug
-        G4cout<<"G4QElCS::G:UpdateDB P="<<pMom<<",f="<<fCS<<",I="<<lastI<<",i="<<i<<G4endl;
-#endif
-        lastCS=CalculateCrossSection(fCS,-1,i,lastPDG,lastZ,lastN,pMom); // read & update
-#ifdef pdebug
-        G4cout<<"G4QElCS::GetCrosSec: *****> New (inDB) Calculated CS="<<lastCS<<G4endl;
-        //CalculateCrossSection(fCS,-27,i,lastPDG,lastZ,lastN,pMom); // DUMMY TEST
-#endif
-        if(lastCS<=0. && pEn>lastTH)    // Correct the threshold
-        {
-#ifdef pdebug
-          G4cout<<"G4QElCS::GetCS: New T="<<pEn<<"(CS=0) > Threshold="<<lastTH<<G4endl;
-#endif
-          lastTH=pEn;
-        }
-        break;                           // Go out of the LOOP with found lastI
-      }
-#ifdef pdebug
-      G4cout<<"---G4QElCrossSec::GetCrosSec:pPDG="<<pPDG<<",i="<<i<<",N="<<colN[i]
-            <<",Z["<<i<<"]="<<colZ[i]<<",cPDG="<<colPDG[i]<<G4endl;
-      //CalculateCrossSection(fCS,-27,i,lastPDG,lastZ,lastN,pMom); // DUMMY TEST
-#endif
-    }
-    if(!in)                            // This nucleus has not been calculated previously
-    {
-#ifdef pdebug
-      G4cout<<"G4QElCS::GetCrosSec:CalcNew P="<<pMom<<",f="<<fCS<<",lastI="<<lastI<<G4endl;
-#endif
-      //!!The slave functions must provide cross-sections in millibarns (mb) !! (not in IU)
-      lastCS=CalculateCrossSection(fCS,0,lastI,lastPDG,lastZ,lastN,pMom);//calculate&create
-      if(lastCS<=0.)
-      {
-        lastTH = ThresholdEnergy(tgZ, tgN); // The Threshold Energy which is now the last
-#ifdef pdebug
-        G4cout<<"G4QElCrossSection::GetCrossSect: NewThresh="<<lastTH<<",T="<<pEn<<G4endl;
-#endif
-        if(pEn>lastTH)
-        {
-#ifdef pdebug
-          G4cout<<"G4QElCS::GetCS: First T="<<pEn<<"(CS=0) > Threshold="<<lastTH<<G4endl;
-#endif
-          lastTH=pEn;
-        }
-      }
-#ifdef pdebug
-      G4cout<<"G4QElCS::GetCrosSec: New CS="<<lastCS<<",lZ="<<lastN<<",lN="<<lastZ<<G4endl;
-      //CalculateCrossSection(fCS,-27,lastI,lastPDG,lastZ,lastN,pMom); // DUMMY TEST
-#endif
-      colN.push_back(tgN);
-      colZ.push_back(tgZ);
-      colPDG.push_back(pPDG);
-      colP.push_back(pMom);
-      colTH.push_back(lastTH);
-      colCS.push_back(lastCS);
-#ifdef pdebug
-      G4cout<<"G4QElCS::GetCS:1st,P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
-      //CalculateCrossSection(fCS,-27,lastI,lastPDG,lastZ,lastN,pMom); // DUMMY TEST
-#endif
-      return lastCS*millibarn;
-    } // End of creation of the new set of parameters
-    else
-    {
-#ifdef pdebug
-      G4cout<<"G4QElCS::GetCS: Update lastI="<<lastI<<G4endl;
-#endif
-      colP[lastI]=pMom;
-      colPDG[lastI]=pPDG;
-      colCS[lastI]=lastCS;
-    }
-  } // End of parameters udate
-
-//GF
-// else if(pEn<=lastTH)
-// {
-//#ifdef pdebug
-//  G4cout<<"G4QElCS::GetCS: Current T="<<pEn<<" < Threshold="<<lastTH<<", CS=0"<<G4endl;
-//  //CalculateCrossSection(fCS,-27,lastI,lastPDG,lastZ,lastN,pMom); // DUMMY TEST
-//#endif
-//  return 0.;                         // Momentum is below the Threshold Value -> CS=0
-// }
-// //  else if(std::fabs(lastP/pMom-1.)<tolerance)
-// else if(lastP == pMom) // V.Ivanchenko safe solution
-// {
-//#ifdef pdebug
-//  G4cout<<"G4QElCS::GetCS:OldCur P="<<pMom<<"="<<pMom<<", CS="<<lastCS*millibarn<<G4endl;
-//  //CalculateCrossSection(fCS,-27,lastI,lastPDG,lastZ,lastN,pMom); // DUMMY TEST
-//  G4cout<<"G4QElCS::GetCrSec:***SAME***, onlyCS="<<onlyCS<<G4endl;
-//#endif
-//  return lastCS*millibarn;     // Use theLastCS
-// }
-// else
-// {
-//#ifdef pdebug
-//  G4cout<<"G4QElCS::GetCS:UpdatCur P="<<pMom<<",f="<<fCS<<",I="<<lastI<<",j="<<j<<G4endl;
-//#endif
-//  lastCS=CalculateCrossSection(fCS,1,lastI,lastPDG,lastZ,lastN,pMom); // Only UpdateDB
-//  lastP=pMom;
-// }
-//GF
-
-#ifdef pdebug
-  G4cout<<"G4QElCS::GetCrSec:End,P="<<pMom<<"(MeV),CS="<<lastCS*millibarn<<"(mb)"<<G4endl;
-  //CalculateCrossSection(fCS,-27,lastI,lastPDG,lastZ,lastN,pMom); // DUMMY TEST
-  G4cout<<"G4QElCS::GetCrSec:***End***, onlyCS="<<onlyCS<<G4endl;
-#endif
-  return lastCS*millibarn;
-}
-
-// Calculation of total elastic cross section (p in IU, CS in mb) @@ Units (?)
-// F=0 - create AMDB, F=-1 - read&update AMDB, F=1 - update AMDB (sinchro with higher AMDB)
-G4double G4QElasticCrossSection::CalculateCrossSection(G4bool CS,G4int F,G4int I,G4int PDG,
-                                                       G4int tgZ, G4int tgN, G4double pIU)
-{
-  // *** Begin of Associative Memory DB for acceleration of the cross section calculations
-  static std::vector <G4double>  PIN;   // Vector of max initialized log(P) in the table
-  // *** End of Static Definitions (Associative Memory Data Base) ***
-  if(tgZ==0 && tgN==1)                 // Temporary change for Quasi-Elastic
-  {
-    tgZ=1;
-    tgN=1;
-    if     (PDG==2212) PDG=2112;
-    else if(PDG==2112) PDG=2212;
-  }
-  G4double pMom=pIU/GeV;                // All calculations are in GeV
-  onlyCS=CS;                            // Flag to calculate only CS (not Si/Bi)
-#ifdef pdebug
-  G4cout<<"G4QElasticCrossSection::CalcCS:->onlyCS="<<onlyCS<<",F="<<F<<",p="<<pIU<<G4endl;
-#endif
-  lastLP=std::log(pMom);                // Make a logarithm of the momentum for calculation
-  if(F)                                 // This isotope was found in AMDB =>RETRIEVE/UPDATE
-  {
-    if(F<0)                             // the AMDB must be loded
-    {
-      lastPIN = PIN[I];                 // Max log(P) initialised for this table set
-      lastPAR = PAR[I];                 // Pointer to the parameter set
-      lastCST = CST[I];                 // Pointer to the total sross-section table
-      lastSST = SST[I];                 // Pointer to the first squared slope
-      lastS1T = S1T[I];                 // Pointer to the first mantissa
-      lastB1T = B1T[I];                 // Pointer to the first slope
-      lastS2T = S2T[I];                 // Pointer to the second mantissa
-      lastB2T = B2T[I];                 // Pointer to the second slope
-      lastS3T = S3T[I];                 // Pointer to the third mantissa
-      lastB3T = B3T[I];                 // Pointer to the rhird slope
-      lastS4T = S4T[I];                 // Pointer to the 4-th mantissa
-      lastB4T = B4T[I];                 // Pointer to the 4-th slope
-#ifdef pdebug
-      G4cout<<"G4QElasticCS::CalcCS: DB is updated for I="<<I<<",*,PIN4="<<PIN[4]<<G4endl;
-#endif
-    }
-#ifdef pdebug
-    G4cout<<"G4QElasticCrossSection::CalcCS:*read*, LP="<<lastLP<<",PIN="<<lastPIN<<G4endl;
-#endif
-    if(lastLP>lastPIN && lastLP<lPMax)
-    {
-      lastPIN=GetPTables(lastLP,lastPIN,PDG,tgZ,tgN);// Can update upper logP-Limit in tabs
-#ifdef pdebug
-      G4cout<<"G4QElCS::CalcCS:*updated(I)*,LP="<<lastLP<<"<IN["<<I<<"]="<<lastPIN<<G4endl;
-#endif
-      PIN[I]=lastPIN;                   // Remember the new P-Limit of the tables
-    }
-  }
-  else                                  // This isotope wasn't initialized => CREATE
-  {
-    lastPAR = new G4double[nPoints];    // Allocate memory for parameters of CS function
-    lastPAR[nLast]=0;                   // Initialization for VALGRIND
-    lastCST = new G4double[nPoints];    // Allocate memory for Tabulated CS function    
-    lastSST = new G4double[nPoints];    // Allocate memory for Tabulated first sqaredSlope 
-    lastS1T = new G4double[nPoints];    // Allocate memory for Tabulated first mantissa 
-    lastB1T = new G4double[nPoints];    // Allocate memory for Tabulated first slope    
-    lastS2T = new G4double[nPoints];    // Allocate memory for Tabulated second mantissa
-    lastB2T = new G4double[nPoints];    // Allocate memory for Tabulated second slope   
-    lastS3T = new G4double[nPoints];    // Allocate memory for Tabulated third mantissa 
-    lastB3T = new G4double[nPoints];    // Allocate memory for Tabulated third slope    
-    lastS4T = new G4double[nPoints];    // Allocate memory for Tabulated 4-th mantissa 
-    lastB4T = new G4double[nPoints];    // Allocate memory for Tabulated 4-th slope    
-#ifdef pdebug
-    G4cout<<"G4QElasticCrossSection::CalcCS:*ini*,lastLP="<<lastLP<<",min="<<lPMin<<G4endl;
-#endif
-    lastPIN = GetPTables(lastLP,lPMin,PDG,tgZ,tgN); // Returns the new P-limit for tables
-#ifdef pdebug
-    G4cout<<"G4QElCS::CalcCS:*i*Z="<<tgZ<<",N="<<tgN<<",PDG="<<PDG<<",LP"<<lastPIN<<G4endl;
-#endif
-    PIN.push_back(lastPIN);             // Fill parameters of CS function to AMDB
-    PAR.push_back(lastPAR);             // Fill parameters of CS function to AMDB
-    CST.push_back(lastCST);             // Fill Tabulated CS function to AMDB    
-    SST.push_back(lastSST);             // Fill Tabulated first sq.slope to AMDB 
-    S1T.push_back(lastS1T);             // Fill Tabulated first mantissa to AMDB 
-    B1T.push_back(lastB1T);             // Fill Tabulated first slope to AMDB    
-    S2T.push_back(lastS2T);             // Fill Tabulated second mantissa to AMDB 
-    B2T.push_back(lastB2T);             // Fill Tabulated second slope to AMDB    
-    S3T.push_back(lastS3T);             // Fill Tabulated third mantissa to AMDB 
-    B3T.push_back(lastB3T);             // Fill Tabulated third slope to AMDB    
-    S4T.push_back(lastS4T);             // Fill Tabulated 4-th mantissa to AMDB 
-    B4T.push_back(lastB4T);             // Fill Tabulated 4-th slope to AMDB    
-  } // End of creation/update of the new set of parameters and tables
-  // ============= NOW Update (if necessary) and Calculate the Cross Section ===========
-#ifdef pdebug
-  G4cout<<"G4QElCS::CalcCS:?update?,LP="<<lastLP<<",IN="<<lastPIN<<",ML="<<lPMax<<G4endl;
-#endif
-  if(lastLP>lastPIN && lastLP<lPMax)
-  {
-    lastPIN = GetPTables(lastLP,lastPIN,PDG,tgZ,tgN);
-#ifdef pdebug
-    G4cout<<"G4QElCS::CalcCS: *updated(O)*, LP="<<lastLP<<" < IN="<<lastPIN<<G4endl;
-#endif
-  }
-#ifdef pdebug
-  G4cout<<"G4QElastCS::CalcCS: lastLP="<<lastLP<<",lPM="<<lPMin<<",lPIN="<<lastPIN<<G4endl;
-#endif
-  if(!onlyCS) lastTM=GetQ2max(PDG, tgZ, tgN, pMom); // Calculate (-t)_max=Q2_max (GeV2)
-#ifdef pdebug
-  G4cout<<"G4QElasticCrosSec::CalcCS:oCS="<<onlyCS<<",-t="<<lastTM<<", p="<<lastLP<<G4endl;
-#endif
-  if(lastLP>lPMin && lastLP<=lastPIN)   // Linear fit is made using precalculated tables
-  {
-    if(lastLP==lastPIN) // VI do not use tolerance
-      //    if(std::fabs(lastLP-lastPIN)<.0001) // Just take the highest tabulated value
-    {
-      G4double shift=(lastLP-lPMin)/dlnP+.000001; // Log distance from lPMin
-      G4int    blast=static_cast<int>(shift); // this is a bin number of the lower edge (0)
-      if(blast<0 || blast>=nLast) G4cout<<"G4QEleastCS::CCS:b="<<blast<<","<<nLast<<G4endl;
-      lastSIG = lastCST[blast];
-      if(!onlyCS)                       // Skip the differential cross-section parameters
-      {
-        theSS  = lastSST[blast];
-        theS1  = lastS1T[blast];
-        theB1  = lastB1T[blast];
-        theS2  = lastS2T[blast];
-        theB2  = lastB2T[blast];
-        theS3  = lastS3T[blast];
-        theB3  = lastB3T[blast];
-        theS4  = lastS4T[blast];
-        theB4  = lastB4T[blast];
-      }
-#ifdef pdebug
-      G4cout<<"G4QElasticCrossSection::CalculateCS:(E) S1="<<theS1<<", B1="<<theB1<<G4endl;
-#endif
-    }
-    else
-    {
-      G4double shift=(lastLP-lPMin)/dlnP;        // a shift from the beginning of the table
-      G4int    blast=static_cast<int>(shift);    // the lower bin number
-      if(blast<0)   blast=0;
-      if(blast>=nLast) blast=nLast-1;            // low edge of the last bin
-      shift-=blast;                              // step inside the unit bin
-      G4int lastL=blast+1;                       // the upper bin number
-      G4double SIGL=lastCST[blast];              // the basic value of the cross-section
-      lastSIG= SIGL+shift*(lastCST[lastL]-SIGL); // calculated total elastic cross-section
-#ifdef pdebug
-      G4cout<<"G4QElCS::CalcCrossSection: Sig="<<lastSIG<<", P="<<pMom<<", Z="<<tgZ<<", N="
-            <<tgN<<", PDG="<<PDG<<", onlyCS="<<onlyCS<<G4endl;
-#endif
-      if(!onlyCS)                       // Skip the differential cross-section parameters
-      {
-        G4double SSTL=lastSST[blast];           // the low bin of the first squared slope
-        theSS=SSTL+shift*(lastSST[lastL]-SSTL); // the basic value of the first sq.slope
-        G4double S1TL=lastS1T[blast];           // the low bin of the first mantissa
-        theS1=S1TL+shift*(lastS1T[lastL]-S1TL); // the basic value of the first mantissa
-        G4double B1TL=lastB1T[blast];           // the low bin of the first slope
-#ifdef pdebug
-        G4cout<<"G4QElCS::CalcCrossSection:bl="<<blast<<",ls="<<lastL<<",SL="<<S1TL<<",SU="
-              <<lastS1T[lastL]<<",BL="<<B1TL<<",BU="<<lastB1T[lastL]<<G4endl;
-#endif
-        theB1=B1TL+shift*(lastB1T[lastL]-B1TL); // the basic value of the first slope
-        G4double S2TL=lastS2T[blast];           // the low bin of the second mantissa
-        theS2=S2TL+shift*(lastS2T[lastL]-S2TL); // the basic value of the second mantissa
-        G4double B2TL=lastB2T[blast];           // the low bin of the second slope
-        theB2=B2TL+shift*(lastB2T[lastL]-B2TL); // the basic value of the second slope
-        G4double S3TL=lastS3T[blast];           // the low bin of the third mantissa
-        theS3=S3TL+shift*(lastS3T[lastL]-S3TL); // the basic value of the third mantissa
-#ifdef pdebug
-        G4cout<<"G4QElCS::CCS: s3l="<<S3TL<<",sh3="<<shift<<",s3h="<<lastS3T[lastL]<<",b="
-              <<blast<<",l="<<lastL<<G4endl;
-#endif
-        G4double B3TL=lastB3T[blast];           // the low bin of the third slope
-        theB3=B3TL+shift*(lastB3T[lastL]-B3TL); // the basic value of the third slope
-        G4double S4TL=lastS4T[blast];           // the low bin of the 4-th mantissa
-        theS4=S4TL+shift*(lastS4T[lastL]-S4TL); // the basic value of the 4-th mantissa
-#ifdef pdebug
-        G4cout<<"G4QElCS::CCS: s4l="<<S4TL<<",sh4="<<shift<<",s4h="<<lastS4T[lastL]<<",b="
-              <<blast<<",l="<<lastL<<G4endl;
-#endif
-        G4double B4TL=lastB4T[blast];           // the low bin of the 4-th slope
-        theB4=B4TL+shift*(lastB4T[lastL]-B4TL); // the basic value of the 4-th slope
-      }
-#ifdef pdebug
-      G4cout<<"G4QElasticCrossSection::CalculateCS:(I) S1="<<theS1<<", B1="<<theB1<<G4endl;
-#endif
-    }
-  }
-  else lastSIG=GetTabValues(lastLP, PDG, tgZ, tgN); // Direct calculation beyond the table
-  if(lastSIG<0.) lastSIG = 0.;                   // @@ a Warning print can be added
-#ifdef pdebug
-  G4cout<<"G4QElasticCrossSection::CalculateCS: END, onlyCS="<<onlyCS<<G4endl;
-#endif
-  return lastSIG;
-}
-
-// It has parameter sets for all tZ/tN/PDG, using them the tables can be created/updated
-G4double G4QElasticCrossSection::GetPTables(G4double LP,G4double ILP, G4int PDG, G4int tgZ,
-                                                                                 G4int tgN)
-{
-  // @@ At present all nA==pA ---------> Each neucleus can have not more than 51 parameters
-  static const G4double pwd=2727;
-  const G4int n_npel=24;                // #of parameters for np-elastic (<nPoints=128)
-  const G4int n_ppel=32;                // #of parameters for pp-elastic (<nPoints=128)
-  //                      -0- -1-  -2- -3- -4-  -5- -6- -7- -8- -9--10--11--12--13- -14-
-  G4double np_el[n_npel]={12.,.05,.0001,5.,.35,6.75,.14,19.,.6,6.75,.14,13.,.14,.6,.00013,
-                          75.,.001,7.2,4.32,.012,2.5,0.0,12.,.34};
-  //                      -15--16--17- -18- -19--20--21--22--23-
-  //                       -0-   -1-  -2- -3- -4- -5-  -6-  -7-  -8--9--10--11--12--13-
-  G4double pp_el[n_ppel]={2.865,18.9,.6461,3.,9.,.425,.4276,.0022,5.,74.,3.,3.4,.2,.17,
-                          .001,8.,.055,3.64,5.e-5,4000.,1500.,.46,1.2e6,3.5e6,5.e-5,1.e10,
-                          8.5e8,1.e10,1.1,3.4e6,6.8e6,0.};
-  //                      -14--15- -16- -17- -18-  -19- -20- -21- -22-  -23-   -24-  -25-
-  //                       -26- -27-  -28- -29- -30- -31-
-  //                      -0- -1--2- -3-  -4-  -5-  -6-    -7-  -8- -9- -10--11--12--13-
-  if(tgZ==0 && tgN==1)                 // Temporary change for Quasi-Elastic
-  {
-    tgZ=1;
-    tgN=1;
-    if     (PDG==2212) PDG=2112;
-    else if(PDG==2112) PDG=2212;
-  }
-  if(PDG==2212 || PDG==2112)
-  {
-    // --- Total np elastic cross section cs & s1/b1 (t), s2/b2 (u) --- NotTuned for highE
-    //p2=p*p;p3=p2*p;sp=sqrt(p);p2s=p2*sp;lp=log(p);dl1=lp-(5.=par(3));p4=p2*p2; p=|3-mom|
-    //CS=12./(p2s+.05*p+.0001/sqrt(sp))+.35/p+(6.75+.14*dl1*dl1+19./p)/(1.+.6/p4);
-    //  par(0)   par(1) par(2)        par(4) par(5) par(6)     par(7)     par(8)
-    //s1=(6.75+.14*dl2*dl2+13./p)/(1.+.14/p4)+.6/(p4+.00013), s2=(75.+.001/p4/p)/p3
-    //  par(9) par(10)   par(11)     par(12) par(13) par(14)  par(15) par(16)
-    //b1=(7.2+4.32/(p4*p4+.012*p3))/(1.+2.5/p4), ss=0., b2=12./(p*sp+.34)
-    //par(17) par(18)    par(19)       par(20)  par(21)   par(22)   par(23)
-    //
-    // -- Total pp elastic cross section cs & s1/b1 (main), s2/b2 (tail1), s3/b3 (tail2) --
-    //p2=p*p;p3=p2*p;sp=sqrt(p);p2s=p2*sp;lp=log(p);dl1=lp-(3.=par(3));p4=p2*p2; p=|3-mom|
-    //CS=2.865/p2s/(1+.0022/p2s)+(18.9+.6461*dl1*dl1+9./p)/(1.+.425*lp)/(1.+.4276/p4);
-    //   par(0)       par(7)     par(1) par(2)      par(4)      par(5)         par(6)
-    //dl2=lp-5., s1=(74.+3.*dl2*dl2)/(1+3.4/p4/p)+(.2/p2+17.*p)/(p4+.001*sp),
-    //     par(8) par(9) par(10)        par(11)   par(12)par(13)    par(14)
-    // b1=8.*p**.055/(1.+3.64/p3); s2=5.e-5+4000./(p4+1500.*p); b2=.46+1.2e6/(p4+3.5e6/sp);
-    // par(15) par(16)  par(17)     par(18) par(19)  par(20)   par(21) par(22)  par(23)
-    // s3=5.e-5+1.e10/(p4*p4+8.5e8*p2+1.e10); b3=1.1+3.4e6/(p4+6.8e6); ss=0.
-    //  par(24) par(25)     par(26)  par(27) par(28) par(29)  par(30)   par(31)
-    //
-    if(lastPAR[nLast]!=pwd) // A unique flag to avoid the repeatable definition
-    {
-      if ( (PDG == 2112 && tgZ == 1 && tgN == 0) || 
-           (PDG == 2212 && tgZ == 0 && tgN == 1) ) {
-        for (G4int ip=0; ip<n_npel; ip++) lastPAR[ip]=np_el[ip]; //np/pn
-
-      } else if ( (PDG == 2212 && tgZ == 1 && tgN == 0) || 
-                  (PDG == 2112 && tgZ == 0 && tgN == 1) ) {
-        for (G4int ip=0; ip<n_ppel; ip++) lastPAR[ip]=pp_el[ip]; //pp/nn
-
-      } else {
-        G4double a=tgZ+tgN;
-        G4double sa=std::sqrt(a);
-        G4double ssa=std::sqrt(sa);
-        G4double asa=a*sa;
-        G4double a2=a*a;
-        G4double a3=a2*a;
-        G4double a4=a3*a;
-        G4double a5=a4*a;
-        G4double a6=a4*a2;
-        G4double a7=a6*a;
-        G4double a8=a7*a;
-        G4double a9=a8*a;
-        G4double a10=a5*a5;
-        G4double a12=a6*a6;
-        G4double a14=a7*a7;
-        G4double a16=a8*a8;
-        G4double a17=a16*a;
-        G4double a32=a16*a16;
-        G4double r1a16=3.e16/a16;
-        G4double r2a16=2.e13/a16;
-        G4double r3a16=6.e13/a16;
-        G4double pa10=5.e-27*a10;
-        // Reaction cross-section parameters (pel=peh_fit.f)
-        lastPAR[0]=a/3.;                                                       // p1(p/n)
-        //lastPAR[0]=.28*a;                                                      // p1(p/n)
-        lastPAR[1]=4.5*a*ssa/(1.+6./a3)/(1.+1.e-2*a);                          // p2(p/n)
-        //lastPAR[1]=4.8*std::pow(a,1.14)/(1.+3.6/a3);                           // p2(p/n)
-        if(PDG==2112)                           // Neutron projectile
-        {
-          lastPAR[2]=3.3/a+.5*ssa/(1.+2.e7/a8);                                // p3 (old)
-          if(a<6.5)
-          {
-            lastPAR[3]=1./(1.+.00123*a4);                                      // p4
-            lastPAR[4]=1.5e-4/a2/(a+1.2e-6*a12)+1.5e-6;                        // p5
-            lastPAR[5]=.0062/(a+5.e-11*a16);                                   // p6
-            lastPAR[6]=3.2e-14/a6/(1.+4.e-10*a17);                             // p7
-            lastPAR[7]=.847/a4/(a+.0005*a8)+.00045;                            // p8
-            lastPAR[8]=.413/a16+7.e-7;                                         // p9
-          }
-          else
-          {
-            lastPAR[3]=a*(.5+1.e-10*a4)/(1.+7.e5/a6);                          // p4
-            lastPAR[4]=a*3.e-5/(1.+2.e12/a12);                                 // p5
-            lastPAR[5]=(.0006+1.e-14*a5)/(1.+4.e5/a3)/(1.+3.e23/a16/a8);       // p6
-            lastPAR[6]=1.e-22*a4/(1.+5.e16*(1.+5e31/a32)/a16);                 // p7
-            lastPAR[7]=(8.+.00016*a2)/(1.+1.4e14/a16);                         // p8
-            lastPAR[8]=.0013;                                                  // p9
-          }
-        }
-        else                                   // Proton projectile
-        {
-          lastPAR[2]=3.3/a+.8*ssa/(1.+2.e7/a8);                                // p3
-          //lastPAR[2]=3.3/a+.7*ssa/(1.+2.e7/a8);                                // p3(old)
-          lastPAR[3]=1./(1.+6.e-9*a12)+.6*a/(1.+1.6e15/a16);                   // p4
-          lastPAR[4]=6.e-4/(a4+3.e-6*a12)+.16/(a+9.e5/a3+r1a16*r1a16);         // p5
-          lastPAR[5]=3.e-4/a2+(1.5e-3+3.e-14*a7)/(1.+r2a16*r2a16+3.e-12*a6);   // p6
-          lastPAR[6]=4.e-30+(1.2e-28*a3+pa10*pa10)/(1.+r3a16*r3a16+4.e-26*a14);// p7
-          lastPAR[7]=.1/(1.+1.7e-8*a16)+1./(1.+1.7e18/a16+2.e-6*a4);         // p8
-          //lastPAR[7]=.07/(1.+1.7e-8*a16)+.5/(1.+1.7e18/a16+4.5e-7*a4);         // p8(old)
-          lastPAR[8]=(1.5e-10+2.e-18*a8)/(1.+3.e-25*a16);                      // p9
-        }
-        // @@ the differential cross-section is parameterized separately for A>6 & A<7
-        if(a<6.5)
-        {
-          G4double a28=a16*a12;
-          // The main pre-exponent      (pel_sg)
-          lastPAR[ 9]=4000*a;                                // p1
-          lastPAR[10]=1.2e7*a8+380*a17;                      // p2
-          lastPAR[11]=.7/(1.+4.e-12*a16);                    // p3
-          lastPAR[12]=2.5/a8/(a4+1.e-16*a32);                // p4
-          lastPAR[13]=.28*a;                                 // p5
-          lastPAR[14]=1.2*a2+2.3;                            // p6
-          lastPAR[15]=3.8/a;                                 // p7
-          // The main slope             (pel_sl)
-          lastPAR[16]=.01/(1.+.0024*a5);                     // p1
-          lastPAR[17]=.2*a;                                  // p2
-          lastPAR[18]=9.e-7/(1.+.035*a5);                    // p3
-          lastPAR[19]=(42.+2.7e-11*a16)/(1.+.14*a);          // p4
-          // The main quadratic         (pel_sh)
-          lastPAR[20]=2.25*a3;                               // p1
-          lastPAR[21]=18.;                                   // p2
-          lastPAR[22]=2.4e-3*a8/(1.+2.6e-4*a7);              // p3
-          lastPAR[23]=3.5e-36*a32*a8/(1.+5.e-15*a32/a);      // p4
-          // The 1st max pre-exponent   (pel_qq)
-          lastPAR[24]=1.e5/(a8+2.5e12/a16);                  // p1
-          //lastPAR[24]=8.e4/(a8+2.5e12/a16);                  // p1 (old)
-          lastPAR[25]=8.e7/(a12+1.e-27*a28*a28);             // p2 
-          lastPAR[26]=.0006*a3;                              // p3
-          //lastPAR[26]=.0011*a3;                              // p3 (old)
-          // The 1st max slope          (pel_qs)
-          lastPAR[27]=10.+4.e-8*a12*a;                       // p1
-          lastPAR[28]=.114;                                  // p2
-          lastPAR[29]=.003;                                  // p3
-          lastPAR[30]=2.e-23;                                // p4
-          // The effective pre-exponent (pel_ss)
-          lastPAR[31]=1./(1.+.0001*a8);                      // p1
-          lastPAR[32]=1.5e-4/(1.+5.e-6*a12);                 // p2
-          lastPAR[33]=.03;                                   // p3
-          // The effective slope        (pel_sb)
-          lastPAR[34]=a/2;                                   // p1
-          lastPAR[35]=2.e-7*a4;                              // p2
-          lastPAR[36]=4.;                                    // p3
-          lastPAR[37]=64./a3;                                // p4
-          // The gloria pre-exponent    (pel_us)
-          lastPAR[38]=1.e8*std::exp(.32*asa);                // p1
-          //lastPAR[38]=1.05e8*std::exp(.32*asa);              // p1 (old)
-          lastPAR[39]=20.*std::exp(.45*asa);                // p2
-          //lastPAR[39]=19.5*std::exp(.45*asa);                // p2 (old)
-          lastPAR[40]=7.e3+2.4e6/a5;                         // p3
-          lastPAR[41]=2.5e5*std::exp(.085*a3);               // p4
-          lastPAR[42]=2.5*a;                                 // p5
-          // The gloria slope           (pel_ub)
-          lastPAR[43]=920.+.03*a8*a3;                        // p1
-          lastPAR[44]=93.+.0023*a12;                         // p2
-#ifdef pdebug
-         G4cout<<"G4QElCS::CalcCS:la "<<lastPAR[38]<<", "<<lastPAR[39]<<", "<<lastPAR[40]
-               <<", "<<lastPAR[42]<<", "<<lastPAR[43]<<", "<<lastPAR[44]<<G4endl;
-#endif
-        }
-        else
-        {
-          G4double p1a10=2.2e-28*a10;
-          G4double r4a16=6.e14/a16;
-          G4double s4a16=r4a16*r4a16;
-          // a24
-          // a36
-          // The main pre-exponent      (peh_sg)
-          lastPAR[ 9]=4.5*std::pow(a,1.15);                  // p1
-          lastPAR[10]=.06*std::pow(a,.6);                    // p2
-          lastPAR[11]=.6*a/(1.+2.e15/a16);                   // p3
-          lastPAR[12]=.17/(a+9.e5/a3+1.5e33/a32);            // p4
-          lastPAR[13]=(.001+7.e-11*a5)/(1.+4.4e-11*a5);      // p5
-          lastPAR[14]=(p1a10*p1a10+2.e-29)/(1.+2.e-22*a12);  // p6
-          // The main slope             (peh_sl)
-          lastPAR[15]=400./a12+2.e-22*a9;                    // p1
-          lastPAR[16]=1.e-32*a12/(1.+5.e22/a14);             // p2
-          lastPAR[17]=1000./a2+9.5*sa*ssa;                   // p3
-          lastPAR[18]=4.e-6*a*asa+1.e11/a16;                 // p4
-          lastPAR[19]=(120./a+.002*a2)/(1.+2.e14/a16);       // p5
-          lastPAR[20]=9.+100./a;                             // p6
-          // The main quadratic         (peh_sh)
-          lastPAR[21]=.002*a3+3.e7/a6;                       // p1
-          lastPAR[22]=7.e-15*a4*asa;                         // p2
-          lastPAR[23]=9000./a4;                              // p3
-          // The 1st max pre-exponent   (peh_qq)
-          lastPAR[24]=.0011*asa/(1.+3.e34/a32/a4);           // p1
-          lastPAR[25]=1.e-5*a2+2.e14/a16;                    // p2
-          lastPAR[26]=1.2e-11*a2/(1.+1.5e19/a12);            // p3
-          lastPAR[27]=.016*asa/(1.+5.e16/a16);               // p4
-          // The 1st max slope          (peh_qs)
-          lastPAR[28]=.002*a4/(1.+7.e7/std::pow(a-6.83,14)); // p1
-          lastPAR[29]=2.e6/a6+7.2/std::pow(a,.11);           // p2
-          lastPAR[30]=11.*a3/(1.+7.e23/a16/a8);              // p3
-          lastPAR[31]=100./asa;                              // p4
-          // The 2nd max pre-exponent   (peh_ss)
-          lastPAR[32]=(.1+4.4e-5*a2)/(1.+5.e5/a4);           // p1
-          lastPAR[33]=3.5e-4*a2/(1.+1.e8/a8);                // p2
-          lastPAR[34]=1.3+3.e5/a4;                           // p3
-          lastPAR[35]=500./(a2+50.)+3;                       // p4
-          lastPAR[36]=1.e-9/a+s4a16*s4a16;                   // p5
-          // The 2nd max slope          (peh_sb)
-          lastPAR[37]=.4*asa+3.e-9*a6;                       // p1
-          lastPAR[38]=.0005*a5;                              // p2
-          lastPAR[39]=.002*a5;                               // p3
-          lastPAR[40]=10.;                                   // p4
-          // The effective pre-exponent (peh_us)
-          lastPAR[41]=.05+.005*a;                            // p1
-          lastPAR[42]=7.e-8/sa;                              // p2
-          lastPAR[43]=.8*sa;                                 // p3
-          lastPAR[44]=.02*sa;                                // p4
-          lastPAR[45]=1.e8/a3;                               // p5
-          lastPAR[46]=3.e32/(a32+1.e32);                     // p6
-          // The effective slope        (peh_ub)
-          lastPAR[47]=24.;                                   // p1
-          lastPAR[48]=20./sa;                                // p2
-          lastPAR[49]=7.e3*a/(sa+1.);                        // p3
-          lastPAR[50]=900.*sa/(1.+500./a3);                  // p4
-#ifdef pdebug
-         G4cout<<"G4QElCS::CalcCS:ha "<<lastPAR[41]<<", "<<lastPAR[42]<<", "<<lastPAR[43]
-               <<", "<<lastPAR[44]<<", "<<lastPAR[45]<<", "<<lastPAR[46]<<G4endl;
-#endif
-        }
-        // Parameter for lowEnergyNeutrons
-        lastPAR[51]=1.e15+2.e27/a4/(1.+2.e-18*a16);
-      }
-      lastPAR[nLast]=pwd;
-      // and initialize the zero element of the table
-      G4double lp=lPMin;                                      // ln(momentum)
-      G4bool memCS=onlyCS;                                    // ??
-      onlyCS=false;
-      lastCST[0]=GetTabValues(lp, PDG, tgZ, tgN); // Calculate AMDB tables
-      onlyCS=memCS;
-      lastSST[0]=theSS;
-      lastS1T[0]=theS1;
-      lastB1T[0]=theB1;
-      lastS2T[0]=theS2;
-      lastB2T[0]=theB2;
-      lastS3T[0]=theS3;
-      lastB3T[0]=theB3;
-      lastS4T[0]=theS4;
-      lastB4T[0]=theB4;
-#ifdef pdebug
-      G4cout<<"G4QElasticCrossSection::GetPTables:ip=0(init), lp="<<lp<<",S1="<<theS1
-            <<",B1="<<theB1<<",S2="<<theS2<<",B2="<<theB3<<",S3="<<theS3
-            <<",B3="<<theB3<<",S4="<<theS4<<",B4="<<theB4<<G4endl;
-#endif
-    }
-    if(LP>ILP)
-    {
-      G4int ini = static_cast<int>((ILP-lPMin+.000001)/dlnP)+1; // already inited till this
-      if(ini<0) ini=0;
-      if(ini<nPoints)
-      {
-        G4int fin = static_cast<int>((LP-lPMin)/dlnP)+1; // final bin of initialization
-        if(fin>=nPoints) fin=nLast;               // Limit of the tabular initialization
-        if(fin>=ini)
-        {
-          G4double lp=0.;
-          for(G4int ip=ini; ip<=fin; ip++)        // Calculate tabular CS,S1,B1,S2,B2,S3,B3
-          {
-            lp=lPMin+ip*dlnP;                     // ln(momentum)
-            G4bool memCS=onlyCS;
-            onlyCS=false;
-            lastCST[ip]=GetTabValues(lp, PDG, tgZ, tgN); // Calculate AMDB tables (ret CS)
-            onlyCS=memCS;
-            lastSST[ip]=theSS;
-            lastS1T[ip]=theS1;
-            lastB1T[ip]=theB1;
-            lastS2T[ip]=theS2;
-            lastB2T[ip]=theB2;
-            lastS3T[ip]=theS3;
-            lastB3T[ip]=theB3;
-            lastS4T[ip]=theS4;
-            lastB4T[ip]=theB4;
-#ifdef pdebug
-            G4cout<<"G4QElasticCrossSection::GetPTables:ip="<<ip<<",lp="<<lp<<",S1="<<theS1
-                  <<",B1="<<theB1<<",S2="<<theS2<<",B2="<<theB2<<",S3="
-                  <<theS3<<",B3="<<theB3<<",S4="<<theS4<<",B4="<<theB4<<G4endl;
-#endif
-          }
-          return lp;
-        }
-        else G4cout<<"*Warning*G4QElasticCrossSection::GetPTables: PDG="<<PDG<<", Z="<<tgZ
-                   <<", N="<<tgN<<", i="<<ini<<" > fin="<<fin<<", LP="<<LP<<" > ILP="<<ILP
-                   <<" nothing is done!"<<G4endl;
-      }
-      else G4cout<<"*Warning*G4QElasticCrossSection::GetPTables: PDG="<<PDG<<", Z="<<tgZ
-                 <<", N="<<tgN<<", i="<<ini<<">= max="<<nPoints<<", LP="<<LP<<" > ILP="
-                 <<ILP<<", lPMax="<<lPMax<<" nothing is done!"<<G4endl;
-    }
-#ifdef pdebug
-    else G4cout<<"*Warning*G4QElasticCrossSection::GetPTables: PDG="<<PDG<<", Z="<<tgZ
-               <<", N="<<tgN<<", LP="<<LP<<" <= ILP="<<ILP<<" nothing is done!"<<G4endl;
-#endif
-  }
-  else
-  {
-    G4cout<<"*Error*G4QElasticCrossSection::GetPTables: PDG="<<PDG<<", Z="<<tgZ<<", N="
-          <<tgN<<", while it is defined only for PDG=2212(p)/2112(n)"<<G4endl;
-    throw G4QException("G4QElasticCrossSection::GetPTables: only nA & pA are implemented");
-  }
-  return ILP;
-}
-
-// Returns Q2=-t in independent units (MeV^2) (all internal calculations are in GeV)
-G4double G4QElasticCrossSection::GetExchangeT(G4int tgZ, G4int tgN, G4int PDG)
-{
-  static const G4double GeVSQ=gigaelectronvolt*gigaelectronvolt;
-  static const G4double third=1./3.;
-  static const G4double fifth=1./5.;
-  static const G4double sevth=1./7.;
-  if(tgZ==0 && tgN==1)                 // Temporary change for Quasi-Elastic
-  {
-    tgZ=1;
-    tgN=1;
-    if     (PDG==2212) PDG=2112;
-    else if(PDG==2112) PDG=2212;
-  }
-#ifdef tdebug
-  G4cout<<"G4QElasticCS::GetExcT:F="<<onlyCS<<",Z="<<tgZ<<",N="<<tgN<<",PDG="<<PDG<<G4endl;
-#endif
-  if(onlyCS) G4cout<<"**Warning*G4QElasticCrossSection::GetExchangeT: onlyCS=true"<<G4endl;
-  if(lastLP<-4.3) return lastTM*GeVSQ*G4UniformRand();// S-wave for p<14 MeV/c (kinE<.1MeV)
-  G4double q2=0.;
-  if(PDG==2112 && tgZ==1 && tgN==0)                // ===> n+p=n+p
-  {
-#ifdef tdebug
-    G4cout<<"G4QElasticCS::GetExchangeT: TM="<<lastTM<<",S1="<<theS1<<",B1="<<theB1<<",S2="
-          <<theS2<<",B2="<<theB2<<",GeV2="<<GeVSQ<<G4endl;
-#endif
-    G4double E1=lastTM*theB1;
-    G4double R1=(1.-std::exp(-E1));
-#ifdef tdebug
-    G4double ts1=-std::log(1.-R1)/theB1;
-    G4double ds1=std::fabs(ts1-lastTM)/lastTM;
-    if(ds1>.0001)
-      G4cout<<"*Warning*G4QElCS::GetExT:1n "<<ts1<<"#"<<lastTM<<",d="<<ds1
-            <<",R1="<<R1<<",E1="<<E1<<G4endl;
-#endif
-    G4double E2=lastTM*theB2;
-    G4double R2=(1.-std::exp(-E2));
-#ifdef tdebug
-    G4double ts2=-std::log(1.-R2)/theB2;
-    G4double ds2=std::fabs(ts2-lastTM)/lastTM;
-    if(ds2>.0001)
-      G4cout<<"*Warning*G4QElCS::GetExT:2n "<<ts2<<"#"<<lastTM<<",d="<<ds2
-            <<",R2="<<R2<<",E2="<<E2<<G4endl;
-#endif
-    //G4double E3=lastTM*theB3;
-    //G4double R3=(1.-std::exp(-E3));
-#ifdef tdebug
-    //G4double ts3=-std::log(1.-R3)/theB3;
-    //G4double ds3=std::fabs(ts3-lastTM)/lastTM;
-    //if(ds3>.01)G4cout<<"*Warn*G4QElCS::GetExT:3n "<<ts3<<"#"<<lastTM<<",d="<<ds3<<G4endl;
-#endif
-    G4double I1=R1*theS1;
-    G4double I2=R2*theS2/theB2;
-    //G4double I3=R3*theS3/theB3;
-    G4double I12=I1+I2;
-    //G4double rand=(I12+I3)*G4UniformRand();
-    G4double rand=I12*G4UniformRand();
-    if     (rand<I1 )
-    {
-      G4double ran=R1*G4UniformRand();
-      if(ran>1.) ran=1.;
-      q2=-std::log(1.-ran)/theB1;       // t-chan
-    }
-    else
-    {
-      G4double ran=R2*G4UniformRand();
-      if(ran>1.) ran=1.;
-      q2=lastTM+std::log(1.-ran)/theB2; // u-chan (ChEx)
-    }
-  }
-  else if(PDG==2212 && tgZ==1 && tgN==0)                // ===> p+p=p+p
-  {
-#ifdef tdebug
-    G4cout<<"G4QElasticCS::GetExchangeT: TM="<<lastTM<<",S1="<<theS1<<",B1="<<theB1<<",S2="
-          <<theS2<<",B2="<<theB2<<",S3="<<theS3<<",B3="<<theB3<<",GeV2="<<GeVSQ<<G4endl;
-#endif
-    G4double E1=lastTM*theB1;
-    G4double R1=(1.-std::exp(-E1));
-#ifdef tdebug
-    G4double ts1=-std::log(1.-R1)/theB1;
-    G4double ds1=std::fabs(ts1-lastTM)/lastTM;
-    if(ds1>.0001)
-      G4cout<<"*Warning*G4QElCS::GetExT:1p "<<ts1<<"#"<<lastTM<<",d="<<ds1
-            <<",R1="<<R1<<",E1="<<E1<<G4endl;
-#endif
-    G4double E2=lastTM*theB2;
-    G4double R2=(1.-std::exp(-E2*E2*E2));
-#ifdef tdebug
-    G4double ts2=std::pow(-std::log(1.-R2),.333333333)/theB2;
-    G4double ds2=std::fabs(ts2-lastTM)/lastTM;
-    if(ds2>.0001)
-      G4cout<<"*Warning*G4QElCS::GetExT:2p "<<ts2<<"#"<<lastTM<<",d="<<ds2
-            <<",R2="<<R2<<",E2="<<E2<<G4endl;
-#endif
-    G4double E3=lastTM*theB3;
-    G4double R3=(1.-std::exp(-E3));
-#ifdef tdebug
-    G4double ts3=-std::log(1.-R3)/theB3;
-    G4double ds3=std::fabs(ts3-lastTM)/lastTM;
-    if(ds3>.0001)
-      G4cout<<"*Warning*G4QElCS::GetExT:3p "<<ts3<<"#"<<lastTM<<",d="<<ds3
-            <<",R3="<<R1<<",E3="<<E3<<G4endl;
-#endif
-    G4double I1=R1*theS1/theB1;
-    G4double I2=R2*theS2;
-    G4double I3=R3*theS3;
-    G4double I12=I1+I2;
-    G4double rand=(I12+I3)*G4UniformRand();
-    if     (rand<I1 )
-    {
-      G4double ran=R1*G4UniformRand();
-      if(ran>1.) ran=1.;
-      q2=-std::log(1.-ran)/theB1;
-    }
-    else if(rand<I12)
-    {
-      G4double ran=R2*G4UniformRand();
-      if(ran>1.) ran=1.;
-      q2=-std::log(1.-ran);
-      if(q2<0.) q2=0.;
-      q2=std::pow(q2,third)/theB2;
-    }
-    else
-    {
-      G4double ran=R3*G4UniformRand();
-      if(ran>1.) ran=1.;
-      q2=-std::log(1.-ran)/theB3;
-    }
-  }
-  else if(PDG==2212 || PDG==2112)
-  {
-    G4double a=tgZ+tgN;
-#ifdef tdebug
-    G4cout<<"G4QElCS::GetExT: a="<<a<<",t="<<lastTM<<",S1="<<theS1<<",B1="<<theB1<<",SS="
-          <<theSS<<",S2="<<theS2<<",B2="<<theB2<<",S3="<<theS3<<",B3="<<theB3<<",S4="
-          <<theS4<<",B4="<<theB4<<G4endl;
-#endif
-    G4double E1=lastTM*(theB1+lastTM*theSS);
-    G4double R1=(1.-std::exp(-E1));
-    G4double tss=theSS+theSS; // for future solution of quadratic equation (imediate check)
-#ifdef tdebug
-    G4double ts1=-std::log(1.-R1)/theB1;
-    if(std::fabs(tss)>1.e-7) ts1=(std::sqrt(theB1*(theB1+(tss+tss)*ts1))-theB1)/tss;
-    G4double ds1=(ts1-lastTM)/lastTM;
-    if(ds1>.0001)
-      G4cout<<"*Warning*G4QElCS::GetExT:1a "<<ts1<<"#"<<lastTM<<",d="<<ds1
-            <<",R1="<<R1<<",E1="<<E1<<G4endl;
-#endif
-    G4double tm2=lastTM*lastTM;
-    G4double E2=lastTM*tm2*theB2;                   // power 3 for lowA, 5 for HighA (1st)
-    if(a>6.5)E2*=tm2;                               // for heavy nuclei
-    G4double R2=(1.-std::exp(-E2));
-#ifdef tdebug
-    G4double ts2=-std::log(1.-R2)/theB2;
-    if(a<6.5)ts2=std::pow(ts2,third);
-    else     ts2=std::pow(ts2,fifth);
-    G4double ds2=std::fabs(ts2-lastTM)/lastTM;
-    if(ds2>.0001)
-      G4cout<<"*Warning*G4QElCS::GetExT:2a "<<ts2<<"#"<<lastTM<<",d="<<ds2
-            <<",R2="<<R2<<",E2="<<E2<<G4endl;
-#endif
-    G4double E3=lastTM*theB3;
-    if(a>6.5)E3*=tm2*tm2*tm2;                       // power 1 for lowA, 7 (2nd) for HighA
-    G4double R3=(1.-std::exp(-E3));
-#ifdef tdebug
-    G4double ts3=-std::log(1.-R3)/theB3;
-    if(a>6.5)ts3=std::pow(ts3,sevth);
-    G4double ds3=std::fabs(ts3-lastTM)/lastTM;
-    if(ds3>.0001)
-      G4cout<<"*Warning*G4QElCS::GetExT:3a "<<ts3<<"#"<<lastTM<<",d="<<ds3
-            <<",R3="<<R3<<",E3="<<E3<<G4endl;
-#endif
-    G4double E4=lastTM*theB4;
-    G4double R4=(1.-std::exp(-E4));
-#ifdef tdebug
-    G4double ts4=-std::log(1.-R4)/theB4;
-    G4double ds4=std::fabs(ts4-lastTM)/lastTM;
-    if(ds4>.0001)
-      G4cout<<"*Warning*G4QElCS::GetExT:4a "<<ts4<<"#"<<lastTM<<",d="<<ds4
-            <<",R4="<<R4<<",E4="<<E4<<G4endl;
-#endif
-    G4double I1=R1*theS1;
-    G4double I2=R2*theS2;
-    G4double I3=R3*theS3;
-    G4double I4=R4*theS4;
-    G4double I12=I1+I2;
-    G4double I13=I12+I3;
-    G4double rand=(I13+I4)*G4UniformRand();
-#ifdef tdebug
-    G4cout<<"G4QElCS::GtExT:1="<<I1<<",2="<<I2<<",3="<<I3<<",4="<<I4<<",r="<<rand<<G4endl;
-#endif
-    if(rand<I1)
-    {
-      G4double ran=R1*G4UniformRand();
-      if(ran>1.) ran=1.;
-      q2=-std::log(1.-ran)/theB1;
-      if(std::fabs(tss)>1.e-7) q2=(std::sqrt(theB1*(theB1+(tss+tss)*q2))-theB1)/tss;
-#ifdef tdebug
-      G4cout<<"G4QElCS::GetExT:Q2="<<q2<<",ss="<<tss/2<<",b1="<<theB1<<",t1="<<ts1<<G4endl;
-#endif
-    }
-    else if(rand<I12)
-    {
-      G4double ran=R2*G4UniformRand();
-      if(ran>1.) ran=1.;
-      q2=-std::log(1.-ran)/theB2;
-      if(q2<0.) q2=0.;
-      if(a<6.5) q2=std::pow(q2,third);
-      else      q2=std::pow(q2,fifth);
-#ifdef tdebug
-      G4cout<<"G4QElCS::GetExT: Q2="<<q2<<", r2="<<R2<<", b2="<<theB2<<",t2="<<ts2<<G4endl;
-#endif
-    }
-    else if(rand<I13)
-    {
-      G4double ran=R3*G4UniformRand();
-      if(ran>1.) ran=1.;
-      q2=-std::log(1.-ran)/theB3;
-      if(q2<0.) q2=0.;
-      if(a>6.5) q2=std::pow(q2,sevth);
-#ifdef tdebug
-      G4cout<<"G4QElCS::GetExT:Q2="<<q2<<", r3="<<R2<<", b3="<<theB2<<",t3="<<ts2<<G4endl;
-#endif
-    }
-    else
-    {
-      G4double ran=R4*G4UniformRand();
-      if(ran>1.) ran=1.;
-      q2=-std::log(1.-ran)/theB4;
-      if(a<6.5) q2=lastTM-q2;                    // u reduced for lightA (starts from 0)
-#ifdef tdebug
-      G4cout<<"G4QElCS::GetExT:Q2="<<q2<<",m="<<lastTM<<",b4="<<theB3<<",t4="<<ts3<<G4endl;
-#endif
-    }
-  }
-  else
-  {
-    G4cout<<"*Error*G4QElasticCrossSection::GetExchangeT: PDG="<<PDG<<", Z="<<tgZ<<", N="
-          <<tgN<<", while it is defined only for PDG=2212 & PDG==2112"<<G4endl;
-    throw G4QException("G4QElasticCrossSection::GetExchangeT: nA and pA are implemented");
-  }
-  if(q2<0.) q2=0.;
-  if(!(q2>=-1.||q2<=1.)) G4cout<<"*NAN*G4QElasticCrossSect::GetExchangeT: -t="<<q2<<G4endl;
-  if(q2>lastTM)
-  {
-#ifdef tdebug
-    G4cout<<"*Warning*G4QElasticCrossSect::GetExT:-t="<<q2<<">"<<lastTM<<G4endl;
-#endif
-    q2=lastTM;
-  }
-  return q2*GeVSQ;
-}
-
-// Returns B in independent units (MeV^-2) (all internal calculations are in GeV) see ExT
-G4double G4QElasticCrossSection::GetSlope(G4int tgZ, G4int tgN, G4int PDG)
-{
-  static const G4double GeVSQ=gigaelectronvolt*gigaelectronvolt;
-#ifdef tdebug
-  G4cout<<"G4QElasticCS::GetSlope:"<<onlyCS<<", Z="<<tgZ<<",N="<<tgN<<",PDG="<<PDG<<G4endl;
-#endif
-  if(onlyCS) G4cout<<"*Warning*G4QElasticCrossSection::GetSlope: onlyCS=true"<<G4endl;
-  if(lastLP<-4.3) return 0.;          // S-wave for p<14 MeV/c (kinE<.1MeV)
-  if(PDG!=2212 && PDG!=2112)
-  {
-    G4cout<<"*Error*G4QElasticCrossSection::GetSlope: PDG="<<PDG<<", Z="<<tgZ<<", N="
-          <<tgN<<", while it is defined only for PDG=2212 & PDG=2112"<<G4endl;
-    throw G4QException("G4QElasticCrossSection::GetSlope: nA and pA are implemented");
-  }
-  if(theB1<0.) theB1=0.;
-  if(!(theB1>=-1.||theB1<=1.))G4cout<<"*NAN*G4QElasticCrossSect::Getslope:"<<theB1<<G4endl;
-  return theB1/GeVSQ;
-}
-
-// Returns half max(Q2=-t) in independent units (MeV^2)
-G4double G4QElasticCrossSection::GetHMaxT()
-{
-  static const G4double HGeVSQ=gigaelectronvolt*gigaelectronvolt/2.;
-  return lastTM*HGeVSQ;
-}
-
-// lastLP is used, so calculating tables, one need to remember and then recover lastLP
-G4double G4QElasticCrossSection::GetTabValues(G4double lp, G4int PDG, G4int tgZ,G4int tgN)
-{
-  if(tgZ==0 && tgN==1)                 // Temporary change for Quasi-Elastic
-  {
-    tgZ=1;
-    tgN=1;
-    if     (PDG==2212) PDG=2112;
-    else if(PDG==2112) PDG=2212;
-  }
-  if(tgZ<0 || tgZ>92)
-  {
-    G4cout<<"*Warning*G4QElasticCS::GetTabValue: (1-92) No isotopes for Z="<<tgZ<<G4endl;
-    return 0.;
-  }
-  G4int iZ=tgZ-1; // Z index
-  if(iZ<0)
-  {
-    iZ=0;         // conversion of the neutron target to the proton target
-    tgZ=1;
-    tgN=0;
-  }
-  //if(nN[iZ][0] < 0)
-  //{
-#ifdef isodebug
-  //  G4cout<<"*Warning*G4QElasticCS::GetTabValue: No isotopes for Z="<<tgZ<<G4endl;
-#endif
-  //  return 0.;
-  //}
-#ifdef pdebug
-  G4cout<<"G4QElasticCS::GetTabVal: lp="<<lp<<",Z="<<tgZ<<",N="<<tgN<<",PDG="<<PDG<<G4endl;
-#endif
-  G4double p=std::exp(lp);              // momentum
-  G4double sp=std::sqrt(p);             // sqrt(p)
-  G4double p2=p*p;            
-  G4double p3=p2*p;
-  G4double p4=p3*p;
-  if ( (PDG == 2112 && tgZ == 1 && tgN == 0) || 
-       (PDG == 2212 && tgZ == 0 && tgN == 1) ) {       // np/pn
-
-    G4double ssp=std::sqrt(sp);           // sqrt(sqrt(p))=p^.25
-    G4double p2s=p2*sp;
-    G4double dl1=lp-lastPAR[3];
-    theSS=lastPAR[21];
-    theS1=(lastPAR[9]+lastPAR[10]*dl1*dl1+lastPAR[11]/p)/(1.+lastPAR[12]/p4)
-          +lastPAR[13]/(p4+lastPAR[14]);
-    theB1=(lastPAR[17]+lastPAR[18]/(p4*p4+lastPAR[19]*p3))/(1.+lastPAR[20]/p4);
-    theS2=(lastPAR[15]+lastPAR[16]/p4/p)/p3;
-    theB2=lastPAR[22]/(p*sp+lastPAR[23]); 
-    theS3=0.;
-    theB3=0.; 
-    theS4=0.;
-    theB4=0.; 
-#ifdef tdebug
-    G4cout<<"G4QElasticCS::GetTableValues:(np) TM="<<lastTM<<",S1="<<theS1<<",B1="<<theB1
-          <<",S2="<<theS2<<",B2="<<theB2<<",S3="<<theS1<<",B3="<<theB1<<G4endl;
-#endif
-    // Returns the total elastic pp cross-section (to avoid spoiling lastSIG)
-    return lastPAR[0]/(p2s+lastPAR[1]*p+lastPAR[2]/ssp)+lastPAR[4]/p
-           +(lastPAR[5]+lastPAR[6]*dl1*dl1+lastPAR[7]/p)/(1.+lastPAR[8]/p4);
-
-  } else if ( (PDG == 2212 && tgZ == 1 && tgN == 0) || 
-              (PDG == 2112 && tgZ == 0 && tgN == 1) ) { // pp/nn
-
-    G4double p2s=p2*sp;
-    G4double dl1=lp-lastPAR[3];
-    G4double dl2=lp-lastPAR[8];
-    theSS=lastPAR[31];
-    theS1=(lastPAR[9]+lastPAR[10]*dl2*dl2)/(1.+lastPAR[11]/p4/p)+
-          (lastPAR[12]/p2+lastPAR[13]*p)/(p4+lastPAR[14]*sp);
-    theB1=lastPAR[15]*std::pow(p,lastPAR[16])/(1.+lastPAR[17]/p3);
-    theS2=lastPAR[18]+lastPAR[19]/(p4+lastPAR[20]*p);
-    theB2=lastPAR[21]+lastPAR[22]/(p4+lastPAR[23]/sp); 
-    theS3=lastPAR[24]+lastPAR[25]/(p4*p4+lastPAR[26]*p2+lastPAR[27]);
-    theB3=lastPAR[28]+lastPAR[29]/(p4+lastPAR[30]); 
-    theS4=0.;
-    theB4=0.; 
-#ifdef tdebug
-    G4cout<<"G4QElasticCS::GetTableValues:(pp) TM="<<lastTM<<",S1="<<theS1<<",B1="<<theB1
-          <<",S2="<<theS2<<",B2="<<theB2<<",S3="<<theS1<<",B3="<<theB1<<G4endl;
-#endif
-    // Returns the total elastic pp cross-section (to avoid spoiling lastSIG)
-    return lastPAR[0]/p2s/(1.+lastPAR[7]/p2s)+(lastPAR[1]+lastPAR[2]*dl1*dl1+lastPAR[4]/p)
-                                                   /(1.+lastPAR[5]*lp)/(1.+lastPAR[6]/p4);
-  }
-  else if(PDG==2212 || PDG==2112) // n/p + A
-  {
-    G4double p5=p4*p;
-    G4double p6=p5*p;
-    G4double p8=p6*p2;
-    G4double p10=p8*p2;
-    G4double p12=p10*p2;
-    G4double p16=p8*p8;
-    //G4double p24=p16*p8;
-    G4double dl=lp-5.;
-    G4double a=tgZ+tgN;
-    G4double pah=std::pow(p,a/2);
-    G4double pa=pah*pah;
-    G4double pa2=pa*pa;
-    if(a<6.5)
-    {
-      theS1=lastPAR[9]/(1.+lastPAR[10]*p4*pa)+lastPAR[11]/(p4+lastPAR[12]*p4/pa2)+
-            (lastPAR[13]*dl*dl+lastPAR[14])/(1.+lastPAR[15]/p2);
-      theB1=(lastPAR[16]+lastPAR[17]*p2)/(p4+lastPAR[18]/pah)+lastPAR[19];
-      theSS=lastPAR[20]/(1.+lastPAR[21]/p2)+lastPAR[22]/(p6/pa+lastPAR[23]/p16);
-      theS2=lastPAR[24]/(pa/p2+lastPAR[25]/p4)+lastPAR[26];
-      theB2=lastPAR[27]*std::pow(p,lastPAR[28])+lastPAR[29]/(p8+lastPAR[30]/p16);
-      theS3=lastPAR[31]/(pa*p+lastPAR[32]/pa)+lastPAR[33];
-      theB3=lastPAR[34]/(p3+lastPAR[35]/p6)+lastPAR[36]/(1.+lastPAR[37]/p2);
-      theS4=p2*(pah*lastPAR[38]*std::exp(-pah*lastPAR[39])+
-                lastPAR[40]/(1.+lastPAR[41]*std::pow(p,lastPAR[42])));
-      theB4=lastPAR[43]*pa/p2/(1.+pa*lastPAR[44]);
-#ifdef tdebug
-      G4cout<<"G4QElCS::GetTabV: lA, p="<<p<<",S1="<<theS1<<",B1="<<theB1<<",SS="<<theSS
-            <<",S2="<<theS2<<",B2="<<theB2<<",S3="<<theS3<<",B3="<<theB3<<",S4="<<theS4
-            <<",B4="<<theB4<<G4endl;
-#endif
-    }
-    else
-    {
-      theS1=lastPAR[9]/(1.+lastPAR[10]/p4)+lastPAR[11]/(p4+lastPAR[12]/p2)+
-            lastPAR[13]/(p5+lastPAR[14]/p16);
-      theB1=(lastPAR[15]/p8+lastPAR[19])/(p+lastPAR[16]/std::pow(p,lastPAR[20]))+
-            lastPAR[17]/(1.+lastPAR[18]/p4);
-      theSS=lastPAR[21]/(p4/std::pow(p,lastPAR[23])+lastPAR[22]/p4);
-      theS2=lastPAR[24]/p4/(std::pow(p,lastPAR[25])+lastPAR[26]/p12)+lastPAR[27];
-      theB2=lastPAR[28]/std::pow(p,lastPAR[29])+lastPAR[30]/std::pow(p,lastPAR[31]);
-      theS3=lastPAR[32]/std::pow(p,lastPAR[35])/(1.+lastPAR[36]/p12)+
-            lastPAR[33]/(1.+lastPAR[34]/p6);
-      theB3=lastPAR[37]/p8+lastPAR[38]/p2+lastPAR[39]/(1.+lastPAR[40]/p8);
-      theS4=(lastPAR[41]/p4+lastPAR[46]/p)/(1.+lastPAR[42]/p10)+
-            (lastPAR[43]+lastPAR[44]*dl*dl)/(1.+lastPAR[45]/p12);
-      theB4=lastPAR[47]/(1.+lastPAR[48]/p)+lastPAR[49]*p4/(1.+lastPAR[50]*p5);
-#ifdef tdebug
-      G4cout<<"G4QElCS::GetTabV: hA, p="<<p<<",S1="<<theS1<<",B1="<<theB1<<",SS="<<theSS
-            <<",S2="<<theS2<<",B2="<<theB2<<",S3="<<theS3<<",B3="<<theB3<<",S4="<<theS4
-            <<",B4="<<theB4<<G4endl;
-#endif
-    }
-    // Returns the total elastic (n/p)A cross-section (to avoid spoiling lastSIG)
-#ifdef tdebug
-    G4cout<<"G4QElCS::GetTabV: PDG="<<PDG<<",P="<<p<<",N="<<tgN<<",Z="<<tgZ<<G4endl;
-#endif
-    //if(PDG!=2112 || !tgN || p>.1)      // No Low Energy neutron addition
-    if(PDG==2212)                        // Unique formula for protons
-    {
-      G4double rp16=lastPAR[6]/p16;
-      return (lastPAR[0]*dl*dl+lastPAR[1])/(1.+lastPAR[2]/p)+lastPAR[3]/(p4+lastPAR[4]/p2)
-             + lastPAR[5]/(p5+rp16*rp16)+lastPAR[7]/(p4+lastPAR[8]/p4);
-    }
-    else if(a<6.5)                       // neutrons on light nuclei
-     return (lastPAR[0]*dl*dl+lastPAR[1])/(1.+lastPAR[2]/p)+lastPAR[3]/(p4+lastPAR[4]/p2)+
-            lastPAR[5]/(p5+lastPAR[6]/p8)+lastPAR[7]/(p4+lastPAR[8]);
-    else                                 // neutrons on heavy nuclei
-     return (lastPAR[0]*dl*dl+lastPAR[1])/(1.+lastPAR[2]/p)+lastPAR[3]/(p4+lastPAR[4]/p2)+
-            lastPAR[5]/(p8+lastPAR[6]/p8)+lastPAR[7]/(p2+lastPAR[8]);
-    //else
-    //{
-    //  G4int nI=nn[iZ];
-    //  for(G4int i=0; i<nI; i++) if(tgN==nN[iZ][i])
-    //  {
-    //    G4double kE=p2/dNM;
-#ifdef tdebug
-    //  G4cout<<"G4QECS::GTV:P="<<p<<",E="<<kE<<",X="<<nX[iZ][i]<<",T="<<nT[iZ][i]<<G4endl;
-#endif
-    //    if(kE<nT[iZ][i]) return 0.;    // 0 below the threshold (in MeV)
-    //   if(p<2.) return nX[iZ][i];     // At very low momentum(<2MeV/c) -> only LECS
-    //    return lastPAR[3]/(p4+lastPAR[4]/p2)+lastPAR[5]/(p5+rp16*rp16)+
-    //           lastPAR[7]/(p4+lastPAR[8]/p4)+nX[iZ][i]/(1.+lastPAR[51]*p16);
-    //  }
-    //G4cerr<<"*G4QElCS::GTV:PDG="<<PDG<<",Z="<<tgZ<<",N="<<tgN<<": Sig not found"<<G4endl;
-    //}
-  }
-  else
-  {
-    G4cout<<"*Error*G4QElasticCrossSection::GetTabValues: PDG="<<PDG<<", Z="<<tgZ<<", N="
-          <<tgN<<", while it is defined only for PDG=2212/2112, Z>0, N>0"<<G4endl;
-    throw G4QException("G4QElasticCrossSection::GetTabValues: only NA is implemented");
-  }
-  return 0.;
-} // End of GetTableValues
-
-// Returns max -t=Q2 (GeV^2) for the momentum pP(GeV) and the target nucleus (tgN,tgZ)
-G4double G4QElasticCrossSection::GetQ2max(G4int PDG, G4int tgZ, G4int tgN, G4double pP)
-{
-  static const G4double mNeut= G4QPDGCode(2112).GetMass()*.001; // MeV to GeV
-  static const G4double mProt= G4QPDGCode(2212).GetMass()*.001; // MeV to GeV
-  //static const G4double mLamb= G4QPDGCode(3122).GetMass()*.001; // MeV to GeV
-  //static const G4double mHe3 = G4QPDGCode(2112).GetNuclMass(2,1,0)*.001; // MeV to GeV
-  //static const G4double mAlph = G4QPDGCode(2112).GetNuclMass(2,2,0)*.001; // MeV to GeV
-  //static const G4double mDeut = G4QPDGCode(2112).GetNuclMass(1,1,0)*.001; // MeV to GeV
-  static const G4double mProt2= mProt*mProt;
-  static const G4double mNeut2= mNeut*mNeut;
-  //static const G4double mDeut2= mDeut*mDeut;
-  if(tgZ==0 && tgN==1)                 // Temporary change for Quasi-Elastic
-  {
-    tgZ=1;
-    tgN=1;
-    if     (PDG==2212) PDG=2112;
-    else if(PDG==2112) PDG=2212;
-  }
-  G4double pP2=pP*pP;                                 // squared momentum of the projectile
-  if(PDG==2212 && tgZ==1 && tgN==0)
-  {
-    G4double tMid=std::sqrt(pP2+mProt2)*mProt-mProt2; // CMS 90deg value of -t=Q2 (GeV^2)
-    return tMid+tMid;
-  }
-  else if(PDG==2112 && tgZ==0 && tgN==1)
-  {
-    G4double tMid=std::sqrt(pP2+mNeut2)*mNeut-mNeut2;  // CMS 90deg value of -t=Q2 (GeV^2)
-    return tMid+tMid;
-  }
-  else if(PDG==2112 && (tgZ || tgN))                   // ---> nA
-  {
-    G4double mt=mProt;                                 // Target mass in GeV
-    if(tgN||tgZ>1) mt=G4QPDGCode(90000000+tgZ*1000+tgN).GetMass()*.001; // Target mass GeV
-    G4double dmt=mt+mt;
-    G4double s=dmt*std::sqrt(pP2+mNeut2)+mNeut2+mt*mt; // Mondelstam s (in GeV^2)
-    return dmt*dmt*pP2/s;
-  }
-  else if(PDG==2212 && (tgZ || tgN))                   // ---> pA
-  {
-    G4double mt=G4QPDGCode(90000000+tgZ*1000+tgN).GetMass()*.001; // Target mass in GeV
-    G4double dmt=mt+mt;
-    G4double s=dmt*std::sqrt(pP2+mProt2)+mProt2+mt*mt; // Mondelstam s
-    return dmt*dmt*pP2/s;
-  }
-  else
-  {
-    G4cout<<"*Error*G4QElasticCrossSection::GetQ2max: PDG="<<PDG<<", Z="<<tgZ<<", N="
-          <<tgN<<", while it is defined only for p,n projectiles & Z_target>0"<<G4endl;
-    throw G4QException("G4QElasticCrossSection::GetQ2max: only nA & pA are implemented");
-  }
-}
Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/test/EvaporationTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/test/EvaporationTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,226 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-
-#include <iostream>
-#include <iomanip>
-#include "globals.hh"
-
-#include "G4Evaporation.hh"
-#include "G4NucleiProperties.hh"
-#include "G4Gamma.hh"
-#include "G4Neutron.hh"
-#include "G4Proton.hh"
-#include "G4He3.hh"
-#include "G4Alpha.hh"
-#include "G4Deuteron.hh"
-#include "G4Triton.hh"
-#include "G4Electron.hh"
-#include "G4Fragment.hh"
-#include "G4ParticleTable.hh"
-#include "G4IonTable.hh"
-#include "G4ThreeVector.hh" 
-
-
-int main()
-{
-  G4ParticleDefinition *theGamma = G4Gamma::GammaDefinition();
-  G4ParticleDefinition *theElectron = G4Electron::ElectronDefinition();
-  G4ParticleDefinition *theNeutron = G4Neutron::NeutronDefinition();
-  G4ParticleDefinition *theProton = G4Proton::ProtonDefinition();   
-  G4ParticleDefinition *theDeuteron = G4Deuteron::DeuteronDefinition();
-  G4ParticleDefinition *theTriton = G4Triton::TritonDefinition();
-  G4ParticleDefinition *theHelium3 = G4He3::He3Definition();
-  G4ParticleDefinition *theAlpha = G4Alpha::AlphaDefinition();
-
-
-  theProton->SetCuts(1.0);
-  theGamma->SetCuts(1.0);
-  theElectron->SetCuts(1.0);
-  theNeutron->SetCuts(1.0);
-  theDeuteron->SetCuts(1.0);
-  theTriton->SetCuts(1.0);
-  theHelium3->SetCuts(1.0);
-  theAlpha->SetCuts(1.0);
-
-
-  cout << G4endl << "Evaporation Test program" << G4endl;
- 
-  G4Evaporation * theEvaporation = new G4Evaporation;
-
-  G4int mode = -1;
-  while (mode != 0 && mode != 1) {
-    cout << "Mode (0 or 1): ";
-    G4cin >> mode;
-  }
-
-  cout << G4endl << G4endl << G4endl;
-
-  if (mode == 0) {
-   
-    cout << "A = ";
-    G4int MyA;
-    G4cin >> MyA;
-    cout << "Z = ";
-    G4int MyZ;
-    G4cin >> MyZ;
-    cout << "ExcitationEnergy (MeV) = ";
-    G4double MyExE;
-    G4cin >> MyExE;
-    //    MyExE *= MyA;
-    G4double AtomicMass = G4NucleiProperties::GetAtomicMass(MyA,MyZ)/MeV + MyExE;
-    cout << "Momentum (MeV): " << G4endl;
-    cout << "                Px = ";
-    G4double MyPx;
-    G4cin >> MyPx;
-    cout << "                Py = ";
-    G4double MyPy;
-    G4cin >> MyPy;
-    cout << "                Pz = ";
-    G4double MyPz;
-    G4cin >> MyPz;
-    
-
-    G4ThreeVector triV(MyPx*MeV,MyPy*MeV,MyPz*MeV);
-    //    G4LorentzVector initialMomentum(triV,sqrt(triV.mag2()+AtomicMass*AtomicMass));
-    G4LorentzVector initialMomentum(triV,std::sqrt(triV.mag2()+AtomicMass*AtomicMass*MeV*MeV));
-    
-
-    // put info about excited nucleus in fragment class
-    G4Fragment theExcitedNucleus(MyA,MyZ,initialMomentum);
-
-
-    G4int events = 1;
-    cout << "Iterations: ";
-    G4cin >> events;
-
-    G4double NofP = 0.0;
-    G4double NofN = 0.0;
-
-    for (G4int i = 0; i < events; i++) {
-
-      cout << "Iteration: " << i+1 << G4endl;
-      cout << "----------------" << G4endl;
-      cout << "     Initial fragment" << G4endl;
-      cout << theExcitedNucleus << G4endl << G4endl;
-
-      cout << "     Fragments evaporated" << G4endl << G4endl;
-      // DeExcite the nucleus 
-      G4FragmentVector * theFragVector = theEvaporation->BreakItUp(theExcitedNucleus);
-
-      
-      G4LorentzVector TestMomentum(initialMomentum);
-      for (G4int j=0; j < theFragVector->entries(); j++) {
-	cout << theFragVector->at(j) << G4endl;
-
-	// Test 4-momentum conservation 
-	TestMomentum -= theFragVector->at(j)->GetMomentum();
-
-	// Calculating multiplicities
-	if (theFragVector->at(j)->GetA() == 1 && theFragVector->at(j)->GetZ() == 1) NofP++;
-	else if (theFragVector->at(j)->GetA() == 1 && theFragVector->at(j)->GetZ() == 0) NofN++;
-      }
-
-      cout << "******************" << G4endl;
-      cout << "* Test Momentum = " << TestMomentum << G4endl;
-      cout << "******************" << G4endl;
-      
-      theFragVector->clearAndDestroy();
-      delete theFragVector;
-    }
-
-    G4cout << "Multiplicities: Neutrons -> " << NofN/events << " Protons -> " << NofP/events << G4endl;
-  } else if (mode == 1) {
-
-
-    G4int events = 0;
-    cout << "Number of events: ";
-    G4cin >> events;
-
-    for (G4int i = 0; i < events; i++) {
-
-      cout << "Event number: " << i+1 << G4endl;
-      cout << "--------------------" << G4endl;
-      
-      G4int MyA = RandFlat::shoot(17,200);
-
-      G4int MyZ = RandFlat::shoot(G4NucleiPropertiesTable::MinZ(MyA),
-				  G4NucleiPropertiesTable::MaxZ(MyA));
-
-      G4double AtomicMass = G4NucleiProperties::GetAtomicMass(MyA,MyZ)/MeV;
-      
-      G4double MyExE = RandFlat::shoot(2.0*MyA,10.0*MyA);
-      G4double MyPx = RandFlat::shoot(-2000,2000);
-      G4double MyPy = RandFlat::shoot(-2000,2000);
-      G4double MyPz = RandFlat::shoot(-2000,2000);
-
-      G4ThreeVector triV(MyPx*MeV,MyPy*MeV,MyPz*MeV);
-      G4LorentzVector initialMomentum(triV,std::sqrt(triV.mag2()+
-						(AtomicMass*MeV+MyExE*MeV)*
-						(AtomicMass*MeV+MyExE*MeV))
-				      );
-
-    
-      // put info about excited nucleus in fragment class
-      G4Fragment theExcitedNucleus(MyA,MyZ,initialMomentum);
-      
-      cout << "Excited fragment: "<< G4endl;
-      cout << theExcitedNucleus << G4endl;
-      
-      G4FragmentVector * theFragVector = theEvaporation->BreakItUp(theExcitedNucleus);
-      
-
-      G4LorentzVector TestMomentum(initialMomentum);
-      for (G4int j=0; j < theFragVector->entries(); j++) {
-	//	cout << theFragVector->at(j) << G4endl;
-
-	// Test 4-momentum conservation 
-	TestMomentum -= theFragVector->at(j)->GetMomentum();
-      }
-
-      cout << "******************" << G4endl;
-      cout << "* Test Momentum = " << TestMomentum << G4endl;
-      cout << "******************" << G4endl;
-
-
-
-      theFragVector->clearAndDestroy();
-      delete theFragVector;
-      
-    }
-    
-  }
-
-  delete theEvaporation;
-
-
-  return 0;
-
-}
-
-
-
-
Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/test/G4EvaporationProbabilityTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/test/G4EvaporationProbabilityTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,540 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// -------------------------------------------------------------------
-//      GEANT 4 class file --- Copyright CERN 1998
-//      CERN Geneva Switzerland
-//
-//
-//      File name:     G4EvaporationProbabilityTest.cc 
-//
-//      Author:        Maria Grazia Pia (pia@genova.infn.it), 
-// 
-//      Creation date: 27 October 1998
-//
-//      Modifications: 
-//
-// -------------------------------------------------------------------
-
-#include "globals.hh"
-
-#include "G4ios.hh"
-#include <fstream>
-#include <iomanip>
-#include <iostream>
-
-#include "CLHEP/Hist/TupleManager.h"
-#include "CLHEP/Hist/HBookFile.h"
-#include "CLHEP/Hist/Histogram.h"
-#include "CLHEP/Hist/Tuple.h"
-#include "CLHEP/String/Strings.h"
-#include "G4VEvaporationChannel.hh"
-#include "G4CompetitiveFission.hh"
-
-#include "G4VEvaporationChannel.hh"
-#include "G4EvaporationChannel.hh"
-#include "G4PhotonEvaporation.hh"
-#include "G4DataVector.hh"
-#include "G4LorentzVector.hh"
-#include "G4ThreeVector.hh"
-#include "G4NucleiProperties.hh"
-#include "G4Fragment.hh"
-#include "Randomize.hh"
-#include "G4FragmentVector.hh"
-
-#include "g4rw/tvvector.h"
-
-int main()
-{
-  // MGP ---- HBOOK initialization
-  HepTupleManager* hbookManager;
-  hbookManager = new HBookFile("prob.hbook", 58);
-  assert (hbookManager != 0);
-
-  // MGP ---- Book histograms
-
-  HepHistogram* hGammaE;
-  hGammaE = hbookManager->histogram("Gamma energy", 100,0.,10.);
-  assert (hGammaE != 0);  
-
-  HepHistogram* hNProducts;
-  hNProducts = hbookManager->histogram("Number of products", 20,0.,20.);
-  assert (hNProducts != 0);  
-
-  HepHistogram* hProb;
-  hProb = hbookManager->histogram("Probability * 1.e25", 100,0.,10.);
-  assert (hProb != 0);  
-
-  // MGP ---- Book a ntuple
-  HepTuple* ntuple;
-  ntuple = hbookManager->ntuple("G4EvaporationProbability");
-  assert (ntuple != 0);
-
-  G4int Z;
-  G4int A;
-
-  G4cout << "Enter Z and A" << G4endl;
-  G4cin >> Z >> A;
-
-  assert (Z > 0);
-  assert (A > 0);
-  assert (A > Z);
-  
-  G4int iter;
-  G4cout << "Enter number of iterations " << G4endl;
-  G4cin >> iter;
-  if (iter <1) iter = 1;
-
-  G4int nProbs;
-  G4cout << "Enter max number of channels (0 - 32) " << G4endl;
-  G4cin >> nProbs;
-  if (nProbs < 0 || nProbs > 32) nProbs = 32;
-
-  G4double excMin;
-  G4double excMax;    
-  G4cout << "Enter initial min an max excitation energy" << G4endl;
-  G4cin >> excMin >> excMax;
-  assert (excMin >= 0.);
-  assert (excMax > 0.);
-  assert (excMax >= excMin);
-
-
-  // G4EvaporationProbability for this (Z,A) material
-
-  // Excitation energy levels for each channel
-
-  G4int nExcitedStates = 10;
-
-  G4double zero = 0.;
-
-  G4RWTValVector<G4double> ExcitEnergyChann00(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann01(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann02(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann03(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann04(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann05(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann06(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann07(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann08(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann09(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann10(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann11(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann12(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann13(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann14(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann15(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann16(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann17(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann18(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann19(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann20(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann21(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann22(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann23(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann24(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann25(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann26(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann27(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann28(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann29(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann30(nExcitedStates,zero);
-  G4RWTValVector<G4double> ExcitEnergyChann31(nExcitedStates,zero);
-
-
-  // Spin of excitation energy levels for each channel
-
-  G4int izero = 0;
-
-  G4RWTValVector<G4int> ExcitSpinChann00(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann01(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann02(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann03(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann04(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann05(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann06(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann07(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann08(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann09(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann10(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann11(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann12(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann13(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann14(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann15(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann16(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann17(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann18(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann19(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann20(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann21(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann22(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann23(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann24(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann25(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann26(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann27(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann28(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann29(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann30(nExcitedStates,izero);
-  G4RWTValVector<G4int> ExcitSpinChann31(nExcitedStates,izero);
-
-
-  // (in MeV)
-
-  ExcitEnergyChann09(0) = 3.56;
-
-  ExcitEnergyChann10(0) = 0.48;
-
-  ExcitEnergyChann11(0) = 0.98;
-
-  ExcitEnergyChann12(0) = 0.43;
-  
-  ExcitEnergyChann15(0) = 3.37;
-  ExcitEnergyChann15(1) = 5.96;
-  ExcitEnergyChann15(2) = 6.18;
-  ExcitEnergyChann15(3) = 6.26;
-
-  ExcitEnergyChann17(0) = 0.72;
-  ExcitEnergyChann17(1) = 1.74;
-  ExcitEnergyChann17(2) = 2.15;
-  ExcitEnergyChann17(3) = 3.59;
-
-  ExcitEnergyChann18(0) = 2.13;
-  ExcitEnergyChann18(1) = 4.44;
-  ExcitEnergyChann18(2) = 5.02;
-  ExcitEnergyChann18(3) = 6.76;
-  ExcitEnergyChann18(4) = 7.29;
-  ExcitEnergyChann18(5) = 7.98;
-  ExcitEnergyChann18(6) = 8.56;
-
-  ExcitEnergyChann19(0) = 0.95;
-  ExcitEnergyChann19(1) = 1.67;
-  ExcitEnergyChann19(2) = 6.25;
-
-  ExcitEnergyChann20(0) = 2.00;
-  ExcitEnergyChann20(1) = 4.32;
-  ExcitEnergyChann20(2) = 4.80;
-  ExcitEnergyChann20(3) = 6.34;
-  ExcitEnergyChann20(4) = 6.48;
-  ExcitEnergyChann20(5) = 6.90;
-  ExcitEnergyChann20(6) = 7.50;
-  ExcitEnergyChann20(7) = 8.10;
-  ExcitEnergyChann20(8) = 8.42;
-  ExcitEnergyChann20(9) = 8.66;
-
-  ExcitEnergyChann21(0) = 4.44;
-
-  ExcitEnergyChann22(0) = 3.09;
-  ExcitEnergyChann22(1) = 3.68;
-  ExcitEnergyChann22(2) = 3.85;
-
-  ExcitEnergyChann23(0) = 6.09;
-  ExcitEnergyChann23(1) = 6.69;
-  ExcitEnergyChann23(2) = 6.96;
-  ExcitEnergyChann23(3) = 7.34;
-
-  ExcitEnergyChann25(0) = 2.31;
-  ExcitEnergyChann25(1) = 3.95;
-  ExcitEnergyChann25(2) = 4.92;
-  ExcitEnergyChann25(3) = 5.11;
-  ExcitEnergyChann25(4) = 5.69;
-  ExcitEnergyChann25(5) = 5.83;
-  ExcitEnergyChann25(6) = 6.20;
-  ExcitEnergyChann25(7) = 6.44;
-  ExcitEnergyChann25(8) = 7.03;
-
-  ExcitEnergyChann26(0) = 5.28;
-  ExcitEnergyChann26(1) = 6.32;
-  ExcitEnergyChann26(2) = 7.22;
-  ExcitEnergyChann26(3) = 7.57;
-  ExcitEnergyChann26(4) = 8.31;
-  ExcitEnergyChann26(5) = 8.57;
-  ExcitEnergyChann26(6) = 9.15;
-  ExcitEnergyChann26(7) = 9.79;
-  ExcitEnergyChann26(8) = 10.0;
-
-  ExcitEnergyChann27(0) = 0.12;
-  ExcitEnergyChann27(1) = 0.30;
-  ExcitEnergyChann27(2) = 0.40;
-
-  ExcitEnergyChann28(0) = 5.22;
-  ExcitEnergyChann28(1) = 6.18;
-  ExcitEnergyChann28(2) = 6.83;
-  ExcitEnergyChann28(3) = 7.28;
-
-  ExcitEnergyChann29(0) = 6.10;
-  ExcitEnergyChann29(1) = 6.92;
-  ExcitEnergyChann29(2) = 7.12;
-
-  ExcitEnergyChann30(0) = 0.87;
-  ExcitEnergyChann30(1) = 3.06;
-  ExcitEnergyChann30(2) = 3.84;
-
-  ExcitEnergyChann31(0) = 1.98;
-  ExcitEnergyChann31(1) = 3.57;
-  ExcitEnergyChann31(2) = 3.92;
-  ExcitEnergyChann31(3) = 4.46;
-  ExcitEnergyChann31(4) = 5.10;
-  ExcitEnergyChann31(5) = 5.33;
-  ExcitEnergyChann31(6) = 5.53;
-  ExcitEnergyChann31(7) = 6.20;
-  ExcitEnergyChann31(8) = 6.38;
-  ExcitEnergyChann31(9) = 6.88;
-
-
-  ExcitSpinChann09(0) = 1;
-
-  ExcitSpinChann10(0) = 2;
-
-  ExcitSpinChann11(0) = 3;
-
-  ExcitSpinChann12(0) = 2;
-
-  ExcitSpinChann15(0) = 5;
-  ExcitSpinChann15(1) = 8;
-  ExcitSpinChann15(2) = 1;
-  ExcitSpinChann15(3) = 5;
-
-  ExcitSpinChann17(0) = 3;
-  ExcitSpinChann17(1) = 1;
-  ExcitSpinChann17(2) = 3;
-  ExcitSpinChann17(3) = 5;
-
-  ExcitSpinChann18(0) = 2;
-  ExcitSpinChann18(1) = 6;
-  ExcitSpinChann18(2) = 4;
-  ExcitSpinChann18(3) = 10;
-  ExcitSpinChann18(4) = 6;
-  ExcitSpinChann18(5) = 4;
-  ExcitSpinChann18(6) = 6;
-
-  ExcitSpinChann19(0) = 5;
-  ExcitSpinChann19(1) = 5;
-  ExcitSpinChann19(2) = 4;
-
-  ExcitSpinChann20(0) = 2;
-  ExcitSpinChann20(1) = 6;
-  ExcitSpinChann20(2) = 4;
-  ExcitSpinChann20(3) = 2;
-  ExcitSpinChann20(4) = 8;
-  ExcitSpinChann20(5) = 6;
-  ExcitSpinChann20(6) = 4;
-  ExcitSpinChann20(7) = 4;
-  ExcitSpinChann20(8) = 6;
-  ExcitSpinChann20(9) = 8;
-
-  ExcitSpinChann21(0) = 5;
-
-  ExcitSpinChann22(0) = 2;
-  ExcitSpinChann22(1) = 4;
-  ExcitSpinChann22(2) = 6;
-
-  ExcitSpinChann23(0) = 3;
-  ExcitSpinChann23(1) = 8;
-  ExcitSpinChann23(2) = 6;
-  ExcitSpinChann23(3) = 5;
-
-  ExcitSpinChann25(0) = 1;
-  ExcitSpinChann25(1) = 3;
-  ExcitSpinChann25(2) = 1;
-  ExcitSpinChann25(3) = 5;
-  ExcitSpinChann25(4) = 3;
-  ExcitSpinChann25(5) = 7;
-  ExcitSpinChann25(6) = 3;
-  ExcitSpinChann25(7) = 7;
-  ExcitSpinChann25(8) = 5;
-
-  ExcitSpinChann26(0) = 8;
-  ExcitSpinChann26(1) = 4;
-  ExcitSpinChann26(2) = 10;
-  ExcitSpinChann26(3) = 8;
-  ExcitSpinChann26(4) = 2;
-  ExcitSpinChann26(5) = 4;
-  ExcitSpinChann26(6) = 14;
-  ExcitSpinChann26(7) = 14;
-  ExcitSpinChann26(8) = 8;
-
-  ExcitSpinChann27(0) = 1;
-  ExcitSpinChann27(1) = 7;
-  ExcitSpinChann27(2) = 3;
-
-  ExcitSpinChann28(0) = 8;
-  ExcitSpinChann28(1) = 4;
-  ExcitSpinChann28(2) = 10;
-  ExcitSpinChann28(3) = 8;
-
-  ExcitSpinChann29(0) = 8;
-  ExcitSpinChann29(1) = 5;
-  ExcitSpinChann29(2) = 3;
-
-  ExcitSpinChann30(0) = 2;
-  ExcitSpinChann30(1) = 2;
-  ExcitSpinChann30(2) = 6;
-
-  ExcitSpinChann31(0) = 5;
-  ExcitSpinChann31(1) = 10;
-  ExcitSpinChann31(2) = 5;
-  ExcitSpinChann31(3) = 3;
-  ExcitSpinChann31(4) = 7;
-  ExcitSpinChann31(5) = 13;
-  ExcitSpinChann31(6) = 5;
-  ExcitSpinChann31(7) = 3;
-  ExcitSpinChann31(8) = 12;
-  ExcitSpinChann31(9) = 1;
-
-  G4RWTPtrOrderedVector<G4VEvaporationChannel>* theChannels = new G4RWTPtrOrderedVector<G4VEvaporationChannel>;
-
-  //                                        |Gamma|A| Z| 
-  //                                        +-----+-+--+
-
-  theChannels->insert(new G4EvaporationChannel(  2,  1, 0, &ExcitEnergyChann00, &ExcitSpinChann00)); // n
-  theChannels->insert(new G4EvaporationChannel(  2,  1, 1, &ExcitEnergyChann01, &ExcitSpinChann01)); // p
-  theChannels->insert(new G4EvaporationChannel(  6,  2, 1, &ExcitEnergyChann02, &ExcitSpinChann02)); // H2
-  theChannels->insert(new G4EvaporationChannel(  6,  3, 1, &ExcitEnergyChann03, &ExcitSpinChann03)); // H3
-  theChannels->insert(new G4EvaporationChannel(  6,  3, 2, &ExcitEnergyChann04, &ExcitSpinChann04)); // He3
-  theChannels->insert(new G4EvaporationChannel(  4,  4, 2, &ExcitEnergyChann05, &ExcitSpinChann05)); // He4
-  theChannels->insert(new G4EvaporationChannel( 20,  5, 2, &ExcitEnergyChann06, &ExcitSpinChann06)); // He5
-  theChannels->insert(new G4EvaporationChannel( 30,  6, 2, &ExcitEnergyChann07, &ExcitSpinChann07)); // He6
-  theChannels->insert(new G4EvaporationChannel( 20,  5, 3, &ExcitEnergyChann08, &ExcitSpinChann08)); // Li5
-  theChannels->insert(new G4EvaporationChannel( 54,  6, 3, &ExcitEnergyChann09, &ExcitSpinChann09)); // Li6
-  theChannels->insert(new G4EvaporationChannel( 73,  7, 3, &ExcitEnergyChann10, &ExcitSpinChann10)); // Li7
-  theChannels->insert(new G4EvaporationChannel(101,  8, 3, &ExcitEnergyChann11, &ExcitSpinChann11)); // Li8
-  theChannels->insert(new G4EvaporationChannel( 73,  7, 4, &ExcitEnergyChann12, &ExcitSpinChann12)); // Be7
-  theChannels->insert(new G4EvaporationChannel(  8,  8, 4, &ExcitEnergyChann13, &ExcitSpinChann13)); // Be8
-  theChannels->insert(new G4EvaporationChannel(146,  9, 4, &ExcitEnergyChann14, &ExcitSpinChann14)); // Be9
-  theChannels->insert(new G4EvaporationChannel(100, 10, 4, &ExcitEnergyChann15, &ExcitSpinChann15)); // Be10 
-  theChannels->insert(new G4EvaporationChannel(100,  9, 5, &ExcitEnergyChann16, &ExcitSpinChann16)); // B9
-  theChannels->insert(new G4EvaporationChannel(343, 10, 5, &ExcitEnergyChann17, &ExcitSpinChann17)); // B10
-  theChannels->insert(new G4EvaporationChannel(174, 11, 5, &ExcitEnergyChann18, &ExcitSpinChann18)); // B11
-  theChannels->insert(new G4EvaporationChannel(393, 12, 5, &ExcitEnergyChann19, &ExcitSpinChann19)); // B12
-  theChannels->insert(new G4EvaporationChannel(186, 11, 6, &ExcitEnergyChann20, &ExcitSpinChann20)); // C11
-  theChannels->insert(new G4EvaporationChannel( 61, 12, 6, &ExcitEnergyChann21, &ExcitSpinChann21)); // C12
-  theChannels->insert(new G4EvaporationChannel(202, 13, 6, &ExcitEnergyChann22, &ExcitSpinChann22)); // C13
-  theChannels->insert(new G4EvaporationChannel(113, 14, 6, &ExcitEnergyChann23, &ExcitSpinChann23)); // C14
-  theChannels->insert(new G4EvaporationChannel(213, 13, 7, &ExcitEnergyChann24, &ExcitSpinChann24)); // N13
-  theChannels->insert(new G4EvaporationChannel(233, 14, 7, &ExcitEnergyChann25, &ExcitSpinChann25)); // N14
-  theChannels->insert(new G4EvaporationChannel(180, 15, 7, &ExcitEnergyChann26, &ExcitSpinChann26)); // N15
-  theChannels->insert(new G4EvaporationChannel(696, 16, 7, &ExcitEnergyChann27, &ExcitSpinChann27)); // N16
-  theChannels->insert(new G4EvaporationChannel(194, 15, 8, &ExcitEnergyChann28, &ExcitSpinChann28)); // O15
-  theChannels->insert(new G4EvaporationChannel(120, 16, 8, &ExcitEnergyChann29, &ExcitSpinChann29)); // O16
-  theChannels->insert(new G4EvaporationChannel(458, 17, 8, &ExcitEnergyChann30, &ExcitSpinChann30)); // O17
-  theChannels->insert(new G4EvaporationChannel(590, 18, 8, &ExcitEnergyChann31, &ExcitSpinChann31)); // O18
-  theChannels->insert(new G4CompetitiveFission()); // Fission Channel
-  theChannels->insert(new G4PhotonEvaporation()); // Photon Channel
-
-  G4int nChannels = theChannels->entries();
-
-  G4PhotonEvaporation* photonEvaporation = new G4PhotonEvaporation;
-
-  G4int i;
-  for (i=0; i<iter; i++)
-    {
-      G4double excitation = excMin + G4UniformRand() * (excMax - excMin);
-
-      G4cout << G4endl << "TEST >>>>>>>>> Iteration " << i 
-		 << " <<<<<<<<< Initial excitation " << excitation << G4endl;
-	  
-      G4LorentzVector p4(0.,0.,0.,G4NucleiProperties::GetAtomicMass(A,Z)+excitation);
-      G4Fragment nucleus(A,Z,p4);
-
-      ntuple->column("exc",excitation);
-
-      // Photon evaporation probability
-      photonEvaporation->Initialize(nucleus);
-      G4FragmentVector* products = photonEvaporation->BreakUp(nucleus);
-      G4double probPhoton = photonEvaporation->GetEmissionProbability();
-      G4cout << "TEST: Photon probability = " << probPhoton << G4endl;
-      ntuple->column("probg",probPhoton);
-
-      // Probability for each channel
-
-      G4int n;
-      for (n=0; n<=nProbs; n++)
-	{
-	  G4Fragment initialNucleus(A,Z,p4);
-          theChannels->at(n)->Initialize(initialNucleus);
-	  G4double prob = theChannels->at(n)->GetEmissionProbability();
-	  G4cout << "TEST: probability(" << n << ") = " << prob << G4endl;
-	  ntuple->column("prob"+HepString(n),prob);
-	}
-
-
-      // Fill histograms 
-
-      G4int nProducts = 0;
-      if (products !=0) nProducts = products->entries();
-
-      G4cout << "TEST: " << nProducts << " products generated: gammaE ";
-      
-      G4int ig = 0;
-      for (ig=0; ig<nProducts; ig++)
-	{
-	  G4double productE = products->at(ig)->GetMomentum().e();
-	  G4ThreeVector pProd(products->at(ig)->GetMomentum());
-	  if (products->at(ig)->GetA() < 1)
-	    {
-	      G4cout << productE << " ";
-	      hGammaE->accumulate(productE);
-              ntuple->column("egamma",productE);
-	    }
-	  else
-	    { G4cout << "(" << products->at(ig)->GetZ() << "," << products->at(ig)->GetA() << ") "; }
-	}
-      G4cout << G4endl;
-      
-      ntuple->dumpData();
-      
-      delete products;
-
-    }
-
-  hbookManager->write();
-
-  theChannels->clearAndDestroy();
-  delete theChannels;
-  delete photonEvaporation;
-  
-  return EXIT_SUCCESS;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Index: trunk/source/processes/hadronic/models/de_excitation/evaporation/test/GNUmakefile
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/evaporation/test/GNUmakefile	(revision 1350)
+++ 	(revision )
@@ -1,28 +1,0 @@
-# $Id: GNUmakefile,v 1.1 2003/10/07 12:52:06 lara Exp $
-# ----------------------------------------------------------------
-# Makes test program in environment variable G4TARGET.
-# ----------------------------------------------------------------
-
-ifndef G4TARGET
-  G4TARGET := $(TESTTARGET)
-endif
-
-ifndef G4INSTALL
-  G4INSTALL = ../../../../../../../
-endif
-
-G4EXEC_BUILD = true
-
-include $(G4INSTALL)/config/architecture.gmk
-
-include $(G4INSTALL)/config/binmake.gmk
-
-
-
-
-
-
-
-
-
-
Index: trunk/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4FermiPhaseSpaceDecay.icc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4FermiPhaseSpaceDecay.icc	(revision 1350)
+++ 	(revision )
@@ -1,97 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-// Hadronic Process: Nuclear De-excitations
-// by V. Lara
-
-inline G4FermiPhaseSpaceDecay::G4FermiPhaseSpaceDecay()
-{
-}
-
-inline G4FermiPhaseSpaceDecay::~G4FermiPhaseSpaceDecay()
-{
-}
-
-inline G4FermiPhaseSpaceDecay::G4FermiPhaseSpaceDecay(const G4FermiPhaseSpaceDecay&)
-{
-  // This is meant to not be used
-}
-
-inline const G4FermiPhaseSpaceDecay & 
-G4FermiPhaseSpaceDecay::operator=(const G4FermiPhaseSpaceDecay&)
-{
-  //This is menat to not be used
-  return *this;
-}
-
-inline G4bool 
-G4FermiPhaseSpaceDecay::operator==(const G4FermiPhaseSpaceDecay&)
-{
-  // This is meant to not be used
-  return false;
-}
-
-inline G4bool
-G4FermiPhaseSpaceDecay::operator!=(const G4FermiPhaseSpaceDecay&)
-{
-  // This is meant to not be used
-  return true;
-}
-
-
-inline G4double 
-G4FermiPhaseSpaceDecay::PtwoBody(G4double E, G4double P1, G4double P2) const
-{
-  G4double P = (E+P1+P2)*(E+P1-P2)*(E-P1+P2)*(E-P1-P2)/(4.0*E*E);
-  if (P>0.0) return std::sqrt(P);
-  else return -1.0;
-}
-
-
-inline std::vector<G4LorentzVector*> * G4FermiPhaseSpaceDecay::
-Decay(const G4double parent_mass, const std::vector<G4double>& fragment_masses) const
-{
-  //  if (fragment_masses.size() == 2)  
-  //    {
-  //      return this->TwoBodyDecay(parent_mass,fragment_masses);
-  //    }
-  //  else return this->NBodyDecay(parent_mass,fragment_masses);
-  //  else 
-  //    {
-      return this->KopylovNBodyDecay(parent_mass,fragment_masses);
-      //    }
-}
-
-inline G4double 
-G4FermiPhaseSpaceDecay::BetaKopylov(const G4int K) const
-{
-  // Notice that alpha > beta always
-  const G4double beta = 1.5;
-  G4double alpha = 1.5*(K-1);
-  G4double Y1 = CLHEP::RandGamma::shoot(alpha,1);
-  G4double Y2 = CLHEP::RandGamma::shoot(beta,1);
-  
-  return Y1/(Y1+Y2);
-}
Index: trunk/source/processes/hadronic/models/de_excitation/fermi_breakup/test/G4FermiTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/fermi_breakup/test/G4FermiTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,93 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-
-#include "G4FermiBreakUp.hh"
-
-#include "G4NucleiProperties.hh"
-
-
-
-
-int main()
-{
-  G4int A, Z;
-  
-  std::cout << "Please enter Z : ";
-  std::cin >> Z;
-  std::cout << "Please enter A : ";
-  std::cin >> A;
-  
-  G4double energy;
-
-  std::cout << "Please enter excitation energy (MeV) : ";
-  std::cin >> energy;
-  
-
-  energy *= MeV;
-  
-  G4int iterations;
-  std::cout << "Please enter number of interations : ";
-  std::cin >> iterations;
-  
-  G4double NuclearMass = G4NucleiProperties::GetNuclearMass(A,Z) + energy;
-
-  
-  G4LorentzVector p4(0.0,0.0,0.0,NuclearMass);
-  G4Fragment aFragment(A,Z,p4);
-  
-  G4FermiBreakUp model;
-
-  std::cout << "Excited Nucleus\n";
-  std::cout << aFragment << "\n\n";
-  
-  G4LorentzVector p4null(0.0,0.0,0.0,0.0);
-
-  //  std::ios::fmtflags old_floatfield = std::cout.flags();
-  std::cout.setf(std::ios::scientific,std::ios::floatfield);
-  for (G4int i = 0; i < iterations; ++i)
-    {
-      G4LorentzVector p4cons;
-      p4cons = p4null;
-      std::cout << "############ event " << i+1 << "###########################\n";
-      G4FragmentVector * theResult = model.BreakItUp(aFragment);
-      std::cout << "Number of fragments: " << theResult->size() << '\n';
-      std::cout << "-------------------------------------------\n";
-      for (G4FragmentVector::iterator i = theResult->begin(); i != theResult->end(); ++i)
-        {
-          std::cout << (*i);
-          std::cout << "\n-------------------------------------------\n";
-          p4cons += (*i)->GetMomentum();
-          delete (*i);
-        }
-      delete theResult;
-      std::cout << "        Initial momentum : " << p4/MeV << '\n';
-      std::cout << "Fragments total momentum : " << p4cons/MeV << '\n';
-      std::cout << "            Conservation : " << (p4-p4cons)/MeV << '\n';
-    }
-  return 0;
-}
-
-      
Index: trunk/source/processes/hadronic/models/de_excitation/fermi_breakup/test/GNUmakefile
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/fermi_breakup/test/GNUmakefile	(revision 1350)
+++ 	(revision )
@@ -1,28 +1,0 @@
-# $Id: GNUmakefile,v 1.1 2003/11/03 10:27:05 lara Exp $
-# ----------------------------------------------------------------
-# Makes test program in environment variable G4TARGET.
-# ----------------------------------------------------------------
-
-ifndef G4TARGET
-  G4TARGET := $(TESTTARGET)
-endif
-
-ifndef G4INSTALL
-  G4INSTALL = ../../../../../../../
-endif
-
-G4EXEC_BUILD = true
-
-include $(G4INSTALL)/config/architecture.gmk
-
-include $(G4INSTALL)/config/binmake.gmk
-
-
-
-
-
-
-
-
-
-
Index: trunk/source/processes/hadronic/models/de_excitation/fission/test/G4CompetitiveFissionTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/fission/test/G4CompetitiveFissionTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,87 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-
-#include "globals.hh"
-
-#include "G4ios.hh"
-
-#include "G4CompetitiveFission.hh"
-#include "G4NucleiProperties.hh"
-#include "G4ParticleTable.hh"
-#include "../src/G4FissionParameters.cc"
-
-int main()
-{
-
-  G4int A, Z;
-
-  G4cout << "Please enter Z and A" << G4endl;
-  G4cin >> Z >> A;
-
-  G4int iter;
-  G4cout << "Please enter number of iterations " << G4endl;
-  G4cin >> iter;
-  
-  G4double energy;
-  G4cout << "Please enter the excitation energy" << G4endl;
-  G4cin >> energy;
-
-  G4CompetitiveFission theFission;
-
-  G4int i=0;
-  for (i=0; i<iter; i++)
-  {
-    G4LorentzVector p4(0.,0.,0.,G4ParticleTable::GetParticleTable()->GetIonTable()->GetIonMass( Z, A )+energy);
-    G4Fragment aFragment(A,Z,p4);
-    G4FragmentVector * theResult = theFission.BreakUp(aFragment);
-    int ii=0;
-    for(ii=0; ii<theResult->entries(); ii++)
-    {
-      G4cout <<theResult->at(ii)->GetA() << " "<<theResult->at(ii)->GetZ() << G4endl;
-      delete theResult->at(ii);
-    }
-    delete theResult;
-  }
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Index: trunk/source/processes/hadronic/models/de_excitation/fission/test/GNUmakefile
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/fission/test/GNUmakefile	(revision 1350)
+++ 	(revision )
@@ -1,28 +1,0 @@
-# $Id: GNUmakefile,v 1.1 2003/10/07 12:53:08 lara Exp $
-# ----------------------------------------------------------------
-# Makes test program in environment variable G4TARGET.
-# ----------------------------------------------------------------
-
-ifndef G4TARGET
-  G4TARGET := $(TESTTARGET)
-endif
-
-ifndef G4INSTALL
-  G4INSTALL = ../../../../../../../
-endif
-
-G4EXEC_BUILD = true
-
-include $(G4INSTALL)/config/architecture.gmk
-
-include $(G4INSTALL)/config/binmake.gmk
-
-
-
-
-
-
-
-
-
-
Index: trunk/source/processes/hadronic/models/de_excitation/handler/test/G4ExcitationHandlerTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/handler/test/G4ExcitationHandlerTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,217 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// -------------------------------------------------------------------
-//      GEANT 4 class file --- Copyright CERN 1998
-//      CERN Geneva Switzerland
-//
-//
-//      File name:     G4ExcitationHandlerTest.cc 
-//
-//      Author:        Maria Grazia Pia (pia@genova.infn.it), 
-// 
-//      Creation date: 27 October 1998
-//
-//      Modifications: 
-//
-// -------------------------------------------------------------------
-
-#include "globals.hh"
-
-#include "G4ios.hh"
-#include <fstream>
-#include <iomanip>
-#include <iostream>
-
-#include "CLHEP/Hist/TupleManager.h"
-#include "CLHEP/Hist/HBookFile.h"
-#include "CLHEP/Hist/Histogram.h"
-#include "CLHEP/Hist/Tuple.h"
-#include "CLHEP/String/Strings.h"
-#include "G4VEvaporationChannel.hh"
-#include "G4CompetitiveFission.hh"
-
-#include "G4ReactionProductVector.hh"
-#include "G4ReactionProduct.hh"
-#include "G4DynamicParticleVector.hh"
-#include "G4DynamicParticle.hh"
-#include "G4ParticleDefinition.hh"
-
-#include "G4ExcitationHandler.hh"
-#include "G4EvaporationChannel.hh"
-#include "G4PhotonEvaporation.hh"
-#include "G4DataVector.hh"
-#include "G4LorentzVector.hh"
-#include "G4ThreeVector.hh"
-#include "G4NucleiProperties.hh"
-#include "G4Fragment.hh"
-#include "Randomize.hh"
-#include "G4Material.hh"
-#include "G4Element.hh"
-#include "G4FragmentVector.hh"
-#include "G4ParticleDefinition.hh"
-#include "G4IonTable.hh"
-#include "G4Electron.hh"
-#include "G4Proton.hh"
-#include "G4Neutron.hh"
-#include "G4ParticleTypes.hh"
-#include "G4IonTable.hh"
-#include "G4GenericIon.hh"
-#include "G4NucleiPropertiesTable.hh"
-
-#include "g4rw/tvvector.h"
-
-int main()
-{
-  // MGP ---- HBOOK initialization
-  HepTupleManager* hbookManager;
-  hbookManager = new HBookFile("handler.hbook", 58);
-  assert (hbookManager != 0);
-
-  // MGP ---- Book histograms
-
-  HepHistogram* hGammaE;
-  hGammaE = hbookManager->histogram("Gamma energy", 200,0.,20.);
-  assert (hGammaE != 0);  
-
-  HepHistogram* hNProducts;
-  hNProducts = hbookManager->histogram("Number of products", 100,0.,100.);
-  assert (hNProducts != 0);  
-
-  HepHistogram* hProb;
-  hProb = hbookManager->histogram("Probability * 1.e25", 100,0.,10.);
-  assert (hProb != 0);  
-
-  // MGP ---- Book a ntuple
-  HepTuple* ntuple;
-  ntuple = hbookManager->ntuple("G4ExcitationHandler");
-  assert (ntuple != 0);
-
-  G4int Z;
-  G4int A;
-
-  G4cout << "Enter Z and A" << G4endl;
-  G4cin >> Z >> A;
-
-  assert (Z > 0);
-  assert (A > 0);
-  assert (A > Z);
-  
-  G4int iter;
-  G4cout << "Enter number of iterations " << G4endl;
-  G4cin >> iter;
-  if (iter <1) iter = 1;
-
-  G4double excMin;
-  G4double excMax;    
-  G4cout << "Enter initial min an max excitation energy" << G4endl;
-  G4cin >> excMin >> excMax;
-  assert (excMin >= 0.);
-  assert (excMax > 0.);
-  assert (excMax >= excMin);
-
-  G4ParticleDefinition *theElectron = G4Electron::ElectronDefinition();
-  G4ParticleDefinition* ion  = G4GenericIon::GenericIonDefinition();
-  G4ParticleTable* theTableOfParticles;
-  theTableOfParticles = G4ParticleTable::GetParticleTable();
-  G4IonTable* theTable = new G4IonTable();
-
-  // G4ExcitationHandler for this (Z,A) material
-  // Excitation energy levels for each channel
-
-  G4int i;
-  for (i=0; i<iter; i++)
-    {
-      G4double excitation = excMin + G4UniformRand() * (excMax - excMin);
-
-      G4cout << G4endl << "TEST >>>>>>>>> Iteration " << i 
-	     << " <<<<<<<<< Initial excitation " << excitation << G4endl;
-
-      G4double px = 0.;
-      G4double py = 0.;
-      G4double pz = 0.;
-
-      G4ThreeVector p(px,py,pz);
-      G4double nuclearMass = G4NucleiProperties::GetNuclearMass(A,Z);
-      G4LorentzVector p4(p,std::sqrt((nuclearMass+excitation)*(nuclearMass+excitation)));
-
-      G4Fragment nucleus(A,Z,p4);
-
-      G4ExcitationHandler* handler = new G4ExcitationHandler;
-      //      G4DynamicParticleVector* products = handler->BreakItUp(nucleus);
-      G4ReactionProductVector* products = handler->BreakItUp(nucleus);
-
-      // Fill histograms 
-
-      G4int nProducts = 0;
-      if (products !=0) nProducts = products->entries();
-
-      G4cout << nProducts << " products: gammaE ";
-      
-      G4int ig = 0;
-      for (ig=0; ig<nProducts; ig++)
-	{
-	  if (products->at(ig)->GetDefinition() == G4Gamma::GammaDefinition())
-	    {
-	      //	      G4double productE = products->at(ig)->Get4Momentum().e();
-	      G4double productE = products->at(ig)->GetTotalEnergy();
-	      G4cout << productE << " ";
-	      hGammaE->accumulate(productE);
-              ntuple->column("egamma",productE);
-	      ntuple->dumpData();
-	    }
-	}
-      G4cout << G4endl;
-      
-      delete handler;
-      products->clearAndDestroy();
-      delete products;
-    }
-
-  hbookManager->write();
-
-  
-  return EXIT_SUCCESS;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Index: trunk/source/processes/hadronic/models/de_excitation/handler/test/GNUmakefile
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/handler/test/GNUmakefile	(revision 1350)
+++ 	(revision )
@@ -1,28 +1,0 @@
-# $Id: GNUmakefile,v 1.1 2003/10/07 12:54:57 lara Exp $
-# ----------------------------------------------------------------
-# Makes test program in environment variable G4TARGET.
-# ----------------------------------------------------------------
-
-ifndef G4TARGET
-  G4TARGET := $(TESTTARGET)
-endif
-
-ifndef G4INSTALL
-  G4INSTALL = ../../../../../../../
-endif
-
-G4EXEC_BUILD = true
-
-include $(G4INSTALL)/config/architecture.gmk
-
-include $(G4INSTALL)/config/binmake.gmk
-
-
-
-
-
-
-
-
-
-
Index: trunk/source/processes/hadronic/models/de_excitation/multifragmentation/test/G4MultiFragTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/multifragmentation/test/G4MultiFragTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,95 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-
-#include "G4StatMF.hh"
-
-#include "G4NucleiProperties.hh"
-
-
-
-
-int main()
-{
-  G4int A, Z;
-  
-  std::cout << "Please enter Z : ";
-  std::cin >> Z;
-  std::cout << "Please enter A : ";
-  std::cin >> A;
-  
-  G4double energy;
-
-  std::cout << "Please enter excitation energy per nucleon (MeV) : ";
-  std::cin >> energy;
-  
-
-  energy *= static_cast<G4double>(A)*MeV;
-  
-  G4int iterations;
-  std::cout << "Please enter number of interations : ";
-  std::cin >> iterations;
-  
-  G4double NuclearMass = G4NucleiProperties::GetNuclearMass(A,Z) + energy;
-
-  
-  G4LorentzVector p4(0.0,0.0,0.0,NuclearMass);
-  G4Fragment aFragment(A,Z,p4);
-  
-  G4StatMF model;
-
-  std::cout << "Excited Nucleus\n";
-  std::cout << aFragment << "\n\n";
-  
-  G4LorentzVector p4null(0.0,0.0,0.0,0.0);
-  G4double multiplicity = 0.0;
-  
-  for (G4int i = 0; i < iterations; ++i)
-    {
-      G4LorentzVector p4cons;
-      p4cons = p4null;
-      std::cout << "############ event " << i+1 << "###########################\n";
-      G4FragmentVector * theResult = model.BreakItUp(aFragment);
-      std::cout << "Number of fragments: " << theResult->size() << '\n';
-      std::cout << "-------------------------------------------\n";
-      multiplicity += static_cast<G4double>(theResult->size());
-      for (G4FragmentVector::iterator i = theResult->begin(); i != theResult->end(); ++i)
-        {
-          std::cout << (*i);
-          std::cout << "\n-------------------------------------------\n";
-          p4cons += (*i)->GetMomentum();
-          delete (*i);
-        }
-      delete theResult;
-      std::cout << "        Initial momentum : " << p4 << '\n';
-      std::cout << "Fragments total momentum : " << p4cons << '\n';
-      std::cout << "            Conservation : " << p4-p4cons << '\n';
-    }
-  std::cout << "\n###########################################\n";
-  std::cout << "       Mean multiplicity : " << multiplicity/static_cast<G4double>(iterations) << '\n';
-  return 0;
-}
-
-      
Index: trunk/source/processes/hadronic/models/de_excitation/multifragmentation/test/GNUmakefile
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/multifragmentation/test/GNUmakefile	(revision 1350)
+++ 	(revision )
@@ -1,37 +1,0 @@
-# $Id: GNUmakefile,v 1.2 2008/07/25 11:43:17 vnivanch Exp $
-# ----------------------------------------------------------------
-# Makes test program in environment variable G4TARGET.
-# ----------------------------------------------------------------
-
-ifndef G4TARGET
-  G4TARGET := $(TESTTARGET)
-endif
-
-ifndef G4INSTALL
-  G4INSTALL = ../../../../../../../
-endif
-
-G4EXEC_BUILD = true
-
-ifdef G4ANALYSIS_USE_ROOT
-  CPPFLAGS += -DG4ANALYSIS_USE_ROOT
-endif
-
-include $(G4INSTALL)/config/architecture.gmk
-
-ifdef G4ANALYSIS_USE_ROOT
-  CPPFLAGS += $(shell $(ROOTSYS)/bin/root-config --cflags)
-  LDFLAGS  += $(shell $(ROOTSYS)/bin/root-config --glibs)
-endif
-
-include $(G4INSTALL)/config/binmake.gmk
-
-
-
-
-
-
-
-
-
-
Index: trunk/source/processes/hadronic/models/de_excitation/multifragmentation/test/MFTestHisto.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/multifragmentation/test/MFTestHisto.cc	(revision 1350)
+++ 	(revision )
@@ -1,126 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// Igor Pshenichnov 10.05.2008
-// This main{} used to run standalone tests for multifragmentation of excited nuclei
-// ROOT installation is reqired
-  
-
-#include "G4StatMF.hh"
-#include "G4NucleiProperties.hh"
-#include "MFTestHistoManager.hh"
-#include "Randomize.hh"
-
-#ifdef G4ANALYSIS_USE_ROOT
-#include "TFile.h"
-#include "TH1D.h"
-#include "TH2D.h" 
-#endif
-
-#include "MFTestHistoManager.cc"
-
-int main()
-{
-  // The user will be asked for the charge and mass of the hot nuclear system to
-  // simulate decay. 
-
-  MFTestHistoManager histoManager;
-
-  // Histograms will be booked now.
-  histoManager.BookHisto();
-
-  G4int A = histoManager.GetA();
-  G4int Z = histoManager.GetZ();
-    
-  G4StatMF model;
-
-  G4LorentzVector p4null(0.0,0.0,0.0,0.0);
-
-
-  G4double totalNumFragments = 0.;
-  G4int thisEventNumFragments = 0;
-
-  G4int iterations = histoManager.GetIterations();
-
-  std::cout.setf(std::ios::scientific,std::ios::floatfield);
-
-  for (G4int i = 0; i < iterations; ++i) {
-
-  G4double energy = (histoManager.GetUpEn() - histoManager.GetLowEn())*G4UniformRand() 
-                                                             + histoManager.GetLowEn();
-
-  G4double NuclearMass = G4NucleiProperties::GetNuclearMass(A,Z) + energy;
-  G4LorentzVector p4(0.0,0.0,0.0,NuclearMass);
-  G4Fragment aFragment(A,Z,p4);
-                                                          
-  G4LorentzVector p4cons;
-  p4cons = p4null;
-      
-  G4FragmentVector * theResult = model.BreakItUp(aFragment);
-  thisEventNumFragments = theResult->size();
-  if ( i%100 == 0 ) std::cout << "### event " << i << " at " 
-			      << energy/A << " MeV/nucleon" 
-			      << " with "<< thisEventNumFragments <<" fragments #####\n";
-  histoManager.fill(0,energy/A,thisEventNumFragments);
-
-  totalNumFragments += thisEventNumFragments;
- 
-  for (G4FragmentVector::iterator i = theResult->begin(); i != theResult->end(); ++i)
-    {
-      p4cons += (*i)->GetMomentum();
-
-      G4double thisFragmentZ = (*i)->GetZ();
-      G4double thisFragmentA = (*i)->GetA();
-      histoManager.fill2(0,energy/A,thisFragmentZ,1.);
-      histoManager.fill2(1,energy/A,thisFragmentA,1.);
-     
-      histoManager.fill(3,thisFragmentA,thisFragmentZ);
-      histoManager.fill(4,thisFragmentA,1.);
-       
-      if ( (int)thisFragmentZ == 6 && (int)thisFragmentA == 10) {
-	histoManager.fill(1,energy/A,1.);
-      }
-      if ( (int)thisFragmentZ == 6 && (int)thisFragmentA == 11) {
-	histoManager.fill(2,energy/A,1.);
-      }
-                      
-      delete (*i);
-    }
-  delete theResult;
-  }
-
-  std::cout << " ------------------------------------------------------------------  " << '\n';
-  std::cout << " Average fragment multiplicty for the whole energy range: " 
-	    << totalNumFragments/iterations << '\n';
-  
-  histoManager.NormalizeHisto();
-  histoManager.CleanHisto();
-
-  return 0;
-}
-
-
-      
Index: trunk/source/processes/hadronic/models/de_excitation/multifragmentation/test/MFTestHistoManager.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/multifragmentation/test/MFTestHistoManager.cc	(revision 1350)
+++ 	(revision )
@@ -1,181 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// Igor Pshenichnov 01.12.2006
-
-#include "MFTestHistoManager.hh"
-
-#ifdef G4ANALYSIS_USE_ROOT
-#include "TFile.h"
-#include "TH1D.h"
-#include "TH2D.h" 
-#endif
-
-MFTestHistoManager::MFTestHistoManager()
-  : Z(0), A(0), lowLimitExEn(-1.), upperLimitExEn(-1.), binsExEn(1), eventsPerBin(1) 
-{  
-  std::cout << "######### Test the Statistical Multifragmentation model of GEANT4" << G4endl;
-
-  while ( (Z<8) || (Z>100) )  {
-  std::cout << "Please choose Z from 8 to 100: ";
-  std::cin >> Z;
-  }
-
-  while ( (A<16) || (A>250) ) {
-  std::cout << "Please choose A from 16 to 250: ";
-  std::cin >> A;
-  }
-
-  while ( (lowLimitExEn<0.) || (lowLimitExEn>100.) ) {
-  std::cout << "Please choose the low limit for the range of excitation energy (per nucleon in MeV) : from 0 to 100: ";
-  std::cin >> lowLimitExEn;
-  }
-
-  while ( (upperLimitExEn<0.) || (upperLimitExEn>100.) || (upperLimitExEn<lowLimitExEn) ) {
-  std::cout << "Please choose the upper limit for the range of excitation energy (per nucleon in MeV) : from 0 to 100: ";
-  std::cin >> upperLimitExEn;
-  }
-  lowLimitExEn *= A;
-  lowLimitExEn *= MeV;
-  upperLimitExEn *=A;
-  upperLimitExEn *=MeV;
-
-
-  while ( (binsExEn<10) || (binsExEn>10000) ) {
-  std::cout << "Please choose the number of bins in histograms (10 - 1000): ";
-  std::cin >> binsExEn;
-  }
-
-  while ( (eventsPerBin<10) || (eventsPerBin>10000) ) {
-  std::cout << "Please enter the average number of break-up events in each bin (10 - 10000): ";
-  std::cin >> eventsPerBin;
-  } 
-  iterations = binsExEn*eventsPerBin;
-
-  std::cout << "Please enter the file name to write histograms (.root will be supplied): ";
-  std::cin >> fileName;
- 
-#ifdef G4ANALYSIS_USE_ROOT
-  for (G4int j=0; j<20; j++) histo[j] = 0;
-  for (G4int l=0; l<10; l++) histo2[l] = 0;
-#endif
-
-}
-
-
-MFTestHistoManager::~MFTestHistoManager()
-{}
-
-void MFTestHistoManager::BookHisto()
-{
-#ifdef G4ANALYSIS_USE_ROOT
-
-  // Open a file to keep histograms inside it ... 
-
-  if ( fileName == "") fileName = "MFTest";
-  fileType = "root";
-
-  fileFullName = fileName+"."+fileType;
-  compressionFactor = 8;
-  fFile = new TFile(fileFullName, "RECREATE", fileName, compressionFactor);
-  G4cout << "Histograms will be written to " << fileFullName << G4endl;
-
-  // Book all histograms there ...
-
-  histo[0] =  new TH1D("multip","Average multiplicity",binsExEn,lowLimitExEn/A,upperLimitExEn/A);
-  histo[1] =  new TH1D("C10","Yield of C-10",binsExEn,lowLimitExEn/A,upperLimitExEn/A);
-  histo[2] =  new TH1D("C11","Yield of C-11",binsExEn,lowLimitExEn/A,upperLimitExEn/A);
-  histo[3] =  new TH1D("<Z>(A)","aver Z for given A", A+2, -0.5, A+1.5);
-  histo[4] =  new TH1D("NofE(A)","Number of entries for each A",  A+2, -0.5, A+1.5);
-
-  histo2[0] = new TH2D("Z", "Charge distribution of fragments",
-		       binsExEn,lowLimitExEn/A,upperLimitExEn/A,
-		       Z+2, -0.5, Z+1.5);
-  histo2[1] = new TH2D("A", "Mass distribution of fragments",
-		       binsExEn,lowLimitExEn/A,upperLimitExEn/A,
-		       A+2, -0.5, A+1.5);
-
-#endif  
-}
-
-void MFTestHistoManager::NormalizeHisto()
-{
-#ifdef G4ANALYSIS_USE_ROOT
-
-  // Divide by the number of events in each energy bin:
- 
-  G4double factor = 1./eventsPerBin;
-
-  histo[0]->Scale(factor);
-  histo[1]->Scale(factor);
-  histo[2]->Scale(factor);
-  histo2[0]->Scale(factor);
-  histo2[1]->Scale(factor);
-
-  // Special procedure to calculate the average Z for given A
-
-  G4double content = 0.;
-  G4double NofEventsInTheBin = 0.;
-  
-  for (G4int i=0; i<=histo[3]->GetNbinsX(); i++){
-   
-    content = histo[3]->GetBinContent(i);
-    NofEventsInTheBin = histo[4]->GetBinContent(i);
-
-    if (NofEventsInTheBin > 0.) {
-      content /= NofEventsInTheBin;
-      histo[3]->SetBinContent(i,content); 
-    }
-  }; 
- 
-#endif   
-
-}
-
-void MFTestHistoManager::CleanHisto()
-{
-#ifdef G4ANALYSIS_USE_ROOT
-  fFile->Write();
-  G4cout << "\n----> Histograms were written into the file " << fileFullName << G4endl;
-  //  delete [] histo;
-  //  delete [] histo2;
-  delete fFile;
-#endif
-}
-
-void MFTestHistoManager::fill(G4int i, G4double x, G4double y)
-{
-#ifdef G4ANALYSIS_USE_ROOT
-  histo[i]->Fill(x,y);
-#endif
-}
-  
-void MFTestHistoManager::fill2(G4int i, G4double x, G4double y, G4double z)
-{
-#ifdef G4ANALYSIS_USE_ROOT
-  histo2[i]->Fill(x,y,z);
-#endif
-}
Index: trunk/source/processes/hadronic/models/de_excitation/multifragmentation/test/MFTestHistoManager.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/multifragmentation/test/MFTestHistoManager.hh	(revision 1350)
+++ 	(revision )
@@ -1,91 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// Igor Pshenichnov 01.12.2006
-
-#ifndef MFTestHistoManager_h
-#define MFTestHistoManager_h 1
-
-#include "globals.hh"
-
-class TFile;
-class TH1D;
-class TH2D;
-
-class MFTestHistoManager
-{
-  public:
-
-  MFTestHistoManager();
-   ~MFTestHistoManager();
-
-#ifdef G4ANALYSIS_USE_ROOT
-  TH1D* GetHisto(G4int id) {return histo[id];};
-  TH2D* GetHisto2(G4int id) {return histo2[id];};
-#endif
-       
-  void BookHisto();
-  void NormalizeHisto();
-  void CleanHisto();
-
-  void fill(G4int i, G4double x, G4double y);
-  void fill2(G4int i, G4double x, G4double y, G4double z);
-
-  inline G4int GetZ()    {return Z;};
-  inline G4int GetA()    {return A;};
-  inline G4int GetIterations()  {return iterations;};
-  inline G4double GetLowEn() {return lowLimitExEn;};
-  inline G4double GetUpEn() {return upperLimitExEn;};
-
-
-  
-  private:
-
-#ifdef G4ROOT_USE
-  TFile* fFile;
-  TH1D*  histo[20];
-  TH2D*  histo2[10];   
-#endif
-
-
-  G4int Z;
-  G4int A;
-  G4int iterations; 
-   
-  G4String fileName;
-  G4String fileType;
-
-  G4String     fileFullName;
-  G4int        compressionFactor;
-
-  G4double lowLimitExEn;
-  G4double upperLimitExEn;
-  G4int    binsExEn;
-  G4int    eventsPerBin;      
-
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4DummyProbability.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4DummyProbability.hh	(revision 1350)
+++ 	(revision )
@@ -1,66 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-//
-
-#ifndef G4DummyProbability_hh
-#define G4DummyProbability_hh
-
-#include "globals.hh"
-#include "G4VEmissionProbability.hh"
-#include "G4Fragment.hh"
-#include "G4VLevelDensityParameter.hh"
-
-class G4DummyProbability : public G4VEmissionProbability
-{
-
-public:
-
-  G4DummyProbability() {};
-
-  ~G4DummyProbability();
-
-  G4double EmissionProbability(const G4Fragment& frag, const G4double excite);
-  G4double EmissionProbDensity(const G4Fragment& frag, const G4double ePhoton);
-
-private:
-
-  // G4DummyProbability() {};
-
-  G4DummyProbability(const G4DummyProbability& right);
-
-  const G4DummyProbability& operator=(const G4DummyProbability& right);
-  G4bool operator==(const G4DummyProbability& right) const;
-  G4bool operator!=(const G4DummyProbability& right) const;
-
-};
-
-#endif
-
-
-
-
-
Index: trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1Probability001.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1Probability001.hh	(revision 1350)
+++ 	(revision )
@@ -1,69 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-//
-
-#ifndef G4E1Probability001_hh
-#define G4E1Probability001_hh
-
-#include "globals.hh"
-#include "G4VEmissionProbability.hh"
-#include "G4Fragment.hh"
-#include "G4VLevelDensityParameter.hh"
-
-class G4E1Probability001 : public G4VEmissionProbability
-{
-
-public:
-
-  G4E1Probability001() {};
-
-  ~G4E1Probability001();
-
-  G4double EmissionProbability(const G4Fragment& frag, const G4double excite);
-  G4double EmissionProbDensity(const G4Fragment& frag, const G4double ePhoton);
-
-private:
-
-  // G4E1Probability001() {};
-
-  G4E1Probability001(const G4E1Probability001& right);
-
-  const G4E1Probability001& operator=(const G4E1Probability001& right);
-  G4bool operator==(const G4E1Probability001& right) const;
-  G4bool operator!=(const G4E1Probability001& right) const;
-
-  // Integrator (simple Gaussian quadrature)
-
-  G4double EmissionIntegration(const G4Fragment& frag, const G4double excite,
-                               const G4double lowLim, const G4double upLim,
-                               const G4int numIters);
-
-  // G4VLevelDensityParameter* _levelDensity; // Don't need this
-
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1Probability01.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1Probability01.hh	(revision 1350)
+++ 	(revision )
@@ -1,69 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-//
-
-#ifndef G4E1Probability01_hh
-#define G4E1Probability01_hh
-
-#include "globals.hh"
-#include "G4VEmissionProbability.hh"
-#include "G4Fragment.hh"
-#include "G4VLevelDensityParameter.hh"
-
-class G4E1Probability01 : public G4VEmissionProbability
-{
-
-public:
-
-  G4E1Probability01() {};
-
-  ~G4E1Probability01();
-
-  G4double EmissionProbability(const G4Fragment& frag, const G4double excite);
-  G4double EmissionProbDensity(const G4Fragment& frag, const G4double ePhoton);
-
-private:
-
-  // G4E1Probability01() {};
-
-  G4E1Probability01(const G4E1Probability01& right);
-
-  const G4E1Probability01& operator=(const G4E1Probability01& right);
-  G4bool operator==(const G4E1Probability01& right) const;
-  G4bool operator!=(const G4E1Probability01& right) const;
-
-  // Integrator (simple Gaussian quadrature)
-
-  G4double EmissionIntegration(const G4Fragment& frag, const G4double excite,
-                               const G4double lowLim, const G4double upLim,
-                               const G4int numIters);
-
-  // G4VLevelDensityParameter* _levelDensity; // Don't need this
-
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1Probability10.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1Probability10.hh	(revision 1350)
+++ 	(revision )
@@ -1,69 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-//
-
-#ifndef G4E1Probability10_hh
-#define G4E1Probability10_hh
-
-#include "globals.hh"
-#include "G4VEmissionProbability.hh"
-#include "G4Fragment.hh"
-#include "G4VLevelDensityParameter.hh"
-
-class G4E1Probability10 : public G4VEmissionProbability
-{
-
-public:
-
-  G4E1Probability10() {};
-
-  ~G4E1Probability10();
-
-  G4double EmissionProbability(const G4Fragment& frag, const G4double excite);
-  G4double EmissionProbDensity(const G4Fragment& frag, const G4double ePhoton);
-
-private:
-
-  // G4E1Probability10() {};
-
-  G4E1Probability10(const G4E1Probability10& right);
-
-  const G4E1Probability10& operator=(const G4E1Probability10& right);
-  G4bool operator==(const G4E1Probability10& right) const;
-  G4bool operator!=(const G4E1Probability10& right) const;
-
-  // Integrator (simple Gaussian quadrature)
-
-  G4double EmissionIntegration(const G4Fragment& frag, const G4double excite,
-                               const G4double lowLim, const G4double upLim,
-                               const G4int numIters);
-
-  // G4VLevelDensityParameter* _levelDensity; // Don't need this
-
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1Probability100.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1Probability100.hh	(revision 1350)
+++ 	(revision )
@@ -1,69 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-//
-
-#ifndef G4E1Probability100_hh
-#define G4E1Probability100_hh
-
-#include "globals.hh"
-#include "G4VEmissionProbability.hh"
-#include "G4Fragment.hh"
-#include "G4VLevelDensityParameter.hh"
-
-class G4E1Probability100 : public G4VEmissionProbability
-{
-
-public:
-
-  G4E1Probability100() {};
-
-  ~G4E1Probability100();
-
-  G4double EmissionProbability(const G4Fragment& frag, const G4double excite);
-  G4double EmissionProbDensity(const G4Fragment& frag, const G4double ePhoton);
-
-private:
-
-  // G4E1Probability100() {};
-
-  G4E1Probability100(const G4E1Probability100& right);
-
-  const G4E1Probability100& operator=(const G4E1Probability100& right);
-  G4bool operator==(const G4E1Probability100& right) const;
-  G4bool operator!=(const G4E1Probability100& right) const;
-
-  // Integrator (simple Gaussian quadrature)
-
-  G4double EmissionIntegration(const G4Fragment& frag, const G4double excite,
-                               const G4double lowLim, const G4double upLim,
-                               const G4int numIters);
-
-  // G4VLevelDensityParameter* _levelDensity; // Don't need this
-
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1SingleProbability001.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1SingleProbability001.hh	(revision 1350)
+++ 	(revision )
@@ -1,70 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-//
-
-#ifndef G4E1SingleProbability001_hh
-#define G4E1SingleProbability001_hh
-
-#include "globals.hh"
-#include "G4VEmissionProbability.hh"
-#include "G4Fragment.hh"
-#include "G4VLevelDensityParameter.hh"
-
-class G4E1SingleProbability001 : public G4VEmissionProbability
-{
-
-public:
-
-  G4E1SingleProbability001() {};
-
-  ~G4E1SingleProbability001();
-
-  G4double EmissionProbability(const G4Fragment& frag, const G4double excite);
-  G4double EmissionProbDensity(const G4Fragment& frag, const G4double ePhoton);
-
-private:
-
-  // G4E1SingleProbability001() {};
-
-  G4E1SingleProbability001(const G4E1SingleProbability001& right);
-
-  const G4E1SingleProbability001& operator=(const G4E1SingleProbability001& 
-					    right);
-  G4bool operator==(const G4E1SingleProbability001& right) const;
-  G4bool operator!=(const G4E1SingleProbability001& right) const;
-
-  // Integrator (simple Gaussian quadrature)
-
-  G4double EmissionIntegration(const G4Fragment& frag, const G4double excite,
-                               const G4double lowLim, const G4double upLim,
-                               const G4int numIters);
-
-  // G4VLevelDensityParameter* _levelDensity; // Don't need this
-
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1SingleProbability01.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1SingleProbability01.hh	(revision 1350)
+++ 	(revision )
@@ -1,70 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-//
-
-#ifndef G4E1SingleProbability01_hh
-#define G4E1SingleProbability01_hh
-
-#include "globals.hh"
-#include "G4VEmissionProbability.hh"
-#include "G4Fragment.hh"
-#include "G4VLevelDensityParameter.hh"
-
-class G4E1SingleProbability01 : public G4VEmissionProbability
-{
-
-public:
-
-  G4E1SingleProbability01() {};
-
-  ~G4E1SingleProbability01();
-
-  G4double EmissionProbability(const G4Fragment& frag, const G4double excite);
-  G4double EmissionProbDensity(const G4Fragment& frag, const G4double ePhoton);
-
-private:
-
-  // G4E1SingleProbability01() {};
-
-  G4E1SingleProbability01(const G4E1SingleProbability01& right);
-
-  const G4E1SingleProbability01& operator=(const G4E1SingleProbability01& 
-					   right);
-  G4bool operator==(const G4E1SingleProbability01& right) const;
-  G4bool operator!=(const G4E1SingleProbability01& right) const;
-
-  // Integrator (simple Gaussian quadrature)
-
-  G4double EmissionIntegration(const G4Fragment& frag, const G4double excite,
-                               const G4double lowLim, const G4double upLim,
-                               const G4int numIters);
-
-  // G4VLevelDensityParameter* _levelDensity; // Don't need this
-
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1SingleProbability10.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1SingleProbability10.hh	(revision 1350)
+++ 	(revision )
@@ -1,70 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-//
-
-#ifndef G4E1SingleProbability10_hh
-#define G4E1SingleProbability10_hh
-
-#include "globals.hh"
-#include "G4VEmissionProbability.hh"
-#include "G4Fragment.hh"
-#include "G4VLevelDensityParameter.hh"
-
-class G4E1SingleProbability10 : public G4VEmissionProbability
-{
-
-public:
-
-  G4E1SingleProbability10() {};
-
-  ~G4E1SingleProbability10();
-
-  G4double EmissionProbability(const G4Fragment& frag, const G4double excite);
-  G4double EmissionProbDensity(const G4Fragment& frag, const G4double ePhoton);
-
-private:
-
-  // G4E1SingleProbability10() {};
-
-  G4E1SingleProbability10(const G4E1SingleProbability10& right);
-
-  const G4E1SingleProbability10& operator=(const G4E1SingleProbability10& 
-					   right);
-  G4bool operator==(const G4E1SingleProbability10& right) const;
-  G4bool operator!=(const G4E1SingleProbability10& right) const;
-
-  // Integrator (simple Gaussian quadrature)
-
-  G4double EmissionIntegration(const G4Fragment& frag, const G4double excite,
-                               const G4double lowLim, const G4double upLim,
-                               const G4int numIters);
-
-  // G4VLevelDensityParameter* _levelDensity; // Don't need this
-
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1SingleProbability100.hh
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1SingleProbability100.hh	(revision 1350)
+++ 	(revision )
@@ -1,70 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-//
-
-#ifndef G4E1SingleProbability100_hh
-#define G4E1SingleProbability100_hh
-
-#include "globals.hh"
-#include "G4VEmissionProbability.hh"
-#include "G4Fragment.hh"
-#include "G4VLevelDensityParameter.hh"
-
-class G4E1SingleProbability100 : public G4VEmissionProbability
-{
-
-public:
-
-  G4E1SingleProbability100() {};
-
-  ~G4E1SingleProbability100();
-
-  G4double EmissionProbability(const G4Fragment& frag, const G4double excite);
-  G4double EmissionProbDensity(const G4Fragment& frag, const G4double ePhoton);
-
-private:
-
-  // G4E1SingleProbability100() {};
-
-  G4E1SingleProbability100(const G4E1SingleProbability100& right);
-
-  const G4E1SingleProbability100& operator=(const G4E1SingleProbability100& 
-					    right);
-  G4bool operator==(const G4E1SingleProbability100& right) const;
-  G4bool operator!=(const G4E1SingleProbability100& right) const;
-
-  // Integrator (simple Gaussian quadrature)
-
-  G4double EmissionIntegration(const G4Fragment& frag, const G4double excite,
-                               const G4double lowLim, const G4double upLim,
-                               const G4int numIters);
-
-  // G4VLevelDensityParameter* _levelDensity; // Don't need this
-
-};
-
-#endif
Index: trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4DummyProbability.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4DummyProbability.cc	(revision 1350)
+++ 	(revision )
@@ -1,100 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-//  Class G4DummyProbability.cc
-//
-
-#include "G4DummyProbability.hh"
-#include "G4ConstantLevelDensityParameter.hh"
-#include "Randomize.hh"
-
-// Constructors and operators
-//
-
-G4DummyProbability::G4DummyProbability(const G4DummyProbability& ) : G4VEmissionProbability()
-{
-
-  throw G4HadronicException(__FILE__, __LINE__, "G4DummyProbability::copy_constructor meant to not be accessible");
-
-}
-
-const G4DummyProbability& G4DummyProbability::
-operator=(const G4DummyProbability& ) 
-{
-
-  throw G4HadronicException(__FILE__, __LINE__, "G4DummyProbability::operator= meant to not be accessible");
-  return *this;
-}
-
-G4bool G4DummyProbability::operator==(const G4DummyProbability& ) const
-{
-
-  return false;
-
-}
-
-G4bool G4DummyProbability::operator!=(const G4DummyProbability& ) const
-{
-
-  return true;
-
-}
-
-// Calculate the emission probability
-//
-
-G4double G4DummyProbability::EmissionProbDensity(const G4Fragment& , 
-                                                 const G4double )
-{
-
-  G4double theProb = 0.0;
-
-  return theProb;
-
-}
-
-G4double G4DummyProbability::EmissionProbability(const G4Fragment& , 
-                                                 const G4double )
-{
-
-  // From nuclear fragment properties and the excitation energy, calculate
-  // the probability for photon evaporation down to last ground level.
-  // fragment = nuclear fragment BEFORE de-excitation
-
-  G4double theProb = 0.0;
-
-  // Fall-back is a uniform random number
-
-  G4double uniformNum = G4UniformRand();
-  theProb = uniformNum;
-
-  return theProb;
-
-}
-
-G4DummyProbability::~G4DummyProbability() {}
-
-
Index: trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4E1Probability001.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4E1Probability001.cc	(revision 1350)
+++ 	(revision )
@@ -1,217 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-//  Class G4E1Probability001.cc
-//
-
-#include "G4E1Probability001.hh"
-#include "G4ConstantLevelDensityParameter.hh"
-#include "Randomize.hh"
-
-// Constructors and operators
-//
-
-G4E1Probability001::G4E1Probability001(const G4E1Probability001& ) : G4VEmissionProbability()
-
-{
-
- throw G4HadronicException(__FILE__, __LINE__, "G4E1Probability001::copy_constructor meant to not be accessible");
-
-}
-
-const G4E1Probability001& G4E1Probability001::
-operator=(const G4E1Probability001& ) 
-{
-
-  throw G4HadronicException(__FILE__, __LINE__, "G4E1Probability001::operator= meant to not be accessible");
-  return *this;
-}
-
-G4bool G4E1Probability001::operator==(const G4E1Probability001& ) const
-{
-
-  return false;
-
-}
-
-G4bool G4E1Probability001::operator!=(const G4E1Probability001& ) const
-{
-
-  return true;
-
-}
-
-// Calculate the emission probability
-//
-
-G4double G4E1Probability001::EmissionProbDensity(const G4Fragment& frag, 
-						 const G4double exciteE)
-{
-
-  // Calculate the probability density here
-
-  // From nuclear fragment properties and the excitation energy, calculate
-  // the probability density for photon evaporation from U to U - exciteE
-  // (U = nucleus excitation energy, exciteE = total evaporated photon
-  // energy).
-  // fragment = nuclear fragment BEFORE de-excitation
-
-  G4double theProb = 0.0;
-
-  const G4double Afrag = frag.GetA();
-  const G4double Zfrag = frag.GetZ();
-  const G4double Uexcite = frag.GetExcitationEnergy();
-
-  if( (Uexcite-exciteE) < 0.0 || exciteE < 0 || Uexcite <= 0) return theProb;
-
-  // Need a level density parameter.
-  // For now, just use the constant approximation (not reliable near magic
-  // nuclei).
-
-  G4ConstantLevelDensityParameter a;
-  G4double aLevelDensityParam = a.LevelDensityParameter(static_cast<G4int>(Afrag),
-							static_cast<G4int>(Zfrag),
-							Uexcite);
-
-  G4double levelDensBef = std::exp(2.0*std::sqrt(aLevelDensityParam*Uexcite));
-  G4double levelDensAft = std::exp(2.0*std::sqrt(aLevelDensityParam*(Uexcite-exciteE)));
-
-  // Now form the probability density
-
-  // Define constants for the photoabsorption cross-section (the reverse
-  // process of our de-excitation)
-
-  G4double sigma0 = 2.5 * Afrag * millibarn;  // millibarns
-
-  G4double Egdp = (40.3 / std::pow(Afrag,0.2) )*MeV;
-  G4double GammaR = 0.30 * Egdp;
- 
-  G4double normC = 1.0 / ((pi * hbarc)*(pi * hbarc));
-
-  // CD
-  //cout<<"  PROB TESTS "<<G4endl;
-  //cout<<" hbarc = "<<hbarc<<G4endl;
-  //cout<<" pi = "<<pi<<G4endl;
-  //cout<<" Uexcite, exciteE = "<<Uexcite<<"  "<<exciteE<<G4endl;
-  //cout<<" Uexcite, exciteE = "<<Uexcite*MeV<<"  "<<exciteE*MeV<<G4endl;
-  //cout<<" lev density param = "<<aLevelDensityParam<<G4endl;
-  //cout<<" level densities = "<<levelDensBef<<"  "<<levelDensAft<<G4endl;
-  //cout<<" sigma0 = "<<sigma0<<G4endl;
-  //cout<<" Egdp, GammaR = "<<Egdp<<"  "<<GammaR<<G4endl;
-  //cout<<" normC = "<<normC<<G4endl;
-
-  G4double numerator = sigma0 * exciteE*exciteE * GammaR*GammaR;
-  G4double denominator = (exciteE*exciteE - Egdp*Egdp)*
-           (exciteE*exciteE - Egdp*Egdp) + GammaR*GammaR*exciteE*exciteE;
-
-  G4double sigmaAbs = numerator/denominator; 
-
-  theProb = normC * sigmaAbs * exciteE*exciteE *
-            levelDensAft/levelDensBef;
-
-  // CD
-  //cout<<" sigmaAbs = "<<sigmaAbs<<G4endl;
-  //cout<<" Probability = "<<theProb<<G4endl;
-
-  return theProb;
-
-}
-
-G4double G4E1Probability001::EmissionProbability(const G4Fragment& frag, 
-						 const G4double exciteE)
-{
-
-  // From nuclear fragment properties and the excitation energy, calculate
-  // the probability for photon evaporation down to last ground level.
-  // fragment = nuclear fragment BEFORE de-excitation
-
-  G4double theProb = 0.0;
-
-  G4double ScaleFactor = 0.001;
-
-  G4double Uafter = 0.0;
-  const G4double Uexcite = frag.GetExcitationEnergy();
-
-  G4double normC = 3.0;
-
-  const G4double upperLim = Uexcite;
-  const G4double lowerLim = Uafter;
-  const G4int numIters = 25;
-
-  // Fall-back is a uniform random number
-
-  //G4double uniformNum = G4UniformRand();
-  //theProb = uniformNum;
-
-  // Need to integrate EmissionProbDensity from lowerLim to upperLim 
-  // and multiply by normC
-
-  G4double integ = normC *
-           EmissionIntegration(frag,exciteE,lowerLim,upperLim,numIters);
-  if(integ > 0.0) theProb = integ;
-
-  return theProb * ScaleFactor;
-
-}
-
-G4double G4E1Probability001::EmissionIntegration(const G4Fragment& frag, 
-                             const G4double ,
-                             const G4double lowLim, const G4double upLim,
-                             const G4int numIters)
-
-{
-
-  // Simple Gaussian quadrature integration
-
-  G4double x;
-  G4double root3 = 1.0/std::sqrt(3.0);
-
-  G4double Step = (upLim-lowLim)/(2.0*numIters);
-  G4double Delta = Step*root3;
-
-  G4double mean = 0.0;
-
-  G4double theInt = 0.0;
-
-  for(G4int i = 0; i < numIters; i++) {
-
-    x = (2*i + 1)/Step;
-    G4double E1ProbDensityA = EmissionProbDensity(frag,x+Delta);
-    G4double E1ProbDensityB = EmissionProbDensity(frag,x-Delta);
-
-    mean += E1ProbDensityA + E1ProbDensityB;
-
-  }
-
-  if(mean*Step > 0.0) theInt = mean*Step;
-
-  return theInt;
-
-}
-
-G4E1Probability001::~G4E1Probability001() {}
-
-
Index: trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4E1Probability01.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4E1Probability01.cc	(revision 1350)
+++ 	(revision )
@@ -1,216 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-//  Class G4E1Probability01.cc
-//
-
-#include "G4E1Probability01.hh"
-#include "G4ConstantLevelDensityParameter.hh"
-#include "Randomize.hh"
-
-// Constructors and operators
-//
-
-G4E1Probability01::G4E1Probability01(const G4E1Probability01& ) : G4VEmissionProbability()
-{
-
- throw G4HadronicException(__FILE__, __LINE__, "G4E1Probability01::copy_constructor meant to not be accessible");
-
-}
-
-const G4E1Probability01& G4E1Probability01::
-operator=(const G4E1Probability01& ) 
-{
-
-  throw G4HadronicException(__FILE__, __LINE__, "G4E1Probability01::operator= meant to not be accessible");
-  return *this;
-}
-
-G4bool G4E1Probability01::operator==(const G4E1Probability01& ) const
-{
-
-  return false;
-
-}
-
-G4bool G4E1Probability01::operator!=(const G4E1Probability01& ) const
-{
-
-  return true;
-
-}
-
-// Calculate the emission probability
-//
-
-G4double G4E1Probability01::EmissionProbDensity(const G4Fragment& frag, 
-						const G4double exciteE)
-{
-
-  // Calculate the probability density here
-
-  // From nuclear fragment properties and the excitation energy, calculate
-  // the probability density for photon evaporation from U to U - exciteE
-  // (U = nucleus excitation energy, exciteE = total evaporated photon
-  // energy).
-  // fragment = nuclear fragment BEFORE de-excitation
-
-  G4double theProb = 0.0;
-
-  const G4double Afrag = frag.GetA();
-  const G4double Zfrag = frag.GetZ();
-  const G4double Uexcite = frag.GetExcitationEnergy();
-
-  if( (Uexcite-exciteE) < 0.0 || exciteE < 0 || Uexcite <= 0) return theProb;
-
-  // Need a level density parameter.
-  // For now, just use the constant approximation (not reliable near magic
-  // nuclei).
-
-  G4ConstantLevelDensityParameter a;
-  G4double aLevelDensityParam = a.LevelDensityParameter(static_cast<G4int>(Afrag),
-							static_cast<G4int>(Zfrag),
-							Uexcite);
-
-  G4double levelDensBef = std::exp(2.0*std::sqrt(aLevelDensityParam*Uexcite));
-  G4double levelDensAft = std::exp(2.0*std::sqrt(aLevelDensityParam*(Uexcite-exciteE)));
-
-  // Now form the probability density
-
-  // Define constants for the photoabsorption cross-section (the reverse
-  // process of our de-excitation)
-
-  G4double sigma0 = 2.5 * Afrag * millibarn;  // millibarns
-
-  G4double Egdp = (40.3 / std::pow(Afrag,0.2) )*MeV;
-  G4double GammaR = 0.30 * Egdp;
- 
-  G4double normC = 1.0 / ((pi * hbarc)*(pi * hbarc));
-
-  // CD
-  //cout<<"  PROB TESTS "<<G4endl;
-  //cout<<" hbarc = "<<hbarc<<G4endl;
-  //cout<<" pi = "<<pi<<G4endl;
-  //cout<<" Uexcite, exciteE = "<<Uexcite<<"  "<<exciteE<<G4endl;
-  //cout<<" Uexcite, exciteE = "<<Uexcite*MeV<<"  "<<exciteE*MeV<<G4endl;
-  //cout<<" lev density param = "<<aLevelDensityParam<<G4endl;
-  //cout<<" level densities = "<<levelDensBef<<"  "<<levelDensAft<<G4endl;
-  //cout<<" sigma0 = "<<sigma0<<G4endl;
-  //cout<<" Egdp, GammaR = "<<Egdp<<"  "<<GammaR<<G4endl;
-  //cout<<" normC = "<<normC<<G4endl;
-
-  G4double numerator = sigma0 * exciteE*exciteE * GammaR*GammaR;
-  G4double denominator = (exciteE*exciteE - Egdp*Egdp)*
-           (exciteE*exciteE - Egdp*Egdp) + GammaR*GammaR*exciteE*exciteE;
-
-  G4double sigmaAbs = numerator/denominator; 
-
-  theProb = normC * sigmaAbs * exciteE*exciteE *
-            levelDensAft/levelDensBef;
-
-  // CD
-  //cout<<" sigmaAbs = "<<sigmaAbs<<G4endl;
-  //cout<<" Probability = "<<theProb<<G4endl;
-
-  return theProb;
-
-}
-
-G4double G4E1Probability01::EmissionProbability(const G4Fragment& frag, 
-						const G4double exciteE)
-{
-
-  // From nuclear fragment properties and the excitation energy, calculate
-  // the probability for photon evaporation down to last ground level.
-  // fragment = nuclear fragment BEFORE de-excitation
-
-  G4double theProb = 0.0;
-
-  G4double ScaleFactor = 0.01;
-
-  G4double Uafter = 0.0;
-  const G4double Uexcite = frag.GetExcitationEnergy();
-
-  G4double normC = 3.0;
-
-  const G4double upperLim = Uexcite;
-  const G4double lowerLim = Uafter;
-  const G4int numIters = 25;
-
-  // Fall-back is a uniform random number
-
-  //G4double uniformNum = G4UniformRand();
-  //theProb = uniformNum;
-
-  // Need to integrate EmissionProbDensity from lowerLim to upperLim 
-  // and multiply by normC
-
-  G4double integ = normC *
-           EmissionIntegration(frag,exciteE,lowerLim,upperLim,numIters);
-  if(integ > 0.0) theProb = integ;
-
-  return theProb * ScaleFactor;
-
-}
-
-G4double G4E1Probability01::EmissionIntegration(const G4Fragment& frag, 
-                             const G4double ,
-                             const G4double lowLim, const G4double upLim,
-                             const G4int numIters)
-
-{
-
-  // Simple Gaussian quadrature integration
-
-  G4double x;
-  G4double root3 = 1.0/std::sqrt(3.0);
-
-  G4double Step = (upLim-lowLim)/(2.0*numIters);
-  G4double Delta = Step*root3;
-
-  G4double mean = 0.0;
-
-  G4double theInt = 0.0;
-
-  for(G4int i = 0; i < numIters; i++) {
-
-    x = (2*i + 1)/Step;
-    G4double E1ProbDensityA = EmissionProbDensity(frag,x+Delta);
-    G4double E1ProbDensityB = EmissionProbDensity(frag,x-Delta);
-
-    mean += E1ProbDensityA + E1ProbDensityB;
-
-  }
-
-  if(mean*Step > 0.0) theInt = mean*Step;
-
-  return theInt;
-
-}
-
-G4E1Probability01::~G4E1Probability01() {}
-
-
Index: trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4E1Probability10.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4E1Probability10.cc	(revision 1350)
+++ 	(revision )
@@ -1,216 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-//  Class G4E1Probability10.cc
-//
-
-#include "G4E1Probability10.hh"
-#include "G4ConstantLevelDensityParameter.hh"
-#include "Randomize.hh"
-
-// Constructors and operators
-//
-
-G4E1Probability10::G4E1Probability10(const G4E1Probability10& ): G4VEmissionProbability()
-{
-
- throw G4HadronicException(__FILE__, __LINE__, "G4E1Probability10::copy_constructor meant to not be accessible");
-
-}
-
-const G4E1Probability10& G4E1Probability10::
-operator=(const G4E1Probability10& ) 
-{
-
-  throw G4HadronicException(__FILE__, __LINE__, "G4E1Probability10::operator= meant to not be accessible");
-  return *this;
-}
-
-G4bool G4E1Probability10::operator==(const G4E1Probability10& ) const
-{
-
-  return false;
-
-}
-
-G4bool G4E1Probability10::operator!=(const G4E1Probability10& ) const
-{
-
-  return true;
-
-}
-
-// Calculate the emission probability
-//
-
-G4double G4E1Probability10::EmissionProbDensity(const G4Fragment& frag, 
-						const G4double exciteE)
-{
-
-  // Calculate the probability density here
-
-  // From nuclear fragment properties and the excitation energy, calculate
-  // the probability density for photon evaporation from U to U - exciteE
-  // (U = nucleus excitation energy, exciteE = total evaporated photon
-  // energy).
-  // fragment = nuclear fragment BEFORE de-excitation
-
-  G4double theProb = 0.0;
-
-  const G4double Afrag = frag.GetA();
-  const G4double Zfrag = frag.GetZ();
-  const G4double Uexcite = frag.GetExcitationEnergy();
-
-  if( (Uexcite-exciteE) < 0.0 || exciteE < 0 || Uexcite <= 0) return theProb;
-
-  // Need a level density parameter.
-  // For now, just use the constant approximation (not reliable near magic
-  // nuclei).
-
-  G4ConstantLevelDensityParameter a;
-  G4double aLevelDensityParam = a.LevelDensityParameter(static_cast<G4int>(Afrag),
-							static_cast<G4int>(Zfrag),
-							Uexcite);
-
-  G4double levelDensBef = std::exp(2.0*std::sqrt(aLevelDensityParam*Uexcite));
-  G4double levelDensAft = std::exp(2.0*std::sqrt(aLevelDensityParam*(Uexcite-exciteE)));
-
-  // Now form the probability density
-
-  // Define constants for the photoabsorption cross-section (the reverse
-  // process of our de-excitation)
-
-  G4double sigma0 = 2.5 * Afrag * millibarn;  // millibarns
-
-  G4double Egdp = (40.3 / std::pow(Afrag,0.2) )*MeV;
-  G4double GammaR = 0.30 * Egdp;
- 
-  G4double normC = 1.0 / ((pi * hbarc)*(pi * hbarc));
-
-  // CD
-  //cout<<"  PROB TESTS "<<G4endl;
-  //cout<<" hbarc = "<<hbarc<<G4endl;
-  //cout<<" pi = "<<pi<<G4endl;
-  //cout<<" Uexcite, exciteE = "<<Uexcite<<"  "<<exciteE<<G4endl;
-  //cout<<" Uexcite, exciteE = "<<Uexcite*MeV<<"  "<<exciteE*MeV<<G4endl;
-  //cout<<" lev density param = "<<aLevelDensityParam<<G4endl;
-  //cout<<" level densities = "<<levelDensBef<<"  "<<levelDensAft<<G4endl;
-  //cout<<" sigma0 = "<<sigma0<<G4endl;
-  //cout<<" Egdp, GammaR = "<<Egdp<<"  "<<GammaR<<G4endl;
-  //cout<<" normC = "<<normC<<G4endl;
-
-  G4double numerator = sigma0 * exciteE*exciteE * GammaR*GammaR;
-  G4double denominator = (exciteE*exciteE - Egdp*Egdp)*
-           (exciteE*exciteE - Egdp*Egdp) + GammaR*GammaR*exciteE*exciteE;
-
-  G4double sigmaAbs = numerator/denominator; 
-
-  theProb = normC * sigmaAbs * exciteE*exciteE *
-            levelDensAft/levelDensBef;
-
-  // CD
-  //cout<<" sigmaAbs = "<<sigmaAbs<<G4endl;
-  //cout<<" Probability = "<<theProb<<G4endl;
-
-  return theProb;
-
-}
-
-G4double G4E1Probability10::EmissionProbability(const G4Fragment& frag, 
-						const G4double exciteE)
-{
-
-  // From nuclear fragment properties and the excitation energy, calculate
-  // the probability for photon evaporation down to last ground level.
-  // fragment = nuclear fragment BEFORE de-excitation
-
-  G4double theProb = 0.0;
-
-  G4double ScaleFactor = 10.0;
-
-  G4double Uafter = 0.0;
-  const G4double Uexcite = frag.GetExcitationEnergy();
-
-  G4double normC = 3.0;
-
-  const G4double upperLim = Uexcite;
-  const G4double lowerLim = Uafter;
-  const G4int numIters = 25;
-
-  // Fall-back is a uniform random number
-
-  //G4double uniformNum = G4UniformRand();
-  //theProb = uniformNum;
-
-  // Need to integrate EmissionProbDensity from lowerLim to upperLim 
-  // and multiply by normC
-
-  G4double integ = normC *
-           EmissionIntegration(frag,exciteE,lowerLim,upperLim,numIters);
-  if(integ > 0.0) theProb = integ;
-
-  return theProb * ScaleFactor;
-
-}
-
-G4double G4E1Probability10::EmissionIntegration(const G4Fragment& frag, 
-                             const G4double ,
-                             const G4double lowLim, const G4double upLim,
-                             const G4int numIters)
-
-{
-
-  // Simple Gaussian quadrature integration
-
-  G4double x;
-  G4double root3 = 1.0/std::sqrt(3.0);
-
-  G4double Step = (upLim-lowLim)/(2.0*numIters);
-  G4double Delta = Step*root3;
-
-  G4double mean = 0.0;
-
-  G4double theInt = 0.0;
-
-  for(G4int i = 0; i < numIters; i++) {
-
-    x = (2*i + 1)/Step;
-    G4double E1ProbDensityA = EmissionProbDensity(frag,x+Delta);
-    G4double E1ProbDensityB = EmissionProbDensity(frag,x-Delta);
-
-    mean += E1ProbDensityA + E1ProbDensityB;
-
-  }
-
-  if(mean*Step > 0.0) theInt = mean*Step;
-
-  return theInt;
-
-}
-
-G4E1Probability10::~G4E1Probability10() {}
-
-
Index: trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4E1Probability100.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4E1Probability100.cc	(revision 1350)
+++ 	(revision )
@@ -1,216 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-//  Class G4E1Probability100.cc
-//
-
-#include "G4E1Probability100.hh"
-#include "G4ConstantLevelDensityParameter.hh"
-#include "Randomize.hh"
-
-// Constructors and operators
-//
-
-G4E1Probability100::G4E1Probability100(const G4E1Probability100& ) : G4VEmissionProbability()
-{
-
- throw G4HadronicException(__FILE__, __LINE__, "G4E1Probability100::copy_constructor meant to not be accessible");
-
-}
-
-const G4E1Probability100& G4E1Probability100::
-operator=(const G4E1Probability100& ) 
-{
-
-  throw G4HadronicException(__FILE__, __LINE__, "G4E1Probability100::operator= meant to not be accessible");
-  return *this;
-}
-
-G4bool G4E1Probability100::operator==(const G4E1Probability100& ) const
-{
-
-  return false;
-
-}
-
-G4bool G4E1Probability100::operator!=(const G4E1Probability100& ) const
-{
-
-  return true;
-
-}
-
-// Calculate the emission probability
-//
-
-G4double G4E1Probability100::EmissionProbDensity(const G4Fragment& frag, 
-						 const G4double exciteE)
-{
-
-  // Calculate the probability density here
-
-  // From nuclear fragment properties and the excitation energy, calculate
-  // the probability density for photon evaporation from U to U - exciteE
-  // (U = nucleus excitation energy, exciteE = total evaporated photon
-  // energy).
-  // fragment = nuclear fragment BEFORE de-excitation
-
-  G4double theProb = 0.0;
-
-  const G4double Afrag = frag.GetA();
-  const G4double Zfrag = frag.GetZ();
-  const G4double Uexcite = frag.GetExcitationEnergy();
-
-  if( (Uexcite-exciteE) < 0.0 || exciteE < 0 || Uexcite <= 0) return theProb;
-
-  // Need a level density parameter.
-  // For now, just use the constant approximation (not reliable near magic
-  // nuclei).
-
-  G4ConstantLevelDensityParameter a;
-  G4double aLevelDensityParam = a.LevelDensityParameter(static_cast<G4int>(Afrag),
-							static_cast<G4int>(Zfrag),
-							Uexcite);
-
-  G4double levelDensBef = std::exp(2.0*std::sqrt(aLevelDensityParam*Uexcite));
-  G4double levelDensAft = std::exp(2.0*std::sqrt(aLevelDensityParam*(Uexcite-exciteE)));
-
-  // Now form the probability density
-
-  // Define constants for the photoabsorption cross-section (the reverse
-  // process of our de-excitation)
-
-  G4double sigma0 = 2.5 * Afrag * millibarn;  // millibarns
-
-  G4double Egdp = (40.3 / std::pow(Afrag,0.2) )*MeV;
-  G4double GammaR = 0.30 * Egdp;
- 
-  G4double normC = 1.0 / ((pi * hbarc)*(pi * hbarc));
-
-  // CD
-  //cout<<"  PROB TESTS "<<G4endl;
-  //cout<<" hbarc = "<<hbarc<<G4endl;
-  //cout<<" pi = "<<pi<<G4endl;
-  //cout<<" Uexcite, exciteE = "<<Uexcite<<"  "<<exciteE<<G4endl;
-  //cout<<" Uexcite, exciteE = "<<Uexcite*MeV<<"  "<<exciteE*MeV<<G4endl;
-  //cout<<" lev density param = "<<aLevelDensityParam<<G4endl;
-  //cout<<" level densities = "<<levelDensBef<<"  "<<levelDensAft<<G4endl;
-  //cout<<" sigma0 = "<<sigma0<<G4endl;
-  //cout<<" Egdp, GammaR = "<<Egdp<<"  "<<GammaR<<G4endl;
-  //cout<<" normC = "<<normC<<G4endl;
-
-  G4double numerator = sigma0 * exciteE*exciteE * GammaR*GammaR;
-  G4double denominator = (exciteE*exciteE - Egdp*Egdp)*
-           (exciteE*exciteE - Egdp*Egdp) + GammaR*GammaR*exciteE*exciteE;
-
-  G4double sigmaAbs = numerator/denominator; 
-
-  theProb = normC * sigmaAbs * exciteE*exciteE *
-            levelDensAft/levelDensBef;
-
-  // CD
-  //cout<<" sigmaAbs = "<<sigmaAbs<<G4endl;
-  //cout<<" Probability = "<<theProb<<G4endl;
-
-  return theProb;
-
-}
-
-G4double G4E1Probability100::EmissionProbability(const G4Fragment& frag, 
-						 const G4double exciteE)
-{
-
-  // From nuclear fragment properties and the excitation energy, calculate
-  // the probability for photon evaporation down to last ground level.
-  // fragment = nuclear fragment BEFORE de-excitation
-
-  G4double theProb = 0.0;
-
-  G4double ScaleFactor = 100.0;
-
-  G4double Uafter = 0.0;
-  const G4double Uexcite = frag.GetExcitationEnergy();
-
-  G4double normC = 3.0;
-
-  const G4double upperLim = Uexcite;
-  const G4double lowerLim = Uafter;
-  const G4int numIters = 25;
-
-  // Fall-back is a uniform random number
-
-  //G4double uniformNum = G4UniformRand();
-  //theProb = uniformNum;
-
-  // Need to integrate EmissionProbDensity from lowerLim to upperLim 
-  // and multiply by normC
-
-  G4double integ = normC *
-           EmissionIntegration(frag,exciteE,lowerLim,upperLim,numIters);
-  if(integ > 0.0) theProb = integ;
-
-  return theProb * ScaleFactor;
-
-}
-
-G4double G4E1Probability100::EmissionIntegration(const G4Fragment& frag, 
-                             const G4double ,
-                             const G4double lowLim, const G4double upLim,
-                             const G4int numIters)
-
-{
-
-  // Simple Gaussian quadrature integration
-
-  G4double x;
-  G4double root3 = 1.0/std::sqrt(3.0);
-
-  G4double Step = (upLim-lowLim)/(2.0*numIters);
-  G4double Delta = Step*root3;
-
-  G4double mean = 0.0;
-
-  G4double theInt = 0.0;
-
-  for(G4int i = 0; i < numIters; i++) {
-
-    x = (2*i + 1)/Step;
-    G4double E1ProbDensityA = EmissionProbDensity(frag,x+Delta);
-    G4double E1ProbDensityB = EmissionProbDensity(frag,x-Delta);
-
-    mean += E1ProbDensityA + E1ProbDensityB;
-
-  }
-
-  if(mean*Step > 0.0) theInt = mean*Step;
-
-  return theInt;
-
-}
-
-G4E1Probability100::~G4E1Probability100() {}
-
-
Index: trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4E1SingleProbability001.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4E1SingleProbability001.cc	(revision 1350)
+++ 	(revision )
@@ -1,217 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-//  Class G4E1SingleProbability001.cc
-//
-
-#include "G4E1SingleProbability001.hh"
-#include "G4ConstantLevelDensityParameter.hh"
-#include "Randomize.hh"
-
-// Constructors and operators
-//
-
-G4E1SingleProbability001::G4E1SingleProbability001(
-			  const G4E1SingleProbability001& ): G4VEmissionProbability()
-{
-
-  throw G4HadronicException(__FILE__, __LINE__, "G4E1SingleProbability001::copy_constructor meant to not be accessible");
-
-}
-
-const G4E1SingleProbability001& G4E1SingleProbability001::
-operator=(const G4E1SingleProbability001& ) 
-{
-
- throw G4HadronicException(__FILE__, __LINE__, "G4E1SingleProbability001::operator= meant to not be accessible");
- return *this;
-}
-
-G4bool G4E1SingleProbability001::operator==(const G4E1SingleProbability001& 
-					    ) const
-{
-
-  return false;
-
-}
-
-G4bool G4E1SingleProbability001::operator!=(const G4E1SingleProbability001& 
-					    )
-const
-{
-
-  return true;
-
-}
-
-// Calculate the emission probability
-//
-
-G4double G4E1SingleProbability001::EmissionProbDensity(const G4Fragment& frag, 
-						       const G4double exciteE)
-{
-
-  // Calculate the probability density here
-
-  // From nuclear fragment properties and the excitation energy, calculate
-  // the probability density for photon evaporation from U to U - exciteE
-  // (U = nucleus excitation energy, exciteE = total evaporated photon
-  // energy).
-  // fragment = nuclear fragment BEFORE de-excitation
-
-  G4double theProb = 0.0;
-
-  const G4double Afrag = frag.GetA();
-  const G4double Zfrag = frag.GetZ();
-  const G4double Uexcite = frag.GetExcitationEnergy();
-
-  if( (Uexcite-exciteE) < 0.0 || exciteE < 0 || Uexcite <= 0) return theProb;
-
-  // Need a level density parameter.
-  // For now, just use the constant approximation (not reliable near magic
-  // nuclei).
-
-  G4ConstantLevelDensityParameter a;
-  G4double aLevelDensityParam = a.LevelDensityParameter(static_cast<G4int>(Afrag),
-							static_cast<G4int>(Zfrag),
-							Uexcite);
-
-  G4double levelDensBef = std::exp(2.0*std::sqrt(aLevelDensityParam*Uexcite));
-  G4double levelDensAft = std::exp(2.0*std::sqrt(aLevelDensityParam*(Uexcite-exciteE)));
-
-  // Now form the probability density
-
-  // Define constants for the photoabsorption cross-section (the reverse
-  // process of our de-excitation)
-
-  G4double sigma0 = 2.5 * Afrag * millibarn;  // millibarns
-
-  G4double Egdp = (40.3 / std::pow(Afrag,0.2) )*MeV;
-  G4double GammaR = 0.30 * Egdp;
- 
-  G4double normC = 1.0 / ((pi * hbarc)*(pi * hbarc));
-
-  // CD
-  //cout<<"  PROB TESTS "<<G4endl;
-  //cout<<" hbarc = "<<hbarc<<G4endl;
-  //cout<<" pi = "<<pi<<G4endl;
-  //cout<<" Uexcite, exciteE = "<<Uexcite<<"  "<<exciteE<<G4endl;
-  //cout<<" Uexcite, exciteE = "<<Uexcite*MeV<<"  "<<exciteE*MeV<<G4endl;
-  //cout<<" lev density param = "<<aLevelDensityParam<<G4endl;
-  //cout<<" level densities = "<<levelDensBef<<"  "<<levelDensAft<<G4endl;
-  //cout<<" sigma0 = "<<sigma0<<G4endl;
-  //cout<<" Egdp, GammaR = "<<Egdp<<"  "<<GammaR<<G4endl;
-  //cout<<" normC = "<<normC<<G4endl;
-
-  G4double numerator = sigma0 * exciteE*exciteE * GammaR*GammaR;
-  G4double denominator = (exciteE*exciteE - Egdp*Egdp)*
-           (exciteE*exciteE - Egdp*Egdp) + GammaR*GammaR*exciteE*exciteE;
-
-  G4double sigmaAbs = numerator/denominator; 
-
-  theProb = normC * sigmaAbs * exciteE*exciteE *
-            levelDensAft/levelDensBef;
-
-  // CD
-  //cout<<" sigmaAbs = "<<sigmaAbs<<G4endl;
-  //cout<<" Probability = "<<theProb<<G4endl;
-
-  return theProb;
-
-}
-
-G4double G4E1SingleProbability001::EmissionProbability(const G4Fragment& frag, 
-						       const G4double exciteE)
-{
-
-  // From nuclear fragment properties and the excitation energy, calculate
-  // the probability for photon evaporation down to the level
-  // Uexcite-exciteE.
-  // fragment = nuclear fragment BEFORE de-excitation
-
-  G4double theProb = 0.0;
-
-  G4double ScaleFactor = 0.01;     // playing with scale factors
-
-  const G4double Uexcite = frag.GetExcitationEnergy();
-  G4double Uafter = Uexcite - exciteE;
-
-  G4double normC = 3.0;
-
-  const G4double upperLim = Uexcite;
-  const G4double lowerLim = Uafter;
-  const G4int numIters = 25;
-
-  // Need to integrate EmissionProbDensity from lowerLim to upperLim 
-  // and multiply by normC
-
-  G4double integ = normC *
-           EmissionIntegration(frag,exciteE,lowerLim,upperLim,numIters);
-
-  if(integ > 0.0) theProb = integ;
-
-  return theProb * ScaleFactor;
-
-}
-
-G4double G4E1SingleProbability001::EmissionIntegration(const G4Fragment& frag, 
-                             const G4double ,
-                             const G4double lowLim, const G4double upLim,
-                             const G4int numIters)
-
-{
-
-  // Simple Gaussian quadrature integration
-
-  G4double x;
-  G4double root3 = 1.0/std::sqrt(3.0);
-
-  G4double Step = (upLim-lowLim)/(2.0*numIters);
-  G4double Delta = Step*root3;
-
-  G4double mean = 0.0;
-
-  G4double theInt = 0.0;
-
-  for(G4int i = 0; i < numIters; i++) {
-
-    x = (2*i + 1)/Step;
-    G4double E1ProbDensityA = EmissionProbDensity(frag,x+Delta);
-    G4double E1ProbDensityB = EmissionProbDensity(frag,x-Delta);
-
-    mean += E1ProbDensityA + E1ProbDensityB;
-
-  }
-
-  if(mean*Step > 0.0) theInt = mean*Step;
-
-  return theInt;
-
-}
-
-G4E1SingleProbability001::~G4E1SingleProbability001() {}
-
-
Index: trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4E1SingleProbability01.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4E1SingleProbability01.cc	(revision 1350)
+++ 	(revision )
@@ -1,217 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-//  Class G4E1SingleProbability01.cc
-//
-
-#include "G4E1SingleProbability01.hh"
-#include "G4ConstantLevelDensityParameter.hh"
-#include "Randomize.hh"
-
-// Constructors and operators
-//
-
-G4E1SingleProbability01::G4E1SingleProbability01(
-			 const G4E1SingleProbability01& ) : G4VEmissionProbability()
-{
-
-  throw G4HadronicException(__FILE__, __LINE__, "G4E1SingleProbability01::copy_constructor meant to not be accessible");
-
-}
-
-const G4E1SingleProbability01& G4E1SingleProbability01::
-operator=(const G4E1SingleProbability01& ) 
-{
-
-  throw G4HadronicException(__FILE__, __LINE__, "G4E1SingleProbability01::operator= meant to not be accessible");
-  return *this;
-}
-
-G4bool G4E1SingleProbability01::operator==(const G4E1SingleProbability01& 
-					   ) const
-{
-
-  return false;
-
-}
-
-G4bool G4E1SingleProbability01::operator!=(const G4E1SingleProbability01& 
-					   )
-const
-{
-
-  return true;
-
-}
-
-// Calculate the emission probability
-//
-
-G4double G4E1SingleProbability01::EmissionProbDensity(const G4Fragment& frag, 
-						      const G4double exciteE)
-{
-
-  // Calculate the probability density here
-
-  // From nuclear fragment properties and the excitation energy, calculate
-  // the probability density for photon evaporation from U to U - exciteE
-  // (U = nucleus excitation energy, exciteE = total evaporated photon
-  // energy).
-  // fragment = nuclear fragment BEFORE de-excitation
-
-  G4double theProb = 0.0;
-
-  const G4double Afrag = frag.GetA();
-  const G4double Zfrag = frag.GetZ();
-  const G4double Uexcite = frag.GetExcitationEnergy();
-
-  if( (Uexcite-exciteE) < 0.0 || exciteE < 0 || Uexcite <= 0) return theProb;
-
-  // Need a level density parameter.
-  // For now, just use the constant approximation (not reliable near magic
-  // nuclei).
-
-  G4ConstantLevelDensityParameter a;
-  G4double aLevelDensityParam = a.LevelDensityParameter(static_cast<G4int>(Afrag),
-							static_cast<G4int>(Zfrag),
-							Uexcite);
-
-  G4double levelDensBef = std::exp(2.0*std::sqrt(aLevelDensityParam*Uexcite));
-  G4double levelDensAft = std::exp(2.0*std::sqrt(aLevelDensityParam*(Uexcite-exciteE)));
-
-  // Now form the probability density
-
-  // Define constants for the photoabsorption cross-section (the reverse
-  // process of our de-excitation)
-
-  G4double sigma0 = 2.5 * Afrag * millibarn;  // millibarns
-
-  G4double Egdp = (40.3 / std::pow(Afrag,0.2) )*MeV;
-  G4double GammaR = 0.30 * Egdp;
- 
-  G4double normC = 1.0 / ((pi * hbarc)*(pi * hbarc));
-
-  // CD
-  //cout<<"  PROB TESTS "<<G4endl;
-  //cout<<" hbarc = "<<hbarc<<G4endl;
-  //cout<<" pi = "<<pi<<G4endl;
-  //cout<<" Uexcite, exciteE = "<<Uexcite<<"  "<<exciteE<<G4endl;
-  //cout<<" Uexcite, exciteE = "<<Uexcite*MeV<<"  "<<exciteE*MeV<<G4endl;
-  //cout<<" lev density param = "<<aLevelDensityParam<<G4endl;
-  //cout<<" level densities = "<<levelDensBef<<"  "<<levelDensAft<<G4endl;
-  //cout<<" sigma0 = "<<sigma0<<G4endl;
-  //cout<<" Egdp, GammaR = "<<Egdp<<"  "<<GammaR<<G4endl;
-  //cout<<" normC = "<<normC<<G4endl;
-
-  G4double numerator = sigma0 * exciteE*exciteE * GammaR*GammaR;
-  G4double denominator = (exciteE*exciteE - Egdp*Egdp)*
-           (exciteE*exciteE - Egdp*Egdp) + GammaR*GammaR*exciteE*exciteE;
-
-  G4double sigmaAbs = numerator/denominator; 
-
-  theProb = normC * sigmaAbs * exciteE*exciteE *
-            levelDensAft/levelDensBef;
-
-  // CD
-  //cout<<" sigmaAbs = "<<sigmaAbs<<G4endl;
-  //cout<<" Probability = "<<theProb<<G4endl;
-
-  return theProb;
-
-}
-
-G4double G4E1SingleProbability01::EmissionProbability(const G4Fragment& frag, 
-						      const G4double exciteE)
-{
-
-  // From nuclear fragment properties and the excitation energy, calculate
-  // the probability for photon evaporation down to the level
-  // Uexcite-exciteE.
-  // fragment = nuclear fragment BEFORE de-excitation
-
-  G4double theProb = 0.0;
-
-  G4double ScaleFactor = 0.1;     // playing with scale factors
-
-  const G4double Uexcite = frag.GetExcitationEnergy();
-  G4double Uafter = Uexcite - exciteE;
-
-  G4double normC = 3.0;
-
-  const G4double upperLim = Uexcite;
-  const G4double lowerLim = Uafter;
-  const G4int numIters = 25;
-
-  // Need to integrate EmissionProbDensity from lowerLim to upperLim 
-  // and multiply by normC
-
-  G4double integ = normC *
-           EmissionIntegration(frag,exciteE,lowerLim,upperLim,numIters);
-
-  if(integ > 0.0) theProb = integ;
-
-  return theProb * ScaleFactor;
-
-}
-
-G4double G4E1SingleProbability01::EmissionIntegration(const G4Fragment& frag, 
-                             const G4double ,
-                             const G4double lowLim, const G4double upLim,
-                             const G4int numIters)
-
-{
-
-  // Simple Gaussian quadrature integration
-
-  G4double x;
-  G4double root3 = 1.0/std::sqrt(3.0);
-
-  G4double Step = (upLim-lowLim)/(2.0*numIters);
-  G4double Delta = Step*root3;
-
-  G4double mean = 0.0;
-
-  G4double theInt = 0.0;
-
-  for(G4int i = 0; i < numIters; i++) {
-
-    x = (2*i + 1)/Step;
-    G4double E1ProbDensityA = EmissionProbDensity(frag,x+Delta);
-    G4double E1ProbDensityB = EmissionProbDensity(frag,x-Delta);
-
-    mean += E1ProbDensityA + E1ProbDensityB;
-
-  }
-
-  if(mean*Step > 0.0) theInt = mean*Step;
-
-  return theInt;
-
-}
-
-G4E1SingleProbability01::~G4E1SingleProbability01() {}
-
-
Index: trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4E1SingleProbability10.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4E1SingleProbability10.cc	(revision 1350)
+++ 	(revision )
@@ -1,217 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-//  Class G4E1SingleProbability10.cc
-//
-
-#include "G4E1SingleProbability10.hh"
-#include "G4ConstantLevelDensityParameter.hh"
-#include "Randomize.hh"
-
-// Constructors and operators
-//
-
-G4E1SingleProbability10::G4E1SingleProbability10(const G4E1SingleProbability10&
-						 ): G4VEmissionProbability()
-{
-
-  throw G4HadronicException(__FILE__, __LINE__, "G4E1SingleProbability10::copy_constructor meant to not be accessible");
-
-}
-
-const G4E1SingleProbability10& G4E1SingleProbability10::
-operator=(const G4E1SingleProbability10& ) 
-{
-
-  throw G4HadronicException(__FILE__, __LINE__, "G4E1SingleProbability10::operator= meant to not be accessible");
-  return *this;
-}
-
-G4bool G4E1SingleProbability10::operator==(const G4E1SingleProbability10& 
-					   ) const
-{
-
-  return false;
-
-}
-
-G4bool G4E1SingleProbability10::operator!=(const G4E1SingleProbability10& 
-					   )
-const
-{
-
-  return true;
-
-}
-
-// Calculate the emission probability
-//
-
-G4double G4E1SingleProbability10::EmissionProbDensity(const G4Fragment& frag, 
-						      const G4double exciteE)
-{
-
-  // Calculate the probability density here
-
-  // From nuclear fragment properties and the excitation energy, calculate
-  // the probability density for photon evaporation from U to U - exciteE
-  // (U = nucleus excitation energy, exciteE = total evaporated photon
-  // energy).
-  // fragment = nuclear fragment BEFORE de-excitation
-
-  G4double theProb = 0.0;
-
-  const G4double Afrag = frag.GetA();
-  const G4double Zfrag = frag.GetZ();
-  const G4double Uexcite = frag.GetExcitationEnergy();
-
-  if( (Uexcite-exciteE) < 0.0 || exciteE < 0 || Uexcite <= 0) return theProb;
-
-  // Need a level density parameter.
-  // For now, just use the constant approximation (not reliable near magic
-  // nuclei).
-
-  G4ConstantLevelDensityParameter a;
-  G4double aLevelDensityParam = a.LevelDensityParameter(static_cast<G4int>(Afrag),
-							static_cast<G4int>(Zfrag),
-							Uexcite);
-
-  G4double levelDensBef = std::exp(2.0*std::sqrt(aLevelDensityParam*Uexcite));
-  G4double levelDensAft = std::exp(2.0*std::sqrt(aLevelDensityParam*(Uexcite-exciteE)));
-
-  // Now form the probability density
-
-  // Define constants for the photoabsorption cross-section (the reverse
-  // process of our de-excitation)
-
-  G4double sigma0 = 2.5 * Afrag * millibarn;  // millibarns
-
-  G4double Egdp = (40.3 / std::pow(Afrag,0.2) )*MeV;
-  G4double GammaR = 0.30 * Egdp;
- 
-  G4double normC = 1.0 / ((pi * hbarc)*(pi * hbarc));
-
-  // CD
-  //cout<<"  PROB TESTS "<<G4endl;
-  //cout<<" hbarc = "<<hbarc<<G4endl;
-  //cout<<" pi = "<<pi<<G4endl;
-  //cout<<" Uexcite, exciteE = "<<Uexcite<<"  "<<exciteE<<G4endl;
-  //cout<<" Uexcite, exciteE = "<<Uexcite*MeV<<"  "<<exciteE*MeV<<G4endl;
-  //cout<<" lev density param = "<<aLevelDensityParam<<G4endl;
-  //cout<<" level densities = "<<levelDensBef<<"  "<<levelDensAft<<G4endl;
-  //cout<<" sigma0 = "<<sigma0<<G4endl;
-  //cout<<" Egdp, GammaR = "<<Egdp<<"  "<<GammaR<<G4endl;
-  //cout<<" normC = "<<normC<<G4endl;
-
-  G4double numerator = sigma0 * exciteE*exciteE * GammaR*GammaR;
-  G4double denominator = (exciteE*exciteE - Egdp*Egdp)*
-           (exciteE*exciteE - Egdp*Egdp) + GammaR*GammaR*exciteE*exciteE;
-
-  G4double sigmaAbs = numerator/denominator; 
-
-  theProb = normC * sigmaAbs * exciteE*exciteE *
-            levelDensAft/levelDensBef;
-
-  // CD
-  //cout<<" sigmaAbs = "<<sigmaAbs<<G4endl;
-  //cout<<" Probability = "<<theProb<<G4endl;
-
-  return theProb;
-
-}
-
-G4double G4E1SingleProbability10::EmissionProbability(const G4Fragment& frag, 
-						      const G4double exciteE)
-{
-
-  // From nuclear fragment properties and the excitation energy, calculate
-  // the probability for photon evaporation down to the level
-  // Uexcite-exciteE.
-  // fragment = nuclear fragment BEFORE de-excitation
-
-  G4double theProb = 0.0;
-
-  G4double ScaleFactor = 10.0;     // playing with scale factors
-
-  const G4double Uexcite = frag.GetExcitationEnergy();
-  G4double Uafter = Uexcite - exciteE;
-
-  G4double normC = 3.0;
-
-  const G4double upperLim = Uexcite;
-  const G4double lowerLim = Uafter;
-  const G4int numIters = 25;
-
-  // Need to integrate EmissionProbDensity from lowerLim to upperLim 
-  // and multiply by normC
-
-  G4double integ = normC *
-           EmissionIntegration(frag,exciteE,lowerLim,upperLim,numIters);
-
-  if(integ > 0.0) theProb = integ;
-
-  return theProb * ScaleFactor;
-
-}
-
-G4double G4E1SingleProbability10::EmissionIntegration(const G4Fragment& frag, 
-			     const G4double ,
-			     const G4double lowLim, const G4double upLim,
-                             const G4int numIters)
-
-{
-
-  // Simple Gaussian quadrature integration
-
-  G4double x;
-  G4double root3 = 1.0/std::sqrt(3.0);
-
-  G4double Step = (upLim-lowLim)/(2.0*numIters);
-  G4double Delta = Step*root3;
-
-  G4double mean = 0.0;
-
-  G4double theInt = 0.0;
-
-  for(G4int i = 0; i < numIters; i++) {
-
-    x = (2*i + 1)/Step;
-    G4double E1ProbDensityA = EmissionProbDensity(frag,x+Delta);
-    G4double E1ProbDensityB = EmissionProbDensity(frag,x-Delta);
-
-    mean += E1ProbDensityA + E1ProbDensityB;
-
-  }
-
-  if(mean*Step > 0.0) theInt = mean*Step;
-
-  return theInt;
-
-}
-
-G4E1SingleProbability10::~G4E1SingleProbability10() {}
-
-
Index: trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4E1SingleProbability100.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4E1SingleProbability100.cc	(revision 1350)
+++ 	(revision )
@@ -1,217 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-//  Class G4E1SingleProbability100.cc
-//
-
-#include "G4E1SingleProbability100.hh"
-#include "G4ConstantLevelDensityParameter.hh"
-#include "Randomize.hh"
-
-// Constructors and operators
-//
-
-G4E1SingleProbability100::G4E1SingleProbability100(
-			  const G4E1SingleProbability100& ): G4VEmissionProbability()
-{
-
-  throw G4HadronicException(__FILE__, __LINE__, "G4E1SingleProbability100::copy_constructor meant to not be accessible");
-
-}
-
-const G4E1SingleProbability100& G4E1SingleProbability100::
-operator=(const G4E1SingleProbability100& ) 
-{
-
- throw G4HadronicException(__FILE__, __LINE__, "G4E1SingleProbability100::operator= meant to not be accessible");
- return *this;
-}
-
-G4bool G4E1SingleProbability100::operator==(const G4E1SingleProbability100& 
-					    ) const
-{
-
-  return false;
-
-}
-
-G4bool G4E1SingleProbability100::operator!=(const G4E1SingleProbability100& 
-					    )
-const
-{
-
-  return true;
-
-}
-
-// Calculate the emission probability
-//
-
-G4double G4E1SingleProbability100::EmissionProbDensity(const G4Fragment& frag, 
-						       const G4double exciteE)
-{
-
-  // Calculate the probability density here
-
-  // From nuclear fragment properties and the excitation energy, calculate
-  // the probability density for photon evaporation from U to U - exciteE
-  // (U = nucleus excitation energy, exciteE = total evaporated photon
-  // energy).
-  // fragment = nuclear fragment BEFORE de-excitation
-
-  G4double theProb = 0.0;
-
-  const G4double Afrag = frag.GetA();
-  const G4double Zfrag = frag.GetZ();
-  const G4double Uexcite = frag.GetExcitationEnergy();
-
-  if( (Uexcite-exciteE) < 0.0 || exciteE < 0 || Uexcite <= 0) return theProb;
-
-  // Need a level density parameter.
-  // For now, just use the constant approximation (not reliable near magic
-  // nuclei).
-
-  G4ConstantLevelDensityParameter a;
-  G4double aLevelDensityParam = a.LevelDensityParameter(static_cast<G4int>(Afrag),
-							static_cast<G4int>(Zfrag),
-							Uexcite);
-
-  G4double levelDensBef = std::exp(2.0*std::sqrt(aLevelDensityParam*Uexcite));
-  G4double levelDensAft = std::exp(2.0*std::sqrt(aLevelDensityParam*(Uexcite-exciteE)));
-
-  // Now form the probability density
-
-  // Define constants for the photoabsorption cross-section (the reverse
-  // process of our de-excitation)
-
-  G4double sigma0 = 2.5 * Afrag * millibarn;  // millibarns
-
-  G4double Egdp = (40.3 / std::pow(Afrag,0.2) )*MeV;
-  G4double GammaR = 0.30 * Egdp;
- 
-  G4double normC = 1.0 / ((pi * hbarc)*(pi * hbarc));
-
-  // CD
-  //cout<<"  PROB TESTS "<<G4endl;
-  //cout<<" hbarc = "<<hbarc<<G4endl;
-  //cout<<" pi = "<<pi<<G4endl;
-  //cout<<" Uexcite, exciteE = "<<Uexcite<<"  "<<exciteE<<G4endl;
-  //cout<<" Uexcite, exciteE = "<<Uexcite*MeV<<"  "<<exciteE*MeV<<G4endl;
-  //cout<<" lev density param = "<<aLevelDensityParam<<G4endl;
-  //cout<<" level densities = "<<levelDensBef<<"  "<<levelDensAft<<G4endl;
-  //cout<<" sigma0 = "<<sigma0<<G4endl;
-  //cout<<" Egdp, GammaR = "<<Egdp<<"  "<<GammaR<<G4endl;
-  //cout<<" normC = "<<normC<<G4endl;
-
-  G4double numerator = sigma0 * exciteE*exciteE * GammaR*GammaR;
-  G4double denominator = (exciteE*exciteE - Egdp*Egdp)*
-           (exciteE*exciteE - Egdp*Egdp) + GammaR*GammaR*exciteE*exciteE;
-
-  G4double sigmaAbs = numerator/denominator; 
-
-  theProb = normC * sigmaAbs * exciteE*exciteE *
-            levelDensAft/levelDensBef;
-
-  // CD
-  //cout<<" sigmaAbs = "<<sigmaAbs<<G4endl;
-  //cout<<" Probability = "<<theProb<<G4endl;
-
-  return theProb;
-
-}
-
-G4double G4E1SingleProbability100::EmissionProbability(const G4Fragment& frag, 
-						       const G4double exciteE)
-{
-
-  // From nuclear fragment properties and the excitation energy, calculate
-  // the probability for photon evaporation down to the level
-  // Uexcite-exciteE.
-  // fragment = nuclear fragment BEFORE de-excitation
-
-  G4double theProb = 0.0;
-
-  G4double ScaleFactor = 100.0;     // playing with scale factors
-
-  const G4double Uexcite = frag.GetExcitationEnergy();
-  G4double Uafter = Uexcite - exciteE;
-
-  G4double normC = 3.0;
-
-  const G4double upperLim = Uexcite;
-  const G4double lowerLim = Uafter;
-  const G4int numIters = 25;
-
-  // Need to integrate EmissionProbDensity from lowerLim to upperLim 
-  // and multiply by normC
-
-  G4double integ = normC *
-           EmissionIntegration(frag,exciteE,lowerLim,upperLim,numIters);
-
-  if(integ > 0.0) theProb = integ;
-
-  return theProb * ScaleFactor;
-
-}
-
-G4double G4E1SingleProbability100::EmissionIntegration(const G4Fragment& frag, 
-                             const G4double ,
-                             const G4double lowLim, const G4double upLim,
-                             const G4int numIters)
-
-{
-
-  // Simple Gaussian quadrature integration
-
-  G4double x;
-  G4double root3 = 1.0/std::sqrt(3.0);
-
-  G4double Step = (upLim-lowLim)/(2.0*numIters);
-  G4double Delta = Step*root3;
-
-  G4double mean = 0.0;
-
-  G4double theInt = 0.0;
-
-  for(G4int i = 0; i < numIters; i++) {
-
-    x = (2*i + 1)/Step;
-    G4double E1ProbDensityA = EmissionProbDensity(frag,x+Delta);
-    G4double E1ProbDensityB = EmissionProbDensity(frag,x-Delta);
-
-    mean += E1ProbDensityA + E1ProbDensityB;
-
-  }
-
-  if(mean*Step > 0.0) theInt = mean*Step;
-
-  return theInt;
-
-}
-
-G4E1SingleProbability100::~G4E1SingleProbability100() {}
-
-
Index: trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/test/G4GammaDeexcitationTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/test/G4GammaDeexcitationTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,192 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// -------------------------------------------------------------------
-//      GEANT 4 class file --- Copyright CERN 1998
-//      CERN Geneva Switzerland
-//
-//
-//      File name:     G4GammaDeexcitationTest.cc 
-//
-//      Author:        Maria Grazia Pia (pia@genova.infn.it), 
-// 
-//      Creation date: 27 October 1998
-//
-//      Modifications: 
-//
-// -------------------------------------------------------------------
-
-#include "globals.hh"
-
-#include "G4ios.hh"
-#include <fstream>
-#include <iomanip>
-#include <iostream>
-#include <assert.h>
-
-#include "CLHEP/Hist/TupleManager.h"
-#include "CLHEP/Hist/HBookFile.h"
-#include "CLHEP/Hist/Histogram.h"
-#include "CLHEP/Hist/Tuple.h"
-
-#include "G4VGammaDeexcitation.hh"
-#include "G4DataVector.hh"
-#include "G4ContinuumGammaDeexcitation.hh"
-#include "G4DiscreteGammaDeexcitation.hh"
-#include "G4LorentzVector.hh"
-#include "G4NucleiProperties.hh"
-#include "G4NucleiPropertiesTable.hh"
-#include "G4Fragment.hh"
-#include "Randomize.hh"
-#include "G4FragmentVector.hh"
-
-int main()
-{
-  // MGP ---- HBOOK initialization
-  HepTupleManager* hbookManager;
-  hbookManager = new HBookFile("gammadeex.hbook", 58);
-  assert (hbookManager != 0);
-
-  // MGP ---- Book histograms
-
-  HepHistogram* hGammaE;
-  hGammaE = hbookManager->histogram("Gamma energy", 100,0.,10.);
-  assert (hGammaE != 0);  
-
-  HepHistogram* hNGammas;
-  hNGammas = hbookManager->histogram("Number of gammas", 20,0.,20.);
-  assert (hNGammas != 0);  
-
-  // MGP ---- Book a ntuple
-  HepTuple* ntuple;
-  ntuple = hbookManager->ntuple("G4GammaDeexcitation ntuple");
-  assert (ntuple != 0);
-
-  G4int Z;
-  G4int A;
-
-  G4cout << "Enter Z and A" << G4endl;
-  G4cin >> Z >> A;
-
-  assert (Z > 0);
-  assert (A > 0);
-  assert (A > Z);
-  
-  G4NuclearLevelManager levelManager(Z,A);
-
-  G4int verbose;
-  G4cout << "Enter verbose level " << G4endl;
-  G4cin >> verbose;
-
-  G4int mode = 0;
-  G4cout << "Enter continuum (0) or discrete (1) deexcitation mode" << G4endl;
-  G4cin >> mode;
-
-  G4int iter = 1;
-  G4cout << "Enter number of iterations " << G4endl;
-  G4cin >> iter;
-  if (iter <1) iter = 1;
-
-  G4double excMin;
-  G4double excMax;    
-  G4cout << "Enter initial min an max excitation energy" << G4endl;
-  G4cin >> excMin >> excMax;
-  assert (excMin >= 0.);
-  assert (excMax > 0.);
-  assert (excMax >= excMin);
-
-  G4int i;
-  for (i=0; i<iter; i++)
-    {
-      G4double excitation = excMin + G4UniformRand() * (excMax - excMin);
-      G4VGammaDeexcitation* deexcitation;
-
-      G4cout << G4endl << "TEST >>>>>>>>> Iteration " << i 
-	     << " <<<<<<<<< Initial excitation " << excitation << " ";
-
-      // Discrete deexcitation
-
-      if (mode > 0) 
-	{
-	  // Transform excitation energy into nearest level energy 
-	  const G4NuclearLevel* level = levelManager.NearestLevel(excitation);
-	  if (level != 0)
-	    {
-	      excitation = level->Energy();
-	      G4cout << "Transformed into excitation " << excitation << G4endl;
-	    }
-
-	  deexcitation = new G4DiscreteGammaDeexcitation();
-	  G4cout << "TEST ---- G4DiscreteGammaDeexcitation created ----" << G4endl;
-	}
-
-      // Continuum deexcitation
-      
-      else
-	{
-	  deexcitation = new G4ContinuumGammaDeexcitation();
-	  G4cout << G4endl << "TEST ---- G4ContinuumGammaDeexcitation created ----" << G4endl;
-	}
-      
-      deexcitation->SetVerboseLevel(verbose);
-
-      G4LorentzVector p4(0.,0.,0.,G4NucleiProperties::GetNuclearMass(A,Z));
-      G4Fragment nucleus(A,Z,p4);
-      nucleus.SetExcitationEnergy(excitation);
-      deexcitation->SetNucleus(nucleus);
-      
-      G4FragmentVector* gammas = deexcitation->DoChain();
-
-      // Fill histograms 
-      G4int nGammas = 0;
-      if (gammas !=0) nGammas = gammas->entries();
-      hNGammas->accumulate(nGammas);
-      G4cout << "TEST: " << nGammas << " photons generated: ";
-      G4int ig = 0;
-      for (ig=0; ig<nGammas; ig++)
-	{
-	  G4double gammaE = gammas->at(ig)->GetMomentum().e();
-	  G4cout << gammaE << " ";
-          hGammaE->accumulate(gammaE);
-	}
-      G4cout << G4endl;
-
-      if (gammas != 0) gammas->clearAndDestroy();
-      delete gammas;
-      gammas = 0;
-      delete deexcitation;
-      deexcitation = 0;
-    }
-
-  hbookManager->write();
-  
-  return EXIT_SUCCESS;
-}
-
-
-
-
-
Index: trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/test/G4NuclearLevelManagerTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/test/G4NuclearLevelManagerTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,113 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// -------------------------------------------------------------------
-//      GEANT 4 class file --- Copyright CERN 1998
-//      CERN Geneva Switzerland
-//
-//
-//      File name:     G4NuclearLevelManagerTest.cc 
-//
-//      Author:        Maria Grazia Pia (pia@genova.infn.it), 
-// 
-//      Creation date: 27 October 1998
-//
-//      Modifications: 
-//
-// -------------------------------------------------------------------
-
-#include "globals.hh"
-
-#include "G4ios.hh"
-#include <fstream>
-#include <iomanip>
-#include <iostream>
-#include <assert.h>
-
-#include "CLHEP/Hist/TupleManager.h"
-#include "CLHEP/Hist/HBookFile.h"
-#include "CLHEP/Hist/Histogram.h"
-#include "CLHEP/Hist/Tuple.h"
-
-#include "G4NuclearLevelManager.hh"
-#include "G4NuclearLevel.hh"
-#include "G4DataVector.hh"
-
-int main()
-{
-
-  G4int Z;
-  G4int A;
-
-  G4cout << "Enter Z and A" << G4endl;
-  G4cin >> Z >> A;
-
-  assert (Z > 0);
-  assert (A > 0);
-  assert (A > Z);
-
-  G4int iter;
-  G4cout << "Enter number of iterations " << G4endl;
-  G4cin >> iter;
-
-   G4int i;
-   for (i=0; i<iter; i++)
-     {
-
-       // NuclearLevelManager for this (Z,A) material
-       //       G4NuclearLevelManager levelManager(Z,A);
-       //       G4NuclearLevelManager* levelManager = new G4NuclearLevelManager(Z,A);
-       G4NuclearLevelManager* levelManager = new G4NuclearLevelManager();
-       levelManager->SetNucleus(Z,A);
-       //       G4cout << i <<") ---- G4NuclearLevelManager created ----" << G4endl;
-       
-       // Is it a valid isotope?
-       if (! (levelManager->IsValid(Z,A)))
-	   	 { G4cout << "This (Z,A) has no ENSDF levels and gammas " << G4endl; }
-
-       levelManager->PrintAll();
-       delete levelManager;
-     }
-
-  return EXIT_SUCCESS;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Index: trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/test/G4PhotonEvaporationTest.cc
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/test/G4PhotonEvaporationTest.cc	(revision 1350)
+++ 	(revision )
@@ -1,287 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// -------------------------------------------------------------------
-//      GEANT 4 class file --- Copyright CERN 1998
-//      CERN Geneva Switzerland
-//
-//
-//      File name:     G4PhotonEvaporationTest.cc 
-//
-//      Author:        Maria Grazia Pia (pia@genova.infn.it), 
-// 
-//      Creation date: 27 October 1998
-//
-//      Modifications: 
-//
-// -------------------------------------------------------------------
-
-#include "globals.hh"
-
-#include "G4ios.hh"
-#include <assert.h>
-#include <fstream>
-#include <iomanip>
-#include <iostream>
-
-#include "CLHEP/Hist/TupleManager.h"
-#include "CLHEP/Hist/HBookFile.h"
-#include "CLHEP/Hist/Histogram.h"
-#include "CLHEP/Hist/Tuple.h"
-
-#include "G4PhotonEvaporation.hh"
-#include "G4VGammaDeexcitation.hh"
-#include "G4DataVector.hh"
-#include "G4ContinuumGammaDeexcitation.hh"
-#include "G4DiscreteGammaDeexcitation.hh"
-#include "G4LorentzVector.hh"
-#include "G4ThreeVector.hh"
-#include "G4NucleiProperties.hh"
-#include "G4NucleiPropertiesTable.hh"
-#include "G4Fragment.hh"
-#include "Randomize.hh"
-#include "G4FragmentVector.hh"
-#include "G4ParticleTypes.hh"
-#include "G4ParticleDefinition.hh"
-
-int main()
-{
-  // MGP ---- HBOOK initialization
-  HepTupleManager* hbookManager;
-  hbookManager = new HBookFile("mgcarlo.hbook", 58);
-  assert (hbookManager != 0);
-
-  // MGP ---- Book histograms
-
-  HepHistogram* hGammaE;
-  hGammaE = hbookManager->histogram("Gamma energy", 100,0.,10.);
-  assert (hGammaE != 0);  
-
-  HepHistogram* hNProducts;
-  hNProducts = hbookManager->histogram("Number of products", 20,0.,20.);
-  assert (hNProducts != 0);  
-
-  HepHistogram* hProb;
-  hProb = hbookManager->histogram("Probability * 1.e25", 100,0.,10.);
-  assert (hProb != 0);  
-
-  // MGP ---- Book a ntuple
-  HepTuple* ntuple;
-  ntuple = hbookManager->ntuple("G4PhotonEvaporation");
-  assert (ntuple != 0);
-
-  HepTuple* ntupleCons;
-  ntupleCons = hbookManager->ntuple("Conservation");
-  assert (ntupleCons != 0);
-
-  G4int Z;
-  G4int A;
-
-  G4cout << "Enter Z and A" << G4endl;
-  G4cin >> Z >> A;
-
-  assert (Z > 0);
-  assert (A > 0);
-  assert (A > Z);
-  
- 
-  G4int verbose;
-  G4cout << "Enter verbose level " << G4endl;
-  G4cin >> verbose;
-
-  G4int mode = 0;
-  G4cout << "Enter continuum (0) or discrete (1) deexcitation mode" << G4endl;
-  G4cin >> mode;
-
-  G4int iter = 1;
-  G4cout << "Enter number of iterations " << G4endl;
-  G4cin >> iter;
-  if (iter <1) iter = 1;
-
-  G4double excMin;
-  G4double excMax;    
-  G4cout << "Enter initial min an max excitation energy" << G4endl;
-  G4cin >> excMin >> excMax;
-  assert (excMin >= 0.);
-  assert (excMax > 0.);
-  assert (excMax >= excMin);
- 
-
-  G4ParticleDefinition* gamma = G4Gamma::GammaDefinition();
-
-  G4ParticleDefinition* proton = G4Proton::ProtonDefinition();
-  G4ParticleDefinition* antiProton = G4AntiProton::AntiProtonDefinition();
-  G4ParticleDefinition* neutron = G4Neutron::NeutronDefinition();   
-  G4ParticleDefinition* antiNeutron = G4AntiNeutron::AntiNeutronDefinition();   
-
-  G4ParticleDefinition* pionPlus = G4PionPlus::PionPlusDefinition();
-  G4ParticleDefinition* pionMinus = G4PionMinus::PionMinusDefinition();
-  G4ParticleDefinition* pionZero = G4PionZero::PionZeroDefinition();
-
-  G4ParticleDefinition* kaonPlus = G4KaonPlus::KaonPlusDefinition();
-  G4ParticleDefinition* kaonMinus = G4KaonMinus::KaonMinusDefinition();
-   
-  G4ParticleDefinition* lambda = G4Lambda::LambdaDefinition();
-
-  G4ParticleDefinition* theMuonPlus = G4MuonPlus::MuonPlusDefinition();
-  G4ParticleDefinition* theMuonMinus = G4MuonMinus::MuonMinusDefinition();
-
-  G4ParticleDefinition* theNeutrinoMu = G4NeutrinoMu::NeutrinoMuDefinition();
-  G4ParticleDefinition* theAntiNeutrinoMu = G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
-
-  // G4PhotonEvaporation for this (Z,A) material
-  G4PhotonEvaporation* photonEvaporation = new G4PhotonEvaporation;
-  G4cout << "TEST ---- G4PhotonEvaporation created ----" << G4endl;
-
-  photonEvaporation->SetVerboseLevel(verbose);
-
-  G4int i;
-  for (i=0; i<iter; i++)
-    {
-      G4double excitation = excMin + G4UniformRand() * (excMax - excMin);
-
-	  G4cout << G4endl << "TEST >>>>>>>>> Iteration " << i 
-		 << " <<<<<<<<< Initial excitation " << excitation << " ";
-
-      if (mode > 0) 
-	{
-	  // Transform excitation energy into nearest level energy 
-
-	  G4NuclearLevelManager levelManager;
-	  levelManager.SetNucleus(Z,A);
-          const G4NuclearLevel* level = levelManager.NearestLevel(excitation);
-	  if (level != 0)
-	    {
-	      excitation = level->Energy();
-	      G4cout << "Transformed into excitation " << excitation << G4endl;
-	    }
-	}
-      else
-	{
-	  G4cout << G4endl;
-	}
-
-      G4LorentzVector p4(0.,0.,0.,G4NucleiProperties::GetNuclearMass(A,Z)+excitation);
-      G4Fragment nucleus(A,Z,p4);
-      //      nucleus.SetExcitationEnergy(excitation);
-      G4double initialE = nucleus.GetMomentum().e();
-         
-      G4FragmentVector* products = photonEvaporation->BreakItUp(nucleus);
-      if(verbose >= 0) G4cout << "TEST: BreakItUp done" << G4endl;
-
-      G4double scale = 1./millibarn;
-      G4double prob = photonEvaporation->GetEmissionProbability() * scale;
-      if(verbose >= 0) G4cout << "TEST: probability " << prob << G4endl;
- 
-      // Fill histograms 
-
-      G4int nProducts = 0;
-      if (products !=0) nProducts = products->entries();
-      hNProducts->accumulate(nProducts);
-
-      hProb->accumulate(prob);
-
-      if(verbose >= 0) G4cout << "TEST: " << nProducts << " products generated: gammaE ";
-
-      G4double currentExcitation = excitation;
-      G4double sumPx = 0.;
-      G4double sumPy = 0.;
-      G4double sumPz = 0.;
-      G4double sumE = 0.;
-      G4double sumEgamma = 0.;
-
-      G4int ig = 0;
-      for (ig=0; ig<nProducts; ig++)
-	{
-	  G4double productE = products->at(ig)->GetMomentum().e();
-	  G4ThreeVector pProd(products->at(ig)->GetMomentum());
-	  sumPx = sumPx + pProd.x();
-	  sumPy = sumPy + pProd.y();
-	  sumPz = sumPz + pProd.z();
-	  sumE = sumE + productE;
-	  if (products->at(ig)->GetA() < 1)
-	    {
-	      if(verbose >= 0) G4cout << productE << " ";
-	      sumEgamma = sumEgamma + productE;
-	      hGammaE->accumulate(productE);
-	      ntuple->column("exc",currentExcitation);
-              ntuple->column("egamma",productE);
-              ntuple->column("prob",prob);
-	      ntuple->dumpData();
-	      // ntuple->column("px",pProd.x());
-	      // ntuple->column("py",pProd.y());
-	      // ntuple->column("pz",pProd.z());
-	      currentExcitation = currentExcitation - productE;
-	    }
-	  else
-	    { if(verbose >= 0) G4cout << "(" << products->at(ig)->GetZ() << "," << products->at(ig)->GetA() << ") "; }
-	}
-      if(verbose >= 0) G4cout << G4endl;
-
-      if(verbose >= 0) G4cout << "TEST: Sum of product energies = " << sumE 
-	     << ", Sum of gamma energies = " << sumEgamma << G4endl;
-
-      if (products != 0) 
-	{
-	  products->clearAndDestroy();
-
-	  ntupleCons->column("px",sumPx);
-	  ntupleCons->column("py",sumPy);
-	  ntupleCons->column("pz",sumPz);
-	  ntupleCons->column("eprod",sumE);
-	  ntupleCons->column("exc",excitation);
-	  ntupleCons->column("egammas",sumEgamma);
-	  ntupleCons->column("ein",initialE);
-	  ntupleCons->dumpData();
-	}
-      delete products;
-    }
-
-  hbookManager->write();
-
-  delete photonEvaporation;
-  
-  return EXIT_SUCCESS;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Index: trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/test/GNUmakefile
===================================================================
--- trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/test/GNUmakefile	(revision 1350)
+++ 	(revision )
@@ -1,28 +1,0 @@
-# $Id: GNUmakefile,v 1.1 2003/10/07 12:50:33 lara Exp $
-# ----------------------------------------------------------------
-# Makes test program in environment variable G4TARGET.
-# ----------------------------------------------------------------
-
-ifndef G4TARGET
-  G4TARGET := $(TESTTARGET)
-endif
-
-ifndef G4INSTALL
-  G4INSTALL = ../../../../../../../
-endif
-
-G4EXEC_BUILD = true
-
-include $(G4INSTALL)/config/architecture.gmk
-
-include $(G4INSTALL)/config/binmake.gmk
-
-
-
-
-
-
-
-
-
-
Index: trunk/source/processes/hadronic/models/high_energy/include/G4HEPlot.hh
===================================================================
--- trunk/source/processes/hadronic/models/high_energy/include/G4HEPlot.hh	(revision 1350)
+++ 	(revision )
@@ -1,114 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: G4HEPlot.hh,v 1.9 2006/06/29 20:29:37 gunter Exp $
-// GEANT4 tag $Name: geant4-09-03-ref-09 $
-//
-//
-// G4 Gheisha friend class G4HEPlot  -- header file
-// last modified: H. Fesefeldt 18-November-1996
-
-#include <stdio.h>
-#include "globals.hh"
-
-class G4HEPlot
- {
-  public:
-     G4double Xstart;
-     G4double Xbin;
-     G4double Weight;
-     G4int    Nbin;
-     G4int Entries;
-     G4int EntriesOverflow;
-     G4int EntriesUnderflow;
-     G4double WeightOverflow;
-     G4double WeightUnderflow;
-     G4double* Xvalue;
-     G4double* Yvalue;
-
-   G4HEPlot(){ };
-
-  ~G4HEPlot(){ };
-
-   G4double  getWeight()
-     { return Weight;}; 
-
-   G4double getWeightUnderflow()
-     { return WeightUnderflow; };
-
-   G4double getWeightOverflow()
-     { return WeightOverflow;};
-
-   G4int getNumberOfEntries()
-     { return Entries;};
-
-   G4int getNumberOfEntriesOverflow()
-     { return EntriesOverflow;};
-
-   G4int getNumberOfEntriesUnderflow()
-     { return EntriesUnderflow;};
-
-   G4int getNumberOfBins()
-     { return Nbin;}; 
-
-   G4double getBinsize()
-     { return Xbin;};
-
-   G4double getXstart()
-     { return Xstart;}; 
-
-   void Init(G4int nbin, G4double xstart, G4double Xbin); 
-
-   void Add( G4double s1, G4double s2, const G4HEPlot & p1, const G4HEPlot & p2 );
-
-   void Multiply( G4double s1, G4double s2, const G4HEPlot & p1, const G4HEPlot & p2 );
-
-   void Divide( G4double s1, G4double s2, const G4HEPlot & p1, const G4HEPlot & p2 );
-
-   void Scale( G4double s, const G4HEPlot & p);
-
-   void XScale( G4double a, G4double b); 
-
-   void Shift( G4int nshift);
-
-   void Log( G4double s, const G4HEPlot & p);
-
-   void Sqrt( G4double s, const G4HEPlot & p);
-
-   void Reset();
-
-   void LinearFit(G4double& a, G4double& b);
-
-   void Fill(G4double x, G4double w);
-
-   void Print(G4String name, G4int i);
-
-   void DumpToFile(G4int aPlot, G4String aName);
-
-   void GetFromFile(G4int aPlot, G4String aName);
- 
-};
-
Index: trunk/source/processes/hadronic/models/high_energy/src/G4HEPlot.cc
===================================================================
--- trunk/source/processes/hadronic/models/high_energy/src/G4HEPlot.cc	(revision 1350)
+++ 	(revision )
@@ -1,404 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: G4HEPlot.cc,v 1.11 2006/06/29 20:30:36 gunter Exp $
-// GEANT4 tag $Name: geant4-09-03-ref-09 $
-//
-//
-
-#include "globals.hh"
-#include "G4ios.hh"
-
-//
-// G4 Gheisha friend class G4GHEPlot
-// last modified: H. Fesefeldt 02-July--1998
-
-#include "G4HEPlot.hh"
-  
-
-void 
-G4HEPlot::Init( G4int nbin, G4double xstart, G4double xbin ) 
-   {
-      Xbin = xbin;
-      Nbin = nbin;
-      Xstart = xstart;
-      Entries = 0;
-      EntriesOverflow = 0;
-      EntriesUnderflow = 0;
-      Weight = 0.;
-      WeightOverflow = 0.;
-      WeightUnderflow = 0.;
-      Xvalue = new G4double[Nbin];
-      Yvalue = new G4double[Nbin];    
-      for(G4int i=0; i<Nbin; i++)
-        {
-          Xvalue[i] = Xstart + i*Xbin;
-          Yvalue[i] = 0.;
-        } 
-      return; 
-   }
- 
-void 
-G4HEPlot::Add( G4double s1, G4double s2, 
-               const G4HEPlot & p1, const G4HEPlot & p2 )
-   {
-     if(p1.Nbin != p2.Nbin)
-       {
-         G4cout << "G4HEPlot::Add: Plots must have same number of bins !" << G4endl;
-         return;
-       }
-     if(Nbin != p1.Nbin)
-       {
-         G4cout << "G4HEPlot::Add: Plot must be initialized  before using it !" << G4endl;
-         return;
-       }  
-
-     for(G4int i=0; i<Nbin; i++)
-       { 
-         Yvalue[i] = s1*p1.Yvalue[i] + s2*p2.Yvalue[i];
-       }
-     Entries = p1.Entries + p2.Entries;
-     EntriesOverflow = p1.EntriesOverflow + p2.EntriesOverflow;
-     EntriesUnderflow = p1.EntriesUnderflow + p2.EntriesUnderflow;
-     Weight = s1*p1.Weight + s2*p2.Weight;
-     WeightUnderflow = s1*p1.WeightUnderflow + s2*p2.WeightUnderflow;
-     WeightOverflow = s1*p1.WeightOverflow + s2*p2.WeightOverflow;
-     return; 
-   }
-
-void 
-G4HEPlot::Multiply( G4double s1, G4double s2, 
-                    const G4HEPlot & p1, const G4HEPlot & p2 )
-   {
-     if(p1.Nbin != p2.Nbin)
-       {
-         G4cout << "G4HEPlot::Multiply: Plots must have same number of bins !" << G4endl;
-         return;
-       }
-     if(Nbin != p1.Nbin)
-       {
-         G4cout << "G4HEPlot::Multiply: Plot must be initialized  before using it !" << G4endl;
-         return;
-       }  
-
-     for(G4int i=0; i<Nbin; i++)
-       { 
-         Yvalue[i] = s1*p1.Yvalue[i]* s2*p2.Yvalue[i];
-       }
-     Entries = p1.Entries * p2.Entries;
-     EntriesOverflow = p1.EntriesOverflow * p2.EntriesOverflow;
-     EntriesUnderflow = p1.EntriesUnderflow * p2.EntriesUnderflow;
-     Weight = s1*p1.Weight * s2*p2.Weight;
-     WeightUnderflow = s1*p1.WeightUnderflow * s2*p2.WeightUnderflow;
-     WeightOverflow = s1*p1.WeightOverflow * s2*p2.WeightOverflow;
-     return;
-  }
-
-void 
-G4HEPlot::Divide( G4double s1, G4double s2, 
-                  const G4HEPlot & p1, const G4HEPlot & p2 )
-   {
-     if(p1.Nbin != p2.Nbin)
-       {
-         G4cout << "G4HEPlot::Divide: Plots must have same number of bins !" << G4endl;
-         return;
-       }
-     if(Nbin != p1.Nbin)
-       {
-         G4cout << "G4HEPlot::Divide: Plot must be defined before using it !" << G4endl;
-         return;
-       }  
-
-     for(G4int i=0; i<Nbin; i++)
-       { 
-         if(p2.Yvalue[i] == 0.) 
-           { 
-             Yvalue[i] = 0.;
-           }
-         else
-           {
-             Yvalue[i] = (s1*p1.Yvalue[i]) / (s2*p2.Yvalue[i]);
-           }
-       } 
-     if(p2.Entries > 0)
-       Entries = p1.Entries / p2.Entries;
-     if(p2.EntriesOverflow > 0)
-       EntriesOverflow = p1.EntriesOverflow / p2.EntriesOverflow;
-     if(p2.EntriesUnderflow > 0)
-       EntriesUnderflow = p1.EntriesUnderflow / p2.EntriesUnderflow;
-     if(p2.Weight != 0.)
-       Weight = s1*p1.Weight / s2*p2.Weight;
-     if(p2.WeightUnderflow != 0.)
-       WeightUnderflow = s1*p1.WeightUnderflow  / s2*p2.WeightUnderflow;
-     if(p2.WeightOverflow != 0.)
-       WeightOverflow = s1*p1.WeightOverflow / s2*p2.WeightOverflow;
-     return;
-   }
-
-void 
-G4HEPlot::Scale( G4double s, const G4HEPlot & p)
-   {
-     if(Nbin != p.Nbin)
-       {
-         G4cout << "G4HEPlot::Add: Plot must be defined before using it !" << G4endl;
-         return;
-       }  
-
-     for(G4int i=0; i<Nbin; i++)
-       { 
-         Yvalue[i] = s*p.Yvalue[i];
-       }
-     Entries = p.Entries ;
-     EntriesOverflow = p.EntriesOverflow;
-     EntriesUnderflow = p.EntriesUnderflow;
-     Weight = s*p.Weight;
-     WeightUnderflow = s*p.WeightUnderflow;
-     WeightOverflow = s*p.WeightOverflow;
-     return;
-   }
-
-void
-G4HEPlot::XScale(G4double a, G4double b)
-   {
-     Xstart = b + Xstart;
-     Xbin   = a*Xbin;
-     for(G4int i=0; i<Nbin; i++)
-       {
-         Xvalue[i] = Xstart + i*Xbin;
-       }
-   }      
-
-void
-G4HEPlot::Shift(G4int nshift)
-   {
-     G4int i;
-     if(nshift < 0)
-     {
-       for(i=0;i<Nbin-nshift;i++)
-       {
-          Yvalue[i] = Yvalue[i-nshift];
-       }
-       for(i=Nbin-nshift;i<Nbin;i++)
-       {
-          Yvalue[i] = 0.;
-       }
-     }
-     if(nshift > 0)
-     {
-       for(i=Nbin-1;i>nshift-1;i--)
-       {
-          Yvalue[i] = Yvalue[i-nshift];
-       }
-       for(i=0;i<nshift;i++)
-       {
-          Yvalue[i] = 0.;
-       }
-       return; 
-     }
-   }    
-void 
-G4HEPlot::Log( G4double s, const G4HEPlot & p)
-   {
-     if(Nbin != p.Nbin)
-       {
-         G4cout << "G4HEPlot::Log: Plot must be defined before using it !" << G4endl;
-         return;
-       }  
-
-     for(G4int i=0; i<Nbin; i++)
-       { 
-         if(s*p.Yvalue[i] <= 0.) Yvalue[i] = 0.;
-         else  Yvalue[i] = std::log10(s*p.Yvalue[i]);
-       }
-     
-     Entries = p.Entries ;
-     EntriesOverflow = p.EntriesOverflow;
-     EntriesUnderflow = p.EntriesUnderflow;
-     if(p.Weight > 0)
-       Weight = std::log10(s*p.Weight);
-     if(p.WeightUnderflow > 0)
-       WeightUnderflow = std::log10(s*p.WeightUnderflow);
-     if(p.WeightOverflow > 0)
-       WeightOverflow = std::log10(s*p.WeightOverflow);
-     return;
-   }
-
-void
-G4HEPlot::Sqrt(G4double s, const G4HEPlot & p)
-   {
-     if(Nbin != p.Nbin)
-       {
-         G4cout << " G4HEPlot::Sqrt: Plot must be defined before using it !" << G4endl;
-         return;
-       }
-     for (G4int i=0; i<Nbin; i++)
-       {
-         if(s*p.Yvalue[i] <= 0.) Yvalue[i] = 0.;
-         else   Yvalue[i] = std::sqrt(s*p.Yvalue[i]);
-       }
-     Entries = p.Entries;
-     EntriesOverflow = p.EntriesOverflow;
-     EntriesUnderflow = p.EntriesUnderflow;
-     if(s*p.Weight > 0.) Weight = std::sqrt(s*p.Weight);
-     if(s*p.WeightUnderflow > 0.) WeightUnderflow = std::sqrt(s*p.WeightUnderflow);
-     if(s*p.WeightOverflow > 0.) WeightOverflow = std::sqrt(s*p.WeightOverflow);
-     return;
-   } 
-
-void 
-G4HEPlot::Reset()
-   {
-     for(G4int i=0; i<Nbin; i++)
-       {
-         Yvalue[i] = 0.;
-       }
-     Entries = 0;
-     EntriesOverflow = 0;
-     EntriesUnderflow = 0;
-     Weight = 0.;
-     WeightOverflow = 0.;
-     WeightUnderflow = 0.;
-     return;
-   }
-
-void
-G4HEPlot::LinearFit(G4double& a, G4double& b)
-   {
-     G4double a11 = 0.;
-     G4double a12 = 0.;
-     G4double a22 = 0.;
-     G4double b1  = 0.;
-     G4double b2  = 0.;
-     for(G4int i = 0; i<Nbin; i++)
-     {
-       if(Yvalue[i] != 0.)
-       {
-          a11 += (Xvalue[i]+Xbin/2.)*(Xvalue[i]+Xbin/2.);
-          a12 += (Xvalue[i]+Xbin/2.);
-          a22 += 1.;
-          b1  += Yvalue[i]*(Xvalue[i]+Xbin/2.);
-          b2  += Yvalue[i];
-       }
-     }
-     b = (b1*a12-b2*a11)/(a12*a12-a11*a22);
-     a = (b1 - b*a12)/a11;
-     return;
-   }
-
-void 
-G4HEPlot::Fill(G4double x, G4double weight)
-   {
-     G4int i = (int)((x - Xstart)/Xbin);
-     if(i < 0)
-       {
-         EntriesUnderflow++;
-         WeightUnderflow += weight;
-       }
-     else if(i >= Nbin)
-       {
-         EntriesOverflow++;
-         WeightOverflow += weight;
-       }
-     else
-       {
-         Entries++;
-         Weight += weight;
-         Yvalue[i] += weight;
-       }
-     return;
-   }    
-
-void 
-G4HEPlot::Print( G4String  name, G4int iplot)
-   {
-     G4cout << name << iplot << " = new TH1F(" << '"' << iplot 
-          << '"' << "," << '"' <<  '"' << "," << Nbin << "," 
-          << Xstart << "," << Xstart+Nbin*Xbin << ");" << G4endl; 
-     G4cout << "for(I=1; I<=" << Nbin <<"; I++) {" << G4endl;
-     G4cout << "Y[I] = 0.;" << G4endl;
-     G4cout << "}" << G4endl;
-     for (G4int i=0; i<Nbin; i++)
-       {
-         G4cout << "Y[" << i+1 << "] = " << Yvalue[i] << ";" << G4endl;
-       } 
-     G4cout << "XA = " << Xstart << ";" << G4endl;
-     G4cout << "STEP2 = " << Xbin/2. << ";" << G4endl;
-     G4cout << "for(I=1; I<=" << Nbin << "; I++) {" << G4endl;
-     G4cout << "XA = XA + STEP2;" << G4endl;
-     G4cout << name << iplot << "->Fill(XA,Y[I]);" << G4endl;
-     G4cout << "XA = XA + STEP2;" << G4endl;
-     G4cout << "}" << G4endl;
-     return;                         
-   }
-
-void
-G4HEPlot::DumpToFile(G4int aPlot, G4String aName)
-   {
-     FILE* fz;
-     fz = fopen(aName, "a");
-     fprintf(fz,"%3d %3d %12.5e %12.5e \n",aPlot, Nbin, Xstart, Xbin);
-     G4double xval = Xstart - Xbin/2.;
-     for(G4int i=0; i<Nbin; i++)
-       {
-         xval += Xbin;
-         fprintf(fz,"%12.5e %12.5e \n", xval, Yvalue[i]);
-       }
-     fclose(fz);
-   }
-
-void
-G4HEPlot::GetFromFile(G4int aPlot, G4String aName)
-   {
-     FILE* fz;
-     long int ip, nb;
-     G4double xs,xb,x,y;
-     if((fz = fopen(aName, "r")) != NULL)
-       {
-         while(fscanf(fz,"%ld %ld %le %le", &ip, &nb, &xs, &xb)==4)
-           {
-             if(ip == aPlot) 
-               {
-                 if(Nbin == 0) Init(nb, xs, xb);
-               }
-             for (G4int i=0; i<nb; i++)
-               {
-                 fscanf(fz,"%le %le", &x, &y);
-                 if(ip == aPlot) Fill(x,y);
-               }
-             if(ip == aPlot) break;
-           }
-         fclose(fz);
-         return;
-       }
-     else
-       {
-         G4cout << " File " << aName << " not found " << G4endl;
-       }
-     return;
-   }
-
-
-
Index: trunk/source/processes/hadronic/models/im_r_matrix/src/G4VScatterer.cc
===================================================================
--- trunk/source/processes/hadronic/models/im_r_matrix/src/G4VScatterer.cc	(revision 1350)
+++ 	(revision )
@@ -1,54 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-// $Id: G4VScatterer.cc,v 1.2 2006/06/29 20:41:55 gunter Exp $ //
-//
-//
-//
-// $Id: G4HadronKineticModel.hh,v 1.0 1998/06/30
-//
-// -------------------------------------------------------------------
-//      GEANT4 Class file
-//
-//
-//      File name:    G4VScatterer.hh
-//
-//      Author:        
-// 
-//      Creation date: first implementation by ?
-//
-//      Modifications: 
-//      27-10-99 MGP   Removed old Dubna stuff 
-//      
-// -----------------------------------------------------------------------------
-
-
-
-
-
-
-
-
-
Index: trunk/source/processes/hadronic/models/leading_particle/GNUmakefile
===================================================================
--- trunk/source/processes/hadronic/models/leading_particle/GNUmakefile	(revision 1350)
+++ 	(revision )
@@ -1,35 +1,0 @@
-# $Id: GNUmakefile,v 1.2 2003/10/08 16:42:20 hpw Exp $
-# -----------------------------------------------------------
-# GNUmakefile for hadronic library.  Gabriele Cosmo, 18/9/96.
-# -----------------------------------------------------------
-
-name := G4hadronic_leading_particle
-
-ifndef G4INSTALL
-  G4INSTALL = ../../../../..
-endif
-
-include $(G4INSTALL)/config/architecture.gmk
-
-CPPFLAGS += -I$(G4BASE)/global/management/include \
-            -I$(G4BASE)/global/HEPRandom/include \
-            -I$(G4BASE)/global/HEPGeometry/include \
-            -I$(G4BASE)/track/include \
-            -I$(G4BASE)/intercoms/include \
-            -I$(G4BASE)/geometry/volumes/include \
-            -I$(G4BASE)/geometry/management/include \
-            -I$(G4BASE)/processes/management/include \
-            -I$(G4BASE)/processes/hadronic/management/include/ \
-            -I$(G4BASE)/processes/hadronic/models/management/include/ \
-            -I$(G4BASE)/processes/hadronic/util/include \
-            -I$(G4BASE)/processes/hadronic/processes/include \
-            -I$(G4BASE)/processes/hadronic/cross_sections/include \
-            -I$(G4BASE)/particles/management/include \
-            -I$(G4BASE)/particles/leptons/include \
-            -I$(G4BASE)/particles/bosons/include \
-            -I$(G4BASE)/particles/hadrons/mesons/include \
-            -I$(G4BASE)/particles/hadrons/barions/include \
-            -I$(G4BASE)/particles/hadrons/ions/include \
-            -I$(G4BASE)/materials/include
-           
-include $(G4INSTALL)/config/common.gmk
Index: trunk/source/processes/hadronic/models/leading_particle/History
===================================================================
--- trunk/source/processes/hadronic/models/leading_particle/History	(revision 1350)
+++ 	(revision )
@@ -1,20 +1,0 @@
-$Id: History,v 1.1 2001/12/13 14:59:43 kurasige Exp $
--------------------------------------------------------------------
-
-     =========================================================
-     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
-     =========================================================
-
-            leading_particle biasing model History  file
-           ----------------------------------------------
-This file should be used by responsible rdm developers to briefly
-summarize all major modifications introduced in the code and keep
-track of all tags.
-
-     ----------------------------------------------------------
-     * Reverse chronological order (last date on top), please *
-     ----------------------------------------------------------
-13 Dec 2001 Hisaya  Kurashige (leading_particle-V04-00-00)
--  Introduce Mars5GeV code based on MARS13 by Nikolai(Naoko)
-
-
Index: trunk/source/processes/hadronic/models/leading_particle/include/G4Mars5GeV.hh
===================================================================
--- trunk/source/processes/hadronic/models/leading_particle/include/G4Mars5GeV.hh	(revision 1350)
+++ 	(revision )
@@ -1,342 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: G4Mars5GeV.hh,v 1.5 2006/06/29 20:43:22 gunter Exp $
-// GEANT4 tag $Name: geant4-09-03 $
-//
-// 
-// ------------------------------------------------------------
-//	GEANT 4 class header file 
-//
-// 
-// ------------------------------------------------------------
-//   First Implemention    17 Nov. 1998  M.Asai, H.Kurahige
-// 
-//   History:
-//   modified as hadronic model 28 Oct 2001 N.Kanaya
-//   remodified by T. Koi 18 Nov 2004 
-// ------------------------------------------------------------
-//  Class Description
-//  This is a Event Biasing mechanism based on MARS code
-//   This model is applicable to 
-//   proton/neutron/pi+-/K+-/gamma/anti_proton
-//   with energy < 5.0GeV
-//*
-//  Original code is MARS13 written by Nikolai Mokhov (FNAL)
-//**************************************************************
-//*   MARS13: 9. hA EVENT GENERATOR:
-//*     Copyright Nikolai Mokhov (Fermilab)
-//*
-//*     LAST CHANGE: 14-NOV-1998
-//**************************************************************
-//*     Copyright Nikolai Mokhov (Fermilab)
-//*
-//*     MARS13(98)
-//*
-//*     INCLUSIVE HADRON(photon)-NUCLEUS VERTEX AT E < 5 GEV !!!
-//*     THREE WEIGHTED HADRONS IN FINAL STATE:     !!!
-//*     IP+A -> N/P(CASC)+ PI+/PI-(K+/K-) + PI0
-//
-
-#ifndef G4Mars5GeV_h
-#define G4Mars5GeV_h 1
-#include "G4Element.hh"
-#include "G4ElementVector.hh"
-#include "G4ElementTable.hh"
-#include "G4PhysicsTable.hh"
-#include "G4PhysicsVector.hh"
-#include "G4LPhysicsFreeVector.hh"
-#include "G4LightMedia.hh"
-#include "G4Step.hh"
-#include "G4TrackStatus.hh"
-#include "G4InelasticInteraction.hh"
-#include "G4ParticleTable.hh"
-#include "G4ParticleDefinition.hh"
-
-class G4Mars5GeV : public G4InelasticInteraction
-{
-public: // with description
-  // constructors
-  G4Mars5GeV(); 
-  
-  //destructor
-  ~G4Mars5GeV() { ; };
-  
-  // virtual methods derived from G4VEvtBiasMechanism
-  G4HadFinalState* ApplyYourself( const G4HadProjectile &aTrack,
-				    G4Nucleus &targetNucleus );
-
- private:
-  void Treem5(); 
-  // This is the mothod which invoke MARS 
-  // secondary information will be filled up 
-  
-  G4bool CoulombBarrier(G4int pType, G4double  pE);
-  // Check if coulomb barrier exists
-
-  void CreateNucleon(G4int ib, G4int pType, G4double  pE);
-  void CreatePion(G4int ib, G4int pType, G4double  pE);
-  void CreatePionZero(G4int ib, G4int pType, G4double  pE);
-  // Create secondary particles and add them into the list 
-   
-  //void     AddSecondary(); 
-  void     AddSecondaryToMarsList(); 
-  // Add a secondary particle  into the list
-   
-  G4double SelBS(G4int pType, G4double aNucl, G4double zNucl);
-  // Calculate weight of secondary
-  
-  G4double D2N2(G4int    pType,       G4double incidentE, 
-	        G4double prodE,       G4double tin,
-	        G4int    reacType,    G4int    proType,
-                G4double ai,          G4double z);
-  // Calculate Hadron Inclusive Yield  
-
-  G4double Rkaon(G4int ib, G4int jp, G4double eRaw);
-  // Calculate energy dependent K/pi ratio
-
-  void Trans(G4ThreeVector* d1, G4ThreeVector* d2);
-  // Direction cosine transformation using selec2(cs,ss,ch,sh)
-
-  G4double GetMaxWeight() const;
-  G4double GetMinWeight() const;
-  void     SetMaxWeight(G4double);
-  void     SetMinWeight(G4double);
-
- public:
-  enum {FastVectorSize = 16};
-  typedef  G4FastVector<G4DynamicParticle ,FastVectorSize> G4MarsSecondaryVector;
-
- private:
-  // weight max/min
-  G4double             maxWeight;
-  G4double             minWeight; 
-
-  // information of secondary 
-  G4int                 numberOfSecondaries;
-  G4double              weightOfSecondaries[FastVectorSize];
-  G4MarsSecondaryVector secondaries;
-    
- private:
-   G4bool IsApplicable(const G4HadProjectile& , G4Nucleus& ) { return true; };
-  G4bool IsApplicable(G4int marsEncoding) const;
-
- private:
-  // Particle Change
-
-  // Particle Table
-  G4ParticleTable* theParticleTable;
-
-  // particle encoding for MARS
-  enum { MarsUndefined =0,
-         MarsP, MarsN, MarsPIplus, MarsPIminus, MarsKplus, MarsKminus,
-         MarsMUplus, MarsMUminus, MarsGAM, MarsEminus, MarsEplus, MarsAP,
-         MarsPI0, MarsD, MarsT, MarsHe3, MarsHe4 };
-
-  G4int GetMarsEncoding(const G4ParticleDefinition* )const;
-  const G4String& GetParticleName(G4int marsEncoding) const;
-  G4ParticleDefinition* GetParticleDefinition(G4int marsEncoding) const;   
-  G4double ProtonMass;
- 
- private:
-  // incident information
-  G4double                   incidentWeight;
-  const G4HadProjectile*   incidentParticle; 
-  G4int                      incidentMarsEncoding;
-
-  void GetTargetNuclei(const G4Material*);  //fill up fANucle and fZnucl
-  G4double            fANucl, fZNucl;       // target nucleus
-
- private:  
-  // these class is to define common blocks in original code
-
-  class Selec1 
-  {
-   public:
-    G4double   Einc,  EN,   V,  V10;
-    G4int      Treac, Tprod;
-  } selec1;
-  class Selec2
-  {
-   public:
-    G4double   Cs, Ss, Ch, Sh;
-  } selec2;
-  class Selec3
-  {
-   public:
-    G4double   Eth, Emax, Sqs, X, Pt2, Pt, P;
-  } selec3;
-};
-
-#include "G4ParticleDefinition.hh"
-inline
- G4double G4Mars5GeV::GetMaxWeight() const
-{
- return maxWeight;
-}
-inline
- G4double G4Mars5GeV::GetMinWeight() const
-{
- return minWeight;
-}
-
-inline
- void  G4Mars5GeV::SetMaxWeight(G4double value)
-{
- maxWeight = value;
-}
-inline
- void  G4Mars5GeV::SetMinWeight(G4double value)
-{
- minWeight = value;
-}
-
-inline
- G4int G4Mars5GeV::GetMarsEncoding(const G4ParticleDefinition* particle) const{
-  const G4String& name = particle->GetParticleName();
-  G4int encoding = MarsUndefined;
-  if (name == "proton") {
-	encoding = MarsP;
-  } else if  (name == "neutron") {
-	encoding = MarsN; 
-  } else if  (name == "pi+") {
-	encoding = MarsPIplus; 
-  } else if  (name == "pi-") {
-	encoding = MarsPIminus; 
-  } else if  (name == "kaon+") {
-	encoding = MarsKplus; 
-  } else if  (name == "kaon-") {
-	encoding = MarsKminus; 
-  } else if  (name == "mu+") {
-	encoding = MarsMUplus; 
-  } else if  (name == "mu-") {
-	encoding = MarsMUminus; 
-  } else if  (name == "gamma") {
-	encoding = MarsGAM; 
-  } else if  (name == "e+") {
-	encoding = MarsEplus; 
-  } else if  (name == "e-") {
-	encoding = MarsEminus; 
-  } else if  (name == "anti_proton") {
-	encoding = MarsAP; 
-  } else if  (name == "pi0") {
-	encoding = MarsPI0; 
-  } else if  (name == "deuteron") {
-	encoding = MarsD; 
-  } else if  (name == "triton") {
-	encoding = MarsT; 
-  } else if  (name == "He3") {
-	encoding = MarsHe3; 
-  } else if  (name == "alpha") {
-	encoding = MarsHe4; 
-  }
-  return encoding;
-}
-
-inline 
- const G4String& G4Mars5GeV::GetParticleName(G4int encoding) const
-{
-  static G4String name;
-  name = "None";
-  switch (encoding) 
-  {
-    case MarsP:
-      name = "proton";
-      break;
-    case MarsN:
-      name = "neutron";
-      break;
-    case MarsPIplus:
-      name = "pi+";
-      break;
-    case MarsPIminus:
-      name = "pi-";
-      break;
-    case MarsKplus:
-      name = "kaon+";
-      break;
-    case MarsKminus:
-      name = "kaon-";
-      break;
-    case MarsMUplus:
-      name = "mu+";
-      break;
-    case MarsMUminus:
-      name = "mu-";
-      break;
-    case MarsGAM:
-      name = "gamma";
-      break;
-    case MarsEplus:
-      name = "e+";
-      break;
-    case MarsEminus:
-      name = "e-";
-      break;
-    case MarsAP:
-      name = "anti_proton";
-      break;
-    case MarsPI0:
-      name = "pi0";
-      break;
-    case MarsD:
-      name = "deuteron";
-      break;
-    case MarsT:
-      name = "triton";
-      break;
-    case MarsHe3:
-      name = "He3";
-      break;
-    case MarsHe4:
-      name = "alpha";
-      break;
-    default:
-      break;
-  }
-  return name;
-}   
-
-inline 
-G4ParticleDefinition* G4Mars5GeV::GetParticleDefinition(G4int encoding) const
-{
-  G4String name = GetParticleName(encoding);
-  G4ParticleDefinition* particle = 0;
-  if (name != "None") {
-	particle = theParticleTable->FindParticle(name);
-  }
-  return particle;
-}   
-
-inline
- G4bool G4Mars5GeV::IsApplicable(G4int marsEncoding) const
-{
-  return ( ((marsEncoding!=MarsUndefined) && (marsEncoding<=MarsKminus) )|| 
-	   (marsEncoding==MarsGAM) ||
-	   (marsEncoding==MarsAP)      );
-}
-
-#endif
Index: trunk/source/processes/hadronic/models/leading_particle/src/G4Mars5GeV.cc
===================================================================
--- trunk/source/processes/hadronic/models/leading_particle/src/G4Mars5GeV.cc	(revision 1350)
+++ 	(revision )
@@ -1,1012 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: G4Mars5GeV.cc,v 1.14 2006/06/29 20:43:24 gunter Exp $
-// GEANT4 tag $Name: geant4-09-03 $
-//
-// 
-// ------------------------------------------------------------
-//	GEANT 4 class header file 
-//
-// 
-// ------------------------------------------------------------
-//   First Implemention    17 Nov. 1998  M.Asai, H.Kurahige
-//
-//   History:
-//   modified as hadronic model 28 Oct 2001 N.Kanaya
-// ------------------------------------------------------------
-//  This is a Event Biasing mechanism based on MARS code
-//   This model is applicable to 
-//   proton/neutron/pi+-/K+-/gamma/anti_proton
-//   with energy < 5.0GeV
-//
-//  Original code is MARS13 written by Nikolai Mokhov (FNAL)
-//**************************************************************
-//*   MARS13: 9. hA EVENT GENERATOR:
-//*     Copyright Nikolai Mokhov (Fermilab)
-//*
-//*     LAST CHANGE: 14-NOV-1998
-//**************************************************************
-//*     Copyright Nikolai Mokhov (Fermilab)
-//*
-//*     MARS13(98)
-//*
-//*     INCLUSIVE HADRON(photon)-NUCLEUS VERTEX AT E < 5 GEV !!!
-//*     THREE WEIGHTED HADRONS IN FINAL STATE:     !!!
-//*     IP+A -> N/P(CASC)+ PI+/PI-(K+/K-) + PI0 *//
-
-#include "globals.hh"
-#include "G4Mars5GeV.hh"
-#include <iostream>
-
-G4Mars5GeV::G4Mars5GeV() : G4InelasticInteraction(),
-                           maxWeight(1000.0),
-                           minWeight(perMillion)
-{
-  std::cout << "     MARS13(98)"<<std::endl;
-  std::cout << std::endl;
-  std::cout << " INCLUSIVE HADRON(photon)-NUCLEUS VERTEX AT E < 5 GEV !!! "<<std::endl;
-  std::cout << " THREE WEIGHTED HADRONS IN FINAL STATE:     !!!"<<std::endl;
-  std::cout << " IP+A -> N/P(CASC)+ PI+/PI-(K+/K-) + PI0 "<<std::endl;
-  std::cout << " *********************************************************"<<std::endl;
-   std::cout << " Important notice! "<< std::endl; 
-   std::cout << " Since 1998 MARS codes used CEM (Cascade-Exciton Model) " << std::endl; 
-   std::cout << " for nuclear interactions below 5 GeV " << std::endl;
-   std::cout << " and do NOT use this inclusive model. " << std::endl;
-
-  std::cout << std::endl;
-
-  SetMinEnergy( 1.0*MeV );
-  SetMaxEnergy( 5.0*GeV );
-
-  theParticleTable = G4ParticleTable::GetParticleTable();
-  G4ParticleDefinition* pProton =
-    theParticleTable->FindParticle("proton");
-  if(pProton) ProtonMass = pProton->GetPDGMass();
-
-  // set some constants
-  selec3.Eth = 0.001*MeV;
-}
-
-G4HadFinalState* G4Mars5GeV::ApplyYourself(const G4HadProjectile& aTrack,
-                                             G4Nucleus& aTarget
-                                            )
-{
-  theParticleChange.Clear();
-#ifdef G4VERBOSE
-  if (GetVerboseLevel() > 2) {
-    G4cout << " G4Mars5GeV:ApplyYourself" << G4endl;
-  }
-#endif
-
-  // get the incident particle type
-  incidentParticle = &aTrack;
-  // get the incident particle energy/momentum
-  incidentMarsEncoding = GetMarsEncoding(incidentParticle->GetDefinition());
-
-  // Atomic and charge number 
-  //GetTargetNuclei( aTrack.GetMaterial() );
-   fANucl = aTarget.GetN(); 
-   fZNucl = aTarget.GetZ();
-
-  // initialize secondary information 
-  numberOfSecondaries = 0;
-  secondaries.Initialize(FastVectorSize);
-  
-  G4int idx;
-
-  // invoke MARS
-  Treem5();
-
-  // create secondaries
-  //  set max. number of secondaries 
-
-  for (idx=0; idx<numberOfSecondaries; idx+=1){
-
-    // check secondary weight
-    G4double fweight = weightOfSecondaries[idx];
-    if (fweight > maxWeight) { 
-#ifdef G4VERBOSE
-      if (GetVerboseLevel() > 0) {
-	G4cout << "G4Mars5GeV::ApplyYourself : too big secondary weight ";
-        G4cout << " Weight = " << fweight  << G4endl;
-	secondaries[idx]->DumpInfo();
-      }
-#endif     
-    } else if (fweight < minWeight) {
-      // track with small weight is neglected
-#ifdef G4VERBOSE
-      if (GetVerboseLevel() > 2) {
-        G4cout << "G4Mars5GeV::ApplyYourself : too small secondary weight ";
-        G4cout << " Weight = " << fweight  << G4endl;
-        secondaries[idx]->DumpInfo();
-      }
-#endif 
-    } else {
-      G4HadSecondary *track = new G4HadSecondary(secondaries[idx], fweight);
-//    Remain unchanged, because this is a member function of G4HadFinalSate 
-      theParticleChange.AddSecondary(track);
-    }
-  }
-  // kill incident particle
-  theParticleChange.SetStatusChange(stopAndKill);
-  
-  return &theParticleChange;
-
-}
-
- 
-void G4Mars5GeV::GetTargetNuclei(const G4Material* material)
-{
-  // get elements in the actual material,
-  const G4ElementVector* theElementVector = material->GetElementVector();
-  const G4double* theAtomicNumDensityVector = material->GetAtomicNumDensityVector();
-  const G4int numberOfElements = material->GetNumberOfElements() ;
-#ifdef G4VERBOSE
-  if (GetVerboseLevel() > 2) {
-    G4cout << " G4Mars5GeV::GetTargetNuclei" << G4endl;
- }
-#endif 
-  
-  fANucl = 0.0;
-  fZNucl = 0.0;
-  G4double totNumAtoms = 0.0; 
-  for (G4int iel=0; iel < numberOfElements; iel +=1) {
-    totNumAtoms +=  theAtomicNumDensityVector[iel];
-
-    fZNucl +=
-      theAtomicNumDensityVector[iel]*((*theElementVector)[iel]->GetZ());
-    fANucl +=
-      theAtomicNumDensityVector[iel]*((*theElementVector)[iel]->GetN());
-
-//#ifdef G4VERBOSE
-//    if (GetVerboseLevel() > 2) {
-      G4cout << iel << ": " << theAtomicNumDensityVector[iel];
-      G4cout << "  Z=" << (*theElementVector)[iel]->GetZ() << "  A=" <<
-	(*theElementVector)[iel]->GetN();
-      G4cout << G4endl; 
-//    }
-//#endif 
-  }
-  fANucl /= totNumAtoms;
-  fZNucl /= totNumAtoms;
-#ifdef G4VERBOSE
-  if (GetVerboseLevel() > 2) {
-    G4cout << "<Z>=" << fZNucl;
-    G4cout << "<A>=" << fANucl;
-    G4cout << G4endl; 
-  }
-#endif 
-} 
-
-
-void G4Mars5GeV::Treem5()
-{
-  
-  // G4double pMass = incidentParticle->GetDefinition()->GetPDGMass();
-  G4double pE    = incidentParticle->GetKineticEnergy();
-  G4int    pType = incidentMarsEncoding;
-  
-#ifdef G4VERBOSE
-  if (GetVerboseLevel() > 2) {
-    G4cout << " G4Mars5GeV::Treem5() ";
-    G4cout << "       Incident Particle: " << incidentParticle->GetDefinition()->GetParticleName();
-    G4cout << "  : energy = " <<   pE/GeV << "[GeV]" << G4endl; 
-  }
-#endif
-
-  // CoulombBarrier
-  if (CoulombBarrier(pType, pE)) return;
-
-  G4int ib;
-  if (pType==MarsAP) {
-    ib = MarsP;
-  } else if (pType==MarsGAM){
-    if ( G4UniformRand() >0.5) {
-      ib = MarsPIplus;
-    } else {
-      ib = MarsPIminus;
-    }
-  } else {
-    ib = pType;
-  }
-  
-  selec1.Einc = pE;
-  if (pE < 0.5*MeV) pE =  0.5*MeV;
-  selec3.Emax = pE;
-  selec3.X  = 0.0;
-  selec3.Pt = 0.0;
-  selec3.P  = 0.0;
-  
-  // Nucleons at E < 5GeV
-  CreateNucleon(ib, pType, pE);
-  
-  // Pion+- or Kaon+- at E < 5GeV
-  CreatePion(ib, pType, pE);
-  
-  // Pi0 at E < 5GeV
-  CreatePionZero(ib, pType, pE);
-}
-
-G4bool G4Mars5GeV::CoulombBarrier(G4int pType, G4double  pE){
-  static const G4double EthCoulombBarrier = 20.0* MeV;
-  static const G4double AvCoulomb = 1.11*MeV;
-  static const G4double RCoulombTh = 1.0e-5;
-
-  // CoulombBarrier
-  if ( (  pType == MarsP) || (  pType ==MarsPIplus) || ( pType ==MarsKplus) ) { 
-    if ( ( pE < EthCoulombBarrier ) && (fANucl >=1.5) ) {   
-      G4double pMass =  GetParticleDefinition(pType)->GetPDGMass();
-      G4double vCoulomb = AvCoulomb*std::pow(fZNucl/fANucl, 1./3.);
-      G4double tc = pE*(fANucl*ProtonMass)/(pMass+(fANucl*ProtonMass));
-      G4double rCoulomb = 1.0-vCoulomb/tc;
-      if ( rCoulomb < RCoulombTh ) {
-#ifdef G4VERBOSE
-	if (GetVerboseLevel() > 2) {
-	  G4cout << " Can not interact because of Coulomb Barrier " << G4endl; 
-	}
-#endif 
-	return true;
-      }
-    }
-  }
-  return false; 
-}
-
-void G4Mars5GeV::CreateNucleon(G4int ib, G4int pType, G4double  )
-{
-#ifdef G4VERBOSE
-  if (GetVerboseLevel() > 2) {
-    G4cout << " G4Mars5GeV::CreateNucleon()" << G4endl;
-  }
-#endif
-  if ( pType == MarsGAM) {
-    selec1.Treac = MarsPIplus;
-    selec1.Tprod = MarsN;
-    selec1.V10   = 2.5;
-  } else {
-    if ( ib == MarsP ) {
-      selec1.Treac = MarsP;
-    } else if  ( ib == MarsN ) {
-      selec1.Treac = MarsN;
-    } else if  ( ib == MarsPIplus ) {
-      selec1.Treac = MarsPIplus;
-    } else if  ( ib == MarsPIminus ) {
-      selec1.Treac = MarsPIminus;
-    } else if  ( ib == MarsKplus ) {
-      selec1.Treac = MarsPIplus;
-    } else if  ( ib == MarsKminus ) {
-      selec1.Treac = MarsPIminus;
-    } else {
-      selec1.Treac = MarsPIminus;
-    }
-    if (G4UniformRand()<0.5) {
-      selec1.Tprod = MarsN;
-    } else {
-      selec1.Tprod = MarsP;
-    }
-    selec1.V10 = 2.0;
-  }
-
-  //if ( SelBS(pType, fANucl, fZNucl) >0.0 ) AddSecondary();
-  if ( SelBS(pType, fANucl, fZNucl) >0.0 ) AddSecondaryToMarsList();
-
-}
-
-void G4Mars5GeV::CreatePion(G4int ib, G4int pType, G4double  pE)
-{
-#ifdef G4VERBOSE
-  if (GetVerboseLevel() > 2) {
-    G4cout << " G4Mars5GeV::CreatePion()" << G4endl;
-  }
-#endif
-  static const G4double PionProductionEth = 0.28*GeV; 
-  static const G4double KaonProductionEth = 2.0*GeV; 
-  
-  if ( pE<PionProductionEth ) {
-    if ((ib==MarsP)||(ib==MarsN)) return;
-    pE +=  GetParticleDefinition(MarsPIminus)->GetPDGMass();
-  }
-  selec1.Einc = pE;		
-  
-  if ( ib == MarsP ) {
-    selec1.Treac = MarsP;
-  } else if  ( ib == MarsN ) {
-    selec1.Treac = MarsN;
-  } else if  ( ib == MarsPIplus ) {
-    selec1.Treac = MarsPIplus;
-  } else if  ( ib == MarsPIminus ) {
-    selec1.Treac = MarsPIminus;
-  } else if  ( ib == MarsKplus ) {
-    selec1.Treac = MarsPIplus;
-  } else if  ( ib == MarsKminus ) {
-    selec1.Treac = MarsPIminus;
-  } else {
-    selec1.Treac = MarsPIminus;
-  }
-  if (G4UniformRand()<0.5) {
-    selec1.Tprod = MarsPIplus;
-  } else {
-    selec1.Tprod = MarsPIminus;
-  }
-  selec1.V10 = 2.1;
-  if ( SelBS(pType, fANucl, fZNucl) >0.0 ){
-    // change secondary into Kaon 
-    if ( pE  > KaonProductionEth ) {
-      if ( Rkaon(ib,selec1.Tprod,pE) > G4UniformRand()) {
-	if (selec1.Tprod==MarsPIminus) {
-	  selec1.Tprod=MarsKminus;
-	} else {
-	  selec1.Tprod=MarsKplus;
-	}
-      }
-    }
-    //AddSecondary();
-    AddSecondaryToMarsList();
-  }
-}
-
-void G4Mars5GeV::CreatePionZero(G4int ib, G4int pType, G4double  pE)
-{
-#ifdef G4VERBOSE
-  if (GetVerboseLevel() > 2) {
-    G4cout << " G4Mars5GeV::CreatePionZero()" << G4endl;
-  }
-#endif
-  static const G4double PionProductionEth = 0.28*GeV; 
-
-  if ( pE<PionProductionEth ) {
-    if ((ib==MarsP)||(ib==MarsN)) return;
-  }
-  			       
-  if ( ib == MarsP ) {
-    selec1.Treac = MarsP;
-  } else if  ( ib == MarsN ) {
-    selec1.Treac = MarsN;
-  } else if  ( ib == MarsPIplus ) {
-    selec1.Treac = MarsPIplus;
-  } else if  ( ib == MarsPIminus ) {
-    selec1.Treac = MarsPIminus;
-  } else if  ( ib == MarsKplus ) {
-    selec1.Treac = MarsPIplus;
-  } else if  ( ib == MarsKminus ) {
-    selec1.Treac = MarsPIminus;
-  } else {
-    selec1.Treac = MarsPIminus;
-  }
-  selec1.Tprod = MarsKplus;
-  selec1.V10 = 1.0;
-  if ( SelBS(pType, fANucl, fZNucl) >0.0 ) {
-    selec1.Tprod = MarsPI0;
-    //AddSecondary();
-    AddSecondaryToMarsList();
-  }
-}
-
-//void G4Mars5GeV::AddSecondary()
-void G4Mars5GeV::AddSecondaryToMarsList()
-{
-#ifdef G4VERBOSE
-  if (GetVerboseLevel() > 2) {
-    G4cout << " G4Mars5GeV::AddSecondaryToMarsList()" << G4endl;
-    G4cout << " Particle :" << selec1.Tprod;
-    G4cout << ":" << GetParticleName(selec1.Tprod) <<G4endl;
-    G4cout << " Energy   :" << selec1.EN <<G4endl;
-    G4cout << "Weight    :" <<  selec1.V  << G4endl;
-  }
-#endif
-  // determine direction cosine
-  G4double g  = 1.0; 
-  while (g>=1.0) {
-    G4double g1 = G4UniformRand();
-    G4double g2 = G4UniformRand();
-    G4double gg = 2.0*g1 - 1.0;
-    g = gg*gg + g2*g2;
-    selec2.Ch = (gg*gg - g2*g2)/g;
-    selec2.Sh = 2.0*gg*g2/g;
-  }
-  G4ThreeVector pin = incidentParticle->Get4Momentum().vect().unit();
-  G4ThreeVector pout;
-
-  Trans(&pin, &pout);
-  if (numberOfSecondaries>=FastVectorSize) {
-    G4String text = " G4Mars5GeV::AddSecondaryToMarsList() too many secondaries";
-    throw G4HadronicException(__FILE__, __LINE__, text);
-  }
-
-  // create seconday Dynamic Particle
-  G4DynamicParticle* secondary = 
-        new G4DynamicParticle(GetParticleDefinition(selec1.Tprod),
-			      pout.unit(),
-			      selec1.EN);
-  // add secondary into list
-
-  secondaries.SetElement(numberOfSecondaries, secondary);
-  weightOfSecondaries[numberOfSecondaries] = selec1.V;
-  numberOfSecondaries +=1;
-}
-
-G4double G4Mars5GeV::SelBS(G4int pType, G4double aNucl, G4double zNucl)
-{
-  static const G4double Atau= 0.2;
-  static const G4double Btau= 0.5*GeV;
-
-  G4int nc = 0;
-  G4int ip = selec1.Treac;  // reaction particle type  
-  G4int jp = selec1.Tprod;  // procduction particle type
-  G4int jj = pType;         // incident particle type 
-  G4double e0 = selec1.Einc;
-  G4double en;
-  G4double v2 = 0.0;
-  
-#ifdef G4VERBOSE
-  if (GetVerboseLevel() > 2) {
-    G4cout << " G4Mars5GeV::SelBS" << G4endl;
-    G4cout << "   pType = " << pType <<  "   e0    = " << e0 << G4endl;
-    G4cout << "   aNucl = " << aNucl <<  "   zNucl = " << zNucl << G4endl;
-    G4cout << "   Treac = " <<selec1.Treac;
-    G4cout << "   Tprod = " <<selec1.Tprod << G4endl;
- }
-#endif 
-
-  while(1){
-
-    G4double g1 =  G4UniformRand();
-    G4double g2 =  G4UniformRand();
-    
-    // calculate energy
-    G4double dw = 0.0;
-    if (ip==jp) {
-      G4double ea = e0 * 0.01;
-      if (ea < selec3.Eth) {
-	dw = selec3.Emax-selec3.Eth;
-	en = selec3.Eth + g1*dw;
-      } else {
-	G4double cb = std::log(ea/selec3.Eth);
-	G4double ca = cb + 99.0;
-	if (g1<cb/ca) {
-	  en = selec3.Eth*std::exp(g1*ca);
-	  dw = en*ca;
-	} else {
-	  en = ea*(g1*ca + 1.0 - cb);
-	  dw = ea*ca;
-	}
-      }
-    } else {
-      en = selec3.Eth*std::pow(selec3.Emax/selec3.Eth, g1);
-      dw = en*std::log(selec3.Emax/selec3.Eth);
-    }
-    
-    selec1.EN = en;
-    
-#ifdef G4VERBOSE
-    if (GetVerboseLevel() > 2) {
-      G4cout << "selec1.EN = " << en << G4endl;
-    }
-#endif 
-    
-    if (en<0.5*MeV) {
-      selec1.V  = 0.0;
-      return selec1.V;
-    }
-    
-    // calculate direction cosine
-    G4double tau = en/Atau/e0*(Btau+e0)/GeV;
-    G4double c5 = 1.0-std::exp(-pi*tau);
-    G4double c4 = 1.0-g2*c5; 
-    G4double t1 = -std::log(c4)/tau;
-    G4double rcs = std::cos(t1);
-    G4double rss = std::sqrt(1.0-rcs*rcs);
-    G4double da  = 2.0*pi*rss*c5/(tau*c4);
-    selec2.Cs = rcs;
-    selec2.Ss = rss;
-    
-    // select particle type
-    G4int ib = ip;
-    if (ip == MarsP) {
-      ib = MarsN;
-    } else if (ip == MarsN) {
-      ib = MarsP;
-    }
-    G4int jb = jp;
-    if ( ( jj==MarsGAM ) && ((jp!=MarsP)||(jp!=MarsN)) ){
-      jb = MarsKplus;
-    } else if (jp == MarsP) {
-      jb = MarsN;
-    } else if (jp == MarsN) {
-      jb = MarsP;
-    }
-    
-    // calculate V
-    nc +=1;
-    v2 = dw*D2N2(jj, e0, en, t1, ib, jb, aNucl, zNucl)*da*(selec1.V10);
-#ifdef G4VERBOSE
-    if (GetVerboseLevel() > 2) {
-      G4cout << " D2N2 = " <<  v2/(dw*da*(selec1.V10));
-      G4cout << " v2 = " << v2 << G4endl;
-    }
-#endif 
-
-    if (v2>0.0) break;
-
-    if (nc >=3) {
-      selec1.V  = 0.0;
-#ifdef G4VERBOSE
-      if (GetVerboseLevel() > 2) {
-	G4cout << "exceed retry limit !!" << G4endl;
-      }
-#endif 
-      return selec1.V;
-    }
-  }
-  selec1.V  = v2;
-  return v2;
-}
-
-
-G4double G4Mars5GeV::D2N2(G4int    pType,       G4double incidentE, 
-	      G4double prodE,       G4double tin,
-	      G4int    reacType,    G4int    proType,
-              G4double ai,          G4double z)
-{
-  // Hadron inclusive yield at E0 < 5 GeV
-  // All parametrizations are based on 
-  // the energy unit of MeV
-  //
-  // Original code is written by Nikolai Mokhov (Fermilab)
-  //C     Copyright Nikolai Mokhov (Fermilab)
-  //C
-  //C     MARS13(98)
-  //C
-  //C     HADRON INCLUSIVE YIELD AT E0 < 5 GEV
-  //C-----
-  //C     CREATED:     1979        BY B.SYCHEV
-  //C     MODIFIED:    1979-1998   BY NVM
-  //C     LAST CHANGE: 16-JUL-1998 BY NVM
-
-  static const G4double o2pi = 1./twopi;
-  static const G4double ospi = 1./std::sqrt(pi);
-
-  static G4double abu = 0.0;
-  static G4double alga = 0.0;
-  static G4double a13 = 1.0;
-  static G4double a23 = 1.0;
-  static G4double a125 = 1.0;
-  static G4double am25 = 0.0;
-  static G4double sqa = 1.0;
-  static G4double sqa1 = 0.0;
-  static G4double bm = 2.0;
-  static G4double sl;
-  static G4double sa;
-
-  // input of this method
-  G4double e0 =  incidentE/MeV; // SHOULD BE GIVEN BY MEV !!!
-  G4double e  =  prodE/MeV;     // SHOULD BE GIVEN BY MEV !!!
-  G4double t  =  tin;
-  G4int i = reacType;
-  G4int j = proType;
-  G4int jj = pType;
-
-  // output of this method
-  G4double d2n = 0.0;
-  G4double dnde = 0.0;  // this value is not used anywhere else
-
-  if(ai<1.0) return 0.0;
-
-  G4double a = ai;
-  if(abu!=a)
-  {
-    abu = a;
-    if(a<=2.0)
-    {
-      alga = 0.0;
-      a13 = 1.0;
-      a23 = 1.0;
-      a125 = 1.0;
-      am25 = 0.0;
-      sqa = 1.0;
-      sqa1 = 0.0;
-      bm = 2.0;
-    }
-    else
-    {
-      alga = std::log(a);
-      a13 = std::pow(a,1./3.);
-      a23 = a13*a13;
-      a125 = std::pow(a,-1.25);
-      am25 = std::pow(a-1.0,0.25);
-      sqa = std::sqrt(a);
-      sqa1 = std::sqrt(a-1.);
-      bm = 1.0 + sqa;
-    }
-    sl = 0.72/std::pow(1.+alga,0.4);
-    sa = 0.087*a23 + 4.15;
-  }
-
-  G4double bn;
-  if(a<=2.0)
-  {
-    if(i*j<9 && t>halfpi) return 0.0;
-    bn = 2.0;
-    if(i>=3) bn = 1.0;
-  }
-  else
-  { bn = bm*std::exp(-sa*std::pow(3.68/e0,sl)); }
-    
-  G4double emm = e0;
-  G4double e1ge = 0.001*e0;
-  G4double e2ge = e1ge*e1ge;
-  G4double f21 = 0.04/(e2ge*e2ge);
-  G4double f31 = 0.38*std::pow(e1ge,-0.65);
-  G4double f22 = 0.25/e2ge;
-  G4double f32 = am25*0.7/(e1ge+1.);
-  G4double ei2 = 0.0;
-  G4double x1 = f21 + f31;
-  if(x1<60.) ei2 = 0.8*std::exp(-x1);
-  G4double ei1 = ei2;
-  if(a>2.0)
-  {
-    ei1 = 0.;
-    x1 = f22 + f32;
-    if(x1<60.) ei1 = std::exp(-x1);
-  }
-
-  G4double ew1 = ei2;
-  G4double dnl = 0.0;
-  G4double dnl1 = 0.0;
-  G4double eli = 0.0;
-  if(ew1>=1.e-19)
-  {
-    G4double dli = 35.0*ew1/(a+69.0);
-    eli = 0.5*dli*e0;
-    if(i==j)
-    { dnl1 = dli*(2./3.)/e0; }
-    else
-    { dnl1 = dli*(1.-e/e0)/e0; }
-    dnl = dli*(5./3.-e/e0)/e0;
-  }
-
-  G4double qel = 1.0 - ei1;
-  if(a>2.0)
-  {
-    G4double e02 = std::pow(e0/350.,1.5);
-    G4double ex2 = 1.0;
-    if(e02<60.) ex2 = 1.0-std::exp(-e02);
-    qel = 0.0;
-    if(t<halfpi) qel = 1.17*ex2*std::exp(-0.08*sqa1)*(1.-ew1);
-  }
-
-  G4int in = i;       // save i
-  G4double sw2 = (0.5+10.*e2ge/(2.+e1ge))*(4.+e0/470.);
-  G4double sql = sw2/(2.+e0/940.)-1.0;
-  G4double eql = 0.0;
-  G4double dnq = 0.0;
-
-  if(jj!=MarsGAM || j!=5)
-  {
-    if(qel>1.e-25)
-    {
-      eql = qel*e0*(sql+1.)/(sql+2.);
-      G4double bp1x = -60./std::log(e/e0);
-      if(sql<=bp1x)
-      { 
-        bp1x = std::pow(e/e0,sql);
-        dnq = qel/e0*(sql+1.)*bp1x;
-      }
-    }
-  }
-
-  G4double bp1 = e0;
-  if(e0<1.e9) bp1 = std::sqrt(e0*e0+1880.*e0);
-  G4double pul = 1.e-3*bp1;
-  bp1 = 3.*std::pow(pul,0.25) - 2.0;
-  if(bp1<1.) bp1 = 1.;
-  G4double bpi = 0.0;
-  if(ei1>0.) bpi = bp1*std::exp(0.075*sqa1)*ei1;
-  G4double ec = 0.0;
-  if(a>2.0) ec = 10.5 - 0.02*a;
-  G4double g = 0.1*alga + 0.2;
-  G4double eog = std::pow(e0,g);
-  G4double f1 = 1./3.*ec*a/(1.8*eog);
-  x1 = 1.0;
-  if(f1<60.) x1 = 1.0 - std::exp(-f1);
-  G4double fm = 1.8*eog*x1;
-  G4double ez = ec + fm;
-  if(fm>=e0) ez = ec + e0;
-  G4double d = 1.0;
-  if(i>=3) d = 0.0;
-  x1 = 1.0;
-  if(a<=44.) x1 = std::exp(-std::exp(4.-a));
-  G4double ez2 = 33.5*a125*x1*(ez-ec)*(1.-ez/(ec-e0));
-  G4double epw = e0 - ez - (bn-d)*ec - 140.*bpi - ez2;
-  G4double e2 = epw - eli - eql;
-
-  G4double ak1 = 3.0;
-  G4double ak20 = 5.e-4*(1.+a13)*e0;
-  x1 = 1.0;
-  if(ak20<60.) x1 = 1.0 - std::exp(-ak20);
-  G4double ga = std::pow(e1ge,0.06)*ak1*x1;
-  G4double egr = e0/(ga+1.);
-  G4double d2 = 250.*(1.+2.5*e0*std::exp(-0.02*a)/(e0+1.e3))/sqa;
-  G4double aea = e2/(e0*(1./(1.+ga)-d2*std::log(1.+egr/d2)/e0));
-  aea *= 1./(1.+d2*(ga+1.)/(3.*e0*(d2/e0+1.75)));
-  if(i<=2 && j>=3)
-  {
-    emm = e0 - 140.;
-    if(j!=5 && a!=1. && (i+j)!=5) emm = e0 - 280;
-  }
-  G4double dn = 0.0;
-  if(e<=emm) dn = aea*(e0/emm)*std::pow(1.-e/emm,ga)/(e+d2);
-  if(i>=3) bpi += 1;
-  dnde = dn + dnq + dnl;
-  // In original code, check nupr. But in this code, nupr is aliways set to 0
-  // if(nupr==1) return;
-
-  G4double pna = bpi/bp1;
-  G4double pns = bn+bpi;
-
-  // Angular distribution
-  G4double qe = 0.0;
-  if((jj!=MarsGAM || j!=5)
-   &&(t<halfpi)
-   &&(i<3||i==j||j>4)
-   &&(i>2||j<3)
-   &&(a>2.0||i!=2||j!=1)
-   &&(qel>=1.e-26))
-  {
-    G4double d1 = 25.*(1.+0.008*e0*t);
-    G4double dp;
-    if(i==j) 
-    { dp = 0.8; }
-    else
-    { dp = 0.2; }
-    if(a<=2.&&i==1&&j<=2) dp = 0.5;
-    if(a<=2.&&i==2&&j==2) dp = 1.0;
-    G4double eq = e0*sqr(std::cos(t))/(1.+e0*sqr(std::sin(t))/1880.) - 25.0;
-    G4double exq = sqr((e-eq)/d1) + 0.5*sw2*t*t;
-    if(exq<60.) qe = qel*sw2*std::exp(-exq)*dp*ospi/d1;
-  }
-
-  G4int iold = i;
-  if(i==3) i = 2;
-  if(i==4) i = 1;
-  G4bool condA = a<2. && i==2;
-  G4bool condB = a<2.;
-  G4double az(0);
-  G4double pn;
-  G4double pr(0);
-  if(!condB)
-  {
-    if(i==2)
-    { az = (z+1.)/(a-z); }
-    else
-    { az = (a+1.-z)/z; }
-    x1 = 0.5*e1ge;
-    pn = az;
-    if(x1<60.) pn *= 1. + std::exp(-x1);
-    if(i==j)
-    { pr = bn*pn/(1.+pn); }
-    else
-    { pr = bn/(1.+pn); }
-  }
-  if(condA || !condB)
-  {
-    if(i==1) az = z/(a-z);
-    if(i==2) az = (a-z)/z;
-    G4double bp = 1.0;
-    G4double e0g = e1ge*e2ge;
-    if(e0g<60.) bp -= 0.5*std::exp(-e0g);
-    G4double ap = az * bp;
-    bp = 6.*(1.+ap);
-    if((i==1&&j==3)||(i==2&&j==4)) pr = pna*(bp1/3.-(2.+ap)/bp);
-    if((i==2&&j==3)||(i==1&&j==4)) pr = pna*(bp1/3.+(3.-ap)/bp);
-    if(j==5) pr = pna*(bp1/3.+(2.*ap-1.)/bp);
-  }
-  if(condB)
-  {
-    switch(i)
-    {
-    case 1:
-      switch(j)
-      {
-      case 1:
-      case 2:
-        pr = bn/2.; break;
-      case 3:
-      case 4:
-        pr = pna*(bp1/3.-1./6.); break;
-      case 5:
-        pr = pna*(bp1+1.)/3.; break;
-      }
-      break;
-    case 2:
-      switch(j)
-      {
-      case 1: 
-        pr = 0.33*ew1/bn; break;
-      case 2:
-        pr = (1.-0.33*ew1)/bn; break;
-      }
-      break;
-    }
-  }
-
-  G4double ek3 = 0.01*std::sqrt(e1ge)*(1.+alga/4.);
-  G4double tay = 200.*e0/(e0+560.);
-  G4double w = e/tay;
-  G4double ek4 = 1.21*e0*w/(std::sqrt(1.+alga)*(e0+2000.));
-  if(j>=3) ek4 = 0.3*w*(e0-1000.)/(e0+1000.);
-  G4double wpic = w*pi;
-  G4double w2 = w*w;
-  G4double ex8 = 1.0;
-  if(wpic<60.) ex8 /= 1.0 + std::exp(-wpic);
-  G4double ek = (1.+w2)*(1.+5.2*ek4/(2.+w2))*ex8;
-  G4double wtw = 2.*(std::sqrt(1.+ek3*e*t*1.e-3)-1.)/(tay*ek3*1.e-3)+ek4*t*t;
-  G4double sm = 0.0;
-  if(dn>=1.e-26 && wtw<60.) sm = pr*dn*ek*std::exp(-wtw)/pns;
-
-  G4double dl = 0.0;
-  i = iold;
-  if((dnl1>=1.e-20)
-   &&(i<3||i==j||j>4)
-   &&(i>2||j<3))
-  {
-    tay = 200.*e0/(e0+2600.);
-    w = e/tay;
-    ek4 = 1.21*e0*w/(std::sqrt(1.+alga)*(e0+2000.));
-    i = in;
-    wpic = w*pi;
-    w2 = w*w;
-    ex8 = 1.0;
-    if(wpic<60.) ex8 /= 1.0 + std::exp(-wpic);
-    wtw = w*t + ek4*t*t;
-    if(wtw<60.)
-    {
-      G4double ft = (1.+w2)*(1.+5.2*ek4/(2.+w2))*std::exp(-wtw)*ex8;
-      if(ft>=1.-16)
-      {
-        G4double dp;
-        if(i==j)
-        { dp = 2./3.; }
-        else
-        { dp = 1./3.; }
-        if(a<=2.&&i==1&&j==2) dp = 0.5;
-        dl = dp*dnl1*ft;
-      }
-    }
-  }
-
-  if(jj==MarsGAM && j==5)
-  {
-    sm *= 0.6;
-    dl *= 2.0;
-  }
-  d2n = o2pi*(qe+sm+dl);
-  // d2n value is calculated in unit of [1/MeV] 
-  
-  d2n *= (1./MeV);
-  return d2n;
-}
-
-
-G4double G4Mars5GeV::Rkaon(G4int ib, G4int jp, G4double eRaw)
-{
-  // Energy dependent K/pi ratio
-  // Parametrizations are valid for energy range of
-  // incident particle as 2.0 GeV to 100 GeV
-  // All parametrizations in this method are based on
-  // the energy unit of GeV.
-  //
-  // Original code is written by Nikolai Mokhov (Fermilab)
-  //C     Copyright Nikolai Mokhov (Fermilab)
-  //C
-  //C     MARS13(98)
-  //C     ENERGY DEPENDENT K/PI RATIO
-  //C     FOR GIVEN TREEM AND SELMO PARAMETERS
-  //C-----
-  //C     CREATED:     1996        BY N.MOKHOV (NVM)
-  //C     LAST CHANGE: 12-FEB-1996 BY NVM
-
-  static const G4double rkp = 0.071;
-  static const G4double rkm = 0.083;
-  static const G4double al2 = 0.69314718;
-  static const G4double al100 = 4.6051702;
-  static const G4double al21 = 3.0445224;
-  static const G4double al51 = 3.9318256;
-
-  G4double eGeV = eRaw / GeV;
-  G4double rK = 0.;
-  if(eGeV < 2.1) return rK;
-  G4double ale = std::log(eGeV);
-
-  // No.1
-  rK = rkp;
-  if(jp == MarsPIminus) rK = rkm;
-  if(ib == MarsPIplus || ib == MarsPIminus) rK *= 1.3;
-  else if(ib == MarsKplus || ib == MarsKminus) rK *= 2.0;
-  G4double rK1 = rK;
-  if(eGeV<100.)
-  { 
-    G4double rmi = 0.03;
-    if(ib >= MarsPIplus) rmi = 0.08;
-    rK1 = rmi + (rK-rmi)*(ale-al2)/(al100-al2);
-  }
-
-  // No.2
-  if(eGeV<=5.2 || eGeV>=51.0) { 
-    rK = 1.3*rK1; 
-  } else if(eGeV<7.2) { 
-    rK = rK1*(1.3+0.15*(eGeV-5.2)); 
-  } else if(eGeV<21.) {
-    rK = 1.6*rK1; 
-  } else { 
-    rK = rK1*(1.3+0.3*(al51-ale)/(al51-al21)); 
-  }
-
-  return rK;
-}
-
-void G4Mars5GeV::Trans(G4ThreeVector* d1,G4ThreeVector* d2)
-{
- 
-#ifdef G4VERBOSE
-  if (GetVerboseLevel() > 2) {
-    G4cout << " G4Mars5GeV::Trans() " << G4endl;
-  }
-#endif
- // Direction cosine transformation
-  // using (cs,ss,ch,sh)
- 
- // inputs
-  G4double cs = selec2.Cs;
-  G4double ss = selec2.Ss;
-  G4double ch = selec2.Ch; 
-  G4double sh = selec2.Sh;
-
-  G4double sss, ttt, uuu;
-  G4double dx1 = d1->x();
-  G4double dy1 = d1->y();
-  G4double dz1 = d1->z();
-  G4double sz = dx1*dx1 + dy1*dy1;
-  if(sz > 1.e-50)
-  {
-    sz = std::sqrt(sz);
-    sss = ss*(ch*dz1*dx1-sh*dy1)/sz + cs*dx1;
-    ttt = ss*(ch*dz1*dy1+sh*dx1)/sz + cs*dy1;
-    uuu = - ss*ch*sz + cs*dz1;
-  }
-  else
-  {
-    sss = ss*ch + dx1;
-    ttt = ss*sh + dy1;
-    uuu = cs*dz1;
-  }
-  G4double den = std::sqrt(sss*sss+uuu*uuu+ttt*ttt);
-  d2->setX(sss/den);
-  d2->setY(ttt/den);
-  d2->setZ(uuu/den);
-  return;
-}
Index: trunk/source/processes/hadronic/models/parton_string/qgsm/include/G4PartonStringAnnihilator.hh
===================================================================
--- trunk/source/processes/hadronic/models/parton_string/qgsm/include/G4PartonStringAnnihilator.hh	(revision 1350)
+++ 	(revision )
@@ -1,71 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: G4PartonStringAnnihilator.hh,v 1.2 2006/06/29 20:56:11 gunter Exp $
-// -----------------------------------------------------------------------------
-//      GEANT 4 class implementation file
-//
-//      History: first implementation, Maxim Komogorov, 9-Oct-1998
-// -----------------------------------------------------------------------------
-#ifndef G4PartonStringAnnihilator_h
-#define G4PartonStringAnnihilator_h 1
-
-#include "G4KineticTrack.hh"
-#include "G4ExcitedString.hh"
-#include "G4MesonSplitter.hh"
-#include "G4BaryonSplitter.hh"
-
-
-class G4PartonStringAnnihilator
-    {   
-public:
-    G4PartonStringAnnihilator();
-    
-public:
-   
-    G4double GetCrossSection(G4KineticTrack& aTarget, G4KineticTrack& aProjectile);
-    G4ExcitedString* GetString(G4KineticTrack& Target, G4KineticTrack& Projectile);
-
-    G4bool SplitUpBarion(G4int Encoding, G4int* q_or_qqbar, G4int* qbar_or_qq); //!
- 
-    G4bool isMeson(G4int Encoding); 
-    G4bool isBarion(G4int Encoding);
-    G4bool isAntiParticle(G4int Encoding);
-
-private:    
-    G4bool GetStringEnds(G4int Projectile, G4int Target, G4int* Left, G4int* Right);
-    G4bool FindDiquark(G4int Encoding, G4int Quark, G4int* Diquark);
-    G4bool FindQuark(G4int Encoding, G4int Diquark, G4int* Quark);
-
-private:
-
-    G4double widthOfPtSquare;
-    G4MesonSplitter theMesonSplitter;
-    G4BaryonSplitter theBaryonSplitter;
-    };
-
-// *************************************************************************************************
-#endif
Index: trunk/source/processes/hadronic/models/parton_string/qgsm/src/G4PartonStringAnnihilator.cc
===================================================================
--- trunk/source/processes/hadronic/models/parton_string/qgsm/src/G4PartonStringAnnihilator.cc	(revision 1350)
+++ 	(revision )
@@ -1,25 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
Index: trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4MuNuclearInteraction.icc
===================================================================
--- trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4MuNuclearInteraction.icc	(revision 1350)
+++ 	(revision )
@@ -1,97 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: G4MuNuclearInteraction.icc,v 1.3 2006/06/29 20:57:22 gunter Exp $
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-// $Id: 
-// ---------------------------------------------------------------
-//      GEANT 4 class inlined methods file 
-//
-//      History: first implementation, based on object model of
-//      2nd December 1995, G.Cosmo
-//      -------- G4MuNuclearInteraction physics process ---------
-//                by Laszlo Urban, May 1998
-// ***************************************************************
-
-inline G4double G4MuNuclearInteraction::GetMeanFreePath( 
-                                                    const G4Track& trackData,
-                                                    G4double,
-                                                    G4ForceCondition* condition)
-{
-   const G4DynamicParticle* aDynamicParticle;
-   G4Material* aMaterial;
-   G4double MeanFreePath;
-   G4bool isOutRange ;
- 
-   *condition = NotForced ;
-
-   aDynamicParticle = trackData.GetDynamicParticle();
-   aMaterial = trackData.GetMaterial();
-
-   G4double KineticEnergy = aDynamicParticle->GetKineticEnergy();
-
-   if (KineticEnergy <  LowestKineticEnergy)
-     MeanFreePath = DBL_MAX ;
-   else {
-     if (KineticEnergy > HighestKineticEnergy) 
-                                 KineticEnergy = 0.99*HighestKineticEnergy ;
-     MeanFreePath = (*theMeanFreePathTable)(aMaterial->GetIndex())->
-                                 GetValue( KineticEnergy, isOutRange );
-   }
-   return MeanFreePath; 
-} 
-
-inline G4double G4MuNuclearInteraction::ComputeMeanFreePath(
-                                     const G4ParticleDefinition* ParticleType,
-                                           G4double KineticEnergy,
-                                           const G4Material* aMaterial)
-{
-  const G4ElementVector* theElementVector = aMaterial->GetElementVector() ;
-  const G4double* theAtomNumDensityVector = 
-                                      aMaterial->GetAtomicNumDensityVector();
-
-  G4double SIGMA = 0 ;
-
-  for ( size_t i=0 ; i < aMaterial->GetNumberOfElements() ; i++ )
-  {             
-    SIGMA += theAtomNumDensityVector[i] * 
-             ComputeMicroscopicCrossSection( ParticleType, KineticEnergy,
-                                          (*theElementVector)[i]->GetZ(),
-                                          (*theElementVector)[i]->GetA()) ;
-  }       
-
-  return SIGMA<=0.0 ? DBL_MAX : 1./SIGMA ;
-}
-
-
-inline G4bool G4MuNuclearInteraction::IsApplicable(
-                            const G4ParticleDefinition& particle)
-{
-   return(   (&particle == (const G4ParticleDefinition *)theMuonMinus)
-           ||(&particle == (const G4ParticleDefinition *)theMuonPlus)
-         ) ;
-}
Index: trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/test/include/PlhDetectorConstruction.hh
===================================================================
--- trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/test/include/PlhDetectorConstruction.hh	(revision 1350)
+++ 	(revision )
@@ -1,65 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: PlhDetectorConstruction.hh,v 1.2 2008/12/18 13:02:10 gunter Exp $
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-
-#ifndef PlhDetectorConstruction_h
-#define PlhDetectorConstruction_h 1
-
-class G4VPhysicalVolume;
-class G4LogicalVolume;
-class G4Material;
-class PlhDetectorMessenger;
-
-#include "G4VUserDetectorConstruction.hh"
-#include "globals.hh"
-
-class PlhDetectorConstruction : public G4VUserDetectorConstruction
-{
-  public:
-    PlhDetectorConstruction();
-    ~PlhDetectorConstruction();
-
-  public:
-     G4VPhysicalVolume* Construct();
-     void SelectMaterial(G4String val);
-
-  private:
-     void SelectMaterialPointer();
-
-     G4LogicalVolume*   simpleBoxLog;
-     G4Material* Air;
-     G4Material* Al;
-     G4Material* Pb;
-     G4Material* selectedMaterial;
-     G4String materialChoice;
-     PlhDetectorMessenger * detectorMessenger;
-};
-
-#endif
-
Index: trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/test/include/PlhDetectorMessenger.hh
===================================================================
--- trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/test/include/PlhDetectorMessenger.hh	(revision 1350)
+++ 	(revision )
@@ -1,54 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: PlhDetectorMessenger.hh,v 1.2 2008/12/18 13:02:12 gunter Exp $
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-
-#ifndef PlhDetectorMessenger_h
-#define PlhDetectorMessenger_h 1
-
-#include "globals.hh"
-#include "G4UImessenger.hh"
-
-class PlhDetectorConstruction;
-class G4UIdirectory;
-class G4UIcmdWithAString;
-
-class PlhDetectorMessenger: public G4UImessenger
-{
-  public:
-    PlhDetectorMessenger(PlhDetectorConstruction * myDC);
-    void SetNewValue(G4UIcommand * command,G4String newValues);
-  private:
-    PlhDetectorConstruction * myDetector;
-    G4UIdirectory *      mydetDir;
-    G4UIcmdWithAString * selMatCmd;
-
-};
-
-#endif
-
Index: trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/test/include/PlhPhysicsList.hh
===================================================================
--- trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/test/include/PlhPhysicsList.hh	(revision 1350)
+++ 	(revision )
@@ -1,70 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: PlhPhysicsList.hh,v 1.2 2008/12/18 13:02:14 gunter Exp $
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-#ifndef PlhPhysicsList_h
-#define PlhPhysicsList_h 1
-
-#include "G4VUserPhysicsList.hh"
-#include "globals.hh"
-
-class PlhPhysicsList: public G4VUserPhysicsList
-{
-  public:
-    PlhPhysicsList();
-    virtual ~PlhPhysicsList();
-
-  protected:
-    // Construct particle and physics
-    virtual void ConstructParticle();
-    virtual void ConstructProcess();
-
-    // 
-    virtual void SetCuts(G4double aCut);
-    
-  protected:
-    // these methods Construct particles 
-    virtual void ConstructBosons();
-    virtual void ConstructLeptons();
-    virtual void ConstructMesons();
-    virtual void ConstructBarions();
-    virtual void ConstructIons();
-
-  protected:
-  // these methods Construct physics processes and register them
-    virtual void ConstructGeneral();
-    virtual void ConstructEM();
-    virtual void ConstructHad();
-    virtual void ConstructLeptHad();
-
-};
-
-#endif
-
-
-
Index: trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/test/include/PlhPrimaryGeneratorAction.hh
===================================================================
--- trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/test/include/PlhPrimaryGeneratorAction.hh	(revision 1350)
+++ 	(revision )
@@ -1,54 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: PlhPrimaryGeneratorAction.hh,v 1.2 2008/12/18 13:02:16 gunter Exp $
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-
-#ifndef PlhPrimaryGeneratorAction_h
-#define PlhPrimaryGeneratorAction_h 1
-
-#include "G4VUserPrimaryGeneratorAction.hh"
-
-class G4ParticleGun;
-class G4Event;
-
-class PlhPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
-{
-  public:
-    PlhPrimaryGeneratorAction();
-    ~PlhPrimaryGeneratorAction();
-
-  public:
-    void GeneratePrimaries(G4Event* anEvent);
-
-  private:
-    G4ParticleGun* particleGun;
-};
-
-#endif
-
-
Index: trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/test/include/PlhRunAction.hh
===================================================================
--- trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/test/include/PlhRunAction.hh	(revision 1350)
+++ 	(revision )
@@ -1,54 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: PlhRunAction.hh,v 1.2 2008/12/18 13:02:18 gunter Exp $
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-
-#ifndef PlhRunAction_h
-#define PlhRunAction_h 1
-
-#include "G4UserRunAction.hh"
-#include "globals.hh"
-
-class G4Run;
-
-class PlhRunAction : public G4UserRunAction
-{
-  public:
-    PlhRunAction();
-    ~PlhRunAction();
-
-  public:
-    void BeginOfRunAction(G4Run* aRun);
-    void EndOfRunAction(G4Run* aRun);
-
-  private:
-    G4int runIDcounter;
-};
-
-#endif
-
Index: trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/test/include/PlhSteppingAction.hh
===================================================================
--- trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/test/include/PlhSteppingAction.hh	(revision 1350)
+++ 	(revision )
@@ -1,42 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-
-#ifndef PlhSteppingAction_H
-#define PlhSteppingAction_H 1
-
-#include "globals.hh"
-#include "G4UserSteppingAction.hh"
-
-class PlhSteppingAction : public G4UserSteppingAction
-{
-  public:
-    PlhSteppingAction();
-    ~PlhSteppingAction();
-    virtual void UserSteppingAction();
-};
-
-#endif
-
Index: trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/test/src/PlhDetectorConstruction.cc
===================================================================
--- trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/test/src/PlhDetectorConstruction.cc	(revision 1350)
+++ 	(revision )
@@ -1,122 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: PlhDetectorConstruction.cc,v 1.2 2008/12/18 13:02:22 gunter Exp $
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-
-#include "PlhDetectorConstruction.hh"
-
-#include "PlhDetectorMessenger.hh"
-
-#include "G4Material.hh"
-#include "G4MaterialTable.hh"
-#include "G4Element.hh"
-#include "G4ElementTable.hh"
-#include "G4Box.hh"
-#include "G4LogicalVolume.hh"
-#include "G4ThreeVector.hh"
-#include "G4PVPlacement.hh"
-#include "G4UImanager.hh"
-#include "G4ios.hh"
-
-PlhDetectorConstruction::PlhDetectorConstruction()
-:simpleBoxLog(NULL),selectedMaterial(NULL),Air(NULL),Al(NULL),Pb(NULL)
-{
-  detectorMessenger = new PlhDetectorMessenger(this);
-  materialChoice = "Pb";
-}
-
-PlhDetectorConstruction::~PlhDetectorConstruction()
-{
-  delete detectorMessenger;
-}
-
-void PlhDetectorConstruction::SelectMaterial(G4String val)
-{
-  materialChoice = val;
-  SelectMaterialPointer();
-  G4cout << "SimpleBox is now made of " << materialChoice << G4endl;
-}
-
-void PlhDetectorConstruction::SelectMaterialPointer()
-{
-//--------- Material definition ---------
-
-  G4double a, iz, z, density;
-  G4String name, symbol;
-  G4int nel;
-
-  if(!Air)
-  {
-    a = 14.01*g/mole;
-    G4Element* elN = new G4Element(name="Nitrogen", symbol="N", iz=7., a);
-    a = 16.00*g/mole;
-    G4Element* elO = new G4Element(name="Oxigen", symbol="O", iz=8., a);
-    density = 1.29e-03*g/cm3;
-    Air = new G4Material(name="Air", density, nel=2);
-    Air->AddElement(elN, .7);
-    Air->AddElement(elO, .3);
-  }
-
-  if(!Al)
-  {
-    a = 26.98*g/mole;
-    density = 2.7*g/cm3;
-    Al = new G4Material(name="Aluminium", z=13., a, density);
-  }
-
-  if(!Pb)
-  {
-    a = 207.19*g/mole;
-    density = 11.35*g/cm3;
-    Pb = new G4Material(name="Lead", z=82., a, density);
-  }
-
-  if(materialChoice=="Air")
-  { selectedMaterial = Air; }
-  else if(materialChoice=="Al")
-  { selectedMaterial = Al; }
-  else
-  { selectedMaterial = Pb; }
-
-  if(simpleBoxLog)
-  { simpleBoxLog->SetMaterial(selectedMaterial); }
-}
-
-G4VPhysicalVolume* PlhDetectorConstruction::Construct()
-{
-  SelectMaterialPointer();
-
-  G4Box * mySimpleBox = new G4Box("SBox",1000*cm, 1000*cm, 1000*cm);
-  simpleBoxLog = new G4LogicalVolume( mySimpleBox,
-                                      selectedMaterial,"SLog",0,0,0);
-  G4VPhysicalVolume* simpleBoxDetector = new G4PVPlacement(0,G4ThreeVector(),
-                                        "SPhys",simpleBoxLog,0,false,0);
-
-  return simpleBoxDetector;
-}
-
Index: trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/test/src/PlhDetectorMessenger.cc
===================================================================
--- trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/test/src/PlhDetectorMessenger.cc	(revision 1350)
+++ 	(revision )
@@ -1,67 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: PlhDetectorMessenger.cc,v 1.2 2008/12/18 13:02:24 gunter Exp $
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-
-#include "PlhDetectorMessenger.hh"
-
-#include "PlhDetectorConstruction.hh"
-#include "G4UIdirectory.hh"
-#include "G4UIcmdWithAString.hh"
-#include "globals.hh"
-
-#include "G4ios.hh"
-
-PlhDetectorMessenger::PlhDetectorMessenger(PlhDetectorConstruction * myDC)
-:myDetector(myDC)
-{
-  G4String defParam;
-
-  mydetDir = new G4UIdirectory("/mydet/");
-  mydetDir->SetGuidance("Detector setup commands.");
-
-  selMatCmd = new G4UIcmdWithAString("/mydet/SelectMaterial",this);
-  selMatCmd->SetGuidance("Select Material of the SimpleBox.");
-  selMatCmd->SetGuidance("  Choice : Air, Al, Pb (default)");
-  selMatCmd->SetParameterName("choice",true);
-  selMatCmd->SetDefaultValue("Pb");
-  selMatCmd->SetCandidates("Air Al Pb");
-  selMatCmd->AvailableForStates(PreInit,Idle);
-
-  myDetector->SelectMaterial(defParam="Pb");
-}
-
-void PlhDetectorMessenger::SetNewValue(G4UIcommand * command,G4String newValues)
-{
-  if( command == selMatCmd )
-  {
-    myDetector->SelectMaterial(newValues);
-  }
-  return;
-}
-
Index: trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/test/src/PlhPhysicsList.cc
===================================================================
--- trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/test/src/PlhPhysicsList.cc	(revision 1350)
+++ 	(revision )
@@ -1,630 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: PlhPhysicsList.cc,v 1.2 2008/12/18 13:02:26 gunter Exp $
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-#include "globals.hh"
-#include "PlhPhysicsList.hh"
-#include "G4ParticleDefinition.hh"
-#include "G4ParticleWithCuts.hh"
-#include "G4ProcessManager.hh"
-#include "G4ProcessVector.hh"
-#include "G4ParticleTypes.hh"
-#include "G4ParticleTable.hh"
-#include "G4Material.hh"
-#include "G4MaterialTable.hh"
-#include "G4ios.hh"
-#include <iomanip>                
-
-
-PlhPhysicsList::PlhPhysicsList():  G4VUserPhysicsList()
-{
-  SetVerboseLevel(1);
-}
-
-PlhPhysicsList::~PlhPhysicsList()
-{
-}
-
-void PlhPhysicsList::ConstructParticle()
-{
-  // In this method, static member functions should be called
-  // for all particles which you want to use.
-  // This ensures that objects of these particle types will be
-  // created in the program. 
-
-  ConstructBosons();
-  ConstructLeptons();
-  ConstructMesons();
-  ConstructBarions();
-  ConstructIons();
-}
-
-void PlhPhysicsList::ConstructBosons()
-{
-  // pseudo-particles
-  G4Geantino::GeantinoDefinition();
-  G4ChargedGeantino::ChargedGeantinoDefinition();
-
-  // gamma
-  G4Gamma::GammaDefinition();
-
-  // optical photon
-  G4OpticalPhoton::OpticalPhotonDefinition();
-}
-
-void PlhPhysicsList::ConstructLeptons()
-{
-  // leptons
-  G4MuonPlus::MuonPlusDefinition();
-  G4MuonMinus::MuonMinusDefinition();
-  G4TauMinus::TauMinusDefinition();
-  G4TauPlus::TauPlusDefinition();
-  G4Electron::ElectronDefinition();
-  G4Positron::PositronDefinition();
-  G4NeutrinoTau::NeutrinoTauDefinition();
-  G4AntiNeutrinoTau::AntiNeutrinoTauDefinition();
-  G4NeutrinoMu::NeutrinoMuDefinition();
-  G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
-  G4NeutrinoE::NeutrinoEDefinition();
-  G4AntiNeutrinoE::AntiNeutrinoEDefinition();
-}
-
-void PlhPhysicsList::ConstructMesons()
-{
- //  mesons
-  G4PionPlus::PionPlusDefinition();
-  G4PionMinus::PionMinusDefinition();
-  G4PionZero::PionZeroDefinition();
-  G4Eta::EtaDefinition();
-  G4EtaPrime::EtaPrimeDefinition();
-  G4RhoZero::RhoZeroDefinition();
-  G4KaonPlus::KaonPlusDefinition();
-  G4KaonMinus::KaonMinusDefinition();
-  G4KaonZero::KaonZeroDefinition();
-  G4AntiKaonZero::AntiKaonZeroDefinition();
-  G4KaonZeroLong::KaonZeroLongDefinition();
-  G4KaonZeroShort::KaonZeroShortDefinition();
-
-  G4DMesonPlus::DMesonPlusDefinition();
-  G4DMesonMinus::DMesonMinusDefinition();
-  G4DMesonZero::DMesonZeroDefinition();
-  G4AntiDMesonZero::AntiDMesonZeroDefinition();
-  G4DsMesonPlus::DsMesonPlusDefinition();
-  G4DsMesonMinus::DsMesonMinusDefinition();
-  G4JPsi::JPsiDefinition();
-
-  G4BMesonPlus::BMesonPlusDefinition();
-  G4BMesonMinus::BMesonMinusDefinition();
-  G4BMesonZero::BMesonZeroDefinition();
-  G4AntiBMesonZero::AntiBMesonZeroDefinition();
-  G4BsMesonZero::BsMesonZeroDefinition();
-  G4AntiBsMesonZero::AntiBsMesonZeroDefinition();
-}
-
-void PlhPhysicsList::ConstructBarions()
-{
-//  barions
-  G4Proton::ProtonDefinition();
-  G4AntiProton::AntiProtonDefinition();
-  G4Neutron::NeutronDefinition();
-  G4AntiNeutron::AntiNeutronDefinition();
-  G4Lambda::LambdaDefinition();
-  G4AntiLambda::AntiLambdaDefinition();
-  G4SigmaZero::SigmaZeroDefinition();
-  G4AntiSigmaZero::AntiSigmaZeroDefinition();
-  G4SigmaPlus::SigmaPlusDefinition();
-  G4AntiSigmaPlus::AntiSigmaPlusDefinition();
-  G4SigmaMinus::SigmaMinusDefinition();
-  G4AntiSigmaMinus::AntiSigmaMinusDefinition();
-  G4XiZero::XiZeroDefinition();
-  G4AntiXiZero::AntiXiZeroDefinition();
-  G4XiMinus::XiMinusDefinition();
-  G4AntiXiMinus::AntiXiMinusDefinition();
-  G4OmegaMinus::OmegaMinusDefinition();
-  G4AntiOmegaMinus::AntiOmegaMinusDefinition();
-
-  G4LambdacPlus::LambdacPlusDefinition();
-  G4SigmacPlusPlus::SigmacPlusPlusDefinition();
-  G4SigmacPlus::SigmacPlusDefinition();
-  G4SigmacZero::SigmacZeroDefinition();
-  G4XicPlus::XicPlusDefinition();
-  G4XicZero::XicZeroDefinition();
-  G4OmegacZero::OmegacZeroDefinition();
-  G4AntiLambdacPlus::AntiLambdacPlusDefinition();
-  G4AntiSigmacPlusPlus::AntiSigmacPlusPlusDefinition();
-  G4AntiSigmacPlus::AntiSigmacPlusDefinition();
-  G4AntiSigmacZero::AntiSigmacZeroDefinition();
-  G4AntiXicPlus::AntiXicPlusDefinition();
-  G4AntiXicZero::AntiXicZeroDefinition();
-  G4AntiOmegacZero::AntiOmegacZeroDefinition();
-}
-
-void PlhPhysicsList::ConstructIons()
-{
-  //  nuclei
-  G4Alpha::AlphaDefinition();
-  G4Deuteron::DeuteronDefinition();
-  G4Triton::TritonDefinition();
-  G4He3::He3Definition();
-}
-
-void PlhPhysicsList::ConstructProcess()
-{
-  AddTransportation();
-  ConstructEM();
-  ConstructLeptHad();
-  // ConstructHad();
-  // ConstructGeneral();
-}
-
-#include "G4ComptonScattering.hh"
-#include "G4GammaConversion.hh"
-#include "G4PhotoElectricEffect.hh"
-
-#include "G4MultipleScattering.hh"
-
-#include "G4eIonisation.hh"
-#include "G4eBremsstrahlung.hh"
-#include "G4eplusAnnihilation.hh"
-
-#include "G4MuIonisation.hh"
-#include "G4MuBremsstrahlung.hh"
-#include "G4MuPairProduction.hh"
-
-#include "G4hIonisation.hh"
-void PlhPhysicsList::ConstructEM()
-{
-  theParticleIterator->reset();
-  while( (*theParticleIterator)() ){
-    G4ParticleDefinition* particle = theParticleIterator->value();
-    G4ProcessManager* pmanager = particle->GetProcessManager();
-    G4String particleName = particle->GetParticleName();
-     
-    if (particleName == "gamma") {
-    // gamma
-      // Construct processes for gamma
-      pmanager->AddDiscreteProcess(new G4GammaConversion());
-      pmanager->AddDiscreteProcess(new G4ComptonScattering());      
-      pmanager->AddDiscreteProcess(new G4PhotoElectricEffect());
-
-    } else if (particleName == "e-") {
-    //electron
-      // Construct processes for electron
-      pmanager->AddProcess(new G4MultipleScattering(),-1,1,1);
-      pmanager->AddProcess(new G4eIonisation(),-1,2,2);
-      pmanager->AddProcess(new G4eBremsstrahlung(),-1,-1,3);
-  
-    } else if (particleName == "e+") {
-    //positron
-      // Construct processes for positron
-     pmanager->AddProcess(new G4MultipleScattering(),-1,1,1);
-     
-     pmanager->AddProcess(new G4eIonisation(),-1,2,2);
-     pmanager->AddProcess(new G4eBremsstrahlung(),-1,-1,3);      
-     pmanager->AddProcess(new G4eplusAnnihilation(),0,-1,4);
-  
-    } else if( particleName == "mu+" || 
-               particleName == "mu-"    ) {
-    //muon  
-     // Construct processes for muon+
-     pmanager->AddProcess(new G4MultipleScattering(),-1,1,1);
-     pmanager->AddProcess(new G4MuIonisation(),-1,2,2);
-     pmanager->AddProcess(new G4MuBremsstrahlung(),-1,-1,3);
-     pmanager->AddProcess(new G4MuPairProduction(),-1,-1,4);       
-     
-    } else { 
-      if ((particle->GetPDGCharge() != 0.0) && 
-          (particle->GetParticleName() != "chargedgeantino")) {
-     // all others charged particles except geantino
-       pmanager->AddProcess(new G4MultipleScattering(),-1,1,1);
-       pmanager->AddProcess(new G4hIonisation(),-1,2,2);       
-     }
-    }
-  }
-}
-
-// Hadron Processes
-
-#include "G4HadronElasticProcess.hh"
-#include "G4HadronFissionProcess.hh"
-#include "G4HadronCaptureProcess.hh"
-
-#include "G4PionPlusInelasticProcess.hh"
-#include "G4PionMinusInelasticProcess.hh"
-#include "G4KaonPlusInelasticProcess.hh"
-#include "G4KaonZeroSInelasticProcess.hh"
-#include "G4KaonZeroLInelasticProcess.hh"
-#include "G4KaonMinusInelasticProcess.hh"
-#include "G4ProtonInelasticProcess.hh"
-#include "G4AntiProtonInelasticProcess.hh"
-#include "G4NeutronInelasticProcess.hh"
-#include "G4AntiNeutronInelasticProcess.hh"
-#include "G4LambdaInelasticProcess.hh"
-#include "G4AntiLambdaInelasticProcess.hh"
-#include "G4SigmaPlusInelasticProcess.hh"
-#include "G4SigmaMinusInelasticProcess.hh"
-#include "G4AntiSigmaPlusInelasticProcess.hh"
-#include "G4AntiSigmaMinusInelasticProcess.hh"
-#include "G4XiZeroInelasticProcess.hh"
-#include "G4XiMinusInelasticProcess.hh"
-#include "G4AntiXiZeroInelasticProcess.hh"
-#include "G4AntiXiMinusInelasticProcess.hh"
-#include "G4DeuteronInelasticProcess.hh"
-#include "G4TritonInelasticProcess.hh"
-#include "G4AlphaInelasticProcess.hh"
-#include "G4OmegaMinusInelasticProcess.hh"
-#include "G4AntiOmegaMinusInelasticProcess.hh"
-
-// Low-energy Models
-
-#include "G4LElastic.hh"
-#include "G4LFission.hh"
-#include "G4LCapture.hh"
-
-#include "G4LEPionPlusInelastic.hh"
-#include "G4LEPionMinusInelastic.hh"
-#include "G4LEKaonPlusInelastic.hh"
-#include "G4LEKaonZeroSInelastic.hh"
-#include "G4LEKaonZeroLInelastic.hh"
-#include "G4LEKaonMinusInelastic.hh"
-#include "G4LEProtonInelastic.hh"
-#include "G4LEAntiProtonInelastic.hh"
-#include "G4LENeutronInelastic.hh"
-#include "G4LEAntiNeutronInelastic.hh"
-#include "G4LELambdaInelastic.hh"
-#include "G4LEAntiLambdaInelastic.hh"
-#include "G4LESigmaPlusInelastic.hh"
-#include "G4LESigmaMinusInelastic.hh"
-#include "G4LEAntiSigmaPlusInelastic.hh"
-#include "G4LEAntiSigmaMinusInelastic.hh"
-#include "G4LEXiZeroInelastic.hh"
-#include "G4LEXiMinusInelastic.hh"
-#include "G4LEAntiXiZeroInelastic.hh"
-#include "G4LEAntiXiMinusInelastic.hh"
-#include "G4LEDeuteronInelastic.hh"
-#include "G4LETritonInelastic.hh"
-#include "G4LEAlphaInelastic.hh"
-#include "G4LEOmegaMinusInelastic.hh"
-#include "G4LEAntiOmegaMinusInelastic.hh"
-
-//
-// ConstructHad()
-//
-// Makes discrete physics processes for the hadrons, at present limited
-// to those particles with GHEISHA interactions (INTRC > 0).
-// The processes are: Elastic scattering, Inelastic scattering,
-// Fission (for neutron only), and Capture (neutron).
-//
-// F.W.Jones  06-JUL-1998
-//
-
-void PlhPhysicsList::ConstructHad()
-{
-   G4HadronElasticProcess* theElasticProcess = 
-                                    new G4HadronElasticProcess;
-   G4LElastic* theElasticModel = new G4LElastic;
-   theElasticProcess->RegisterMe(theElasticModel);
-
-   theParticleIterator->reset();
-   while ((*theParticleIterator)()) {
-      G4ParticleDefinition* particle = theParticleIterator->value();
-      G4ProcessManager* pmanager = particle->GetProcessManager();
-      G4String particleName = particle->GetParticleName();
-     
-      if (particleName == "pi+") {
-         pmanager->AddDiscreteProcess(theElasticProcess);
-         G4PionPlusInelasticProcess* theInelasticProcess = 
-                                new G4PionPlusInelasticProcess("inelastic");
-         G4LEPionPlusInelastic* theInelasticModel = 
-                                new G4LEPionPlusInelastic;
-         theInelasticProcess->RegisterMe(theInelasticModel);
-         pmanager->AddDiscreteProcess(theInelasticProcess);
-      }
-      else if (particleName == "pi-") {
-         pmanager->AddDiscreteProcess(theElasticProcess);
-         G4PionMinusInelasticProcess* theInelasticProcess = 
-                                new G4PionMinusInelasticProcess("inelastic");
-         G4LEPionMinusInelastic* theInelasticModel = 
-                                new G4LEPionMinusInelastic;
-         theInelasticProcess->RegisterMe(theInelasticModel);
-         pmanager->AddDiscreteProcess(theInelasticProcess);
-      }
-      else if (particleName == "kaon+") {
-         pmanager->AddDiscreteProcess(theElasticProcess);
-         G4KaonPlusInelasticProcess* theInelasticProcess = 
-                                  new G4KaonPlusInelasticProcess("inelastic");
-         G4LEKaonPlusInelastic* theInelasticModel = new G4LEKaonPlusInelastic;
-         theInelasticProcess->RegisterMe(theInelasticModel);
-         pmanager->AddDiscreteProcess(theInelasticProcess);
-      }
-      else if (particleName == "kaon0S") {
-         pmanager->AddDiscreteProcess(theElasticProcess);
-         G4KaonZeroSInelasticProcess* theInelasticProcess = 
-                             new G4KaonZeroSInelasticProcess("inelastic");
-         G4LEKaonZeroSInelastic* theInelasticModel = 
-                             new G4LEKaonZeroSInelastic;
-         theInelasticProcess->RegisterMe(theInelasticModel);
-         pmanager->AddDiscreteProcess(theInelasticProcess);
-      }
-      else if (particleName == "kaon0L") {
-         pmanager->AddDiscreteProcess(theElasticProcess);
-         G4KaonZeroLInelasticProcess* theInelasticProcess = 
-                             new G4KaonZeroLInelasticProcess("inelastic");
-         G4LEKaonZeroLInelastic* theInelasticModel = 
-                             new G4LEKaonZeroLInelastic;
-         theInelasticProcess->RegisterMe(theInelasticModel);
-         pmanager->AddDiscreteProcess(theInelasticProcess);
-      }
-      else if (particleName == "kaon-") {
-         pmanager->AddDiscreteProcess(theElasticProcess);
-         G4KaonMinusInelasticProcess* theInelasticProcess = 
-                                 new G4KaonMinusInelasticProcess("inelastic");
-         G4LEKaonMinusInelastic* theInelasticModel = 
-                                 new G4LEKaonMinusInelastic;
-         theInelasticProcess->RegisterMe(theInelasticModel);
-         pmanager->AddDiscreteProcess(theInelasticProcess);
-      }
-      else if (particleName == "proton") {
-         pmanager->AddDiscreteProcess(theElasticProcess);
-         G4ProtonInelasticProcess* theInelasticProcess = 
-                                    new G4ProtonInelasticProcess("inelastic");
-         G4LEProtonInelastic* theInelasticModel = new G4LEProtonInelastic;
-         theInelasticProcess->RegisterMe(theInelasticModel);
-         pmanager->AddDiscreteProcess(theInelasticProcess);
-      }
-      else if (particleName == "anti_proton") {
-         pmanager->AddDiscreteProcess(theElasticProcess);
-         G4AntiProtonInelasticProcess* theInelasticProcess = 
-                                new G4AntiProtonInelasticProcess("inelastic");
-         G4LEAntiProtonInelastic* theInelasticModel = 
-                                new G4LEAntiProtonInelastic;
-         theInelasticProcess->RegisterMe(theInelasticModel);
-         pmanager->AddDiscreteProcess(theInelasticProcess);
-      }
-      else if (particleName == "neutron") {
-         pmanager->AddDiscreteProcess(theElasticProcess);
-         G4NeutronInelasticProcess* theInelasticProcess = 
-                                    new G4NeutronInelasticProcess("inelastic");
-         G4LENeutronInelastic* theInelasticModel = new G4LENeutronInelastic;
-         theInelasticProcess->RegisterMe(theInelasticModel);
-         pmanager->AddDiscreteProcess(theInelasticProcess);
-         G4HadronFissionProcess* theFissionProcess =
-                                    new G4HadronFissionProcess;
-         G4LFission* theFissionModel = new G4LFission;
-         theFissionProcess->RegisterMe(theFissionModel);
-         pmanager->AddDiscreteProcess(theFissionProcess);
-         G4HadronCaptureProcess* theCaptureProcess =
-                                    new G4HadronCaptureProcess;
-         G4LCapture* theCaptureModel = new G4LCapture;
-         theCaptureProcess->RegisterMe(theCaptureModel);
-         pmanager->AddDiscreteProcess(theCaptureProcess);
-      }  
-      else if (particleName == "anti_neutron") {
-         pmanager->AddDiscreteProcess(theElasticProcess);
-         G4AntiNeutronInelasticProcess* theInelasticProcess = 
-                               new G4AntiNeutronInelasticProcess("inelastic");
-         G4LEAntiNeutronInelastic* theInelasticModel = 
-                               new G4LEAntiNeutronInelastic;
-         theInelasticProcess->RegisterMe(theInelasticModel);
-         pmanager->AddDiscreteProcess(theInelasticProcess);
-      }
-      else if (particleName == "lambda") {
-         pmanager->AddDiscreteProcess(theElasticProcess);
-         G4LambdaInelasticProcess* theInelasticProcess = 
-                                    new G4LambdaInelasticProcess("inelastic");
-         G4LELambdaInelastic* theInelasticModel = new G4LELambdaInelastic;
-         theInelasticProcess->RegisterMe(theInelasticModel);
-         pmanager->AddDiscreteProcess(theInelasticProcess);
-      }
-      else if (particleName == "anti_lambda") {
-         pmanager->AddDiscreteProcess(theElasticProcess);
-         G4AntiLambdaInelasticProcess* theInelasticProcess = 
-                                new G4AntiLambdaInelasticProcess("inelastic");
-         G4LEAntiLambdaInelastic* theInelasticModel = 
-                                new G4LEAntiLambdaInelastic;
-         theInelasticProcess->RegisterMe(theInelasticModel);
-         pmanager->AddDiscreteProcess(theInelasticProcess);
-      }
-      else if (particleName == "sigma+") {
-         pmanager->AddDiscreteProcess(theElasticProcess);
-         G4SigmaPlusInelasticProcess* theInelasticProcess = 
-                                 new G4SigmaPlusInelasticProcess("inelastic");
-         G4LESigmaPlusInelastic* theInelasticModel = 
-                                 new G4LESigmaPlusInelastic;
-         theInelasticProcess->RegisterMe(theInelasticModel);
-         pmanager->AddDiscreteProcess(theInelasticProcess);
-      }
-      else if (particleName == "sigma-") {
-         pmanager->AddDiscreteProcess(theElasticProcess);
-         G4SigmaMinusInelasticProcess* theInelasticProcess = 
-                                 new G4SigmaMinusInelasticProcess("inelastic");
-         G4LESigmaMinusInelastic* theInelasticModel = 
-                                 new G4LESigmaMinusInelastic;
-         theInelasticProcess->RegisterMe(theInelasticModel);
-         pmanager->AddDiscreteProcess(theInelasticProcess);
-      }
-      else if (particleName == "anti_sigma+") {
-         pmanager->AddDiscreteProcess(theElasticProcess);
-         G4AntiSigmaPlusInelasticProcess* theInelasticProcess = 
-                             new G4AntiSigmaPlusInelasticProcess("inelastic");
-         G4LEAntiSigmaPlusInelastic* theInelasticModel = 
-                                 new G4LEAntiSigmaPlusInelastic;
-         theInelasticProcess->RegisterMe(theInelasticModel);
-         pmanager->AddDiscreteProcess(theInelasticProcess);
-      }
-      else if (particleName == "anti_sigma-") {
-         pmanager->AddDiscreteProcess(theElasticProcess);
-         G4AntiSigmaMinusInelasticProcess* theInelasticProcess = 
-                            new G4AntiSigmaMinusInelasticProcess("inelastic");
-         G4LEAntiSigmaMinusInelastic* theInelasticModel = 
-                                 new G4LEAntiSigmaMinusInelastic;
-         theInelasticProcess->RegisterMe(theInelasticModel);
-         pmanager->AddDiscreteProcess(theInelasticProcess);
-      }
-      else if (particleName == "xi0") {
-         pmanager->AddDiscreteProcess(theElasticProcess);
-         G4XiZeroInelasticProcess* theInelasticProcess = 
-                            new G4XiZeroInelasticProcess("inelastic");
-         G4LEXiZeroInelastic* theInelasticModel = 
-                                 new G4LEXiZeroInelastic;
-         theInelasticProcess->RegisterMe(theInelasticModel);
-         pmanager->AddDiscreteProcess(theInelasticProcess);
-      }
-      else if (particleName == "xi-") {
-         pmanager->AddDiscreteProcess(theElasticProcess);
-         G4XiMinusInelasticProcess* theInelasticProcess = 
-                            new G4XiMinusInelasticProcess("inelastic");
-         G4LEXiMinusInelastic* theInelasticModel = 
-                                 new G4LEXiMinusInelastic;
-         theInelasticProcess->RegisterMe(theInelasticModel);
-         pmanager->AddDiscreteProcess(theInelasticProcess);
-      }
-      else if (particleName == "anti_xi0") {
-         pmanager->AddDiscreteProcess(theElasticProcess);
-         G4AntiXiZeroInelasticProcess* theInelasticProcess = 
-                            new G4AntiXiZeroInelasticProcess("inelastic");
-         G4LEAntiXiZeroInelastic* theInelasticModel = 
-                                 new G4LEAntiXiZeroInelastic;
-         theInelasticProcess->RegisterMe(theInelasticModel);
-         pmanager->AddDiscreteProcess(theInelasticProcess);
-      }
-      else if (particleName == "anti_xi-") {
-         pmanager->AddDiscreteProcess(theElasticProcess);
-         G4AntiXiMinusInelasticProcess* theInelasticProcess = 
-                            new G4AntiXiMinusInelasticProcess("inelastic");
-         G4LEAntiXiMinusInelastic* theInelasticModel = 
-                                 new G4LEAntiXiMinusInelastic;
-         theInelasticProcess->RegisterMe(theInelasticModel);
-         pmanager->AddDiscreteProcess(theInelasticProcess);
-      }
-      else if (particleName == "deuteron") {
-         pmanager->AddDiscreteProcess(theElasticProcess);
-         G4DeuteronInelasticProcess* theInelasticProcess = 
-                            new G4DeuteronInelasticProcess("inelastic");
-         G4LEDeuteronInelastic* theInelasticModel = 
-                                 new G4LEDeuteronInelastic;
-         theInelasticProcess->RegisterMe(theInelasticModel);
-         pmanager->AddDiscreteProcess(theInelasticProcess);
-      }
-      else if (particleName == "triton") {
-         pmanager->AddDiscreteProcess(theElasticProcess);
-         G4TritonInelasticProcess* theInelasticProcess = 
-                            new G4TritonInelasticProcess("inelastic");
-         G4LETritonInelastic* theInelasticModel = 
-                                 new G4LETritonInelastic;
-         theInelasticProcess->RegisterMe(theInelasticModel);
-         pmanager->AddDiscreteProcess(theInelasticProcess);
-      }
-      else if (particleName == "alpha") {
-         pmanager->AddDiscreteProcess(theElasticProcess);
-         G4AlphaInelasticProcess* theInelasticProcess = 
-                            new G4AlphaInelasticProcess("inelastic");
-         G4LEAlphaInelastic* theInelasticModel = 
-                                 new G4LEAlphaInelastic;
-         theInelasticProcess->RegisterMe(theInelasticModel);
-         pmanager->AddDiscreteProcess(theInelasticProcess);
-      }
-      else if (particleName == "omega-") {
-         pmanager->AddDiscreteProcess(theElasticProcess);
-         G4OmegaMinusInelasticProcess* theInelasticProcess = 
-                            new G4OmegaMinusInelasticProcess("inelastic");
-         G4LEOmegaMinusInelastic* theInelasticModel = 
-                                 new G4LEOmegaMinusInelastic;
-         theInelasticProcess->RegisterMe(theInelasticModel);
-         pmanager->AddDiscreteProcess(theInelasticProcess);
-      }
-      else if (particleName == "anti_omega-") {
-         pmanager->AddDiscreteProcess(theElasticProcess);
-         G4AntiOmegaMinusInelasticProcess* theInelasticProcess = 
-                            new G4AntiOmegaMinusInelasticProcess("inelastic");
-         G4LEAntiOmegaMinusInelastic* theInelasticModel = 
-                                 new G4LEAntiOmegaMinusInelastic;
-         theInelasticProcess->RegisterMe(theInelasticModel);
-         pmanager->AddDiscreteProcess(theInelasticProcess);
-      }
-   }
-}
-
-#include "G4MuonNucleusProcess.hh"
-void PlhPhysicsList::ConstructLeptHad()
-{
-  G4MuonNucleusProcess* theMuonNucleusProcess = new G4MuonNucleusProcess();
-  theParticleIterator->reset();
-  while( (*theParticleIterator)() ){
-    G4ParticleDefinition* particle = theParticleIterator->value();
-    G4ProcessManager* pmanager = particle->GetProcessManager();
-    G4String particleName = particle->GetParticleName();
-    if( particleName == "mu+" || particleName == "mu-" ) {
-      pmanager->AddDiscreteProcess(theMuonNucleusProcess);
-    }
-  }
-}
-
-
-#include "G4Decay.hh"
-void PlhPhysicsList::ConstructGeneral()
-{
-  G4Decay* theDecayProcess = new G4Decay();
-  theParticleIterator->reset();
-  while( (*theParticleIterator)() ){
-    G4ParticleDefinition* particle = theParticleIterator->value();
-    G4ProcessManager* pmanager = particle->GetProcessManager();
-    if (theDecayProcess->IsApplicable(*particle)) { 
-      pmanager ->AddProcess(theDecayProcess);
-      pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep);
-      pmanager ->SetProcessOrdering(theDecayProcess, idxAtRest);
-    }
-  }
-}
-
-void PlhPhysicsList::SetCuts(G4double cut)
-{
-  if (verboseLevel >0){
-    G4cout << "PlhPhysicsList::SetCuts:";
-    G4cout << "CutLength : " << cut/mm << " (mm)" << G4endl;
-  }  
-
-  // set cut values for gamma at first and for e- second and next for e+,
-  // because some processes for e+/e- need cut values for gamma 
-  SetCutValue(cut, "gamma");
-  SetCutValue(cut, "e-");
-  SetCutValue(cut, "e+");
- 
-  // set cut values for proton and anti_proton before all other hadrons
-  // because some processes for hadrons need cut values for proton/anti_proton 
-  SetCutValue(cut, "proton");
-  SetCutValue(cut, "anti_proton");
-  
-  SetCutValueForOthers(cut);
-
-  if (verboseLevel>1) {
-    DumpCutValuesTable();
-  }
-}
-
-
Index: trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/test/src/PlhPrimaryGeneratorAction.cc
===================================================================
--- trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/test/src/PlhPrimaryGeneratorAction.cc	(revision 1350)
+++ 	(revision )
@@ -1,67 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: PlhPrimaryGeneratorAction.cc,v 1.2 2008/12/18 13:02:28 gunter Exp $
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-
-#include "PlhPrimaryGeneratorAction.hh"
-
-#include "G4Event.hh"
-#include "G4ParticleGun.hh"
-#include "G4ParticleTable.hh"
-#include "G4ParticleDefinition.hh"
-#include "globals.hh"
-
-PlhPrimaryGeneratorAction::PlhPrimaryGeneratorAction()
-{
-  G4int n_particle = 1;
-  particleGun = new G4ParticleGun(n_particle);
-
-// default particle
-
-  G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
-  G4String particleName;
-  G4ParticleDefinition* particle 
-    = particleTable->FindParticle(particleName="mu-");
-  particleGun->SetParticleDefinition(particle);
-  particleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.));
-  particleGun->SetParticleEnergy(1.*GeV);
-  particleGun->SetParticlePosition(G4ThreeVector(0.*cm,0.*cm,0.*cm));
-
-}
-
-PlhPrimaryGeneratorAction::~PlhPrimaryGeneratorAction()
-{
-  delete particleGun;
-}
-
-void PlhPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
-{
-  particleGun->GeneratePrimaryVertex(anEvent);
-}
-
-
Index: trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/test/src/PlhRunAction.cc
===================================================================
--- trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/test/src/PlhRunAction.cc	(revision 1350)
+++ 	(revision )
@@ -1,54 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: PlhRunAction.cc,v 1.2 2008/12/18 13:02:30 gunter Exp $
-// GEANT4 tag $Name: geant4-09-03-cand-01 $
-//
-
-#include "PlhRunAction.hh"
-
-#include "G4Run.hh"
-#include "G4UImanager.hh"
-#include "G4ios.hh"
-
-PlhRunAction::PlhRunAction()
-{
-  runIDcounter = 0;
-}
-
-PlhRunAction::~PlhRunAction()
-{
-}
-
-void PlhRunAction::BeginOfRunAction(G4Run* aRun)
-{
-  aRun->SetRunID(runIDcounter++);
-}
-
-void PlhRunAction::EndOfRunAction(G4Run* aRun)
-{
-}
-
Index: trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/test/src/PlhSteppingAction.cc
===================================================================
--- trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/test/src/PlhSteppingAction.cc	(revision 1350)
+++ 	(revision )
@@ -1,103 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-
-#include "PlhSteppingAction.hh"
-#include "G4SteppingManager.hh"
-#include "G4Track.hh"
-#include "G4Step.hh"
-#include "G4StepPoint.hh"
-#include "G4TrackStatus.hh"
-#include "G4TrackVector.hh"
-#include "G4VPhysicalVolume.hh"
-#include "G4ParticleDefinition.hh"
-#include "G4ParticleTypes.hh"
-#include "G4ios.hh"
-#include <iomanip>
-
-PlhSteppingAction::PlhSteppingAction()
-{;}
-
-PlhSteppingAction::~PlhSteppingAction()
-{;}
-
-void PlhSteppingAction::UserSteppingAction()
-{
-  G4SteppingManager * SM = GetOmnipotentSteppingManager();
-  G4Step * theStep = SM->GetStep();
-  G4Track * theTrack = theStep->GetTrack();
-
-  // check if it is alive
-  if(theTrack->GetTrackStatus()==fAlive) { return; }
-
-      G4cout << std::setw( 5) << "#Step#" << " "
-        << std::setw( 9) << "X(mm)" << " "
-          << std::setw( 9) << "Y(mm)" << " "
-            << std::setw( 9) << "Z(mm)" << " "
-              << std::setw( 9) << "KineE(MeV)" << " "
-                << std::setw( 9) << "dE(MeV)" << " "
-                  << std::setw( 9) << "StepLeng" << " "
-                    << std::setw( 9) << "TrackLeng" << " "
-                        << std::setw(10) << "ProcName" << G4endl;
-    G4cout.precision(3);
-    G4cout << std::setw( 5) << theTrack->GetCurrentStepNumber() << " "
-      << std::setw( 9) << theTrack->GetPosition().x() / mm << " "
-        << std::setw( 9) << theTrack->GetPosition().y() / mm << " "
-          << std::setw( 9) << theTrack->GetPosition().z() / mm << " "
-             << std::setw( 9) << theTrack->GetKineticEnergy() / MeV << " "
-              << std::setw( 9) << theStep->GetTotalEnergyDeposit() /MeV << " "
-                << std::setw( 9) << theStep->GetStepLength() / mm << " "
-                  << std::setw( 9) << theTrack->GetTrackLength() / mm << " ";
-    if(theStep->GetPostStepPoint()->GetProcessDefinedStep() != NULL){
-      G4cout << theStep->GetPostStepPoint()->GetProcessDefinedStep()
-        ->GetProcessName();
-    } else {
-      G4cout << "User Limit";
-    }
-    G4cout << G4endl;
-
-   G4TrackVector* fSecondary = SM->GetfSecondary();
-       G4cout << "   -- List of secondaries generated : "
-         << "(x,y,z,kE,t,PID) --" << G4endl;
-       for( G4int lp1=0;lp1<(*fSecondary).entries(); lp1++){
-         G4cout << "      "
-           << std::setw( 9)
-             << (*fSecondary)[lp1]->GetPosition().x() / mm << " "
-               << std::setw( 9)
-                 << (*fSecondary)[lp1]->GetPosition().y() / mm << " "
-                   << std::setw( 9)
-                     << (*fSecondary)[lp1]->GetPosition().z() / mm << " "
-                       << std::setw( 9)
-                         << (*fSecondary)[lp1]->GetKineticEnergy() / MeV << " "
-                           << std::setw( 9)
-                             << (*fSecondary)[lp1]->GetGlobalTime() / ns << " "
-                               << std::setw(18)
-                                 << (*fSecondary)[lp1]->GetDefinition()
-                                   ->GetParticleName();
-         G4cout << G4endl;
-       }
-
-}
-
Index: trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundIon.hh
===================================================================
--- trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundIon.hh	(revision 1350)
+++ 	(revision )
@@ -1,46 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-
-// $Id: G4VPreCompoundIon.hh,v 1.9 2008/09/22 10:18:36 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-03 $
-//
-// by V. Lara
-//
-//J.M. Quesada (Apr. 2008) DUMMY abstract base class for ions.
-// Not ihherited by anything
-// Suppressed
-
-
-
- 
-
-
-
-
-
-
-
Index: trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundNucleon.hh
===================================================================
--- trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundNucleon.hh	(revision 1350)
+++ 	(revision )
@@ -1,34 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: G4VPreCompoundNucleon.hh,v 1.8 2008/09/22 10:18:36 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-03 $
-//
-// by V. Lara
-//J.M. Quesada (Apr. 2008) DUMMY abstract base class for nucleons. 
-// Not ihherited by anything
-// Suppressed
-
Index: trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundIon.cc
===================================================================
--- trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundIon.cc	(revision 1350)
+++ 	(revision )
@@ -1,46 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-// $Id: G4VPreCompoundIon.cc,v 1.9 2008/09/22 10:18:36 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-03 $
-//
-// by V. Lara
-//
-//J.M. Quesada (Apr. 2008) DUMMY abstract base class for ions
-// it is not ihherited by anything
-// Suppressed
-
-
-
-
-
-
-
-
-
-
-
-
Index: trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundNucleon.cc
===================================================================
--- trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundNucleon.cc	(revision 1350)
+++ 	(revision )
@@ -1,38 +1,0 @@
-//
-// ********************************************************************
-// * License and Disclaimer                                           *
-// *                                                                  *
-// * The  Geant4 software  is  copyright of the Copyright Holders  of *
-// * the Geant4 Collaboration.  It is provided  under  the terms  and *
-// * conditions of the Geant4 Software License,  included in the file *
-// * LICENSE and available at  http://cern.ch/geant4/license .  These *
-// * include a list of copyright holders.                             *
-// *                                                                  *
-// * Neither the authors of this software system, nor their employing *
-// * institutes,nor the agencies providing financial support for this *
-// * work  make  any representation or  warranty, express or implied, *
-// * regarding  this  software system or assume any liability for its *
-// * use.  Please see the license in the file  LICENSE  and URL above *
-// * for the full disclaimer and the limitation of liability.         *
-// *                                                                  *
-// * This  code  implementation is the result of  the  scientific and *
-// * technical work of the GEANT4 collaboration.                      *
-// * By using,  copying,  modifying or  distributing the software (or *
-// * any work based  on the software)  you  agree  to acknowledge its *
-// * use  in  resulting  scientific  publications,  and indicate your *
-// * acceptance of all terms of the Geant4 Software license.          *
-// ********************************************************************
-//
-//
-
-// $Id: G4VPreCompoundNucleon.cc,v 1.9 2008/09/22 10:18:36 ahoward Exp $
-// GEANT4 tag $Name: geant4-09-03 $
-
-//
-// by V. Lara
-//
-//J.M. Quesada (Apr. 2008) DUMMY abstract base class for nucleons.
-// it is not ihherited by anything
-// Suppressed
-
-
