Import Geant4 10.4.0 source tree
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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......
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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......
|
||||
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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 |
|
||||
=============================================
|
||||
|
||||
@@ -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
@@ -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
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
*/
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
+17
-20
@@ -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......
|
||||
+14
-17
@@ -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
|
||||
|
||||
+7
-7
@@ -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
|
||||
+8
-11
@@ -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
|
||||
+8
-9
@@ -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
|
||||
|
||||
+71
-35
@@ -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......
|
||||
+48
-23
@@ -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....
|
||||
+7
-7
@@ -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
|
||||
|
||||
+9
-9
@@ -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
|
||||
|
||||
+7
-7
@@ -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
|
||||
|
||||
@@ -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......
|
||||
|
||||
+16
-17
@@ -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......
|
||||
+21
-16
@@ -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
-26
@@ -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
Reference in New Issue
Block a user