Import Geant4 5.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 10:15:15 +02:00
parent 37fff30d2e
commit fbd4999cf7
4396 changed files with 56662 additions and 52446 deletions
@@ -1,4 +1,4 @@
$Id: History,v 1.24 2002/12/11 17:12:20 maire Exp $
$Id: History,v 1.28 2003/03/26 16:23:15 maire Exp $
-------------------------------------------------------------------
=========================================================
@@ -15,6 +15,19 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
26-03-03 mma (testem2-V05-00-03)
- G4PVPlacement and G4PVReplica in logical mother
17-03-03 V.Ivanchenko (testem2-V05-00-02)
- Addition to migration to cut per region
- Update modular structure of PhysicsList
14-02-03 V.Ivanchenko (testem2-V05-00-01)
- Migration to cut per region
12-02-03 mma (testem2-V05-00-00)
- add a blank in SteppingVerbose
11-12-02 mma (testem2-V04-01-03)
- Migration to AIDA 3.0.
@@ -22,7 +22,7 @@
//
//
// $Id: TestEm2.cc,v 1.6 2001/10/25 15:12:05 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,4 +1,4 @@
# $Id: TestEm2.in,v 1.7 2002/10/31 13:58:29 maire Exp $
# $Id: TestEm2.in,v 1.8 2003/02/14 14:21:27 vnivanch Exp $
#
# Macro file for "TestEm2.cc"
# (can be run in batch, without graphic)
@@ -17,12 +17,12 @@
/testem/phys/addPhysics standard
#
/testem/phys/setCuts 5.0 mm
/run/initialize
#
/testem/det/setMat Water
/testem/det/setLbin 9 1.11
/testem/det/setRbin 6 0.111
/testem/det/update
/run/initialize
#/testem/det/update
#
/testem/event/printModulo 20
#
@@ -9,6 +9,7 @@
#
/control/verbose 2
/run/verbose 1
/tracking/verbose 0
#
# select EM PhysicsList
#
@@ -16,12 +17,12 @@
#/testem/phys/addPhysics standard
#
/testem/phys/setCuts 5.0 mm
/run/initialize
#
/testem/det/setMat Water
/testem/det/setLbin 9 1.11
/testem/det/setRbin 6 0.111
/testem/det/update
/run/initialize
#/testem/det/update
#
/testem/event/printModulo 20
#
@@ -1,35 +1,8 @@
**********************************************
Geant4 version $Name: geant4-05-00 $
(31-Jul-2002)
Geant4 version $Name: geant4-05-01 $
(13-Dec-2002)
Copyright : Geant4 Collaboration
**********************************************
Visualization Manager instantiating...
Visualization Manager initialising...
Registering graphics systems...
You have successfully chosen to use the following graphics systems.
Current available graphics systems are:
ASCIITree (ATree)
DAWNFILE (DAWNFILE)
GAGTree (GAGTree)
G4HepRepFile (HepRepFile)
RayTracer (RayTracer)
VRML1FILE (VRML1FILE)
VRML2FILE (VRML2FILE)
FukuiRenderer (DAWN)
OpenGLImmediateX (OGLIX)
OpenGLStoredX (OGLSX)
VRML1 (VRML1)
VRML2 (VRML2)
/run/verbose 1
#
# select EM PhysicsList
#
/testem/phys/addPhysics model
#/testem/phys/addPhysics standard
#
/testem/phys/setCuts 5.0 mm
/run/initialize
***** Table : Nb of materials = 9 *****
@@ -67,11 +40,91 @@ Current available graphics systems are:
---> Element: LeadPb Z = 82.0 N = 207.2 A = 207.19 g/mole fractionMass: 100.00 % Abundance 100.00 %
Absorber is 17.848 cm of PbWO4
Visualization Manager instantiating...
Visualization Manager initialising...
Registering graphics systems...
You have successfully chosen to use the following graphics systems.
Current available graphics systems are:
ASCIITree (ATree)
DAWNFILE (DAWNFILE)
GAGTree (GAGTree)
G4HepRepFile (HepRepFile)
G4HepRep (HepRepXML)
RayTracer (RayTracer)
VRML1FILE (VRML1FILE)
VRML2FILE (VRML2FILE)
/run/verbose 1
/tracking/verbose 0
#
# select EM PhysicsList
#
/testem/phys/addPhysics model
#/testem/phys/addPhysics standard
#
/testem/phys/setCuts 5.0 mm
#
/testem/det/setMat Water
/testem/det/setLbin 9 1.11
/testem/det/setRbin 6 0.111
/run/initialize
Absorber is 3.60564 m of Water
phot: Total cross sections from Sandia parametrisation.
Em2PhysicsList::SetCuts:CutLength : 1 mm
========= Table of registered couples ==============================
Index : 0 used in the geometry : No recalculation needed : Yes
Material : Air
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : is not ready to print
Index : 1 used in the geometry : Yes recalculation needed : Yes
Material : Water
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : is not ready to print
Region(s) which use this couple :
DefaultRegionForTheWorld
Index : 2 used in the geometry : No recalculation needed : Yes
Material : lAr
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : is not ready to print
Index : 3 used in the geometry : No recalculation needed : Yes
Material : Al
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : is not ready to print
Index : 4 used in the geometry : No recalculation needed : Yes
Material : Fe
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : is not ready to print
Index : 5 used in the geometry : No recalculation needed : Yes
Material : BGO
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : is not ready to print
Index : 6 used in the geometry : No recalculation needed : Yes
Material : PbWO4
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : is not ready to print
Index : 7 used in the geometry : No recalculation needed : Yes
Material : Tungsten
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : is not ready to print
Index : 8 used in the geometry : No recalculation needed : Yes
Material : Lead
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : is not ready to print
====================================================================
compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV.
Scattered gamma energy according Klein-Nishina.
PhysicsTables from 1 keV to 100 GeV in 80 bins.
@@ -129,7 +182,7 @@ msc: Tables of transport mean free paths.
muIoni:
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Bether-Bloch model for Escaled > 2 MeV, parametrisation of Bragg peak below.
Bether-Bloch model for E > 0.2 MeV parametrisation of Bragg peak below.
MuBrems:
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
@@ -144,7 +197,7 @@ MuPairProd:
muIoni:
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Bether-Bloch model for Escaled > 2 MeV, parametrisation of Bragg peak below.
Bether-Bloch model for E > 0.2 MeV parametrisation of Bragg peak below.
MuBrems:
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
@@ -155,41 +208,87 @@ MuPairProd:
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Parametrised model
============= The cut Energy ==============================
gamma e-
Cut in range
Air 5 mm 5 mm
Water 5 mm 5 mm
lAr 5 mm 5 mm
Al 5 mm 5 mm
Fe 5 mm 5 mm
BGO 5 mm 5 mm
PbWO4 5 mm 5 mm
Tungsten 5 mm 5 mm
Lead 5 mm 5 mm
Cut in energy
Air 990 eV 3.24 keV
Water 5.78 keV 1.16 MeV
lAr 13.6 keV 1.16 MeV
Al 14.6 keV 2.31 MeV
Fe 46.4 keV 6.11 MeV
BGO 126 keV 4.72 MeV
PbWO4 137 keV 5.34 MeV
Tungsten 241 keV 13 MeV
Lead 204 keV 6.83 MeV
===================================================
#
/testem/det/setMat Water
/testem/det/setLbin 9 1.11
/testem/det/setRbin 6 0.111
/testem/det/update
Absorber is 3.60564 m of Water
======== Table of production thresholds in range and energy ===========
-----------------------------------------------------------------------
Region : DefaultRegionForTheWorld
-----------------------------------------------------------------------
gamma e- e+
Threshold in range 5 mm 5 mm 5 mm
Water 5.78 keV 1.16 MeV 1.1 MeV
=======================================================================
#/testem/det/update
#
/testem/event/printModulo 20
#
/gun/particle e-
/gun/energy 1 GeV
/run/beamOn 100
========= Table of registered couples ==============================
Index : 0 used in the geometry : No recalculation needed : No
Material : Air
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : gamma 990 eV e- 3.2397 keV e+ 3.20006 keV
Index : 1 used in the geometry : Yes recalculation needed : No
Material : Water
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : gamma 5.78478 keV e- 1.15997 MeV e+ 1.10423 MeV
Region(s) which use this couple :
DefaultRegionForTheWorld
Index : 2 used in the geometry : No recalculation needed : No
Material : lAr
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : gamma 13.5776 keV e- 1.15997 MeV e+ 1.10423 MeV
Index : 3 used in the geometry : No recalculation needed : No
Material : Al
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : gamma 14.6203 keV e- 2.31122 MeV e+ 2.14666 MeV
Index : 4 used in the geometry : No recalculation needed : No
Material : Fe
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : gamma 46.4433 keV e- 6.11229 MeV e+ 5.74741 MeV
Index : 5 used in the geometry : No recalculation needed : No
Material : BGO
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : gamma 125.956 keV e- 4.71987 MeV e+ 4.38381 MeV
Index : 6 used in the geometry : No recalculation needed : No
Material : PbWO4
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : gamma 137.419 keV e- 5.33819 MeV e+ 4.9581 MeV
Index : 7 used in the geometry : No recalculation needed : No
Material : Tungsten
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : gamma 241.105 keV e- 12.9518 MeV e+ 12.0297 MeV
Index : 8 used in the geometry : No recalculation needed : No
Material : Lead
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : gamma 204.169 keV e- 6.82843 MeV e+ 6.34224 MeV
====================================================================
======== Table of production thresholds in range and energy ===========
-----------------------------------------------------------------------
Region : DefaultRegionForTheWorld
-----------------------------------------------------------------------
gamma e- e+
Threshold in range 5 mm 5 mm 5 mm
Water 5.78 keV 1.16 MeV 1.1 MeV
=======================================================================
### Run 0 start.
--------- Ranecu engine status ---------
@@ -210,20 +309,20 @@ Start Run processing.
Run terminated.
Run Summary
Number of events processed : 100
User=5.87s Real=6.23s Sys=0.26s
User=5.34s Real=5.37s Sys=0.02s
LATERAL PROFILE CUMULATIVE LATERAL PROFILE
bin Mean rms bin Mean rms
0.00-> 1.11 radl: 12.58% 5.30% 0-> 1.11 radl: 12.58% 5.30%
1.11-> 2.22 radl: 23.85% 9.95% 0-> 2.22 radl: 36.43% 13.16%
2.22-> 3.33 radl: 22.18% 9.52% 0-> 3.33 radl: 58.61% 16.17%
3.33-> 4.44 radl: 14.36% 7.89% 0-> 4.44 radl: 72.97% 15.41%
4.44-> 5.55 radl: 9.35% 6.69% 0-> 5.55 radl: 82.32% 13.50%
5.55-> 6.66 radl: 5.51% 5.48% 0-> 6.66 radl: 87.83% 11.97%
6.66-> 7.77 radl: 2.54% 3.20% 0-> 7.77 radl: 90.37% 10.44%
7.77-> 8.88 radl: 1.80% 3.49% 0-> 8.88 radl: 92.17% 8.50%
8.88-> 9.99 radl: 1.03% 2.39% 0-> 9.99 radl: 93.20% 7.61%
0.00-> 1.11 radl: 14.12% 5.47% 0-> 1.11 radl: 14.12% 5.47%
1.11-> 2.22 radl: 25.22% 10.29% 0-> 2.22 radl: 39.34% 12.63%
2.22-> 3.33 radl: 21.45% 9.35% 0-> 3.33 radl: 60.78% 14.02%
3.33-> 4.44 radl: 14.66% 7.61% 0-> 4.44 radl: 75.44% 13.94%
4.44-> 5.55 radl: 9.02% 5.76% 0-> 5.55 radl: 84.47% 12.04%
5.55-> 6.66 radl: 5.67% 6.05% 0-> 6.66 radl: 90.14% 7.83%
6.66-> 7.77 radl: 2.98% 4.29% 0-> 7.77 radl: 93.12% 5.18%
7.77-> 8.88 radl: 1.23% 2.37% 0-> 8.88 radl: 94.35% 4.33%
8.88-> 9.99 radl: 0.63% 1.55% 0-> 9.99 radl: 94.98% 3.90%
@@ -231,21 +330,21 @@ Run Summary
bin Mean rms bin Mean rms
0.00-> 0.11 radl: 66.31% 10.78% 0-> 0.11 radl: 66.31% 10.78%
0.11-> 0.22 radl: 15.55% 6.57% 0-> 0.22 radl: 81.86% 8.33%
0.22-> 0.33 radl: 5.83% 3.71% 0-> 0.33 radl: 87.69% 7.76%
0.33-> 0.44 radl: 2.63% 1.84% 0-> 0.44 radl: 90.32% 7.69%
0.44-> 0.56 radl: 1.82% 1.38% 0-> 0.56 radl: 92.14% 7.58%
0.56-> 0.67 radl: 1.06% 1.04% 0-> 0.67 radl: 93.20% 7.61%
0.00-> 0.11 radl: 70.14% 7.35% 0-> 0.11 radl: 70.14% 7.35%
0.11-> 0.22 radl: 14.15% 5.09% 0-> 0.22 radl: 84.28% 6.21%
0.22-> 0.33 radl: 5.21% 3.02% 0-> 0.33 radl: 89.50% 5.24%
0.33-> 0.44 radl: 2.83% 2.05% 0-> 0.44 radl: 92.32% 4.50%
0.44-> 0.56 radl: 1.63% 1.66% 0-> 0.56 radl: 93.95% 3.98%
0.56-> 0.67 radl: 1.02% 1.01% 0-> 0.67 radl: 94.98% 3.90%
SUMMARY
energy deposit : 93.20 % E0 +- 7.61 % E0
charged traklen: 13.45 radl +- 1.10 radl
neutral traklen: 204.04 radl +- 24.43 radl
energy deposit : 94.98 % E0 +- 3.90 % E0
charged traklen: 13.76 radl +- 0.58 radl
neutral traklen: 199.64 radl +- 19.43 radl
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 134990405, 73697489
Current couple of seeds = 603014974, 1128376559
----------------------------------------
Graphics systems deleted.
Visualization Manager deleting...
@@ -1,31 +1,9 @@
**********************************************
Geant4 version $Name: geant4-05-00 $
(13-Dec-2002)
Geant4 version $Name: geant4-05-01 $
(30-Apr-2003)
Copyright : Geant4 Collaboration
**********************************************
Visualization Manager instantiating...
Visualization Manager initialising...
Registering graphics systems...
You have successfully chosen to use the following graphics systems.
Current available graphics systems are:
ASCIITree (ATree)
DAWNFILE (DAWNFILE)
GAGTree (GAGTree)
G4HepRepFile (HepRepFile)
G4HepRep (HepRepXML)
RayTracer (RayTracer)
VRML1FILE (VRML1FILE)
VRML2FILE (VRML2FILE)
/run/verbose 1
#
# select EM PhysicsList
#
#/testem/phys/addPhysics model
/testem/phys/addPhysics standard
#
/testem/phys/setCuts 5.0 mm
/run/initialize
G4Material: Mean excitation energy is changed for Water Iold= 70.8926eV; Inew= 75 eV;
***** Table : Nb of materials = 9 *****
@@ -33,7 +11,7 @@ Current available graphics systems are:
---> Element: Nitrogen N Z = 7.0 N = 14.0 A = 14.01 g/mole fractionMass: 70.00 % Abundance 72.71 %
---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 30.00 % Abundance 27.29 %
Material: Water density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.092 cm
Material: Water H_2O density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.092 cm
---> Element: Hydrogen H Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 11.21 % Abundance 66.67 %
---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 88.79 % Abundance 33.33 %
@@ -63,10 +41,44 @@ Current available graphics systems are:
---> Element: Lead Pb Z = 82.0 N = 207.2 A = 207.19 g/mole fractionMass: 100.00 % Abundance 100.00 %
Absorber is 17.848 cm of PbWO4
Visualization Manager instantiating...
Visualization Manager initialising...
Registering graphics systems...
You have successfully chosen to use the following graphics systems.
Current available graphics systems are:
ASCIITree (ATree)
DAWNFILE (DAWNFILE)
GAGTree (GAGTree)
G4HepRepFile (HepRepFile)
G4HepRep (HepRepXML)
RayTracer (RayTracer)
VRML1FILE (VRML1FILE)
VRML2FILE (VRML2FILE)
/run/verbose 1
#
# select EM PhysicsList
#
#/testem/phys/addPhysics model
/testem/phys/addPhysics standard
#
/testem/phys/setCuts 5.0 mm
#
/testem/det/setMat Water
/testem/det/setLbin 9 1.11
/testem/det/setRbin 6 0.111
/run/initialize
Absorber is 3.60564 m of Water
phot: Total cross sections from Sandia parametrisation.
Em2PhysicsList::SetCuts:CutLength : 1 mm
#/testem/det/update
#
/testem/event/printModulo 20
#
/gun/particle e-
/gun/energy 1 GeV
/run/beamOn 100
compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV.
Scattered gamma energy according Klein-Nishina.
@@ -83,7 +95,8 @@ msc: Tables of transport mean free paths.
eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
Step function: finalRange(mm)= 1, dRoverRange= 0.2
eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library.
Good description from 1 KeV to 100 GeV.
@@ -104,6 +117,7 @@ hIoni: Knock-on electron cross sections .
Good description above the mean excitation energy.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
Step function: finalRange(mm)= 1, dRoverRange= 0.2
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
@@ -122,41 +136,18 @@ MuBrems: theoretical cross section
MuPairProd: theoretical cross sections
Good description up to 1000 PeV.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
============= The cut Energy ==============================
gamma e-
Cut in range
Air 5 mm 5 mm
Water 5 mm 5 mm
lAr 5 mm 5 mm
Al 5 mm 5 mm
Fe 5 mm 5 mm
BGO 5 mm 5 mm
PbWO4 5 mm 5 mm
Tungsten 5 mm 5 mm
Lead 5 mm 5 mm
Cut in energy
Air 990 eV 3.24 keV
Water 5.78 keV 1.16 MeV
lAr 13.6 keV 1.16 MeV
Al 14.6 keV 2.31 MeV
Fe 46.4 keV 6.11 MeV
BGO 126 keV 4.72 MeV
PbWO4 137 keV 5.34 MeV
Tungsten 241 keV 13 MeV
Lead 204 keV 6.83 MeV
===================================================
#
/testem/det/setMat Water
/testem/det/setLbin 9 1.11
/testem/det/setRbin 6 0.111
/testem/det/update
Absorber is 3.60564 m of Water
#
/testem/event/printModulo 20
#
/gun/particle e-
/gun/energy 1 GeV
/run/beamOn 100
========= Table of registered couples ==============================
Index : 0 used in the geometry : Yes recalculation needed : No
Material : Water
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : gamma 5.78478 keV e- 1.15997 MeV e+ 1.10423 MeV
Region(s) which use this couple :
DefaultRegionForTheWorld
====================================================================
### Run 0 start.
--------- Ranecu engine status ---------
@@ -177,20 +168,20 @@ Start Run processing.
Run terminated.
Run Summary
Number of events processed : 100
User=23.55s Real=29.75s Sys=3.06s
User=23.77s Real=40.12s Sys=2.87s
LATERAL PROFILE CUMULATIVE LATERAL PROFILE
bin Mean rms bin Mean rms
0.00-> 1.11 radl: 14.75% 6.29% 0-> 1.11 radl: 14.75% 6.29%
1.11-> 2.22 radl: 22.10% 9.69% 0-> 2.22 radl: 36.84% 12.22%
2.22-> 3.33 radl: 20.44% 8.15% 0-> 3.33 radl: 57.28% 13.93%
3.33-> 4.44 radl: 14.74% 8.52% 0-> 4.44 radl: 72.02% 13.31%
4.44-> 5.55 radl: 9.78% 6.96% 0-> 5.55 radl: 81.79% 11.49%
5.55-> 6.66 radl: 6.76% 5.80% 0-> 6.66 radl: 88.55% 8.07%
6.66-> 7.77 radl: 2.97% 4.08% 0-> 7.77 radl: 91.52% 5.98%
7.77-> 8.88 radl: 1.92% 3.10% 0-> 8.88 radl: 93.44% 4.74%
8.88-> 9.99 radl: 0.81% 1.68% 0-> 9.99 radl: 94.25% 4.23%
0.00-> 1.11 radl: 14.36% 5.72% 0-> 1.11 radl: 14.36% 5.72%
1.11-> 2.22 radl: 26.26% 10.79% 0-> 2.22 radl: 40.62% 13.37%
2.22-> 3.33 radl: 22.19% 9.03% 0-> 3.33 radl: 62.81% 15.91%
3.33-> 4.44 radl: 13.75% 7.33% 0-> 4.44 radl: 76.56% 14.26%
4.44-> 5.55 radl: 8.50% 7.31% 0-> 5.55 radl: 85.06% 10.05%
5.55-> 6.66 radl: 5.11% 5.66% 0-> 6.66 radl: 90.17% 6.73%
6.66-> 7.77 radl: 2.43% 3.31% 0-> 7.77 radl: 92.60% 5.49%
7.77-> 8.88 radl: 1.46% 2.59% 0-> 8.88 radl: 94.06% 3.94%
8.88-> 9.99 radl: 0.77% 2.44% 0-> 9.99 radl: 94.83% 3.01%
@@ -198,21 +189,21 @@ Run Summary
bin Mean rms bin Mean rms
0.00-> 0.11 radl: 66.75% 9.25% 0-> 0.11 radl: 66.75% 9.25%
0.11-> 0.22 radl: 15.01% 5.71% 0-> 0.22 radl: 81.76% 6.91%
0.22-> 0.33 radl: 5.87% 3.76% 0-> 0.33 radl: 87.63% 5.52%
0.33-> 0.44 radl: 3.22% 2.53% 0-> 0.44 radl: 90.85% 4.86%
0.44-> 0.56 radl: 2.09% 1.82% 0-> 0.56 radl: 92.94% 4.39%
0.56-> 0.67 radl: 1.32% 1.29% 0-> 0.67 radl: 94.25% 4.23%
0.00-> 0.11 radl: 68.50% 9.87% 0-> 0.11 radl: 68.50% 9.87%
0.11-> 0.22 radl: 14.54% 7.51% 0-> 0.22 radl: 83.05% 6.59%
0.22-> 0.33 radl: 5.46% 3.40% 0-> 0.33 radl: 88.51% 5.19%
0.33-> 0.44 radl: 3.16% 2.72% 0-> 0.44 radl: 91.67% 4.03%
0.44-> 0.56 radl: 1.89% 2.15% 0-> 0.56 radl: 93.55% 3.36%
0.56-> 0.67 radl: 1.27% 1.12% 0-> 0.67 radl: 94.83% 3.01%
SUMMARY
energy deposit : 94.25 % E0 +- 4.23 % E0
charged traklen: 13.70 radl +- 0.61 radl
neutral traklen: 200.64 radl +- 19.55 radl
energy deposit : 94.83 % E0 +- 3.01 % E0
charged traklen: 13.83 radl +- 0.44 radl
neutral traklen: 204.03 radl +- 17.83 radl
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 1371468372, 1731317846
Current couple of seeds = 341185374, 166917226
----------------------------------------
Graphics systems deleted.
Visualization Manager deleting...
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2DetectorConstruction.hh,v 1.4 2001/10/25 15:12:06 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2DetectorConstruction.hh,v 1.6 2003/02/14 14:21:28 vnivanch Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -54,7 +54,7 @@ class Em2DetectorConstruction : public G4VUserDetectorConstruction
public:
void SetMaterial(G4String);
void SetMaterial(const G4String&);
void SetLBining (G4ThreeVector);
void SetRBining (G4ThreeVector);
void SetMagField(G4double);
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2DetectorMessenger.hh,v 1.5 2002/12/11 17:12:22 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2DetectorMessenger.hh,v 1.6 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2EventAction.hh,v 1.4 2001/10/25 15:12:06 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2EventAction.hh,v 1.5 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2EventActionMessenger.hh,v 1.4 2001/10/25 15:12:06 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2EventActionMessenger.hh,v 1.5 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2PhysListEmModel.hh,v 1.1 2002/10/31 14:07:47 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2PhysListEmModel.hh,v 1.2 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2PhysListEmStandard.hh,v 1.1 2002/10/31 14:07:47 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2PhysListEmStandard.hh,v 1.2 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2PhysListGeneral.hh,v 1.1 2002/10/31 14:07:47 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2PhysListGeneral.hh,v 1.2 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2PhysListParticles.hh,v 1.1 2002/10/31 14:07:47 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2PhysListParticles.hh,v 1.2 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2PhysicsList.hh,v 1.7 2002/10/31 13:58:32 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2PhysicsList.hh,v 1.9 2003/03/17 15:30:08 vnivanch Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//
@@ -38,6 +38,7 @@
#include "globals.hh"
class Em2PhysicsListMessenger;
class G4VPhysicsConstructor;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -47,21 +48,25 @@ class Em2PhysicsList: public G4VModularPhysicsList
Em2PhysicsList();
~Em2PhysicsList();
virtual void ConstructParticle();
virtual void ConstructProcess();
void AddPhysicsList(const G4String& name);
void SetCuts();
void SetCutForGamma(G4double);
void SetCutForElectron(G4double);
void SetCutForPositron(G4double);
private:
G4double cutForGamma;
G4double cutForElectron;
G4double cutForElectron;
G4double cutForPositron;
G4double currentDefaultCut;
G4VPhysicsConstructor* emPhysicsList;
G4VPhysicsConstructor* generalPhysicsList;
G4VPhysicsConstructor* particleList;
G4String emName;
G4bool emPhysicsListIsRegistered;
Em2PhysicsListMessenger* pMessenger;
};
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2PhysicsListMessenger.hh,v 1.4 2002/10/14 15:56:11 vnivanch Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2PhysicsListMessenger.hh,v 1.5 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2PrimaryGeneratorAction.hh,v 1.4 2001/10/25 15:12:06 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2PrimaryGeneratorAction.hh,v 1.5 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2RunAction.hh,v 1.12 2002/12/11 17:12:22 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2RunAction.hh,v 1.13 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2SteppingAction.hh,v 1.4 2001/10/25 15:12:06 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2SteppingAction.hh,v 1.5 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2SteppingVerbose.hh,v 1.7 2001/10/25 15:12:06 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2SteppingVerbose.hh,v 1.8 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
// This class manages the verbose outputs in G4SteppingManager.
// It inherits from G4SteppingVerbose.
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2TrackingAction.hh,v 1.4 2001/10/25 15:12:06 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2TrackingAction.hh,v 1.5 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2VisManager.hh,v 1.4 2001/10/25 15:12:06 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2VisManager.hh,v 1.5 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -1,4 +1,4 @@
# $Id: run01.mac,v 1.10 2002/12/11 17:12:21 maire Exp $
# $Id: run01.mac,v 1.12 2003/03/26 16:23:16 maire Exp $
#
# Macro file for "TestEm2.cc"
# (can be run in batch, without graphic)
@@ -1,5 +1,5 @@
**********************************************
Geant4 version $Name: geant4-05-00 $
Geant4 version $Name: geant4-05-01 $
(31-Jul-2002)
Copyright : Geant4 Collaboration
**********************************************
@@ -1,4 +1,4 @@
# $Id: run02.mac,v 1.7 2002/10/31 13:58:29 maire Exp $
# $Id: run02.mac,v 1.8 2003/02/14 14:21:28 vnivanch Exp $
#
# Macro file for "TestEm2.cc"
# (can be run in batch, without graphic)
@@ -14,12 +14,12 @@
#/testem/phys/addPhysics standard
#
/testem/phys/setCuts 2.0 mm
/run/initialize
#
/testem/det/setMat Al
/testem/det/setLbin 12 1.1245
/testem/det/setRbin 12 0.11245
/testem/det/update
/run/initialize
#/testem/det/update
#
/run/verbose 2
/testem/event/printModulo 10
@@ -1,4 +1,4 @@
# $Id: run03.mac,v 1.8 2002/10/31 13:58:29 maire Exp $
# $Id: run03.mac,v 1.9 2003/02/14 14:21:28 vnivanch Exp $
#
# Macro file for "TestEm2.cc"
# (can be run in batch, without graphic)
@@ -14,12 +14,12 @@
#/testem/phys/addPhysics standard
#
/testem/phys/setCuts 5.0 mm
/run/initialize
#
/testem/det/setMat Water
/testem/det/setLbin 9 1.11
/testem/det/setRbin 6 0.111
/testem/det/update
/run/initialize
#/testem/det/update
#
/run/verbose 2
/testem/event/printModulo 10
@@ -1,4 +1,4 @@
# $Id: run04.mac,v 1.7 2002/10/31 13:58:29 maire Exp $
# $Id: run04.mac,v 1.8 2003/02/14 14:21:28 vnivanch Exp $
#
# Macro file for "TestEm2.cc"
# (can be run in batch, without graphic)
@@ -13,12 +13,12 @@
#/testem/phys/addPhysics standard
#
/testem/phys/setCuts 0.8 mm
/run/initialize
#
/testem/det/setMat Fe
/testem/det/setLbin 40 0.5
/testem/det/setRbin 20 0.25
/testem/det/update
/run/initialize
#/testem/det/update
#
/run/verbose 2
/testem/event/printModulo 10
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2DetectorConstruction.cc,v 1.9 2002/10/29 19:10:40 vnivanch Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2DetectorConstruction.cc,v 1.13 2003/03/26 16:23:17 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -60,6 +60,7 @@ Em2DetectorConstruction::Em2DetectorConstruction()
solidRing(0) ,logicRing(0) ,physiRing(0)
{
detectorMessenger = new Em2DetectorMessenger(this);
DefineMaterials();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -71,7 +72,6 @@ Em2DetectorConstruction::~Em2DetectorConstruction()
G4VPhysicalVolume* Em2DetectorConstruction::Construct()
{
DefineMaterials();
return ConstructVolumes();
}
@@ -126,9 +126,9 @@ void Em2DetectorConstruction::DefineMaterials()
G4Material* H2O = new G4Material(name="Water", density, ncomponents=2);
H2O->AddElement(H, natoms=2);
H2O->AddElement(O, natoms=1);
// G4double exc = H2O->GetIonisation()->FindMeanExcitationEnergy("H_2O");
// H2O->GetIonisation()->SetMeanExcitationEnergy(exc);
H2O->SetChemicalFormula("H_2O");
H2O->GetIonisation()->SetMeanExcitationEnergy(75.0*eV);
//liquid argon
a = 39.95*g/mole;
density = 1.390*g/cm3;
@@ -186,10 +186,13 @@ G4VPhysicalVolume* Em2DetectorConstruction::ConstructVolumes()
//
// Ecal
//
if(solidEcal) delete solidEcal;
if(logicEcal) delete logicEcal;
if(physiEcal) delete physiEcal;
solidEcal = new G4Tubs("Ecal",0.,EcalRadius,0.5*EcalLength,0.,360*deg);
logicEcal = new G4LogicalVolume( solidEcal,myMaterial,"Ecal",0,0,0);
physiEcal = new G4PVPlacement(0,G4ThreeVector(),
"Ecal",logicEcal,0,false,0);
logicEcal,"Ecal",0,false,0);
// Ring
//
@@ -197,19 +200,19 @@ G4VPhysicalVolume* Em2DetectorConstruction::ConstructVolumes()
{
solidRing = new G4Tubs("Ring",i*dR,(i+1)*dR,0.5*EcalLength,0.,360*deg);
logicRing = new G4LogicalVolume(solidRing,myMaterial,"Ring",0,0,0);
physiRing = new G4PVPlacement(0,G4ThreeVector(),"Ring",logicRing,
physiEcal,false,i);
physiRing = new G4PVPlacement(0,G4ThreeVector(),logicRing,"Ring",
logicEcal,false,i);
// Slice
solidSlice = new G4Tubs("Slice",i*dR,(i+1)*dR,0.5*dL,0.,360*deg);
logicSlice = new G4LogicalVolume(solidSlice,myMaterial,"Slice",0,0,0);
logicSlice-> SetVisAttributes(G4VisAttributes::Invisible);
if (nLtot >1)
physiSlice = new G4PVReplica("Slice",logicSlice,physiRing,
physiSlice = new G4PVReplica("Slice",logicSlice,logicRing,
kZAxis,nLtot,dL);
else
physiSlice = new G4PVPlacement(0,G4ThreeVector(),"Slice",logicSlice,
physiRing,false,0);
physiSlice = new G4PVPlacement(0,G4ThreeVector(),logicSlice,"Slice",
logicRing,false,0);
}
@@ -229,13 +232,14 @@ G4VPhysicalVolume* Em2DetectorConstruction::ConstructVolumes()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em2DetectorConstruction::SetMaterial(G4String materialChoice)
void Em2DetectorConstruction::SetMaterial(const G4String& materialChoice)
{
// search the material by its name
G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice);
if (pttoMaterial)
{myMaterial = pttoMaterial;
logicEcal->SetMaterial(myMaterial);
{
myMaterial = pttoMaterial;
if(logicEcal) logicEcal->SetMaterial(myMaterial);
}
}
@@ -252,19 +256,19 @@ void Em2DetectorConstruction::SetRBining(G4ThreeVector Value)
{
nRtot = (G4int)Value(0); dRradl = Value(1);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em2DetectorConstruction::SetMagField(G4double fieldValue)
{
//apply a global uniform magnetic field along Z axis
G4FieldManager* fieldMgr
G4FieldManager* fieldMgr
= G4TransportationManager::GetTransportationManager()->GetFieldManager();
if(magField) delete magField; //delete the existing magn field
if(fieldValue!=0.) // create a new one if non nul
{ magField = new G4UniformMagField(G4ThreeVector(0.,0.,fieldValue));
{ magField = new G4UniformMagField(G4ThreeVector(0.,0.,fieldValue));
fieldMgr->SetDetectorField(magField);
fieldMgr->CreateChordFinder(magField);
} else {
@@ -274,10 +278,16 @@ void Em2DetectorConstruction::SetMagField(G4double fieldValue)
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em2DetectorConstruction::UpdateGeometry()
{
G4RunManager::GetRunManager()->DefineWorldVolume(ConstructVolumes());
G4bool first = true;
if (physiEcal) first = false;
G4VPhysicalVolume* v = ConstructVolumes();
G4RunManager* rm = G4RunManager::GetRunManager();
rm->GeometryHasBeenModified();
rm->DefineWorldVolume(v);
if (!first) rm->ResetNavigator();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2DetectorMessenger.cc,v 1.9 2002/12/11 17:12:23 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2DetectorMessenger.cc,v 1.11 2003/02/14 14:21:28 vnivanch Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -49,7 +49,7 @@ Em2DetectorMessenger::Em2DetectorMessenger(Em2DetectorConstruction * Det)
MaterCmd = new G4UIcmdWithAString("/testem/det/setMat",this);
MaterCmd->SetGuidance("Select Material.");
MaterCmd->SetParameterName("material",false);
MaterCmd->AvailableForStates(G4State_Idle);
MaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
LBinCmd = new G4UIcmdWith3Vector("/testem/det/setLbin",this);
LBinCmd->SetGuidance("set longitudinal bining");
@@ -70,13 +70,13 @@ Em2DetectorMessenger::Em2DetectorMessenger(Em2DetectorConstruction * Det)
FieldCmd->SetGuidance("Magnetic field will be in Z direction.");
FieldCmd->SetParameterName("Bz",false);
FieldCmd->SetUnitCategory("Magnetic flux density");
FieldCmd->AvailableForStates(G4State_Idle);
FieldCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
UpdateCmd = new G4UIcmdWithoutParameter("/testem/det/update",this);
UpdateCmd->SetGuidance("Update geometry.");
UpdateCmd->SetGuidance("This command MUST be applied before \"beamOn\" ");
UpdateCmd->SetGuidance("if you changed geometrical value(s).");
UpdateCmd->AvailableForStates(G4State_Idle);
UpdateCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2EventAction.cc,v 1.6 2001/11/28 18:57:24 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2EventAction.cc,v 1.7 2002/12/16 11:29:23 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2EventActionMessenger.cc,v 1.8 2002/12/06 16:51:43 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2EventActionMessenger.cc,v 1.9 2002/12/16 11:29:23 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2PhysListEmModel.cc,v 1.1 2002/10/31 14:12:43 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2PhysListEmModel.cc,v 1.3 2003/02/14 14:21:28 vnivanch Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -98,16 +98,17 @@ void Em2PhysListEmModel::ConstructProcess()
pmanager->AddProcess(new G4MuBremsstrahlungSTD, -1,-1,3);
pmanager->AddProcess(new G4MuPairProductionSTD, -1,-1,4);
} else if( particleName == "GenericIon" ) {
pmanager->AddProcess(new G4MultipleScatteringSTD,-1,1,1);
pmanager->AddProcess(new G4ionIonisation, -1,2,2);
} else if ((!particle->IsShortLived()) &&
(particle->GetPDGCharge() != 0.0) &&
(particle->GetParticleName() != "chargedgeantino")) {
//all others charged particles except geantino
pmanager->AddProcess(new G4MultipleScatteringSTD,-1,1,1);
if(particle->GetPDGMass() < 1.0*GeV ) {
pmanager->AddProcess(new G4hIonisationSTD, -1,2,2);
} else {
pmanager->AddProcess(new G4ionIonisation, -1,2,2);
}
pmanager->AddProcess(new G4hIonisationSTD, -1,2,2);
}
}
}
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2PhysListEmStandard.cc,v 1.1 2002/10/31 14:12:43 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2PhysListEmStandard.cc,v 1.2 2002/12/16 11:29:23 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2PhysListGeneral.cc,v 1.1 2002/10/31 14:12:43 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2PhysListGeneral.cc,v 1.2 2002/12/16 11:29:23 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2PhysListParticles.cc,v 1.1 2002/10/31 14:12:43 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2PhysListParticles.cc,v 1.2 2002/12/16 11:29:23 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,7 +21,9 @@
// ********************************************************************
//
//
// $Id: Em2PhysicsList.cc,v 1.13 2003/03/26 16:23:17 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -33,13 +35,14 @@
#include "Em2PhysListGeneral.hh"
#include "Em2PhysListEmStandard.hh"
#include "Em2PhysListEmModel.hh"
#include "G4Gamma.hh"
#include "G4Electron.hh"
#include "G4Positron.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Em2PhysicsList::Em2PhysicsList() : G4VModularPhysicsList(),
emPhysicsListIsRegistered(false)
{
Em2PhysicsList::Em2PhysicsList() : G4VModularPhysicsList()
{
currentDefaultCut = 1.0*mm;
cutForGamma = currentDefaultCut;
cutForElectron = currentDefaultCut;
@@ -48,12 +51,16 @@ Em2PhysicsList::Em2PhysicsList() : G4VModularPhysicsList(),
pMessenger = new Em2PhysicsListMessenger(this);
SetVerboseLevel(1);
// Particles
RegisterPhysics( new Em2PhysListParticles("particles") );
particleList = new Em2PhysListParticles("particles");
// General Physics
RegisterPhysics( new Em2PhysListGeneral("general") );
generalPhysicsList = new Em2PhysListGeneral("general");
// EM physics
emName = G4String("standard");
emPhysicsList = new Em2PhysListEmStandard(emName);
}
@@ -66,41 +73,45 @@ Em2PhysicsList::~Em2PhysicsList()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em2PhysicsList::ConstructParticle()
{
particleList->ConstructParticle();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em2PhysicsList::ConstructProcess()
{
AddTransportation();
generalPhysicsList->ConstructProcess();
emPhysicsList->ConstructProcess();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em2PhysicsList::AddPhysicsList(const G4String& name)
{
if (verboseLevel>1) {
G4cout << "Em2PhysicsList::AddPhysicsList: <" << name << ">" << G4endl;
}
if (name == emName) return;
if(name == "standard") {
if (name == "standard") {
if (emPhysicsListIsRegistered) {
emName = name;
delete emPhysicsList;
emPhysicsList = new Em2PhysListEmStandard(name);
G4cout << "Em2PhysicsList::AddPhysicsList: <" << name << ">"
<< " cannot be register additionally to existing one"
<< G4endl;
} else {
} else if (name == "model") {
RegisterPhysics( new Em2PhysListEmStandard(name) );
emPhysicsListIsRegistered = true;
}
} else if(name == "model") {
if (emPhysicsListIsRegistered) {
G4cout << "Em2PhysicsList::AddPhysicsList: <" << name << ">"
<< " cannot be register additionally to existing one"
<< G4endl;
} else {
RegisterPhysics( new Em2PhysListEmModel(name) );
emPhysicsListIsRegistered = true;
}
emName = name;
delete emPhysicsList;
emPhysicsList = new Em2PhysListEmModel(name);
} else {
G4cout << "Em2PhysicsList::AddPhysicsList: <" << name << ">"
G4cout << "Em2PhysicsList::AddPhysicsList: <" << name << ">"
<< " is not defined"
<< G4endl;
}
@@ -109,8 +120,7 @@ void Em2PhysicsList::AddPhysicsList(const G4String& name)
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em2PhysicsList::SetCuts()
{
{
if (verboseLevel >0){
G4cout << "Em2PhysicsList::SetCuts:";
G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl;
@@ -120,15 +130,8 @@ void Em2PhysicsList::SetCuts()
// because some processes for e+/e- need cut values for gamma
SetCutValue(cutForGamma, "gamma");
SetCutValue(cutForElectron, "e-");
SetCutValue(cutForPositron, "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(currentDefaultCut, "proton");
SetCutValue(currentDefaultCut, "anti_proton");
SetCutValueForOthers(currentDefaultCut);
SetCutValue(cutForPositron, "e+");
if (verboseLevel>0) DumpCutValuesTable();
}
@@ -136,24 +139,24 @@ void Em2PhysicsList::SetCuts()
void Em2PhysicsList::SetCutForGamma(G4double cut)
{
ResetCuts();
cutForGamma = cut;
SetParticleCuts(cutForGamma, G4Gamma::Gamma());
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em2PhysicsList::SetCutForElectron(G4double cut)
{
ResetCuts();
cutForElectron = cut;
SetParticleCuts(cutForElectron, G4Electron::Electron());
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em2PhysicsList::SetCutForPositron(G4double cut)
{
ResetCuts();
cutForPositron = cut;
SetParticleCuts(cutForPositron, G4Positron::Positron());
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2PhysicsListMessenger.cc,v 1.6 2002/12/06 16:51:43 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2PhysicsListMessenger.cc,v 1.7 2002/12/16 11:29:23 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2PrimaryGeneratorAction.cc,v 1.5 2002/10/31 13:58:32 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2PrimaryGeneratorAction.cc,v 1.6 2002/12/16 11:29:23 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2RunAction.cc,v 1.18 2002/12/11 17:12:23 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2RunAction.cc,v 1.19 2002/12/16 11:29:23 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2SteppingAction.cc,v 1.6 2001/12/11 17:44:07 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2SteppingAction.cc,v 1.7 2002/12/16 11:29:24 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2SteppingVerbose.cc,v 1.8 2001/10/25 15:12:07 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2SteppingVerbose.cc,v 1.10 2003/02/10 17:12:25 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -73,7 +73,8 @@ void Em2SteppingVerbose::StepInfo()
<< G4std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy")
<< G4std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy")
<< G4std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length")
<< G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length");
<< G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length")
<< " ";
// if( fStepStatus != fWorldBoundary){
if( fTrack->GetNextVolume() != 0 ) {
@@ -161,7 +162,8 @@ G4int prec = G4cout.precision(3);
<< G4std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy")
<< G4std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy")
<< G4std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length")
<< G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length");
<< G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length")
<< " ";
if(fTrack->GetNextVolume()){
G4cout << G4std::setw(10) << fTrack->GetVolume()->GetName();
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2TrackingAction.cc,v 1.4 2001/10/25 15:12:07 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2TrackingAction.cc,v 1.5 2002/12/16 11:29:24 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2VisManager.cc,v 1.7 2002/11/13 21:39:49 duns Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2VisManager.cc,v 1.8 2002/12/16 11:29:24 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// John Allison 24th January 1998.