simhadteam team mailing list archive
-
simhadteam team
-
Mailing list archive
-
Message #00011
[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()