← Back to team overview

simhadteam team mailing list archive

[Branch ~simhadteam/simulationshadrontherapie/G4LPC] Rev 11: Mise a jour des sources pour qu'ils fonctionnent avec la version 4.9.5 de

 

------------------------------------------------------------
revno: 11
committer: Daniel Cussol <cussol@xxxxxxxx>
branch nick: G4LPC
timestamp: Thu 2012-04-05 15:32:08 +0200
message:
  Mise a jour des sources pour qu'ils fonctionnent avec la version 4.9.5 de
  GEANT4.
modified:
  GNUmakefile
  src/G4LPCDetectorConstruction.cc
  src/G4LPCEventAction.cc
  src/G4LPCPhysicsList.cc
  src/G4LPCRunAction.cc


--
lp:simulationshadrontherapie/g4lpc
https://code.launchpad.net/~simhadteam/simulationshadrontherapie/G4LPC

Your team Simulateurs pour la Hadronthérapie is subscribed to branch lp:simulationshadrontherapie/g4lpc.
To unsubscribe from this branch go to https://code.launchpad.net/~simhadteam/simulationshadrontherapie/G4LPC/+edit-subscription
=== modified file 'GNUmakefile'
--- GNUmakefile	2009-10-27 16:31:47 +0000
+++ GNUmakefile	2012-04-05 13:32:08 +0000
@@ -1,4 +1,4 @@
-# $Id: GNUmakefile,v 1.2 2007/02/20 13:59:21 cussol Exp $
+## $Id: GNUmakefile,v 1.2 2007/02/20 13:59:21 cussol Exp $
 # --------------------------------------------------------------
 # GNUmakefile for examples module.  Gabriele Cosmo, 06/04/98.
 # --------------------------------------------------------------
@@ -20,7 +20,10 @@
  LDFLAGS += -bind_at_load
 endif
 
+CPPFLAGS += -DG4_9_5 
 CPPFLAGS += -I$(shell root-config --incdir)
 
 #LDFLAGS += -pg
+#LDFLAGS += -m  elf_x86_64 $(shell root-config --libs) -lMinuit
 LDFLAGS += $(shell root-config --libs) -lMinuit
+#LDFLAGS += -L/scratch/cussol/xerces/lib -lxerces-c

=== modified file 'src/G4LPCDetectorConstruction.cc'
--- src/G4LPCDetectorConstruction.cc	2010-04-30 12:50:38 +0000
+++ src/G4LPCDetectorConstruction.cc	2012-04-05 13:32:08 +0000
@@ -160,7 +160,7 @@
  Air->AddElement(O, fractionmass=30*perCent);
 
 
-// PMMA
+// PMMA (C5O2H8)
  G4Material* PMMA = new G4Material("PMMA", density= 1.19*g/cm3, ncomponents=3);
  PMMA->AddElement(H, 8.0538*perCent);
  PMMA->AddElement(C, 59.9848*perCent);
@@ -1696,41 +1696,42 @@
   RAdeK_2->AddElement(K, fractionmass=0.396*perCent);    
     
     
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
        //------ Quelques impressions sur les mat�aux
 
-  G4NistManager* man = G4NistManager::Instance();
-  G4Material* H2O = man->FindOrBuildMaterial("G4_WATER");
-  G4Material* G4_Air = man->FindOrBuildMaterial("G4_AIR");
+  //G4NistManager* man = G4NistManager::Instance();
+  //G4Material* H2O = man->FindOrBuildMaterial("G4_WATER");
+  //G4Material* G4_Air = man->FindOrBuildMaterial("G4_AIR");
 
   G4Material* Vide = 
        new G4Material("VideGalactique", z=1., a=1.01*g/mole,
                       density= universe_mean_density,
                       kStateGas, 2.73*kelvin, 3.e-18*pascal);
-
-//   G4cout << "\nListe des materiaux" << "\n";
-//   G4cout << *(G4Material::GetMaterialTable());
-//    G4cout << "\nListe des materiaux NIST" << "\n";
-//    man->ListMaterials("all");
+  
+   ofstream out("MaterialList.txt");
+  
+   out << "\n-----> Liste des materiaux <-----" << "\n";
+   const G4MaterialTable *matTable=G4Material::GetMaterialTable();
+   for(G4int i=0;i<G4Material::GetNumberOfMaterials();i++)
+    {
+    G4Material *mat=(*matTable)[i];
+    out << (*mat) << G4endl;
+    out << "   Nb Atoms/cm^3: " << mat->GetTotNbOfAtomsPerVolume()*cm3 << G4endl;
+    out << G4endl;
+    }
+    
+//    out << "\n-----> Liste des materiaux NIST <-----" << "\n";
+//    vector<G4String> nistNames=man->GetNistMaterialNames();
+//    for(G4int i=0;i<nistNames.size();i++)
+//     {
+//     G4Material *mat=man->FindOrBuildMaterial(nistNames[i]);
+//     out << (*mat) << G4endl;
+//     out << "   Nb Atoms/cm^3: " << mat->GetTotNbOfAtomsPerVolume()*cm3 << G4endl;
+//     out << G4endl;
+//     //man->PrintG4Material(nistNames[i]);
+//     }
+  //out << "Liste de tous les materiaux NIST : " << G4endl;
+  //man->ListMaterials("all");
+  out.close();
 
 }
 
@@ -1899,11 +1900,11 @@
 if(IndexInRange(i))
  {
  G4Material *m= G4Material::GetMaterial(s);
- if(!m)
-  {
-  G4NistManager* man = G4NistManager::Instance();
-  m=man->FindOrBuildMaterial(s,false);
-  }
+//  if(!m)
+//   {
+//   G4NistManager* man = G4NistManager::Instance();
+//   m=man->FindOrBuildMaterial(s,false);
+//   }
  if(m)
   {
   SetLayerMaterial(i,m);
@@ -2042,8 +2043,9 @@
  cout << "No material defined. 0 returned" << endl;
  return 0;
  }
-G4NistManager* man = G4NistManager::Instance();
-G4Material* H2O = man->FindOrBuildMaterial("G4_WATER");
+//G4NistManager* man = G4NistManager::Instance();
+//G4Material* H2O = man->FindOrBuildMaterial("G4_WATER");
+G4Material* H2O = G4Material::GetMaterial("Eau");
 G4double muH2O=0;
 G4int nbElem=H2O->GetNumberOfElements();
 G4double* wH2O=(G4double *)H2O->GetFractionVector();

=== modified file 'src/G4LPCEventAction.cc'
--- src/G4LPCEventAction.cc	2009-10-21 09:27:24 +0000
+++ src/G4LPCEventAction.cc	2012-04-05 13:32:08 +0000
@@ -141,10 +141,10 @@
   if(!(event_id%100))
    {
    char mes[256];
-   sprintf(mes,"Evenement %d en cours de traitement ",event_id);
-   int l=strlen(mes);
+   sprintf(mes,"Evenement %d en cours de traitement             \r",event_id);
    cout << mes;cout.flush();
-   for(int i=0;i<l;i++) cout << "\b";
+   //int l=strlen(mes);
+   //for(int i=0;i<l;i++) cout << "\b";
    }
   if(!batch)
    {

=== modified file 'src/G4LPCPhysicsList.cc'
--- src/G4LPCPhysicsList.cc	2010-04-08 11:30:31 +0000
+++ src/G4LPCPhysicsList.cc	2012-04-05 13:32:08 +0000
@@ -214,7 +214,13 @@
 #include "G4GammaConversion.hh"
 #include "G4PhotoElectricEffect.hh"
 
+#ifdef G4_9_5
+#include "G4eMultipleScattering.hh"
+#include "G4MuMultipleScattering.hh"
+#include "G4hMultipleScattering.hh"
+#else
 #include "G4MultipleScattering.hh"
+#endif
 
 #include "G4eIonisation.hh"
 #include "G4eBremsstrahlung.hh"
@@ -254,14 +260,22 @@
     } else if (particleName == "e-") {
       //electron
       //G4cout << "Adding processes for e-. " << G4endl;
+#ifdef G4_9_5
+      pmanager->AddProcess(new G4eMultipleScattering,-1, 1,1);
+#else
       pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
+#endif
       pmanager->AddProcess(new G4eIonisation,       -1, 2,2);
       pmanager->AddProcess(new G4eBremsstrahlung,   -1, 3,3);      
 
     } else if (particleName == "e+") {
       //positron
       //G4cout << "Adding processes for e+. " << G4endl;
+#ifdef G4_9_5
+      pmanager->AddProcess(new G4eMultipleScattering,-1, 1,1);
+#else
       pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
+#endif
       pmanager->AddProcess(new G4eIonisation,       -1, 2,2);
       pmanager->AddProcess(new G4eBremsstrahlung,   -1, 3,3);
       pmanager->AddProcess(new G4eplusAnnihilation,  0,-1,4);
@@ -270,7 +284,11 @@
                particleName == "mu-"    ) {
       //muon  
       //G4cout << "Adding processes for muons. " << G4endl;
+#ifdef G4_9_5
+      pmanager->AddProcess(new G4MuMultipleScattering,-1, 1,1);
+#else
       pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
+#endif
       pmanager->AddProcess(new G4MuIonisation,      -1, 2,2);
       pmanager->AddProcess(new G4MuBremsstrahlung,  -1, 3,3);
       pmanager->AddProcess(new G4MuPairProduction,  -1, 4,4);       
@@ -278,7 +296,11 @@
     } else if( particleName == "GenericIon" ) {
       //Generic Ion  
       //G4cout << "Adding processes for " << particleName << ". " << G4endl;
+#ifdef G4_9_5
+      pmanager->AddProcess(new G4hMultipleScattering,-1, 1,1);
+#else
       pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
+#endif
       pmanager->AddProcess(new G4ionIonisation,     -1, 2,2);
       pmanager->AddProcess(new G4StepLimiter,       -1,-1,3);         
      
@@ -287,7 +309,11 @@
 	       (particle->GetParticleName() != "chargedgeantino")) {
       //all others charged particles except geantino
       //G4cout << "Adding processes for " <<particleName << ". " << G4endl;
+#ifdef G4_9_5
+      pmanager->AddProcess(new G4hMultipleScattering,-1, 1,1);
+#else
       pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
+#endif
       pmanager->AddProcess(new G4hIonisation,       -1, 2,2);
       //step limit
       pmanager->AddProcess(new G4StepLimiter,       -1,-1,3);         

=== modified file 'src/G4LPCRunAction.cc'
--- src/G4LPCRunAction.cc	2010-04-30 12:50:38 +0000
+++ src/G4LPCRunAction.cc	2012-04-05 13:32:08 +0000
@@ -80,7 +80,9 @@
    {
    G4Material *mat=det->GetLayerMaterial(i);
    cout << "--> Couche " << i << " <-- "  << endl; 
-   cout << "  Materiau  : " << mat->GetName() << endl;
+   cout << "  Materiau  : " << mat->GetName() << " (" <<
+   mat->GetChemicalFormula() << ")" << endl;
+   cout << "  Densite   : " << mat->GetDensity()/(g/cm3) << " g/cm3" << endl;
    cout << "  Ionisation: " << mat->GetIonisation()
                                 ->GetMeanExcitationEnergy()/eV << " eV / " 
                             << mat->GetIonisation()