Import Geant4 10.4.0 source tree

This commit is contained in:
Gabriele Cosmo
2017-12-08 12:52:30 +01:00
parent 98e455a940
commit fc6af9e721
2166 changed files with 276760 additions and 100873 deletions
+38 -33
View File
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-03-ref-06 (30-June-2017)
Geant4 version Name: geant4-10-04-ref-00 (08-December-2017)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -92,9 +92,7 @@ End of Event User Vis Actions: none
End of Run User Vis Actions: none
Some /vis commands (optionally) take a string to specify colour.
Available colours:
black, blue, brown, cyan, gray, green, grey, magenta, red, white, yellow
"/vis/list" to see available colours.
------------------------------------------------------------
---> The calorimeter is 10 layers of: [ 10mm of G4_Pb + 5mm of G4_lAr ]
@@ -154,7 +152,7 @@ eBrem: for e- SubType= 3
CoulombScat: for e-, integral: 1 SubType= 1 BuildTable= 1
Lambda table from 100 MeV to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
@@ -185,12 +183,12 @@ annihil: for e+, integral: 1 SubType= 5 BuildTable= 0
CoulombScat: for e+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from 100 MeV to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
msc: for proton SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -216,8 +214,8 @@ hPairProd: for proton SubType= 4
hPairProd : Emin= 0 eV Emax= 100 TeV
CoulombScat: for proton, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of anti_proton
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -249,7 +247,7 @@ ionIoni: for alpha SubType= 2
BetheBloch : Emin= 7.9452 MeV Emax= 100 TeV
msc: for anti_proton SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -276,12 +274,12 @@ hPairProd: for anti_proton SubType= 4
CoulombScat: for anti_proton, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for kaon+ SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -308,12 +306,12 @@ hPairProd: for kaon+ SubType= 4
CoulombScat: for kaon+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for kaon- SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -340,7 +338,7 @@ hPairProd: for kaon- SubType= 4
CoulombScat: for kaon-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of kaon+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -373,7 +371,7 @@ muPairProd: for mu+ SubType= 4
CoulombScat: for mu+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -406,12 +404,12 @@ muPairProd: for mu- SubType= 4
CoulombScat: for mu-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of mu+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for pi+ SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -438,12 +436,12 @@ hPairProd: for pi+ SubType= 4
CoulombScat: for pi+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for pi- SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -470,7 +468,7 @@ hPairProd: for pi- SubType= 4
CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of pi+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -670,6 +668,7 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 2.88022e+295 J
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: kaon+Inelastic
@@ -684,6 +683,7 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 2.88022e+295 J
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: kaon-Inelastic
@@ -792,16 +792,21 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
====== Pre-compound/De-excitation Physics Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Pre-compound model active 1
Pre-compound low energy (MeV) 0.1
Type of de-excitation inverse x-section 3
Type of de-excitation factory Evaporation
Number of de-excitation channels 8
Min excitation energy (keV) 0.01
Min energy per nucleon for multifragmentation (MeV) 1e+05
Level density (1/MeV) 0.1
Time limit for long lived isomeres (ns) 1e+12
Use new data files 1
Use complete data files 0
Correlated gamma emission flag 0
Internal e- conversion flag 1
Store e- internal conversion data 0
Electron internal conversion ID 2
Correlated gamma emission flag 0
Max 2J for sampling of angular correlations 10
=======================================================================
Number of de-excitation channels 8
### Run 0 start.
... open Root analysis file : AnaEx01.root - done
@@ -829,20 +834,20 @@ Number of de-excitation channels 8
--------------------End of Run------------------------------
mean Energy in Absorber : 453.416 MeV +- 14.9999 MeV
mean Energy in Gap : 23.7575 MeV +- 7.2887 MeV
mean Energy in Absorber : 454.496 MeV +- 13.0711 MeV
mean Energy in Gap : 23.8344 MeV +- 6.75401 MeV
mean trackLength in Absorber : 32.6456 cm +- 1.1394 cm
mean trackLength in Gap : 11.7517 cm +- 3.74767 cm
mean trackLength in Absorber : 32.7448 cm +- 1.0388 cm
mean trackLength in Gap : 11.7761 cm +- 3.45507 cm
------------------------------------------------------------
----> print histograms statistic
EAbs: mean = 453.416 MeV rms = 14.9999 MeV
EGap: mean = 23.7575 MeV rms = 7.2887 MeV
LAbs: mean = 32.6456 cm rms = 1.1394 cm
LGap: mean = 11.7517 cm rms = 3.74767 cm
EAbs: mean = 454.496 MeV rms = 13.0711 MeV
EGap: mean = 23.8344 MeV rms = 6.75401 MeV
LAbs: mean = 32.7448 cm rms = 1.0388 cm
LGap: mean = 11.7761 cm rms = 3.45507 cm
... write Root file : AnaEx01.root - done
... close Root file : AnaEx01.root - done
+4 -1
View File
@@ -1,4 +1,4 @@
$Id: History 100674 2016-10-31 10:43:40Z gcosmo $
$Id: History 105494 2017-07-28 09:02:56Z gcosmo $
--------------------------------------------------
=========================================================
@@ -15,6 +15,9 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
27-07-17 I. Hrivnacova (AnaEx01-V10-03-00)
- Coding guidelines: removed redundant empty lines
26-10-16 I. Hrivnacova (AnaEx01-V10-02-03)
- Activated merging ntuples
- Updated main program according to basic examples
@@ -27,7 +27,7 @@
/// \brief Implementation of the HistoManager class
//
//
// $Id: HistoManager.cc 100674 2016-10-31 10:43:40Z gcosmo $
// $Id: HistoManager.cc 105494 2017-07-28 09:02:56Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -186,5 +186,3 @@ void HistoManager::PrintStatistic()
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+38 -33
View File
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-03-ref-06 (30-June-2017)
Geant4 version Name: geant4-10-04-ref-00 (08-December-2017)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -104,9 +104,7 @@ End of Event User Vis Actions: none
End of Run User Vis Actions: none
Some /vis commands (optionally) take a string to specify colour.
Available colours:
black, blue, brown, cyan, gray, green, grey, magenta, red, white, yellow
"/vis/list" to see available colours.
phot: for gamma SubType= 12 BuildTable= 0
LambdaPrime table from 200 keV to 100 TeV in 61 bins
@@ -154,7 +152,7 @@ eBrem: for e- SubType= 3
CoulombScat: for e-, integral: 1 SubType= 1 BuildTable= 1
Lambda table from 100 MeV to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
@@ -185,12 +183,12 @@ annihil: for e+, integral: 1 SubType= 5 BuildTable= 0
CoulombScat: for e+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from 100 MeV to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
msc: for proton SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -216,8 +214,8 @@ hPairProd: for proton SubType= 4
hPairProd : Emin= 0 eV Emax= 100 TeV
CoulombScat: for proton, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of anti_proton
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -249,7 +247,7 @@ ionIoni: for alpha SubType= 2
BetheBloch : Emin= 7.9452 MeV Emax= 100 TeV
msc: for anti_proton SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -276,12 +274,12 @@ hPairProd: for anti_proton SubType= 4
CoulombScat: for anti_proton, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for kaon+ SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -308,12 +306,12 @@ hPairProd: for kaon+ SubType= 4
CoulombScat: for kaon+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for kaon- SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -340,7 +338,7 @@ hPairProd: for kaon- SubType= 4
CoulombScat: for kaon-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of kaon+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -373,7 +371,7 @@ muPairProd: for mu+ SubType= 4
CoulombScat: for mu+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -406,12 +404,12 @@ muPairProd: for mu- SubType= 4
CoulombScat: for mu-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of mu+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for pi+ SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -438,12 +436,12 @@ hPairProd: for pi+ SubType= 4
CoulombScat: for pi+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for pi- SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -470,7 +468,7 @@ hPairProd: for pi- SubType= 4
CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of pi+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -670,6 +668,7 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 2.88022e+295 J
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: kaon+Inelastic
@@ -684,6 +683,7 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 2.88022e+295 J
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: kaon-Inelastic
@@ -792,16 +792,21 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
====== Pre-compound/De-excitation Physics Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Pre-compound model active 1
Pre-compound low energy (MeV) 0.1
Type of de-excitation inverse x-section 3
Type of de-excitation factory Evaporation
Number of de-excitation channels 8
Min excitation energy (keV) 0.01
Min energy per nucleon for multifragmentation (MeV) 1e+05
Level density (1/MeV) 0.1
Time limit for long lived isomeres (ns) 1e+12
Use new data files 1
Use complete data files 0
Correlated gamma emission flag 0
Internal e- conversion flag 1
Store e- internal conversion data 0
Electron internal conversion ID 2
Correlated gamma emission flag 0
Max 2J for sampling of angular correlations 10
=======================================================================
Number of de-excitation channels 8
### Run 0 start.
----> Output file is open in AnaEx02.root
@@ -828,20 +833,20 @@ Number of de-excitation channels 8
--------------------End of Run------------------------------
mean Energy in Absorber : 453.416 MeV +- 14.9999 MeV
mean Energy in Gap : 23.7575 MeV +- 7.2887 MeV
mean Energy in Absorber : 454.496 MeV +- 13.0711 MeV
mean Energy in Gap : 23.8344 MeV +- 6.75401 MeV
mean trackLength in Absorber : 32.6456 cm +- 1.1394 cm
mean trackLength in Gap : 11.7517 cm +- 3.74767 cm
mean trackLength in Absorber : 32.7448 cm +- 1.0388 cm
mean trackLength in Gap : 11.7761 cm +- 3.45507 cm
------------------------------------------------------------
----> print histograms statistic
EAbs: mean = 453.416 MeV rms = 14.9999 MeV
EGap: mean = 23.7575 MeV rms = 7.2887 MeV
LAbs: mean = 32.6456 cm rms = 1.1394 cm
LGap: mean = 11.7517 cm rms = 3.74767 cm
EAbs: mean = 454.496 MeV rms = 13.0711 MeV
EGap: mean = 23.8344 MeV rms = 6.75401 MeV
LAbs: mean = 32.7448 cm rms = 1.0388 cm
LGap: mean = 11.7761 cm rms = 3.45507 cm
----> Histograms and ntuples are saved
@@ -28,10 +28,10 @@ find_package(ROOT REQUIRED)
#----------------------------------------------------------------------------
# Locate sources and headers for this project
#
include_directories(${PROJECT_SOURCE_DIR}/include
${PROJECT_SOURCE_DIR}/shared/include
include_directories(${PROJECT_SOURCE_DIR}/include
${PROJECT_SOURCE_DIR}/shared/include
${Geant4_INCLUDE_DIR}
${ROOT_INCLUDE_DIR})
${ROOT_INCLUDE_DIRS})
file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*.cc
${PROJECT_SOURCE_DIR}/shared/src/*.cc)
file(GLOB headers ${PROJECT_SOURCE_DIR}/include/*.hh
+7 -1
View File
@@ -1,4 +1,4 @@
$Id: History 100673 2016-10-31 10:43:05Z gcosmo $
$Id: History 107645 2017-11-28 14:26:13Z gcosmo $
--------------------------------------------------
=========================================================
@@ -15,6 +15,12 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
28-11-17 B. Morgan (AnaEx02-V10-03-01)
- Replace ROOT_INCLUDE_DIR with ROOT_INCLUDE_DIRS
27-07-17 I. Hrivnacova (AnaEx02-V10-03-00)
- Coding guidelines: removed redundant empty lines
26-10-16 I. Hrivnacova (AnaEx02-V10-02-02)
- Updated main program according to basic examples
@@ -26,7 +26,7 @@
/// \file analysis/AnaEx02/src/HistoManager.cc
/// \brief Implementation of the HistoManager class
//
// $Id: HistoManager.cc 98060 2016-07-01 16:24:08Z gcosmo $
// $Id: HistoManager.cc 105493 2017-07-28 09:01:53Z gcosmo $
// GEANT4 tag $Name: geant4-09-04 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -177,5 +177,3 @@ void HistoManager::PrintStatistic()
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+4 -1
View File
@@ -1,4 +1,4 @@
$Id: History 100672 2016-10-31 10:42:11Z gcosmo $
$Id: History 105492 2017-07-28 09:00:58Z gcosmo $
--------------------------------------------------
=========================================================
@@ -15,6 +15,9 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
27-07-17 I. Hrivnacova (AnaEx03-V10-03-00)
- Coding guidelines: removed redundant empty lines
26-10-16 I. Hrivnacova (AnaEx03-V10-02-02)
- Updated main program according to basic examples
@@ -26,7 +26,7 @@
/// \file analysis/AnaEx03/src/HistoManager.cc
/// \brief Implementation of the HistoManager class
//
// $Id: HistoManager.cc 98059 2016-07-01 16:23:33Z gcosmo $
// $Id: HistoManager.cc 105492 2017-07-28 09:00:58Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -218,5 +218,3 @@ void HistoManager::PrintStatistic()
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-03-ref-06 (30-June-2017)
Geant4 version Name: geant4-10-04-ref-00 (08-December-2017)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -61,9 +61,7 @@ End of Event User Vis Actions: none
End of Run User Vis Actions: none
Some /vis commands (optionally) take a string to specify colour.
Available colours:
black, blue, brown, cyan, gray, green, grey, magenta, red, white, yellow
"/vis/list" to see available colours.
phot: for gamma SubType= 12 BuildTable= 0
LambdaPrime table from 200 keV to 100 TeV in 61 bins
@@ -111,7 +109,7 @@ eBrem: for e- SubType= 3
CoulombScat: for e-, integral: 1 SubType= 1 BuildTable= 1
Lambda table from 100 MeV to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
@@ -142,12 +140,12 @@ annihil: for e+, integral: 1 SubType= 5 BuildTable= 0
CoulombScat: for e+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from 100 MeV to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
msc: for proton SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -173,8 +171,8 @@ hPairProd: for proton SubType= 4
hPairProd : Emin= 0 eV Emax= 100 TeV
CoulombScat: for proton, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of anti_proton
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -206,7 +204,7 @@ ionIoni: for alpha SubType= 2
BetheBloch : Emin= 7.9452 MeV Emax= 100 TeV
msc: for anti_proton SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -233,12 +231,12 @@ hPairProd: for anti_proton SubType= 4
CoulombScat: for anti_proton, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for kaon+ SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -265,12 +263,12 @@ hPairProd: for kaon+ SubType= 4
CoulombScat: for kaon+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for kaon- SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -297,7 +295,7 @@ hPairProd: for kaon- SubType= 4
CoulombScat: for kaon-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of kaon+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -330,7 +328,7 @@ muPairProd: for mu+ SubType= 4
CoulombScat: for mu+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -363,12 +361,12 @@ muPairProd: for mu- SubType= 4
CoulombScat: for mu-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of mu+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for pi+ SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -395,12 +393,12 @@ hPairProd: for pi+ SubType= 4
CoulombScat: for pi+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for pi- SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -427,7 +425,7 @@ hPairProd: for pi- SubType= 4
CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of pi+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -628,6 +626,7 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 2.88022e+295 J
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: kaon+Inelastic
@@ -641,6 +640,7 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 2.88022e+295 J
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: kaon-Inelastic
@@ -746,16 +746,21 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
====== Pre-compound/De-excitation Physics Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Pre-compound model active 1
Pre-compound low energy (MeV) 0.1
Type of de-excitation inverse x-section 3
Type of de-excitation factory Evaporation
Number of de-excitation channels 8
Min excitation energy (keV) 0.01
Min energy per nucleon for multifragmentation (MeV) 1e+05
Level density (1/MeV) 0.1
Time limit for long lived isomeres (ns) 1e+12
Use new data files 1
Use complete data files 0
Correlated gamma emission flag 0
Internal e- conversion flag 1
Store e- internal conversion data 0
Electron internal conversion ID 2
Correlated gamma emission flag 0
Max 2J for sampling of angular correlations 10
=======================================================================
Number of de-excitation channels 8
### Run 0 start.
---> Begin of event: 0
@@ -779,53 +784,53 @@ Number of de-excitation channels 8
---> Begin of event: 900
G4ConvergenceTester Output Result of DOSE_TALLY
EFFICIENCY = 0.161
MEAN = 4.25146e-14
VAR = 1.54255e-26
SD = 1.24199e-13
R = 0.0923808
SHIFT = 1.82211e-13
VOV = 0.00924203
FOM = 1673.94
THE LARGEST SCORE = 5.47818e-13 and it happend at 944th event
Affected Mean = 4.30194e-14 and its ratio to orignal is 1.01187
Affected VAR = 1.56652e-26 and its ratio to orignal is 1.01554
Affected R = 0.0919572 and its ratio to orignal is 0.995415
Affected SHIFT = 1.82602e-13 and its ratio to orignal is 1.00214
Affected FOM = 1673.94 and its ratio to orignal is 1
EFFICIENCY = 0.141
MEAN = 3.39849e-14
VAR = 1.24928e-26
SD = 1.11771e-13
R = 0.104003
SHIFT = 1.92434e-13
VOV = 0.0127303
FOM = 2311.27
THE LARGEST SCORE = 5.46869e-13 and it happend at 244th event
Affected Mean = 3.44973e-14 and its ratio to orignal is 1.01508
Affected VAR = 1.27431e-26 and its ratio to orignal is 1.02004
Affected R = 0.103427 and its ratio to orignal is 0.99447
Affected SHIFT = 1.92987e-13 and its ratio to orignal is 1.00287
Affected FOM = 2311.27 and its ratio to orignal is 1
MEAN distribution is not RANDOM
r follows 1/std::sqrt(N)
r is monotonically decrease
r is less than 0.1. r = 0.0923808
r is NOT less than 0.1. r = 0.104003
VOV follows 1/std::sqrt(N)
VOV is monotonically decrease
FOM distribution is not RANDOM
Number of non zero history too small to calculate SLOPE
This result passes 5 / 8 Convergence Test.
This result passes 4 / 8 Convergence Test.
G4ConvergenceTester Output History of DOSE_TALLY
i/16 till_ith mean var sd r vov fom shift e r2eff r2int
1 62 3.40756e-14 1.169e-26 1.0812e-13 0.399755 0.193578 89.3952 1.76156e-13 0.142857 0.0952381 0.0620294
2 124 3.7305e-14 1.24846e-26 1.11734e-13 0.267895 0.0843864 199.054 1.7151e-13 0.168 0.039619 0.0315748
3 187 3.38144e-14 1.08501e-26 1.04164e-13 0.224665 0.0641222 283.029 1.70577e-13 0.164894 0.0269389 0.0232671
4 249 3.66953e-14 1.25461e-26 1.12009e-13 0.193052 0.0437165 383.313 1.76936e-13 0.168 0.0198095 0.0173104
5 312 3.82984e-14 1.31861e-26 1.14831e-13 0.169475 0.0331906 497.382 1.77553e-13 0.175719 0.0149869 0.0136431
6 374 3.8084e-14 1.29136e-26 1.13638e-13 0.154087 0.0282091 601.686 1.76945e-13 0.181333 0.0120392 0.0116403
7 437 4.06757e-14 1.41925e-26 1.19132e-13 0.139945 0.0229197 729.436 1.80819e-13 0.184932 0.0100626 0.00947732
8 499 4.05023e-14 1.43164e-26 1.19651e-13 0.132115 0.02026 818.461 1.82727e-13 0.18 0.00911111 0.00830834
9 562 4.08697e-14 1.45715e-26 1.20713e-13 0.124479 0.0178644 921.953 1.83762e-13 0.174067 0.00842788 0.00703966
10 624 4.1034e-14 1.46085e-26 1.20866e-13 0.11782 0.0158029 1029.12 1.82451e-13 0.1712 0.00774579 0.00611351
11 687 4.02906e-14 1.43288e-26 1.19703e-13 0.113268 0.0147095 1113.49 1.82967e-13 0.168605 0.0071672 0.0056438
12 749 4.03982e-14 1.43251e-26 1.19688e-13 0.108182 0.0135081 1220.65 1.82937e-13 0.168 0.00660317 0.00508463
13 812 4.16191e-14 1.49498e-26 1.2227e-13 0.103034 0.0118253 1345.68 1.82589e-13 0.166052 0.0061774 0.00442554
14 874 4.06759e-14 1.46139e-26 1.20888e-13 0.100471 0.0113087 1415.2 1.83187e-13 0.163429 0.00585015 0.0042328
15 937 4.13664e-14 1.49574e-26 1.223e-13 0.0965338 0.0103097 1533 1.83417e-13 0.162047 0.00551285 0.00379598
16 999 4.25146e-14 1.54255e-26 1.24199e-13 0.0923808 0.00924203 1673.94 1.82211e-13 0.161 0.00521118 0.00331449
1 62 2.20329e-14 4.90259e-27 7.00185e-14 0.400378 0.199425 155.955 1.1549e-13 0.142857 0.0952381 0.0625202
2 124 2.34269e-14 6.4293e-27 8.01829e-14 0.306134 0.118908 266.757 1.46662e-13 0.136 0.0508235 0.0421449
3 187 2.45584e-14 7.27935e-27 8.53191e-14 0.253377 0.0826821 389.409 1.59603e-13 0.12234 0.0381591 0.0256993
4 249 3.04757e-14 1.01164e-26 1.0058e-13 0.208732 0.0569149 573.801 1.79693e-13 0.136 0.0254118 0.0179831
5 312 3.12423e-14 1.07813e-26 1.03833e-13 0.187854 0.045233 708.432 1.85748e-13 0.14377 0.0190273 0.0161491
6 374 3.38444e-14 1.22816e-26 1.10822e-13 0.169093 0.0338436 874.36 1.89578e-13 0.141333 0.0162013 0.0123148
7 437 3.40306e-14 1.2324e-26 1.11013e-13 0.155872 0.0291665 1028.97 1.90555e-13 0.141553 0.0138459 0.0103947
8 499 3.62482e-14 1.32892e-26 1.15279e-13 0.142226 0.0232946 1235.9 1.8958e-13 0.144 0.0118889 0.00829883
9 562 3.38888e-14 1.26107e-26 1.12297e-13 0.139656 0.0224595 1281.8 1.92861e-13 0.134991 0.0113817 0.00808741
10 624 3.30294e-14 1.23834e-26 1.11281e-13 0.134765 0.0209956 1376.52 1.9485e-13 0.1296 0.0107457 0.007387
11 687 3.34552e-14 1.24371e-26 1.11522e-13 0.127087 0.0187636 1547.87 1.93514e-13 0.130814 0.00965762 0.00647011
12 749 3.3038e-14 1.20797e-26 1.09908e-13 0.121474 0.0175792 1694.24 1.92453e-13 0.137333 0.0083754 0.00636082
13 812 3.30558e-14 1.1981e-26 1.09458e-13 0.116132 0.0162308 1853.67 1.91461e-13 0.137761 0.00769856 0.00577161
14 874 3.39706e-14 1.25205e-26 1.11895e-13 0.111354 0.0145736 2016.19 1.92792e-13 0.138286 0.00712161 0.00526383
15 937 3.38132e-14 1.22942e-26 1.10879e-13 0.107069 0.0135913 2180.8 1.90717e-13 0.141791 0.0064527 0.00499878
16 999 3.39849e-14 1.24928e-26 1.11771e-13 0.104003 0.0127303 2311.27 1.92434e-13 0.141 0.0060922 0.00471353
--------------------End of Global Run-----------------------
The run consists of 1000 gamma of 6 MeV
Dose in scoring volume : 42.5146 picoGy +- 3.92557 picoGy
Dose in scoring volume : 33.9849 picoGy +- 3.53275 picoGy
------------------------------------------------------------
### Run 1 start.
@@ -851,24 +856,24 @@ i/16 till_ith mean var sd r vov
---> Begin of event: 900
G4ConvergenceTester Output Result of DOSE_TALLY
EFFICIENCY = 0.6
MEAN = 4.82914e-12
VAR = 2.15446e-23
SD = 4.64162e-12
R = 0.0303948
SHIFT = 2.00047e-13
VOV = 0.000163779
FOM = 2460.07
THE LARGEST SCORE = 1.07334e-11 and it happend at 461th event
Affected Mean = 4.83504e-12 and its ratio to orignal is 1.00122
Affected VAR = 2.15579e-23 and its ratio to orignal is 1.00062
Affected R = 0.0303519 and its ratio to orignal is 0.998589
Affected SHIFT = 1.95654e-13 and its ratio to orignal is 0.978042
Affected FOM = 2460.07 and its ratio to orignal is 1
EFFICIENCY = 0.65
MEAN = 5.17767e-12
VAR = 2.12329e-23
SD = 4.60792e-12
R = 0.028143
SHIFT = -1.16905e-13
VOV = 0.000170175
FOM = 4072.84
THE LARGEST SCORE = 1.07285e-11 and it happend at 245th event
Affected Mean = 5.18322e-12 and its ratio to orignal is 1.00107
Affected VAR = 2.12425e-23 and its ratio to orignal is 1.00045
Affected R = 0.0281052 and its ratio to orignal is 0.998656
Affected SHIFT = -1.21024e-13 and its ratio to orignal is 1.03523
Affected FOM = 4072.84 and its ratio to orignal is 1
MEAN distribution is RANDOM
r follows 1/std::sqrt(N)
r is monotonically decrease
r is less than 0.1. r = 0.0303948
r is less than 0.1. r = 0.028143
VOV follows 1/std::sqrt(N)
VOV is monotonically decrease
FOM distribution is not RANDOM
@@ -878,26 +883,26 @@ This result passes 6 / 8 Convergence Test.
G4ConvergenceTester Output History of DOSE_TALLY
i/16 till_ith mean var sd r vov fom shift e r2eff r2int
1 62 4.61605e-12 2.02026e-23 4.49473e-12 0.122677 0.0036813 151.015 3.23951e-13 0.587302 0.011154 0.00365674
2 124 4.94168e-12 2.11282e-23 4.59654e-12 0.0831958 0.00144817 328.356 8.40351e-14 0.624 0.00482051 0.00204565
3 187 5.01399e-12 2.16044e-23 4.64805e-12 0.0676096 0.00080685 497.2 4.86855e-14 0.62766 0.00315543 0.00139131
4 249 4.91852e-12 2.1617e-23 4.64941e-12 0.0597852 0.000626354 635.857 1.55479e-13 0.624 0.00241026 0.00114972
5 312 4.77435e-12 2.17727e-23 4.66613e-12 0.0552421 0.000502584 744.743 2.65612e-13 0.600639 0.00212426 0.000917682
6 374 4.71702e-12 2.14274e-23 4.62898e-12 0.0506759 0.000478646 885.003 3.3192e-13 0.602667 0.00175811 0.000803086
7 437 4.75373e-12 2.13108e-23 4.61637e-12 0.0464012 0.000411752 1055.58 2.84585e-13 0.605023 0.00149048 0.000657672
8 499 4.78615e-12 2.13725e-23 4.62304e-12 0.0431973 0.000352538 1217.96 2.55312e-13 0.61 0.00127869 0.000583584
9 562 4.81217e-12 2.11693e-23 4.60101e-12 0.0402957 0.000321526 1399.68 2.12971e-13 0.614565 0.00111397 0.000506884
10 624 4.8333e-12 2.13487e-23 4.62046e-12 0.0382386 0.000279963 1554.33 2.03166e-13 0.6096 0.00102467 0.000435179
11 687 4.80129e-12 2.14584e-23 4.63232e-12 0.0367829 0.000249576 1679.79 2.31226e-13 0.600291 0.000967819 0.000383196
12 749 4.80302e-12 2.14777e-23 4.63441e-12 0.0352329 0.000229314 1830.84 2.32084e-13 0.6 0.000888889 0.000350816
13 812 4.73793e-12 2.14408e-23 4.63042e-12 0.0342756 0.000216971 1934.53 2.8748e-13 0.594096 0.000840381 0.000332994
14 874 4.80178e-12 2.15371e-23 4.6408e-12 0.0326729 0.000189084 2128.99 2.25037e-13 0.597714 0.000769189 0.000297107
15 937 4.80226e-12 2.15669e-23 4.64402e-12 0.0315753 0.000174641 2279.57 2.25381e-13 0.597015 0.000719616 0.000276318
16 999 4.82914e-12 2.15446e-23 4.64162e-12 0.0303948 0.000163779 2460.07 2.00047e-13 0.6 0.000666667 0.000256255
1 62 4.92939e-12 2.22357e-23 4.71548e-12 0.120521 0.00227794 222.082 1.06901e-13 0.634921 0.00912698 0.00516775
2 124 5.16698e-12 2.18178e-23 4.67095e-12 0.0808563 0.00114009 493.413 -1.35691e-13 0.64 0.0045 0.00198544
3 187 5.63029e-12 2.12553e-23 4.61035e-12 0.0597207 0.00116597 904.46 -5.354e-13 0.675532 0.00255487 0.000992719
4 249 5.51323e-12 2.16296e-23 4.65076e-12 0.0533517 0.000729821 1133.29 -4.38441e-13 0.656 0.00209756 0.000737457
5 312 5.43227e-12 2.17004e-23 4.65837e-12 0.0484708 0.000555278 1373.02 -3.6532e-13 0.645367 0.00175561 0.000586307
6 374 5.36999e-12 2.13209e-23 4.61746e-12 0.0444031 0.000483163 1636.1 -3.17426e-13 0.650667 0.00143169 0.000534688
7 437 5.39702e-12 2.11639e-23 4.60042e-12 0.0407293 0.000433377 1944.58 -3.26685e-13 0.659817 0.0011771 0.000477984
8 499 5.40132e-12 2.09622e-23 4.57845e-12 0.0379082 0.000393353 2244.77 -3.23748e-13 0.67 0.000985075 0.000449083
9 562 5.30475e-12 2.1173e-23 4.60142e-12 0.0365571 0.000319745 2413.76 -2.40902e-13 0.65897 0.000919219 0.00041483
10 624 5.16211e-12 2.11641e-23 4.60044e-12 0.0356478 0.000277799 2538.48 -1.00302e-13 0.6496 0.000863054 0.000405678
11 687 5.18025e-12 2.11592e-23 4.59992e-12 0.0338536 0.00025067 2814.67 -1.14961e-13 0.652616 0.000773683 0.000370718
12 749 5.24875e-12 2.11799e-23 4.60217e-12 0.0320167 0.000231782 3146.93 -1.75212e-13 0.658667 0.000690958 0.000332741
13 812 5.23911e-12 2.11852e-23 4.60273e-12 0.0308115 0.000214064 3397.92 -1.64244e-13 0.656827 0.000642647 0.000305533
14 874 5.14229e-12 2.11561e-23 4.59957e-12 0.0302383 0.000196146 3527.96 -8.35975e-14 0.648 0.000620811 0.000292499
15 937 5.07624e-12 2.11544e-23 4.59939e-12 0.029584 0.000182252 3685.73 -2.63524e-14 0.641791 0.000595031 0.00027925
16 999 5.17767e-12 2.12329e-23 4.60792e-12 0.028143 0.000170175 4072.84 -1.16905e-13 0.65 0.000538462 0.000252775
--------------------End of Global Run-----------------------
The run consists of 1000 proton of 210 MeV
Dose in scoring volume : 4.82914 nanoGy +- 146.708 picoGy
Dose in scoring volume : 5.17767 nanoGy +- 145.642 picoGy
------------------------------------------------------------
Graphics systems deleted.
+49 -42
View File
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-03-ref-06 (30-June-2017)
Geant4 version Name: geant4-10-04-ref-00 (08-December-2017)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -143,7 +143,7 @@ eBrem: for e- SubType= 3
CoulombScat: for e-, integral: 1 SubType= 1 BuildTable= 1
Lambda table from 100 MeV to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
@@ -174,12 +174,12 @@ annihil: for e+, integral: 1 SubType= 5 BuildTable= 0
CoulombScat: for e+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from 100 MeV to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
msc: for proton SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -205,8 +205,8 @@ hPairProd: for proton SubType= 4
hPairProd : Emin= 0 eV Emax= 100 TeV
CoulombScat: for proton, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of anti_proton
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -238,7 +238,7 @@ ionIoni: for alpha SubType= 2
BetheBloch : Emin= 7.9452 MeV Emax= 100 TeV
msc: for anti_proton SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -265,12 +265,12 @@ hPairProd: for anti_proton SubType= 4
CoulombScat: for anti_proton, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for kaon+ SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -297,12 +297,12 @@ hPairProd: for kaon+ SubType= 4
CoulombScat: for kaon+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for kaon- SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -329,7 +329,7 @@ hPairProd: for kaon- SubType= 4
CoulombScat: for kaon-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of kaon+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -362,7 +362,7 @@ muPairProd: for mu+ SubType= 4
CoulombScat: for mu+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -395,12 +395,12 @@ muPairProd: for mu- SubType= 4
CoulombScat: for mu-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of mu+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for pi+ SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -427,12 +427,12 @@ hPairProd: for pi+ SubType= 4
CoulombScat: for pi+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for pi- SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -459,7 +459,7 @@ hPairProd: for pi- SubType= 4
CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of pi+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -659,6 +659,7 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 2.88022e+295 J
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: kaon+Inelastic
@@ -673,6 +674,7 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 2.88022e+295 J
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: kaon-Inelastic
@@ -781,16 +783,21 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
====== Pre-compound/De-excitation Physics Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Pre-compound model active 1
Pre-compound low energy (MeV) 0.1
Type of de-excitation inverse x-section 3
Type of de-excitation factory Evaporation
Number of de-excitation channels 8
Min excitation energy (keV) 0.01
Min energy per nucleon for multifragmentation (MeV) 1e+05
Level density (1/MeV) 0.1
Time limit for long lived isomeres (ns) 1e+12
Use new data files 1
Use complete data files 0
Correlated gamma emission flag 0
Internal e- conversion flag 1
Store e- internal conversion data 0
Electron internal conversion ID 2
Correlated gamma emission flag 0
Max 2J for sampling of angular correlations 10
=======================================================================
Number of de-excitation channels 8
++ ConcreteSD/Collisions id 0
++ ConcreteSD/CollWeight id 1
++ ConcreteSD/Population id 2
@@ -808,24 +815,24 @@ Number of de-excitation channels 8
=============================================================
=============================================================
Volume | Tr.Entering | Population | Collisions | Coll*WGT | NumWGTedE | FluxWGTedE | Av.Tr.WGT | SL | SLW | SLW_v | SLWE | SLWE_v |
cell_00 | 43 | 138 | 43 | 43 | 0.269961 | 3.09155 | 1 | 9161.62 | 9161.62 | 3818.59 | 28323.6 | 1030.87 |
cell_01 | 171 | 197 | 706 | 706 | 0.00862421 | 3.77294 | 1 | 27455.7 | 27455.7 | 345351 | 103589 | 2978.38 |
cell_02 | 157 | 253 | 1287 | 643.5 | 0.0105644 | 2.51164 | 0.5 | 44945.9 | 22472.9 | 176267 | 56443.8 | 1862.14 |
cell_03 | 199 | 288 | 1682 | 420.5 | 0.00512669 | 1.77678 | 0.25 | 53927 | 13481.7 | 172114 | 23954.1 | 882.374 |
cell_04 | 233 | 334 | 2042 | 255.25 | 0.00514352 | 1.50029 | 0.125 | 65550 | 8193.75 | 92443.9 | 12293 | 475.487 |
cell_05 | 230 | 326 | 1850 | 115.625 | 0.00391072 | 1.37799 | 0.0625 | 59125.6 | 3695.35 | 52216.3 | 5092.16 | 204.204 |
cell_06 | 203 | 309 | 1988 | 62.125 | 0.00319642 | 1.33752 | 0.03125 | 58141.9 | 1816.94 | 29517.1 | 2430.2 | 94.349 |
cell_07 | 170 | 260 | 1672 | 26.125 | 0.0027297 | 1.23743 | 0.015625 | 47737.8 | 745.903 | 13292.8 | 923.002 | 36.2854 |
cell_08 | 152 | 232 | 1533 | 11.9766 | 0.00237476 | 1.16653 | 0.0078125 | 43290.8 | 338.209 | 6726.91 | 394.53 | 15.9748 |
cell_09 | 138 | 201 | 1328 | 5.1875 | 0.00289986 | 1.12155 | 0.00390625 | 39387.3 | 153.856 | 2508.87 | 172.557 | 7.27537 |
cell_10 | 116 | 172 | 965 | 1.88477 | 0.00296304 | 1.42684 | 0.00195312 | 29202 | 57.0351 | 1100.65 | 81.3799 | 3.26127 |
cell_11 | 117 | 167 | 868 | 0.847656 | 0.00360388 | 1.50224 | 0.000976562 | 27770.3 | 27.1194 | 449.216 | 40.7398 | 1.61892 |
cell_12 | 111 | 163 | 1021 | 0.498535 | 0.00399791 | 1.24975 | 0.000488281 | 31225.7 | 15.2469 | 201.653 | 19.0548 | 0.806192 |
cell_13 | 114 | 158 | 1055 | 0.257568 | 0.00243184 | 0.997498 | 0.000244141 | 31752.9 | 7.75216 | 143.025 | 7.73276 | 0.347814 |
cell_14 | 120 | 166 | 1173 | 0.143188 | 0.00207952 | 0.888924 | 0.00012207 | 32908.9 | 4.01721 | 77.0525 | 3.57099 | 0.160232 |
cell_15 | 99 | 145 | 1112 | 0.0678711 | 0.00219222 | 0.831228 | 6.10352e-05 | 31192.2 | 1.90382 | 34.6344 | 1.58251 | 0.0759262 |
cell_16 | 79 | 115 | 822 | 0.0250854 | 0.00289135 | 0.887379 | 3.05176e-05 | 23636.4 | 0.721327 | 10.5454 | 0.64009 | 0.0304905 |
cell_17 | 63 | 95 | 610 | 0.00930786 | 0.00219074 | 0.919001 | 1.52588e-05 | 17962.7 | 0.274089 | 5.02528 | 0.251888 | 0.0110091 |
cell_18 | 40 | 72 | 473 | 0.0036087 | 0.0018605 | 0.83893 | 7.62939e-06 | 13544.1 | 0.103333 | 2.24491 | 0.0866894 | 0.00417665 |
cell_19 | 25 | 25 | 25 | 0.000190735 | 0.0214968 | 1.67404 | 7.62939e-06 | 3507.2 | 0.0267578 | 0.0907225 | 0.0447937 | 0.00195024 |
cell_00 | 46 | 141 | 46 | 46 | 0.0674105 | 1.5039 | 1 | 9011.04 | 9011.04 | 9521.73 | 13551.7 | 641.864 |
cell_01 | 142 | 182 | 462 | 462 | 0.038244 | 4.31492 | 1 | 22429.5 | 22429.5 | 72463.7 | 96781.7 | 2771.3 |
cell_02 | 159 | 244 | 1236 | 618 | 0.00895475 | 2.60138 | 0.5 | 43964.6 | 21982.3 | 202963 | 57184.2 | 1817.48 |
cell_03 | 211 | 338 | 1889 | 472.25 | 0.00647752 | 2.07685 | 0.25 | 63124.5 | 15781.1 | 174386 | 32775 | 1129.59 |
cell_04 | 239 | 395 | 1976 | 247 | 0.00605754 | 1.85262 | 0.125 | 62139.3 | 7767.41 | 83317.8 | 14390.1 | 504.701 |
cell_05 | 250 | 391 | 2124 | 132.75 | 0.00427618 | 1.59496 | 0.0625 | 65355.6 | 4084.72 | 54777.1 | 6514.96 | 234.237 |
cell_06 | 282 | 414 | 2457 | 76.7812 | 0.00437074 | 1.52331 | 0.03125 | 76003.3 | 2375.1 | 32584.6 | 3618.02 | 142.419 |
cell_07 | 342 | 457 | 3148 | 49.1875 | 0.00453159 | 1.15396 | 0.015625 | 94297.3 | 1473.4 | 16495.4 | 1700.24 | 74.7505 |
cell_08 | 312 | 451 | 3095 | 24.1797 | 0.00251441 | 0.974783 | 0.0078125 | 86196.5 | 673.41 | 11475.5 | 656.429 | 28.8542 |
cell_09 | 254 | 383 | 2599 | 10.1523 | 0.00243638 | 0.943723 | 0.00390625 | 71978.9 | 281.168 | 4726.18 | 265.344 | 11.5147 |
cell_10 | 215 | 323 | 2191 | 4.2793 | 0.00199504 | 0.877105 | 0.00195312 | 58969.4 | 115.175 | 2265.86 | 101.02 | 4.52048 |
cell_11 | 179 | 268 | 1894 | 1.84961 | 0.00186969 | 0.731361 | 0.000976562 | 53073.5 | 51.8296 | 942.691 | 37.9061 | 1.76254 |
cell_12 | 146 | 215 | 1443 | 0.70459 | 0.00202237 | 0.928678 | 0.000488281 | 38156.7 | 18.6312 | 346.919 | 17.3024 | 0.701597 |
cell_13 | 127 | 179 | 1242 | 0.303223 | 0.00209313 | 0.909328 | 0.000244141 | 33288.1 | 8.12697 | 146.837 | 7.39008 | 0.307348 |
cell_14 | 97 | 138 | 909 | 0.110962 | 0.00189555 | 0.667416 | 0.00012207 | 25384.5 | 3.09869 | 55.9147 | 2.06811 | 0.105989 |
cell_15 | 62 | 94 | 663 | 0.0404663 | 0.0013431 | 0.424428 | 6.10352e-05 | 16830.7 | 1.02727 | 21.0595 | 0.436 | 0.028285 |
cell_16 | 30 | 51 | 364 | 0.0111084 | 0.00106388 | 0.425863 | 3.05176e-05 | 8847.46 | 0.270003 | 5.87083 | 0.114984 | 0.00624586 |
cell_17 | 13 | 22 | 146 | 0.00222778 | 0.0018381 | 0.811162 | 1.52588e-05 | 3937 | 0.0600739 | 1.10996 | 0.0487297 | 0.00204023 |
cell_18 | 8 | 14 | 63 | 0.000480652 | 0.00319016 | 1.63053 | 7.62939e-06 | 2433.11 | 0.0185632 | 0.412518 | 0.0302679 | 0.001316 |
cell_19 | 4 | 4 | 4 | 3.05176e-05 | 0.440611 | 1.56552 | 7.62939e-06 | 612.384 | 0.00467212 | 0.000787281 | 0.00731428 | 0.000346884 |
=============================================
+40 -30
View File
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-03-ref-06 (30-June-2017)
Geant4 version Name: geant4-10-04-ref-00 (08-December-2017)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -473,30 +473,40 @@ hIoni: for pi- SubType= 2
====== Pre-compound/De-excitation Physics Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Pre-compound model active 1
Pre-compound low energy (MeV) 0.1
Type of de-excitation inverse x-section 3
Type of de-excitation factory Evaporation
Number of de-excitation channels 8
Min excitation energy (keV) 0.01
Min energy per nucleon for multifragmentation (MeV) 1e+05
Level density (1/MeV) 0.1
Time limit for long lived isomeres (ns) 1e+12
Use new data files 1
Use complete data files 0
Correlated gamma emission flag 0
Internal e- conversion flag 1
Store e- internal conversion data 0
Electron internal conversion ID 0
Correlated gamma emission flag 0
Max 2J for sampling of angular correlations 10
=======================================================================
Number of de-excitation channels 8
=======================================================================
====== Pre-compound/De-excitation Physics Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Pre-compound model active 1
Pre-compound low energy (MeV) 0.1
Type of de-excitation inverse x-section 3
Type of de-excitation factory Evaporation
Number of de-excitation channels 8
Min excitation energy (keV) 0.01
Min energy per nucleon for multifragmentation (MeV) 1e+05
Level density (1/MeV) 0.1
Time limit for long lived isomeres (ns) 1e+12
Use new data files 1
Use complete data files 0
Correlated gamma emission flag 0
Internal e- conversion flag 1
Store e- internal conversion data 0
Electron internal conversion ID 0
Correlated gamma emission flag 0
Max 2J for sampling of angular correlations 10
=======================================================================
Number of de-excitation channels 8
++ ConcreteSD/Collisions id 0
++ ConcreteSD/CollWeight id 1
++ ConcreteSD/Population id 2
@@ -512,7 +522,7 @@ Number of de-excitation channels 8
*** G4Exception : GeomBias1001
issued by : G4ImportanceAlgorithm::Warning()
Calculate() - ipre_over_ipost ! in [0.25, 4].
ipre_over_ipost = 1024.
ipre_over_ipost = 2048.
*** This is just a warning message. ***
-------- WWWW -------- G4Exception-END --------- WWWW -------
@@ -532,24 +542,24 @@ ipre_over_ipost = 1024.
=============================================================
=============================================================
Volume | Tr.Entering | Population | Collisions | Coll*WGT | NumWGTedE | FluxWGTedE | Av.Tr.WGT | SL | SLW | SLW_v | SLWE | SLWE_v |
cell_00 | 39 | 134 | 0 | 0 | 0.557525 | 1.90683 | 1 | 6675.43 | 6675.43 | 1003.63 | 12728.9 | 559.548 |
cell_01 | 146 | 180 | 658 | 658 | 0.559485 | 4.06338 | 1 | 26095.6 | 26095.6 | 5444.36 | 106036 | 3046.04 |
cell_02 | 161 | 263 | 1095 | 547.5 | 0.276005 | 2.93392 | 0.5 | 41121.9 | 20561 | 6760.95 | 60324.1 | 1866.05 |
cell_03 | 229 | 380 | 1721 | 430.25 | 0.219276 | 2.55702 | 0.25 | 59950.7 | 14987.7 | 5662.23 | 38323.7 | 1241.59 |
cell_04 | 266 | 434 | 2198 | 274.75 | 0.184252 | 2.08522 | 0.125 | 70692.6 | 8836.58 | 3449.8 | 18426.2 | 635.632 |
cell_05 | 313 | 507 | 2522 | 157.625 | 0.20019 | 1.91021 | 0.0625 | 86204.5 | 5387.78 | 1897.28 | 10291.8 | 379.816 |
cell_06 | 412 | 589 | 3632 | 113.5 | 0.144251 | 1.57436 | 0.03125 | 113936 | 3560.5 | 1501.05 | 5605.53 | 216.528 |
cell_07 | 418 | 645 | 3758 | 58.7188 | 0.114837 | 1.407 | 0.015625 | 113562 | 1774.41 | 864.322 | 2496.6 | 99.2561 |
cell_08 | 347 | 535 | 2799 | 21.8672 | 0.131633 | 1.6203 | 0.0078125 | 89192.8 | 696.819 | 324.336 | 1129.06 | 42.6932 |
cell_09 | 359 | 539 | 2815 | 10.9961 | 0.116227 | 1.48077 | 0.00390625 | 86697.5 | 338.662 | 166.879 | 501.482 | 19.3959 |
cell_10 | 337 | 510 | 2973 | 5.80664 | 0.102141 | 1.25111 | 0.00195312 | 89143.7 | 174.109 | 86.9403 | 217.829 | 8.88015 |
cell_11 | 293 | 483 | 2754 | 2.68945 | 0.118775 | 1.34748 | 0.000976562 | 85645.5 | 83.6382 | 38.6769 | 112.701 | 4.59384 |
cell_12 | 285 | 445 | 2551 | 1.24561 | 0.121854 | 1.26132 | 0.000488281 | 80679.3 | 39.3942 | 17.2385 | 49.6887 | 2.10058 |
cell_13 | 250 | 387 | 2233 | 0.545166 | 0.0975149 | 1.19817 | 0.000244141 | 68442.7 | 16.7096 | 8.53965 | 20.021 | 0.832744 |
cell_14 | 238 | 358 | 2063 | 0.251831 | 0.0938981 | 1.243 | 0.00012207 | 64133.2 | 7.82876 | 4.24947 | 9.73117 | 0.399017 |
cell_15 | 235 | 346 | 2055 | 0.125427 | 0.0952804 | 1.20836 | 6.10352e-05 | 61746.4 | 3.7687 | 2.01809 | 4.55395 | 0.192284 |
cell_16 | 209 | 319 | 1840 | 0.0561523 | 0.0910099 | 1.10356 | 3.05176e-05 | 54478.7 | 1.66256 | 0.890931 | 1.83473 | 0.0810835 |
cell_17 | 167 | 261 | 1587 | 0.0242157 | 0.119453 | 1.18756 | 1.52588e-05 | 47281.2 | 0.721454 | 0.315696 | 0.856768 | 0.037711 |
cell_18 | 104 | 211 | 1070 | 0.00816345 | 0.115318 | 1.36904 | 7.62939e-06 | 33738.8 | 0.257407 | 0.122904 | 0.3524 | 0.0141731 |
cell_19 | 74 | 74 | 0 | 0 | 0.267249 | 2.21452 | 7.62939e-06 | 11803.2 | 0.0900511 | 0.0272309 | 0.19942 | 0.00727742 |
cell_00 | 33 | 127 | 0 | 0 | 0.620024 | 3.43767 | 1 | 6355.18 | 6355.18 | 1132.94 | 21847 | 702.451 |
cell_01 | 165 | 187 | 680 | 680 | 0.555834 | 4.12095 | 1 | 26867.2 | 26867.2 | 5729.81 | 110718 | 3184.82 |
cell_02 | 194 | 302 | 1380 | 690 | 0.287475 | 2.82991 | 0.5 | 51356.9 | 25678.4 | 8050.14 | 72667.6 | 2314.22 |
cell_03 | 247 | 408 | 1992 | 498 | 0.245255 | 2.29095 | 0.25 | 69329.5 | 17332.4 | 5654.46 | 39707.7 | 1386.79 |
cell_04 | 283 | 463 | 2271 | 283.875 | 0.214552 | 2.11838 | 0.125 | 75863.4 | 9482.93 | 3308.63 | 20088.4 | 709.871 |
cell_05 | 298 | 482 | 2723 | 170.188 | 0.15103 | 1.60543 | 0.0625 | 86003.2 | 5375.2 | 2194.15 | 8629.53 | 331.382 |
cell_06 | 307 | 475 | 2747 | 85.8438 | 0.124111 | 1.45914 | 0.03125 | 83428.7 | 2607.15 | 1193.04 | 3804.2 | 148.069 |
cell_07 | 282 | 447 | 2430 | 37.9688 | 0.147354 | 1.77392 | 0.015625 | 79013.3 | 1234.58 | 548.762 | 2190.06 | 80.8622 |
cell_08 | 288 | 447 | 2472 | 19.3125 | 0.172339 | 1.75055 | 0.0078125 | 80844 | 631.593 | 245.877 | 1105.63 | 42.3743 |
cell_09 | 315 | 497 | 2868 | 11.2031 | 0.147122 | 1.5272 | 0.00390625 | 89420.7 | 349.3 | 146.72 | 533.452 | 21.5858 |
cell_10 | 283 | 437 | 2626 | 5.12891 | 0.127003 | 1.36381 | 0.00195312 | 81147.4 | 158.491 | 70.8169 | 216.152 | 8.99394 |
cell_11 | 295 | 446 | 2522 | 2.46289 | 0.117928 | 1.27398 | 0.000976562 | 77409.9 | 75.5956 | 35.6749 | 96.3071 | 4.20708 |
cell_12 | 276 | 416 | 2439 | 1.19092 | 0.112119 | 1.18784 | 0.000488281 | 75772.9 | 36.9985 | 17.3878 | 43.9484 | 1.94951 |
cell_13 | 211 | 329 | 1981 | 0.483643 | 0.116311 | 1.11743 | 0.000244141 | 59618.7 | 14.5554 | 6.60501 | 16.2645 | 0.768236 |
cell_14 | 198 | 266 | 1656 | 0.202148 | 0.106934 | 0.983916 | 0.00012207 | 53047.6 | 6.47554 | 2.91133 | 6.37139 | 0.31132 |
cell_15 | 172 | 287 | 1798 | 0.109741 | 0.0990253 | 0.963714 | 6.10352e-05 | 53302.7 | 3.25334 | 1.54087 | 3.13529 | 0.152585 |
cell_16 | 139 | 221 | 1480 | 0.045166 | 0.0710507 | 0.87768 | 3.05176e-05 | 41901.4 | 1.27873 | 0.738799 | 1.12232 | 0.0524922 |
cell_17 | 104 | 171 | 1004 | 0.0153198 | 0.110897 | 1.12874 | 1.52588e-05 | 30937.7 | 0.472073 | 0.214365 | 0.532849 | 0.0237724 |
cell_18 | 69 | 141 | 786 | 0.0059967 | 0.124888 | 1.48498 | 7.62939e-06 | 24139.1 | 0.184167 | 0.0859338 | 0.273485 | 0.0107321 |
cell_19 | 54 | 54 | 0 | 0 | 0.296031 | 2.6202 | 7.62939e-06 | 9756.39 | 0.0744353 | 0.0226006 | 0.195036 | 0.00669049 |
=============================================
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+36 -31
View File
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-03-ref-06 (30-June-2017)
Geant4 version Name: geant4-10-04-ref-00 (08-December-2017)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -59,9 +59,7 @@ End of Event User Vis Actions: none
End of Run User Vis Actions: none
Some /vis commands (optionally) take a string to specify colour.
Available colours:
black, blue, brown, cyan, gray, green, grey, magenta, red, white, yellow
"/vis/list" to see available colours.
--------------------------------------------------------
Absorber is made of Lead
Gap is made of Scintillator
@@ -127,7 +125,7 @@ eBrem: for e- SubType= 3
CoulombScat: for e-, integral: 1 SubType= 1 BuildTable= 1
Lambda table from 100 MeV to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
@@ -158,12 +156,12 @@ annihil: for e+, integral: 1 SubType= 5 BuildTable= 0
CoulombScat: for e+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from 100 MeV to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
msc: for proton SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -189,8 +187,8 @@ hPairProd: for proton SubType= 4
hPairProd : Emin= 0 eV Emax= 100 TeV
CoulombScat: for proton, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of anti_proton
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -222,7 +220,7 @@ ionIoni: for alpha SubType= 2
BetheBloch : Emin= 7.9452 MeV Emax= 100 TeV
msc: for anti_proton SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -249,12 +247,12 @@ hPairProd: for anti_proton SubType= 4
CoulombScat: for anti_proton, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for kaon+ SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -281,12 +279,12 @@ hPairProd: for kaon+ SubType= 4
CoulombScat: for kaon+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for kaon- SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -313,7 +311,7 @@ hPairProd: for kaon- SubType= 4
CoulombScat: for kaon-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of kaon+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -346,7 +344,7 @@ muPairProd: for mu+ SubType= 4
CoulombScat: for mu+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -379,12 +377,12 @@ muPairProd: for mu- SubType= 4
CoulombScat: for mu-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of mu+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for pi+ SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -411,12 +409,12 @@ hPairProd: for pi+ SubType= 4
CoulombScat: for pi+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for pi- SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -443,7 +441,7 @@ hPairProd: for pi- SubType= 4
CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of pi+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -643,6 +641,7 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 2.88022e+295 J
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: kaon+Inelastic
@@ -657,6 +656,7 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 2.88022e+295 J
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: kaon-Inelastic
@@ -765,16 +765,21 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
====== Pre-compound/De-excitation Physics Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Pre-compound model active 1
Pre-compound low energy (MeV) 0.1
Type of de-excitation inverse x-section 3
Type of de-excitation factory Evaporation
Number of de-excitation channels 8
Min excitation energy (keV) 0.01
Min energy per nucleon for multifragmentation (MeV) 1e+05
Level density (1/MeV) 0.1
Time limit for long lived isomeres (ns) 1e+12
Use new data files 1
Use complete data files 0
Correlated gamma emission flag 0
Internal e- conversion flag 1
Store e- internal conversion data 0
Electron internal conversion ID 2
Correlated gamma emission flag 0
Max 2J for sampling of angular correlations 10
=======================================================================
Number of de-excitation channels 8
Region <DefaultRegionForTheWorld> -- -- appears in <World> world volume
This region is in the mass world.
@@ -834,7 +839,7 @@ GB03BOptrGeometryBasedBiasing : starting run with splitting factor = 2, and prob
Run terminated.
Run Summary
Number of events processed : 10
User=0.3s Real=0.3s Sys=0.01s
User=0.21s Real=0.22s Sys=0s
Region <DefaultRegionForTheWorld> -- -- appears in <World> world volume
This region is in the mass world.
@@ -894,7 +899,7 @@ GB03BOptrGeometryBasedBiasing : starting run with splitting factor = 2, and prob
Run terminated.
Run Summary
Number of events processed : 10
User=0.49s Real=0.5s Sys=0s
User=0.07s Real=0.07s Sys=0s
Graphics systems deleted.
Visualization Manager deleting...
G4 kernel has come to Quit state.
@@ -907,9 +912,9 @@ G4SDManager deleted.
EventManager deleted.
Units table cleared.
TransportationManager deleted.
Total navigation history collections cleaned: 85
Total navigation history collections cleaned: 76
================== Deleting memory pools ===================
Pool ID '20G4NavigationLevelRep', size : 0.13 MB
Pool ID '20G4NavigationLevelRep', size : 0.117 MB
Pool ID '24G4ReferenceCountedHandleIvE', size : 0.000961 MB
Pool ID '17G4DynamicParticle', size : 0.0365 MB
Pool ID '7G4Event', size : 0.000961 MB
@@ -918,11 +923,11 @@ Pool ID '17G4PrimaryParticle', size : 0.000961 MB
Pool ID '15G4HCofThisEvent', size : 0.000961 MB
Pool ID '16G4HitsCollection', size : 0 MB
Pool ID '7G4Track', size : 0.0721 MB
Pool ID '18G4TouchableHistory', size : 0.0106 MB
Pool ID '18G4TouchableHistory', size : 0.00961 MB
Pool ID '15G4CountedObjectIvE', size : 0.00192 MB
Pool ID '10G4Fragment', size : 0.00192 MB
Number of memory pools allocated: 12 of which, static: 0
Dynamic pools deleted: 12 / Total memory freed: 0.26 MB
Dynamic pools deleted: 12 / Total memory freed: 0.24 MB
============================================================
G4Allocator objects are deleted.
UImanager deleted.
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+10 -1
View File
@@ -1,4 +1,4 @@
$Id: History 101420 2016-11-17 10:37:14Z gcosmo $
$Id: History 107258 2017-11-07 09:58:16Z gcosmo $
-------------------------------------------------------------------
=========================================================
@@ -16,6 +16,15 @@ committal in the CVS repository !
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
Nov 6, 2017 V.Ivanchenko (ReverseMC01-V10-03-01)
- G4AdjointPhysicsList - use SetEmModel(..) instead of AddEmModel
where possible in order to remove initialisation warning
Oct 12, 2017 V.Ivanchenko (ReverseMC01-V10-03-00)
- G4AdjointPhysicsList - do not reset lateral displacement
algorithm in the Urban msc model
Nov 16, 2016 L. Desorgher (ReverseMC01-V10-02-03)
- New attempt to solve the FPE issue RMC01AnalysisManager::ComputeMeanEdepAndError()
remove of floating point exception issue.
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-03-ref-06 (30-June-2017)
Geant4 version Name: geant4-10-04-ref-00 (08-December-2017)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -56,9 +56,7 @@ End of Event User Vis Actions: none
End of Run User Vis Actions: none
Some /vis commands (optionally) take a string to specify colour.
Available colours:
black, blue, brown, cyan, gray, green, grey, magenta, red, white, yellow
"/vis/list" to see available colours.
G4AdjointPhysicsList::SetCuts:CutLength : 1 mm
G4AdjointPhysicsList::SetCuts:CutLength : 10 um
/adjoint/DefineExtSourceOnExtSurfaceOfAVolume Shielding
@@ -321,11 +319,11 @@ nb event 175000
1% Precision reached!
Run terminated.
Run Summary
Run Aborted after 177858 events processed.
User=115.24s Real=115.85s Sys=0.15s
Run Aborted after 175178 events processed.
User=80.12s Real=80.31s Sys=0.05s
Results of reverse/adjoint simulation!
normalised edep [MeV] = 0.00167091
error[MeV] = 1.67088e-05
normalised edep [MeV] = 0.00167385
error[MeV] = 1.67379e-05
----> Histogram Tree is saved in adjoint_sim.root
Graphics systems deleted.
@@ -333,6 +331,6 @@ Visualization Manager deleting...
G4 kernel has come to Quit state.
================== Deleting memory pools ===================
Number of memory pools allocated: 12 of which, static: 1
Dynamic pools deleted: 11 / Total memory freed: 29 MB
Dynamic pools deleted: 11 / Total memory freed: 28 MB
============================================================
RunManagerKernel is deleted. Good bye :)
@@ -26,7 +26,7 @@
/// \file biasing/ReverseMC01/src/G4AdjointPhysicsList.cc
/// \brief Implementation of the G4AdjointPhysicsList class
//
// $Id: G4AdjointPhysicsList.cc 101303 2016-11-14 11:21:18Z gcosmo $
// $Id: G4AdjointPhysicsList.cc 107258 2017-11-07 09:58:16Z gcosmo $
//
//////////////////////////////////////////////////////////////
// Class Name: G4AdjointPhysicsList
@@ -262,12 +262,10 @@ void G4AdjointPhysicsList::ConstructEM()
if (fUse_ms) {
theeminusMS = new G4eMultipleScattering();
G4UrbanMscModel* msc1 = new G4UrbanMscModel();
msc1->SetNewDisplacementFlag(false);
theeminusMS->AddEmModel(0, msc1);
theeminusMS->SetEmModel(msc1);
theeminusAdjointMS = new G4eAdjointMultipleScattering();
G4UrbanAdjointMscModel* msc2 = new G4UrbanAdjointMscModel();
msc2->SetNewDisplacementFlag(false);
theeminusAdjointMS->AddEmModel(0, msc2);
theeminusAdjointMS->SetEmModel(msc2);
thepMS = new G4hMultipleScattering();
}
+2 -5
View File
@@ -8,21 +8,18 @@
In order to reduce code duplication and to reduce the number of variants of
the code of same kind, we define a set of common classes which
can be reused in "feature" examples demonstrating just a particular feature.
This module is going to be enhanced in future. Currently it provides
This module may be enhanced in future. Currently it provides
the following sets of classes:
- Detector construction classes
- two simple detector construction classes with a messenger
- Physics list classes
- ExG4PhysicsList00 - physics list with geantino and chargedgeantino only
- GeantinoPhysicsList - physics list with geantino and chargedgeantino only
- Primary generator classes
- two simple primary generator classes (with G4ParticleGun and
G4ParticleGeneralSource)
- User action classes:
- event action and run action classes with messengers
*/
+7
View File
@@ -15,6 +15,13 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
29/09/17 I. Hrivnacova (excommon-V10-03-00,01)
- Removed generic class names prefix (ExG4) and introduced a meaningful one
when appropriate
- Removed event and run action classes which are now obsolete
- Replaced explicit messengers with use of G4GenericMessenger
- C++11 (nullptr, auto)
20/07/16 I. Hrivnacova (excommon-V10-02-01)
- Coding guidelines (redundant empty lines)
+2 -5
View File
@@ -11,20 +11,17 @@ $Id$
In order to reduce code duplication and to reduce the number of variants of
the code of same kind, we define a set of common classes which
can be reused in "feature" examples demonstrating just a particular feature.
This module is going to be enhanced in future. Currently it provides
This module may be enhanced in future. Currently it provides
the following sets of classes:
- Detector construction classes
- two simple detector construction classes with a messenger
- Physics list classes
- ExG4PhysicsList00 - physics list with geantino and chargedgeantino only
- GeantinoPhysicsList - physics list with geantino and chargedgeantino only
- Primary generator classes
- two simple primary generator classes (with G4ParticleGun and
G4ParticleGeneralSource)
- User action classes:
- event action and run action classes with messengers
@@ -25,37 +25,33 @@
//
// $Id$
//
/// \file ExG4DetectorConstruction02.hh
/// \brief Definition of the ExG4DetectorConstruction02 class
/// \file DetectorConstruction.hh
/// \brief Definition of the DetectorConstruction class
#ifndef ExG4DetectorConstruction02_h
#define ExG4DetectorConstruction02_h 1
#ifndef DetectorConstruction_h
#define DetectorConstruction_h 1
#include "G4VUserDetectorConstruction.hh"
#include "ExG4DetectorConstruction02Messenger.hh"
#include "G4ThreeVector.hh"
#include "CLHEP/Units/SystemOfUnits.h"
class G4LogicalVolume;
class G4Material;
class DetectorMessenger;
class G4GenericMessenger;
/// Simple detector construction with a box volume placed in a world
class ExG4DetectorConstruction02 : public G4VUserDetectorConstruction
class DetectorConstruction : public G4VUserDetectorConstruction
{
public:
ExG4DetectorConstruction02(
DetectorConstruction(
const G4String& boxMaterialName = "G4_AIR",
G4double boxHx = 40*CLHEP::cm,
G4double boxHy = 40*CLHEP::cm,
G4double boxHz = 40*CLHEP::cm,
const G4String& worldMaterialName = "G4_AIR",
G4double worldSizeFactor = 1.25);
~ExG4DetectorConstruction02();
~DetectorConstruction();
public:
// methods from base class
@@ -64,18 +60,19 @@ class ExG4DetectorConstruction02 : public G4VUserDetectorConstruction
// set methods
void SetBoxMaterial(const G4String& materialName);
void SetWorldMaterial(const G4String& materialName);
void SetBoxDimensions(G4double hx, G4double hy, G4double hz);
void SetBoxDimensions(G4ThreeVector dimensions);
void SetWorldSizeFactor(G4double factor);
private:
ExG4DetectorConstruction02Messenger fMessenger;
void DefineCommands();
G4String fBoxMaterialName;
G4String fWorldMaterialName;
G4ThreeVector fBoxDimensions;
G4double fWorldSizeFactor;
G4LogicalVolume* fBoxVolume;
G4LogicalVolume* fWorldVolume;
G4GenericMessenger* fMessenger;
G4String fBoxMaterialName;
G4String fWorldMaterialName;
G4ThreeVector fBoxDimensions;
G4double fWorldSizeFactor;
G4LogicalVolume* fBoxVolume;
G4LogicalVolume* fWorldVolume;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -25,35 +25,31 @@
//
// $Id$
//
/// \file ExG4DetectorConstruction01.hh
/// \brief Definition of the ExG4DetectorConstruction01 class
/// \file DetectorConstruction0.hh
/// \brief Definition of the DetectorConstruction0 class
#ifndef ExG4DetectorConstruction01_h
#define ExG4DetectorConstruction01_h 1
#ifndef DetectorConstruction0_h
#define DetectorConstruction0_h 1
#include "G4VUserDetectorConstruction.hh"
#include "ExG4DetectorConstruction01Messenger.hh"
#include "G4ThreeVector.hh"
#include "CLHEP/Units/SystemOfUnits.h"
class G4LogicalVolume;
class G4Material;
class DetectorMessenger;
class G4GenericMessenger;
/// Simple detector construction with only a world volume
class ExG4DetectorConstruction01 : public G4VUserDetectorConstruction
class DetectorConstruction0 : public G4VUserDetectorConstruction
{
public:
ExG4DetectorConstruction01(
DetectorConstruction0(
const G4String& materialName = "G4_AIR",
G4double hx = 50*CLHEP::cm,
G4double hy = 50*CLHEP::cm,
G4double hz = 50*CLHEP::cm);
~ExG4DetectorConstruction01();
~DetectorConstruction0();
public:
// methods from base class
@@ -61,14 +57,15 @@ class ExG4DetectorConstruction01 : public G4VUserDetectorConstruction
// set methods
void SetMaterial(const G4String& materialName);
void SetDimensions(G4double hx, G4double hy, G4double hz);
void SetDimensions(G4ThreeVector dimensions);
private:
ExG4DetectorConstruction01Messenger fMessenger;
void DefineCommands();
G4String fMaterialName;
G4ThreeVector fDimensions;
G4LogicalVolume* fWorldVolume;
G4GenericMessenger* fMessenger;
G4String fMaterialName;
G4ThreeVector fDimensions;
G4LogicalVolume* fWorldVolume;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,70 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ExG4DetectorConstruction01Messenger.hh 85714 2014-11-04 14:30:40Z ihrivnac $
//
/// \file ExG4DetectorConstruction01Messenger.hh
/// \brief Definition of the ExG4DetectorConstruction01Messenger class
#ifndef ExG4DetectorConstruction01Messenger_h
#define ExG4DetectorConstruction01Messenger_h 1
#include "G4UImessenger.hh"
#include "globals.hh"
class ExG4DetectorConstruction01;
class G4UIdirectory;
class G4UIcmdWithAString;
class G4UIcmdWith3VectorAndUnit;
class G4UIcmdWithADouble;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
/// Messenger class that defines commands for ExG4DetectorConstruction01.
///
/// It implements commands:
/// - /ExG4/det/setMaterialName name
/// - /ExG4/det/setDimensions hx hy hz unit
class ExG4DetectorConstruction01Messenger: public G4UImessenger
{
public:
ExG4DetectorConstruction01Messenger(ExG4DetectorConstruction01* );
virtual ~ExG4DetectorConstruction01Messenger();
virtual void SetNewValue(G4UIcommand* command, G4String newValue);
private:
ExG4DetectorConstruction01* fDetectorConstruction;
G4UIdirectory* fTopDirectory;
G4UIdirectory* fDirectory;
G4UIcmdWithAString* fSetMaterialCmd;
G4UIcmdWith3VectorAndUnit* fSetDimensionsCmd;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -1,74 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ExG4DetectorConstruction02Messenger.hh 85714 2014-11-04 14:30:40Z ihrivnac $
//
/// \file ExG4DetectorConstruction02Messenger.hh
/// \brief Definition of the ExG4DetectorConstruction02Messenger class
#ifndef ExG4DetectorConstruction02Messenger_h
#define ExG4DetectorConstruction02Messenger_h 1
#include "G4UImessenger.hh"
#include "globals.hh"
class ExG4DetectorConstruction02;
class G4UIdirectory;
class G4UIcmdWithAString;
class G4UIcmdWith3VectorAndUnit;
class G4UIcmdWithADouble;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
/// Messenger class that defines commands for ExG4DetectorConstruction02.
///
/// It implements commands:
/// - /ExG4/det/setBoxMaterialName name
/// - /ExG4/det/setWorldMaterialName name
/// - /ExG4/det/setBoxDimensions hx hy hz unit
/// - /ExG4/det/setWorldSizeFactor value
class ExG4DetectorConstruction02Messenger: public G4UImessenger
{
public:
ExG4DetectorConstruction02Messenger(ExG4DetectorConstruction02* );
virtual ~ExG4DetectorConstruction02Messenger();
virtual void SetNewValue(G4UIcommand* command, G4String newValue);
private:
ExG4DetectorConstruction02* fDetectorConstruction;
G4UIdirectory* fTopDirectory;
G4UIdirectory* fDirectory;
G4UIcmdWithAString* fSetBoxMaterialCmd;
G4UIcmdWithAString* fSetWorldMaterialCmd;
G4UIcmdWith3VectorAndUnit* fSetBoxDimensionsCmd;
G4UIcmdWithADouble* fSetWorldSizeFactorCmd;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -1,82 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id$
//
/// \file ExG4EventAction01.hh
/// \brief Definition of the ExG4EventAction01 class
#ifndef ExG4EventAction01_h
#define ExG4EventAction01_h 1
#include "G4UserEventAction.hh"
#include "globals.hh"
#include "ExG4EventAction01Messenger.hh"
/// Event action class
///
/// It provides:
/// - setting verbose level and event modulo pronting
/// - option to save random number status at the end of event
class ExG4EventAction01 : public G4UserEventAction
{
public:
ExG4EventAction01();
virtual ~ExG4EventAction01();
public:
// methods from base class
virtual void BeginOfEventAction(const G4Event* event);
virtual void EndOfEventAction(const G4Event* event);
// set methods
void SetVerboseLevel(G4int level);
void SetSaveRndm(G4bool value);
void SetDrawFlag(G4String value);
private:
// static data members (constants)
static const G4int fgkDefaultVerboseLevel;
static const G4int fgkDefaultPrintModulo;
// data members
ExG4EventAction01Messenger fMessenger;
G4int fVerboseLevel;
G4bool fSaveRndm;
};
// inline functions
inline void ExG4EventAction01::SetVerboseLevel(G4int level) {
fVerboseLevel = level;
}
inline void ExG4EventAction01::SetSaveRndm(G4bool value) {
fSaveRndm = value;
}
#endif
@@ -1,66 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id$
//
/// \file ExG4EventAction01Messenger.hh
/// \brief Definition of the ExG4EventAction01Messenger class
#ifndef ExG4EventAction01Messenger_h
#define ExG4EventAction01Messenger_h 1
#include "globals.hh"
#include "G4UImessenger.hh"
class ExG4EventAction01;
class G4UIdirectory;
class G4UIcmdWithAnInteger;
class G4UIcmdWithABool;
/// Messenger class that defines commands for ExG4EventAction01
///
/// It implements commands:
/// - /ExG4/event/verboseLevel level
/// - /ExG4/event/printModulo modulo
/// - /ExG4/event/saveRndm true|false
class ExG4EventAction01Messenger: public G4UImessenger
{
public:
ExG4EventAction01Messenger(ExG4EventAction01* eventAction);
~ExG4EventAction01Messenger();
virtual void SetNewValue(G4UIcommand* command, G4String newValue);
private:
// data members
ExG4EventAction01* fEventAction;
G4UIdirectory* fTopDirectory;
G4UIdirectory* fDirectory;
G4UIcmdWithAnInteger* fSetVerboseLevelCmd;
G4UIcmdWithABool* fSetSaveRndmCmd;
};
#endif //ExG4EventAction01Messenger_h
@@ -1,101 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id$
//
/// \file ExG4RunAction01.hh
/// \brief Definition of the ExG4RunAction01 class
#ifndef ExG4RunAction01_h
#define ExG4RunAction01_h 1
#include "ExG4RunAction01Messenger.hh"
#include "G4UserRunAction.hh"
#include "globals.hh"
class G4Run;
/// Run action class
///
/// It provides:
/// - setting verbose level
/// - option to save random number status at begin and end of run
/// - option to read random number from a file at begin of run
/// - option for automatic (time-based) random seeds for each run
class ExG4RunAction01 : public G4UserRunAction
{
public:
ExG4RunAction01();
~ExG4RunAction01();
public:
// methods
virtual void BeginOfRunAction(const G4Run* run);
virtual void EndOfRunAction(const G4Run* run);
// set methods
void SetRndmFileName(const G4String& fileName);
void SetVerboseLevel(G4int level);
void SetSaveRndm(G4bool value);
void SetReadRndm(G4bool value);
void SetAutoSeed(G4bool value);
private:
// static data members
static const G4String fgkDefaultRndmFileName;
// data members
ExG4RunAction01Messenger fMessenger;
G4String fRndmFileName;
G4int fVerboseLevel;
G4bool fSaveRndm;
G4bool fReadRndm;
G4bool fAutoSeed;
};
// inline functions
inline void ExG4RunAction01::SetVerboseLevel(G4int level) {
fVerboseLevel = level;
}
inline void ExG4RunAction01::SetRndmFileName(const G4String& fileName) {
fRndmFileName = fileName;
}
inline void ExG4RunAction01::SetSaveRndm(G4bool value) {
fSaveRndm = value;
}
inline void ExG4RunAction01::SetReadRndm(G4bool value) {
fReadRndm = value;
}
inline void ExG4RunAction01::SetAutoSeed(G4bool value) {
fAutoSeed = value;
}
#endif
@@ -1,75 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id$
//
/// \file ExG4RunAction01Messenger.hh
/// \brief Definition of the ExG4RunAction01Messenger class
#ifndef ExG4RunAction01Messenger_h
#define ExG4RunAction01Messenger_h 1
#include "globals.hh"
#include "G4UImessenger.hh"
#include "G4ios.hh"
class ExG4RunAction01;
class G4UIdirectory;
class G4UIcmdWithABool;
class G4UIcmdWithAnInteger;
class G4UIcmdWithAString;
/// Messenger class that defines commands for ExG4RunAction01
///
/// It implements commands:
/// - /ExG4/run/verboseLevel level
/// - /ExG4/run/saveRndm true|false
/// - /ExG4/run/readRndm true|false
/// - /ExG4/run/rndmFileName fileName
/// - /ExG4/run/autoSeed true|false
class ExG4RunAction01Messenger: public G4UImessenger
{
public:
ExG4RunAction01Messenger(ExG4RunAction01* );
~ExG4RunAction01Messenger();
virtual void SetNewValue(G4UIcommand* command, G4String newValue);
private:
ExG4RunAction01* fRunAction;
G4UIdirectory* fTopDirectory;
G4UIdirectory* fDirectory;
G4UIcmdWithAnInteger* fSetVerboseLevelCmd;
G4UIcmdWithABool* fSetSaveRndmCmd;
G4UIcmdWithABool* fSetReadRndmCmd;
G4UIcmdWithAString* fSetRndmFileNameCmd;
G4UIcmdWithABool* fSetAutoSeedCmd;
};
#endif
@@ -25,21 +25,21 @@
//
// $Id$
//
/// \file ExG4PhysicsList00.hh
/// \brief Definition of the ExG4PhysicsList00 class
/// \file GeantinoPhysicsList.hh
/// \brief Definition of the GeantinoPhysicsList class
#ifndef ExG4PhysicsList00_h
#define ExG4PhysicsList00_h 1
#ifndef GeantinoPhysicsList_h
#define GeantinoPhysicsList_h 1
#include "G4VUserPhysicsList.hh"
/// Physics list with geantino and charged geantino only
class ExG4PhysicsList00: public G4VUserPhysicsList
class GeantinoPhysicsList: public G4VUserPhysicsList
{
public:
ExG4PhysicsList00();
~ExG4PhysicsList00();
GeantinoPhysicsList();
~GeantinoPhysicsList();
protected:
// Construct particle and physics process
@@ -25,15 +25,12 @@
//
// $Id$
//
/// \file ExG4PrimaryGeneratorAction02.hh
/// \brief Definition of the ExG4PrimaryGeneratorAction02 class
/// \file GpsPrimaryGeneratorAction.hh
/// \brief Definition of the GpsPrimaryGeneratorActionclass
//
#ifndef ExG4PrimaryGeneratorAction02_h
#define ExG4PrimaryGeneratorAction02_h 1
/// \file ExG4PrimaryGeneratorAction02.hh
/// \brief Definition of the ExG4PrimaryGeneratorAction02 class
#ifndef GpsPrimaryGeneratorAction_h
#define GpsPrimaryGeneratorAction_h 1
#include "G4VUserPrimaryGeneratorAction.hh"
#include "globals.hh"
@@ -46,11 +43,11 @@ class G4Event;
///
/// \author I. Hrivnacova; IPN Orsay
class ExG4PrimaryGeneratorAction02 : public G4VUserPrimaryGeneratorAction
class GpsPrimaryGeneratorAction: public G4VUserPrimaryGeneratorAction
{
public:
ExG4PrimaryGeneratorAction02();
~ExG4PrimaryGeneratorAction02();
GpsPrimaryGeneratorAction();
~GpsPrimaryGeneratorAction();
// methods
virtual void GeneratePrimaries(G4Event*);
@@ -61,7 +58,7 @@ class ExG4PrimaryGeneratorAction02 : public G4VUserPrimaryGeneratorAction
static const G4double fgkDefaultEnergy;
// data members
G4GeneralParticleSource* fGeneralParticleSource; //pointer a to G4 service class
G4GeneralParticleSource* fGeneralParticleSource;
};
#endif
@@ -25,11 +25,11 @@
//
// $Id$
//
/// \file ExG4PrimaryGeneratorAction01.hh
/// \brief Definition of the ExG4PrimaryGeneratorAction01 class
/// \file GunPrimaryGeneratorAction.hh
/// \brief Definition of the GunPrimaryGeneratorAction class
#ifndef ExG4PrimaryGeneratorAction01_h
#define ExG4PrimaryGeneratorAction01_h 1
#ifndef GunPrimaryGeneratorAction_h
#define GunPrimaryGeneratorAction_h 1
#include "G4VUserPrimaryGeneratorAction.hh"
#include "G4ThreeVector.hh"
@@ -45,23 +45,22 @@ class G4Event;
///
/// \author I. Hrivnacova; IPN Orsay
class ExG4PrimaryGeneratorAction01 : public G4VUserPrimaryGeneratorAction
class GunPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
{
public:
ExG4PrimaryGeneratorAction01(
GunPrimaryGeneratorAction(
const G4String& particleName = "geantino",
G4double energy = 1.*CLHEP::MeV,
G4ThreeVector position= G4ThreeVector(0,0,0),
G4ThreeVector momentumDirection = G4ThreeVector(0,0,1));
~ExG4PrimaryGeneratorAction01();
~GunPrimaryGeneratorAction();
// methods
virtual void GeneratePrimaries(G4Event*);
private:
// data members
G4ParticleGun* fParticleGun; //pointer a to G4 service class
G4ParticleGun* fParticleGun;
};
#endif
@@ -25,64 +25,62 @@
//
// $Id$
//
/// \file ExG4DetectorConstruction02.cc
/// \brief Implementation of the ExG4DetectorConstruction02 class
/// \file DetectorConstruction.cc
/// \brief Implementation of the DetectorConstruction class
#include "ExG4DetectorConstruction02.hh"
#include "ExG4DetectorConstruction02Messenger.hh"
#include "DetectorConstruction.hh"
#include "G4Material.hh"
#include "G4NistManager.hh"
#include "G4Box.hh"
#include "G4LogicalVolume.hh"
#include "G4PVPlacement.hh"
#include "G4GenericMessenger.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExG4DetectorConstruction02::ExG4DetectorConstruction02(
DetectorConstruction::DetectorConstruction(
const G4String& boxMaterialName,
G4double boxHx, G4double boxHy, G4double boxHz,
const G4String& worldMaterialName,
G4double worldSizeFactor)
: G4VUserDetectorConstruction(),
fMessenger(this),
fMessenger(nullptr),
fBoxMaterialName(boxMaterialName),
fWorldMaterialName(worldMaterialName),
fBoxDimensions(boxHx*2, boxHy*2, boxHz*2),
fWorldSizeFactor(worldSizeFactor),
fBoxVolume(0),
fWorldVolume(0)
fBoxVolume(nullptr),
fWorldVolume(nullptr)
{
DefineCommands();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExG4DetectorConstruction02::~ExG4DetectorConstruction02()
{
DetectorConstruction::~DetectorConstruction()
{
delete fMessenger;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4VPhysicalVolume* ExG4DetectorConstruction02::Construct()
G4VPhysicalVolume* DetectorConstruction::Construct()
{
// Define materials via NIST manager
//
G4NistManager* nistManager = G4NistManager::Instance();
auto nistManager = G4NistManager::Instance();
G4Material* worldMaterial
= nistManager->FindOrBuildMaterial(fWorldMaterialName);
G4Material* boxMaterial
= nistManager->FindOrBuildMaterial(fBoxMaterialName);
auto worldMaterial = nistManager->FindOrBuildMaterial(fWorldMaterialName);
auto boxMaterial = nistManager->FindOrBuildMaterial(fBoxMaterialName);
// Geometry parameters
//
G4ThreeVector worldDimensions = fBoxDimensions * fWorldSizeFactor;
// World
//
G4Box* sWorld
auto sWorld
= new G4Box("World", //name
worldDimensions.x(), //dimensions (half-lentghs)
worldDimensions.y(),
@@ -93,7 +91,7 @@ G4VPhysicalVolume* ExG4DetectorConstruction02::Construct()
worldMaterial, //material
"World"); //name
G4VPhysicalVolume* pWorld
auto pWorld
= new G4PVPlacement(0, //no rotation
G4ThreeVector(), //at (0,0,0)
fWorldVolume, //logical volume
@@ -104,7 +102,7 @@ G4VPhysicalVolume* ExG4DetectorConstruction02::Construct()
// Box
//
G4Box* sBox
auto sBox
= new G4Box("Box", //its name
fBoxDimensions.x(), //dimensions (half-lengths)
fBoxDimensions.y(),
@@ -130,13 +128,11 @@ G4VPhysicalVolume* ExG4DetectorConstruction02::Construct()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExG4DetectorConstruction02::SetBoxMaterial(const G4String& materialName)
void DetectorConstruction::SetBoxMaterial(const G4String& materialName)
{
G4NistManager* nistManager = G4NistManager::Instance();
G4Material* newMaterial
= nistManager->FindOrBuildMaterial(materialName);
auto nistManager = G4NistManager::Instance();
auto newMaterial = nistManager->FindOrBuildMaterial(materialName);
if ( ! newMaterial ) {
G4cerr << "Material " << materialName << " not found." << G4endl;
G4cerr << "The box material was not changed." << G4endl;
@@ -149,13 +145,11 @@ void ExG4DetectorConstruction02::SetBoxMaterial(const G4String& materialName)
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExG4DetectorConstruction02::SetWorldMaterial(const G4String& materialName)
void DetectorConstruction::SetWorldMaterial(const G4String& materialName)
{
G4NistManager* nistManager = G4NistManager::Instance();
G4Material* newMaterial
= nistManager->FindOrBuildMaterial(materialName);
auto nistManager = G4NistManager::Instance();
auto newMaterial = nistManager->FindOrBuildMaterial(materialName);
if ( ! newMaterial ) {
G4cerr << "Material " << materialName << " not found." << G4endl;
G4cerr << "The box material was not changed." << G4endl;
@@ -168,18 +162,17 @@ void ExG4DetectorConstruction02::SetWorldMaterial(const G4String& materialName)
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExG4DetectorConstruction02::SetBoxDimensions(
G4double hx, G4double hy, G4double hz)
void DetectorConstruction::SetBoxDimensions(G4ThreeVector dimensions)
{
/// Set box dimension (in half lengths).
/// This setting has effect only if called in PreInit> phase
fBoxDimensions = G4ThreeVector(hx, hy, hz);
fBoxDimensions = dimensions;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExG4DetectorConstruction02::SetWorldSizeFactor(G4double factor)
void DetectorConstruction::SetWorldSizeFactor(G4double factor)
{
/// Set the multiplication factor from box dimensions to world dimensions.
/// This setting has effect only if called in PreInit> phase
@@ -188,3 +181,46 @@ void ExG4DetectorConstruction02::SetWorldSizeFactor(G4double factor)
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void DetectorConstruction::DefineCommands()
{
// Define /B5/detector command directory using generic messenger class
fMessenger = new G4GenericMessenger(this,
"/detector/",
"Detector control");
// setBoxMaterial command
auto& setBoxMaterialCmd
= fMessenger->DeclareMethod("setBoxMaterial",
&DetectorConstruction::SetBoxMaterial,
"Set box material name.");
setBoxMaterialCmd.SetParameterName("boxMaterialName", false);
setBoxMaterialCmd.SetDefaultValue("G4_AIR");
// setWorldMaterial command
auto& setWorldMaterialCmd
= fMessenger->DeclareMethod("setWorldMaterial",
&DetectorConstruction::SetWorldMaterial,
"Set world material name.");
setWorldMaterialCmd.SetParameterName("worldMaterialName", false);
setWorldMaterialCmd.SetDefaultValue("G4_AIR");
// setBoxDimensions command
auto& setBoxDimensionsCmd
= fMessenger->DeclareMethodWithUnit("setBoxDimensions", "mm",
&DetectorConstruction::SetBoxDimensions,
"Set box dimensions (in half lentgh).");
setBoxDimensionsCmd.SetParameterName("boxDimensions", false);
setBoxDimensionsCmd.SetStates(G4State_PreInit);
// setWorldSizeFactor command
auto& setWorldSizeFactorCmd
= fMessenger->DeclareMethod("setWorldSizeFactor",
&DetectorConstruction::SetWorldSizeFactor,
"Set the multiplication factor from box dimensions to world dimensions.");
setWorldSizeFactorCmd.SetParameterName("worldSizeFactor", false);
setWorldSizeFactorCmd.SetRange("WorldSizeFactor >= 1");
setWorldSizeFactorCmd.SetStates(G4State_PreInit);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -25,51 +25,52 @@
//
// $Id$
//
/// \file ExG4DetectorConstruction01.cc
/// \brief Implementation of the ExG4DetectorConstruction01 class
/// \file DetectorConstruction0.cc
/// \brief Implementation of the DetectorConstruction0 class
#include "ExG4DetectorConstruction01.hh"
#include "ExG4DetectorConstruction01Messenger.hh"
#include "DetectorConstruction0.hh"
#include "G4Material.hh"
#include "G4NistManager.hh"
#include "G4Box.hh"
#include "G4LogicalVolume.hh"
#include "G4PVPlacement.hh"
#include "G4GenericMessenger.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExG4DetectorConstruction01::ExG4DetectorConstruction01(
DetectorConstruction0::DetectorConstruction0(
const G4String& materialName,
G4double hx, G4double hy, G4double hz)
: G4VUserDetectorConstruction(),
fMessenger(this),
fMessenger(nullptr),
fMaterialName(materialName),
fDimensions(hx, hy, hz),
fWorldVolume(0)
fWorldVolume(nullptr)
{
DefineCommands();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExG4DetectorConstruction01::~ExG4DetectorConstruction01()
{
DetectorConstruction0::~DetectorConstruction0()
{
delete fMessenger;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4VPhysicalVolume* ExG4DetectorConstruction01::Construct()
G4VPhysicalVolume* DetectorConstruction0::Construct()
{
// Define materials via NIST manager
//
G4NistManager* nistManager = G4NistManager::Instance();
auto nistManager = G4NistManager::Instance();
G4Material* material
= nistManager->FindOrBuildMaterial(fMaterialName);
auto material = nistManager->FindOrBuildMaterial(fMaterialName);
// World
//
G4Box* sWorld
auto sWorld
= new G4Box("World", //name
fDimensions.x(), //dimensions (half-lentghs)
fDimensions.y(),
@@ -80,7 +81,7 @@ G4VPhysicalVolume* ExG4DetectorConstruction01::Construct()
material, //material
"World"); //name
G4VPhysicalVolume* pWorld
auto pWorld
= new G4PVPlacement(0, //no rotation
G4ThreeVector(), //at (0,0,0)
fWorldVolume, //logical volume
@@ -96,13 +97,11 @@ G4VPhysicalVolume* ExG4DetectorConstruction01::Construct()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExG4DetectorConstruction01::SetMaterial(const G4String& materialName)
void DetectorConstruction0::SetMaterial(const G4String& materialName)
{
G4NistManager* nistManager = G4NistManager::Instance();
G4Material* newMaterial
= nistManager->FindOrBuildMaterial(materialName);
auto nistManager = G4NistManager::Instance();
auto newMaterial = nistManager->FindOrBuildMaterial(materialName);
if ( ! newMaterial ) {
G4cerr << "Material " << materialName << " not found." << G4endl;
G4cerr << "The box material was not changed." << G4endl;
@@ -115,13 +114,39 @@ void ExG4DetectorConstruction01::SetMaterial(const G4String& materialName)
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExG4DetectorConstruction01::SetDimensions(
G4double hx, G4double hy, G4double hz)
void DetectorConstruction0::SetDimensions(G4ThreeVector dimensions)
{
/// Set world dimension (in half lengths).
/// This setting has effect only if called in PreInit> phase
fDimensions = G4ThreeVector(hx, hy, hz);
fDimensions = dimensions;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void DetectorConstruction0::DefineCommands()
{
// Define /B5/detector command directory using generic messenger class
fMessenger = new G4GenericMessenger(this,
"/detector/",
"Detector control");
// setMaterial command
auto& setMaterialCmd
= fMessenger->DeclareMethod("setMaterial",
&DetectorConstruction0::SetMaterial,
"Set world material name.");
setMaterialCmd.SetParameterName("materialName", false);
setMaterialCmd.SetDefaultValue("G4_AIR");
setMaterialCmd.SetStates(G4State_PreInit);
// setDimensions command
auto& setDimensionsCmd
= fMessenger->DeclareMethodWithUnit("setDimensions", "mm",
&DetectorConstruction0::SetDimensions,
"Set world dimensions (in half lentgh).");
setDimensionsCmd.SetParameterName("dimensions", false);
setDimensionsCmd.SetStates(G4State_PreInit);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,100 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ExG4DetectorConstruction01Messenger.cc 85714 2014-11-04 14:30:40Z ihrivnac $
//
/// \file ExG4DetectorConstruction01Messenger.cc
/// \brief Implementation of the ExG4DetectorConstruction01Messenger class
#include "ExG4DetectorConstruction01Messenger.hh"
#include "ExG4DetectorConstruction01.hh"
#include "G4UIdirectory.hh"
#include "G4UIcmdWithAString.hh"
#include "G4UIcmdWith3VectorAndUnit.hh"
#include "G4UIcmdWithADouble.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExG4DetectorConstruction01Messenger::ExG4DetectorConstruction01Messenger(
ExG4DetectorConstruction01* detectorConstruction)
: G4UImessenger(),
fDetectorConstruction(detectorConstruction),
fTopDirectory(0),
fDirectory(0),
fSetMaterialCmd(0),
fSetDimensionsCmd(0)
{
fTopDirectory = new G4UIdirectory("/ExG4/");
fTopDirectory->SetGuidance("UI commands of common example classes");
fDirectory = new G4UIdirectory("/ExG4/det/");
fDirectory->SetGuidance("Detector control");
fSetMaterialCmd
= new G4UIcmdWithAString("/ExG4/det/setBoxMaterial",this);
fSetMaterialCmd->SetGuidance("Select material of the box.");
fSetMaterialCmd->SetParameterName("BoxMaterial", false);
fSetMaterialCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
fSetDimensionsCmd
= new G4UIcmdWith3VectorAndUnit("/ExG4/det/setBoxDimensions",this);
fSetDimensionsCmd->SetGuidance("Set box dimensions (in half lentgh).");
fSetDimensionsCmd->SetParameterName(
"BoxDimensionsHx", "BoxDimensionsHy","BoxDimensionsHz",
false);
//fSetDimensionsCmd->SetUnitCategory("Length");
fSetDimensionsCmd->AvailableForStates(G4State_PreInit);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExG4DetectorConstruction01Messenger::~ExG4DetectorConstruction01Messenger()
{
delete fTopDirectory;
delete fDirectory;
delete fSetMaterialCmd;
delete fSetDimensionsCmd;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExG4DetectorConstruction01Messenger::SetNewValue(G4UIcommand* command,
G4String newValue)
{
if( command == fSetMaterialCmd ) {
fDetectorConstruction->SetMaterial(newValue);
}
else if( command == fSetDimensionsCmd ) {
G4ThreeVector newDimensions
= fSetDimensionsCmd->GetNew3VectorValue(newValue);
fDetectorConstruction
->SetDimensions(
newDimensions.x(), newDimensions.y(), newDimensions.z());
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,125 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id$
//
/// \file ExG4DetectorConstruction02Messenger.cc
/// \brief Implementation of the ExG4DetectorConstruction02Messenger class
#include "ExG4DetectorConstruction02Messenger.hh"
#include "ExG4DetectorConstruction02.hh"
#include "G4UIdirectory.hh"
#include "G4UIcmdWithAString.hh"
#include "G4UIcmdWith3VectorAndUnit.hh"
#include "G4UIcmdWithADouble.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExG4DetectorConstruction02Messenger::ExG4DetectorConstruction02Messenger(
ExG4DetectorConstruction02* detectorConstruction)
: G4UImessenger(),
fDetectorConstruction(detectorConstruction),
fTopDirectory(0),
fDirectory(0),
fSetBoxMaterialCmd(0),
fSetWorldMaterialCmd(0),
fSetBoxDimensionsCmd(0),
fSetWorldSizeFactorCmd(0)
{
fTopDirectory = new G4UIdirectory("/ExG4/");
fTopDirectory->SetGuidance("UI commands of common example classes");
fDirectory = new G4UIdirectory("/ExG4/det/");
fDirectory->SetGuidance("Detector control");
fSetBoxMaterialCmd
= new G4UIcmdWithAString("/ExG4/det/setBoxMaterial",this);
fSetBoxMaterialCmd->SetGuidance("Select material of the box.");
fSetBoxMaterialCmd->SetParameterName("BoxMaterial", false);
fSetBoxMaterialCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
fSetWorldMaterialCmd
= new G4UIcmdWithAString("/ExG4/det/setWorldMaterial",this);
fSetWorldMaterialCmd->SetGuidance("Select material of the world.");
fSetWorldMaterialCmd->SetParameterName("WorldMaterial", false);
fSetWorldMaterialCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
fSetBoxDimensionsCmd
= new G4UIcmdWith3VectorAndUnit("/ExG4/det/setBoxDimensions",this);
fSetBoxDimensionsCmd->SetGuidance("Set box dimensions (in half lentgh).");
fSetBoxDimensionsCmd->SetParameterName(
"BoxDimensionsHx", "BoxDimensionsHy","BoxDimensionsHz",
false);
//fSetBoxDimensionsCmd->SetUnitCategory("Length");
fSetBoxDimensionsCmd->AvailableForStates(G4State_PreInit);
fSetWorldSizeFactorCmd
= new G4UIcmdWithADouble("/ExG4/det/setWorldSizeFactor",this);
fSetWorldSizeFactorCmd->SetGuidance(
"Set the multiplication factor from box dimensions to world dimensions.");
fSetWorldSizeFactorCmd->SetParameterName("WorldSizeFactor", false);
fSetWorldSizeFactorCmd->SetRange("WorldSizeFactor >= 1");
fSetWorldSizeFactorCmd->AvailableForStates(G4State_PreInit);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExG4DetectorConstruction02Messenger::~ExG4DetectorConstruction02Messenger()
{
delete fTopDirectory;
delete fDirectory;
delete fSetBoxMaterialCmd;
delete fSetWorldMaterialCmd;
delete fSetBoxDimensionsCmd;
delete fSetWorldSizeFactorCmd;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExG4DetectorConstruction02Messenger::SetNewValue(G4UIcommand* command,
G4String newValue)
{
if( command == fSetBoxMaterialCmd ) {
fDetectorConstruction->SetBoxMaterial(newValue);
}
else if( command == fSetWorldMaterialCmd ) {
fDetectorConstruction->SetWorldMaterial(newValue);
}
else if( command == fSetBoxDimensionsCmd ) {
G4ThreeVector newDimensions
= fSetBoxDimensionsCmd->GetNew3VectorValue(newValue);
fDetectorConstruction
->SetBoxDimensions(
newDimensions.x(), newDimensions.y(), newDimensions.z());
}
else if ( command == fSetWorldSizeFactorCmd ) {
fDetectorConstruction
->SetWorldSizeFactor(fSetWorldSizeFactorCmd->GetNewDoubleValue(newValue));
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,93 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id$
//
/// \file ExG4EventAction01Messenger.cc
/// \brief Implementation of the ExG4EventAction01Messenger class
#include "ExG4EventAction01Messenger.hh"
#include "ExG4EventAction01.hh"
#include "G4UIdirectory.hh"
#include "G4UIcmdWithAnInteger.hh"
#include "G4UIcmdWithABool.hh"
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExG4EventAction01Messenger::ExG4EventAction01Messenger(
ExG4EventAction01* eventAction)
: G4UImessenger(),
fEventAction(eventAction),
fTopDirectory(0),
fDirectory(0),
fSetVerboseLevelCmd(0),
fSetSaveRndmCmd(0)
{
fTopDirectory = new G4UIdirectory("/ExG4/");
fTopDirectory->SetGuidance("UI commands of common example classes");
fDirectory = new G4UIdirectory("/ExG4/event/");
fDirectory->SetGuidance("Event control");
fSetVerboseLevelCmd
= new G4UIcmdWithAnInteger("/ExG4/event/verboseLevel",this);
fSetVerboseLevelCmd->SetGuidance("Set event verbose level ." );
fSetVerboseLevelCmd->SetParameterName("VerboseLevel",false);
fSetVerboseLevelCmd->AvailableForStates(G4State_PreInit, G4State_Init);
fSetSaveRndmCmd = new G4UIcmdWithABool("/ExG4/event/saveRndm",this);
fSetSaveRndmCmd
->SetGuidance("Activate saving random number at endOfEvent.");
fSetSaveRndmCmd->SetParameterName("SaveRndm",false);
fSetSaveRndmCmd->AvailableForStates(G4State_Idle, G4State_Init);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExG4EventAction01Messenger::~ExG4EventAction01Messenger()
{
delete fTopDirectory;
delete fDirectory;
delete fSetVerboseLevelCmd;
delete fSetSaveRndmCmd;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExG4EventAction01Messenger::SetNewValue(G4UIcommand* command,
G4String newValue)
{
if(command == fSetVerboseLevelCmd) {
fEventAction
->SetVerboseLevel(fSetVerboseLevelCmd->GetNewIntValue(newValue));
}
else if ( command == fSetSaveRndmCmd ) {
fEventAction->SetSaveRndm(fSetSaveRndmCmd->GetNewBoolValue(newValue));
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,129 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id$
//
/// \file ExG4RunAction01.cc
/// \brief Implementation of the ExG4RunAction01 class
#include "ExG4RunAction01.hh"
#include "G4Run.hh"
#include "G4RunManager.hh"
#include "G4UImanager.hh"
#include "G4VVisManager.hh"
//#include "G4ios.hh"
//#include <iomanip>
#include "Randomize.hh"
const G4String ExG4RunAction01::fgkDefaultRndmFileName = "run0.rndm";
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExG4RunAction01::ExG4RunAction01()
: G4UserRunAction(),
fMessenger(this),
fRndmFileName(fgkDefaultRndmFileName),
fVerboseLevel(1),
fSaveRndm(false),
fReadRndm(false),
fAutoSeed(false)
{
/// Standard constructor
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExG4RunAction01::~ExG4RunAction01()
{
/// Destructor
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExG4RunAction01::BeginOfRunAction(const G4Run* run)
{
if ( fVerboseLevel > 0 ) {
G4cout << "### Run " << run->GetRunID() << " start." << G4endl;
}
// read Rndm status
if ( fReadRndm ) {
G4cout << "\n---> rndm status restored from file: " << fRndmFileName << G4endl;
G4Random::restoreEngineStatus(fRndmFileName);
G4Random::showEngineStatus();
}
// automatic (time-based) random seeds for each run
if ( fAutoSeed ) {
G4RunManager::GetRunManager()->SetRandomNumberStore(true);
G4RunManager::GetRunManager()->SetRandomNumberStoreDir("random/");
G4cout << "*******************" << G4endl;
G4cout << "*** AUTOSEED ON ***" << G4endl;
G4cout << "*******************" << G4endl;
long seeds[2];
time_t systime = time(NULL);
seeds[0] = (long) systime;
seeds[1] = (long) (systime*G4UniformRand());
G4Random::setTheSeeds(seeds);
G4Random::showEngineStatus();
}
// save Rndm status
if ( fSaveRndm ) {
G4int runNumber = run->GetRunID();
std::ostringstream fileName;
fileName << "run" << runNumber << ".rndm";
G4Random::saveEngineStatus(fileName.str().c_str());
G4Random::showEngineStatus();
}
if ( G4VVisManager::GetConcreteInstance() ) {
G4UImanager::GetUIpointer()->ApplyCommand("/vis/scene/notifyHandlers");
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExG4RunAction01::EndOfRunAction(const G4Run* run)
{
// save Rndm status
if ( fSaveRndm ) {
G4int runNumber = run->GetRunID();
std::ostringstream fileName;
fileName << "run" << runNumber << "end.rndm";
G4Random::saveEngineStatus(fileName.str().c_str());
G4Random::showEngineStatus();
}
if ( G4VVisManager::GetConcreteInstance() ) {
G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/update");
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,122 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id$
//
/// \file ExG4RunAction01Messenger.cc
/// \brief Implementation of the ExG4RunAction01Messenger class
#include "ExG4RunAction01Messenger.hh"
#include "ExG4RunAction01.hh"
#include "G4UIdirectory.hh"
#include "G4UIcmdWithABool.hh"
#include "G4UIcmdWithAnInteger.hh"
#include "G4UIcmdWithAString.hh"
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
ExG4RunAction01Messenger::ExG4RunAction01Messenger(ExG4RunAction01* runAction)
: G4UImessenger(),
fRunAction (runAction),
fTopDirectory(0),
fDirectory(0),
fSetVerboseLevelCmd(0),
fSetSaveRndmCmd(0),
fSetReadRndmCmd(0),
fSetRndmFileNameCmd(0),
fSetAutoSeedCmd(0)
{
fTopDirectory = new G4UIdirectory("/ExG4/");
fTopDirectory->SetGuidance("UI commands of common example classes");
fDirectory = new G4UIdirectory("/ExG4/event/");
fDirectory->SetGuidance("Event control");
fSetVerboseLevelCmd = new G4UIcmdWithAnInteger("/ExG4/run/verboseLevel",this);
fSetVerboseLevelCmd->SetGuidance("Set run verbose level ." );
fSetVerboseLevelCmd->SetParameterName("VerboseLevel",false);
fSetVerboseLevelCmd->AvailableForStates(G4State_PreInit, G4State_Init);
fSetSaveRndmCmd = new G4UIcmdWithABool("/ExG4/run/saveRndm",this);
fSetSaveRndmCmd
->SetGuidance("Activate saving random number at beginOfRun and endOfRun .");
fSetSaveRndmCmd->SetParameterName("SaveRndm",false);
fSetSaveRndmCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
fSetReadRndmCmd = new G4UIcmdWithABool("/ExG4/run/readRndm",this);
fSetReadRndmCmd->SetGuidance("Get rndm status from an external file at beginOfRun.");
fSetReadRndmCmd->SetParameterName("ReadRndm",false);
fSetReadRndmCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
fSetRndmFileNameCmd = new G4UIcmdWithAString("/ExG4/run/rndmFileName",this);
fSetRndmFileNameCmd->SetGuidance("Set rndm file name (to read from).");
fSetRndmFileNameCmd->SetParameterName("RndmFileName",false);
fSetRndmFileNameCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
fSetAutoSeedCmd = new G4UIcmdWithABool("/ExG4/run/autoSeed",this);
fSetAutoSeedCmd->SetGuidance("Switch on/off time-based random seeds");
fSetAutoSeedCmd->SetGuidance(" true: run seeds determined by system time");
fSetAutoSeedCmd->SetGuidance(" false: use command 'random/resetEngineFrom'");
fSetAutoSeedCmd->SetParameterName("AutoSeed",false);
fSetAutoSeedCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
ExG4RunAction01Messenger::~ExG4RunAction01Messenger()
{
delete fTopDirectory;
delete fDirectory;
delete fSetVerboseLevelCmd;
delete fSetSaveRndmCmd;
delete fSetReadRndmCmd;
delete fSetRndmFileNameCmd;
delete fSetAutoSeedCmd;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
void ExG4RunAction01Messenger::SetNewValue(G4UIcommand* command,G4String newValues)
{
if ( command == fSetVerboseLevelCmd ) {
fRunAction->SetVerboseLevel(fSetVerboseLevelCmd->GetNewIntValue(newValues));
}
else if ( command == fSetSaveRndmCmd ) {
fRunAction->SetSaveRndm(fSetSaveRndmCmd->GetNewBoolValue(newValues));
}
else if ( command == fSetReadRndmCmd ) {
fRunAction->SetReadRndm(fSetReadRndmCmd->GetNewBoolValue(newValues));
}
else if (command == fSetRndmFileNameCmd) {
fRunAction->SetRndmFileName(newValues);
}
else if ( command == fSetAutoSeedCmd ) {
fRunAction->SetAutoSeed(fSetAutoSeedCmd->GetNewBoolValue(newValues));
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -25,27 +25,27 @@
//
// $Id$
//
/// \file ExG4PhysicsList00.cc
/// \brief Implementation of the ExG4PhysicsList00 class
/// \file GeantinoPhysicsList.cc
/// \brief Implementation of the GeantinoPhysicsList class
#include "ExG4PhysicsList00.hh"
#include "GeantinoPhysicsList.hh"
#include "G4Geantino.hh"
#include "G4ChargedGeantino.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExG4PhysicsList00::ExG4PhysicsList00()
GeantinoPhysicsList::GeantinoPhysicsList()
: G4VUserPhysicsList()
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExG4PhysicsList00::~ExG4PhysicsList00()
GeantinoPhysicsList::~GeantinoPhysicsList()
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExG4PhysicsList00::ConstructParticle()
void GeantinoPhysicsList::ConstructParticle()
{
// In this method, static member functions should be called
// for all particles which you want to use.
@@ -58,7 +58,7 @@ void ExG4PhysicsList00::ConstructParticle()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExG4PhysicsList00::ConstructProcess()
void GeantinoPhysicsList::ConstructProcess()
{
// Define transportation process
@@ -25,37 +25,37 @@
//
// $Id$
//
/// \file ExG4PrimaryGeneratorAction02.cc
/// \brief Implementation of the ExG4PrimaryGeneratorAction02 class
/// \file GpsPrimaryGeneratorAction.cc
/// \brief Implementation of the GpsPrimaryGeneratorActionclass
#include "ExG4PrimaryGeneratorAction02.hh"
#include "GpsPrimaryGeneratorAction.hh"
#include "G4Event.hh"
#include "G4GeneralParticleSource.hh"
#include "G4SystemOfUnits.hh"
const G4String ExG4PrimaryGeneratorAction02::fgkDefaultParticleName = "e-";
const G4double ExG4PrimaryGeneratorAction02::fgkDefaultEnergy = 1*MeV;
const G4String GpsPrimaryGeneratorAction::fgkDefaultParticleName = "e-";
const G4double GpsPrimaryGeneratorAction::fgkDefaultEnergy = 1.*MeV;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExG4PrimaryGeneratorAction02::ExG4PrimaryGeneratorAction02()
GpsPrimaryGeneratorAction::GpsPrimaryGeneratorAction()
: G4VUserPrimaryGeneratorAction(),
fGeneralParticleSource(0)
fGeneralParticleSource(nullptr)
{
fGeneralParticleSource = new G4GeneralParticleSource();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExG4PrimaryGeneratorAction02::~ExG4PrimaryGeneratorAction02()
GpsPrimaryGeneratorAction::~GpsPrimaryGeneratorAction()
{
delete fGeneralParticleSource;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExG4PrimaryGeneratorAction02::GeneratePrimaries(G4Event* anEvent)
void GpsPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
{
// this function is called at the begining of event
@@ -25,10 +25,10 @@
//
// $Id$
//
/// \file ExG4PrimaryGeneratorAction01.cc
/// \brief Implementation of the ExG4PrimaryGeneratorAction01 class
/// \file GunPrimaryGeneratorAction.cc
/// \brief Implementation of the GunPrimaryGeneratorAction class
#include "ExG4PrimaryGeneratorAction01.hh"
#include "GunPrimaryGeneratorAction.hh"
#include "G4Event.hh"
#include "G4ParticleGun.hh"
@@ -37,13 +37,13 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExG4PrimaryGeneratorAction01::ExG4PrimaryGeneratorAction01(
GunPrimaryGeneratorAction::GunPrimaryGeneratorAction(
const G4String& particleName,
G4double energy,
G4ThreeVector position,
G4ThreeVector momentumDirection)
: G4VUserPrimaryGeneratorAction(),
fParticleGun(0)
fParticleGun(nullptr)
{
G4int nofParticles = 1;
fParticleGun = new G4ParticleGun(nofParticles);
@@ -60,14 +60,14 @@ ExG4PrimaryGeneratorAction01::ExG4PrimaryGeneratorAction01(
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExG4PrimaryGeneratorAction01::~ExG4PrimaryGeneratorAction01()
GunPrimaryGeneratorAction::~GunPrimaryGeneratorAction()
{
delete fParticleGun;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExG4PrimaryGeneratorAction01::GeneratePrimaries(G4Event* anEvent)
void GunPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
{
// this function is called at the begining of event
+20 -31
View File
@@ -29,17 +29,17 @@
/// \file testCommon.cc
/// \brief Test program for the common classes
#include "ExG4DetectorConstruction01.hh"
#include "ExG4DetectorConstruction02.hh"
#include "ExG4PhysicsList00.hh"
#include "ExG4PrimaryGeneratorAction01.hh"
#include "ExG4PrimaryGeneratorAction02.hh"
#include "ExG4EventAction01.hh"
#include "ExG4RunAction01.hh"
#include "DetectorConstruction.hh"
#include "DetectorConstruction0.hh"
#include "GeantinoPhysicsList.hh"
#include "GpsPrimaryGeneratorAction.hh"
#include "GunPrimaryGeneratorAction.hh"
#include "G4RunManager.hh"
#include "FTFP_BERT.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
// Test program which only instantiates classes defined in
// examples/common
@@ -47,38 +47,27 @@ int main()
{
// First construct necessary classes
//
G4RunManager * runManager = new G4RunManager;
G4VModularPhysicsList* physicsList = new FTFP_BERT;
auto runManager = new G4RunManager;
auto physicsList = new FTFP_BERT;
runManager->SetUserInitialization(physicsList);
// Instantiate all detector construction classes
ExG4DetectorConstruction01* detectorConstruction01
= new ExG4DetectorConstruction01;
ExG4DetectorConstruction02* detectorConstruction02
= new ExG4DetectorConstruction02;
auto detectorConstruction = new DetectorConstruction;
auto detectorConstruction0 = new DetectorConstruction0;
// Instantiate all physics list classes
ExG4PhysicsList00* physicsList00 = new ExG4PhysicsList00();
auto geantinoPhysicsList = new GeantinoPhysicsList();
// Instantiate all primary generator actions classes
ExG4PrimaryGeneratorAction01* primaryGeneratorAction01
= new ExG4PrimaryGeneratorAction01();
ExG4PrimaryGeneratorAction02* primaryGeneratorAction02
= new ExG4PrimaryGeneratorAction02();
// Instantiate all user actions classes
ExG4EventAction01* eventAction01 = new ExG4EventAction01();
ExG4RunAction01* runAction01 = new ExG4RunAction01();
auto gpsPrimaryGeneratorAction = new GpsPrimaryGeneratorAction();
auto gunPrimaryGeneratorAction = new GunPrimaryGeneratorAction();
// delete all
delete detectorConstruction01;
delete detectorConstruction02;
delete physicsList00;
delete primaryGeneratorAction01;
delete primaryGeneratorAction02;
delete eventAction01;
delete runAction01;
return 0;
delete detectorConstruction;
delete detectorConstruction0;
delete geantinoPhysicsList;
delete gpsPrimaryGeneratorAction;
delete gunPrimaryGeneratorAction;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,5 +1,5 @@
$Id: History 104822 2017-06-20 12:24:22Z gcosmo $
$Id: History 107324 2017-11-08 16:35:06Z gcosmo $
-------------------------------------------------------------------
=========================================================
@@ -15,7 +15,11 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
07-11-17 D.Sawkey (testem0-V10-03-01)
- RunAction: write html documentation of physics list if envvars
G4PhysListName, G4PhysListDocDir set
19-06-17 mma (testem0-V10-03-00)
- RunAction : update max energy for CSDARange table
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-03-ref-06 (30-June-2017)
Geant4 version Name: geant4-10-04-ref-00 (08-December-2017)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -273,19 +273,24 @@ Auger electron production enabled 0
Auger cascade enabled 0
PIXE atomic de-excitation enabled 0
De-excitation module ignores cuts 0
Msc lateraral displacement for e+- enabled 1
Msc lateraral displacement for muons and hadrons 1
Msc lateraral displacement beyond geometry safety 0
Msc lateral displacement for e+- enabled 1
Msc lateral displacement for muons and hadrons 1
Msc lateral displacement alg96 for e+- 0
Msc lateral displacement beyond geometry safety 0
Enable angular generator interface 0
Use Mott correction for e- scattering 0
Use integral approach for tracking 1
Use built-in Birks satuaration 0
Use fast sampling in DNA models 0
Use Stationary option in DNA models 0
Use DNA with multiple scattering of e- 0
Factor of cut reduction for sub-cutoff method 1
Min kinetic energy for tables 10 eV
Max kinetic energy for tables 100 TeV
Max kinetic energy for CSDA tables 1 GeV
Lowest e+e- kinetic energy 100 eV
Lowest muon/hadron kinetic energy 1 keV
Lowest triplet kinetic energy 1 MeV
Linear loss limit 0.01
Bremsstrahlung energy threshold above which
primary is added to the list of secondary 100 TeV
@@ -328,15 +333,15 @@ Index : 0 used in the geometry : Yes
processes : phot compt conv Rayl total
cross section per atom : 1.7336 barn 11.0976 barn 0 pbarn 767.816 mbarn 13.599 barn
cross section per atom : 1.72573 barn 11.0976 barn 0 pbarn 767.816 mbarn 13.5911 barn
compCrossSectionPerVolume : 0.076535 cm^-1 0.489937 cm^-1 0 cm^-1 0.0338975 cm^-1 0.600369 cm^-1
cross section per volume : 0.076535 cm^-1 0.489937 cm^-1 0 cm^-1 0.0339048 cm^-1 0.600376 cm^-1
cross section per mass : 1.43782 mm2/g 9.20415 mm2/g 0 um2/mg 636.949 um2/mg 11.2789 mm2/g
compCrossSectionPerVolume : 0.0761873 cm^-1 0.489937 cm^-1 0 cm^-1 0.0338975 cm^-1 0.600022 cm^-1
cross section per volume : 0.0761873 cm^-1 0.489937 cm^-1 0 cm^-1 0.0339048 cm^-1 0.600029 cm^-1
cross section per mass : 1.43129 mm2/g 9.20415 mm2/g 0 um2/mg 636.949 um2/mg 11.2724 mm2/g
mean free path : 13.0659 cm 2.04108 cm 5.82593e+288 pc 29.4944 cm 1.66562 cm
(g/cm2) : 69.5499 g/cm2 10.8647 g/cm2 2.88022e+285 kg/cm2 156.998 g/cm2 8.8661 g/cm2
mean free path : 13.1255 cm 2.04108 cm 5.82593e+288 pc 29.4944 cm 1.66659 cm
(g/cm2) : 69.8672 g/cm2 10.8647 g/cm2 2.88022e+285 kg/cm2 156.998 g/cm2 8.87124 g/cm2
-----------------------------------------------------------
@@ -26,7 +26,7 @@
/// \file electromagnetic/TestEm0/src/RunAction.cc
/// \brief Implementation of the RunAction class
//
// $Id: RunAction.cc 104822 2017-06-20 12:24:22Z gcosmo $
// $Id: RunAction.cc 107324 2017-11-08 16:35:06Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -37,9 +37,9 @@
#include "G4Run.hh"
#include "G4ProcessManager.hh"
#include "G4LossTableManager.hh"
#include "G4UnitsTable.hh"
#include "G4EmCalculator.hh"
#include "G4Electron.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4Electron.hh"
@@ -135,6 +135,13 @@ void RunAction::BeginOfRunAction(const G4Run*)
}
}
// write html documentation, if requested
char* htmlDocName = getenv("G4PhysListName"); // file name
char* htmlDocDir = getenv("G4PhysListDocDir"); // directory
if (htmlDocName && htmlDocDir) {
G4LossTableManager::Instance()->DumpHtml();
}
// print list of processes
G4cout << "\n processes : ";
for (size_t j=0; j<emName.size();j++)
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-03-ref-06 (30-June-2017)
Geant4 version Name: geant4-10-04-ref-00 (08-December-2017)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -303,6 +303,20 @@ Command is ignored.
/run/printProgress 200
#
/run/beamOn 2000
=======================================================================
====== Radioactive Decay Physics Parameters ========
=======================================================================
Max life time 1e+15 ps
Internal e- conversion flag 1
Stored internal conversion coefficients 0
Enable correlated gamma emission 0
Max 2J for sampling of angular correlations 10
Atomic de-excitation enabled 0
Auger electron emission enabled 0
Auger cascade enabled 0
Check EM cuts disabled for atomic de-excitation 0
Use Bearden atomic level energies 0
=======================================================================
========= Table of registered couples ==============================
@@ -334,41 +348,41 @@ Index : 0 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 2000
User=2.38s Real=2.37s Sys=0s
User=1.45s Real=1.46s Sys=0s
======================== run summary ======================
The run is: 2000 e- of 100 MeV through 10 m of Aluminium (density: 2.7 g/cm3 )
total energy deposit: 99.823 MeV
total energy deposit: 99.78 MeV
nb tracks/event neutral: 25.302 charged: 137.55
nb steps/event neutral: 139.77 charged: 203.24
nb tracks/event neutral: 25.247 charged: 136.52
nb steps/event neutral: 138.58 charged: 202.04
Process calls frequency :
CoulombScat= 1 Rayl= 17645 Transportation= 1820
annihil= 2826 compt= 211290 conv= 2813
eBrem= 45992 eIoni= 357217 msc= 426
phot= 45979
Rayl= 17409 Transportation= 1846 annihil= 2802
compt= 209263 conv= 2788 eBrem= 45910
eIoni= 355072 msc= 301 phot= 45866
---------------------------------------------------------
Primary particle :
true Range = 11.083 cm rms = 3.9372 cm
proj Range = 9.6308 cm rms = 3.6326 cm
proj/true = 0.86894
transverse dispersion at end = 1.619 cm
mass true Range from simulation = 29.925 g/cm2
true Range = 11.288 cm rms = 3.8361 cm
proj Range = 9.8238 cm rms = 3.5882 cm
proj/true = 0.87029
transverse dispersion at end = 1.573 cm
mass true Range from simulation = 30.478 g/cm2
from PhysicsTable (csda range) = 32.1 g/cm2
---------------------------------------------------------
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 1900758666, 1991093562
Current couple of seeds = 166891589, 1397889803
----------------------------------------
G4 kernel has come to Quit state.
================== Deleting memory pools ===================
Number of memory pools allocated: 9 of which, static: 0
Dynamic pools deleted: 9 / Total memory freed: 0.07 MB
Dynamic pools deleted: 9 / Total memory freed: 0.069 MB
============================================================
RunManagerKernel is deleted. Good bye :)
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-03-ref-06 (30-June-2017)
Geant4 version Name: geant4-10-04-ref-00 (08-December-2017)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -80,7 +80,7 @@ eBrem: for e- SubType= 3
CoulombScat: for e-, integral: 1 SubType= 1 BuildTable= 1
Lambda table from 100 MeV to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
@@ -137,7 +137,7 @@ Lorentz Factor XTR photon number
8.085e+04 3.149
9.283e+04 3.149
total time for build X-ray TR energy loss tables = 0.06 s
total time for build X-ray TR energy loss tables = 0.03 s
msc: for e+ SubType= 10
RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1
@@ -166,7 +166,7 @@ annihil: for e+, integral: 1 SubType= 5 BuildTable= 0
CoulombScat: for e+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from 100 MeV to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
@@ -223,10 +223,10 @@ Lorentz Factor XTR photon number
8.085e+04 3.149
9.283e+04 3.149
total time for build X-ray TR energy loss tables = 0.05 s
total time for build X-ray TR energy loss tables = 0.04 s
msc: for proton SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -252,8 +252,8 @@ hPairProd: for proton SubType= 4
hPairProd : Emin= 0 eV Emax= 100 TeV
CoulombScat: for proton, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of anti_proton
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -285,7 +285,7 @@ ionIoni: for alpha SubType= 2
BetheBloch : Emin= 7.9452 MeV Emax= 100 TeV
msc: for anti_proton SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -312,12 +312,12 @@ hPairProd: for anti_proton SubType= 4
CoulombScat: for anti_proton, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for kaon+ SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -344,12 +344,12 @@ hPairProd: for kaon+ SubType= 4
CoulombScat: for kaon+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for kaon- SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -376,7 +376,7 @@ hPairProd: for kaon- SubType= 4
CoulombScat: for kaon-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of kaon+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -409,7 +409,7 @@ muPairProd: for mu+ SubType= 4
CoulombScat: for mu+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -442,12 +442,12 @@ muPairProd: for mu- SubType= 4
CoulombScat: for mu-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of mu+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for pi+ SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -474,12 +474,12 @@ hPairProd: for pi+ SubType= 4
CoulombScat: for pi+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for pi- SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -506,7 +506,7 @@ hPairProd: for pi- SubType= 4
CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of pi+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -547,16 +547,16 @@ Index : 2 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 1000
User=0.43s Real=0.43s Sys=0s
User=0.26s Real=0.27s Sys=0s
================== run summary =====================
End of Run TotNbofEvents = 1000
Mean energy deposit in absorber = 0.0473453 +-0.0188382 MeV
Total number of XTR gammas = 2531
Total number of all gammas = 2614
Mean energy deposit in absorber = 0.0485254 +-0.0187875 MeV
Total number of XTR gammas = 2638
Total number of all gammas = 2750
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 1933610691, 1585764316
Current couple of seeds = 1390173482, 191480913
----------------------------------------
... write Root file : testem10.root - done
... close Root file : testem10.root - done
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-03-ref-06 (30-June-2017)
Geant4 version Name: geant4-10-04-ref-00 (08-December-2017)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -185,6 +185,20 @@ ionIoni: for GenericIon SubType= 2
nuclearStopping: for GenericIon SubType= 8 BuildTable= 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
ICRU49NucStopping : Emin= 0 eV Emax= 1 MeV
=======================================================================
====== Radioactive Decay Physics Parameters ========
=======================================================================
Max life time 1e+15 ps
Internal e- conversion flag 1
Stored internal conversion coefficients 0
Enable correlated gamma emission 0
Max 2J for sampling of angular correlations 10
Atomic de-excitation enabled 1
Auger electron emission enabled 0
Auger cascade enabled 0
Check EM cuts disabled for atomic de-excitation 0
Use Bearden atomic level energies 0
=======================================================================
msc: for alpha SubType= 10
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1
@@ -456,27 +470,27 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics
Run terminated.
Run Summary
Number of events processed : 20000
User=2.42s Real=2.45s Sys=0.01s
User=1.52s Real=1.53s Sys=0s
======================== run summary =====================
The run is 20000 e- of 500.00 keV through 1 absorbers:
1 1.00 mm of G4_Si (density: 2.33 g/cm3 )
Edep in absorber 1 = 447.462 keV (14.832 keV-->500.000 keV)
Edep in absorber 1 = 447.899 keV (20.838 keV-->500.000 keV)
Track length of primary track = 880.393 um +- 195.304 um
Track length of primary track = 880.206 um +- 193.066 um
Range from EmCalculator = 942.776 um (from full dE/dx)
Projected range = 318.277 um +- 199.633 um
Projected range = 316.914 um +- 198.204 um
Nb of steps of primary track = 21.05 +- 4.94 Step size= 42.290 um +- 6.660 um
Nb of steps of primary track = 21.03 +- 4.89 Step size= 42.327 um +- 6.720 um
absorbed = 77.72 % transmit = 5.41 % reflected = 16.88 %
absorbed = 78.06 % transmit = 5.12 % reflected = 16.82 %
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 384160406, 814367431
Current couple of seeds = 1739046891, 800497309
----------------------------------------
G4 kernel has come to Quit state.
UserDetectorConstruction deleted.
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-03-ref-06 (30-June-2017)
Geant4 version Name: geant4-10-04-ref-00 (08-December-2017)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -114,19 +114,24 @@ Auger electron production enabled 0
Auger cascade enabled 0
PIXE atomic de-excitation enabled 0
De-excitation module ignores cuts 0
Msc lateraral displacement for e+- enabled 1
Msc lateraral displacement for muons and hadrons 0
Msc lateraral displacement beyond geometry safety 0
Msc lateral displacement for e+- enabled 1
Msc lateral displacement for muons and hadrons 0
Msc lateral displacement alg96 for e+- 1
Msc lateral displacement beyond geometry safety 0
Enable angular generator interface 0
Use Mott correction for e- scattering 0
Use integral approach for tracking 1
Use built-in Birks satuaration 0
Use fast sampling in DNA models 0
Use Stationary option in DNA models 0
Use DNA with multiple scattering of e- 0
Factor of cut reduction for sub-cutoff method 1
Min kinetic energy for tables 100 eV
Max kinetic energy for tables 100 TeV
Max kinetic energy for CSDA tables 1 GeV
Lowest e+e- kinetic energy 1 keV
Lowest muon/hadron kinetic energy 1 keV
Lowest triplet kinetic energy 1 MeV
Linear loss limit 0.01
Bremsstrahlung energy threshold above which
primary is added to the list of secondary 100 TeV
@@ -165,24 +170,24 @@ Type of PIXE cross section for e+- Livermore
Run terminated.
Run Summary
Number of events processed : 10000
User=1.32s Real=1.32s Sys=0s
User=1.01s Real=1.01s Sys=0.01s
======================== run summary =====================
The run is 10000 e- of 4.00 MeV through 3.00 cm of G4_WATER (density: 1.00 g/cm3 )
Total Energy deposited = 3.945 MeV +- 223.388 keV
Total Energy deposited = 3.945 MeV +- 211.960 keV
Track length of primary track = 2.049 cm +- 2.802 mm
Track length of primary track = 2.048 cm +- 2.789 mm
Range from EmCalculator = 2.045 cm (from full dE/dx)
Projected range = 1.325 cm +- 3.607 mm
Projected range = 1.328 cm +- 3.573 mm
Nb of steps of primary track = 16.36 +- 3.05 Step size= 1.290 mm +- 278.956 um
Nb of steps of primary track = 16.33 +- 3.02 Step size= 1.292 mm +- 280.099 um
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 406096966, 957157783
Current couple of seeds = 180165142, 530886527
----------------------------------------
G4 kernel has come to Quit state.
UserDetectorConstruction deleted.
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-03-ref-06 (30-June-2017)
Geant4 version Name: geant4-10-04-ref-00 (08-December-2017)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -427,7 +427,7 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics
Run terminated.
Run Summary
Number of events processed : 1000000
User=3.58s Real=3.58s Sys=0s
User=2.35s Real=2.36s Sys=0s
======================== run summary ======================
@@ -494,7 +494,7 @@ Index : 0 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 1000000
User=4.09s Real=4.12s Sys=0.01s
User=2.78s Real=2.79s Sys=0s
======================== run summary ======================
@@ -1,4 +1,4 @@
$Id: History 103622 2017-04-19 13:23:00Z gcosmo $
$Id: History 105728 2017-08-16 12:48:46Z gcosmo $
-------------------------------------------------------------------
=========================================================
@@ -14,6 +14,9 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
14-08-17 mma (testem14-V10-03-01)
- cosmetic in printout
19-04-17 mma (testem14-V10-03-00)
- BeginOfRunAction() : remove SetRandomNumberStore(true)
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-03-ref-06 (30-June-2017)
Geant4 version Name: geant4-10-04-ref-00 (08-December-2017)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -466,7 +466,7 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics
Run terminated.
Run Summary
Number of events processed : 1000000
User=5.61s Real=5.63s Sys=0.01s
User=3.86s Real=3.87s Sys=0s
======================== run summary ======================
@@ -477,10 +477,11 @@ Run Summary
MeanFreePath: 6.0662 cm +- 6.0665 cm massic: 6.0662 g/cm2
CrossSection: 0.16485 cm^-1 massic: 16.485 mm2/g
mean energy of charged secondaries: 15.197 keV mass_energy_transfer coef: 2.5052 mm2/g
mean energy of charged secondaries: 15.197 keV
---> mass_energy_transfer coef: 2.5052 mm2/g
Verification : crossSections from G4EmCalculator
compt= 16.23 mm2/g phot= 268.53 um2/mg total= 16.499 mm2/g
compt= 16.23 mm2/g phot= 268.53 um2/mg total= 16.499 mm2/g
--------- Ranecu engine status ---------
Initial seed (index) = 0
@@ -535,7 +536,7 @@ Index : 0 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 1000000
User=5.37s Real=5.38s Sys=0s
User=3.35s Real=3.35s Sys=0s
======================== run summary ======================
@@ -546,10 +547,11 @@ Run Summary
MeanFreePath: 1.6125 cm +- 1.6124 cm massic: 1.6125 g/cm2
CrossSection: 0.62015 cm^-1 massic: 62.015 mm2/g
mean energy of charged secondaries: 738.06 keV mass_energy_transfer coef: 457.71 um2/mg
mean energy of charged secondaries: 738.06 keV
---> mass_energy_transfer coef: 457.71 um2/mg
Verification : crossSections from G4EmCalculator
eBrem= 37.785 mm2/g eIoni= 24.166 mm2/g total= 61.951 mm2/g
eBrem= 37.785 mm2/g eIoni= 24.166 mm2/g total= 61.951 mm2/g
--------- Ranecu engine status ---------
Initial seed (index) = 0
@@ -188,7 +188,7 @@ void Run::EndOfRun()
G4cout << "\n mean energy of charged secondaries: "
<< G4BestUnit(MeanTransfer, "Energy")
<< "\tmass_energy_transfer coef: "
<< "\n ---> mass_energy_transfer coef: "
<< G4BestUnit(massTransfCoef, "Surface/Mass")
<< G4endl;
@@ -209,10 +209,10 @@ void Run::EndOfRun()
emCalculator.ComputeCrossSectionPerVolume(fEkin,fParticle,
procName,material)/density;
sumc += massSigma;
G4cout << "\t" << procName << "= "
G4cout << " " << procName << "= "
<< G4BestUnit(massSigma, "Surface/Mass");
}
G4cout << "\ttotal= "
G4cout << " total= "
<< G4BestUnit(sumc, "Surface/Mass") << G4endl;
// remove all contents in fProcCounter
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-03-ref-06 (30-June-2017)
Geant4 version Name: geant4-10-04-ref-00 (08-December-2017)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -488,7 +488,7 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics
Run terminated.
Run Summary
Number of events processed : 10000
User=0.09s Real=0.1s Sys=0s
User=0.05s Real=0.04s Sys=0s
The run consists of 10000 e- of 5 MeV through 100 m of Water (density: 1 g/cm3 )
@@ -558,31 +558,31 @@ Index : 1 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 10000
User=0.12s Real=0.12s Sys=0s
User=0.06s Real=0.06s Sys=0s
The run consists of 10000 e- of 100 keV through 100 m of Water (density: 1 g/cm3 )
Process calls frequency ---> msc = 10000
truePathLength : 6.3076 um +- 475.43 nm
geomPathLength : 6.1823 um +- 456.56 nm
lateralDisplac : 915.7 nm +- 238.78 nm
Psi : 146.47 mrad +- 34.441 mrad (8.3923 deg +- 1.9733 deg)
truePathLength : 6.31 um +- 468.8 nm
geomPathLength : 6.1846 um +- 450.2 nm
lateralDisplac : 940.52 nm +- 264.27 nm
Psi : 150.31 mrad +- 38.61 mrad (8.6123 deg +- 2.2122 deg)
Theta_plane : 233.15 mrad (13.358 deg)
phi correlation: 0.16506 +- 0.15215 (std::cos(phi_pos - phi_dir))
Theta_plane : 247.48 mrad (14.18 deg)
phi correlation: 0.078588 +- 0.13471 (std::cos(phi_pos - phi_dir))
Verification from G4EmCalculator.
transport mean free path : 1.5763 cm
range from restrict dE/dx: 143.25 um
---> effective facRange : 0.00040016
---> effective facRange : 0.00040031
compute theta0 from Highland : 180.73 mrad (10.355 deg)
compute theta0 from Highland : 180.76 mrad (10.357 deg)
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 1226144376, 883988589
Current couple of seeds = 1197317911, 1555409489
----------------------------------------
G4 kernel has come to Quit state.
UserDetectorConstruction deleted.
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-03-ref-06 (30-June-2017)
Geant4 version Name: geant4-10-04-ref-00 (08-December-2017)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -268,7 +268,7 @@ G4SynchrotronRadiation::GetRandomEnergySR :
Run terminated.
Run Summary
Number of events processed : 100
User=0.37s Real=0.37s Sys=0s
User=0.21s Real=0.21s Sys=0s
Summary for synchrotron radiation :
Number of photons = 64554
Emean = 20.24 +/- 0.1449 keV
@@ -1,4 +1,4 @@
$Id: History 100677 2016-10-31 10:46:50Z gcosmo $
$Id: History 107321 2017-11-08 16:31:08Z gcosmo $
-------------------------------------------------------------------
=========================================================
@@ -14,7 +14,10 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
07-11-17 D.Sawkey (testem17-V10-03-00)
- PhysicsList: fix setting emstandard; add emstandard_opt4
25-10-16 I. Hrivnacova (testem17-V10-02-04)
- HistoManager : kMaxHisto (instead of MaxHisto)
to get rid off the violation report in automatic checking of coding
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-03-ref-06 (30-June-2017)
Geant4 version Name: geant4-10-04-ref-00 (08-December-2017)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -118,6 +118,7 @@
/testem/det/setSize 1 m
#
/testem/phys/addPhysics emstandard_opt0
PhysicsList::AddPhysicsList: <emstandard_opt0>
/run/setCut 1 mm
#
/run/initialize
@@ -185,18 +186,18 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics
Run terminated.
Run Summary
Number of events processed : 10000
User=2.32s Real=2.31s Sys=0s
User=1.7s Real=1.69s Sys=0s
The run consists of 10000 mu+ of 10 TeV through 1 m of Iron (density: 7.9 g/cm3 )
Number of process calls ---> muIoni : 461964 muPairProd : 63763 muBrems : 690 CoulombScat : 5585
Number of process calls ---> muIoni : 461963 muPairProd : 63627 muBrems : 644 CoulombScat : 5518
Simulation: total CrossSection = 0.532 /cm MeanFreePath = 1.8797 cm massicCrossSection = 0.067599 cm2/g
Simulation: total CrossSection = 0.53175 /cm MeanFreePath = 1.8806 cm massicCrossSection = 0.067567 cm2/g
Theory: total CrossSection = 0.53938 /cm MeanFreePath = 1.854 cm massicCrossSection = 0.068536 cm2/g
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 1261347044, 1004169331
Current couple of seeds = 669695371, 1670852432
----------------------------------------
#
/gun/particle pi+
@@ -231,7 +232,7 @@ Index : 0 used in the geometry : Yes
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 1261347044, 1004169331
Current couple of seeds = 669695371, 1670852432
----------------------------------------
--> Event 0 starts.
--> Event 1000 starts.
@@ -246,17 +247,17 @@ Index : 0 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 10000
User=1.8s Real=1.81s Sys=0s
User=1.6s Real=1.6s Sys=0s
The run consists of 10000 pi+ of 10 TeV through 1 m of Iron (density: 7.9 g/cm3 )
Number of process calls ---> hPairProd : 59747 hIoni : 433560 CoulombScat : 5586 hBrems : 379
Number of process calls ---> hIoni : 433927 hPairProd : 59359 CoulombScat : 5595 hBrems : 378
Simulation: total CrossSection = 0.49927 /cm MeanFreePath = 2.0029 cm massicCrossSection = 0.06344 cm2/g
Simulation: total CrossSection = 0.49926 /cm MeanFreePath = 2.003 cm massicCrossSection = 0.063438 cm2/g
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 452146030, 1794725178
Current couple of seeds = 757017482, 302436013
----------------------------------------
#
/gun/particle proton
@@ -291,7 +292,7 @@ Index : 0 used in the geometry : Yes
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 452146030, 1794725178
Current couple of seeds = 757017482, 302436013
----------------------------------------
--> Event 0 starts.
--> Event 1000 starts.
@@ -306,17 +307,17 @@ Index : 0 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 10000
User=2.22s Real=2.22s Sys=0s
User=1.51s Real=1.51s Sys=0s
The run consists of 10000 proton of 10 TeV through 1 m of Iron (density: 7.9 g/cm3 )
Number of process calls ---> hIoni : 434938 hPairProd : 34325 CoulombScat : 5563 hBrems : 5
Number of process calls ---> hPairProd : 34564 hIoni : 434788 CoulombScat : 5656 hBrems : 3
Simulation: total CrossSection = 0.47483 /cm MeanFreePath = 2.106 cm massicCrossSection = 0.060334 cm2/g
Simulation: total CrossSection = 0.47501 /cm MeanFreePath = 2.1052 cm massicCrossSection = 0.060357 cm2/g
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 118104363, 682782592
Current couple of seeds = 110692364, 989821367
----------------------------------------
#
G4 kernel has come to Quit state.
@@ -27,7 +27,7 @@
/// \brief Implementation of the PhysicsList class
//
//
// $Id: PhysicsList.cc 94383 2015-11-13 10:20:27Z gcosmo $
// $Id: PhysicsList.cc 107321 2017-11-08 16:31:08Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -36,6 +36,7 @@
#include "PhysicsListMessenger.hh"
#include "G4EmStandardPhysics.hh"
#include "G4EmStandardPhysics_option4.hh"
#include "PhysListEmStandard.hh"
#include "MuNuclearBuilder.hh"
@@ -126,7 +127,7 @@ void PhysicsList::ConstructProcess()
void PhysicsList::AddPhysicsList(const G4String& name)
{
if (verboseLevel>1) {
if (verboseLevel>-1) {
G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl;
}
@@ -136,7 +137,13 @@ void PhysicsList::AddPhysicsList(const G4String& name)
fEmName = name;
delete fEmPhysicsList;
fEmPhysicsList = new PhysListEmStandard(name);
fEmPhysicsList = new G4EmStandardPhysics();
} else if (name == "emstandard_opt4") {
fEmName = name;
delete fEmPhysicsList;
fEmPhysicsList = new G4EmStandardPhysics_option4();
} else if (name == "local") {
@@ -5,16 +5,18 @@
/*! \page ExampleTestEm18 Example TestEm18
This example allows to study the energy lost by a charged particle in a
single layer, due to ionization and bremsstrahlung. Results are compared to
'reference' values.
This example allows to study the various contributions of the energy lost
by a charged particle in a single layer of an homogeneous material.
See any textbook of interactions of charged particles with matter, in particular :
1- geant4.web.cern.ch --> UserSupport --> Physics Reference Manual
2- lappweb.in2p3.fr/~maire/tutorials/index.html
\section TestEm18_s1 GEOMETRY DEFINITION
It is a single box of homogeneous medium.
It is a simple cubic box of homogeneous material.
Two parameters define the geometry :
- the material of the box,
- the (full) size of the box.
- the thickness of the box.
The default geometry (1 cm of water) is constructed in DetectorConstruction,
but the above parameters can be changed interactively via the commands
@@ -24,7 +26,7 @@
The physics list, PhysicsList, contains the 'standard' electromagnetic processes.
However the MultipleScattering is not registered, in order to focuse on
fluctuations due to energy loss alone.
fluctuations of to energy loss alone.
\section TestEm18_s3 BEAM
@@ -34,28 +36,39 @@
build-in commands of G4ParticleGun class.
\section TestEm18_s4 RUN
During the tracking of the incident particle, the secondary particles
are immediately killed, after that their energy has been registered
(see StackingAction).
Therefore, we study here the total energy lost by the incident particle,
not the energy deposited in a layer of finite thickness.
At RunAction::EndOfRunAction(), the above results are compared with 'reference' values,
i.e. the values read from EnergyLoss tables.
During the tracking of the incident particle, by default, the secondary
particles are immediately killed, after that their energy has been registered
(see SteppingAction and StackingAction).
Therefore, we study here the various components of the total energy lost
by the incident particle, not the energy deposited in a layer of finite
thickness.
With the option /testEm/trackSecondaries one can compute and plot the energy
deposited in the layer. See edep.mac
At EndOfRun, the above results are compared with 'reference' values,
i.e. the input data read from EnergyLoss and Range tables.
See reference 2 : Energy-Range relation, slide 4.
\section TestEm18_s5 HISTOGRAMS
The test contains 6 built-in 1D histograms, which are managed by
The test contains 13 built-in 1D histograms, which are managed by
G4AnalysisManager and its messenger.
- 1 : continuous energy loss along primary track
- 2 : energy from secondaries
- 3 : total energy lost by primary track (1+2)
- 4 : energy spectrum of e-+
- 5 : energy spectrum of gamma
- 6 : step size of primary track
1 step size of primary track
2 energy locally deposited along primary track
3 energy transfered to secondaries by ionisation
4 energy transfered to secondaries by Bremsstrahlung
5 energy transfered to secondaries by (e+,e-) production
6 total energy transfered to secondaries
7 total energy lost by primary track
8 total energy lost by primary track from energy balance
9 energy continuously deposited along secondary tracks
10 total energy deposited
11 energy spectrum of gamma
12 energy spectrum of e-
13 energy spectrum of e+
The histograms are defined in HistoManager.
The histos can be activated individually with the command :
@@ -40,8 +40,9 @@ target_link_libraries(TestEm18 ${Geant4_LIBRARIES} )
# relies on these scripts being in the current working directory.
#
set(TestEm18_SCRIPTS
csda.mac electron.mac pixe.mac proton.mac TestEm18.in TestEm18.out vis.mac
)
csda.mac edep.mac electron.mac ion.mac muon.mac pixe.mac proton.mac
TestEm18.in TestEm18.out vis.mac
)
foreach(_script ${TestEm18_SCRIPTS})
configure_file(
@@ -1,4 +1,4 @@
# $Id: GNUmakefile 66241 2012-12-13 18:34:42Z gunter $
# $Id: GNUmakefile 105252 2017-07-17 09:40:37Z gcosmo $
# --------------------------------------------------------------
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
# --------------------------------------------------------------
@@ -17,10 +17,3 @@ all: lib bin
include $(G4INSTALL)/config/architecture.gmk
include $(G4INSTALL)/config/binmake.gmk
visclean:
rm -f g4*.prim g4*.eps g4*.wrl
rm -f .DAWN_*
histclean:
rm ${G4WORKDIR}/tmp/${G4SYSTEM}/${G4TARGET}/HistoManager.o
@@ -1,4 +1,4 @@
$Id: History 103621 2017-04-19 13:21:45Z gcosmo $
$Id: History 106588 2017-10-13 13:44:45Z gcosmo $
----------------------------------------------------
=========================================================
@@ -14,6 +14,24 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
13-10-17 mma (testem18-V10-03-06)
- add edep.mac
31-08-17 G.Cosmo (testem18-V10-03-05)
- Corrected initialisation of fEdepSecMin and fEdepSecMax.
29-08-17 mma (testem18-V10-03-04)
- in option, allow the tracking of secondary particles.
24-07-17 mma (testem18-V10-03-03)
- update readme
16-07-17 mma (testem18-V10-03-02)
- RunAction : fix compilation warning
12-07-17 mma (testem18-V10-03-01)
- entirely revised -> more explicit output
19-04-17 mma (testem18-V10-03-00)
- BeginOfRunAction() : remove SetRandomNumberStore(true)
@@ -1,4 +1,4 @@
$Id: README 66241 2012-12-13 18:34:42Z gunter $
$Id: README 106588 2017-10-13 13:44:45Z gcosmo $
-------------------------------------------------------------------
=========================================================
@@ -7,16 +7,18 @@ $Id: README 66241 2012-12-13 18:34:42Z gunter $
TestEm18
--------
This example allows to study the energy lost by a charged particle in a
single layer, due to ionization and bremsstrahlung. Results are compared to
'reference' values.
This example allows to study the various contributions of the energy lost
by a charged particle in a single layer of an homogeneous material.
See any textbook of interactions of charged particles with matter, in particular :
1- geant4.web.cern.ch --> UserSupport --> Physics Reference Manual
2- lappweb.in2p3.fr/~maire/tutorials/index.html
1- GEOMETRY DEFINITION
It is a single box of homogeneous medium.
It is a simple cubic box of homogeneous material.
Two parameters define the geometry :
- the material of the box,
- the (full) size of the box.
- the thickness of the box.
The default geometry (1 cm of water) is constructed in DetectorConstruction,
but the above parameters can be changed interactively via the commands
@@ -26,7 +28,7 @@ $Id: README 66241 2012-12-13 18:34:42Z gunter $
The physics list contains the 'standard' electromagnetic processes.
However the MultipleScattering is not registered, in order to focuse on
fluctuations due to energy loss alone.
fluctuations of to energy loss alone.
3- BEAM
@@ -37,27 +39,38 @@ $Id: README 66241 2012-12-13 18:34:42Z gunter $
4- RUN
During the tracking of the incident particle, the secondary particles
are immediately killed, after that their energy has been registered
(see StackingAction).
Therefore, we study here the total energy lost by the incident particle,
not the energy deposited in a layer of finite thickness.
During the tracking of the incident particle, by default, the secondary
particles are immediately killed, after that their energy has been registered
(see SteppingAction and StackingAction).
Therefore, we study here the various components of the total energy lost
by the incident particle, not the energy deposited in a layer of finite
thickness.
With the option /testEm/trackSecondaries one can compute and plot the energy
deposited in the layer. See edep.mac
At EndOfRun, the above results are compared with 'reference' values,
i.e. the values read from EnergyLoss tables.
i.e. the input data read from EnergyLoss and Range tables.
See reference 2 : Energy-Range relation, slide 4.
5- HISTOGRAMS
The test contains 6 built-in 1D histograms, which are managed by
The test contains 13 built-in 1D histograms, which are managed by
G4AnalysisManager and its Messenger.
1 continuous energy loss along primary track
2 energy from secondaries
3 total energy lost by primary track (1+2)
4 energy spectrum of e-+
5 energy spectrum of gamma
6 step size of primary track
1 step size of primary track
2 energy continuously deposited along primary track
3 energy transfered to secondaries by ionisation
4 energy transfered to secondaries by Bremsstrahlung
5 energy transfered to secondaries by (e+,e-) production
6 total energy transfered to secondaries
7 total energy lost by primary track
8 total energy lost by primary track from energy balance
9 energy continuously deposited along secondary tracks
10 total energy deposited
11 energy spectrum of gamma
12 energy spectrum of e-
13 energy spectrum of e+
The histograms are defined in HistoManager.
The histos can be activated individually with the command :
@@ -27,7 +27,7 @@
/// \brief Main program of the electromagnetic/TestEm18 example
//
//
// $Id: TestEm18.cc 66241 2012-12-13 18:34:42Z gunter $
// $Id: TestEm18.cc 105252 2017-07-17 09:40:37Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -41,6 +41,7 @@
#include "PrimaryGeneratorAction.hh"
#include "RunAction.hh"
#include "EventAction.hh"
#include "TrackingAction.hh"
#include "SteppingAction.hh"
#include "SteppingVerbose.hh"
#include "StackingAction.hh"
@@ -85,13 +86,17 @@ int main(int argc,char** argv) {
//eventAction
EventAction* eventaction = new EventAction(runaction);
runManager->SetUserAction(eventaction);
//TrackingAction
TrackingAction* trackingaction = new TrackingAction(runaction);
runManager->SetUserAction(trackingaction);
//stepAction
SteppingAction* steppingaction = new SteppingAction(runaction, eventaction);
runManager->SetUserAction(steppingaction);
//stackAction
StackingAction* stackingaction = new StackingAction(runaction, eventaction);
StackingAction* stackingaction = new StackingAction();
runManager->SetUserAction(stackingaction);
// get the pointer to the User Interface manager
@@ -1,4 +1,4 @@
# $Id: TestEm18.in 82401 2014-06-18 14:43:54Z gcosmo $
# $Id: TestEm18.in 105252 2017-07-17 09:40:37Z gcosmo $
#
# macro file for TestEm18.cc
#
@@ -13,8 +13,9 @@
/run/setCut 1 mm
#
/run/initialize
/process/list
#
/gun/particle e-
/gun/energy 10 MeV
/gun/energy 100 MeV
#
/run/beamOn 100000
@@ -4,155 +4,71 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-03-ref-06 (30-June-2017)
Geant4 version Name: geant4-10-04-ref-00 (08-December-2017)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
*************************************************************
***** Table : Nb of materials = 12 *****
Material: Air density: 1.290 mg/cm3 RadL: 285.161 m Nucl.Int.Length: 662.680 m
Imean: 85.703 eV temperature: 293.15 K pressure: 1.00 atm
---> Element: Nitrogen (N) Z = 7.0 N = 14 A = 14.010 g/mole
---> Isotope: N14 Z = 7 N = 14 A = 14.00 g/mole abundance: 99.632 %
---> Isotope: N15 Z = 7 N = 15 A = 15.00 g/mole abundance: 0.368 %
ElmMassFraction: 70.00 % ElmAbundance 72.71 %
---> Element: Oxygen (O) Z = 8.0 N = 16 A = 16.000 g/mole
---> Isotope: O16 Z = 8 N = 16 A = 15.99 g/mole abundance: 99.757 %
---> Isotope: O17 Z = 8 N = 17 A = 17.00 g/mole abundance: 0.038 %
---> Isotope: O18 Z = 8 N = 18 A = 18.00 g/mole abundance: 0.205 %
ElmMassFraction: 30.00 % ElmAbundance 27.29 %
Material: Water density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.356 cm
Imean: 78.000 eV temperature: 293.15 K pressure: 1.00 atm
---> Element: Hydrogen (H) Z = 1.0 N = 1 A = 1.010 g/mole
---> Isotope: H1 Z = 1 N = 1 A = 1.01 g/mole abundance: 99.989 %
---> Isotope: H2 Z = 1 N = 2 A = 2.01 g/mole abundance: 0.011 %
ElmMassFraction: 11.21 % ElmAbundance 66.67 %
---> Element: Oxygen (O) Z = 8.0 N = 16 A = 16.000 g/mole
---> Isotope: O16 Z = 8 N = 16 A = 15.99 g/mole abundance: 99.757 %
---> Isotope: O17 Z = 8 N = 17 A = 17.00 g/mole abundance: 0.038 %
---> Isotope: O18 Z = 8 N = 18 A = 18.00 g/mole abundance: 0.205 %
ElmMassFraction: 88.79 % ElmAbundance 33.33 %
Material: Water_vapor density: 1.000 mg/cm3 RadL: 360.924 m Nucl.Int.Length: 753.560 m
Imean: 78.000 eV temperature: 293.15 K pressure: 1.00 atm
---> Element: Hydrogen (H) Z = 1.0 N = 1 A = 1.010 g/mole
---> Isotope: H1 Z = 1 N = 1 A = 1.01 g/mole abundance: 99.989 %
---> Isotope: H2 Z = 1 N = 2 A = 2.01 g/mole abundance: 0.011 %
ElmMassFraction: 11.21 % ElmAbundance 66.67 %
---> Element: Oxygen (O) Z = 8.0 N = 16 A = 16.000 g/mole
---> Isotope: O16 Z = 8 N = 16 A = 15.99 g/mole abundance: 99.757 %
---> Isotope: O17 Z = 8 N = 17 A = 17.00 g/mole abundance: 0.038 %
---> Isotope: O18 Z = 8 N = 18 A = 18.00 g/mole abundance: 0.205 %
ElmMassFraction: 88.79 % ElmAbundance 33.33 %
Material: Carbon density: 2.267 g/cm3 RadL: 18.833 cm Nucl.Int.Length: 35.356 cm
Imean: 81.000 eV temperature: 293.15 K pressure: 1.00 atm
---> Element: C (C) Z = 6.0 N = 12 A = 12.010 g/mole
---> Isotope: C12 Z = 6 N = 12 A = 12.00 g/mole abundance: 98.930 %
---> Isotope: C13 Z = 6 N = 13 A = 13.00 g/mole abundance: 1.070 %
ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Material: Aluminium density: 2.700 g/cm3 RadL: 8.893 cm Nucl.Int.Length: 38.879 cm
Imean: 166.000 eV temperature: 293.15 K pressure: 1.00 atm
---> Element: Al (Al) Z = 13.0 N = 27 A = 26.980 g/mole
---> Isotope: Al27 Z = 13 N = 27 A = 26.98 g/mole abundance: 100.000 %
ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Material: Silicon density: 2.330 g/cm3 RadL: 9.368 cm Nucl.Int.Length: 45.663 cm
Imean: 173.000 eV temperature: 293.15 K pressure: 1.00 atm
---> Element: Si (Si) Z = 14.0 N = 28 A = 28.090 g/mole
---> Isotope: Si28 Z = 14 N = 28 A = 27.98 g/mole abundance: 92.230 %
---> Isotope: Si29 Z = 14 N = 29 A = 28.98 g/mole abundance: 4.683 %
---> Isotope: Si30 Z = 14 N = 30 A = 29.97 g/mole abundance: 3.087 %
ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Material: liquidArgon density: 1.390 g/cm3 RadL: 14.065 cm Nucl.Int.Length: 86.078 cm
Imean: 188.000 eV temperature: 293.15 K pressure: 1.00 atm
---> Element: Ar (Ar) Z = 18.0 N = 40 A = 39.950 g/mole
---> Isotope: Ar36 Z = 18 N = 36 A = 35.97 g/mole abundance: 0.337 %
---> Isotope: Ar38 Z = 18 N = 38 A = 37.96 g/mole abundance: 0.063 %
---> Isotope: Ar40 Z = 18 N = 40 A = 39.96 g/mole abundance: 99.600 %
ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Material: Iron density: 7.870 g/cm3 RadL: 1.759 cm Nucl.Int.Length: 16.999 cm
Imean: 286.000 eV temperature: 293.15 K pressure: 1.00 atm
---> Element: Fe (Fe) Z = 26.0 N = 56 A = 55.850 g/mole
---> Isotope: Fe54 Z = 26 N = 54 A = 53.94 g/mole abundance: 5.845 %
---> Isotope: Fe56 Z = 26 N = 56 A = 55.93 g/mole abundance: 91.754 %
---> Isotope: Fe57 Z = 26 N = 57 A = 56.94 g/mole abundance: 2.119 %
---> Isotope: Fe58 Z = 26 N = 58 A = 57.93 g/mole abundance: 0.282 %
ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Material: Germanium density: 5.323 g/cm3 RadL: 2.301 cm Nucl.Int.Length: 27.431 cm
Imean: 350.000 eV temperature: 293.15 K pressure: 1.00 atm
---> Element: Ge (Ge) Z = 32.0 N = 73 A = 72.610 g/mole
---> Isotope: Ge70 Z = 32 N = 70 A = 69.92 g/mole abundance: 20.840 %
---> Isotope: Ge72 Z = 32 N = 72 A = 71.92 g/mole abundance: 27.540 %
---> Isotope: Ge73 Z = 32 N = 73 A = 72.92 g/mole abundance: 7.730 %
---> Isotope: Ge74 Z = 32 N = 74 A = 73.92 g/mole abundance: 36.280 %
---> Isotope: Ge76 Z = 32 N = 76 A = 75.92 g/mole abundance: 7.610 %
ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Material: Tungsten density: 19.300 g/cm3 RadL: 3.504 mm Nucl.Int.Length: 10.312 cm
Imean: 727.000 eV temperature: 293.15 K pressure: 1.00 atm
---> Element: W (W) Z = 74.0 N = 184 A = 183.850 g/mole
---> Isotope: W180 Z = 74 N = 180 A = 179.95 g/mole abundance: 0.120 %
---> Isotope: W182 Z = 74 N = 182 A = 181.95 g/mole abundance: 26.500 %
---> Isotope: W183 Z = 74 N = 183 A = 182.95 g/mole abundance: 14.310 %
---> Isotope: W184 Z = 74 N = 184 A = 183.95 g/mole abundance: 30.640 %
---> Isotope: W186 Z = 74 N = 186 A = 185.95 g/mole abundance: 28.430 %
ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Material: Lead density: 11.350 g/cm3 RadL: 5.612 mm Nucl.Int.Length: 18.247 cm
Imean: 823.000 eV temperature: 293.15 K pressure: 1.00 atm
---> Element: Pb (Pb) Z = 82.0 N = 207 A = 207.190 g/mole
---> Isotope: Pb204 Z = 82 N = 204 A = 203.97 g/mole abundance: 1.400 %
---> Isotope: Pb206 Z = 82 N = 206 A = 205.97 g/mole abundance: 24.100 %
---> Isotope: Pb207 Z = 82 N = 207 A = 206.98 g/mole abundance: 22.100 %
---> Isotope: Pb208 Z = 82 N = 208 A = 207.98 g/mole abundance: 52.400 %
ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Material: ArgonGas density: 1.782 mg/cm3 RadL: 109.702 m Nucl.Int.Length: 671.417 m
Imean: 188.000 eV temperature: 273.15 K pressure: 1.00 atm
---> Element: Ar (Ar) Z = 18.0 N = 40 A = 39.948 g/mole
---> Isotope: Ar36 Z = 18 N = 36 A = 35.97 g/mole abundance: 0.337 %
---> Isotope: Ar38 Z = 18 N = 38 A = 37.96 g/mole abundance: 0.063 %
---> Isotope: Ar40 Z = 18 N = 40 A = 39.96 g/mole abundance: 99.600 %
ElmMassFraction: 100.00 % ElmAbundance 100.00 %
### New material Water
=======================================================================
====== Electromagnetic Physics Parameters ========
=======================================================================
Fluctuations of dE/dx are enabled 1
Build CSDA range enabled 1
LPM effect enabled 1
Spline of EM tables enabled 1
Use cut as a final range enabled 1
Apply cuts on all EM processes 0
Fluorescence enabled 0
Fluorescence Bearden data files enabled 0
Auger electron production enabled 0
Auger cascade enabled 0
PIXE atomic de-excitation enabled 0
De-excitation module ignores cuts 0
Msc lateral displacement for e+- enabled 1
Msc lateral displacement for muons and hadrons 0
Msc lateral displacement alg96 for e+- 1
Msc lateral displacement beyond geometry safety 0
Enable angular generator interface 0
Use Mott correction for e- scattering 0
Use integral approach for tracking 1
Use built-in Birks satuaration 0
Use fast sampling in DNA models 0
Use Stationary option in DNA models 0
Use DNA with multiple scattering of e- 0
Factor of cut reduction for sub-cutoff method 1
Min kinetic energy for tables 10 eV
Max kinetic energy for tables 10 TeV
Max kinetic energy for CSDA tables 10 TeV
Lowest e+e- kinetic energy 1 keV
Lowest muon/hadron kinetic energy 1 keV
Lowest triplet kinetic energy 1 MeV
Linear loss limit 0.01
Bremsstrahlung energy threshold above which
primary is added to the list of secondary 100 TeV
X-section factor for integral approach 0.8
Factor used for dynamic computation of angular
limit between single and multiple scattering 1
Fixed angular limit between single
and multiple scattering 3.1416 rad
Range factor for msc step limit for e+- 0.04
Range factor for msc step limit for muons/hadrons 0.2
Geometry factor for msc step limitation of e+- 2.5
Skin parameter for msc step limitation of e+- 1
Screening factor 1
Step function for e+- (0.2, 1 mm)
Step function for muons/hadrons (0.2, 0.1 mm)
Number of bins in tables 120
Number of bins per decade of a table 10
Verbose level 0
Verbose level for worker thread 0
Type of msc step limit algorithm for e+- 1
Type of msc step limit algorithm for muons/hadrons 0
Type of nuclear form-factor 1
Type of PIXE cross section for hadrons Empirical
Type of PIXE cross section for e+- Livermore
=======================================================================
/run/verbose 2
#
/testem/det/setMat Water
@@ -167,237 +83,36 @@
userDetector->Construct() start.
The Box is 1 cm of Water
Material: Water density: 1.000 g/cm3 RadL: 36.092 cm Nucl.Int.Length: 75.356 cm
Imean: 78.000 eV temperature: 293.15 K pressure: 1.00 atm
---> Element: Hydrogen (H) Z = 1.0 N = 1 A = 1.010 g/mole
---> Isotope: H1 Z = 1 N = 1 A = 1.01 g/mole abundance: 99.989 %
---> Isotope: H2 Z = 1 N = 2 A = 2.01 g/mole abundance: 0.011 %
ElmMassFraction: 11.21 % ElmAbundance 66.67 %
---> Element: Oxygen (O) Z = 8.0 N = 16 A = 16.000 g/mole
---> Isotope: O16 Z = 8 N = 16 A = 15.99 g/mole abundance: 99.757 %
---> Isotope: O17 Z = 8 N = 17 A = 17.00 g/mole abundance: 0.038 %
---> Isotope: O18 Z = 8 N = 18 A = 18.00 g/mole abundance: 0.205 %
ElmMassFraction: 88.79 % ElmAbundance 33.33 %
Water is registered to the default region.
physicsList->Construct() start.
physicsList->CheckParticleList() start.
physicsList->setCut() start.
/process/list
Transportation, ionIoni, nuclearStopping, hIoni
eIoni, eBrem, annihil, phot
compt, conv, muIoni, muBrems
muPairProd, hBrems, hPairProd, UserStepMax
#
/gun/particle e-
/gun/energy 10 MeV
/gun/energy 100 MeV
#
/run/beamOn 100000
### === Deexcitation model UAtomDeexcitation is activated for 1 region:
DefaultRegionForTheWorld 1 0 0
### === Ignore cuts flag: 0
phot: for gamma SubType= 12 BuildTable= 0
LambdaPrime table from 200 keV to 10 TeV in 77 bins
===== EM models for the G4Region DefaultRegionForTheWorld ======
PhotoElectric : Emin= 0 eV Emax= 10 TeV AngularGenSauterGavrila FluoActive
compt: for gamma SubType= 13 BuildTable= 1
Lambda table from 10 eV to 1 MeV, 10 bins per decade, spline: 1
LambdaPrime table from 1 MeV to 10 TeV in 70 bins
===== EM models for the G4Region DefaultRegionForTheWorld ======
KleinNishina : Emin= 0 eV Emax= 10 TeV FluoActive
conv: for gamma SubType= 14 BuildTable= 1
Lambda table from 1.022 MeV to 10 TeV, 18 bins per decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
BetheHeitler : Emin= 0 eV Emax= 80 GeV
BetheHeitlerLPM : Emin= 80 GeV Emax= 10 TeV
eIoni: for e- SubType= 2
dE/dx and range tables from 10 eV to 10 TeV in 120 bins
Lambda tables from threshold to 10 TeV, 10 bins per decade, spline: 1
finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.01
===== EM models for the G4Region DefaultRegionForTheWorld ======
MollerBhabha : Emin= 0 eV Emax= 10 TeV
CSDA range table up to 1 GeV in 80 bins
eBrem: for e- SubType= 3
dE/dx and range tables from 10 eV to 10 TeV in 120 bins
Lambda tables from threshold to 10 TeV, 10 bins per decade, spline: 1
LPM flag: 1 for E > 1 GeV, VertexHighEnergyTh(GeV)= 100000
===== EM models for the G4Region DefaultRegionForTheWorld ======
eBremSB : Emin= 0 eV Emax= 1 GeV DipBustGen
eBremLPM : Emin= 1 GeV Emax= 10 TeV DipBustGen
eIoni: for e+ SubType= 2
dE/dx and range tables from 10 eV to 10 TeV in 120 bins
Lambda tables from threshold to 10 TeV, 10 bins per decade, spline: 1
finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.01
===== EM models for the G4Region DefaultRegionForTheWorld ======
MollerBhabha : Emin= 0 eV Emax= 10 TeV
CSDA range table up to 1 GeV in 80 bins
eBrem: for e+ SubType= 3
dE/dx and range tables from 10 eV to 10 TeV in 120 bins
Lambda tables from threshold to 10 TeV, 10 bins per decade, spline: 1
LPM flag: 1 for E > 1 GeV, VertexHighEnergyTh(GeV)= 100000
===== EM models for the G4Region DefaultRegionForTheWorld ======
eBremSB : Emin= 0 eV Emax= 1 GeV DipBustGen
eBremLPM : Emin= 1 GeV Emax= 10 TeV DipBustGen
annihil: for e+, integral: 1 SubType= 5 BuildTable= 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
eplus2gg : Emin= 0 eV Emax= 10 TeV
hIoni: for proton SubType= 2
dE/dx and range tables from 10 eV to 10 TeV in 120 bins
Lambda tables from threshold to 10 TeV, 10 bins per decade, spline: 1
finalRange(mm)= 0.02, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.01
===== EM models for the G4Region DefaultRegionForTheWorld ======
Bragg : Emin= 0 eV Emax= 2 MeV
BetheBloch : Emin= 2 MeV Emax= 10 TeV
CSDA range table up to 1 GeV in 80 bins
hBrems: for proton SubType= 3
dE/dx and range tables from 10 eV to 10 TeV in 120 bins
Lambda tables from threshold to 10 TeV, 10 bins per decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
hBrem : Emin= 0 eV Emax= 10 TeV
hPairProd: for proton SubType= 4
dE/dx and range tables from 10 eV to 10 TeV in 120 bins
Lambda tables from threshold to 10 TeV, 10 bins per decade, spline: 1
Sampling table 13x1001 from 7.50618 GeV to 10 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 10 TeV
ionIoni: for GenericIon SubType= 2
dE/dx and range tables from 10 eV to 10 TeV in 120 bins
Lambda tables from threshold to 10 TeV, 10 bins per decade, spline: 1
finalRange(mm)= 0.001, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02
===== EM models for the G4Region DefaultRegionForTheWorld ======
ParamICRU73 : Emin= 0 eV Emax= 10 TeV deltaVI
CSDA range table up to 1 GeV in 80 bins
nuclearStopping: for GenericIon SubType= 8 BuildTable= 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV
ionIoni: for alpha SubType= 2
dE/dx and range tables from 10 eV to 10 TeV in 120 bins
Lambda tables from threshold to 10 TeV, 10 bins per decade, spline: 1
finalRange(mm)= 0.001, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02
===== EM models for the G4Region DefaultRegionForTheWorld ======
BraggIon : Emin= 0 eV Emax= 7.9452 MeV
BetheBloch : Emin= 7.9452 MeV Emax= 10 TeV
CSDA range table up to 1 GeV in 80 bins
nuclearStopping: for alpha SubType= 8 BuildTable= 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
ICRU49NucStopping : Emin= 0 eV Emax= 10 TeV
hIoni: for anti_proton SubType= 2
dE/dx and range tables from 10 eV to 10 TeV in 120 bins
Lambda tables from threshold to 10 TeV, 10 bins per decade, spline: 1
finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
===== EM models for the G4Region DefaultRegionForTheWorld ======
ICRU73QO : Emin= 0 eV Emax= 2 MeV
BetheBloch : Emin= 2 MeV Emax= 10 TeV
CSDA range table up to 1 GeV in 80 bins
hIoni: for kaon+ SubType= 2
dE/dx and range tables from 10 eV to 10 TeV in 120 bins
Lambda tables from threshold to 10 TeV, 10 bins per decade, spline: 1
finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
===== EM models for the G4Region DefaultRegionForTheWorld ======
Bragg : Emin= 0 eV Emax= 1.05231 MeV
BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV
CSDA range table up to 1 GeV in 80 bins
hIoni: for kaon- SubType= 2
dE/dx and range tables from 10 eV to 10 TeV in 120 bins
Lambda tables from threshold to 10 TeV, 10 bins per decade, spline: 1
finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
===== EM models for the G4Region DefaultRegionForTheWorld ======
ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV
BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV
CSDA range table up to 1 GeV in 80 bins
muIoni: for mu+ SubType= 2
dE/dx and range tables from 10 eV to 10 TeV in 120 bins
Lambda tables from threshold to 10 TeV, 10 bins per decade, spline: 1
finalRange(mm)= 0.05, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.01
===== EM models for the G4Region DefaultRegionForTheWorld ======
Bragg : Emin= 0 eV Emax= 200 keV
BetheBloch : Emin= 200 keV Emax= 1 GeV
MuBetheBloch : Emin= 1 GeV Emax= 10 TeV
CSDA range table up to 1 GeV in 80 bins
muBrems: for mu+ SubType= 3
dE/dx and range tables from 10 eV to 10 TeV in 120 bins
Lambda tables from threshold to 10 TeV, 10 bins per decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
MuBrem : Emin= 0 eV Emax= 10 TeV
muPairProd: for mu+ SubType= 4
dE/dx and range tables from 10 eV to 10 TeV in 120 bins
Lambda tables from threshold to 10 TeV, 10 bins per decade, spline: 1
Sampling table 17x1001 from 1 GeV to 10 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
muPairProd : Emin= 0 eV Emax= 10 TeV
muIoni: for mu- SubType= 2
dE/dx and range tables from 10 eV to 10 TeV in 120 bins
Lambda tables from threshold to 10 TeV, 10 bins per decade, spline: 1
finalRange(mm)= 0.05, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.01
===== EM models for the G4Region DefaultRegionForTheWorld ======
ICRU73QO : Emin= 0 eV Emax= 200 keV
BetheBloch : Emin= 200 keV Emax= 1 GeV
MuBetheBloch : Emin= 1 GeV Emax= 10 TeV
CSDA range table up to 1 GeV in 80 bins
muBrems: for mu- SubType= 3
dE/dx and range tables from 10 eV to 10 TeV in 120 bins
Lambda tables from threshold to 10 TeV, 10 bins per decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
MuBrem : Emin= 0 eV Emax= 10 TeV
muPairProd: for mu- SubType= 4
dE/dx and range tables from 10 eV to 10 TeV in 120 bins
Lambda tables from threshold to 10 TeV, 10 bins per decade, spline: 1
Sampling table 17x1001 from 1 GeV to 10 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
muPairProd : Emin= 0 eV Emax= 10 TeV
hIoni: for pi+ SubType= 2
dE/dx and range tables from 10 eV to 10 TeV in 120 bins
Lambda tables from threshold to 10 TeV, 10 bins per decade, spline: 1
finalRange(mm)= 0.02, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.01
===== EM models for the G4Region DefaultRegionForTheWorld ======
Bragg : Emin= 0 eV Emax= 297.505 keV
BetheBloch : Emin= 297.505 keV Emax= 10 TeV
CSDA range table up to 1 GeV in 80 bins
hBrems: for pi+ SubType= 3
dE/dx and range tables from 10 eV to 10 TeV in 120 bins
Lambda tables from threshold to 10 TeV, 10 bins per decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
hBrem : Emin= 0 eV Emax= 10 TeV
hPairProd: for pi+ SubType= 4
dE/dx and range tables from 10 eV to 10 TeV in 120 bins
Lambda tables from threshold to 10 TeV, 10 bins per decade, spline: 1
Sampling table 16x1001 from 1.11656 GeV to 10 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 10 TeV
hIoni: for pi- SubType= 2
dE/dx and range tables from 10 eV to 10 TeV in 120 bins
Lambda tables from threshold to 10 TeV, 10 bins per decade, spline: 1
finalRange(mm)= 0.02, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.01
===== EM models for the G4Region DefaultRegionForTheWorld ======
ICRU73QO : Emin= 0 eV Emax= 297.505 keV
BetheBloch : Emin= 297.505 keV Emax= 10 TeV
CSDA range table up to 1 GeV in 80 bins
hBrems: for pi- SubType= 3
dE/dx and range tables from 10 eV to 10 TeV in 120 bins
Lambda tables from threshold to 10 TeV, 10 bins per decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
hBrem : Emin= 0 eV Emax= 10 TeV
hPairProd: for pi- SubType= 4
dE/dx and range tables from 10 eV to 10 TeV in 120 bins
Lambda tables from threshold to 10 TeV, 10 bins per decade, spline: 1
Sampling table 16x1001 from 1.11656 GeV to 10 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 10 TeV
Region <DefaultRegionForTheWorld> -- -- appears in <Water> world volume
This region is in the mass world.
Root logical volume(s) : Water
@@ -436,27 +151,42 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics
Run terminated.
Run Summary
Number of events processed : 100000
User=1.2s Real=1.24s Sys=0.01s
User=0.62s Real=0.62s Sys=0s
======================== run summary ======================
The run was 100000 e- of 10 MeV through 1 cm of Water (density: 1 g/cm3 )
===========================================================
The run was 100000 e- of 100 MeV through 1 cm of Water (density: 1 g/cm3 )
Process defining step :
Edep alone= 311 Transportation= 99992 eBrem= 37558 eIoni= 24144
TrackLength= 1.0004 cm nb of steps= 2.5074 stepSize= 3.9899 mm
TrackLength = 10 mm nb of steps = 1.62 stepSize = 6.173 mm (3.424 nm --> 1.001 cm )
d-rays : eLoss/primary= 244.26 keV nb of d-rays= 0.23298 <Tkin>= 1.0484 MeV Tmin= 351.89 keV Tmax= 4.9325 MeV
Energy continuously deposited along primary track (restricted dE/dx) dE1 = 1.744 MeV (606.1 keV --> 2.921 MeV)
gamma : eLoss/primary= 160.99 keV nb of gammas= 0.27726 <Tkin>= 580.66 keV Tmin= 2.9408 keV Tmax= 9.7286 MeV
Evaluation of dE1 from reading restricted Range table : dE1_table = 1.744 MeV ---> dE1/dE1_table = 1
deposit : eLoss/primary= 1.7327 MeV <dEcut > table= 1.7337 MeV ---> simul/reference= 0.99944
Energy transfered to secondary particles :
due to eBrem: dE2 = 2.376 MeV (2.942 keV --> 99.05 MeV)
due to eIoni: dE2 = 450.2 keV (351.9 keV --> 50.28 MeV)
Total energy transfered to secondaries : dE3 = sum of dE2 = 2.826 MeV (2.942 keV --> 99.05 MeV)
Total energy lost by incident particle : dE4 = dE1 + dE3 = 4.57 MeV (1.333 MeV --> 100 MeV)
calcul of dE4 from energy balance : dE4_bal = E_in - E_out = 4.57 MeV (1.333 MeV --> 100 MeV)
Evaluation of dE4 from reading full Range table : dE4_table = 4.578 MeV ---> dE4/dE4_table = 0.9984
Energy spectrum of secondary particles :
e-: 24144 Emean = 1.864 MeV (351.9 keV --> 49.78 MeV)
gamma: 37544 Emean = 6.328 MeV (2.942 keV --> 99.01 MeV)
total : eLoss/primary= 2.138 MeV <dEfull> table= 2.1388 MeV ---> simul/reference= 0.99962
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 901273126, 1892315932
Current couple of seeds = 150141884, 397385343
----------------------------------------
G4 kernel has come to Quit state.
UserDetectorConstruction deleted.
@@ -0,0 +1,27 @@
# $Id: TestEm18.in 105105 2017-07-12 21:18:32Z maire $
#
# macro file for TestEm18.cc
#
/control/verbose 2
/run/verbose 2
#
/testem/det/setMat Water
/testem/det/setSize 5 cm
#
/testem/phys/addPhysics standard
#
/run/setCut 1 mm
#
/run/initialize
#
/gun/particle e-
/gun/energy 100 MeV
#
/testem/trackSecondaries true
#
/analysis/setFileName edep
/analysis/h1/set 7 100 0 100 MeV #total Elost
/analysis/h1/set 10 100 0 100 MeV #total Edep
#
/run/printProgress 10000
/run/beamOn 100000
@@ -1,4 +1,4 @@
# $Id: electron.mac 82401 2014-06-18 14:43:54Z gcosmo $
# $Id: electron.mac 105927 2017-08-29 13:25:29Z gcosmo $
#
# macro file for TestEm18.cc
#
@@ -18,15 +18,18 @@
/gun/energy 10 MeV
#
/analysis/setFileName electron
#
/analysis/h1/set 1 100 0 10 MeV #continuous eLoss
/analysis/h1/set 2 100 0 10 MeV #secondary eLoss
/analysis/h1/set 3 100 0 10 MeV #total eLoss
/analysis/h1/set 4 100 0 10 MeV #e- energy spectrum
/analysis/h1/set 5 100 0 10 MeV #gamma energy spectrum
/analysis/h1/set 6 100 0 10 mm #step size
#
/run/printProgress 100000
/analysis/h1/set 1 100 0 10 mm #step size
/analysis/h1/set 2 100 0 10 MeV #continuous Edeposited
/analysis/h1/set 3 100 0 10 MeV #Etransfered by ionisation
/analysis/h1/set 4 100 0 10 MeV #Etransfered by brems
/analysis/h1/set 6 100 0 10 MeV #total Etransfered
/analysis/h1/set 7 100 0 10 MeV #total Elost
/analysis/h1/set 8 100 0 10 MeV #energy balance
/analysis/h1/set 11 100 0 10 MeV #gamma energy spectrum
/analysis/h1/set 12 100 0 10 MeV #e- energy spectrum
#
/run/beamOn 1000000
/run/printProgress 10000
#
/run/beamOn 100000
@@ -26,7 +26,7 @@
/// \file electromagnetic/TestEm18/include/EventAction.hh
/// \brief Definition of the EventAction class
//
// $Id: EventAction.hh 82401 2014-06-18 14:43:54Z gcosmo $
// $Id: EventAction.hh 105927 2017-08-29 13:25:29Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -36,8 +36,10 @@
#include "G4UserEventAction.hh"
#include "globals.hh"
#include <map>
class RunAction;
class G4VProcess;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -51,14 +53,15 @@ class EventAction : public G4UserEventAction
virtual void BeginOfEventAction(const G4Event*);
virtual void EndOfEventAction(const G4Event*);
void AddEnergyDeposit(G4double edep) {fEnergyDeposit += edep;};
void AddSecondary(G4double ekin) {fEnergySecondary += ekin;};
void SumEnergyDeposited(G4int trackID, G4double edep);
void SumEnergyTransfered(const G4VProcess*, G4double);
private:
RunAction* fRunAction;
G4double fEnergyDeposit;
G4double fEnergySecondary;
G4double fEdepPrimary, fEdepSecondary;
std::map<G4String,G4double> fEnergyTransfered;
std::map<G4String,G4int> fProcessSubType;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,7 @@
/// \file electromagnetic/TestEm18/include/RunAction.hh
/// \brief Definition of the RunAction class
//
// $Id: RunAction.hh 66241 2012-12-13 18:34:42Z gunter $
// $Id: RunAction.hh 105927 2017-08-29 13:25:29Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -35,8 +35,9 @@
#define RunAction_h 1
#include "G4UserRunAction.hh"
#include "G4VProcess.hh"
#include "globals.hh"
#include <map>
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -60,43 +61,64 @@ class RunAction : public G4UserRunAction
virtual void BeginOfRunAction(const G4Run*);
virtual void EndOfRunAction(const G4Run*);
void AddEnergyDeposit (G4double edep)
{fEnergyDeposit += edep;};
void CountProcesses(G4String procName);
void TrackLength (G4double step);
void EnergyDeposited (G4double edepPrim, G4double edepSecond);
void EnergyTransferedByProcess (G4String procName, G4double energy);
void EnergyTransfered (G4double energy);
void TotalEnergyLost (G4double energy);
void EnergyBalance (G4double energy);
void TotalEnergyDeposit (G4double energy);
void EnergySpectrumOfSecondaries (G4String particleName, G4double ekin);
void AddTrackLength (G4double step)
{fTrackLength += step; fNbSteps++;};
void AddChargedSecondary (G4double ekin)
{fEnergyCharged += ekin; fNbCharged++;
if (ekin<fEmin[0]) fEmin[0] = ekin;
if (ekin>fEmax[0]) fEmax[0] = ekin;
};
void AddNeutralSecondary (G4double ekin)
{fEnergyNeutral += ekin; fNbNeutral++;
if (ekin<fEmin[1]) fEmin[1] = ekin;
if (ekin>fEmax[1]) fEmax[1] = ekin;
};
public:
G4double GetEnergyFromRestrictedRange
(G4double,G4ParticleDefinition*,G4Material*,G4double);
G4double GetEnergyFromCSDARange
(G4double,G4ParticleDefinition*,G4Material*,G4double);
(G4double,G4ParticleDefinition*,G4Material*,G4double);
private:
struct MinMaxData {
MinMaxData()
: fCount(0), fVsum(0.), fVmin(0.), fVmax(0.) {}
MinMaxData(G4int count, G4double vsum, G4double vmin, G4double vmax)
: fCount(count), fVsum(vsum), fVmin(vmin), fVmax(vmax) {}
G4int fCount;
G4double fVsum;
G4double fVmin;
G4double fVmax;
};
private:
G4double fEnergyDeposit;
G4double fTrackLength;
G4double fEnergyCharged, fEnergyNeutral;
G4double fEmin[2], fEmax[2];
G4long fNbSteps;
G4int fNbCharged, fNbNeutral;
DetectorConstruction* fDetector;
PrimaryGeneratorAction* fPrimary;
HistoManager* fHistoManager;
std::map<G4String,G4int> fProcCounter;
G4long fNbSteps;
G4double fTrackLength, fStepMin, fStepMax;
G4double fEdepPrimary, fEdepPrimMin, fEdepPrimMax;
std::map<G4String,MinMaxData> fEtransfByProcess;
G4double fEnergyTransfered, fEtransfMin, fEtransfMax;
G4double fEnergyLost, fElostMin, fElostMax;
G4double fEnergyBalance, fEbalMin, fEbalMax;
G4double fEdepSecondary, fEdepSecMin, fEdepSecMax;
G4double fEdepTotal, fEdepTotMin, fEdepTotMax;
std::map<G4String,MinMaxData> fEkinOfSecondaries;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,7 @@
/// \file electromagnetic/TestEm18/include/StackingAction.hh
/// \brief Definition of the StackingAction class
//
// $Id: StackingAction.hh 66241 2012-12-13 18:34:42Z gunter $
// $Id: StackingAction.hh 105927 2017-08-29 13:25:29Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -37,22 +37,23 @@
#include "G4UserStackingAction.hh"
#include "globals.hh"
class RunAction;
class EventAction;
class StackingMessenger;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class StackingAction : public G4UserStackingAction
{
public:
StackingAction(RunAction*, EventAction*);
StackingAction();
~StackingAction();
void SetTrackSecondaries(G4bool value) { fTrackSecondaries = value;};
virtual G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track*);
private:
RunAction* fRunaction;
EventAction* fEventaction;
G4bool fTrackSecondaries;
StackingMessenger* fStackMessenger;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,37 +23,36 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm8/include/StepMaxMessenger.hh
/// \brief Definition of the StepMaxMessenger class
/// \file electromagnetic/TestEm5/include/StackingMessenger.hh
/// \brief Definition of the StackingMessenger class
//
// $Id: StepMaxMessenger.hh 67268 2013-02-13 11:38:40Z ihrivnac $
// $Id: StackingMessenger.hh 66241 2012-12-13 18:34:42Z gunter $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef StepMaxMessenger_h
#define StepMaxMessenger_h 1
#ifndef StackingMessenger_h
#define StackingMessenger_h 1
#include "globals.hh"
#include "G4UImessenger.hh"
#include "globals.hh"
class StepMax;
class G4UIcmdWithADoubleAndUnit;
class StackingAction;
class G4UIcmdWithABool;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class StepMaxMessenger: public G4UImessenger
class StackingMessenger: public G4UImessenger
{
public:
StepMaxMessenger(StepMax*);
~StepMaxMessenger();
public:
StackingMessenger(StackingAction*);
~StackingMessenger();
virtual void SetNewValue(G4UIcommand*, G4String);
virtual void SetNewValue(G4UIcommand*, G4String);
private:
StepMax* fStepMax;
G4UIcmdWithADoubleAndUnit* fStepMaxCmd;
private:
StackingAction* fStackAction;
G4UIcmdWithABool* fTrackCmd;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,34 +23,39 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file GammaPhysics.hh
/// \brief Definition of the GammaPhysics class
/// \file electromagnetic/TestEm12/include/TrackingAction.hh
/// \brief Definition of the TrackingAction class
//
// $Id: GammaPhysics.hh 66587 2012-12-21 11:06:44Z ihrivnac $
// $Id: TrackingAction.hh 78723 2014-01-20 10:32:17Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef GammaPhysics_h
#define GammaPhysics_h 1
#ifndef TrackingAction_h
#define TrackingAction_h 1
#include "G4UserTrackingAction.hh"
#include "globals.hh"
#include "G4VPhysicsConstructor.hh"
class RunAction;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class GammaPhysics : public G4VPhysicsConstructor
{
public:
GammaPhysics(const G4String& name="gamma");
~GammaPhysics();
class TrackingAction : public G4UserTrackingAction {
public:
virtual void ConstructParticle() { };
virtual void ConstructProcess();
public:
TrackingAction(RunAction*);
~TrackingAction() {};
virtual void PreUserTrackingAction(const G4Track*);
virtual void PostUserTrackingAction(const G4Track*);
private:
RunAction* fRunAction;
G4double fEkin1;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -0,0 +1,33 @@
# $Id: TestEm18.in 82392 2014-06-18 12:30:04Z maire $
#
# macro file for TestEm18.cc
#
/control/verbose 2
/run/verbose 2
#
/testem/det/setMat Water
/testem/det/setSize 1 cm
#
/testem/phys/addPhysics standard
#
/run/setCut 1 mm
#
/run/initialize
/process/list
#
/gun/particle ion
/gun/ion 6 12
/gun/energy 4 GeV
#
/analysis/setFileName C12
#
/analysis/h1/set 1 100 0 1 cm #step size
/analysis/h1/set 2 100 100 150 MeV #continuous Edeposited
/analysis/h1/set 3 100 0 20 MeV #Etransfered by ionisation
/analysis/h1/set 6 100 0 20 MeV #total Etransfered
/analysis/h1/set 7 100 100 150 MeV #total Elost
/analysis/h1/set 8 100 100 150 MeV #energy balance
/analysis/h1/set 12 100 0 1000 keV #e- energy spectrum
#
/run/printProgress 10000
/run/beamOn 100000
@@ -0,0 +1,32 @@
# macro file for TestEm18.cc
#
/testem/det/setMat G4_Cu
/testem/det/setSize 1 m
#
/testem/phys/addPhysics standard
#
/run/setCut 1 mm
#
/run/initialize
/process/list
#
/gun/particle mu+
/gun/energy 1 TeV
#
/analysis/setFileName mu+
#
/analysis/h1/set 1 100 0 30 cm #step size
/analysis/h1/set 2 100 0 2 GeV #continuous Edeposited
/analysis/h1/set 3 100 0 1000 GeV #Etransfered by ionisation
/analysis/h1/set 4 100 0 1000 GeV #Etransfered by brems
/analysis/h1/set 5 100 0 1000 GeV #Etransfered by (e+,e-) prod
/analysis/h1/set 6 100 0 1000 GeV #total Etransfered
/analysis/h1/set 7 100 0 1000 GeV #total Elost
/analysis/h1/set 8 100 0 1000 GeV #energy balance
/analysis/h1/set 11 100 0 1000 GeV #gamma energy spectrum
/analysis/h1/set 12 100 0 1000 GeV #e- energy spectrum
/analysis/h1/set 13 100 0 1000 GeV #e+ energy spectrum
#
/run/printProgress 10000
/run/beamOn 100000
@@ -1,4 +1,4 @@
# $Id: pixe.mac 82401 2014-06-18 14:43:54Z gcosmo $
# $Id: pixe.mac 105927 2017-08-29 13:25:29Z gcosmo $
#
# macro file for TestEm18.cc
#
@@ -8,19 +8,19 @@
/testem/det/setMat Tungsten
/testem/det/setSize 100 um
#
/process/em/pixe true
#
/run/setCut 1 um
#
/run/initialize
#
/process/em/pixe true
#
/gun/particle proton
/gun/energy 10 MeV
#
/analysis/setFileName pixe
/analysis/h1/set 3 100 0 10 MeV #total eLoss
/analysis/h1/set 5 100 0 100 keV #gamma energy spectrum
/analysis/h1/set 7 100 0 10 MeV #total eLoss
/analysis/h1/set 11 100 0 100 keV #gamma energy spectrum
#
/run/printProgress 100000
/run/printProgress 10000
#
/run/beamOn 1000000
/run/beamOn 100000
@@ -3,16 +3,43 @@
// Draw histos filled by Geant4 simulation
//
TFile f("pixe.root");
TFile f("C12.root");
TCanvas* c1 = new TCanvas("c1", " ");
TH1D* hist3 = (TH1D*)f.Get("3");
hist3->Draw("HIST");
c1->SetLogy(1);
c1->cd();
c1->Update();
TH1D* hist1 = (TH1D*)f.Get("1");
hist1->Draw("HIST");
TH1D* hist2 = (TH1D*)f.Get("2");
hist2->Draw("HIST");
TH1D* hist3 = (TH1D*)f.Get("3");
hist3->Draw("HIST");
///TH1D* hist4 = (TH1D*)f.Get("4");
///hist4->Draw("HIST");
///TH1D* hist5 = (TH1D*)f.Get("5");
///hist5->Draw("HIST");
TH1D* hist6 = (TH1D*)f.Get("6");
hist6->Draw("HIST");
TH1D* hist7 = (TH1D*)f.Get("7");
hist7->Draw("HIST");
///TH1D* hist8 = (TH1D*)f.Get("8");
///hist8->Draw("HIST");
TH1D* hist5 = (TH1D*)f.Get("5");
hist5->Draw("HIST");
///TH1D* hist9 = (TH1D*)f.Get("9");
///hist9->Draw("HIST");
TH1D* hist10 = (TH1D*)f.Get("10");
hist10->Draw("HIST");
///TH1D* hist11 = (TH1D*)f.Get("11");
///hist11->Draw("HIST");
}
@@ -1,4 +1,4 @@
# $Id: proton.mac 82401 2014-06-18 14:43:54Z gcosmo $
# $Id: proton.mac 105927 2017-08-29 13:25:29Z gcosmo $
#
# macro file for TestEm18.cc
#
@@ -6,23 +6,26 @@
/run/verbose 2
#
/testem/det/setMat Water
/testem/det/setSize 1 cm
/testem/det/setSize 10 cm
#
/run/setCut 100 um
#
/run/initialize
/process/list
#
/gun/particle proton
/gun/energy 100 MeV
/gun/energy 1 GeV
#
/analysis/setFileName proton
#
/analysis/h1/set 1 100 0 10 MeV #continuous eLoss
/analysis/h1/set 2 100 0 10 MeV #secondary eLoss
/analysis/h1/set 3 100 0 10 MeV #total eLoss
/analysis/h1/set 4 100 0 300 keV #e- energy spectrum
/analysis/h1/set 6 100 0 10 mm #step size
#
/run/printProgress 100000
/analysis/h1/set 1 100 0 10 cm #step size
/analysis/h1/set 2 100 0 40 MeV #continuous Edeposited
/analysis/h1/set 3 100 0 40 MeV #Etransfered by ionisation
/analysis/h1/set 6 100 0 40 MeV #total Etransfered
/analysis/h1/set 7 100 0 40 MeV #total Elost
/analysis/h1/set 8 100 0 40 MeV #energy balance
/analysis/h1/set 12 100 0 5 MeV #e- energy spectrum
#
/run/beamOn 1000000
/run/printProgress 10000
#
/run/beamOn 100000
@@ -26,7 +26,7 @@
/// \file electromagnetic/TestEm18/src/DetectorConstruction.cc
/// \brief Implementation of the DetectorConstruction class
//
// $Id: DetectorConstruction.cc 68348 2013-03-22 10:00:19Z maire $
// $Id: DetectorConstruction.cc 105252 2017-07-17 09:40:37Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -121,7 +121,7 @@ void DetectorConstruction::DefineMaterials()
new G4Material("ArgonGas" , z=18., a=39.948*g/mole, density= 1.782*mg/cm3,
kStateGas, 273.15*kelvin, 1*atmosphere);
G4cout << *(G4Material::GetMaterialTable()) << G4endl;
////G4cout << *(G4Material::GetMaterialTable()) << G4endl;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -162,7 +162,8 @@ G4VPhysicalVolume* DetectorConstruction::ConstructVolumes()
void DetectorConstruction::PrintParameters()
{
G4cout << "\n The Box is " << G4BestUnit(fBoxSize,"Length")
<< " of " << fMaterial->GetName() << G4endl;
<< " of " << fMaterial->GetName()
<< "\n " << fMaterial << G4endl;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,7 @@
/// \file electromagnetic/TestEm18/src/EventAction.cc
/// \brief Implementation of the EventAction class
//
// $Id: EventAction.cc 82401 2014-06-18 14:43:54Z gcosmo $
// $Id: EventAction.cc 105927 2017-08-29 13:25:29Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -54,19 +54,71 @@ EventAction::~EventAction()
void EventAction::BeginOfEventAction(const G4Event*)
{
// initialisation per event
fEnergyDeposit = fEnergySecondary = 0.;
fEdepPrimary = fEdepSecondary = 0.;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void EventAction::SumEnergyDeposited(G4int trackID, G4double edep)
{
if (trackID == 1) fEdepPrimary += edep;
else fEdepSecondary += edep;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void EventAction::SumEnergyTransfered(const G4VProcess* process,G4double energy)
{
G4String procName = process->GetProcessName();
std::map<G4String,G4double>::iterator it = fEnergyTransfered.find(procName);
if ( it == fEnergyTransfered.end()) {
fEnergyTransfered[procName] = energy;
}
else {
fEnergyTransfered[procName] += energy;
}
G4int subtype = process-> GetProcessSubType();
fProcessSubType[procName] = subtype;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void EventAction::EndOfEventAction(const G4Event*)
{
fRunAction->AddEnergyDeposit(fEnergyDeposit);
G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
analysisManager->FillH1(1, fEnergyDeposit);
analysisManager->FillH1(2, fEnergySecondary);
analysisManager->FillH1(3, fEnergyDeposit+fEnergySecondary);
G4double EtransferedTotal = 0.;
std::map<G4String,G4double>::iterator it;
for (it = fEnergyTransfered.begin(); it != fEnergyTransfered.end(); it++) {
G4String procName = it->first;
G4double energy = it->second;
fRunAction->EnergyTransferedByProcess(procName, energy);
EtransferedTotal += energy;
//
G4int ih = 0;
if(fProcessSubType[procName] == 2) ih = 3;
else if(fProcessSubType[procName] == 3) ih = 4;
else if(fProcessSubType[procName] == 4) ih = 5;
if (ih > 0) analysisManager->FillH1(ih, energy);
}
fRunAction->EnergyDeposited(fEdepPrimary, fEdepSecondary);
if (EtransferedTotal > 0.) fRunAction->EnergyTransfered(EtransferedTotal);
G4double energyLostTotal = fEdepPrimary + EtransferedTotal;
fRunAction->TotalEnergyLost(energyLostTotal);
G4double energyDepositTotal = fEdepPrimary + fEdepSecondary;
fRunAction->TotalEnergyDeposit(energyDepositTotal);
analysisManager->FillH1( 2, fEdepPrimary);
analysisManager->FillH1( 6, EtransferedTotal);
analysisManager->FillH1( 7, energyLostTotal);
analysisManager->FillH1( 9, fEdepSecondary);
analysisManager->FillH1(10, energyDepositTotal);
fEnergyTransfered.clear();
fProcessSubType.clear();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: HistoManager.cc 72242 2013-07-12 08:44:19Z gcosmo $
// $Id: HistoManager.cc 105927 2017-08-29 13:25:29Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -60,17 +60,25 @@ void HistoManager::Book()
analysisManager->SetActivation(true); //enable inactivation of histograms
// Define histograms start values
const G4int kMaxHisto = 7;
const G4String id[] = { "0", "1", "2", "3" , "4", "5", "6"};
const G4int kMaxHisto = 14;
const G4String id[] = { "0", "1", "2", "3" , "4", "5", "6", "7", "8", "9",
"10", "11", "12", "13"};
const G4String title[] =
{ "dummy", //0
"continuous energy loss along primary track", //1
"energy from secondaries", //2
"total energy lost by primary track", //3
"energy spectrum of e-+", //4
"energy spectrum of gamma", //5
"step size" //6
};
{ "dummy", //0
"step size of primary track", //1
"energy continuously deposited along primary track", //2
"energy transfered to secondaries by ionisation", //3
"energy transfered to secondaries by Bremsstrahlung", //4
"energy transfered to secondaries by (e+,e-) production", //5
"total energy transfered to secondaries", //6
"total energy lost by primary track", //7
"total energy lost by primary track from energy balance", //8
"energy continuously deposited along secondary tracks", //9
"total energy deposited", //10
"energy spectrum of gamma", //11
"energy spectrum of e-", //12
"energy spectrum of e+" //13
};
// Default values (to be reset via /analysis/h1/set command)
G4int nbins = 100;
@@ -27,7 +27,7 @@
/// \brief Implementation of the PhysListEmLivermore class
//
//
// $Id: PhysListEmLivermore.cc 100275 2016-10-17 08:29:19Z gcosmo $
// $Id: PhysListEmLivermore.cc 105252 2017-07-17 09:40:37Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -88,7 +88,11 @@ PhysListEmLivermore::PhysListEmLivermore(const G4String& name)
param->SetMaxEnergy(10*TeV);
param->SetNumberOfBinsPerDecade(10);
param->SetBuildCSDARange(true);
param->SetMaxEnergyForCSDARange(10*TeV);
SetPhysicsType(bElectromagnetic);
param->SetVerbose(0);
param->Dump();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -27,7 +27,7 @@
/// \brief Implementation of the PhysListEmPenelope class
//
//
// $Id: PhysListEmPenelope.cc 100275 2016-10-17 08:29:19Z gcosmo $
// $Id: PhysListEmPenelope.cc 105252 2017-07-17 09:40:37Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -89,7 +89,11 @@ PhysListEmPenelope::PhysListEmPenelope(const G4String& name)
param->SetMaxEnergy(10*TeV);
param->SetNumberOfBinsPerDecade(10);
param->SetBuildCSDARange(true);
param->SetMaxEnergyForCSDARange(10*TeV);
SetPhysicsType(bElectromagnetic);
param->SetVerbose(0);
param->Dump();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,7 @@
/// \file electromagnetic/TestEm18/src/PhysListEmStandard.cc
/// \brief Implementation of the PhysListEmStandard class
//
// $Id: PhysListEmStandard.cc 100275 2016-10-17 08:29:19Z gcosmo $
// $Id: PhysListEmStandard.cc 105252 2017-07-17 09:40:37Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -76,7 +76,11 @@ PhysListEmStandard::PhysListEmStandard(const G4String& name)
param->SetMaxEnergy(10*TeV);
param->SetNumberOfBinsPerDecade(10);
param->SetBuildCSDARange(true);
param->SetMaxEnergyForCSDARange(10*TeV);
SetPhysicsType(bElectromagnetic);
param->SetVerbose(0);
param->Dump();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -169,9 +173,6 @@ void PhysListEmStandard::ConstructProcess()
// Deexcitation
//
G4VAtomDeexcitation* de = new G4UAtomicDeexcitation();
de->SetFluo(true);
de->SetAuger(false);
de->SetPIXE(false);
G4LossTableManager::Instance()->SetAtomDeexcitation(de);
}
@@ -26,7 +26,7 @@
/// \file electromagnetic/TestEm18/src/RunAction.cc
/// \brief Implementation of the RunAction class
//
// $Id: RunAction.cc 103621 2017-04-19 13:21:45Z gcosmo $
// $Id: RunAction.cc 105930 2017-08-31 08:39:49Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -64,22 +64,33 @@ void RunAction::BeginOfRunAction(const G4Run*)
{
//initialisation
//
fEnergyDeposit = 0.;
fNbCharged = fNbNeutral = 0;
fEnergyCharged = fEnergyNeutral = 0.;
fEmin[0] = fEmin[1] = DBL_MAX;
fEmax[0] = fEmax[1] = 0.;
fNbSteps = 0;
fTrackLength = 0.;
fStepMin = DBL_MAX;
fStepMax = 0.;
fEdepPrimary = fEdepSecondary = fEdepTotal = 0.;
fEdepPrimMin = fEdepSecMin = fEdepTotMin = DBL_MAX;
fEdepPrimMax = fEdepSecMax = fEdepTotMax = 0.;
fEnergyTransfered = 0.;
fEtransfMin = DBL_MAX;
fEtransfMax = 0.;
fEnergyLost = 0.;
fElostMin = DBL_MAX;
fElostMax = 0.;
fEnergyBalance = 0.;
fEbalMin = DBL_MAX;
fEbalMax = 0.;
//histograms
//
G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
if ( analysisManager->IsActive() ) {
analysisManager->OpenFile();
}
}
// show Rndm status
CLHEP::HepRandom::showEngineStatus();
@@ -87,6 +98,117 @@ void RunAction::BeginOfRunAction(const G4Run*)
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void RunAction::CountProcesses(G4String procName)
{
std::map<G4String,G4int>::iterator it = fProcCounter.find(procName);
if ( it == fProcCounter.end()) {
fProcCounter[procName] = 1;
}
else {
fProcCounter[procName]++;
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void RunAction::TrackLength (G4double step)
{
fTrackLength += step; fNbSteps++;
if (step<fStepMin) fStepMin = step;
if (step>fStepMax) fStepMax = step;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void RunAction::EnergyDeposited (G4double edepPrim, G4double edepSecond)
{
fEdepPrimary += edepPrim;
if (edepPrim<fEdepPrimMin) fEdepPrimMin = edepPrim;
if (edepPrim>fEdepPrimMax) fEdepPrimMax = edepPrim;
fEdepSecondary += edepSecond;
if (edepSecond<fEdepSecMin) fEdepSecMin = edepSecond;
if (edepSecond>fEdepSecMax) fEdepSecMax = edepSecond;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void RunAction::EnergyTransferedByProcess(G4String process, G4double energy)
{
std::map<G4String, MinMaxData>::iterator it = fEtransfByProcess.find(process);
if ( it == fEtransfByProcess.end()) {
fEtransfByProcess[process] = MinMaxData(1, energy, energy, energy);
}
else {
MinMaxData& data = it->second;
data.fCount++;
data.fVsum += energy;
//update min max
G4double emin = data.fVmin;
if (energy < emin) data.fVmin = energy;
G4double emax = data.fVmax;
if (energy > emax) data.fVmax = energy;
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void RunAction::EnergyTransfered (G4double energy)
{
fEnergyTransfered += energy;
if (energy<fEtransfMin) fEtransfMin = energy;
if (energy>fEtransfMax) fEtransfMax = energy;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void RunAction::TotalEnergyLost (G4double energy)
{
fEnergyLost += energy;
if (energy<fElostMin) fElostMin = energy;
if (energy>fElostMax) fElostMax = energy;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void RunAction::EnergyBalance (G4double energy)
{
fEnergyBalance += energy;
if (energy<fEbalMin) fEbalMin = energy;
if (energy>fEbalMax) fEbalMax = energy;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void RunAction::TotalEnergyDeposit (G4double energy)
{
fEdepTotal += energy;
if (energy<fEdepTotMin) fEdepTotMin = energy;
if (energy>fEdepTotMax) fEdepTotMax = energy;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void RunAction::EnergySpectrumOfSecondaries(G4String particle, G4double energy)
{
std::map<G4String,MinMaxData>::iterator it = fEkinOfSecondaries.find(particle);
if ( it == fEkinOfSecondaries.end()) {
fEkinOfSecondaries[particle] = MinMaxData(1, energy, energy, energy);
}
else {
MinMaxData& data = it->second;
data.fCount++;
data.fVsum += energy;
//update min max
G4double emin = data.fVmin;
if (energy < emin) data.fVmin = energy;
G4double emax = data.fVmax;
if (energy > emax) data.fVmax = energy;
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void RunAction::EndOfRunAction(const G4Run* aRun)
{
G4int nbEvents = aRun->GetNumberOfEvent();
@@ -108,20 +230,25 @@ void RunAction::EndOfRunAction(const G4Run* aRun)
<< G4BestUnit(length,"Length") << " of "
<< material->GetName() << " (density: "
<< G4BestUnit(density,"Volumic Mass") << ")";
G4cout << "\n ===========================================================\n";
G4cout << G4endl;
//save histograms
G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
if ( analysisManager->IsActive() ) {
analysisManager->Write();
analysisManager->CloseFile();
}
if (particle->GetPDGCharge() == 0.) return;
G4cout.precision(5);
G4cout.precision(4);
//frequency of processes
//
G4cout << "\n Process defining step :" << G4endl;
G4int index = 0;
for ( const auto& procCounter : fProcCounter ) {
G4String procName = procCounter.first;
G4int count = procCounter.second;
G4String space = " "; if (++index%4 == 0) space = "\n";
G4cout << " " << std::setw(15) << procName << "="<< std::setw(7) << count
<< space;
}
G4cout << G4endl;
//track length
//
G4double trackLPerEvent = fTrackLength/nbEvents;
@@ -129,52 +256,31 @@ void RunAction::EndOfRunAction(const G4Run* aRun)
G4double stepSize = fTrackLength/fNbSteps;
G4cout
<< "\n TrackLength= "
<< "\n TrackLength = "
<< G4BestUnit(trackLPerEvent, "Length")
<< "\t nb of steps= " << nbStepPerEvent
<< " stepSize= " << G4BestUnit(stepSize, "Length")
<< " nb of steps = " << nbStepPerEvent
<< " stepSize = " << G4BestUnit(stepSize, "Length")
<< " (" << G4BestUnit(fStepMin, "Length")
<< "--> " << G4BestUnit(fStepMax, "Length") << ")"
<< G4endl;
//charged secondaries (ionization, direct pair production)
//
G4double energyPerEvent = fEnergyCharged/nbEvents;
G4double nbPerEvent = double(fNbCharged)/nbEvents;
G4double meanEkin = 0.;
if (fNbCharged) meanEkin = fEnergyCharged/fNbCharged;
G4cout
<< "\n d-rays : eLoss/primary= "
<< G4BestUnit(energyPerEvent, "Energy")
<< "\t nb of d-rays= " << nbPerEvent
<< " <Tkin>= " << G4BestUnit(meanEkin, "Energy")
<< " Tmin= " << G4BestUnit(fEmin[0], "Energy")
<< " Tmax= " << G4BestUnit(fEmax[0], "Energy")
<< G4endl;
//neutral secondaries (bremsstrahlung, pixe)
//
energyPerEvent = fEnergyNeutral/nbEvents;
nbPerEvent = double(fNbNeutral)/nbEvents;
meanEkin = 0.;
if (fNbNeutral) meanEkin = fEnergyNeutral/fNbNeutral;
G4cout
<< "\n gamma : eLoss/primary= "
<< G4BestUnit(energyPerEvent, "Energy")
<< "\t nb of gammas= " << nbPerEvent
<< " <Tkin>= " << G4BestUnit(meanEkin, "Energy")
<< " Tmin= " << G4BestUnit(fEmin[1], "Energy")
<< " Tmax= " << G4BestUnit(fEmax[1], "Energy")
<< G4endl;
//continuous energy deposited by primary track dE1
//
G4double energyPerEvent = fEdepPrimary/nbEvents;
G4cout
<< "\n Energy continuously deposited along primary track"
<< " (restricted dE/dx) dE1 = "
<< G4BestUnit(energyPerEvent, "Energy")
<< " (" << G4BestUnit(fEdepPrimMin, "Energy")
<< " --> " << G4BestUnit(fEdepPrimMax, "Energy") << ")"
<< G4endl;
//eveluation of dE1 from reading restricted Range table
//
G4EmCalculator emCal;
//local energy deposit
//
energyPerEvent = fEnergyDeposit/nbEvents;
//
G4double r0 = emCal.GetRangeFromRestricteDEDX(ePrimary,particle,material);
G4double r0 = emCal.GetRangeFromRestricteDEDX(ePrimary,particle,material);
G4double r1 = r0 - trackLPerEvent;
G4double etry = ePrimary - energyPerEvent;
G4double efinal = 0.;
@@ -184,21 +290,67 @@ void RunAction::EndOfRunAction(const G4Run* aRun)
if (dEtable > 0.) ratio = energyPerEvent/dEtable;
G4cout
<< "\n deposit : eLoss/primary= "
<< G4BestUnit(energyPerEvent, "Energy")
<< "\t <dEcut > table= "
<< "\n Evaluation of dE1 from reading restricted Range table : dE1_table = "
<< G4BestUnit(dEtable, "Energy")
<< " ---> simul/reference= " << ratio
<< " ---> dE1/dE1_table = " << ratio
<< G4endl;
//total energy transferred
// energy transfered to secondary particles by process : dE2
//
G4double energyTotal = fEnergyDeposit + fEnergyCharged + fEnergyNeutral;
energyPerEvent = energyTotal/nbEvents;
G4cout << "\n Energy transfered to secondary particles :" << G4endl;
std::map<G4String,MinMaxData>::iterator it1;
for (it1 = fEtransfByProcess.begin(); it1 != fEtransfByProcess.end(); it1++) {
G4String name = it1->first;
MinMaxData data = it1->second;
energyPerEvent = data.fVsum/nbEvents;
G4double eMin = data.fVmin;
G4double eMax = data.fVmax;
G4cout << " " << std::setw(17) << "due to " + name << ": dE2 = "
<< std::setw(6) << G4BestUnit(energyPerEvent, "Energy")
<< " (" << G4BestUnit(eMin, "Energy")
<< " --> " << G4BestUnit(eMax, "Energy")
<< ")" << G4endl;
}
// total energy tranfered : dE3 = sum of dE2
//
r0 = emCal.GetCSDARange(ePrimary,particle,material);
energyPerEvent = fEnergyTransfered/nbEvents;
G4cout
<< "\n Total energy transfered to secondaries : dE3 = sum of dE2 = "
<< G4BestUnit(energyPerEvent, "Energy")
<< " (" << G4BestUnit(fEtransfMin, "Energy")
<< " --> " << G4BestUnit(fEtransfMax, "Energy") << ")"
<< G4endl;
// total energy lost by incident particle : dE4 = dE1 + dE3
//
energyPerEvent = fEnergyLost/nbEvents;
G4cout
<< "\n Total energy lost by incident particle : dE4 = dE1 + dE3 = "
<< G4BestUnit(energyPerEvent, "Energy")
<< " (" << G4BestUnit(fElostMin, "Energy")
<< " --> " << G4BestUnit(fElostMax, "Energy") << ")"
<< G4endl;
// calcul of energy lost from energy balance : dE4_bal = E_in - E_out
//
energyPerEvent = fEnergyBalance/nbEvents;
G4cout
<< "\n calcul of dE4 from energy balance : dE4_bal = E_in - E_out = "
<< G4BestUnit(energyPerEvent, "Energy")
<< " (" << G4BestUnit(fEbalMin, "Energy")
<< " --> " << G4BestUnit(fEbalMax, "Energy") << ")"
<< G4endl;
//eveluation of dE4 from reading full Range table
//
r0 = emCal.GetCSDARange(ePrimary,particle,material);
r1 = r0 - trackLPerEvent;
etry = ePrimary - energyPerEvent;
etry = ePrimary - energyPerEvent;
efinal = 0.;
if (r1 > 0.) efinal = GetEnergyFromCSDARange(r1,particle,material,etry);
dEtable = ePrimary - efinal;
@@ -206,14 +358,71 @@ void RunAction::EndOfRunAction(const G4Run* aRun)
if (dEtable > 0.) ratio = energyPerEvent/dEtable;
G4cout
<< "\n total : eLoss/primary= "
<< G4BestUnit(energyPerEvent, "Energy")
<< "\t <dEfull> table= "
<< "\n Evaluation of dE4 from reading full Range table : dE4_table = "
<< G4BestUnit(dEtable, "Energy")
<< " ---> simul/reference= " << ratio
<< G4endl;
<< " ---> dE4/dE4_table = " << ratio
<< G4endl;
//energy spectrum of secondary particles
//
G4cout << "\n Energy spectrum of secondary particles :" << G4endl;
std::map<G4String,MinMaxData>::iterator it2;
for (it2 = fEkinOfSecondaries.begin();it2 != fEkinOfSecondaries.end(); it2++){
G4String name = it2->first;
MinMaxData data = it2->second;
G4int count = data.fCount;
G4double eMean = data.fVsum/count;
G4double eMin = data.fVmin;
G4double eMax = data.fVmax;
G4cout << " " << std::setw(13) << name << ": " << std::setw(7) << count
<< " Emean = " << std::setw(6) << G4BestUnit(eMean, "Energy")
<< " (" << G4BestUnit(eMin, "Energy")
<< " --> " << G4BestUnit(eMax, "Energy")
<< ")" << G4endl;
}
G4cout << G4endl;
//continuous energy deposited by secondary tracks dE5
// (only if secondary particles are tracked)
//
if (fEdepSecondary > 0.) {
energyPerEvent = fEdepSecondary/nbEvents;
G4cout
<< "\n Energy continuously deposited along secondary tracks"
<< " (restricted dE/dx) dE5 = "
<< G4BestUnit(energyPerEvent, "Energy")
<< " (" << G4BestUnit(fEdepSecMin, "Energy")
<< " --> " << G4BestUnit(fEdepSecMax, "Energy") << ")"
<< G4endl;
// total energy deposited : dE6 = dE1 + dE5
//
energyPerEvent = fEdepTotal/nbEvents;
G4cout
<< "\n Total energy deposited : dE6 = dE1 + dE5 = "
<< G4BestUnit(energyPerEvent, "Energy")
<< " (" << G4BestUnit(fEdepTotMin, "Energy")
<< " --> " << G4BestUnit(fEdepTotMax, "Energy") << ") \n"
<< G4endl;
}
G4cout.precision(prec);
//clear maps
//
fProcCounter.clear();
fEtransfByProcess.clear();
fEkinOfSecondaries.clear();
//save histograms
G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
if ( analysisManager->IsActive() ) {
analysisManager->Write();
analysisManager->CloseFile();
}
// show Rndm status
CLHEP::HepRandom::showEngineStatus();
@@ -248,7 +457,7 @@ G4double RunAction::GetEnergyFromRestrictedRange(G4double range,
<< " iter = " << iter << G4endl;
}
return Energy;
return Energy;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -280,7 +489,7 @@ G4double RunAction::GetEnergyFromCSDARange(G4double range,
<< " iter = " << iter << G4endl;
}
return Energy;
return Energy;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,55 +26,38 @@
/// \file electromagnetic/TestEm18/src/StackingAction.cc
/// \brief Implementation of the StackingAction class
//
// $Id: StackingAction.cc 67268 2013-02-13 11:38:40Z ihrivnac $
// $Id: StackingAction.cc 105927 2017-08-29 13:25:29Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "StackingAction.hh"
#include "RunAction.hh"
#include "EventAction.hh"
#include "HistoManager.hh"
#include "StackingMessenger.hh"
#include "G4Track.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
StackingAction::StackingAction(RunAction* RA,EventAction* EA)
:G4UserStackingAction(),fRunaction(RA), fEventaction(EA)
{}
StackingAction::StackingAction()
:G4UserStackingAction(), fTrackSecondaries(false)
{
fStackMessenger = new StackingMessenger(this);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
StackingAction::~StackingAction()
{}
{
///delete fStackMessenger;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4ClassificationOfNewTrack
StackingAction::ClassifyNewTrack(const G4Track* track)
{
//keep primary particle
if (track->GetParentID() == 0) return fUrgent;
//energy spectrum of secondaries
//
G4double energy = track->GetKineticEnergy();
G4bool charged = (track->GetDefinition()->GetPDGCharge() != 0.);
G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
if (charged) {
fRunaction->AddChargedSecondary(energy);
analysisManager->FillH1(4,energy);
} else {
fRunaction->AddNeutralSecondary(energy);
analysisManager->FillH1(5,energy);
}
fEventaction->AddSecondary(energy);
return fKill;
if ((track->GetTrackID() == 1) || (fTrackSecondaries)) return fUrgent;
else return fKill;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,46 +23,43 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm8/src/StepMaxMessenger.cc
/// \brief Implementation of the StepMaxMessenger class
/// \file electromagnetic/TestEm5/src/StackingMessenger.cc
/// \brief Implementation of the StackingMessenger class
//
// $Id: StepMaxMessenger.cc 67268 2013-02-13 11:38:40Z ihrivnac $
// $Id: StackingMessenger.cc 67268 2013-02-13 11:38:40Z ihrivnac $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "StepMaxMessenger.hh"
#include "StackingMessenger.hh"
#include "StepMax.hh"
#include "G4UIcmdWithADoubleAndUnit.hh"
#include "globals.hh"
#include "StackingAction.hh"
#include "G4UIcmdWithABool.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
StepMaxMessenger::StepMaxMessenger(StepMax* stepM)
:G4UImessenger(),fStepMax(stepM),fStepMaxCmd(0)
{
fStepMaxCmd = new G4UIcmdWithADoubleAndUnit("/testem/stepmax",this);
fStepMaxCmd->SetGuidance("Set max allowed step length");
fStepMaxCmd->SetParameterName("mxStep",false);
fStepMaxCmd->SetRange("mxStep>0.");
fStepMaxCmd->SetUnitCategory("Length");
fStepMaxCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
StepMaxMessenger::~StepMaxMessenger()
StackingMessenger::StackingMessenger(StackingAction* stack)
:G4UImessenger(),fStackAction(stack),fTrackCmd(nullptr)
{
delete fStepMaxCmd;
fTrackCmd = new G4UIcmdWithABool("/testem/trackSecondaries",this);
fTrackCmd->SetGuidance(" kill or keep secondary tracks");
fTrackCmd->SetParameterName("flag",true);
fTrackCmd->SetDefaultValue(true);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void StepMaxMessenger::SetNewValue(G4UIcommand* command, G4String newValue)
{
if (command == fStepMaxCmd)
{ fStepMax->SetMaxStep(fStepMaxCmd->GetNewDoubleValue(newValue));}
StackingMessenger::~StackingMessenger()
{
delete fTrackCmd;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void StackingMessenger::SetNewValue(G4UIcommand* command, G4String newValue)
{
if (command == fTrackCmd)
{fStackAction->SetTrackSecondaries(fTrackCmd->GetNewBoolValue(newValue));}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,7 @@
/// \file electromagnetic/TestEm18/src/SteppingAction.cc
/// \brief Implementation of the SteppingAction class
//
// $Id: SteppingAction.cc 67268 2013-02-13 11:38:40Z ihrivnac $
// $Id: SteppingAction.cc 105927 2017-08-29 13:25:29Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -38,6 +38,7 @@
#include "HistoManager.hh"
#include "G4Step.hh"
#include "G4ParticleTypes.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -54,13 +55,53 @@ SteppingAction::~SteppingAction()
void SteppingAction::UserSteppingAction(const G4Step* step)
{
//continuous energy deposit per event
fEventaction->AddEnergyDeposit (step->GetTotalEnergyDeposit());
// energy continuously deposited along trajectory
//
G4int trackID = step->GetTrack()->GetTrackID();
G4double Edep = step->GetTotalEnergyDeposit();
if (Edep > 0.) fEventaction->SumEnergyDeposited(trackID, Edep);
//step size
// the rest for primary track only
if (trackID > 1) return;
// count processes
//
const G4StepPoint* endPoint = step->GetPostStepPoint();
const G4VProcess* process = endPoint->GetProcessDefinedStep();
G4String procName = process->GetProcessName();
G4int subtype = process-> GetProcessSubType();
G4int nbsec = step->GetNumberOfSecondariesInCurrentStep();
if ((subtype == 2)&&(nbsec == 0)) procName = "Edep alone";
fRunaction->CountProcesses(procName);
// step size and track length
//
G4double stepSize = step->GetStepLength();
fRunaction->AddTrackLength(stepSize);
G4AnalysisManager::Instance()->FillH1(6,stepSize);
fRunaction->TrackLength(stepSize);
G4AnalysisManager::Instance()->FillH1(1,stepSize);
if (nbsec == 0) return; // no secondary particles
// energy transfered to secondary particles
//
const std::vector<const G4Track*>* secondaries
= step->GetSecondaryInCurrentStep();
G4double Etransfer = 0.;
for (G4int itr=0; itr<nbsec; itr++) {
const G4Track* trk = (*secondaries)[itr];
const G4ParticleDefinition* particle = trk->GetParticleDefinition();
G4String name = particle->GetParticleName();
G4double energy = trk->GetKineticEnergy();
fRunaction->EnergySpectrumOfSecondaries(name,energy);
G4int ih = 0;
if (particle == G4Gamma::Gamma()) ih = 11;
else if (particle == G4Electron::Electron()) ih = 12;
else if (particle == G4Positron::Positron()) ih = 13;
if (ih > 0) G4AnalysisManager::Instance()->FillH1(ih,energy);
if (subtype == 4) energy = trk->GetTotalEnergy(); //(e+,e-) production
Etransfer += energy;
}
fEventaction->SumEnergyTransfered(process, Etransfer);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -0,0 +1,68 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm12/src/TrackingAction.cc
/// \brief Implementation of the TrackingAction class
//
// $Id: TrackingAction.cc 78723 2014-01-20 10:32:17Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "TrackingAction.hh"
#include "RunAction.hh"
#include "HistoManager.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
TrackingAction::TrackingAction(RunAction* runaction)
:G4UserTrackingAction(), fRunAction(runaction)
{
fEkin1 = 0.;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void TrackingAction::PreUserTrackingAction(const G4Track* track)
{
if (track->GetTrackID() == 1) fEkin1 = track->GetKineticEnergy();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void TrackingAction::PostUserTrackingAction(const G4Track* track)
{
// energy balance of primary particle
if (track->GetTrackID() == 1) {
G4double Ekin2 = track->GetKineticEnergy();
G4double dElost = fEkin1 - Ekin2;
fRunAction->EnergyBalance(dElost);
G4AnalysisManager::Instance()->FillH1(8,dElost);
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-03-ref-06 (30-June-2017)
Geant4 version Name: geant4-10-04-ref-00 (08-December-2017)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -217,7 +217,7 @@ eBrem: for e- SubType= 3
CoulombScat: for e-, integral: 1 SubType= 1 BuildTable= 1
Lambda table from 100 MeV to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
@@ -248,12 +248,12 @@ annihil: for e+, integral: 1 SubType= 5 BuildTable= 0
CoulombScat: for e+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from 100 MeV to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
msc: for proton SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -279,8 +279,8 @@ hPairProd: for proton SubType= 4
hPairProd : Emin= 0 eV Emax= 100 TeV
CoulombScat: for proton, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of anti_proton
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -312,7 +312,7 @@ ionIoni: for alpha SubType= 2
BetheBloch : Emin= 7.9452 MeV Emax= 100 TeV
msc: for anti_proton SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -339,12 +339,12 @@ hPairProd: for anti_proton SubType= 4
CoulombScat: for anti_proton, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for kaon+ SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -371,12 +371,12 @@ hPairProd: for kaon+ SubType= 4
CoulombScat: for kaon+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for kaon- SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -403,7 +403,7 @@ hPairProd: for kaon- SubType= 4
CoulombScat: for kaon-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of kaon+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -436,7 +436,7 @@ muPairProd: for mu+ SubType= 4
CoulombScat: for mu+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -469,12 +469,12 @@ muPairProd: for mu- SubType= 4
CoulombScat: for mu-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of mu+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for pi+ SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -501,12 +501,12 @@ hPairProd: for pi+ SubType= 4
CoulombScat: for pi+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for pi- SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -533,7 +533,7 @@ hPairProd: for pi- SubType= 4
CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of pi+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -564,36 +564,36 @@ Index : 0 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 100
User=3.55s Real=3.58s Sys=0.01s
User=2.79s Real=2.8s Sys=0s
===== SUMMARY =====
Total number of events: 100
Mean number of charged steps: 7234.64
Mean number of neutral steps: 4089.72
Mean number of charged steps: 7251.16
Mean number of neutral steps: 4106.57
energy deposit : 94.99 % E0 +- 0.82 % E0
charged traklen: 484.61 radl +- 4.44 radl
neutral traklen: 4202.06 radl +- 118.37 radl
energy deposit : 95.08 % E0 +- 0.77 % E0
charged traklen: 484.99 radl +- 3.93 radl
neutral traklen: 4222.01 radl +- 113.66 radl
90.00 % confinement: radius = 2.93 radl (2.61 cm )
90.00 % confinement: radius = 2.89 radl (2.58 cm )
<<<<ACCEPTANCE>>>> 100 events for Total Energy in Absorber
Edep: 0.949927 delEdep= 0.000927471 nrms= 1.13106
Erms: 0.00822536 delErms= 2.53551e-05 nrms= 0.0309209
Edep: 0.950797 delEdep= 0.00179722 nrms= 2.19173
Erms: 0.00772883 delErms= -0.000471166 nrms= -0.574592
<<<<END>>>> IS ACCEPTED
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 1452425688, 1787389041
Current couple of seeds = 403164875, 1360176001
----------------------------------------
... write Root file : testem2.root - done
... close Root file : testem2.root - done
G4 kernel has come to Quit state.
================== Deleting memory pools ===================
Number of memory pools allocated: 9 of which, static: 0
Dynamic pools deleted: 9 / Total memory freed: 0.21 MB
Dynamic pools deleted: 9 / Total memory freed: 0.25 MB
============================================================
RunManagerKernel is deleted. Good bye :)
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-03-ref-06 (30-June-2017)
Geant4 version Name: geant4-10-04-ref-00 (08-December-2017)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -124,7 +124,7 @@ eBrem: for e- SubType= 3
CoulombScat: for e-, integral: 1 SubType= 1 BuildTable= 1
Lambda table from 100 MeV to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
@@ -155,12 +155,12 @@ annihil: for e+, integral: 1 SubType= 5 BuildTable= 0
CoulombScat: for e+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from 100 MeV to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
msc: for proton SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -186,8 +186,8 @@ hPairProd: for proton SubType= 4
hPairProd : Emin= 0 eV Emax= 100 TeV
CoulombScat: for proton, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of anti_proton
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -219,7 +219,7 @@ ionIoni: for alpha SubType= 2
BetheBloch : Emin= 7.9452 MeV Emax= 100 TeV
msc: for anti_proton SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -246,12 +246,12 @@ hPairProd: for anti_proton SubType= 4
CoulombScat: for anti_proton, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for kaon+ SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -278,12 +278,12 @@ hPairProd: for kaon+ SubType= 4
CoulombScat: for kaon+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for kaon- SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -310,7 +310,7 @@ hPairProd: for kaon- SubType= 4
CoulombScat: for kaon-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of kaon+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -343,7 +343,7 @@ muPairProd: for mu+ SubType= 4
CoulombScat: for mu+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -376,12 +376,12 @@ muPairProd: for mu- SubType= 4
CoulombScat: for mu-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of mu+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for pi+ SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -408,12 +408,12 @@ hPairProd: for pi+ SubType= 4
CoulombScat: for pi+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for pi- SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -440,7 +440,7 @@ hPairProd: for pi- SubType= 4
CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of pi+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -505,28 +505,28 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics
Run terminated.
Run Summary
Number of events processed : 100
User=2.68s Real=2.69s Sys=0s
User=1.85s Real=1.85s Sys=0s
------------------------------------------------------------
material Edep RMS sqrt(E0(GeV))*rmsE/Emean total tracklen
Lead: 781.04 MeV : 16.68 MeV 2.136 +- 0.2136 % 55.2 cm +- 1.3 cm
liquidArgon: 209.27 MeV : 15.56 MeV 7.436 +- 0.7436 % 1.04 m +- 8.05 cm
Lead: 779.8 MeV : 15.42 MeV 1.978 +- 0.1978 % 55.1 cm +- 1.31 cm
liquidArgon: 208.74 MeV : 15.69 MeV 7.515 +- 0.7515 % 1.03 m +- 8.16 cm
------------------------------------------------------------
Beam particle e- E = 1 GeV
Mean number of gamma 510
Mean number of e- 873
Mean number of e+ 53.2
Mean number of charged steps 3570.92
Mean number of neutral steps 3700.01
Mean number of e- 871
Mean number of e+ 53.9
Mean number of charged steps 3614.53
Mean number of neutral steps 3705.38
------------------------------------------------------------
Energy deposition from Energy flow balance :
material Total Edep
Lead: 781.037 MeV
liquidArgon: 209.273 MeV
Lead: 779.797 MeV
liquidArgon: 208.69 MeV
------------------------------------------------------------
@@ -592,7 +592,7 @@ eBrem: for e- SubType= 3
CoulombScat: for e-, integral: 1 SubType= 1 BuildTable= 1
Lambda table from 100 MeV to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
@@ -623,12 +623,12 @@ annihil: for e+, integral: 1 SubType= 5 BuildTable= 0
CoulombScat: for e+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from 100 MeV to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
msc: for proton SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -654,8 +654,8 @@ hPairProd: for proton SubType= 4
hPairProd : Emin= 0 eV Emax= 100 TeV
CoulombScat: for proton, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of anti_proton
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -687,7 +687,7 @@ ionIoni: for alpha SubType= 2
BetheBloch : Emin= 7.9452 MeV Emax= 100 TeV
msc: for anti_proton SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -714,12 +714,12 @@ hPairProd: for anti_proton SubType= 4
CoulombScat: for anti_proton, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for kaon+ SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -746,12 +746,12 @@ hPairProd: for kaon+ SubType= 4
CoulombScat: for kaon+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for kaon- SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -778,7 +778,7 @@ hPairProd: for kaon- SubType= 4
CoulombScat: for kaon-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of kaon+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -811,7 +811,7 @@ muPairProd: for mu+ SubType= 4
CoulombScat: for mu+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -844,12 +844,12 @@ muPairProd: for mu- SubType= 4
CoulombScat: for mu-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of mu+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for pi+ SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -876,12 +876,12 @@ hPairProd: for pi+ SubType= 4
CoulombScat: for pi+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 100 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for pi- SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Table with 84 bins Emin= 100 eV Emax= 100 TeV
@@ -908,7 +908,7 @@ hPairProd: for pi- SubType= 4
CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of pi+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -956,28 +956,28 @@ Index : 2 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 100
User=2.35s Real=2.38s Sys=0s
User=1.56s Real=1.57s Sys=0s
------------------------------------------------------------
material Edep RMS sqrt(E0(GeV))*rmsE/Emean total tracklen
Lead: 777.73 MeV : 18.97 MeV 2.439 +- 0.2439 % 52.2 cm +- 1.26 cm
liquidArgon: 211.94 MeV : 15.39 MeV 7.262 +- 0.7262 % 1 m +- 7.02 cm
Lead: 775.45 MeV : 21.43 MeV 2.763 +- 0.2763 % 52.1 cm +- 1.35 cm
liquidArgon: 212.63 MeV : 17.14 MeV 8.062 +- 0.8062 % 1.01 m +- 8.15 cm
------------------------------------------------------------
Beam particle e- E = 1 GeV
Mean number of gamma 291
Mean number of e- 556
Mean number of e+ 53.4
Mean number of charged steps 3052.19
Mean number of neutral steps 2929.8
Mean number of e+ 53.7
Mean number of charged steps 3066.95
Mean number of neutral steps 2952.94
------------------------------------------------------------
Energy deposition from Energy flow balance :
material Total Edep
Lead: 777.014 MeV
liquidArgon: 213.451 MeV
Lead: 774.345 MeV
liquidArgon: 213.727 MeV
------------------------------------------------------------
@@ -992,19 +992,19 @@ RunManager is deleting RunManagerKernel.
EventManager deleted.
Units table cleared.
TransportationManager deleted.
Total navigation history collections cleaned: 161
Total navigation history collections cleaned: 163
================== Deleting memory pools ===================
Pool ID '20G4NavigationLevelRep', size : 0.248 MB
Pool ID '20G4NavigationLevelRep', size : 0.252 MB
Pool ID '24G4ReferenceCountedHandleIvE', size : 0.000961 MB
Pool ID '7G4Event', size : 0.000961 MB
Pool ID '15G4PrimaryVertex', size : 0.000961 MB
Pool ID '17G4PrimaryParticle', size : 0.000961 MB
Pool ID '17G4DynamicParticle', size : 0.0394 MB
Pool ID '7G4Track', size : 0.0779 MB
Pool ID '17G4DynamicParticle', size : 0.0413 MB
Pool ID '7G4Track', size : 0.0817 MB
Pool ID '18G4TouchableHistory', size : 0.0192 MB
Pool ID '15G4CountedObjectIvE', size : 0.00288 MB
Number of memory pools allocated: 9 of which, static: 0
Dynamic pools deleted: 9 / Total memory freed: 0.39 MB
Dynamic pools deleted: 9 / Total memory freed: 0.4 MB
============================================================
G4Allocator objects are deleted.
UImanager deleted.
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-03-ref-06 (30-June-2017)
Geant4 version Name: geant4-10-04-ref-00 (08-December-2017)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -140,11 +140,11 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics
Run terminated.
Run Summary
Number of events processed : 100000
User=1.29s Real=1.29s Sys=0s
User=0.76s Real=0.76s Sys=0s
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 1132064224, 1988812961
Current couple of seeds = 1059479269, 543189994
----------------------------------------
... write Root file : testem4.root - done
... close Root file : testem4.root - done
@@ -108,7 +108,7 @@
\section TestEm5_s7 List of the built-in histograms
The test contains more than 20 built-in 1D histograms, which are managed by
The test contains more than 60 built-in 1D histograms, which are managed by
G4AnalysisManager class and its Messenger. The histos can be individually activated
with the command :
\verbatim
@@ -40,7 +40,7 @@ target_link_libraries(TestEm5 ${Geant4_LIBRARIES} ${HBOOK_LIBRARIES})
# relies on these scripts being in the current working directory.
#
set(TestEm5_SCRIPTS
acosta.mac anthony.mac berger.mac bichsel.mac dedx1.mac dedx2.mac fluo.mac gammaSpectrum.mac gottsch.mac hanson.mac hunger.mac ion.mac kulchi.mac mumsc.mac mutev.mac pixe.mac shen1.mac shen2.mac tavora.mac TestEm5.in TestEm5.out tramu.mac vincour.mac vis.mac
acosta.mac anthony.mac berger.mac bichsel.mac dedx1.mac dedx2.mac dna.mac fluo.mac gammaSpectrum.mac gottsch.mac hanson.mac hunger.mac ion.mac kulchi.mac mumsc.mac mutev.mac pixe.mac shen1.mac shen2.mac tavora.mac TestEm5.in TestEm5.out tramu.mac vincour.mac vis.mac
)
foreach(_script ${TestEm5_SCRIPTS})
@@ -1,4 +1,4 @@
$Id: History 104417 2017-05-30 08:30:48Z gcosmo $
$Id: History 107435 2017-11-13 07:34:58Z gcosmo $
----------------------------------------------------
=========================================================
@@ -15,6 +15,15 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
11-11-17 mma (testem5-V10-03-08)
- Updated README .README.txt
07-11-17 V.Ivanchenko (testem5-V10-03-07)
- Updated fluo.mac
28-07-17 SI (testem5-V10-03-06)
- Addition of dna.mac and update of pixe.mac
30-05-17 SI (testem5-V10-03-05)
- Addition of DNA constructors in PhysicsList
- Addition of DNA histograms in HistoManager
@@ -1,4 +1,4 @@
$Id: README 104417 2017-05-30 08:30:48Z gcosmo $
$Id: README 107435 2017-11-13 07:34:58Z gcosmo $
-----------------------------------------------------
=========================================================
@@ -10,25 +10,25 @@ $Id: README 104417 2017-05-30 08:30:48Z gcosmo $
How to study the transmission, absorption and reflection of particles through
a single, thin or thick, layer of material.
In particular, the effects of the multiple scattering can be plotted.
1- GEOMETRY DEFINITION
The "absorber" is a box made of a given material.
The "absorber" is a box made of a given material.
Three parameters define the absorber :
- the material of the absorber,
- the thickness of an absorber,
- the transverse size of the absorber (the input face is a square).
A volume "World" contains the "absorber".
In addition a transverse uniform magnetic field can be applied.
The default geometry is constructed in DetectorConstruction class, but all the
parameters can be changed via commands defined in the DetectorMessenger class.
The parameters of the "World" can be changed, too. However, if World material
is not set to vacuum, the plots 10->43 below may be not pertinent.
2- PHYSICS LIST
Physics lists are based on modular design. Several modules are instantiated:
@@ -39,13 +39,13 @@ $Id: README 104417 2017-05-30 08:30:48Z gcosmo $
EM physics builders can be local (eg. in this example) or from G4 kernel
physics_lists subdirectory.
Local physics builders:
- "local" standard EM physics with current 'best' options setting
these options are explicited in PhysListEmStandard
- "standardSSM" standard EM physics with alternative single Coulomb
scattering model instead of multiple scattering.
From geant4/source/physics_lists/builders:
- "emstandard_opt0" recommended standard EM physics for LHC
- "emstandard_opt1" best CPU performance standard physics for LHC
@@ -58,47 +58,47 @@ $Id: README 104417 2017-05-30 08:30:48Z gcosmo $
- "empenelope" low-energy EM physics implementing Penelope models
- "emlowenergy" low-energy EM physics implementing experimental
low-energy models
Physics lists and options can be (re)set with UI commands
Please, notice that options set through G4EmProcessOptions are global, eg
for all particle types. In G4 builders, it is shown how to set options per
particle type.
3- AN EVENT : THE PRIMARY GENERATOR
The primary kinematic consists of a single particle which hits the absorber
perpendicular to the input face. The type of the particle and its energy are
set in the PrimaryGeneratorAction class, and can be changed via the G4
build-in commands of G4ParticleGun class (see the macros provided with this
example).
In addition one can choose randomly the impact point of the incident particle.
The interactive command is built in PrimaryGeneratorMessenger class.
4- VISUALIZATION
The Visualization Manager is set in the main().
The initialisation of the drawing is done via the commands in vis.mac
In interactive session:
PreInit or Idle > /control/execute vis.mac
The example has a default view which is a longitudinal view of the detector.
The tracks are drawn at the end of event, and erased at the end of run.
Optionally one can choose to draw all particles, only the charged, or none.
This command is defined in EventActionMessenger class.
5- TRACKING
During the tracking, one can keep or not the secondaries : see StackingAction
class and its Messenger (StackingMessenger).
One can also limit 'by hand' the step lenght of the particle. As an example,
this limitation is implemented as a 'full' process : see StepMax class and its
Messenger. The 'StepMax process' is registered in the Physics List.
6- DETECTOR RESPONSE
At the end of a run, from the histogram(s), one can study different
physics quantities such as :
- energy deposit in the absorber,
@@ -106,26 +106,26 @@ $Id: README 104417 2017-05-30 08:30:48Z gcosmo $
- energy spectrum and angle distribution of particles at exit,
- transmission and backscattering coefficients,
- ...
7- List of the built-in histograms
----------------------------------
The test contains more than 20 built-in 1D histograms, which are managed by
The test contains more than 60 built-in 1D histograms, which are managed by
G4AnalysisManager class and its Messenger. The histos can be individually activated
with the command :
/analysis/h1/set id nbBins valMin valMax unit
where unit is the desired unit for the histo (MeV or keV, deg or mrad, etc..)
(see the macros xxxx.mac).
1 "energy deposit in absorber"
2 "energy of charged secondaries at creation"
3 "energy of neutral secondaries at creation"
4 "energy of charged at creation (log10(Ekin))"
5 "energy of neutral at creation (log10(Ekin))"
6 "x_vertex of charged secondaries (all)"
7 "x_vertex of charged secondaries (not absorbed)"
6 "x_vertex of charged secondaries (all)"
7 "x_vertex of charged secondaries (not absorbed)"
10 "(transmit, charged) : kinetic energy at exit of world"
11 "(transmit, charged) : ener fluence: dE(MeV)/dOmega"
11 "(transmit, charged) : ener fluence: dE(MeV)/dOmega"
12 "(transmit, charged) : space angle dN/dOmega"
13 "(transmit, charged) : projected angle at exit of world"
14 "(transmit, charged) : projected position at exit of world"
@@ -142,38 +142,31 @@ $Id: README 104417 2017-05-30 08:30:48Z gcosmo $
41 "(reflect , neutral) : ener fluence: dE(MeV)/dOmega"
42 "(reflect , neutral) : space angle dN/dOmega"
43 "(reflect , neutral) : projected angle at exit of world"
50 "energy of Auger e- at creation"
51 "energy of fluorescence gamma at creation"
52 "energy of Auger e- at creation (log scale)"
53 "energy of fluorescence gamma at creation (log scale)"
54 "energy of PIXE Auger e- at creation"
55 "energy of PIXE gamma at creation"
56 "energy of PIXE Auger e- at creation (log scale)"
57 "energy of PIXE gamma at creation (log scale)"
58 "energy of G4DNA Auger e- at creation"
59 "energy of G4DNA gamma at creation"
60 "energy of G4DNA Auger e- at creation (log scale)"
61 "energy of G4DNA gamma at creation (log scale)"
50 "energy of Auger e- at creation"
51 "energy of fluorescence gamma at creation"
52 "energy of Auger e- at creation (log scale)"
53 "energy of fluorescence gamma at creation (log scale)"
54 "energy of PIXE Auger e- at creation"
55 "energy of PIXE gamma at creation"
56 "energy of PIXE Auger e- at creation (log scale)"
57 "energy of PIXE gamma at creation (log scale)"
58 "energy of G4DNA Auger e- at creation"
59 "energy of G4DNA gamma at creation"
60 "energy of G4DNA Auger e- at creation (log scale)"
61 "energy of G4DNA gamma at creation (log scale)"
The histograms can be viewed using ROOT or PAW.
One can control the name of the histograms file with the command:
/analysis/setFileName name (default testem5)
It is possible to choose the format of the histogram file : root (default),
hbook, xml, csv, by using namespace in HistoManager.hh
It is also possible to print selected histograms on an ascii file:
/analysis/h1/setAscii id
All selected histos will be written on a file name.ascii (default testem5)
Using hbook format
------------------
Need a special treatement : the Cern Library must be installed and the
environment variable CERNLIB correctly set. Then, *before* compiling,
activate G4_USE_HBOOK in GNUmakefile and g4hbook.hh in HistoManager.hh
8- GEANT4/GEANT3/DATA COMPARISON
A Geant4/Geant3/exp. data comparison is given here for a few cases.

Some files were not shown because too many files have changed in this diff Show More