Index: YSE/HEAD/source/PhysicsList.cxx.sav
===================================================================
--- /ELYSE/HEAD/source/PhysicsList.cxx.sav	(revision 289)
+++ 	(revision )
@@ -1,715 +1,0 @@
-// Physics List
-//this
-#include "ELYSE/PhysicsList.hh"
-
-//Geant 4
-#include "G4ParticleDefinition.hh"
-#include "G4ParticleWithCuts.hh"
-#include "G4LeptonConstructor.hh"
-#include "G4MesonConstructor.hh"
-#include "G4BaryonConstructor.hh"
-#include "G4BosonConstructor.hh"
-#include "G4IonConstructor.hh"
-#include "G4ProcessManager.hh"
-#include "G4ProcessVector.hh"
-#include "G4ParticleTypes.hh"
-#include "G4ParticleTable.hh"
-#include "G4Material.hh"
-#include "G4ios.hh"
-#include "G4UImanager.hh"
-#include "globals.hh"
-
-
-//std
-#include <iomanip>
-
-//ELYSE
-#include "ELYSE/PhysicsMessenger.hh"
-
-
-ELYSE::PhysicsList::PhysicsList() 
-: G4VUserPhysicsList(), 
-  physicsMessenger(0),
-  theCerenkovProcess(0),
-  theScintillationProcess(0),
-  theAbsorptionProcess(0),
-  theRayleighScatteringProcess(0),
-  theBoundaryProcess(0) {
-  
-  defaultCutValue = 1.0*mm;
-  SetVerboseLevel(1);
-  
-  physicsMessenger = new PhysicsMessenger(this);
-}//PhysicsList
-
-//-----------------------------------------------------------------------------------------------
-
-ELYSE::PhysicsList::~PhysicsList() {
-  delete physicsMessenger;
-  physicsMessenger = 0;
-}//PhysicsList
-
-//-----------------------------------------------------------------------------------------------
-void ELYSE::PhysicsList::ConstructParticle() {
-
-  G4cout << "(JEC) :PhysicsList::ConstructParticle() now !" << G4endl;
-  G4LeptonConstructor leptonConstructor;
-  G4MesonConstructor  mesonConstructor;
-  G4BaryonConstructor baryonConstructor;
-  G4BosonConstructor bosonConstructor;
-  G4IonConstructor ionConstructor;
-  leptonConstructor.ConstructParticle();
-  mesonConstructor.ConstructParticle();
-  baryonConstructor.ConstructParticle();
-  bosonConstructor.ConstructParticle();
-  ionConstructor.ConstructParticle();
-  G4OpticalPhoton::OpticalPhotonDefinition();
-} //ConstructParticle
-
-//-----------------------------------------------------------------------------------------------
-
-void ELYSE::PhysicsList::ConstructProcess() {
-  G4cout << "(JEC) :PhysicsList::ConstructProcess() now !" << G4endl;
-  AddTransportation();
-  ConstructEM();
-  ConstructGeneral();
-  ConstructOp();
-  //JEC 20/2/07 not useful? ConstructHad();
-  SetVerbose(0);
-
-}//ConstructProcess
-
-//-----------------------------------------------------------------------------------------------
-
-
-
-#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"
-#include "G4MuonMinusCaptureAtRest.hh"
-
-//low energy
-#include "G4LowEnergyRayleigh.hh"
-#include "G4LowEnergyPhotoElectric.hh"
-#include "G4LowEnergyCompton.hh"
-#include "G4LowEnergyGammaConversion.hh"
-#include "G4MultipleScattering52.hh"
-#include "G4LowEnergyIonisation.hh"
-#include "G4LowEnergyBremsstrahlung.hh"
-
-void ELYSE::PhysicsList::ConstructEM() {
-
-  theParticleIterator->reset();
-  while( (*theParticleIterator)() ){
-    G4ParticleDefinition* particle = theParticleIterator->value();
-    G4ProcessManager* pmanager = particle->GetProcessManager();
-    G4String particleName = particle->GetParticleName();
-     
-    if (particleName == "gamma") {
-    // gamma standard
-//       pmanager->AddDiscreteProcess(new G4GammaConversion());
-//       pmanager->AddDiscreteProcess(new G4ComptonScattering());      
-//       pmanager->AddDiscreteProcess(new G4PhotoElectricEffect());
-
-      //Low energy version
-      pmanager->AddDiscreteProcess(new G4LowEnergyRayleigh);
-      pmanager->AddDiscreteProcess(new  G4LowEnergyPhotoElectric("LowEnPhotoElec"));
-      pmanager->AddDiscreteProcess(new G4LowEnergyCompton);
-      pmanager->AddDiscreteProcess(new G4LowEnergyGammaConversion);
-
-
-    } else if (particleName == "e-") {
-    //electron
-//       G4VProcess*theeminusMultipleScattering = new G4MultipleScattering();
-//       G4VProcess* theeminusIonisation         = new G4eIonisation();
-//       G4VProcess* theeminusBremsstrahlung     = new G4eBremsstrahlung();
-
-
-      //JEC 20/2/07 test lowenergy processes
-      G4VProcess* theeminusMultipleScattering = new G4MultipleScattering52;
-      G4VProcess* theeminusIonisation         = new G4LowEnergyIonisation("LowEnergyIoni");
-      G4VProcess* theeminusBremsstrahlung     = new G4LowEnergyBremsstrahlung("LowEnBrem");
-
-      //JEC new debug
-      theeminusMultipleScattering->SetVerboseLevel(2);
-      theeminusIonisation->SetVerboseLevel(2);
-      theeminusBremsstrahlung->SetVerboseLevel(2);
-
-      // add processes
-
-//       pmanager->AddProcess(theeminusMultipleScattering);
-//       pmanager->AddProcess(theeminusIonisation);
-//       pmanager->AddProcess(theeminusBremsstrahlung);
-//       //      
-//       // set ordering for AlongStepDoIt
-//       pmanager->SetProcessOrdering(theeminusMultipleScattering,idxAlongStep,1);
-//       pmanager->SetProcessOrdering(theeminusIonisation,        idxAlongStep,2);
-//       //      pmanager->SetProcessOrdering(theeminusBremsstrahlung,    idxAlongStep,3); //add by JEC 12/2/07
-//                                                                                         //but not in LowEnergy
-
-//       //
-//       // set ordering for PostStepDoIt
-//       pmanager->SetProcessOrdering(theeminusMultipleScattering, idxPostStep,1);
-//       pmanager->SetProcessOrdering(theeminusIonisation,         idxPostStep,2);
-//       pmanager->SetProcessOrdering(theeminusBremsstrahlung,     idxPostStep,3);
-
-      pmanager->AddProcess(theeminusMultipleScattering, -1, 1,1);
-      pmanager->AddProcess(theeminusIonisation,         -1, 2,2);
-      pmanager->AddProcess(theeminusBremsstrahlung,     -1,-1,3);     
- 
-
-    } else if (particleName == "e+") {
-    //positron
-//       G4VProcess* theeplusMultipleScattering = new G4MultipleScattering();
-//       G4VProcess* theeplusIonisation         = new G4eIonisation();
-//       G4VProcess* theeplusBremsstrahlung     = new G4eBremsstrahlung();
-//       G4VProcess* theeplusAnnihilation       = new G4eplusAnnihilation();
-//       //
-//       // add processes
-//       pmanager->AddProcess(theeplusMultipleScattering);
-//       pmanager->AddProcess(theeplusIonisation);
-//       pmanager->AddProcess(theeplusBremsstrahlung);
-//       pmanager->AddProcess(theeplusAnnihilation);
-//       //
-//       // set ordering for AtRestDoIt
-//       pmanager->SetProcessOrderingToFirst(theeplusAnnihilation, idxAtRest);
-//       //
-//       // set ordering for AlongStepDoIt
-//       pmanager->SetProcessOrdering(theeplusMultipleScattering, idxAlongStep,1);
-//       pmanager->SetProcessOrdering(theeplusIonisation,         idxAlongStep,2);
-//       pmanager->SetProcessOrdering(theeplusBremsstrahlung,     idxAlongStep,3);  //add by JEC 12/2/07
-//       //
-//       // set ordering for PostStepDoIt
-//       pmanager->SetProcessOrdering(theeplusMultipleScattering, idxPostStep,1);
-//       pmanager->SetProcessOrdering(theeplusIonisation,         idxPostStep,2);
-//       pmanager->SetProcessOrdering(theeplusBremsstrahlung,     idxPostStep,3);
-//       pmanager->SetProcessOrdering(theeplusAnnihilation,       idxPostStep,4);
-
-      //JEC use MS52 and compactification of the AddProcess
-      pmanager->AddProcess(new G4MultipleScattering52,-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
-      G4VProcess* aMultipleScattering = new G4MultipleScattering();
-      G4VProcess* aBremsstrahlung     = new G4MuBremsstrahlung();
-      G4VProcess* aPairProduction     = new G4MuPairProduction();
-      G4VProcess* anIonisation        = new G4MuIonisation();
-      //
-      // add processes
-      pmanager->AddProcess(anIonisation);
-      pmanager->AddProcess(aMultipleScattering);
-      pmanager->AddProcess(aBremsstrahlung);
-      pmanager->AddProcess(aPairProduction);
-      //
-      // set ordering for AlongStepDoIt
-      pmanager->SetProcessOrdering(aMultipleScattering, idxAlongStep,1);
-      pmanager->SetProcessOrdering(anIonisation,        idxAlongStep,2);
-      pmanager->SetProcessOrdering(aBremsstrahlung,     idxAlongStep,3); //add by JEC 12/2/07
-      pmanager->SetProcessOrdering(aPairProduction,     idxAlongStep,4); //add by JEC 12/2/07
-      //
-      // set ordering for PostStepDoIt
-      pmanager->SetProcessOrdering(aMultipleScattering, idxPostStep,1);
-      pmanager->SetProcessOrdering(anIonisation,        idxPostStep,2);
-      pmanager->SetProcessOrdering(aBremsstrahlung,     idxPostStep,3);
-      pmanager->SetProcessOrdering(aPairProduction,     idxPostStep,4);
-
-      //Decay at rest
-      if (particleName == "mu-")
-        {
-          G4VProcess* aG4MuonMinusCaptureAtRest =
-            new G4MuonMinusCaptureAtRest();
-          pmanager->AddProcess(aG4MuonMinusCaptureAtRest);
-          pmanager->SetProcessOrdering(aG4MuonMinusCaptureAtRest,idxAtRest);
-        }
-
-
-    } else if ((!particle->IsShortLived()) &&
-	       (particle->GetPDGCharge() != 0.0)&&
-               (particle->GetParticleName() != "chargedgeantino")) {
-     G4VProcess* aMultipleScattering = new G4MultipleScattering();
-     G4VProcess* anIonisation        = new G4hIonisation();
-     //
-     // add processes
-     pmanager->AddProcess(anIonisation);
-     pmanager->AddProcess(aMultipleScattering);
-     //
-     // set ordering for AlongStepDoIt
-     pmanager->SetProcessOrdering(aMultipleScattering, idxAlongStep,1);
-     pmanager->SetProcessOrdering(anIonisation,        idxAlongStep,2);
-     //
-     // set ordering for PostStepDoIt
-     pmanager->SetProcessOrdering(aMultipleScattering, idxPostStep,1);
-     pmanager->SetProcessOrdering(anIonisation,        idxPostStep,2);
-    }
-   } 
-
-}//ConstructEM
-
-//-----------------------------------------------------------------------------------------------
-
-#include "G4Cerenkov.hh"
-#include "G4Scintillation.hh"
-#include "G4OpAbsorption.hh"
-#include "G4OpRayleigh.hh"
-#include "G4OpBoundaryProcess.hh"
-
-void ELYSE::PhysicsList::ConstructOp(){
-
-  theCerenkovProcess           = new G4Cerenkov("Cerenkov");
-  theScintillationProcess      = new G4Scintillation("Scintillation");
-  theAbsorptionProcess         = new G4OpAbsorption();
-  theRayleighScatteringProcess = new G4OpRayleigh();
-  theBoundaryProcess           = new G4OpBoundaryProcess();
-
-  /*
-    theCerenkovProcess->DumpPhysicsTable();
-    theScintillationProcess->DumpPhysicsTable();
-    theAbsorptionProcess->DumpPhysicsTable();
-    theRayleighScatteringProcess->DumpPhysicsTable();
-  */
-
-
-
-
-  theCerenkovProcess->SetTrackSecondariesFirst(false); //NV: if "true" generates as many trajectory objs of  
-  theCerenkovProcess->SetMaxNumPhotonsPerStep(300);    //op parents as the # of parents' steps. 
-                                                       //The number of photons may be tuned by the messenger
-
-  //JEC 19/2/07  theScintillationProcess->SetScintillationYieldFactor(1.);
-  theScintillationProcess->SetScintillationYieldFactor(0.);
-  theScintillationProcess->SetTrackSecondariesFirst(false);
-
-  G4OpticalSurfaceModel themodel = unified; //JEC where does it come from?
-  theBoundaryProcess->SetModel(themodel);
-
-  theParticleIterator->reset();
-  while( (*theParticleIterator)() )
-  {
-    G4ParticleDefinition* particle     = theParticleIterator->value();
-    G4ProcessManager*     pmanager     = particle->GetProcessManager();
-    G4String              particleName = particle->GetParticleName();
-
-    if (theCerenkovProcess->IsApplicable(*particle)) {
-      pmanager->AddContinuousProcess(theCerenkovProcess);
-    }
-    
-    if (theScintillationProcess->IsApplicable(*particle)) {
-      pmanager->AddProcess(theScintillationProcess);
-      pmanager->SetProcessOrderingToLast(theScintillationProcess, idxAtRest);
-      pmanager->SetProcessOrderingToLast(theScintillationProcess, idxPostStep);
-    }
-
-    if (particleName == "opticalphoton") {
-      pmanager->AddDiscreteProcess(theAbsorptionProcess);
-      pmanager->AddDiscreteProcess(theRayleighScatteringProcess);
-      pmanager->AddDiscreteProcess(theBoundaryProcess);
-    }
-  }
-}//ConstructOp
-
-//-----------------------------------------------------------------------------------------------
-
-#include "G4Decay.hh"
-
-void ELYSE::PhysicsList::ConstructGeneral() {
-  // Add Decay Process
-  G4Decay* theDecayProcess = new G4Decay();
-  theParticleIterator->reset();
-  while( (*theParticleIterator)() ){
-    G4ParticleDefinition* particle = theParticleIterator->value();
-    G4ProcessManager* pmanager = particle->GetProcessManager();
-    if (theDecayProcess->IsApplicable(*particle)) { 
-      pmanager ->AddProcess(theDecayProcess);
-      // set ordering for PostStepDoIt and AtRestDoIt
-      pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep);
-      pmanager ->SetProcessOrdering(theDecayProcess, idxAtRest);
-    }
-  }
-}//ConstructGeneral
-
-//-----------------------------------------------------------------------------------------------
-
-// Elastic processes:
-#include "G4HadronElasticProcess.hh"
-
-// Inelastic processes:
-#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 "G4DeuteronInelasticProcess.hh"
-#include "G4TritonInelasticProcess.hh"
-#include "G4AlphaInelasticProcess.hh"
-
-// Low-energy Models: < 20GeV
-#include "G4LElastic.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 "G4LEDeuteronInelastic.hh"
-#include "G4LETritonInelastic.hh"
-#include "G4LEAlphaInelastic.hh"
-
-// High-energy Models: >20 GeV
-#include "G4HEPionPlusInelastic.hh"
-#include "G4HEPionMinusInelastic.hh"
-#include "G4HEKaonPlusInelastic.hh"
-#include "G4HEKaonZeroInelastic.hh"
-#include "G4HEKaonZeroInelastic.hh"
-#include "G4HEKaonMinusInelastic.hh"
-#include "G4HEProtonInelastic.hh"
-#include "G4HEAntiProtonInelastic.hh"
-#include "G4HENeutronInelastic.hh"
-#include "G4HEAntiNeutronInelastic.hh"
-
-// Neutron high-precision models: <20 MeV
-#include "G4NeutronHPElastic.hh"
-#include "G4NeutronHPElasticData.hh"
-#include "G4NeutronHPCapture.hh"
-#include "G4NeutronHPCaptureData.hh"
-#include "G4NeutronHPInelastic.hh"
-#include "G4NeutronHPInelasticData.hh"
-#include "G4LCapture.hh"
-
-// Secondary hadronic interaction models
-#include "G4CascadeInterface.hh"
-#include "G4BinaryCascade.hh"
-
-// Stopping processes
-#include "G4PiMinusAbsorptionAtRest.hh"
-#include "G4KaonMinusAbsorptionAtRest.hh"
-#include "G4AntiProtonAnnihilationAtRest.hh"
-#include "G4AntiNeutronAnnihilationAtRest.hh"
-
-void ELYSE::PhysicsList::ConstructHad() {
-
-// This code stolen from:
-// examples/advanced/underground_physics/src/DMXPhysicsList.cc
-// CWW 2/23/05
-//
-  
-  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();
-	  G4LEPionPlusInelastic* theLEInelasticModel = 
-	    new G4LEPionPlusInelastic;
-	  theInelasticProcess->RegisterMe(theLEInelasticModel);
-	  G4HEPionPlusInelastic* theHEInelasticModel = 
-	    new G4HEPionPlusInelastic;
-	  theInelasticProcess->RegisterMe(theHEInelasticModel);
-	  pmanager->AddDiscreteProcess(theInelasticProcess);
-	} 
-
-      else if (particleName == "pi-") 
-	{
-	  pmanager->AddDiscreteProcess(theElasticProcess);
-	  G4PionMinusInelasticProcess* theInelasticProcess = 
-	    new G4PionMinusInelasticProcess();
-	  G4LEPionMinusInelastic* theLEInelasticModel = 
-	    new G4LEPionMinusInelastic;
-	  theInelasticProcess->RegisterMe(theLEInelasticModel);
-	  G4HEPionMinusInelastic* theHEInelasticModel = 
-	    new G4HEPionMinusInelastic;
-	  theInelasticProcess->RegisterMe(theHEInelasticModel);
-	  pmanager->AddDiscreteProcess(theInelasticProcess);
-	  G4String prcNam;
-	  pmanager->AddRestProcess(new G4PiMinusAbsorptionAtRest, ordDefault);
-	}
-      
-      else if (particleName == "kaon+") 
-	{
-	  pmanager->AddDiscreteProcess(theElasticProcess);
-	  G4KaonPlusInelasticProcess* theInelasticProcess = 
-	    new G4KaonPlusInelasticProcess();
-	  G4LEKaonPlusInelastic* theLEInelasticModel = 
-	    new G4LEKaonPlusInelastic;
-	  theInelasticProcess->RegisterMe(theLEInelasticModel);
-	  G4HEKaonPlusInelastic* theHEInelasticModel = 
-	    new G4HEKaonPlusInelastic;
-	  theInelasticProcess->RegisterMe(theHEInelasticModel);
-	  pmanager->AddDiscreteProcess(theInelasticProcess);
-	}
-      
-      else if (particleName == "kaon0S") 
-	{
-	  pmanager->AddDiscreteProcess(theElasticProcess);
-	  G4KaonZeroSInelasticProcess* theInelasticProcess = 
-	    new G4KaonZeroSInelasticProcess();
-	  G4LEKaonZeroSInelastic* theLEInelasticModel = 
-	    new G4LEKaonZeroSInelastic;
-	  theInelasticProcess->RegisterMe(theLEInelasticModel);
-	  G4HEKaonZeroInelastic* theHEInelasticModel = 
-	    new G4HEKaonZeroInelastic;
-	  theInelasticProcess->RegisterMe(theHEInelasticModel);
-	  pmanager->AddDiscreteProcess(theInelasticProcess);
-	}
-
-      else if (particleName == "kaon0L") 
-	{
-	  pmanager->AddDiscreteProcess(theElasticProcess);
-	  G4KaonZeroLInelasticProcess* theInelasticProcess = 
-	    new G4KaonZeroLInelasticProcess();
-	  G4LEKaonZeroLInelastic* theLEInelasticModel = 
-	    new G4LEKaonZeroLInelastic;
-	  theInelasticProcess->RegisterMe(theLEInelasticModel);
-	  G4HEKaonZeroInelastic* theHEInelasticModel = 
-	    new G4HEKaonZeroInelastic;
-	  theInelasticProcess->RegisterMe(theHEInelasticModel);
-	  pmanager->AddDiscreteProcess(theInelasticProcess);
-	}
-
-      else if (particleName == "kaon-") 
-	{
-	  pmanager->AddDiscreteProcess(theElasticProcess);
-	  G4KaonMinusInelasticProcess* theInelasticProcess = 
-	    new G4KaonMinusInelasticProcess();
-	  G4LEKaonMinusInelastic* theLEInelasticModel = 
-	    new G4LEKaonMinusInelastic;
-	  theInelasticProcess->RegisterMe(theLEInelasticModel);
-	  G4HEKaonMinusInelastic* theHEInelasticModel = 
-	    new G4HEKaonMinusInelastic;
-	  theInelasticProcess->RegisterMe(theHEInelasticModel);
-	  pmanager->AddDiscreteProcess(theInelasticProcess);
-	  pmanager->AddRestProcess(new G4KaonMinusAbsorptionAtRest, ordDefault);
-	}
-
-      else if (particleName == "proton") 
-	{
-	  pmanager->AddDiscreteProcess(theElasticProcess);
-	  G4ProtonInelasticProcess* theInelasticProcess = 
-	    new G4ProtonInelasticProcess();
-
-
-	  //JEC 12/2/07 USE ONE SPECIFIC hadronic model... 
-// 	  if (gheishahad) {
-	    G4LEProtonInelastic* theLEInelasticModel = new G4LEProtonInelastic;
-	    theInelasticProcess->RegisterMe(theLEInelasticModel);
-// 	  }
-// 	  else if (bertinihad) {
-// 	    G4CascadeInterface* theBertiniModel = new G4CascadeInterface;
-// 	    theInelasticProcess->RegisterMe(theBertiniModel);
-// 	  }
-// 	  else if (binaryhad) {
-// 	    G4BinaryCascade* theBinaryModel = new G4BinaryCascade();
-// 	    theInelasticProcess->RegisterMe(theBinaryModel);
-// 	  }
-// 	  else {
-// 	    G4cout << "No secondary interaction model chosen! Using G4 BINARY." << G4endl;
-// 	    G4BinaryCascade* theBinaryModel = new G4BinaryCascade();
-// 	    theInelasticProcess->RegisterMe(theBinaryModel);
-// 	  }
-
-	  G4HEProtonInelastic* theHEInelasticModel = new G4HEProtonInelastic;
-	  theInelasticProcess->RegisterMe(theHEInelasticModel);
-	  pmanager->AddDiscreteProcess(theInelasticProcess);
-	}
-
-      else if (particleName == "anti_proton") 
-	{
-	  pmanager->AddDiscreteProcess(theElasticProcess);
-	  G4AntiProtonInelasticProcess* theInelasticProcess = 
-	    new G4AntiProtonInelasticProcess();
-	  G4LEAntiProtonInelastic* theLEInelasticModel = 
-	    new G4LEAntiProtonInelastic;
-	  theInelasticProcess->RegisterMe(theLEInelasticModel);
-	  G4HEAntiProtonInelastic* theHEInelasticModel = 
-	    new G4HEAntiProtonInelastic;
-	  theInelasticProcess->RegisterMe(theHEInelasticModel);
-	  pmanager->AddDiscreteProcess(theInelasticProcess);
-	}
-
-      else if (particleName == "neutron") 
-	{
-	  // elastic scattering
-	  G4HadronElasticProcess* theNeutronElasticProcess = 
-	    new G4HadronElasticProcess;
-	  G4LElastic* theElasticModel1 = new G4LElastic;
-	  G4NeutronHPElastic * theElasticNeutron = new G4NeutronHPElastic;
-	  theNeutronElasticProcess->RegisterMe(theElasticModel1);
-	  theElasticModel1->SetMinEnergy(19*MeV);
-	  theNeutronElasticProcess->RegisterMe(theElasticNeutron);
-	  G4NeutronHPElasticData * theNeutronData = new G4NeutronHPElasticData;
-	  theNeutronElasticProcess->AddDataSet(theNeutronData);
-	  pmanager->AddDiscreteProcess(theNeutronElasticProcess);
-	  
-	  // inelastic scattering
-	  G4NeutronInelasticProcess* theInelasticProcess =
-	    new G4NeutronInelasticProcess();
-	  
-	  //JEC 12/2/07 USE ONE SPECIFIC hadronic model... 
-// 	  if (gheishahad) {
-	    G4LENeutronInelastic* theInelasticModel = new G4LENeutronInelastic;
-	    theInelasticModel->SetMinEnergy(19*MeV);
-	    theInelasticProcess->RegisterMe(theInelasticModel);
-// 	  }
-// 	  else if (bertinihad) {
-// 	    G4CascadeInterface* theBertiniModel = new G4CascadeInterface;
-// 	    theBertiniModel->SetMinEnergy(19*MeV);
-// 	    theInelasticProcess->RegisterMe(theBertiniModel);
-// 	  }
-// 	  else if (binaryhad) {
-// 	    G4BinaryCascade* theBinaryModel = new G4BinaryCascade();
-// 	    theBinaryModel->SetMinEnergy(19*MeV);
-// 	    theInelasticProcess->RegisterMe(theBinaryModel);
-// 	  }
-// 	  else {
-// 	    G4cout << "No secondary interaction model chosen! Using G4 BINARY." << G4endl;
-// 	    G4BinaryCascade* theBinaryModel = new G4BinaryCascade();
-// 	    theBinaryModel->SetMinEnergy(19*MeV);
-// 	    theInelasticProcess->RegisterMe(theBinaryModel);
-// 	  }
-	  
-	  G4HENeutronInelastic* theHEInelasticModel = new G4HENeutronInelastic;
-	  theInelasticProcess->RegisterMe(theHEInelasticModel);
-	  
-	  G4NeutronHPInelastic * theLENeutronInelasticModel =
-	    new G4NeutronHPInelastic;
-	  theInelasticProcess->RegisterMe(theLENeutronInelasticModel);
-	  
-	  G4NeutronHPInelasticData * theNeutronData1 = 
-	    new G4NeutronHPInelasticData;
-	  theInelasticProcess->AddDataSet(theNeutronData1);
-	  pmanager->AddDiscreteProcess(theInelasticProcess);
-
-	  // capture
-	  G4HadronCaptureProcess* theCaptureProcess =
-	    new G4HadronCaptureProcess;
-	  G4LCapture* theCaptureModel = new G4LCapture;
-	  theCaptureModel->SetMinEnergy(19*MeV);
-	  theCaptureProcess->RegisterMe(theCaptureModel);
-	  G4NeutronHPCapture * theLENeutronCaptureModel = new G4NeutronHPCapture;
-	  theCaptureProcess->RegisterMe(theLENeutronCaptureModel);
-	  G4NeutronHPCaptureData * theNeutronData3 = new G4NeutronHPCaptureData;
-	  theCaptureProcess->AddDataSet(theNeutronData3);
-	  pmanager->AddDiscreteProcess(theCaptureProcess);
-	  //  G4ProcessManager* pmanager = G4Neutron::Neutron->GetProcessManager();
-	  //  pmanager->AddProcess(new G4UserSpecialCuts(),-1,-1,1);
-	}
-
-      else if (particleName == "anti_neutron") 
-	{
-	  pmanager->AddDiscreteProcess(theElasticProcess);
-	  G4AntiNeutronInelasticProcess* theInelasticProcess = 
-	    new G4AntiNeutronInelasticProcess();
-	  G4LEAntiNeutronInelastic* theLEInelasticModel = 
-	    new G4LEAntiNeutronInelastic;
-	  theInelasticProcess->RegisterMe(theLEInelasticModel);
-	  G4HEAntiNeutronInelastic* theHEInelasticModel = 
-	    new G4HEAntiNeutronInelastic;
-	  theInelasticProcess->RegisterMe(theHEInelasticModel);
-	  pmanager->AddDiscreteProcess(theInelasticProcess);
-	}
-
-      else if (particleName == "deuteron") 
-	{
-	  pmanager->AddDiscreteProcess(theElasticProcess);
-	  G4DeuteronInelasticProcess* theInelasticProcess = 
-	    new G4DeuteronInelasticProcess();
-	  G4LEDeuteronInelastic* theLEInelasticModel = 
-	    new G4LEDeuteronInelastic;
-	  theInelasticProcess->RegisterMe(theLEInelasticModel);
-	  pmanager->AddDiscreteProcess(theInelasticProcess);
-	}
-      
-      else if (particleName == "triton") 
-	{
-	  pmanager->AddDiscreteProcess(theElasticProcess);
-	  G4TritonInelasticProcess* theInelasticProcess = 
-	    new G4TritonInelasticProcess();
-	  G4LETritonInelastic* theLEInelasticModel = 
-	    new G4LETritonInelastic;
-	  theInelasticProcess->RegisterMe(theLEInelasticModel);
-	  pmanager->AddDiscreteProcess(theInelasticProcess);
-	}
-
-      else if (particleName == "alpha") 
-	{
-	  pmanager->AddDiscreteProcess(theElasticProcess);
-	  G4AlphaInelasticProcess* theInelasticProcess = 
-	    new G4AlphaInelasticProcess();
-	  G4LEAlphaInelastic* theLEInelasticModel = 
-	    new G4LEAlphaInelastic;
-	  theInelasticProcess->RegisterMe(theLEInelasticModel);
-	  pmanager->AddDiscreteProcess(theInelasticProcess);
-	}
-
-    }
-}//ConstructHad
-
-//-----------------------------------------------------------------------------------------------
-
-void ELYSE::PhysicsList::SetCuts() {
-  if (verboseLevel >0){
-    G4cout << "PhysicsList::SetCuts:";
-    G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << 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(defaultCutValue, "gamma");
-  SetCutValue(defaultCutValue, "e-");
-  SetCutValue(defaultCutValue, "e+");
-
-  if (verboseLevel>0) DumpCutValuesTable();
-}//SetCuts
-
-
-//-------------------------------------------------------------------
-void ELYSE::PhysicsList::SetVerbose(G4int verbose)
-{
-  theCerenkovProcess->SetVerboseLevel(verbose);
-  theScintillationProcess->SetVerboseLevel(verbose);
-  theAbsorptionProcess->SetVerboseLevel(verbose);
-  theRayleighScatteringProcess->SetVerboseLevel(verbose);
-  theBoundaryProcess->SetVerboseLevel(verbose);  
-
-
-}//SetVerbose
-//-------------------------------------------------------------------
-
-//-------------------------------------------------------------------
-void ELYSE::PhysicsList::SetNbOfPhotonsCerenkov(G4int MaxNumber)
-{  
-  theCerenkovProcess->SetMaxNumPhotonsPerStep(MaxNumber);
-}//SetNbOfPhotonsCerenkov
-//-------------------------------------------------------------------
Index: YSE/HEAD/source/PhysicsMessenger.cxx.sav
===================================================================
--- /ELYSE/HEAD/source/PhysicsMessenger.cxx.sav	(revision 289)
+++ 	(revision )
@@ -1,59 +1,0 @@
-#include "ELYSE/PhysicsMessenger.hh"
-
-//Geant4
-#include "G4UIdirectory.hh"
-#include "G4ios.hh"
-#include "globals.hh"
-#include "G4UIcmdWithAString.hh"
-#include "G4UIcmdWithAnInteger.hh" 
-
-//ELYSE
-#include "ELYSE/PhysicsList.hh"
-
-
-ELYSE::PhysicsMessenger::PhysicsMessenger(ELYSE::PhysicsList* ELYSEPhys)
-:ELYSEPhysics(ELYSEPhys) {
-  
-  ELYSEDir = new G4UIdirectory("/ELYSE/");
-  ELYSEDir->SetGuidance("UI commands of this example");
-  
-  physDir = new G4UIdirectory("/ELYSE/phys/");
-  physDir->SetGuidance("PhysicsList control");
- 
-  verboseCmd = new G4UIcmdWithAnInteger("/ELYSE/phys/verbose",this);  
-  verboseCmd->SetGuidance("set verbose for physics processes");
-  verboseCmd->SetParameterName("verbose",true);
-  verboseCmd->SetDefaultValue(1);
-  verboseCmd->SetRange("verbose>=0");
-  verboseCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
-  
-  cerenkovCmd = new G4UIcmdWithAnInteger("/ELYSE/phys/cerenkovMaxPhotons",this);  
-  cerenkovCmd->SetGuidance("set max nb of photons per step");
-  cerenkovCmd->SetParameterName("MaxNumber",false);
-  cerenkovCmd->SetRange("MaxNumber>=0");
-  cerenkovCmd->AvailableForStates(G4State_Idle);  
-
-}//Ctor
-
-//---------------------------------------------------------------------------------
-
-ELYSE::PhysicsMessenger::~PhysicsMessenger() {
-  delete verboseCmd;
-  delete cerenkovCmd;
-  delete physDir;
-  delete ELYSEDir;
-}//Dtor
-
-//---------------------------------------------------------------------------------
-
-void ELYSE::PhysicsMessenger::SetNewValue(G4UIcommand* command, G4String newValue) {
-
-  if( command == verboseCmd ) { 
-   ELYSEPhysics->SetVerbose(verboseCmd->GetNewIntValue(newValue));
-  }
-   
-  if( command == cerenkovCmd ) {
-   ELYSEPhysics->SetNbOfPhotonsCerenkov(cerenkovCmd->GetNewIntValue(newValue));
-  }
-
-}//SetNewValue
