Import Geant4 10.3.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2016-06-30 14:12:05 +02:00
parent a654a7ab1f
commit 4ec577e5c4
2021 changed files with 100995 additions and 78277 deletions
+26 -13
View File
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-02-ref-00 (4-December-2015)
Geant4 version Name: geant4-10-03-beta-01 (30-June-2016)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -50,6 +50,14 @@
------------------------------------------------------------
---> The calorimeter is 10 layers of: [ 10mm of G4_Pb + 5mm of G4_lAr ]
------------------------------------------------------------
=======================================================================
====== Pre-compound/De-excitation Physics Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Type of de-excitation inverse x-section 3
Min excitation energy (keV) 0.1
Level density (1/MeV) 0.1
=======================================================================
### Adding tracking cuts for neutron TimeCut(ns)= 10000 KinEnergyCut(MeV)= 0
phot: for gamma SubType= 12 BuildTable= 0
@@ -167,7 +175,7 @@ msc: for GenericIon SubType= 10
ionIoni: for GenericIon SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
finalRange(mm)= 0.01, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02
finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.02
Stopping Power data for 17 ion/material pairs
===== EM models for the G4Region DefaultRegionForTheWorld ======
BraggIon : Emin= 0 eV Emax= 2 MeV
@@ -181,7 +189,7 @@ msc: for alpha SubType= 10
ionIoni: for alpha SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
finalRange(mm)= 0.01, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02
finalRange(mm)= 0.1, dRoverRange= 0.2, 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
@@ -290,7 +298,7 @@ msc: for mu+ SubType= 10
muIoni: for mu+ SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
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= 200 keV
BetheBloch : Emin= 200 keV Emax= 1 GeV
@@ -323,7 +331,7 @@ msc: for mu- SubType= 10
muIoni: for mu- SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
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= 200 keV
BetheBloch : Emin= 200 keV Emax= 1 GeV
@@ -449,6 +457,11 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
---------------------------------------------------
Hadronic Processes for He3
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov nucleus nucleus: 0 eV ---> 2.88022e+295 J
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: He3Inelastic
Model: Binary Light Ion Cascade: 0 eV /n ---> 4 GeV/n
Model: FTFP: 2 GeV/n ---> 100 TeV/n
@@ -746,20 +759,20 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
--------------------End of Run------------------------------
mean Energy in Absorber : 453.889 MeV +- 13.1894 MeV
mean Energy in Gap : 23.8243 MeV +- 6.98854 MeV
mean Energy in Absorber : 454.281 MeV +- 13.1852 MeV
mean Energy in Gap : 23.8207 MeV +- 7.24141 MeV
mean trackLength in Absorber : 32.4743 cm +- 1.02249 cm
mean trackLength in Gap : 11.8047 cm +- 3.58344 cm
mean trackLength in Absorber : 32.5013 cm +- 1.06218 cm
mean trackLength in Gap : 11.7927 cm +- 3.72054 cm
------------------------------------------------------------
----> print histograms statistic
EAbs: mean = 453.889 MeV rms = 13.1894 MeV
EGap: mean = 23.8243 MeV rms = 6.98854 MeV
LAbs: mean = 32.4743 cm rms = 1.02249 cm
LGap: mean = 11.8047 cm rms = 3.58344 cm
EAbs: mean = 454.281 MeV rms = 13.1852 MeV
EGap: mean = 23.8207 MeV rms = 7.24141 MeV
LAbs: mean = 32.5013 cm rms = 1.06218 cm
LGap: mean = 11.7927 cm rms = 3.72054 cm
... write Root file : AnaEx01.root - done
----> Histograms and ntuples are saved
+26 -13
View File
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-02-ref-00 (4-December-2015)
Geant4 version Name: geant4-10-03-beta-01 (30-June-2016)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -50,6 +50,14 @@
------------------------------------------------------------
---> The calorimeter is 10 layers of: [ 10mm of G4_Pb + 5mm of G4_lAr ]
------------------------------------------------------------
=======================================================================
====== Pre-compound/De-excitation Physics Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Type of de-excitation inverse x-section 3
Min excitation energy (keV) 0.1
Level density (1/MeV) 0.1
=======================================================================
### Adding tracking cuts for neutron TimeCut(ns)= 10000 KinEnergyCut(MeV)= 0
phot: for gamma SubType= 12 BuildTable= 0
@@ -167,7 +175,7 @@ msc: for GenericIon SubType= 10
ionIoni: for GenericIon SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
finalRange(mm)= 0.01, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02
finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.02
Stopping Power data for 17 ion/material pairs
===== EM models for the G4Region DefaultRegionForTheWorld ======
BraggIon : Emin= 0 eV Emax= 2 MeV
@@ -181,7 +189,7 @@ msc: for alpha SubType= 10
ionIoni: for alpha SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
finalRange(mm)= 0.01, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02
finalRange(mm)= 0.1, dRoverRange= 0.2, 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
@@ -290,7 +298,7 @@ msc: for mu+ SubType= 10
muIoni: for mu+ SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
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= 200 keV
BetheBloch : Emin= 200 keV Emax= 1 GeV
@@ -323,7 +331,7 @@ msc: for mu- SubType= 10
muIoni: for mu- SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
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= 200 keV
BetheBloch : Emin= 200 keV Emax= 1 GeV
@@ -449,6 +457,11 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
---------------------------------------------------
Hadronic Processes for He3
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov nucleus nucleus: 0 eV ---> 2.88022e+295 J
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: He3Inelastic
Model: Binary Light Ion Cascade: 0 eV /n ---> 4 GeV/n
Model: FTFP: 2 GeV/n ---> 100 TeV/n
@@ -745,20 +758,20 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
--------------------End of Run------------------------------
mean Energy in Absorber : 453.889 MeV +- 13.1894 MeV
mean Energy in Gap : 23.8243 MeV +- 6.98854 MeV
mean Energy in Absorber : 454.281 MeV +- 13.1852 MeV
mean Energy in Gap : 23.8207 MeV +- 7.24141 MeV
mean trackLength in Absorber : 32.4743 cm +- 1.02249 cm
mean trackLength in Gap : 11.8047 cm +- 3.58344 cm
mean trackLength in Absorber : 32.5013 cm +- 1.06218 cm
mean trackLength in Gap : 11.7927 cm +- 3.72054 cm
------------------------------------------------------------
----> print histograms statistic
EAbs: mean = 453.889 MeV rms = 13.1894 MeV
EGap: mean = 23.8243 MeV rms = 6.98854 MeV
LAbs: mean = 32.4743 cm rms = 1.02249 cm
LGap: mean = 11.8047 cm rms = 3.58344 cm
EAbs: mean = 454.281 MeV rms = 13.1852 MeV
EGap: mean = 23.8207 MeV rms = 7.24141 MeV
LAbs: mean = 32.5013 cm rms = 1.06218 cm
LGap: mean = 11.7927 cm rms = 3.72054 cm
----> Histograms and ntuples are saved
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-02-ref-00 (4-December-2015)
Geant4 version Name: geant4-10-03-beta-01 (30-June-2016)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -14,6 +14,14 @@
Checking overlaps for volume Envelope ... OK!
Checking overlaps for volume Shape1 ... OK!
Checking overlaps for volume Shape2 ... OK!
=======================================================================
====== Pre-compound/De-excitation Physics Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Type of de-excitation inverse x-section 3
Min excitation energy (keV) 0.1
Level density (1/MeV) 0.1
=======================================================================
### Adding tracking cuts for neutron TimeCut(ns)= 10000 KinEnergyCut(MeV)= 0
Visualization Manager instantiating with verbosity "warnings (3)"...
Visualization Manager initialising...
@@ -42,16 +50,18 @@ Registering model factories...
You have successfully registered the following model factories.
Registered model factories:
generic
drawByCharge
drawByParticleID
drawByOriginVolume
drawByAttribute
drawByCharge
drawByOriginVolume
drawByParticleID
drawByTouchedVolume
Registered filter factories:
chargeFilter
particleFilter
originVolumeFilter
attributeFilter
chargeFilter
originVolumeFilter
particleFilter
touchedVolumeFilter
You have successfully registered the following user vis actions.
Run Duration User Vis Actions: none
@@ -178,7 +188,7 @@ msc: for GenericIon SubType= 10
ionIoni: for GenericIon SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
finalRange(mm)= 0.01, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02
finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.02
Stopping Power data for 17 ion/material pairs
===== EM models for the G4Region DefaultRegionForTheWorld ======
BraggIon : Emin= 0 eV Emax= 2 MeV
@@ -192,7 +202,7 @@ msc: for alpha SubType= 10
ionIoni: for alpha SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
finalRange(mm)= 0.01, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02
finalRange(mm)= 0.1, dRoverRange= 0.2, 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
@@ -301,7 +311,7 @@ msc: for mu+ SubType= 10
muIoni: for mu+ SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
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= 200 keV
BetheBloch : Emin= 200 keV Emax= 1 GeV
@@ -334,7 +344,7 @@ msc: for mu- SubType= 10
muIoni: for mu- SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
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= 200 keV
BetheBloch : Emin= 200 keV Emax= 1 GeV
@@ -461,6 +471,11 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
---------------------------------------------------
Hadronic Processes for He3
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov nucleus nucleus: 0 eV ---> 2.88022e+295 J
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: He3Inelastic
Model: Binary Light Ion Cascade: 0 eV /n ---> 4 GeV/n
Model: FTFP: 2 GeV/n ---> 100 TeV/n
@@ -752,24 +767,24 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
---> Begin of event: 900
G4ConvergenceTester Output Result of DOSE_TALLY
EFFICIENCY = 0.171
MEAN = 4.18432e-14
VAR = 1.49485e-26
SD = 1.22264e-13
R = 0.0924005
SHIFT = 1.85595e-13
VOV = 0.0100538
FOM = 1301.4
THE LARGEST SCORE = 5.55155e-13 and it happend at 171th event
Affected Mean = 4.2356e-14 and its ratio to orignal is 1.01226
Affected VAR = 1.51968e-26 and its ratio to orignal is 1.01661
Affected R = 0.0919907 and its ratio to orignal is 0.995566
Affected SHIFT = 1.86058e-13 and its ratio to orignal is 1.00249
Affected FOM = 1301.4 and its ratio to orignal is 1
EFFICIENCY = 0.188
MEAN = 4.53847e-14
VAR = 1.58166e-26
SD = 1.25764e-13
R = 0.0876289
SHIFT = 1.7701e-13
VOV = 0.00868154
FOM = 868.189
THE LARGEST SCORE = 5.55155e-13 and it happend at 5th event
Affected Mean = 4.5894e-14 and its ratio to orignal is 1.01122
Affected VAR = 1.60604e-26 and its ratio to orignal is 1.01541
Affected R = 0.0872781 and its ratio to orignal is 0.995998
Affected SHIFT = 1.77506e-13 and its ratio to orignal is 1.0028
Affected FOM = 868.189 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.0924005
r is less than 0.1. r = 0.0876289
VOV follows 1/std::sqrt(N)
VOV is monotonically decrease
FOM distribution is not RANDOM
@@ -779,26 +794,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 3.05455e-14 1.13958e-26 1.06751e-13 0.440306 0.204306 57.3123 1.81233e-13 0.15873 0.084127 0.106665
2 124 2.98622e-14 1.03616e-26 1.01792e-13 0.304885 0.106591 119.532 1.76065e-13 0.144 0.0475556 0.0446558
3 187 3.0878e-14 9.58989e-27 9.7928e-14 0.231302 0.0785926 207.683 1.74438e-13 0.170213 0.0259309 0.027285
4 249 3.66573e-14 1.28418e-26 1.13322e-13 0.195516 0.0473651 290.666 1.85099e-13 0.164 0.0203902 0.0176832
5 312 3.84356e-14 1.37377e-26 1.17208e-13 0.172366 0.0354792 373.984 1.86206e-13 0.159744 0.0168051 0.0128101
6 374 3.80353e-14 1.35961e-26 1.16602e-13 0.158309 0.0302843 443.351 1.87815e-13 0.162667 0.0137268 0.0112681
7 437 3.89816e-14 1.42335e-26 1.19304e-13 0.146238 0.0253041 519.564 1.90523e-13 0.16895 0.0112304 0.0101062
8 499 4.03425e-14 1.44979e-26 1.20407e-13 0.133476 0.0213187 623.661 1.88056e-13 0.174 0.00949425 0.00828607
9 562 4.18182e-14 1.48971e-26 1.22054e-13 0.123008 0.0180807 734.335 1.85953e-13 0.174067 0.00842788 0.0066761
10 624 4.47922e-14 1.61977e-26 1.2727e-13 0.113654 0.0146294 860.179 1.84457e-13 0.1776 0.00740901 0.00548753
11 687 4.4433e-14 1.58792e-26 1.26013e-13 0.108122 0.0133975 950.452 1.83166e-13 0.177326 0.00674323 0.00493012
12 749 4.4434e-14 1.58133e-26 1.25751e-13 0.103339 0.0123169 1040.46 1.82716e-13 0.174667 0.00630025 0.00436449
13 812 4.2849e-14 1.52153e-26 1.2335e-13 0.100961 0.0119533 1090.06 1.83853e-13 0.172202 0.00591284 0.00426778
14 874 4.38656e-14 1.56004e-26 1.24902e-13 0.0962588 0.0108189 1199.16 1.83789e-13 0.178286 0.0052674 0.00398777
15 937 4.18943e-14 1.49513e-26 1.22276e-13 0.0952979 0.010676 1223.46 1.85208e-13 0.16951 0.00522321 0.0038488
16 999 4.18432e-14 1.49485e-26 1.22264e-13 0.0924005 0.0100538 1301.4 1.85595e-13 0.171 0.00484795 0.00368135
1 62 5.47726e-14 1.89905e-26 1.37806e-13 0.316982 0.127305 66.3497 1.79367e-13 0.206349 0.0610501 0.0378328
2 124 5.73411e-14 2.07988e-26 1.44218e-13 0.224956 0.0547426 131.738 1.77575e-13 0.2 0.032 0.0182005
3 187 4.59343e-14 1.62797e-26 1.27592e-13 0.202585 0.0496737 162.44 1.837e-13 0.175532 0.0249839 0.0158385
4 249 4.76015e-14 1.67468e-26 1.2941e-13 0.17194 0.0361214 225.505 1.83419e-13 0.18 0.0182222 0.0112228
5 312 5.01532e-14 1.71426e-26 1.3093e-13 0.147559 0.0255973 306.179 1.74495e-13 0.191693 0.0134718 0.00823242
6 374 4.64769e-14 1.61169e-26 1.26952e-13 0.141055 0.0237235 335.067 1.79141e-13 0.184 0.0118261 0.00801735
7 437 4.44088e-14 1.5253e-26 1.23503e-13 0.132884 0.0213574 377.543 1.78751e-13 0.187215 0.00991202 0.0077057
8 499 4.47663e-14 1.53652e-26 1.23957e-13 0.123832 0.0180147 434.752 1.76428e-13 0.186 0.00875269 0.00655104
9 562 4.48471e-14 1.57958e-26 1.25681e-13 0.118109 0.0157788 477.909 1.78766e-13 0.181172 0.00802772 0.00589715
10 624 4.67502e-14 1.65828e-26 1.28774e-13 0.110181 0.013355 549.158 1.78141e-13 0.1856 0.00702069 0.00509968
11 687 4.82132e-14 1.70712e-26 1.30657e-13 0.103317 0.0114943 624.548 1.76039e-13 0.186047 0.00635901 0.00429986
12 749 4.6534e-14 1.64928e-26 1.28424e-13 0.100773 0.0111214 656.473 1.7772e-13 0.184 0.00591304 0.00422869
13 812 4.559e-14 1.6258e-26 1.27507e-13 0.0980886 0.0105509 692.901 1.79099e-13 0.184502 0.00543665 0.00417289
14 874 4.5225e-14 1.60269e-26 1.26597e-13 0.0946329 0.00988644 744.431 1.78376e-13 0.184 0.00506832 0.00387683
15 937 4.61794e-14 1.6064e-26 1.26744e-13 0.0896142 0.00899115 830.147 1.7567e-13 0.187633 0.00461572 0.00340643
16 999 4.53847e-14 1.58166e-26 1.25764e-13 0.0876289 0.00868154 868.189 1.7701e-13 0.188 0.00431915 0.00335199
--------------------End of Global Run-----------------------
The run consists of 1000 gamma of 6 MeV
Dose in scoring volume : 41.8432 picoGy +- 3.86439 picoGy
Dose in scoring volume : 45.3847 picoGy +- 3.97502 picoGy
------------------------------------------------------------
### Run 1 start.
@@ -824,53 +839,53 @@ i/16 till_ith mean var sd r vov
---> Begin of event: 900
G4ConvergenceTester Output Result of DOSE_TALLY
EFFICIENCY = 0.612
MEAN = 4.9029e-12
VAR = 2.11882e-23
SD = 4.60307e-12
R = 0.0296889
SHIFT = 1.38522e-13
VOV = 0.000177941
FOM = 1829.87
THE LARGEST SCORE = 1.07916e-11 and it happend at 431th event
Affected Mean = 4.90878e-12 and its ratio to orignal is 1.0012
Affected VAR = 2.12017e-23 and its ratio to orignal is 1.00063
Affected R = 0.0296479 and its ratio to orignal is 0.998619
Affected SHIFT = 1.34291e-13 and its ratio to orignal is 0.969458
Affected FOM = 1829.87 and its ratio to orignal is 1
MEAN distribution is not RANDOM
EFFICIENCY = 0.633
MEAN = 5.09132e-12
VAR = 2.13276e-23
SD = 4.61818e-12
R = 0.0286841
SHIFT = -3.67875e-14
VOV = 0.000168128
FOM = 1365.62
THE LARGEST SCORE = 1.07064e-11 and it happend at 578th event
Affected Mean = 5.09693e-12 and its ratio to orignal is 1.0011
Affected VAR = 2.13378e-23 and its ratio to orignal is 1.00048
Affected R = 0.028645 and its ratio to orignal is 0.998638
Affected SHIFT = -4.09947e-14 and its ratio to orignal is 1.11437
Affected FOM = 1365.62 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.0296889
r is less than 0.1. r = 0.0286841
VOV follows 1/std::sqrt(N)
VOV is monotonically decrease
FOM distribution is not RANDOM
SLOPE is not large enough
This result passes 5 / 8 Convergence Test.
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 5.25449e-12 2.10697e-23 4.59017e-12 0.11006 0.00274798 133.153 -2.74093e-13 0.666667 0.00793651 0.00398434
2 124 4.90882e-12 2.13434e-23 4.61989e-12 0.0841782 0.00129089 227.619 6.13709e-14 0.608 0.00515789 0.00187139
3 187 4.63071e-12 2.12806e-23 4.61309e-12 0.072655 0.00096891 305.547 3.74896e-13 0.590426 0.00368986 0.0015608
4 249 4.73607e-12 2.06617e-23 4.54552e-12 0.0607009 0.000809633 437.741 2.64346e-13 0.612 0.00253595 0.00113392
5 312 4.99591e-12 2.10429e-23 4.58726e-12 0.0518999 0.000557112 598.792 3.91121e-14 0.629393 0.00188125 0.000803736
6 374 4.97277e-12 2.10608e-23 4.58921e-12 0.0476566 0.000462075 710.169 4.55154e-14 0.618667 0.00164368 0.00062142
7 437 4.98533e-12 2.07606e-23 4.55638e-12 0.0436706 0.000443316 845.727 5.27726e-14 0.627854 0.00135326 0.000549508
8 499 4.87247e-12 2.08346e-23 4.5645e-12 0.0418947 0.000385602 918.947 1.53528e-13 0.612 0.00126797 0.000483681
9 562 4.82179e-12 2.10269e-23 4.58551e-12 0.0400797 0.000333334 1004.06 2.11011e-13 0.609236 0.00113925 0.000464278
10 624 4.79785e-12 2.09007e-23 4.57172e-12 0.0381148 0.000309044 1110.25 2.26761e-13 0.6112 0.0010178 0.000432609
11 687 4.77867e-12 2.09828e-23 4.5807e-12 0.0365452 0.000278071 1207.67 2.44794e-13 0.606105 0.000944593 0.00038902
12 749 4.82451e-12 2.10626e-23 4.5894e-12 0.0347354 0.000243766 1336.79 1.98124e-13 0.606667 0.000864469 0.000340471
13 812 4.81521e-12 2.1138e-23 4.59761e-12 0.0334866 0.000221013 1438.35 2.09253e-13 0.603936 0.000806648 0.000313326
14 874 4.90115e-12 2.12619e-23 4.61106e-12 0.0318053 0.000197153 1594.45 1.37744e-13 0.611429 0.000726302 0.000284118
15 937 4.88599e-12 2.11068e-23 4.59422e-12 0.0307013 0.000193067 1711.17 1.53552e-13 0.613006 0.000673032 0.000268535
16 999 4.9029e-12 2.11882e-23 4.60307e-12 0.0296889 0.000177941 1829.87 1.38522e-13 0.612 0.000633987 0.000246563
1 62 5.71484e-12 2.20213e-23 4.69269e-12 0.103454 0.0033313 104.982 -6.00485e-13 0.650794 0.00851723 0.00201562
2 124 5.31373e-12 2.05249e-23 4.53044e-12 0.0762581 0.00186309 193.214 -2.51782e-13 0.648 0.00434568 0.0014231
3 187 5.57214e-12 2.02283e-23 4.49759e-12 0.0588679 0.00144383 324.23 -5.27092e-13 0.670213 0.00261736 0.000829638
4 249 5.5207e-12 2.06897e-23 4.5486e-12 0.0521091 0.000952743 413.793 -4.79542e-13 0.664 0.0020241 0.0006804
5 312 5.34646e-12 2.09833e-23 4.58075e-12 0.0484283 0.000649197 479.085 -3.20804e-13 0.642173 0.00178024 0.000557567
6 374 5.2749e-12 2.12091e-23 4.60533e-12 0.0450849 0.000499372 552.775 -2.37843e-13 0.637333 0.00151743 0.000509791
7 437 5.36773e-12 2.12229e-23 4.60683e-12 0.0410085 0.000450501 668.132 -3.18098e-13 0.646119 0.00125046 0.000427394
8 499 5.2964e-12 2.13e-23 4.61519e-12 0.0389694 0.000371782 739.883 -2.502e-13 0.636 0.00114465 0.000370922
9 562 5.20216e-12 2.11464e-23 4.59852e-12 0.0372546 0.000333759 809.563 -1.68787e-13 0.632327 0.00103279 0.000352649
10 624 5.32568e-12 2.12108e-23 4.60552e-12 0.034591 0.000305103 939.04 -2.68605e-13 0.6432 0.000887562 0.00030706
11 687 5.29569e-12 2.11847e-23 4.60268e-12 0.0331355 0.000277192 1023.34 -2.42794e-13 0.642442 0.000808955 0.000287413
12 749 5.22169e-12 2.11895e-23 4.6032e-12 0.0321898 0.000244906 1084.36 -1.74711e-13 0.636 0.000763103 0.000271702
13 812 5.21669e-12 2.12687e-23 4.6118e-12 0.0310049 0.000219122 1168.82 -1.62421e-13 0.635916 0.000704224 0.000255898
14 874 5.14589e-12 2.12536e-23 4.61017e-12 0.0302867 0.000200299 1224.91 -9.55652e-14 0.629714 0.000672025 0.000244213
15 937 5.1618e-12 2.14039e-23 4.62644e-12 0.0292647 0.000179289 1311.96 -1.05157e-13 0.633262 0.000617404 0.000238106
16 999 5.09132e-12 2.13276e-23 4.61818e-12 0.0286841 0.000168128 1365.62 -3.67875e-14 0.633 0.000579779 0.000242174
--------------------End of Global Run-----------------------
The run consists of 1000 proton of 210 MeV
Dose in scoring volume : 4.9029 nanoGy +- 145.489 picoGy
Dose in scoring volume : 5.09132 nanoGy +- 145.967 picoGy
------------------------------------------------------------
Graphics systems deleted.
+38 -25
View File
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-02-ref-00 (4-December-2015)
Geant4 version Name: geant4-10-03-beta-01 (30-June-2016)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -12,6 +12,14 @@
<<< Geant4 Physics List simulation engine: FTFP_BERT 2.0
=======================================================================
====== Pre-compound/De-excitation Physics Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Type of de-excitation inverse x-section 3
Min excitation energy (keV) 0.1
Level density (1/MeV) 0.1
=======================================================================
### Adding tracking cuts for neutron TimeCut(ns)= 10000 KinEnergyCut(MeV)= 0
paraFlag: 0
Preparing Importance Sampling
@@ -205,7 +213,7 @@ msc: for GenericIon SubType= 10
ionIoni: for GenericIon SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
finalRange(mm)= 0.01, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02
finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.02
Stopping Power data for 17 ion/material pairs
===== EM models for the G4Region DefaultRegionForTheWorld ======
BraggIon : Emin= 0 eV Emax= 2 MeV
@@ -219,7 +227,7 @@ msc: for alpha SubType= 10
ionIoni: for alpha SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
finalRange(mm)= 0.01, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02
finalRange(mm)= 0.1, dRoverRange= 0.2, 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
@@ -328,7 +336,7 @@ msc: for mu+ SubType= 10
muIoni: for mu+ SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
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= 200 keV
BetheBloch : Emin= 200 keV Emax= 1 GeV
@@ -361,7 +369,7 @@ msc: for mu- SubType= 10
muIoni: for mu- SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
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= 200 keV
BetheBloch : Emin= 200 keV Emax= 1 GeV
@@ -487,6 +495,11 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
---------------------------------------------------
Hadronic Processes for He3
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov nucleus nucleus: 0 eV ---> 2.88022e+295 J
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: He3Inelastic
Model: Binary Light Ion Cascade: 0 eV /n ---> 4 GeV/n
Model: FTFP: 2 GeV/n ---> 100 TeV/n
@@ -774,26 +787,26 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
=============================================================
=============================================================
Volume | Tr.Entering | Population | Collisions | Coll*WGT | NumWGTedE | FluxWGTedE | Av.Tr.WGT | SL | SLW | SLW_v | SLWE | SLWE_v |
cell_00 | 44 | 134 | 44 | 44 | 0.0425661 | 2.82809 | 1 | 7233.93 | 7233.93 | 16751.8 | 20458.2 | 713.056 |
cell_01 | 142 | 181 | 498 | 498 | 0.014752 | 4.87534 | 1 | 20613.8 | 20613.8 | 182601 | 100499 | 2693.73 |
cell_02 | 160 | 244 | 1150 | 575 | 0.0119551 | 2.78988 | 0.5 | 44199.4 | 22099.7 | 160616 | 61655.4 | 1920.18 |
cell_03 | 261 | 369 | 2017 | 504.25 | 0.00453035 | 2.13109 | 0.25 | 67380.2 | 16845 | 266446 | 35898.3 | 1207.1 |
cell_04 | 265 | 409 | 2478 | 309.75 | 0.00565072 | 1.81814 | 0.125 | 77911.5 | 9738.94 | 113163 | 17706.7 | 639.452 |
cell_05 | 275 | 401 | 2579 | 161.188 | 0.00440395 | 1.49338 | 0.0625 | 78134.7 | 4883.42 | 60816.5 | 7292.79 | 267.833 |
cell_06 | 311 | 454 | 2834 | 88.5625 | 0.00303264 | 1.38657 | 0.03125 | 82069.4 | 2564.67 | 43423 | 3556.09 | 131.686 |
cell_07 | 303 | 454 | 2896 | 45.25 | 0.00341276 | 1.39919 | 0.015625 | 84910.6 | 1326.73 | 20049.7 | 1856.35 | 68.4248 |
cell_08 | 293 | 442 | 2526 | 19.7344 | 0.00389726 | 1.62108 | 0.0078125 | 75841.9 | 592.515 | 8743.39 | 960.511 | 34.0752 |
cell_09 | 274 | 422 | 2513 | 9.81641 | 0.00392513 | 1.40535 | 0.00390625 | 75680.8 | 295.628 | 4131.72 | 415.46 | 16.2175 |
cell_10 | 260 | 381 | 2386 | 4.66016 | 0.00289049 | 1.22121 | 0.00195312 | 71569.8 | 139.785 | 2407.12 | 170.707 | 6.95777 |
cell_11 | 214 | 329 | 1992 | 1.94531 | 0.00402576 | 1.51082 | 0.000976562 | 62634 | 61.166 | 880.193 | 92.4107 | 3.54344 |
cell_12 | 209 | 314 | 1734 | 0.84668 | 0.00465381 | 1.46232 | 0.000488281 | 55065.4 | 26.8874 | 337.545 | 39.3181 | 1.57087 |
cell_13 | 252 | 346 | 2278 | 0.556152 | 0.00399247 | 1.2862 | 0.000244141 | 68674.1 | 16.7661 | 219.739 | 21.5646 | 0.877303 |
cell_14 | 213 | 324 | 2188 | 0.26709 | 0.00251341 | 1.22292 | 0.00012207 | 63777.5 | 7.78534 | 157.746 | 9.52082 | 0.396482 |
cell_15 | 181 | 277 | 1745 | 0.106506 | 0.00311928 | 1.20266 | 6.10352e-05 | 50601.1 | 3.08844 | 50.062 | 3.71436 | 0.156158 |
cell_16 | 189 | 261 | 1879 | 0.0573425 | 0.00240988 | 0.831841 | 3.05176e-05 | 54383.8 | 1.65966 | 27.141 | 1.38058 | 0.0654065 |
cell_17 | 171 | 258 | 1901 | 0.029007 | 0.0025084 | 0.910156 | 1.52588e-05 | 51952.5 | 0.792732 | 12.9935 | 0.72151 | 0.032593 |
cell_18 | 110 | 201 | 1153 | 0.00879669 | 0.00145789 | 0.738537 | 7.62939e-06 | 31837.3 | 0.242899 | 5.58877 | 0.17939 | 0.0081478 |
cell_19 | 58 | 58 | 58 | 0.000442505 | 0.00320786 | 0.993434 | 7.62939e-06 | 8710.99 | 0.0664595 | 0.911819 | 0.0660232 | 0.00292499 |
cell_00 | 43 | 133 | 43 | 43 | 0.0420683 | 3.12036 | 1 | 8582.52 | 8582.52 | 19996.5 | 26780.5 | 841.22 |
cell_01 | 136 | 170 | 439 | 439 | 0.0264113 | 5.12031 | 1 | 21332.3 | 21332.3 | 109484 | 109228 | 2891.61 |
cell_02 | 142 | 246 | 1031 | 515.5 | 0.0130269 | 3.26244 | 0.5 | 39846.8 | 19923.4 | 152564 | 64998.9 | 1987.43 |
cell_03 | 209 | 319 | 1946 | 486.5 | 0.00771441 | 2.03668 | 0.25 | 61445.9 | 15361.5 | 137572 | 31286.4 | 1061.28 |
cell_04 | 266 | 412 | 2521 | 315.125 | 0.00358201 | 1.74936 | 0.125 | 76417.4 | 9552.18 | 158499 | 16710.2 | 567.745 |
cell_05 | 275 | 410 | 2341 | 146.312 | 0.00364392 | 1.70863 | 0.0625 | 73257 | 4578.56 | 75082.9 | 7823.06 | 273.596 |
cell_06 | 282 | 418 | 2469 | 77.1562 | 0.00385387 | 1.58883 | 0.03125 | 75337.7 | 2354.3 | 35124.2 | 3740.59 | 135.364 |
cell_07 | 297 | 427 | 2640 | 41.25 | 0.00315514 | 1.29265 | 0.015625 | 79608.6 | 1243.88 | 20018.2 | 1607.91 | 63.1603 |
cell_08 | 268 | 407 | 2493 | 19.4766 | 0.00325828 | 1.36425 | 0.0078125 | 72203.9 | 564.093 | 8979.71 | 769.565 | 29.2584 |
cell_09 | 237 | 355 | 2378 | 9.28906 | 0.00291997 | 1.17362 | 0.00390625 | 65892.1 | 257.391 | 4144.3 | 302.079 | 12.1012 |
cell_10 | 211 | 315 | 2140 | 4.17969 | 0.00298622 | 1.19864 | 0.00195312 | 62615.6 | 122.296 | 1914.27 | 146.589 | 5.71643 |
cell_11 | 185 | 275 | 1972 | 1.92578 | 0.00258118 | 0.969542 | 0.000976562 | 55433.4 | 54.1342 | 847.773 | 52.4853 | 2.18826 |
cell_12 | 168 | 260 | 1612 | 0.787109 | 0.00301013 | 1.13544 | 0.000488281 | 48770.4 | 23.8137 | 362.33 | 27.0389 | 1.09066 |
cell_13 | 170 | 239 | 1557 | 0.380127 | 0.00243654 | 0.931859 | 0.000244141 | 44351.8 | 10.8281 | 186.698 | 10.0902 | 0.454898 |
cell_14 | 146 | 216 | 1545 | 0.188599 | 0.00168602 | 0.861212 | 0.00012207 | 41904 | 5.11523 | 112.038 | 4.4053 | 0.188898 |
cell_15 | 118 | 178 | 1192 | 0.0727539 | 0.00270262 | 1.0356 | 6.10352e-05 | 34079.1 | 2.08003 | 33.743 | 2.15408 | 0.0911947 |
cell_16 | 97 | 137 | 885 | 0.0270081 | 0.00290569 | 1.03746 | 3.05176e-05 | 27447.9 | 0.837643 | 12.6329 | 0.869023 | 0.0367072 |
cell_17 | 79 | 122 | 836 | 0.0127563 | 0.00245004 | 0.919797 | 1.52588e-05 | 22177.4 | 0.338401 | 5.92169 | 0.31126 | 0.0145084 |
cell_18 | 47 | 84 | 491 | 0.00374603 | 0.00160247 | 0.711271 | 7.62939e-06 | 13182.1 | 0.100572 | 2.21359 | 0.0715336 | 0.00354722 |
cell_19 | 24 | 24 | 24 | 0.000183105 | 0.00303984 | 1.01055 | 7.62939e-06 | 4503.6 | 0.0343597 | 0.512951 | 0.0347223 | 0.00155929 |
=============================================
=== G4ProcessPlacer::RemoveProcess: for: neutron
ProcessName: ImportanceProcess, will be removed!
+4
View File
@@ -17,6 +17,10 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
Jan 27th, 2016 M. Asai - B03-V10-02-00
- B03PhysicsList.cc : change process order index of G4ParallelWorldProcess
to 9900 to make sure it is registered prior to G4OpBoundaryProcess.
Jan 21st, 2015 M. Asai - B03-V10-01-00
- B03PhysicsList.cc : properly use SetProcessOrderingToSecond()
method for G4ParallelWorldProcess.
+48 -24
View File
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-02-ref-00 (4-December-2015)
Geant4 version Name: geant4-10-03-beta-01 (30-June-2016)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -65,6 +65,30 @@ DoIt Vector:
================================================
GeomSampler Configured!!!
Running in singlethreaded mode!!!
=======================================================================
====== Pre-compound/De-excitation Physics Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Type of de-excitation inverse x-section 3
Min excitation energy (keV) 0.1
Level density (1/MeV) 0.1
=======================================================================
=======================================================================
====== Pre-compound/De-excitation Physics Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Type of de-excitation inverse x-section 3
Min excitation energy (keV) 0.1
Level density (1/MeV) 0.1
=======================================================================
=======================================================================
====== Pre-compound/De-excitation Physics Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Type of de-excitation inverse x-section 3
Min excitation energy (keV) 0.1
Level density (1/MeV) 0.1
=======================================================================
B03PhysicsList::SetCuts:CutLength : 1 (mm)
ghost world: ParallelBiasingWorld
adding cell: 1 replica: 0 name: cell_01
@@ -233,7 +257,7 @@ msc: for mu+ SubType= 10
muIoni: for mu+ SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
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= 200 keV
BetheBloch : Emin= 200 keV Emax= 1 GeV
@@ -260,7 +284,7 @@ msc: for mu- SubType= 10
muIoni: for mu- SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
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= 200 keV
BetheBloch : Emin= 200 keV Emax= 1 GeV
@@ -483,7 +507,7 @@ hIoni: for pi- SubType= 2
*** G4Exception : GeomBias1001
issued by : G4ImportanceAlgorithm::Warning()
Calculate() - ipre_over_ipost ! in [0.25, 4].
ipre_over_ipost = 1024.
ipre_over_ipost = 131072.
*** This is just a warning message. ***
-------- WWWW -------- G4Exception-END --------- WWWW -------
@@ -503,26 +527,26 @@ 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 | 32 | 129 | 0 | 0 | 0.32628 | 1.97579 | 1 | 5694.37 | 5694.37 | 1326.49 | 11250.9 | 432.807 |
cell_01 | 158 | 195 | 690 | 690 | 0.430151 | 3.75868 | 1 | 26557.9 | 26557.9 | 6716.46 | 99822.7 | 2889.09 |
cell_02 | 165 | 288 | 1459 | 729.5 | 0.203696 | 2.11154 | 0.5 | 50786.1 | 25393.1 | 9168.09 | 53618.3 | 1867.51 |
cell_03 | 182 | 297 | 1306 | 326.5 | 0.17897 | 2.09376 | 0.25 | 43597.4 | 10899.4 | 4427.79 | 22820.6 | 792.44 |
cell_04 | 200 | 327 | 1682 | 210.25 | 0.21166 | 1.99235 | 0.125 | 54684.9 | 6835.62 | 2344.57 | 13619 | 496.252 |
cell_05 | 215 | 361 | 2062 | 128.875 | 0.173644 | 1.73616 | 0.0625 | 65069.6 | 4066.85 | 1536.69 | 7060.69 | 266.837 |
cell_06 | 239 | 384 | 2180 | 68.125 | 0.147585 | 1.65521 | 0.03125 | 68998.3 | 2156.2 | 904.208 | 3568.97 | 133.448 |
cell_07 | 258 | 402 | 2415 | 37.7344 | 0.107177 | 1.3449 | 0.015625 | 73349.8 | 1146.09 | 581.596 | 1541.38 | 62.3337 |
cell_08 | 238 | 359 | 2038 | 15.9219 | 0.10873 | 1.45253 | 0.0078125 | 63973 | 499.789 | 260.507 | 725.957 | 28.3249 |
cell_09 | 222 | 337 | 1928 | 7.53125 | 0.124002 | 1.44929 | 0.00390625 | 58956.8 | 230.3 | 106.93 | 333.772 | 13.2595 |
cell_10 | 224 | 342 | 1973 | 3.85352 | 0.101274 | 1.12632 | 0.00195312 | 58318.7 | 113.904 | 54.6998 | 128.292 | 5.53964 |
cell_11 | 194 | 293 | 1726 | 1.68555 | 0.0786365 | 0.991328 | 0.000976562 | 50120 | 48.9453 | 27.8549 | 48.5208 | 2.19042 |
cell_12 | 147 | 238 | 1356 | 0.662109 | 0.0822361 | 0.995181 | 0.000488281 | 39547.8 | 19.3104 | 10.5843 | 19.2174 | 0.870412 |
cell_13 | 123 | 191 | 1059 | 0.258545 | 0.122309 | 1.33391 | 0.000244141 | 31844.6 | 7.77455 | 3.5889 | 10.3706 | 0.438956 |
cell_14 | 124 | 202 | 1347 | 0.164429 | 0.0867807 | 1.07809 | 0.00012207 | 39347.5 | 4.80316 | 2.66272 | 5.17822 | 0.231073 |
cell_15 | 93 | 158 | 864 | 0.0527344 | 0.127452 | 1.21932 | 6.10352e-05 | 26339.8 | 1.60765 | 0.707673 | 1.96024 | 0.0901946 |
cell_16 | 82 | 123 | 573 | 0.0174866 | 0.162767 | 1.46524 | 3.05176e-05 | 19194.5 | 0.585771 | 0.225663 | 0.858297 | 0.0367305 |
cell_17 | 74 | 121 | 672 | 0.0102539 | 0.1057 | 1.17456 | 1.52588e-05 | 20426 | 0.311677 | 0.153972 | 0.366083 | 0.0162748 |
cell_18 | 40 | 85 | 354 | 0.00270081 | 0.187845 | 1.38514 | 7.62939e-06 | 12488.9 | 0.095283 | 0.0324356 | 0.131981 | 0.00609286 |
cell_19 | 24 | 24 | 0 | 0 | 0.30325 | 1.64268 | 7.62939e-06 | 3864.16 | 0.0294812 | 0.00670912 | 0.048428 | 0.00203454 |
cell_00 | 36 | 130 | 0 | 0 | 0.491582 | 2.48121 | 1 | 6555.92 | 6555.92 | 1223.76 | 16266.6 | 601.581 |
cell_01 | 151 | 178 | 561 | 561 | 0.472863 | 4.33965 | 1 | 24495.7 | 24495.7 | 6201.14 | 106303 | 2932.29 |
cell_02 | 180 | 306 | 1373 | 686.5 | 0.285776 | 2.96843 | 0.5 | 48523.1 | 24261.5 | 7786.08 | 72018.6 | 2225.07 |
cell_03 | 241 | 375 | 1809 | 452.25 | 0.208519 | 2.31399 | 0.25 | 62578.7 | 15644.7 | 5779 | 36201.7 | 1205.03 |
cell_04 | 287 | 466 | 2330 | 291.25 | 0.184597 | 1.96926 | 0.125 | 77669.6 | 9708.7 | 3709.5 | 19119 | 684.762 |
cell_05 | 314 | 478 | 2381 | 148.812 | 0.18696 | 1.89939 | 0.0625 | 79021.9 | 4938.87 | 1842.55 | 9380.83 | 344.482 |
cell_06 | 341 | 526 | 3014 | 94.1875 | 0.122682 | 1.46118 | 0.03125 | 90423.5 | 2825.73 | 1322.01 | 4128.92 | 162.187 |
cell_07 | 306 | 495 | 2721 | 42.5156 | 0.114495 | 1.4641 | 0.015625 | 84037.8 | 1313.09 | 654.934 | 1922.5 | 74.9866 |
cell_08 | 275 | 438 | 2394 | 18.7031 | 0.132459 | 1.57396 | 0.0078125 | 76179.8 | 595.154 | 271.856 | 936.75 | 36.0098 |
cell_09 | 280 | 445 | 2374 | 9.27344 | 0.131719 | 1.68602 | 0.00390625 | 73908.6 | 288.706 | 135.239 | 486.764 | 17.8135 |
cell_10 | 272 | 447 | 2289 | 4.4707 | 0.129014 | 1.52821 | 0.00195312 | 71049.5 | 138.769 | 63.8366 | 212.068 | 8.23583 |
cell_11 | 258 | 421 | 2282 | 2.22852 | 0.135776 | 1.6504 | 0.000976562 | 71974.1 | 70.2873 | 31.6796 | 116.002 | 4.30134 |
cell_12 | 284 | 418 | 2316 | 1.13086 | 0.107414 | 1.48367 | 0.000488281 | 72439.3 | 35.3707 | 18.7636 | 52.4785 | 2.01547 |
cell_13 | 286 | 414 | 2506 | 0.611816 | 0.108482 | 1.20397 | 0.000244141 | 76286.3 | 18.6246 | 8.88085 | 22.4234 | 0.963415 |
cell_14 | 293 | 414 | 2613 | 0.31897 | 0.0993867 | 1.11912 | 0.00012207 | 74820.4 | 9.13335 | 4.46063 | 10.2213 | 0.443327 |
cell_15 | 262 | 397 | 2620 | 0.159912 | 0.0955301 | 1.07912 | 6.10352e-05 | 75485.4 | 4.60726 | 2.30043 | 4.97181 | 0.21976 |
cell_16 | 219 | 322 | 1949 | 0.0594788 | 0.0860681 | 1.13969 | 3.05176e-05 | 57152.6 | 1.74416 | 0.961786 | 1.9878 | 0.082779 |
cell_17 | 194 | 303 | 1821 | 0.0277863 | 0.0890139 | 1.18903 | 1.52588e-05 | 55962.8 | 0.853924 | 0.472604 | 1.01534 | 0.0420683 |
cell_18 | 121 | 258 | 1235 | 0.0094223 | 0.125286 | 1.59049 | 7.62939e-06 | 37485 | 0.285988 | 0.13727 | 0.45486 | 0.017198 |
cell_19 | 91 | 91 | 0 | 0 | 0.222498 | 2.44191 | 7.62939e-06 | 14528.2 | 0.110842 | 0.0409162 | 0.270665 | 0.00910376 |
=============================================
=== G4ProcessPlacer::RemoveProcess: for: neutron
ProcessName: ImportanceProcess, will be removed!
@@ -655,9 +655,9 @@ void B03PhysicsList::AddScoringProcess(){
G4ProcessManager* pmanager = particle->GetProcessManager();
pmanager->AddProcess(theParallelWorldProcess);
if(theParallelWorldProcess->IsAtRestRequired(particle))
{pmanager->SetProcessOrdering(theParallelWorldProcess, idxAtRest, 9999);}
{pmanager->SetProcessOrdering(theParallelWorldProcess, idxAtRest, 9900);}
pmanager->SetProcessOrderingToSecond(theParallelWorldProcess, idxAlongStep);
pmanager->SetProcessOrdering(theParallelWorldProcess, idxPostStep, 9999);
pmanager->SetProcessOrdering(theParallelWorldProcess, idxPostStep, 9900);
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+35 -20
View File
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-02-ref-00 (4-December-2015)
Geant4 version Name: geant4-10-03-beta-01 (30-June-2016)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -40,16 +40,18 @@ Registering model factories...
You have successfully registered the following model factories.
Registered model factories:
generic
drawByCharge
drawByParticleID
drawByOriginVolume
drawByAttribute
drawByCharge
drawByOriginVolume
drawByParticleID
drawByTouchedVolume
Registered filter factories:
chargeFilter
particleFilter
originVolumeFilter
attributeFilter
chargeFilter
originVolumeFilter
particleFilter
touchedVolumeFilter
You have successfully registered the following user vis actions.
Run Duration User Vis Actions: none
@@ -67,11 +69,19 @@ Available colours:
G4SDManager::AddNewCollection : the collection <Calor_abs/eDep> is registered at 1
G4SDManager::AddNewCollection : the collection <Calor_abs/nNeutral> is registered at 2
G4SDManager::AddNewCollection : the collection <Calor_abs/nCharged> is registered at 3
New sensitive detector <Calor_abs> is registored at /
New sensitive detector <Calor_abs> is registered at /
G4SDManager::AddNewCollection : the collection <Calor_gap/eDep> is registered at 4
G4SDManager::AddNewCollection : the collection <Calor_gap/nNeutral> is registered at 5
G4SDManager::AddNewCollection : the collection <Calor_gap/nCharged> is registered at 6
New sensitive detector <Calor_gap> is registored at /
New sensitive detector <Calor_gap> is registered at /
=======================================================================
====== Pre-compound/De-excitation Physics Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Type of de-excitation inverse x-section 3
Min excitation energy (keV) 0.1
Level density (1/MeV) 0.1
=======================================================================
### Adding tracking cuts for neutron TimeCut(ns)= 10000 KinEnergyCut(MeV)= 0
phot: for gamma SubType= 12 BuildTable= 0
@@ -189,7 +199,7 @@ msc: for GenericIon SubType= 10
ionIoni: for GenericIon SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
finalRange(mm)= 0.01, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02
finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.02
Stopping Power data for 17 ion/material pairs
===== EM models for the G4Region DefaultRegionForTheWorld ======
BraggIon : Emin= 0 eV Emax= 2 MeV
@@ -203,7 +213,7 @@ msc: for alpha SubType= 10
ionIoni: for alpha SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
finalRange(mm)= 0.01, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02
finalRange(mm)= 0.1, dRoverRange= 0.2, 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
@@ -312,7 +322,7 @@ msc: for mu+ SubType= 10
muIoni: for mu+ SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
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= 200 keV
BetheBloch : Emin= 200 keV Emax= 1 GeV
@@ -345,7 +355,7 @@ msc: for mu- SubType= 10
muIoni: for mu- SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
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= 200 keV
BetheBloch : Emin= 200 keV Emax= 1 GeV
@@ -471,6 +481,11 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
---------------------------------------------------
Hadronic Processes for He3
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov nucleus nucleus: 0 eV ---> 2.88022e+295 J
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: He3Inelastic
Model: Binary Light Ion Cascade: 0 eV /n ---> 4 GeV/n
Model: FTFP: 2 GeV/n ---> 100 TeV/n
@@ -800,7 +815,7 @@ GB03BOptrGeometryBasedBiasing : starting run with splitting factor = 2, and prob
Run terminated.
Run Summary
Number of events processed : 10
User=0.18s Real=0.18s Sys=0.01s
User=0.18s Real=0.18s Sys=0s
Region <DefaultRegionForTheWorld> -- -- appears in <World> world volume
This region is in the mass world.
@@ -860,7 +875,7 @@ GB03BOptrGeometryBasedBiasing : starting run with splitting factor = 2, and prob
Run terminated.
Run Summary
Number of events processed : 10
User=0.68s Real=0.69s Sys=0s
User=0.19s Real=0.2s Sys=0s
Graphics systems deleted.
Visualization Manager deleting...
G4 kernel has come to Quit state.
@@ -872,22 +887,22 @@ RunManager is deleting RunManagerKernel.
G4SDManager deleted.
EventManager deleted.
Units table cleared.
Total navigation history collections cleaned: 82
Total navigation history collections cleaned: 78
================== Deleting memory pools ===================
Pool ID '20G4NavigationLevelRep', size : 0.127 MB
Pool ID '20G4NavigationLevelRep', size : 0.121 MB
Pool ID '24G4ReferenceCountedHandleIvE', size : 0.000961 MB
Pool ID '17G4DynamicParticle', size : 0.0375 MB
Pool ID '17G4DynamicParticle', size : 0.0327 MB
Pool ID '7G4Event', size : 0.000961 MB
Pool ID '15G4PrimaryVertex', size : 0.000961 MB
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.075 MB
Pool ID '7G4Track', size : 0.0644 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
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-02-ref-00 (4-December-2015)
Geant4 version Name: geant4-10-03-beta-01 (30-June-2016)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -37,16 +37,18 @@ Registering model factories...
You have successfully registered the following model factories.
Registered model factories:
generic
drawByCharge
drawByParticleID
drawByOriginVolume
drawByAttribute
drawByCharge
drawByOriginVolume
drawByParticleID
drawByTouchedVolume
Registered filter factories:
chargeFilter
particleFilter
originVolumeFilter
attributeFilter
chargeFilter
originVolumeFilter
particleFilter
touchedVolumeFilter
You have successfully registered the following user vis actions.
Run Duration User Vis Actions: none
@@ -75,6 +77,7 @@ G4AdjointPhysicsList::SetCuts:CutLength : 10 um
*** Company: SpaceIT GmbH, Bern, Switzerland ***
*** Sponsored by: ESA/ESTEC contract contract 21435/08/NL/AT ***
****************************************************************
Test Sim Adjoint1
compt: for gamma SubType= 13 BuildTable= 1
Lambda table from 100 eV to 1 MeV, 7 bins per decade, spline: 1
@@ -351,54 +354,14 @@ nb event 260000
nb event 265000
nb event 270000
nb event 275000
nb event 280000
nb event 285000
nb event 290000
nb event 295000
nb event 300000
nb event 305000
nb event 310000
nb event 315000
nb event 320000
nb event 325000
nb event 330000
nb event 335000
nb event 340000
nb event 345000
nb event 350000
nb event 355000
nb event 360000
nb event 365000
nb event 370000
nb event 375000
nb event 380000
nb event 385000
nb event 390000
nb event 395000
nb event 400000
nb event 405000
nb event 410000
nb event 415000
nb event 420000
nb event 425000
nb event 430000
nb event 435000
nb event 440000
nb event 445000
nb event 450000
nb event 455000
nb event 460000
nb event 465000
nb event 470000
nb event 475000
1% Precision reached!
Run terminated.
Run Summary
Run Aborted after 476575 events processed.
User=522.6s Real=523.44s Sys=0.01s
Run Aborted after 275352 events processed.
User=252.13s Real=252.86s Sys=0.04s
Results of reverse/adjoint simulation!
normalised edep [MeV] = 0.000897042
error[MeV] = 8.97014e-06
normalised edep [MeV] = 0.00152112
error[MeV] = 1.52109e-05
----> Histogram Tree is saved in adjoint_sim.root
Graphics systems deleted.
@@ -406,6 +369,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: 0.056 MB
Dynamic pools deleted: 11 / Total memory freed: 0.047 MB
============================================================
RunManagerKernel is deleted. Good bye :)
@@ -1,9 +1,9 @@
# $Id: GNUmakefile 94302 2015-11-11 12:58:04Z gcosmo $
# $Id: GNUmakefile 96419 2016-04-13 10:23:38Z gcosmo $
# --------------------------------------------------------------
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
# --------------------------------------------------------------
##name := DirectAccess
#name := DirectAccess
name := TestEm0
G4TARGET := $(name)
@@ -1,4 +1,4 @@
$Id: History 94302 2015-11-11 12:58:04Z gcosmo $
$Id: History 96419 2016-04-13 10:23:38Z gcosmo $
-------------------------------------------------------------------
=========================================================
@@ -14,6 +14,9 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
12-04-16 mma (testem0-V10-02-02)
- PhysicsList: use G4EmParameters
11-11-15 V.Ivant (testem0-V10-01-01)
- DirectAccess.cc - make it work for Geant4 10.1
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-02-ref-00 (4-December-2015)
Geant4 version Name: geant4-10-03-beta-01 (30-June-2016)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -27,7 +27,7 @@
/// \brief Implementation of the PhysicsList class
//
//
// $Id: PhysicsList.cc 93512 2015-10-23 13:45:07Z gcosmo $
// $Id: PhysicsList.cc 96419 2016-04-13 10:23:38Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -178,8 +178,6 @@ void PhysicsList::ConstructParticle()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "G4EmProcessOptions.hh"
void PhysicsList::ConstructProcess()
{
// Transportation
@@ -192,25 +190,9 @@ void PhysicsList::ConstructProcess()
// Em options
//
// Main options and setting parameters are shown here.
// Several of them have default values.
//
G4EmProcessOptions emOptions;
//physics tables
//
//emOptions.SetMinEnergy(100*eV); //default
//emOptions.SetMaxEnergy(100*TeV); //default
//emOptions.SetDEDXBinning(12*20); //default=12*7
//emOptions.SetLambdaBinning(12*20); //default=12*7
G4EmParameters* param = G4EmParameters::Instance();
param->SetBuildCSDARange(true);
emOptions.SetBuildCSDARange(true);
emOptions.SetMaxEnergyForCSDARange(10*GeV);
//emOptions.SetDEDXBinningForCSDARange(12*20);
//emOptions.SetSplineFlag(true); //default
emOptions.SetVerbose(0);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -280,14 +262,14 @@ void PhysicsList::AddPhysicsList(const G4String& name)
void PhysicsList::SetCuts()
{
// fixe lower limit for cut
G4ProductionCutsTable::GetProductionCutsTable()->SetEnergyRange(100*eV, 1*GeV);
// fixe lower limit for cut
G4ProductionCutsTable::GetProductionCutsTable()->SetEnergyRange(100*eV, 1*GeV);
// call base class method to set cuts which default value can be
// modified via /run/setCut/* commands
G4VUserPhysicsList::SetCuts();
// call base class method to set cuts which default value can be
// modified via /run/setCut/* commands
G4VUserPhysicsList::SetCuts();
DumpCutValuesTable();
DumpCutValuesTable();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -146,11 +146,5 @@ Idle> exit
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 testem1)
\subsection TestEm1_subs1 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
*/
@@ -40,7 +40,9 @@ target_link_libraries(TestEm1 ${Geant4_LIBRARIES} ${HBOOK_LIBRARIES})
# relies on these scripts being in the current working directory.
#
set(TestEm1_SCRIPTS
annihil.mac brems.mac erange.mac gammaconversion.mac geantino.mac photoelec.mac photon.mac radioactive.mac range.mac runs.mac TestEm1.in TestEm1.out vis.mac
annihil.mac brems.mac decayinfly.mac erange.mac gammaconversion.mac
geantino.mac photoelec.mac photon.mac radioactive.mac range.mac runs.mac TestEm1.in
TestEm1.out vis.mac
)
foreach(_script ${TestEm1_SCRIPTS})
@@ -1,4 +1,4 @@
$Id: History 93735 2015-10-30 11:00:28Z gcosmo $
$Id: History 97813 2016-06-14 07:58:46Z gcosmo $
-------------------------------------------------------------------
=========================================================
@@ -14,6 +14,26 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
13-06-16 mma (testem1-V10-02-04)
- add decayinfly.mac
- adapt vis.mac (colors)
12-04-16 mma (testem1-V10-02-03)
- PhysicsList: use G4EmParameters
- remove geant3 subdirectory
06-02-16 mma (testem1-V10-02-02)
- update radioactive.mac
27-01-16 mma (testem1-V10-02-01)
- PhysicsList::AddRadioactiveDecay() :
G4NuclideTable::GetInstance()->SetThresholdOfHalfLife(0.1*picosecond);
10-12-15 V.Ivanchenko (testem1-V10-02-00)
01-12-15 V.Ivanchenko (testem1-V10-01-04)
- H.Burkhardt fixed plotHisto.C macro to allow to work both
with root5 and 6
28-10-15 D.Sawkey (testem1-V10-01-03)
- add EM standards physics builders GS, WVI
@@ -1,4 +1,4 @@
$Id: README 93735 2015-10-30 11:00:28Z gcosmo $
$Id: README 97813 2016-06-14 07:58:46Z gcosmo $
-------------------------------------------------------------------
=========================================================
@@ -140,11 +140,4 @@ $Id: README 93735 2015-10-30 11:00:28Z gcosmo $
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 testem1)
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
All selected histos will be written on a file name.ascii (default testem1)
@@ -4,14 +4,14 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-02-ref-00 (4-December-2015)
Geant4 version Name: geant4-10-03-beta-01 (30-June-2016)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
*************************************************************
***** Table : Nb of materials = 20 *****
***** Table : Nb of materials = 21 *****
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
@@ -244,6 +244,15 @@
ElmMassFraction: 5.22 % ElmAbundance 57.49 %
Material: Galactic density: 0.000 kg/m3 RadL: 204322111.300 pc Nucl.Int.Length: 113427275.267 pc
Imean: 19.200 eV temperature: 2.73 K pressure: 0.00 atm
---> Element: H (H) Z = 1.0 N = 1 A = 1.008 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: 100.00 % ElmAbundance 100.00 %
Material: Lu2SiO5 density: 7.400 g/cm3 RadL: 1.143 cm Nucl.Int.Length: 20.920 cm
Imean: 418.807 eV
@@ -252,7 +261,7 @@
---> Isotope: Lu176 Z = 71 N = 176 A = 175.94 g/mole abundance: 2.590 %
ElmMassFraction: 76.40 % ElmAbundance 25.00 %
---> Element: Si (Si) Z = 14.0 N = 28 A = 28.085 g/mole
---> 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 %
@@ -324,40 +333,40 @@ Index : 0 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 2000
User=3.11s Real=3.11s Sys=0s
User=3.2s Real=3.21s 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.818 MeV
total energy deposit: 99.823 MeV
nb tracks/event neutral: 25.37 charged: 137.86
nb steps/event neutral: 131.25 charged: 203.51
nb tracks/event neutral: 25.329 charged: 138.1
nb steps/event neutral: 131.58 charged: 203.97
Process calls frequency :
Transportation= 1797 annihil= 2832 compt= 211768
conv= 2818 eBrem= 46132 eIoni= 357656
msc= 393 phot= 46131
Transportation= 1794 annihil= 2815 compt= 212509
conv= 2802 eBrem= 46102 eIoni= 358682
msc= 344 phot= 46066
---------------------------------------------------------
Primary particle :
true Range = 11.108 cm rms = 3.7531 cm
proj Range = 9.6718 cm rms = 3.5086 cm
proj/true = 0.87069
transverse dispersion at end = 1.5715 cm
mass true Range from simulation = 29.992 g/cm2
true Range = 10.962 cm rms = 3.8646 cm
proj Range = 9.5297 cm rms = 3.5623 cm
proj/true = 0.86932
transverse dispersion at end = 1.5861 cm
mass true Range from simulation = 29.598 g/cm2
from PhysicsTable (csda range) = 32.1 g/cm2
---------------------------------------------------------
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 1125509901, 1932947406
Current couple of seeds = 1031624495, 298128577
----------------------------------------
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.064 MB
Dynamic pools deleted: 9 / Total memory freed: 0.066 MB
============================================================
RunManagerKernel is deleted. Good bye :)
@@ -0,0 +1,24 @@
# $Id: TestEm1.in 85282 2014-10-27 09:22:11Z gcosmo $
#
# Macro file for "TestEm1.cc"
#
/control/verbose 2
/run/verbose 1
#
/testem/det/setMat Galactic
/testem/det/setSize 10000 km
#
/testem/phys/addPhysics local
/run/setCut 1 km
#
/run/initialize
#
/testem/gun/setDefault
/testem/gun/rndm 0.7
/gun/particle ion
/gun/ion 7 16
/gun/energy 100 keV
#
/control/execute vis.mac
/tracking/verbose 2
/run/beamOn 4
@@ -1,26 +0,0 @@
testem1/src is the geant3 equivalent of TestEm1
% cd geant3
% gmakeB to make an executable (Batch version)
% gmakeT to make an executable (inTeractive version)
To execute:
% cd geant3
% $G4SYSTEM/testem1.xb (for batch) or testem1.xt (for interactive)
The program will ask:
G3 > gives the filename of the data cards to be read:
run01.dat (runNN.dat is the equivalent of the G4 runNN.mac)
testem1 produces several histo saved as testem1.paw if ISWIT(2)=1
Content of these histo:
1 : track length of primary particle
2 : number of steps of primary particle
3 : step size of primary particle
@@ -1,20 +0,0 @@
LIST
C
C e+ beam; 100 MeV
C
CALOR 5 (Al) 20. (cm) 0. (field)
TRIG 20
KINE 2 (positron) 0.1 (GeV) 1. (xBeam) 0.8 (rBeam)
DEBUG 10 5 1000
SWIT 0 (draw) 0 (save)
C
CUTS 10.e-6 (cutgam) 10.e-6 (cutele) 3*10.e-3 (cutneu/had/muo)
2*10.e+3 (bcute/m) 2*10.e+3 (dcute/m) 10.e-3 (ppcutm)
MULS 0
PHOT 0
COMP 0
PAIR 0
LOSS 1
C
ABAN 0
TIME 2=1.
@@ -1,20 +0,0 @@
LIST
C
C Bremsstrahlung only
C
CALOR 5 (Al) 50. (cm) 0. (field)
TRIG 10000
KINE 3 (electron) 0.2 (GeV) 1. (xBeam)
DEBUG 10 5 2000
SWIT 0 (draw) 0 (save)
C
CUTS 10.e-6 (cutgam) 10.e-6 (cutele) 3*10.e-3 (cutneu/had/muo)
2*10.e-6 (bcute/m) 2*10.e+3 (dcute/m) 10.e-3 (ppcutm)
MULS 0
PHOT 0
COMP 0
PAIR 0
LOSS 1
C
ABAN 0
TIME 2=1.
@@ -1,19 +0,0 @@
LIST
C
C Photon beam; 100 MeV
C
CALOR 5 (Al) 100. (cm) 0. (field)
TRIG 20
KINE 1 (gamma) 0.1 (GeV) 1. (xBeam) 0.8 (rBeam)
DEBUG 10 5 1000
SWIT 0 (draw) 0 (save)
C
CUTS 10.e-6 (cutgam) 10.e-6 (cutele) 3*10.e-3 (cutneu/had/muo)
2*10.e+3 (bcute/m) 2*10.e+3 (dcute/m) 10.e-3 (ppcutm)
PHOT 0
COMP 0
MULS 0
LOSS 1
C
ABAN 0
TIME 2=1.
@@ -1,11 +0,0 @@
LIST
C
C geantino; 100 evts
C
CALOR 5 (Al) 1000. (cm) 0. (field)
TRIG 100
KINE 48 (Geantino) 1. (GeV) 1. (xBeam)
DEBUG 10 5 1000
SWIT 0 (draw) 0 (save)
CUTS 10.e-6 (cutgam) 10.e-6 (cutele) 3*10.e-3 (cutneu/had/muo)
2*10.e-6 (bcute/m) 2*10.e-6 (dcute/m) 10.e-3 (ppcutm)
@@ -1,32 +0,0 @@
#
# @(#) Script to build a Batch geant executable
#
set name=testem1
set extnam=" "
if ($G4SYSTEM == AIX-AFS) set extnam=-qextname
#
mkdir $G4SYSTEM
cd $G4SYSTEM
#
# fortran compilation
#
hepf77 $extnam -c -g -Dbatch -I/cern/pro/include -I../include ../src/*.F
#
# Link
#
echo 'linking geant3+cernlib libraries ...'
#
hepf77 $extnam -lgfortran -g -o $name.xb *.o \
`cernlib geant321 pawlib graflib packlib mathlib kernlib`
#
#
chmod +x $name.xb
#
# cleanup
#
rm -rf *.o
echo 'done'
exit
@@ -1,31 +0,0 @@
#
# @(#) Script to build an inTeractive geant executable
#
set name=testem1
set extnam=" "
if ($G4SYSTEM == AIX-AFS) set extnam=-qextname
#
mkdir $G4SYSTEM
cd $G4SYSTEM
#
# fortran compilation
#
f77 $extnam -c -g -I/cern/pro/include -I../include ../src/*.F
#
# Link
#
echo 'linking geant3+cernlib libraries...'
#
f77 $extnam -lgfortran -g -o $name.xt *.o \
`cernlib geant321 pawlib graflib packlib mathlib kernlib`
#
#
chmod +x $name.xt
#
# cleanup
#
rm -rf *.o
echo 'done'
exit
@@ -1,7 +0,0 @@
COMMON/CALOR/Imat,BoxSize,Field
*
* Imat = GEANT material number. (data card CALOR)
* BoxSize = total size of the box (cm) (data card CALOR)
* Field = magnetic field (tesla) (data card CALOR)
*
@@ -1,4 +0,0 @@
COMMON/CELOSS/ ETOT,NTRAK0,NTRAK1,NSTEP0,NSTEP1,NBCALL(12),
+ NSTRK0,NSTRK1
@@ -1,17 +0,0 @@
LIST
C
C full Ionisation only
C
CALOR 5 (Al) 50. (cm) 0. (field)
TRIG 10000
KINE 3 (electron) 0.2 (GeV) 1. (xBeam)
DEBUG 10 5 2000
SWIT 0 (draw) 0 (save)
C
CUTS 10.e-6 (cutgam) 10.e-6 (cutele) 3*10.e-3 (cutneu/had/muo)
2*10.e+3 (bcute/m) 2*10.e-6 (dcute/m) 10.e-3 (ppcutm)
MULS 0
LOSS 1
C
ABAN 0
TIME 2=1.
@@ -1,16 +0,0 @@
LIST
C
C Photon beam; gamma 300 keV
C
CALOR 10 (Germanium) 1. (cm) 0. (field)
TRIG 100000
KINE 1 (gamma) 300.e-6 (GeV) 1. (xBeam) 0.8 (rBeam)
DEBUG 10 5 1000
SWIT 0 (draw) 0 (save)
C
CUTS 10.e-6 (cutgam) 10.e-6 (cutele) 3*10.e-3 (cutneu/had/muo)
2*10.e+3 (bcute/m) 2*10.e+3 (dcute/m) 10.e-3 (ppcutm)
LOSS 1
C
ABAN 0
TIME 2=1.
@@ -1,17 +0,0 @@
LIST
C
C csda range of the primary particle
C
CALOR 3 (water) 10. (cm) 0. (field)
TRIG 20000
KINE 14 (proton) 0.1 (GeV) 1. (xBeam)
DEBUG 10 5 2000
SWIT 0 (draw) 0 (save)
C
CUTS 10.e-6 (cutgam) 10.e-6 (cutele) 3*10.e-3 (cutneu/had/muo)
2*10.e+3 (bcute/m) 2*10.e+3 (dcute/m) 10.e-3 (ppcutm)
MULS 0
LOSS 4
C
ABAN 0
TIME 2=1.
@@ -1,267 +0,0 @@
SUBROUTINE GTGAMA
C.
C. ******************************************************************
C. * *
C. * Photon track. Computes step size and propagates particle *
C. * through step. *
C. * *
C. * ==>Called by : GTRACK *
C. * Authors R.Brun, F.Bruyant L.Urban ******** *
C. * *
C. ******************************************************************
C.
#include "geant321/gcbank.inc"
#include "geant321/gccuts.inc"
#include "geant321/gcjloc.inc"
#include "geant321/gconsp.inc"
#include "geant321/gcphys.inc"
#include "geant321/gcstak.inc"
#include "geant321/gctmed.inc"
#include "geant321/gcmulo.inc"
#include "geant321/gctrak.inc"
#include "geant321/gcunit.inc"
PARAMETER (EPSMAC=1.E-6)
DOUBLE PRECISION ONE,XCOEF1,XCOEF2,XCOEF3,ZERO
PARAMETER (ONE=1,ZERO=0)
PARAMETER (EPCUT=1.022E-3)
C.
*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
IABAN = NINT(DPHYS1)
*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
C. ------------------------------------------------------------------
*
* *** Particle below energy threshold ? Short circuit
*
*
IF (GEKIN.LE.CUTGAM) GOTO 998
*
* *** Update local pointers if medium has changed
*
IF(IUPD.EQ.0)THEN
IUPD = 1
JPHOT = LQ(JMA-6)
JCOMP = LQ(JMA-8)
JPAIR = LQ(JMA-10)
JPFIS = LQ(JMA-12)
JRAYL = LQ(JMA-13)
ENDIF
*
* *** Compute current step size
*
IPROC = 103
STEP = STEMAX
GEKRT1 = 1 .-GEKRAT
*
* ** Step limitation due to pair production ?
*
IF (GETOT.GT.EPCUT) THEN
IF (IPAIR.GT.0) THEN
STEPPA = GEKRT1*Q(JPAIR+IEKBIN) +GEKRAT*Q(JPAIR+IEKBIN+1)
SPAIR = STEPPA*ZINTPA
IF (SPAIR.LT.STEP) THEN
STEP = SPAIR
IPROC = 6
ENDIF
ENDIF
ENDIF
*
* ** Step limitation due to Compton scattering ?
*
IF (ICOMP.GT.0) THEN
STEPCO = GEKRT1*Q(JCOMP+IEKBIN) +GEKRAT*Q(JCOMP+IEKBIN+1)
SCOMP = STEPCO*ZINTCO
IF (SCOMP.LT.STEP) THEN
STEP = SCOMP
IPROC = 7
ENDIF
ENDIF
*
* ** Step limitation due to photo-electric effect ?
*
IF (GEKIN.LT.0.4) THEN
IF (IPHOT.GT.0) THEN
STEPPH = GEKRT1*Q(JPHOT+IEKBIN) +GEKRAT*Q(JPHOT+IEKBIN+1)
SPHOT = STEPPH*ZINTPH
IF (SPHOT.LT.STEP) THEN
STEP = SPHOT
IPROC = 8
ENDIF
ENDIF
ENDIF
*
* ** Step limitation due to photo-fission ?
*
IF (JPFIS.GT.0) THEN
STEPPF = GEKRT1*Q(JPFIS+IEKBIN) +GEKRAT*Q(JPFIS+IEKBIN+1)
SPFIS = STEPPF*ZINTPF
IF (SPFIS.LT.STEP) THEN
STEP = SPFIS
IPROC = 23
ENDIF
ENDIF
*
* ** Step limitation due to Rayleigh scattering ?
*
IF (IRAYL.GT.0) THEN
IF (GEKIN.LT.0.01) THEN
STEPRA = GEKRT1*Q(JRAYL+IEKBIN) +GEKRAT*Q(JRAYL+IEKBIN+1)
SRAYL = STEPRA*ZINTRA
IF (SRAYL.LT.STEP) THEN
STEP = SRAYL
IPROC = 25
ENDIF
ENDIF
ENDIF
*
IF (STEP.LT.0.) STEP = 0.
*
* ** Step limitation due to geometry ?
*
IF (STEP.GE.SAFETY) THEN
CALL GTNEXT
IF (IGNEXT.NE.0) THEN
STEP = SNEXT + PREC
INWVOL= 2
IPROC = 0
NMEC = 1
LMEC(1)=1
ENDIF
*
* Update SAFETY in stack companions, if any
IF (IQ(JSTAK+3).NE.0) THEN
DO 10 IST = IQ(JSTAK+3),IQ(JSTAK+1)
JST = JSTAK +3 +(IST-1)*NWSTAK
Q(JST+11) = SAFETY
10 CONTINUE
IQ(JSTAK+3) = 0
ENDIF
*
ELSE
IQ(JSTAK+3) = 0
ENDIF
*
* *** Linear transport
*
IF (INWVOL.EQ.2) THEN
DO 20 I = 1,3
VECTMP = VECT(I) +STEP*VECT(I+3)
IF(VECTMP.EQ.VECT(I)) THEN
*
* *** Correct for machine precision
*
IF(VECT(I+3).NE.0.) THEN
VECTMP = VECT(I)+ABS(VECT(I))*SIGN(1.,VECT(I+3))*
+ EPSMAC
IF(NMEC.GT.0) THEN
IF(LMEC(NMEC).EQ.104) NMEC=NMEC-1
ENDIF
NMEC=NMEC+1
LMEC(NMEC)=104
#ifdef G3DEBUG
WRITE(CHMAIL, 10000)
CALL GMAIL(0,0)
WRITE(CHMAIL, 10100) GEKIN, NUMED, STEP, SNEXT
CALL GMAIL(0,0)
10000 FORMAT(' Boundary correction in GTGAMA: ',
+ ' GEKIN NUMED STEP SNEXT')
10100 FORMAT(31X,E10.3,1X,I10,1X,E10.3,1X,E10.3,1X)
#endif
ENDIF
ENDIF
VECT(I) = VECTMP
20 CONTINUE
ELSE
DO 30 I = 1,3
VECT(I) = VECT(I) +STEP*VECT(I+3)
30 CONTINUE
ENDIF
*
SLENG = SLENG +STEP
*
* *** Update time of flight
*
TOFG = TOFG +STEP/CLIGHT
*
* *** Update interaction probabilities
*
IF (GETOT.GT.EPCUT) THEN
IF (IPAIR.GT.0) ZINTPA = ZINTPA -STEP/STEPPA
ENDIF
IF (ICOMP.GT.0) ZINTCO = ZINTCO -STEP/STEPCO
IF (GEKIN.LT.0.4) THEN
IF (IPHOT.GT.0) ZINTPH = ZINTPH -STEP/STEPPH
ENDIF
IF (JPFIS.GT.0) ZINTPF = ZINTPF -STEP/STEPPF
IF (IRAYL.GT.0) THEN
IF (GEKIN.LT.0.01) ZINTRA = ZINTRA -STEP/STEPRA
ENDIF
*
IF (IPROC.EQ.0) GO TO 999
NMEC = 1
LMEC(1) = IPROC
*
* ** Pair production ?
*
IF (IPROC.EQ.6) THEN
CALL GPAIRG
*
* ** Compton scattering ?
*
ELSE IF (IPROC.EQ.7) THEN
CALL GCOMP
*
* ** Photo-electric effect ?
*
ELSE IF (IPROC.EQ.8) THEN
*
IF ((IABAN.NE.0).AND.(GEKIN.LE.0.001)) THEN
* Calculate range of the photoelectron ( with kin. energy Ephot)
JCOEF = LQ(JMA-17)
IF(GEKRAT.LT.0.7) THEN
I1 = MAX(IEKBIN-1,1)
ELSE
I1 = MIN(IEKBIN,NEKBIN-1)
ENDIF
I1 = 3*(I1-1)+1
XCOEF1 = Q(JCOEF+I1)
XCOEF2 = Q(JCOEF+I1+1)
XCOEF3 = Q(JCOEF+I1+2)
IF(XCOEF1.NE.0.) THEN
STOPMX = -XCOEF2+SIGN(ONE,XCOEF1)*SQRT(XCOEF2**2 - (XCOEF3-
+ GEKIN/XCOEF1))
ELSE
STOPMX = - (XCOEF3-GEKIN)/XCOEF2
ENDIF
*
* DO NOT call GPHOT if this (overestimated) range is smaller
* than SAFETY
*
IF (STOPMX.LE.SAFETY) GOTO 998
ENDIF
CALL GPHOT
*
* ** Rayleigh effect ?
*
ELSE IF (IPROC.EQ.25) THEN
CALL GRAYL
*
* ** Photo-fission ?
*
ELSE IF (IPROC.EQ.23) THEN
CALL GPFIS
*
ENDIF
*
GOTO 999
998 DESTEP = GEKIN
GEKIN = 0.
GETOT = 0.
VECT(7)= 0.
ISTOP = 2
NMEC = 1
LMEC(1)= 30
999 END
@@ -1,40 +0,0 @@
SUBROUTINE GUKINE
*
* Generates Kinematics for primary track
*
* Data card Kine : Itype Ekine xbeam rbeam
*
#include "geant321/gcbank.inc"
#include "geant321/gcflag.inc"
#include "geant321/gckine.inc"
#include "calor.inc"
*
DIMENSION VERTEX(3),PLAB(3)
dimension rndm(3)
*
DATA VERTEX/3*0./
DATA PLAB /3*0./
*
IF (PKINE(2).NE.0.) vertex(1) = -0.5*BoxSize
*
* random in YZ ?
if ((pkine(3).lt.0.).or.(pkine(3).gt.1.)) pkine(3) = 0.
rbeam = pkine(3)*0.5*BoxSize
call GRNDM (rndm,2)
*
VERTEX(2) = (2*rndm(1)-1.)*rbeam
VERTEX(3) = (2*rndm(2)-1.)*rbeam
*
CALL GSVERT(VERTEX,0,0,0,0,NVERT)
*
JPA = LQ(JPART-IKINE)
XMASS = Q(JPA+7)
PLAB(1) = SQRT(PKINE(1)*(PKINE(1)+2*XMASS))
*
CALL GSKINE(PLAB,IKINE,NVERT,0,0,NT)
*
* *** Kinematics debug
IF (IEVENT.EQ.1.OR.IDEBUG.NE.0) CALL GPRINT('KINE',0)
*
END
@@ -1,28 +0,0 @@
SUBROUTINE GUOUT
*
* User routine called at the end of each event
*
#include "geant321/gcflag.inc"
#include "celoss.inc"
*
CHARACTER*4 unit
*
* *** drawing
*
#ifndef batch
IF (ISWIT(1).NE.0) THEN
CALL GDHEAD (110110,'TestEm1',0.)
CALL GDSHOW (3)
CALL GDXYZ (0)
END IF
#endif
*
* energy deposited
*
CALL GEVKEV (ETOT,ETunit,unit)
IF (ISWIT(1).NE.0) PRINT 750,ETunit,unit
*
750 FORMAT(1X,'Energy deposit: ',F8.3,A4)
*
END
@@ -1,46 +0,0 @@
SUBROUTINE GUSTEP
*
* User routine called at the end of each tracking step
*
#include "geant321/gcflag.inc"
#include "geant321/gckine.inc"
#include "geant321/gcking.inc"
#include "geant321/gctrak.inc"
#include "celoss.inc"
*
*
* *** Debug event and store tracks for drawing
IF (IDEBUG.NE.0) CALL GPCXYZ
IF (IDEBUG.NE.0) CALL GPGKIN
IF ((ISWIT(1).EQ.1).AND.(CHARGE.NE.0.)) CALL GSXYZ
IF (ISWIT(1).EQ.2) CALL GSXYZ
*
* *** Something generated ?
IF(NGKINE.GT.0) CALL GSKING(0)
*
* *** Energy deposited
ETOT = ETOT + DESTEP
*
* *** count number of steps
IF (CHARGE.NE.0.) THEN
NSTEP1 = NSTEP1 + 1
NSTRK1 = NSTRK1 + 1
ELSE
NSTEP0 = NSTEP0 + 1
NSTRK0 = NSTRK0 + 1
ENDIF
*
* *** count nb of invoked processes
IF (NMEC.GT.0) THEN
DO IM = 1,NMEC
IPROC = LMEC(IM)
IF (IPROC.EQ.21) IPROC = 12
IF (IPROC.LE.12) NBCALL(IPROC) = NBCALL(IPROC)+1
ENDDO
ENDIF
*
* *** step size of primary particle
IF ((ITRA.EQ.1).AND.(ISTAK.EQ.0)) CALL HFILL (3,STEP*10,0.,1.)
*
END
@@ -1,35 +0,0 @@
SUBROUTINE GUTRAK
*
* User routine to control tracking of one track
* Called by GTREVE
*
#include "geant321/gckine.inc"
#include "geant321/gctrak.inc"
#include "celoss.inc"
*
*
* *** initialisation track per track
NSTRK0 = 0
NSTRK1 = 0
*
CALL GTRACK
*
* *** count nb of tracks
IF (CHARGE.NE.0.) THEN
NTRAK1 = NTRAK1 + 1
ELSE
NTRAK0 = NTRAK0 + 1
ENDIF
*
* *** track length of primary particle
IF ((ITRA.EQ.1).AND.(ISTAK.EQ.0)) THEN
CALL HFILL (1,SLENG*10,0.,1.)
nstrk = NSTRK0
if (CHARGE.NE.0.) nstrk = NSTRK1
CALL HFILL (2,REAL(nstrk),0.,1.)
ENDIF
*
END
@@ -1,13 +0,0 @@
SUBROUTINE GUTREV
*
* User routine to control tracking of one event
* Called by GRUN
*
#include "celoss.inc"
*
ETOT = 0.
*
CALL GTREVE
*
END
@@ -1,61 +0,0 @@
#ifdef batch
PROGRAM main
*
*
PARAMETER (NGBANK=100000, NHBOOK=10000)
COMMON/GCBANK/Q(NGBANK)
COMMON/PAWC /H(NHBOOK)
*
CALL GZEBRA( NGBANK)
CALL HLIMIT(-NHBOOK)
*
* *** initialize HIGZ
CALL HPLINT(0)
*
* *** GEANT initialisation
CALL UGINIT
*
* *** Start events processing
CALL GRUN
*
* *** End of RUN
CALL UGLAST
*
STOP
END
#else
PROGRAM main
*
* GEANT main program. To link with the MOTIF user interface
* the routine GPAWPP(NWGEAN,NWPAW) should be called, whereas
* the routine GPAW(NWGEAN,NWPAW) gives access to the basic
* graphics version.
*
PARAMETER (NWGEAN=3000000, NWPAW=1000000)
COMMON/GCBANK/GEANT(NWGEAN)
COMMON/PAWC /PAW (NWPAW)
*
*
CALL GPAW (NWGEAN,NWPAW)
*
END
*
SUBROUTINE qnext
END
*
SUBROUTINE czopen
END
*
SUBROUTINE cztcp
END
*
SUBROUTINE czclos
END
*
SUBROUTINE czputa
END
#endif
@@ -1,75 +0,0 @@
SUBROUTINE UGEOM
*
* *** Define user geometry set up
*
*
#include "calor.inc"
*
DIMENSION PAR(3)
DIMENSION Aair(2),Zair(2),Wair(2)
DIMENSION AH2O(2),ZH2O(2),WH2O(2)
*
* *** Air compound parameters
DATA Aair/14.01, 16.00/
DATA Zair/ 7. , 8. /
DATA Wair/ 0.7 , 0.3 /
*
* *** Air compound parameters
DATA AH2O/ 1.01, 16.00/
DATA ZH2O/ 1. , 8. /
DATA WH2O/ 2. , 1. /
*
* *** Defines USER perticular materials
CALL GSMIXT( 1,'Air' , Aair ,Zair, 1.29E-3, 2 , Wair)
CALL GSMATE( 2,'H2 Liquid', 1.01, 1., 0.0708 , 865., 790., 0,0)
CALL GSMIXT( 3,'Water' , AH2O ,ZH2O, 1.0 ,-2 , WH2O)
CALL GSMATE( 4,'Liquid Ar', 39.95, 18., 1.39 , 14.0, 84.0, 0,0)
CALL GSMATE( 5,'Aluminium', 26.98, 13., 2.7 , 8.9, 37.2, 0,0)
CALL GSMATE( 6,'Iron' , 55.85, 26., 7.87 , 1.76, 17.1, 0,0)
CALL GSMATE( 7,'Tungsten' ,183.85, 74., 19.30 , 0.35, 18.5, 0,0)
CALL GSMATE( 8,'Lead' ,207.19, 82., 11.35 , 0.56, 18.5, 0,0)
CALL GSMATE( 9,'Uranium' ,238.03, 92., 18.95 , 0.32, 12. , 0,0)
CALL GSMATE(10,'Germanium', 72.61, 32., 5.323 , 2.30, 16.6, 0,0)
*
* *** Defines USER tracking media parameters
IFIELD = 0
IF (Field.GT.0.) IFIELD = 3
FIELDM = 10*Field
TMAXFD = 10.0
STEMAX = 1000.
DEEMAX = 0.20
EPSIL = 0.001
STMIN = 0.010
*
CALL GSTMED( 1,'Container',Imat, 0 ,IFIELD,FIELDM,TMAXFD,
* STEMAX,DEEMAX,EPSIL,STMIN, 0 , 0 )
*
*
* *** Geometry
PAR(1) = BoxSize/2.
PAR(2) = BoxSize/2.
PAR(3) = BoxSize/2.
CALL GSVOLU('aBox','BOX ',1,PAR,3,IVOL)
*
* *** Close geometry banks. (obligatory system routine)
CALL GGCLOS
*
*
* *** dessin
CALL GSATT ('*','SEEN',1)
*
DO IX = 1,3
CALL GDOPEN (IX)
SCALE = 18./BoxSize
PAXIS = 0.
SAXIS = 0.1*BoxSize
CALL GDRAWC ('aBox',IX,0.,10.,9.3,SCALE,SCALE)
CALL GDAXIS (PAXIS,PAXIS,PAXIS,SAXIS)
CALL GDSCAL (10. , 0.3)
CALL GDCLOS
END DO
*
END
@@ -1,53 +0,0 @@
SUBROUTINE UGINIT
*
* To initialise GEANT/USER program and read data cards
*
#include "calor.inc"
#include "celoss.inc"
*
CHARACTER*20 filnam
*
* *** Define the GEANT parameters
CALL GINIT
* *** read data cards
PRINT *, 'G3 > gives the filename of the data cards to be read:'
READ (*,'(A)') filnam
IF (filnam.EQ.' ') filnam = 'testem1.dat'
OPEN (unit=5,file=filnam,status='unknown',form='formatted')
*
* *** Calor definition
CALL FFKEY('CALOR',Imat,3,'MIXED')
*
* *** read data cards
CALL GFFGO
*
CALL GZINIT
CALL GPART
*
CALL GDINIT
*
* *** Geometry and materials description
CALL UGEOM
*
* *** Energy loss and cross-sections initialisations
CALL GPHYSI
*
CALL GPRINT('MATE',0)
CALL GPRINT('TMED',0)
CALL GPRINT('VOLU',0)
*
* *** Define user histograms
CALL UHINIT
*
* *** some initialisation
NTRAK0 = 0
NTRAK1 = 0
NSTEP0 = 0
NSTEP1 = 0
CALL VZERO (NBCALL,12)
*
END
@@ -1,45 +0,0 @@
SUBROUTINE UGLAST
*
* Termination routine to print histograms and statistics
*
#include "geant321/gcflag.inc"
#include "geant321/gctrak.inc"
#include "celoss.inc"
*
* *** nb of steps and tracks per event
TOTEVT = IEVENT
FNTRK0 = NTRAK0/TOTEVT
FNTRK1 = NTRAK1/TOTEVT
FNSTP0 = NSTEP0/TOTEVT
FNSTP1 = NSTEP1/TOTEVT
PRINT 750, FNTRK0,FNTRK1,FNSTP0,FNSTP1
*
* *** frequency of processes call
CALL UCTOH('MUNU',NAMEC(12),4,4)
PRINT 760,(NAMEC(I),I=1,12)
PRINT 761,(NBCALL(I)/TOTEVT,I=1,12)
*
* *** geant termination
CALL GLAST
*
* *** print selected histo
*
* *** close HIGZ file
CALL HPLEND
*
* *** Save selected histograms
IF (ISWIT(2).EQ.1) THEN
CALL HRPUT(0,'testem1.hbook','N')
ENDIF
*
* *** formats
750 FORMAT(//,1X,'nb tracks/event neutral: ',F9.2,' charged: ',F9.2,
+ /,1X,'nb steps/event neutral: ',F9.2,' charged: ',F9.2)
760 FORMAT(//,1X,'nb of process calls per event: ',
+ /,3X,12A12)
761 FORMAT( 3X,12F12.4,//)
*
END
@@ -1,13 +0,0 @@
SUBROUTINE UHINIT
*
* To book the user's histograms
*
CALL HBOOK1(1,'track length (mm) of primary particle',
+ 100,0.,500.,0.)
CALL HBOOK1(2,'Nb of steps of primary particle',
+ 100,0.,100.,0.)
CALL HBOOK1(3,'step size (mm) of primary particle',
+ 100,0.,10. ,0.)
*
END
@@ -1,16 +0,0 @@
LIST
C
C e- 100 MeV; all processes
C
CALOR 5 (Al) 1000. (cm) 0. (field)
TRIG 2000
KINE 3 (electron) 0.1 (GeV) 1. (xBeam)
DEBUG 10 5 1000
SWIT 0 (draw) 0 (save)
C
CUTS 10.e-6 (cutgam) 10.e-6 (cutele) 3*10.e-3 (cutneu/had/muo)
2*10.e-6 (bcute/m) 2*10.e-6 (dcute/m) 10.e-3 (ppcutm)
LOSS 1
C
ABAN 0
TIME 2=1.
@@ -3,7 +3,7 @@
// Draw histos filled by Geant4 simulation
//
TFile f = TFile("run1.root");
TFile f("run1.root");
TCanvas* c1 = new TCanvas("c1", " ");
TH1D* hist1 = (TH1D*)f.Get("1");
@@ -1,12 +1,12 @@
# $Id: range.mac,v 1.12 2009-09-15 12:51:49 maire Exp $
# $Id: radioactive.mac,v 1.12 2009-09-15 12:51:49 maire Exp $
#
# Macro file for "TestEm1.cc"
#
/control/verbose 2
/run/verbose 2
#
/testem/det/setMat Air
/testem/det/setSize 100 m
/testem/det/setMat G4_SODIUM_IODINE
/testem/det/setSize 1 m
#
/testem/phys/addPhysics local
#
@@ -17,18 +17,15 @@
#
/testem/gun/setDefault
/gun/particle ion
/gun/ion 20 56 20 1000.
/gun/energy 1 eV
/gun/ion 11 22
/gun/energy 0 eV
/gun/position 0 0 0 mm
#
###/grdm/nucleusLimits 210 210 82 82
#
/analysis/setFileName rdecay
/analysis/h1/set 4 100 0 80 keV #total edep
/analysis/h1/set 4 100 0 3 MeV #total edep
#
/run/printProgress 10000
#
###/run/beamOn 40000
#
/tracking/verbose 2
/run/beamOn 1
/run/beamOn 100000
@@ -26,7 +26,7 @@
/// \file electromagnetic/TestEm1/src/DetectorConstruction.cc
/// \brief Implementation of the DetectorConstruction class
//
// $Id: DetectorConstruction.cc 84815 2014-10-21 12:19:02Z gcosmo $
// $Id: DetectorConstruction.cc 97813 2016-06-14 07:58:46Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -49,6 +49,7 @@
#include "G4UnitsTable.hh"
#include "G4SystemOfUnits.hh"
#include "G4PhysicalConstants.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -167,10 +168,17 @@ void DetectorConstruction::DefineMaterials()
ArButane->AddMaterial(argonGas, fractionmass=70*perCent);
ArButane->AddMaterial(butane , fractionmass=30*perCent);
// example of vacuum
//
density = universe_mean_density; //from PhysicalConstants.h
new G4Material("Galactic", z=1., a=1.008*g/mole, density,
kStateGas,2.73*kelvin,3.e-18*pascal);
// use Nist
//
G4NistManager* man = G4NistManager::Instance();
G4bool isotopes = false;
///G4Element* O = man->FindOrBuildElement("O" , isotopes);
G4Element* Si = man->FindOrBuildElement("Si", isotopes);
G4Element* Lu = man->FindOrBuildElement("Lu", isotopes);
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PhysListEmStandard.cc 85268 2014-10-27 09:04:27Z gcosmo $
// $Id: PhysListEmStandard.cc 96420 2016-04-13 10:24:08Z gcosmo $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -39,6 +39,7 @@
#include "G4PhotoElectricEffect.hh"
#include "G4RayleighScattering.hh"
#include "G4KleinNishinaModel.hh"
#include "G4LivermorePhotoElectricModel.hh"
#include "G4eMultipleScattering.hh"
#include "G4eIonisation.hh"
@@ -59,19 +60,27 @@
#include "G4IonParametrisedLossModel.hh"
#include "G4NuclearStopping.hh"
#include "G4EmProcessOptions.hh"
#include "G4MscStepLimitType.hh"
#include "G4LossTableManager.hh"
#include "G4UAtomicDeexcitation.hh"
#include "G4BuilderType.hh"
#include "G4SystemOfUnits.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
PhysListEmStandard::PhysListEmStandard(const G4String& name)
: G4VPhysicsConstructor(name)
{}
{
G4EmParameters* param = G4EmParameters::Instance();
param->SetDefaults();
param->SetMinEnergy(10*eV);
param->SetMaxEnergy(10*TeV);
param->SetNumberOfBinsPerDecade(10);
param->SetMscStepLimitType(fUseSafetyPlus);
SetPhysicsType(bElectromagnetic);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -94,7 +103,11 @@ void PhysListEmStandard::ConstructProcess()
if (particleName == "gamma") {
////ph->RegisterProcess(new G4RayleighScattering, particle);
ph->RegisterProcess(new G4PhotoElectricEffect, particle);
ph->RegisterProcess(new G4PhotoElectricEffect, particle);
///G4PhotoElectricEffect* phot = new G4PhotoElectricEffect();
///phot->SetEmModel(new G4LivermorePhotoElectricModel(), 1);
///ph->RegisterProcess(phot, particle);
G4ComptonScattering* cs = new G4ComptonScattering;
cs->SetEmModel(new G4KleinNishinaModel());
ph->RegisterProcess(cs, particle);
@@ -171,24 +184,6 @@ void PhysListEmStandard::ConstructProcess()
}
}
// Em options
//
// Main options and setting parameters are shown here.
// Several of them have default values.
//
G4EmProcessOptions emOptions;
//physics tables
//
emOptions.SetMinEnergy(10*eV); //default 100 eV
emOptions.SetMaxEnergy(10*TeV); //default 100 TeV
emOptions.SetDEDXBinning(12*10); //default=12*7
emOptions.SetLambdaBinning(12*10); //default=12*7
//multiple coulomb scattering
//
emOptions.SetMscStepLimitation(fUseSafetyPlus); //default=fUseSafety
// Deexcitation
//
G4VAtomDeexcitation* de = new G4UAtomicDeexcitation();
@@ -26,7 +26,7 @@
/// \file electromagnetic/TestEm1/src/PhysicsList.cc
/// \brief Implementation of the PhysicsList class
//
// $Id: PhysicsList.cc 93735 2015-10-30 11:00:28Z gcosmo $
// $Id: PhysicsList.cc 96420 2016-04-13 10:24:08Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -115,8 +115,6 @@ void PhysicsList::ConstructParticle()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "G4EmProcessOptions.hh"
void PhysicsList::ConstructProcess()
{
// Transportation
@@ -129,10 +127,9 @@ void PhysicsList::ConstructProcess()
// Em options
//
G4EmProcessOptions emOptions;
emOptions.SetBuildCSDARange(true);
emOptions.SetDEDXBinningForCSDARange(10*10);
G4EmParameters* param = G4EmParameters::Instance();
param->SetBuildCSDARange(true);
// Decay Process
//
AddDecay();
@@ -249,15 +246,20 @@ void PhysicsList::AddDecay()
#include "G4PhysicsListHelper.hh"
#include "G4RadioactiveDecay.hh"
#include "G4GenericIon.hh"
#include "G4NuclideTable.hh"
void PhysicsList::AddRadioactiveDecay()
{
G4RadioactiveDecay* radioactiveDecay = new G4RadioactiveDecay();
radioactiveDecay->SetHLThreshold(-1.*s);
radioactiveDecay->SetARM(true); //Atomic Rearangement
G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper();
ph->RegisterProcess(radioactiveDecay, G4GenericIon::GenericIon());
// mandatory for G4NuclideTable
//
G4NuclideTable::GetInstance()->SetThresholdOfHalfLife(0.1*picosecond);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -65,8 +65,10 @@
#
# Many other options are available with /vis/modeling and /vis/filtering.
# For example, to select colour by particle ID:
#/vis/modeling/trajectories/create/drawByParticleID
#/vis/modeling/trajectories/drawByParticleID-0/set e- blue
/vis/modeling/trajectories/create/drawByParticleID
/vis/modeling/trajectories/drawByParticleID-0/set nu_e white
/vis/modeling/trajectories/drawByParticleID-0/set anti_nu_e white
/vis/modeling/trajectories/drawByParticleID-0/set geantino white
#
# To superimpose all of the events from a given run:
/vis/scene/endOfEventAction accumulate
@@ -5,94 +5,88 @@
/*! \page ExampleTestEm10 Example TestEm10
Test for investigation of ionisation in thin absorbers, transition
and synchrotron radiations. Default setup for "TestEm10.in" and "TestEm10.large_N.in" is
the experiment for XTR with NIM A294 (1990) 465-472 (fig. 11) setup
Test for investigation of transition radiation.
Default setup for "TestEm10.in" and "TestEm10.large_N.in" is the simplified
setup for ALICE XTR test beam (~2004), defined in DetectorSimpleALICE class.
\section TestEm10_s0 GEOMETRY DEFINITION
The geometry setup includes "radiator" and "absorber" volumes
of a box shape.
\section TestEm10_s0 INTRODUCTION
The parameterisations models can be changed simply with:
The "radiator" material is defined as a mixture of a gas and foil material
and the "absorber" contains a gas material.
Several geometry setups are defined in the classes
DetectorSetupX,
where SetupX = ALICE06, Bari05, Barr90, Construction, Harris73, Messenger, SimpleALICE, Watase86
The default setup, SimpleALICE, can be changed via UI command:
\verbatim
Idle> /XTRdetector/setModel i (i = 1 to 10)
/XTRdetector/setup setup
where setup = simpleALICE, alice06, bari05, harris73, watase86, barr90
\endverbatim
It is NOT needed (and not recommended) to issue the command
/XTRdetector/update if just the model is changed.
See macro file "TestEm10.in" for an example.
\section TestEm10_s1 GEOMETRY DEFINITION
The "absorber" is a tube 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).
The volume "World" contains the "absorber".
In this test the parameters of the "World" can be changed , too.
In addition a transverse uniform magnetic field can be applied.
The default geometry is constructed in Em10DetectorConstruction class,
but all the parameters can be changed via
the commands defined in the Em10DetectorMessenger class.
\section TestEm10_s2 AN EVENT : THE PRIMARY GENERATOR
\section TestEm10_s1 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 Em10PrimaryGeneratorAction class, and can
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).
A RUN is a set of events.
\section TestEm10_s3 DETECTOR RESPONSE
\section TestEm10_s2 DETECTOR RESPONSE
Here we test G4PAIionisation , G4IonisationByLogicalVolume and
transition radiation processes
A HIT is a record, event per event , of all the
informations needed to simulate and analyse the detector response.
In this example a Em10CalorHit is defined as a set of 2 informations:
- the total energy deposit in the absorber,
- the total tracklength of all charged particles in the absorber,
Therefore the absorber is declared
'sensitive detector' (SD), see Em10CalorimeterSD, which means they can contribute to the hit.
At the end of a run, from the histogram(s), one can study
different physics quantities such as :
- angle distribution,
- energy deposit,
- transmission/backscattering,
- ...
The test contains 10 built-in histograms, which can be activated by
interactive commands (see the macros runxx.mac for details).
The histogram files can be viewed using PAW e.g with the commands
\verbatim
paw> h/file 1 geant4.plot01 or g4.p11
paw> option stat
paw> h/pl 1
\endverbatim
In this example the total energy deposited in the "absorber" volume
is accounted in SensitevDetector class, and a spectrum of XTR gamma
particles, all secondary gamma particles and all secondary e-
particleas is accounted in StackingAction class.
\section TestEm10_s4 PHYSICS DEMO
\section TestEm10_s3 PHYSICS
The particle's type and the physic processes which will be available
in this example are set in Em10PhysicsList class.
in this example are set in PhysicsList class.
The trasition radiation process is defined in the
TransitionRadiationPhysics builder.
The messenger classes introduce interactive commands . Using these
commands the geometry of the detector, the data of the primary
particle, the limits of the histograms , etc. can be changed.
The transition radiator models can be changed simply with:
\verbatim
Idle> /emphyslist/setXTRModel modelName
\endverbatim
See macro files "*.mac" for different setups providede with the example.
\section TestEm10_s5- HOW TO START ?
\section TestEm10_s4 HISTOGRAMS
Testem10 produces several histo which are saved as testem10.root by default.
Content of these histo:
- 1. Energy deposit in absorber
- 2. XTR Gamma spectrum
- 3. Secondary Gamma spectrum
- 4. Secondary e- spectrum
- 5. Energy deposit in absorber with the same histogram parameters
as in the previous version of this example (Geant4 version <=10.2)
The histograms 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..)
One can control the name of the histograms file with the command:
\verbatim
/analysis/setFileName name (default testem1)
\endverbatim
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:
\verbatim
/analysis/h1/setAscii id
\endverbatim
All selected histos will be written on a file name.ascii (default testem1)
\section TestEm10_s5 HOW TO START ?
- Execute TestEm10 in 'batch' mode from macro files e.g.
\verbatim
@@ -106,29 +100,5 @@ paw> h/pl 1
Idle> type your commands
....
\endverbatim
\section TestEm10_s6 List of the built-in histograms
- 1. number of (tracking) steps/event
- 2. energy deposit distribution in the absorber (in MeV)
- 3. angle distribution of the primary particle at the exit
of the absorber (deg)
- 4. distribution of the lateral displacement at exit(mm)
- 5. kinetic energy of the transmitted primaries (MeV)
- 6. angle distribution of the backscattered primaries (deg)
- 7. kinetic energy of the backscattered primary particles (MeV)
- 8. kinetic energy of the charged secondary particles (MeV)
- 9. z distribution of the secondary charged vertices (mm)
- 10. kinetic energy of the photons escaping the absorber (MeV)
\subsection TestEm10_sub_s61 Using histograms
By default the histograms are not activated. To activate histograms
the environment variable G4ANALYSIS_USE should be defined. For instance
uncomment the flag G4ANALYSIS_USE in GNUmakefile.
To use histograms any of implementations of AIDA interfaces should
be available. See InstallAida.txt
*/
@@ -40,7 +40,7 @@ target_link_libraries(TestEm10 ${Geant4_LIBRARIES} )
# relies on these scripts being in the current working directory.
#
set(TestEm10_SCRIPTS
alice06.mac bari05.mac barr90.mac harris73.mac run11.mac salice.mac TestEm10.in TestEm10.large_N.in TestEm10.large_N.out TestEm10.out test.mac vis.mac watase86.mac
alice06.mac bari05.mac barr90.mac harris73.mac salice.mac TestEm10.in TestEm10.large_N.in TestEm10.large_N.out TestEm10.out vis.mac watase86.mac test_suite.sh
)
foreach(_script ${TestEm10_SCRIPTS})
@@ -1,4 +1,4 @@
$Id: History 90463 2015-06-01 09:33:38Z gcosmo $
$Id: History 94932 2015-12-18 09:21:29Z gcosmo $
-------------------------------------------------------------------
=========================================================
@@ -15,6 +15,20 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
17-12-15 I.Hrivnacova, V.Ivanchenko (testem10-V10-02-00)
- Major example revision & clean-up:
- Removed Em10 prefix from class names to be consistent with other examples
in electromagnetic category
- Refactored detector construction & its messenger classes
- Revised scoring: removed unused code and replaced own-defined
histograms with Geant4 analysis
- Added StackingAction which accounts XTR gamma, all gamma and all e-
spectra
- PhysicsList changed to a modular physics list and introduced
TransitionRadiationPhysics builder
- Clean-up primary generator action
- Added test_suite.sh script
30-05-15 V.Ivanchenko (testem10-V10-01-00)
- Em10PhysicsList - removed obsolete header
@@ -1,4 +1,4 @@
$Id: README 66241 2012-12-13 18:34:42Z gunter $
$Id: README 94932 2015-12-18 09:21:29Z gcosmo $
-------------------------------------------------------------------
=========================================================
@@ -8,95 +8,82 @@ $Id: README 66241 2012-12-13 18:34:42Z gunter $
TestEm10
--------
Test for investigation of ionisation in thin absorbers, transition
and synchrotron radiations. Default setup for "TestEm10.in" and "TestEm10.large_N.in" is
the experiment for XTR with NIM A294 (1990) 465-472 (fig. 11) setup
Test for investigation of transition radiation.
Default setup for "TestEm10.in" and "TestEm10.large_N.in" is the simplified
setup for ALICE XTR test beam (~2004), defined in DetectorSimpleALICE class.
0- INTRODUCTION
The parameterisations models can be changed simply with:
Idle> /XTRdetector/setModel i (i = 1 to 10)
It is NOT needed (and not recommended) to issue the command
/XTRdetector/update if just the model is changed.
See macro file "TestEm10.in" for an example.
1- GEOMETRY DEFINITION
The "absorber" is a tube 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).
The volume "World" contains the "absorber".
In this test the parameters of the "World" can be changed , too.
The geometry setup includes "radiator" and "absorber" volumes
of a box shape.
In addition a transverse uniform magnetic field can be applied.
The "radiator" material is defined as a mixture of a gas and foil material
and the "absorber" contains a gas material.
Several geometry setups are defined in the classes
DetectorSetupX,
where SetupX = ALICE06, Bari05, Barr90, Construction, Harris73, Messenger, SimpleALICE, Watase86
The default geometry is constructed in DetectorConstruction class,
but all the parameters can be changed via
the commands defined in the DetectorMessenger class.
The default setup, SimpleALICE, can be changed via UI command:
/XTRdetector/setup setup
where setup = simpleALICE, alice06, bari05, harris73, watase86, barr90
2- AN EVENT : THE PRIMARY GENERATOR
2- 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 ParticleGun class (see
be changed via the G4 build-in commands of G4ParticleGun class (see
the macros provided with this example).
A RUN is a set of events.
3- DETECTOR RESPONSE
Here we test G4PAIionisation , G4IonisationByLogicalVolume and
transition radiation processes
A HIT is a record, event per event , of all the
informations needed to simulate and analyse the detector response.
In this example the total energy deposited in the "absorber" volume
is accounted in SensitevDetector class, and a spectrum of XTR gamma
particles, all secondary gamma particles and all secondary e-
particleas is accounted in StackingAction class.
In this example a CalorHit is defined as a set of 2 informations:
- the total energy deposit in the absorber,
- the total tracklength of all charged particles in the absorber,
Therefore the absorber is declared
'sensitive detector' (SD), which means they can contribute to the hit.
At the end of a run, from the histogram(s), one can study
different physics quantities such as :
- angle distribution,
- energy deposit,
- transmission/backscattering,
- ...
The test contains 10 built-in histograms, which can be activated by
interactive commands (see the macros runxx.mac for details).
The histogram files can be viewed using PAW e.g with the commands
paw> h/file 1 geant4.plot01 or g4.p11
paw> option stat
paw> h/pl 1
4- PHYSICS DEMO
4- PHYSICS
The particle's type and the physic processes which will be available
in this example are set in PhysicsList class.
The messenger classes introduce interactive commands . Using these
commands the geometry of the detector, the data of the primary
particle, the limits of the histograms , etc. can be changed.
The trasition radiation process is defined in the
TransitionRadiationPhysics builder.
The transition radiator models can be changed simply with:
5- HOW TO START ?
Idle> /emphyslist/setXTRModel modelName
See macro files "*.mac" for different setups providede with the example.
5 - HISTOGRAMS
Testem10 produces several histo which are saved as testem10.root by default.
Content of these histo:
1: Energy deposit in absorber
2: XTR Gamma spectrum
3: Secondary Gamma spectrum
4: Secondary e- spectrum
5: Energy deposit in absorber with the same histogram parameters
as in the previous version of this example (Geant4 version <=10.2)
The histograms 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..)
One can control the name of the histograms file with the command:
/analysis/setFileName name (default testem1)
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 testem1)
6- HOW TO START ?
- execute TestEm10 in 'batch' mode from macro files e.g.
% TestEm10 run11.mac
@@ -106,29 +93,3 @@ $Id: README 66241 2012-12-13 18:34:42Z gunter $
....
Idle> type your commands
....
List of the built-in histograms
-------------------------------
1. number of (tracking) steps/event
2. energy deposit distribution in the absorber (in MeV)
3. angle distribution of the primary particle at the exit
of the absorber (deg)
4. distribution of the lateral displacement at exit(mm)
5. kinetic energy of the transmitted primaries (MeV)
6. angle distribution of the backscattered primaries (deg)
7. kinetic energy of the backscattered primary particles (MeV)
8. kinetic energy of the charged secondary particles (MeV)
9. z distribution of the secondary charged vertices (mm)
10. kinetic energy of the photons escaping the absorber (MeV)
Using histograms
----------------
By default the histograms are not activated. To activate histograms
the environment variable G4ANALYSIS_USE should be defined. For instance
uncomment the flag G4ANALYSIS_USE in GNUmakefile.
To use histograms any of implementations of AIDA interfaces should
be available. See InstallAida.txt
@@ -23,11 +23,11 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm10/TestEm10.cc
/// \brief Main program of the electromagnetic/TestEm10 example
/// \file electromagnetic/TestEm10/Test.cc
/// \brief Main program of the electromagnetic/Test example
//
//
// $Id: TestEm10.cc 73033 2013-08-15 09:24:45Z gcosmo $
// $Id: TestEm10.cc 94932 2015-12-18 09:21:29Z gcosmo $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -37,15 +37,12 @@
#include "G4UImanager.hh"
#include "Randomize.hh"
#include "Em10DetectorConstruction.hh"
// #include "ALICEDetectorConstruction.hh"
#include "Em10PhysicsList.hh"
#include "Em10PrimaryGeneratorAction.hh"
#include "Em10RunAction.hh"
#include "Em10EventAction.hh"
#include "Em10SteppingAction.hh"
#include "Em10SteppingVerbose.hh"
#include "Em10TrackingAction.hh"
#include "DetectorConstruction.hh"
#include "PhysicsList.hh"
#include "PrimaryGeneratorAction.hh"
#include "RunAction.hh"
#include "EventAction.hh"
#include "StackingAction.hh"
#ifdef G4VIS_USE
#include "G4VisExecutive.hh"
@@ -63,43 +60,32 @@ int main(int argc,char** argv)
//choose the Random engine
CLHEP::HepRandom::setTheEngine(new CLHEP::RanecuEngine);
//my Verbose output class
G4VSteppingVerbose::SetInstance(new Em10SteppingVerbose);
// Construct the default run manager
G4RunManager * runManager = new G4RunManager;
// set mandatory initialization classes
Em10DetectorConstruction* detector;
detector = new Em10DetectorConstruction;
DetectorConstruction* detector;
detector = new DetectorConstruction;
// ALICEDetectorConstruction* detector;
// detector = new ALICEDetectorConstruction;
runManager->SetUserInitialization(detector);
runManager->SetUserInitialization(new Em10PhysicsList(detector));
runManager->SetUserInitialization(new PhysicsList(detector));
// set user action classes
runManager->SetUserAction(new Em10PrimaryGeneratorAction(detector));
Em10RunAction* runAction = new Em10RunAction;
runManager->SetUserAction(new PrimaryGeneratorAction());
RunAction* runAction = new RunAction;
runManager->SetUserAction(runAction);
Em10EventAction* eventAction = new Em10EventAction(runAction);
EventAction* eventAction = new EventAction(runAction);
runManager->SetUserAction(eventAction);
Em10SteppingAction* steppingAction = new Em10SteppingAction(eventAction,
runAction);
runManager->SetUserAction(steppingAction);
runManager->SetUserAction( new Em10TrackingAction );
runManager->SetUserAction( new StackingAction );
G4UImanager* UI = G4UImanager::GetUIpointer();
@@ -3,17 +3,19 @@
#
#
/run/verbose 1
# PLOT: energy deposit distribution in absorber (g4.11)
#
/plots/sethistName g4.p11
/plots/setnbinEn 65
/plots/setEnlow 0.0 MeV
/plots/setEnhigh 0.1 MeV
/analysis/h1/set 1 100 0.00 0.1 MeV # Edep
/analysis/h1/set 2 100 0.00 0.1 MeV # XTR gamma
/analysis/h1/set 3 100 0.00 0.1 MeV # all gamma
/analysis/h1/set 4 100 0.00 0.1 MeV # all e-
/analysis/h1/set 1 65 0.00 0.1 MeV # En (Edep with original limits)
#
/run/initialize
/run/particle/dumpCutValues
/gun/particle e-
/gun/energy 2 GeV
#
/run/beamOn 1000
/run/dumpCouples
@@ -2,17 +2,18 @@
# Macro file 'TestEm10.in' for testing "TestEm10"
#
#
# PLOT: energy deposit distribution in absorber (g4.11)
#
/plots/sethistName g4.p11
/plots/setnbinEn 65
/plots/setEnlow 0.0 MeV
/plots/setEnhigh 0.1 MeV
/analysis/setFileName testem10_large
/analysis/h1/set 1 100 0.00 0.1 MeV # Edep
/analysis/h1/set 2 100 0.00 0.1 MeV # XTR gamma
/analysis/h1/set 3 100 0.00 0.1 MeV # all gamma
/analysis/h1/set 4 100 0.00 0.1 MeV # all e-
/analysis/h1/set 1 65 0.00 0.1 MeV # En (Edep with original limits)
#
/run/initialize
/run/particle/dumpCutValues
/gun/particle e-
/gun/energy 2 GeV
#
/run/beamOn 10000
@@ -4,33 +4,28 @@
############################################
*************************************************************
Geant4 version Name: geant4-10-02-ref-00 (4-December-2015)
Geant4 version Name: geant4-10-03-beta-01 (30-June-2016)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
*************************************************************
G4Material WARNING: duplicate name of material CO2
hist file = g4.p11
Nb of bins in Edep plot = 65
Elow in the Edep plot = 0
Ehigh in the Edep plot = 0.1
Material is selected: Mylar
DetectorSimpleALICE setup
Material is selected: Air
Material is selected: Al
Material is selected: Mylar
Material is selected: Xe15CO2
The WORLD is made of 4000mm of Air, the transverse size (R) of the world is 200 mm.
The ABSORBER is made of 38.3mm of Xe15CO2, the transverse size (R) is 100 mm.
Z position of the (middle of the) absorber 293.401 mm.
fRadZ = 129.58 mm
fStartZ = 100 mm
radZ = 129.58 mm
startZ = 100 mm
fRadThick = 59.16 mm
fFoilNumber = 220
fRadiatorMat = radiatorMat
WorldMaterial = Air
XTR model = transpM
TransitionRadiationPhysics: XTR model <transpM>
### G4VXTRenergyLoss: the number of TR radiator plates = 220
total radiator thickness = 5.94 cm
plate material = Mylar
@@ -38,28 +33,25 @@ gas material = Air
plate plasma energy = 24.5068 eV
gas plasma energy = 0.731967 eV
Regular transparent X-ray TR radiator EM process is called
Em10PhysicsList::SetCuts:CutLength for e-, e+ and gamma is: 1 mm
Radiator gamma cut = 1 mm
Radiator electron cut = 1 mm
Radiator positron cut = 1 mm
Radiator cuts are set
Detector gamma cut = 1 mm
Detector electron cut = 1 mm
Detector positron cut = 1 mm
Detector cuts are set
Warning : Region <XTRradiator> does not have specific production cuts,
even though it appears in the current tracking world.
Default cuts are used for this region.
Warning : Region <XTRdEdxDetector> does not have specific production cuts,
even though it appears in the current tracking world.
Default cuts are used for this region.
phot: for gamma, applyCuts: 1 SubType= 12 BuildTable= 0
phot: for gamma SubType= 12 BuildTable= 0
LambdaPrime table from 200 keV to 10 TeV in 54 bins
===== EM models for the G4Region DefaultRegionForTheWorld ======
PhotoElectric : Emin= 0 eV Emax= 10 TeV AngularGenSauterGavrila
PhotoElectric : Emin= 0 eV Emax= 10 TeV AngularGenSauterGavrila FluoActive
compt: for gamma, applyCuts: 1 SubType= 13 BuildTable= 1
compt: for gamma SubType= 13 BuildTable= 1
Lambda table from 100 eV to 1 MeV, 7 bins per decade, spline: 1
LambdaPrime table from 1 MeV to 10 TeV in 49 bins
===== EM models for the G4Region DefaultRegionForTheWorld ======
Klein-Nishina : Emin= 0 eV Emax= 10 TeV
conv: for gamma, applyCuts: 1 SubType= 14 BuildTable= 1
conv: for gamma SubType= 14 BuildTable= 1
Lambda table from 1.022 MeV to 10 TeV, 20 bins per decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
BetheHeitler : Emin= 0 eV Emax= 80 GeV
@@ -68,7 +60,8 @@ conv: for gamma, applyCuts: 1 SubType= 14 BuildTable= 1
msc: for e- SubType= 10
RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc : Emin= 0 eV Emax= 10 TeV Table with 77 bins Emin= 100 eV Emax= 10 TeV
UrbanMsc : Emin= 0 eV Emax= 100 MeV Table with 42 bins Emin= 100 eV Emax= 100 MeV
WentzelVIUni : Emin= 100 MeV Emax= 10 TeV Table with 35 bins Emin= 100 MeV Emax= 10 TeV
eIoni: for e- SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
@@ -76,8 +69,6 @@ eIoni: for e- SubType= 2
finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
===== EM models for the G4Region DefaultRegionForTheWorld ======
MollerBhabha : Emin= 0 eV Emax= 10 TeV
===== EM models for the G4Region XTRdEdxDetector ======
PAIModel : Emin= 0 eV Emax= 10 TeV deltaVI
eBrem: for e- SubType= 3
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
@@ -87,6 +78,12 @@ eBrem: for e- SubType= 3
eBremSB : Emin= 0 eV Emax= 1 GeV DipBustGen
eBremLPM : Emin= 1 GeV Emax= 10 TeV DipBustGen
CoulombScat: for e-, integral: 1 SubType= 1 BuildTable= 1
Lambda table from 100 MeV to 10 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 10 TeV
Lorentz Factor XTR photon number
107.6 0.0003511
@@ -140,15 +137,13 @@ 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
SynRad: Incoherent Synchrotron Radiation
good description for long magnets at all energies
total time for build X-ray TR energy loss tables = 0.05 s
msc: for e+ SubType= 10
RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc : Emin= 0 eV Emax= 10 TeV Table with 77 bins Emin= 100 eV Emax= 10 TeV
UrbanMsc : Emin= 0 eV Emax= 100 MeV Table with 42 bins Emin= 100 eV Emax= 100 MeV
WentzelVIUni : Emin= 100 MeV Emax= 10 TeV Table with 35 bins Emin= 100 MeV Emax= 10 TeV
eIoni: for e+ SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
@@ -156,8 +151,6 @@ eIoni: for e+ SubType= 2
finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
===== EM models for the G4Region DefaultRegionForTheWorld ======
MollerBhabha : Emin= 0 eV Emax= 10 TeV
===== EM models for the G4Region XTRdEdxDetector ======
PAIModel : Emin= 0 eV Emax= 10 TeV deltaVI
eBrem: for e+ SubType= 3
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
@@ -167,10 +160,16 @@ eBrem: for e+ SubType= 3
eBremSB : Emin= 0 eV Emax= 1 GeV DipBustGen
eBremLPM : Emin= 1 GeV Emax= 10 TeV DipBustGen
annihil: for e+, integral: 1 , applyCuts: 1 SubType= 5 BuildTable= 0
annihil: for e+, integral: 1 SubType= 5 BuildTable= 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
eplus2gg : Emin= 0 eV Emax= 10 TeV
CoulombScat: for e+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from 100 MeV to 10 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 10 TeV
Lorentz Factor XTR photon number
107.6 0.0003511
@@ -224,12 +223,12 @@ 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.04 s
msc: for proton SubType= 10
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc : Emin= 0 eV Emax= 10 TeV Table with 77 bins Emin= 100 eV Emax= 10 TeV
WentzelVIUni : Emin= 0 eV Emax= 10 TeV Table with 77 bins Emin= 100 eV Emax= 10 TeV
hIoni: for proton SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
@@ -238,14 +237,90 @@ hIoni: for proton SubType= 2
===== EM models for the G4Region DefaultRegionForTheWorld ======
Bragg : Emin= 0 eV Emax= 2 MeV
BetheBloch : Emin= 2 MeV Emax= 10 TeV
===== EM models for the G4Region XTRdEdxDetector ======
PAIModel : Emin= 0 eV Emax= 10 TeV deltaVI
msc: for kaon+ SubType= 10
hBrems: for proton SubType= 3
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 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 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 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
CoulombScat: for proton, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of anti_proton
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 10 TeV
msc: for GenericIon SubType= 10
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc : Emin= 0 eV Emax= 10 TeV
ionIoni: for GenericIon SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.02
Stopping Power data for 17 ion/material pairs
===== EM models for the G4Region DefaultRegionForTheWorld ======
BraggIon : Emin= 0 eV Emax= 2 MeV
BetheBloch : Emin= 2 MeV Emax= 10 TeV
msc: for alpha SubType= 10
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc : Emin= 0 eV Emax= 10 TeV Table with 77 bins Emin= 100 eV Emax= 10 TeV
ionIoni: for alpha SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
finalRange(mm)= 0.1, dRoverRange= 0.2, 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
msc: for anti_proton SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 10 TeV Table with 77 bins Emin= 100 eV Emax= 10 TeV
hIoni: for anti_proton SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 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
hBrems: for anti_proton SubType= 3
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
hBrem : Emin= 0 eV Emax= 10 TeV
hPairProd: for anti_proton SubType= 4
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 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
CoulombScat: for anti_proton, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 10 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 10 TeV
msc: for kaon+ SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 10 TeV Table with 77 bins Emin= 100 eV Emax= 10 TeV
hIoni: for kaon+ SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
@@ -253,13 +328,30 @@ hIoni: for kaon+ SubType= 2
===== EM models for the G4Region DefaultRegionForTheWorld ======
Bragg : Emin= 0 eV Emax= 1.05231 MeV
BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV
===== EM models for the G4Region XTRdEdxDetector ======
PAIModel : Emin= 0 eV Emax= 10 TeV deltaVI
hBrems: for kaon+ SubType= 3
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
hBrem : Emin= 0 eV Emax= 10 TeV
hPairProd: for kaon+ SubType= 4
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
Sampling table 14x1001 from 3.94942 GeV to 10 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 10 TeV
CoulombScat: for kaon+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 10 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 10 TeV
msc: for kaon- SubType= 10
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc : Emin= 0 eV Emax= 10 TeV Table with 77 bins Emin= 100 eV Emax= 10 TeV
WentzelVIUni : Emin= 0 eV Emax= 10 TeV Table with 77 bins Emin= 100 eV Emax= 10 TeV
hIoni: for kaon- SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
@@ -268,24 +360,39 @@ hIoni: for kaon- SubType= 2
===== EM models for the G4Region DefaultRegionForTheWorld ======
ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV
BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV
===== EM models for the G4Region XTRdEdxDetector ======
PAIModel : Emin= 0 eV Emax= 10 TeV deltaVI
hBrems: for kaon- SubType= 3
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
hBrem : Emin= 0 eV Emax= 10 TeV
hPairProd: for kaon- SubType= 4
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
Sampling table 14x1001 from 3.94942 GeV to 10 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 10 TeV
CoulombScat: for kaon-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of kaon+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 10 TeV
msc: for mu+ SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc : Emin= 0 eV Emax= 10 TeV Table with 77 bins Emin= 100 eV Emax= 10 TeV
WentzelVIUni : Emin= 0 eV Emax= 10 TeV Table with 77 bins Emin= 100 eV Emax= 10 TeV
muIoni: for mu+ SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
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= 200 keV
BetheBloch : Emin= 200 keV Emax= 1 GeV
MuBetheBloch : Emin= 1 GeV Emax= 10 TeV
===== EM models for the G4Region XTRdEdxDetector ======
PAIModel : Emin= 0 eV Emax= 10 TeV deltaVI
muBrems: for mu+ SubType= 3
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
@@ -300,21 +407,25 @@ muPairProd: for mu+ SubType= 4
===== EM models for the G4Region DefaultRegionForTheWorld ======
muPairProd : Emin= 0 eV Emax= 10 TeV
CoulombScat: for mu+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 10 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 10 TeV
msc: for mu- SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc : Emin= 0 eV Emax= 10 TeV Table with 77 bins Emin= 100 eV Emax= 10 TeV
WentzelVIUni : Emin= 0 eV Emax= 10 TeV Table with 77 bins Emin= 100 eV Emax= 10 TeV
muIoni: for mu- SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 bins per decade, spline: 1
finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
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= 200 keV
BetheBloch : Emin= 200 keV Emax= 1 GeV
MuBetheBloch : Emin= 1 GeV Emax= 10 TeV
===== EM models for the G4Region XTRdEdxDetector ======
PAIModel : Emin= 0 eV Emax= 10 TeV deltaVI
muBrems: for mu- SubType= 3
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
@@ -329,10 +440,16 @@ muPairProd: for mu- SubType= 4
===== EM models for the G4Region DefaultRegionForTheWorld ======
muPairProd : Emin= 0 eV Emax= 10 TeV
msc: for pi+ SubType= 10
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
CoulombScat: for mu-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of mu+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc : Emin= 0 eV Emax= 10 TeV Table with 77 bins Emin= 100 eV Emax= 10 TeV
eCoulombScattering : Emin= 0 eV Emax= 10 TeV
msc: for pi+ SubType= 10
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 10 TeV Table with 77 bins Emin= 100 eV Emax= 10 TeV
hIoni: for pi+ SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
@@ -341,13 +458,30 @@ hIoni: for pi+ SubType= 2
===== EM models for the G4Region DefaultRegionForTheWorld ======
Bragg : Emin= 0 eV Emax= 297.505 keV
BetheBloch : Emin= 297.505 keV Emax= 10 TeV
===== EM models for the G4Region XTRdEdxDetector ======
PAIModel : Emin= 0 eV Emax= 10 TeV deltaVI
hBrems: for pi+ SubType= 3
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 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 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 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
CoulombScat: for pi+, integral: 1 SubType= 1 BuildTable= 1
Lambda table from threshold to 10 TeV, 7 bins per decade, spline: 1
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 10 TeV
msc: for pi- SubType= 10
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, polarAngleLimit(deg)= 180
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc : Emin= 0 eV Emax= 10 TeV Table with 77 bins Emin= 100 eV Emax= 10 TeV
WentzelVIUni : Emin= 0 eV Emax= 10 TeV Table with 77 bins Emin= 100 eV Emax= 10 TeV
hIoni: for pi- SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
@@ -356,8 +490,25 @@ hIoni: for pi- SubType= 2
===== EM models for the G4Region DefaultRegionForTheWorld ======
ICRU73QO : Emin= 0 eV Emax= 297.505 keV
BetheBloch : Emin= 297.505 keV Emax= 10 TeV
===== EM models for the G4Region XTRdEdxDetector ======
PAIModel : Emin= 0 eV Emax= 10 TeV deltaVI
hBrems: for pi- SubType= 3
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 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 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV, 7 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
CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Used Lambda table of pi+
180 < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 10 TeV
========= Table of registered couples ==============================
@@ -370,15 +521,15 @@ Index : 0 used in the geometry : Yes
Index : 1 used in the geometry : Yes
Material : radiatorMat
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm
Energy thresholds : gamma 1.07314 keV e- 83.5287 keV e+ 82.4135 keV proton 0 eV
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm
Energy thresholds : gamma 1.07314 keV e- 83.5287 keV e+ 82.4135 keV proton 100 keV
Region(s) which use this couple :
XTRradiator
Index : 2 used in the geometry : Yes
Material : Xe15CO2
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm
Energy thresholds : gamma 990 eV e- 2.08861 keV e+ 2.0697 keV proton 0 eV
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm
Energy thresholds : gamma 990 eV e- 2.08861 keV e+ 2.0697 keV proton 100 keV
Region(s) which use this couple :
XTRdEdxDetector
@@ -391,134 +542,26 @@ Index : 2 used in the geometry : Yes
Initial seed (index) = 0
Current couple of seeds = 9876, 54321
----------------------------------------
---> Begin of Event: 0
... open Root analysis file : testem10.root - done
--> Event 0 starts.
Run terminated.
Run Summary
Number of events processed : 1000
User=0.85s Real=0.85s Sys=0s
User=0.68s Real=0.68s Sys=0s
================== run summary =====================
end of Run TotNbofEvents = 1000
mean charged track length in absorber=44.6123 +- 0.615106 mm
mean energy deposit in absorber=0.0523117 +- 0.000856792 MeV
mean number of steps in absorber (charged) =8.081 +- 0.200705
mean number of steps in absorber (neutral) =2.794 +- 0.0514545
mean number of charged secondaries = 3.372 +- 0.0687431
mean number of neutral secondaries = 0.042 +- 0.00634319
mean number of e-s =3.372 and e+s =0
(number) transmission coeff=0.233 reflection coeff=0
energy deposit distribution
#entries=1000 #underflows=0 #overflows=59
bin nb Elow entries normalized
0 0 0 0
1 1.53846 0 0
2 3.07692 0 0
3 4.61538 0 0
4 6.15385 0 0
5 7.69231 0 0
6 9.23077 0 0
7 10.7692 0 0
8 12.3077 0 0
9 13.8462 4 0.004
10 15.3846 7 0.007
11 16.9231 11 0.011
12 18.4615 21 0.021
13 20 16 0.016
14 21.5385 12 0.012
15 23.0769 17 0.017
16 24.6154 20 0.02
17 26.1538 27 0.027
18 27.6923 27 0.027
19 29.2308 29 0.029
20 30.7692 34 0.034
21 32.3077 27 0.027
22 33.8462 29 0.029
23 35.3846 32 0.032
24 36.9231 25 0.025
25 38.4615 34 0.034
26 40 35 0.035
27 41.5385 30 0.03
28 43.0769 36 0.036
29 44.6154 27 0.027
30 46.1538 35 0.035
31 47.6923 26 0.026
32 49.2308 27 0.027
33 50.7692 19 0.019
34 52.3077 22 0.022
35 53.8462 19 0.019
36 55.3846 27 0.027
37 56.9231 19 0.019
38 58.4615 19 0.019
39 60 17 0.017
40 61.5385 11 0.011
41 63.0769 12 0.012
42 64.6154 19 0.019
43 66.1538 12 0.012
44 67.6923 13 0.013
45 69.2308 15 0.015
46 70.7692 17 0.017
47 72.3077 5 0.005
48 73.8462 8 0.008
49 75.3846 11 0.011
50 76.9231 6 0.006
51 78.4615 8 0.008
52 80 10 0.01
53 81.5385 16 0.016
54 83.0769 4 0.004
55 84.6154 2 0.002
56 86.1538 7 0.007
57 87.6923 6 0.006
58 89.2308 4 0.004
59 90.7692 3 0.003
60 92.3077 7 0.007
61 93.8462 4 0.004
62 95.3846 1 0.001
63 96.9231 5 0.005
64 98.4615 5 0.005
Emp = 0.0430769 width= 0.0461538 MeV
End of Run TotNbofEvents = 1000
Mean energy deposit in absorber = 0.0488112 +-0.0190093 MeV
Total number of XTR gammas = 2700
Total number of all gammas = 2792
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 2102791090, 1435182547
Current couple of seeds = 2017245243, 233346664
----------------------------------------
========= Table of registered couples ==============================
Index : 0 used in the geometry : Yes
Material : Air
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm
Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 100 keV
Region(s) which use this couple :
DefaultRegionForTheWorld
Index : 1 used in the geometry : Yes
Material : radiatorMat
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm
Energy thresholds : gamma 1.07314 keV e- 83.5287 keV e+ 82.4135 keV proton 0 eV
Region(s) which use this couple :
XTRradiator
Index : 2 used in the geometry : Yes
Material : Xe15CO2
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm
Energy thresholds : gamma 990 eV e- 2.08861 keV e+ 2.0697 keV proton 0 eV
Region(s) which use this couple :
XTRdEdxDetector
====================================================================
... write Root file : testem10.root - done
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: 0.05 MB
Number of memory pools allocated: 10 of which, static: 0
Dynamic pools deleted: 10 / Total memory freed: 0.048 MB
============================================================
RunManagerKernel is deleted. Good bye :)
@@ -9,10 +9,12 @@
#
# PLOT: energy deposit distribution in absorber (g4.11)
#
/plots/sethistName g4.p11
/plots/setnbinEn 41
/plots/setEnlow 0.00 MeV
/plots/setEnhigh 0.041 MeV
/analysis/setFileName alice06
/analysis/h1/set 1 100 0.00 0.1 MeV # Edep
/analysis/h1/set 2 100 0.00 0.1 MeV # XTR gamma
/analysis/h1/set 3 100 0.00 0.1 MeV # all gamma
/analysis/h1/set 4 100 0.00 0.1 MeV # all e-
/analysis/h1/set 5 41 0.00 0.041 MeV # En (Edep with original limits)
#
#
# Change and choice of experimental setups. Can be
@@ -42,25 +44,17 @@
#
/run/particle/applyCuts
#
# set cuts in XTR radiator
#
/emphyslist/setGammaCut 0.001
/emphyslist/setElectronCut 0.001
/emphyslist/setPositronCut 0.001
/emphyslist/setRadiatorCuts 0.001
#
# set cuts in XTR detector
#
/emphyslist/setGammaCut 1.01
/emphyslist/setElectronCut 1.01
/emphyslist/setPositronCut 1.01
#
/emphyslist/setDetectorCuts 1.01
#
/run/initialize
#
# set cuts
#
/run/setCut 0.001
/run/setCutForRegion Radiator 0.001
/run/setCutForRegion Absorber 1.01
#
#/hits/verbose 1
#
/geometry/test/run
/geometry/test/recursive_test
#
#/XTRdetector/update
#
@@ -102,7 +96,7 @@
#/tracking/verbose 1
#
/event/printModulo 1000
/run/printProgress 1000
/run/beamOn 10000
#
@@ -9,10 +9,12 @@
#
# PLOT: energy deposit distribution in absorber (g4.11)
#
/plots/sethistName g4.p11
/plots/setnbinEn 26
/plots/setEnlow 0.000 MeV
/plots/setEnhigh 0.052 MeV
/analysis/setFileName bari05
/analysis/h1/set 1 100 0.00 1.0 MeV # Edep
/analysis/h1/set 2 100 0.00 0.1 MeV # XTR gamma
/analysis/h1/set 3 100 0.00 0.1 MeV # all gamma
/analysis/h1/set 4 100 0.00 0.1 MeV # all e-
/analysis/h1/set 5 26 0.00 0.052 MeV # En (Edep with original limits)
#
#
# Change and choice of experimental setups. Can be
@@ -42,25 +44,18 @@
#
#/run/particle/applyCuts
#
# set cuts in XTR radiator
#
/emphyslist/setGammaCut 1.0
/emphyslist/setElectronCut 1.0
/emphyslist/setPositronCut 1.
/emphyslist/setRadiatorCuts 1.
#
# set cuts in XTR detector
#
/emphyslist/setGammaCut 100.
/emphyslist/setElectronCut 100.
/emphyslist/setPositronCut 1.
#
/emphyslist/setDetectorCuts 1.
#
/run/initialize
#
# set cuts
#
/run/setCut 1.
/run/setCutForRegion Radiator 1.
/run/setCutForRegion Absorber 1.
#
#/hits/verbose 1
#
/geometry/test/run
/geometry/test/recursive_test
#
#/XTRdetector/update
#
@@ -100,7 +95,7 @@
#/tracking/verbose 1
#
/event/printModulo 1000
/run/printProgress 1000
/run/beamOn 10000
#
@@ -9,10 +9,12 @@
#
# PLOT: energy deposit distribution in absorber (g4.11)
#
/plots/sethistName g4.p11
/plots/setnbinEn 65
/plots/setEnlow 0.0 MeV
/plots/setEnhigh 0.1 MeV
/analysis/setFileName barr90
/analysis/h1/set 1 100 0.00 1.0 MeV # Edep
/analysis/h1/set 2 100 0.00 0.1 MeV # XTR gamma
/analysis/h1/set 3 100 0.00 0.1 MeV # all gamma
/analysis/h1/set 4 100 0.00 0.1 MeV # all e-
/analysis/h1/set 5 65 0.00 0.1 MeV # En (Edep with original limits)
#
#
# Change and choice of experimental setups. Can be
@@ -45,22 +47,16 @@
#
/run/particle/applyCuts
#
# set cuts in XTR radiator
#
/emphyslist/setGammaCut 1.0
/emphyslist/setElectronCut 1.0
/emphyslist/setPositronCut 1.0
/emphyslist/setRadiatorCuts 1.0
#
# set cuts in XTR detector
#
/emphyslist/setGammaCut 1.0
/emphyslist/setElectronCut 1.0
/emphyslist/setPositronCut 1.0
/emphyslist/setDetectorCuts 1.0
#
/run/initialize
#
# set cuts
#
/run/setCut 1.
/run/setCutForRegion Radiator 1.
/run/setCutForRegion Absorber 1.
#
#/hits/verbose 1
#
#/XTRdetector/update
#
#Innactivate some processes: msc eIoni eBrem RegularXTRadiator
@@ -96,7 +92,7 @@
#
#/tracking/verbose 1
#
/event/printModulo 1000
/run/printProgress 1000
/run/beamOn 10000
#/tracking/verbose 0
#/run/beamOn 1
@@ -9,10 +9,12 @@
#
# PLOT: energy deposit distribution in absorber (g4.11)
#
/plots/sethistName g4.p11
/plots/setnbinEn 49
/plots/setEnlow 0.0 MeV
/plots/setEnhigh 0.011 MeV
/analysis/setFileName harris73
/analysis/h1/set 1 100 0.00 0.1 MeV # Edep
/analysis/h1/set 2 100 0.00 0.1 MeV # XTR gamma
/analysis/h1/set 3 100 0.00 0.1 MeV # all gamma
/analysis/h1/set 4 100 0.00 0.1 MeV # all e-
/analysis/h1/set 5 49 0.00 0.011 MeV # En (Edep with original limits)
#
#
# Change and choice of experimental setups. Can be
@@ -45,22 +47,16 @@
#
/run/particle/applyCuts
#
# set cuts in XTR radiator
#
/emphyslist/setGammaCut 1.0
/emphyslist/setElectronCut 1.0
/emphyslist/setPositronCut 1.0
/emphyslist/setRadiatorCuts 1.0
#
# set cuts in XTR detector
#
/emphyslist/setGammaCut 1.0
/emphyslist/setElectronCut 1.0
/emphyslist/setPositronCut 1.0
/emphyslist/setDetectorCuts 1.0
#
/run/initialize
#
# set cuts
#
/run/setCut 1.
/run/setCutForRegion Radiator 1.
/run/setCutForRegion Absorber 1.
#
#/hits/verbose 1
#
#/XTRdetector/update
#
#Innactivate some processes: msc eIoni eBrem RegularXTRadiator
@@ -96,7 +92,7 @@
#
#/tracking/verbose 1
#
/event/printModulo 1000
/run/printProgress 1000
/run/beamOn 20000
#
@@ -23,23 +23,15 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/include/RE01PhysicsList.hh
/// \brief Definition of the RE01PhysicsList class
// $Id: Analysis.hh 68058 2013-03-13 14:47:43Z gcosmo $
//
// $Id: RE01PhysicsList.hh 66379 2012-12-18 09:46:33Z gcosmo $
//
//
#ifndef RE01PhysicsList_h
#define RE01PhysicsList_h 1
/// \file electromagnetic/TestEm10/include/Analysis.hh
/// \brief Selection of the analysis technology
#include "G4VModularPhysicsList.hh"
#ifndef Analysis_h
#define Analysis_h 1
#include "g4root.hh"
//#include "g4xml.hh"
class RE01PhysicsList: public G4VModularPhysicsList
{
public:
RE01PhysicsList();
virtual ~RE01PhysicsList();
virtual void SetCuts();
};
#endif
@@ -0,0 +1,62 @@
//
// ********************************************************************
// * 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/TestEm10/include/DetectorALICE06.hh
/// \brief Definition of the DetectorALICE06 class
//
//
// $Id: DetectorALICE06.hh 72513 2013-07-24 20:37:54Z gum $
//
// Simplified setup for ALICE XTR test beam (~2004).
// Runs by : Test salice.mac
#ifndef DetectorALICE06_h
#define DetectorALICE06_h 1
#include "globals.hh"
#include "RadiatorDescription.hh"
class G4VPhysicalVolume;
class G4UniformMagField;
class DetectorALICE06
{
public:
DetectorALICE06();
~DetectorALICE06();
// methods
G4VPhysicalVolume* Construct();
// get methods
RadiatorDescription* GetRadiatorDescription() const { return fRadiatorDescription; }
private:
// data members
RadiatorDescription* fRadiatorDescription;
};
#endif
@@ -0,0 +1,62 @@
//
// ********************************************************************
// * 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/TestEm10/include/DetectorBari05.hh
/// \brief Definition of the DetectorBari05 class
//
//
// $Id: DetectorBari05.hh 72513 2013-07-24 20:37:54Z gum $
//
// Setup for Bari INFN XTR test beam (~2004) at CERN. With He beam-pipe
// M. Brigida et al, NIM A550 (2005) 157-168
// Runs by : TestEm10 bari05.mac
#ifndef DetectorBari05_h
#define DetectorBari05_h 1
#include "globals.hh"
#include "RadiatorDescription.hh"
class G4VPhysicalVolume;
class DetectorBari05
{
public:
DetectorBari05();
~DetectorBari05();
// methods
G4VPhysicalVolume* Construct();
// get methods
RadiatorDescription* GetRadiatorDescription() const { return fRadiatorDescription; }
private:
// data members
RadiatorDescription* fRadiatorDescription;
};
#endif
@@ -23,37 +23,38 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm10/include/TRTDetectorConstruction.hh
/// \brief Definition of the TRTDetectorConstruction class
/// \file electromagnetic/TestEm10/include/DetectorBarr90.hh
/// \brief Definition of the DetectorBarr90 class
//
//
// $Id: TRTDetectorConstruction.hh 66241 2012-12-13 18:34:42Z gunter $
// $Id: DetectorBarr90.hh 72513 2013-07-24 20:37:54Z gum $
//
//
// Setuo from G.D. Barr et al NIM A294 (1990) 465-472 (fig.11)
#ifndef TRTDetectorConstruction_h
#define TRTDetectorConstruction_h 1
#ifndef DetectorBarr90_h
#define DetectorBarr90_h 1
#include "G4VUserDetectorConstruction.hh"
#include "Randomize.hh"
#include "globals.hh"
class TRTTrackerSD;
class SCTTrackerSD;
class HepJamesRandom;
#include "RadiatorDescription.hh"
class TRTDetectorConstruction : public G4VUserDetectorConstruction
class G4VPhysicalVolume;
class DetectorBarr90
{
public:
TRTDetectorConstruction();
~TRTDetectorConstruction();
DetectorBarr90();
~DetectorBarr90();
public:
G4VPhysicalVolume* Construct();
// methods
G4VPhysicalVolume* Construct();
// get methods
RadiatorDescription* GetRadiatorDescription() const { return fRadiatorDescription; }
private:
TRTTrackerSD *TRTStrawSD;
SCTTrackerSD *SCTStripSD;
HepJamesRandom theJamesEngine;
// data members
RadiatorDescription* fRadiatorDescription;
};
#endif
@@ -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/TestEm10/include/DetectorConstruction.hh
/// \brief Definition of the DetectorConstruction class
//
//
// $Id: DetectorConstruction.hh 94932 2015-12-18 09:21:29Z gcosmo $
//
#ifndef DetectorConstruction_h
#define DetectorConstruction_h 1
#include "G4VUserDetectorConstruction.hh"
#include "RadiatorDescription.hh"
#include "globals.hh"
#include "G4ios.hh"
class DetectorMessenger;
class G4Material;
class G4VPhysicalVolume;
class DetectorConstruction : public G4VUserDetectorConstruction
{
public:
DetectorConstruction();
~DetectorConstruction();
virtual G4VPhysicalVolume* Construct();
void SetDetectorSetUp(G4String setup) { fSetUp = setup; }
RadiatorDescription* GetRadiatorDescription() const;
G4Material* GetAbsorberMaterial() const;
private:
// data members
DetectorMessenger* fDetectorMessenger; //pointer to the Messenger
RadiatorDescription* fRadiatorDescription;
G4String fSetUp;
};
#endif
@@ -0,0 +1,60 @@
//
// ********************************************************************
// * 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/TestEm10/include/DetectorHarris73.hh
/// \brief Definition of the DetectorHarris73 class
//
//
// $Id: DetectorHarris73.hh 72513 2013-07-24 20:37:54Z gum $
//
// Setup from F. Harris et al NIM 107 (1973) 413-422 (fig.5b)
#ifndef DetectorHarris73_h
#define DetectorHarris73_h 1
#include "globals.hh"
#include "RadiatorDescription.hh"
class G4VPhysicalVolume;
class DetectorHarris73
{
public:
DetectorHarris73();
~DetectorHarris73();
// methods
G4VPhysicalVolume* Construct();
// get methods
RadiatorDescription* GetRadiatorDescription() const { return fRadiatorDescription; }
private:
// data members
RadiatorDescription* fRadiatorDescription;
};
#endif
@@ -0,0 +1,62 @@
//
// ********************************************************************
// * 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/TestEm10/include/DetectorMessenger.hh
/// \brief Definition of the DetectorMessenger class
//
//
// $Id: DetectorMessenger.hh 94932 2015-12-18 09:21:29Z gcosmo $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#ifndef DetectorMessenger_h
#define DetectorMessenger_h 1
#include "globals.hh"
#include "G4UImessenger.hh"
class DetectorConstruction;
class G4UIdirectory;
class G4UIcmdWithAString;
class DetectorMessenger: public G4UImessenger
{
public:
DetectorMessenger(DetectorConstruction* detector);
~DetectorMessenger();
virtual void SetNewValue(G4UIcommand*, G4String);
private:
DetectorConstruction* fDetector;
G4UIdirectory* fDirectory;
G4UIcmdWithAString* fDetectorSetUpCmd;
};
#endif
@@ -0,0 +1,61 @@
//
// ********************************************************************
// * 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/TestEm10/include/DetectorSimpleALICE.hh
/// \brief Definition of the DetectorSimpleALICE class
//
//
// $Id: DetectorSimpleALICE.hh 72513 2013-07-24 20:37:54Z gum $
//
// Simplified setup for ALICE XTR test beam (~2004).
// Runs by : Test salice.mac
#ifndef DetectorSimpleALICE_h
#define DetectorSimpleALICE_h 1
#include "globals.hh"
#include "RadiatorDescription.hh"
class G4VPhysicalVolume;
class DetectorSimpleALICE
{
public:
DetectorSimpleALICE();
~DetectorSimpleALICE();
// methods
G4VPhysicalVolume* Construct();
// get methods
RadiatorDescription* GetRadiatorDescription() const { return fRadiatorDescription; }
private:
// data members
RadiatorDescription* fRadiatorDescription;
};
#endif
@@ -0,0 +1,60 @@
//
// ********************************************************************
// * 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/TestEm10/include/DetectorWatase86.hh
/// \brief Definition of the DetectorWatase86 class
//
//
// $Id: DetectorWatase86.hh 72513 2013-07-24 20:37:54Z gum $
//
// Setup from Y. Watase et al, NIM A248 (1986) 379-388 (fig.7; Li, e-, 2 Gev/c)
#ifndef DetectorWatase86_h
#define DetectorWatase86_h 1
#include "globals.hh"
#include "RadiatorDescription.hh"
class G4VPhysicalVolume;
class DetectorWatase86
{
public:
DetectorWatase86();
~DetectorWatase86();
// methods
G4VPhysicalVolume* Construct();
// get methods
RadiatorDescription* GetRadiatorDescription() const { return fRadiatorDescription; }
private:
// data members
RadiatorDescription* fRadiatorDescription;
};
#endif
@@ -1,214 +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. *
// ********************************************************************
//
/// \file electromagnetic/TestEm10/include/Em10DetectorConstruction.hh
/// \brief Definition of the Em10DetectorConstruction class
//
//
// $Id: Em10DetectorConstruction.hh 73033 2013-08-15 09:24:45Z gcosmo $
//
//
#ifndef Em10DetectorConstruction_h
#define Em10DetectorConstruction_h 1
#include "G4VUserDetectorConstruction.hh"
#include "globals.hh"
#include "G4ios.hh"
class G4Box;
class G4Tubs;
class G4LogicalVolume;
class G4VPhysicalVolume;
class G4Material;
class G4Region;
class G4UniformMagField;
class Em10DetectorMessenger;
class Em10CalorimeterSD;
class G4Region;
class Em10Materials;
class Em10DetectorConstruction : public G4VUserDetectorConstruction
{
public:
Em10DetectorConstruction();
~Em10DetectorConstruction();
public:
void SetAbsorberMaterial (G4String);
void SetAbsorberThickness(G4double);
void SetAbsorberRadius(G4double);
void SetAbsorberZpos(G4double);
void SetRadiatorMaterial (G4String);
void SetRadiatorThickness(G4double);
void SetGasGapThickness(G4double);
void SetFoilNumber (G4int i) {fFoilNumber = i; };
void SetWorldMaterial(G4String);
void SetWorldSizeZ(G4double);
void SetWorldSizeR(G4double);
void SetDetectorSetUp(G4String s) {fSetUp = s;};
void SetMagField(G4double);
G4VPhysicalVolume* Construct();
void UpdateGeometry();
public:
void PrintGeometryParameters();
G4Material* GetWorldMaterial() {return fWorldMaterial;};
G4double GetWorldSizeZ() {return fWorldSizeZ;};
G4double GetWorldSizeR() {return fWorldSizeR;};
G4double GetAbsorberZpos() {return fAbsorberZ;};
G4Material* GetAbsorberMaterial() {return fAbsorberMaterial;};
G4double GetAbsorberThickness() {return fAbsorberThickness;};
G4double GetAbsorberRadius() {return fAbsorberRadius;};
const G4VPhysicalVolume* GetphysiWorld() {return fPhysicsWorld;};
const G4VPhysicalVolume* GetAbsorber() {return fPhysicsAbsorber;};
G4LogicalVolume* GetLogicalAbsorber() {return fLogicAbsorber;};
G4LogicalVolume* GetLogicalRadiator() {return fLogicRadiator;};
G4double GetFoilThick() {return fRadThickness;};
G4double GetGasThick() {return fGasGap;};
G4int GetFoilNumber() {return fFoilNumber;};
G4Material* GetFoilMaterial() {return fFoilMat;};
G4Material* GetGasMaterial() {return fGasMat;};
private:
G4VPhysicalVolume* ConstructDetectorXTR();
G4VPhysicalVolume* SimpleSetUpALICE();
G4VPhysicalVolume* SetUpALICE06();
G4VPhysicalVolume* SetUpBari05();
G4VPhysicalVolume* SetUpHarris73();
G4VPhysicalVolume* SetUpWatase86();
G4VPhysicalVolume* SetUpBarr90();
void TestOld();
private:
G4bool fWorldChanged;
G4Material* fAbsorberMaterial;
G4double fAbsorberThickness;
G4double fAbsorberRadius;
G4Material* fPipeMat;
G4Material* fWindowMat;
G4double fWindowThick;
G4Material* fElectrodeMat;
G4double fElectrodeThick;
G4Material* fGapMat;
G4double fGapThick;
G4double fAbsorberZ;
// G4double zstartAbs , zendAbs;
G4String fSetUp;
G4Material* fWorldMaterial;
G4double fWorldSizeR;
G4double fWorldSizeZ;
G4Box* fSolidWorld; //pointer to the solid World
G4LogicalVolume* fLogicWorld; //pointer to the logical World
G4VPhysicalVolume* fPhysicsWorld; //pointer to the physical World
// TR radiator volumes and dimensions
// G4Box* fSolidRadSlice; // pointer to the solid z-slice
// G4LogicalVolume* fLogicRadSlice; // pointer to the logical z-slide
// G4VPhysicalVolume* fPhysicRadSlice; // pointer to the physical z-slide
// G4Box* fSolidRadRing; // pointer to the solid R-slice
// G4LogicalVolume* fLogicRadRing; // pointer to the logical R-slide
// G4VPhysicalVolume* fPhysicRadRing; // pointer to the physical R-slide
G4Box* fSolidRadiator;
G4LogicalVolume* fLogicRadiator;
G4VPhysicalVolume* fPhysicsRadiator;
G4Material* fRadiatorMat; // pointer to the mixed TR radiator material
G4Material* fFoilMat; // pointer to the TR foil radiator material
G4Material* fGasMat; // pointer to the TR gas radiator material
G4double fRadThickness;
G4double fGasGap;
G4double foilGasRatio;
G4int fFoilNumber;
G4double fDetThickness;
G4double fDetLength;
G4double fDetGap;
G4double fStartR;
G4double fStartZ;
G4int fModuleNumber; // the number of Rad-Det modules
G4double fRadThick;
G4double fMylarThick;
G4double fPipeLength;
G4bool fPipe;
G4bool fPipeField;
G4double fRadZ;
G4double fWindowZ;
G4double fGapZ;
G4double fElectrodeZ;
G4Box* fSolidAbsorber; //pointer to the solid Absorber
G4LogicalVolume* fLogicAbsorber; //pointer to the logical Absorber
G4VPhysicalVolume* fPhysicsAbsorber; //pointer to the physical Absorber
G4UniformMagField* fMagField; //pointer to the magnetic field
// G4double fElectronCut, fGammaCut, fPositronCut;
Em10DetectorMessenger* fDetectorMessenger; //pointer to the Messenger
Em10CalorimeterSD* fCalorimeterSD; //pointer to the sensitive detector
G4Region* fRegGasDet;
G4Region* fRadRegion;
Em10Materials* fMat;
};
#endif
@@ -1,95 +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. *
// ********************************************************************
//
/// \file electromagnetic/TestEm10/include/Em10DetectorMessenger.hh
/// \brief Definition of the Em10DetectorMessenger class
//
//
// $Id: Em10DetectorMessenger.hh 66241 2012-12-13 18:34:42Z gunter $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#ifndef Em10DetectorMessenger_h
#define Em10DetectorMessenger_h 1
#include "globals.hh"
#include "G4UImessenger.hh"
class Em10DetectorConstruction;
class G4UIdirectory;
class G4UIcmdWithAString;
class G4UIcmdWithAnInteger;
class G4UIcmdWithADoubleAndUnit;
class G4UIcmdWithoutParameter;
class Em10DetectorMessenger: public G4UImessenger
{
public:
Em10DetectorMessenger(Em10DetectorConstruction* );
~Em10DetectorMessenger();
void SetNewValue(G4UIcommand*, G4String);
void SetNewValue(G4UIcommand*, G4int);
private:
Em10DetectorConstruction* Em10Detector;
G4UIdirectory* Em10detDir;
G4UIcmdWithAnInteger* ModelCmd;
G4UIcmdWithAnInteger* FoilNumCmd;
G4UIcmdWithAString* AbsMaterCmd;
G4UIcmdWithAString* DetectorSetUpCmd;
G4UIcmdWithADoubleAndUnit* AbsThickCmd;
G4UIcmdWithADoubleAndUnit* AbsRadCmd;
G4UIcmdWithAString* RadiatorMaterCmd;
G4UIcmdWithADoubleAndUnit* RadiatorThickCmd;
G4UIcmdWithADoubleAndUnit* GasGapThickCmd;
G4UIcmdWithADoubleAndUnit* AbsZposCmd;
G4UIcmdWithAString* WorldMaterCmd;
G4UIcmdWithADoubleAndUnit* WorldZCmd;
G4UIcmdWithADoubleAndUnit* WorldRCmd;
G4UIcmdWithADoubleAndUnit* MagFieldCmd;
G4UIcmdWithoutParameter* UpdateCmd;
// G4UIcmdWithADoubleAndUnit* ElectronCutCmd;
// G4UIcmdWithADoubleAndUnit* PositronCutCmd;
// G4UIcmdWithADoubleAndUnit* GammaCutCmd;
};
#endif
@@ -1,113 +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. *
// ********************************************************************
//
/// \file electromagnetic/TestEm10/include/Em10PhysicsList.hh
/// \brief Definition of the Em10PhysicsList class
//
//
// $Id: Em10PhysicsList.hh 66241 2012-12-13 18:34:42Z gunter $
//
#ifndef Em10PhysicsList_h
#define Em10PhysicsList_h 1
#include "G4VUserPhysicsList.hh"
#include "G4VModularPhysicsList.hh"
#include "globals.hh"
class G4ForwardXrayTR ;
class Em10StepCut;
class Em10DetectorConstruction;
class Em10PhysicsListMessenger;
class G4ProductionCuts;
class Em10PhysicsList: public G4VModularPhysicsList // G4VUserPhysicsList
{
public:
Em10PhysicsList( Em10DetectorConstruction*);
~Em10PhysicsList();
// Construct particle and physics
void ConstructParticle();
void ConstructProcess();
void SetCuts();
private:
// these methods Construct particles
void ConstructBosons();
void ConstructLeptons();
void ConstructMesons();
void ConstructBarions();
// these methods Construct physics processes and register them
void AddParameterisation();
void ConstructGeneral();
void ConstructEM();
public:
void SetGammaCut(G4double);
void SetElectronCut(G4double);
void SetRegGammaCut(G4double cut){fGammaCut = cut;};
void SetRegElectronCut(G4double cut){fElectronCut = cut;};
void SetRegPositronCut(G4double cut){fPositronCut = cut;};
void SetRadiatorCuts();
void SetDetectorCuts();
void SetMaxStep(G4double);
void SetXTRModel(G4String m) {fXTRModel = m; G4cout<<fXTRModel<<G4endl;};
private:
G4double MaxChargedStep;
G4ForwardXrayTR* fForwardXrayTR ;
Em10StepCut* theeminusStepCut ;
Em10StepCut* theeplusStepCut ;
G4double cutForGamma;
G4double cutForElectron, cutForPositron;
Em10DetectorConstruction* pDet;
Em10PhysicsListMessenger* physicsListMessenger;
G4ProductionCuts* fRadiatorCuts;
G4ProductionCuts* fDetectorCuts;
G4double fElectronCut, fGammaCut, fPositronCut;
G4String fXTRModel;
};
#endif
@@ -1,78 +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. *
// ********************************************************************
//
/// \file electromagnetic/TestEm10/include/Em10PrimaryGeneratorAction.hh
/// \brief Definition of the Em10PrimaryGeneratorAction class
//
//
// $Id: Em10PrimaryGeneratorAction.hh 73033 2013-08-15 09:24:45Z gcosmo $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#ifndef Em10PrimaryGeneratorAction_h
#define Em10PrimaryGeneratorAction_h 1
#include "G4VUserPrimaryGeneratorAction.hh"
#include "globals.hh"
class G4ParticleGun;
class G4Event;
class Em10DetectorConstruction;
class Em10PrimaryGeneratorMessenger;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class Em10PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
{
public:
Em10PrimaryGeneratorAction(Em10DetectorConstruction*);
~Em10PrimaryGeneratorAction();
public:
void GeneratePrimaries(G4Event*);
void SetRndmFlag(G4String val) { rndmFlag = val;}
void Setxvertex(G4double x);
void Setyvertex(G4double y);
void Setzvertex(G4double z);
static G4String GetPrimaryName();
private:
G4ParticleGun* particleGun; //pointer a to G4 service class
// Em10DetectorConstruction* Em10Detector; //pointer to the geometry
Em10PrimaryGeneratorMessenger* gunMessenger; //messenger of this class
G4String rndmFlag; //flag for a random impact point
static G4String thePrimaryParticleName;
G4double xvertex,yvertex,zvertex;
G4bool vertexdefined;
};
#endif
@@ -1,184 +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. *
// ********************************************************************
//
/// \file electromagnetic/TestEm10/include/Em10RunAction.hh
/// \brief Definition of the Em10RunAction class
//
//
// $Id: Em10RunAction.hh 66241 2012-12-13 18:34:42Z gunter $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#ifndef Em10RunAction_h
#define Em10RunAction_h 1
#include "G4UserRunAction.hh"
#include "globals.hh"
#include <iostream>
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class Em10RunMessenger;
class G4Run;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class Em10RunAction : public G4UserRunAction
{
public:
Em10RunAction();
~Em10RunAction();
public:
void BeginOfRunAction(const G4Run*);
void EndOfRunAction(const G4Run*);
void CountEvent();
void CountParticles(G4double,G4double);
void AddEP(G4double,G4double);
void AddEdeps(G4double Eabs);
void AddTrackLength(G4double tlabs);
void AddnStepsCharged(G4double ns);
void AddnStepsNeutral(G4double ns);
void AddTrRef(G4double tr,G4double ref);
void FillEn(G4double En);
void FillTh(G4double Th);
void FillThBack(G4double Th);
void FillR(G4double R);
void FillTt(G4double Tt);
void FillTb(G4double Tt);
void FillTsec(G4double T);
void FillGammaSpectrum(G4double E);
void FillNbOfSteps(G4double nstep);
void Fillvertexz(G4double z);
void SethistName(G4String name) ;
void SetnbinStep(G4int nbin);
void SetSteplow(G4double Slow);
void SetStephigh(G4double Shigh);
void SetnbinEn(G4int nbin);
void SetEnlow(G4double Elow);
void SetEnhigh(G4double Enhigh);
void SetnbinTt(G4int nbin);
void SetTtlow(G4double Ttlow);
void SetTthigh(G4double Tthigh);
void SetnbinTb(G4int nbin);
void SetTblow(G4double Tblow);
void SetTbhigh(G4double Tbhigh);
void SetnbinTsec(G4int nbin);
void SetTseclow(G4double Tlow);
void SetTsechigh(G4double Thigh);
void SetnbinTh(G4int nbin);
void SetThlow(G4double Thlow);
void SetThhigh(G4double Thhigh);
void SetnbinThBack(G4int nbin);
void SetThlowBack(G4double Thlow);
void SetThhighBack(G4double Thhigh);
void SetnbinR(G4int nbin);
void SetRlow(G4double Rlow);
void SetRhigh(G4double Rhigh);
void SetnbinGamma(G4int nbin);
void SetElowGamma(G4double Elow);
void SetEhighGamma(G4double Ehigh);
void Setnbinzvertex(G4int nbin);
void Setzlow(G4double z);
void Setzhigh(G4double z);
void SetRndmFreq(G4int val) {saveRndm = val;}
G4int GetRndmFreq() {return saveRndm;}
private:
void bookHisto();
private:
G4String histName ;
G4double EnergySumAbs,EnergySquareSumAbs;
G4double tlSumAbs,tlsquareSumAbs;
G4double nStepSumCharged,nStepSum2Charged ;
G4double nStepSumNeutral,nStepSum2Neutral ;
G4double TotNbofEvents;
G4double SumCharged,Sum2Charged,SumNeutral,Sum2Neutral;
G4double Selectron,Spositron;
G4double Transmitted,Reflected ;
G4double entryStep,underStep,overStep,distStep[200];
G4double Steplow,Stephigh,dStep;
G4int nbinStep;
G4double entryEn,underEn,overEn,distEn[200];
G4double Enlow,Enhigh,dEn;
G4int nbinEn;
G4double entryTt,underTt,overTt,distTt[200];
G4double Ttlow,Tthigh,dTt;
G4int nbinTt;
G4double Ttmean,Tt2mean;
G4double entryTb,underTb,overTb,distTb[200];
G4double Tblow,Tbhigh,dTb;
G4int nbinTb;
G4double Tbmean,Tb2mean;
G4double entryTsec,underTsec,overTsec,distTsec[200];
G4double Tseclow,Tsechigh,dTsec;
G4int nbinTsec;
G4double entryTh,underTh,overTh,distTh[200];
G4double Thlow,Thhigh,dTh;
G4int nbinTh;
G4double entryThback,underThback,overThback,distThback[200];
G4double Thlowback,Thhighback,dThback;
G4int nbinThback;
G4double entryR ,underR ,overR ,distR[200];
G4double Rlow,Rhigh,dR;
G4int nbinR;
G4double Rmean,R2mean;
G4double entryGamma,underGamma,overGamma,distGamma[200];
G4double ElowGamma,EhighGamma,dEGamma;
G4int nbinGamma ;
G4double entryvertexz,undervertexz,oververtexz,distvertexz[200];
G4double zlow,zhigh,dz;
G4int nbinvertexz;
Em10RunMessenger* runMessenger;
G4int saveRndm;
};
#endif
@@ -1,120 +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. *
// ********************************************************************
//
/// \file electromagnetic/TestEm10/include/Em10RunMessenger.hh
/// \brief Definition of the Em10RunMessenger class
//
//
// $Id: Em10RunMessenger.hh 66241 2012-12-13 18:34:42Z gunter $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#ifndef Em10RunMessenger_h
#define Em10RunMessenger_h 1
#include "globals.hh"
#include "G4UImessenger.hh"
#include "G4ios.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class Em10RunAction;
class G4UIdirectory;
class G4UIcmdWithAnInteger;
class G4UIcmdWithADoubleAndUnit;
class G4UIcmdWithADouble;
class G4UIcmdWithAString;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class Em10RunMessenger: public G4UImessenger
{
public:
Em10RunMessenger(Em10RunAction* );
~Em10RunMessenger();
void SetNewValue(G4UIcommand* ,G4String );
private:
Em10RunAction* runAction;
G4UIdirectory* plotDir;
G4UIcmdWithAString* sethistNameCmd;
G4UIcmdWithAnInteger* setnbinStepCmd;
G4UIcmdWithADouble* setSteplowCmd;
G4UIcmdWithADouble* setStephighCmd;
G4UIcmdWithAnInteger* setnbinEnCmd;
G4UIcmdWithADoubleAndUnit* setEnlowCmd;
G4UIcmdWithADoubleAndUnit* setEnhighCmd;
G4UIcmdWithAnInteger* setnbinGammaCmd;
G4UIcmdWithADoubleAndUnit* setElowGammaCmd;
G4UIcmdWithADoubleAndUnit* setEhighGammaCmd;
G4UIcmdWithAnInteger* setnbinTtCmd;
G4UIcmdWithADoubleAndUnit* setTtlowCmd;
G4UIcmdWithADoubleAndUnit* setTthighCmd;
G4UIcmdWithAnInteger* setnbinTbCmd;
G4UIcmdWithADoubleAndUnit* setTblowCmd;
G4UIcmdWithADoubleAndUnit* setTbhighCmd;
G4UIcmdWithAnInteger* setnbinTsecCmd;
G4UIcmdWithADoubleAndUnit* setTseclowCmd;
G4UIcmdWithADoubleAndUnit* setTsechighCmd;
G4UIcmdWithAnInteger* setnbinRCmd;
G4UIcmdWithADoubleAndUnit* setRlowCmd;
G4UIcmdWithADoubleAndUnit* setRhighCmd;
G4UIcmdWithAnInteger* setnbinThCmd;
G4UIcmdWithADoubleAndUnit* setThlowCmd;
G4UIcmdWithADoubleAndUnit* setThhighCmd;
G4UIcmdWithAnInteger* setnbinThbackCmd;
G4UIcmdWithADoubleAndUnit* setThlowbackCmd;
G4UIcmdWithADoubleAndUnit* setThhighbackCmd;
G4UIcmdWithAnInteger* setnbinzvertexCmd;
G4UIcmdWithADoubleAndUnit* setzlowCmd;
G4UIcmdWithADoubleAndUnit* setzhighCmd;
G4UIdirectory* RndmDir;
G4UIcmdWithAnInteger* RndmSaveCmd;
G4UIcmdWithAString* RndmReadCmd;
};
#endif
@@ -1,130 +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. *
// ********************************************************************
//
/// \file electromagnetic/TestEm10/include/Em10StepCut.hh
/// \brief Definition of the Em10StepCut class
//
//
// $Id: Em10StepCut.hh 66241 2012-12-13 18:34:42Z gunter $
//
//
#ifndef Em10StepCut_h
#define Em10StepCut_h 1
#include "G4ios.hh"
#include "globals.hh"
#include "G4VDiscreteProcess.hh"
#include "G4Step.hh"
class Em10StepCut : public G4VDiscreteProcess
{
public:
Em10StepCut(const G4String& processName ="UserStepCut" );
Em10StepCut(Em10StepCut &);
~Em10StepCut();
G4double PostStepGetPhysicalInteractionLength(
const G4Track& track,
G4double previousStepSize,
G4ForceCondition* condition
);
G4VParticleChange* PostStepDoIt(
const G4Track& ,
const G4Step&
);
void SetMaxStep(G4double);
protected:
// it is not needed here !
G4double GetMeanFreePath(const G4Track& aTrack,
G4double previousStepSize,
G4ForceCondition* condition
);
private:
// hide assignment operator as private
Em10StepCut & operator=(const Em10StepCut &right);
private:
G4double MaxChargedStep ;
};
// inlined function members implementation
#include "G4Step.hh"
#include "G4Track.hh"
#include "G4UserLimits.hh"
#include "G4VParticleChange.hh"
#include "G4EnergyLossTables.hh"
inline G4double Em10StepCut::PostStepGetPhysicalInteractionLength(
const G4Track& aTrack,
G4double,
G4ForceCondition* condition
)
{
// condition is set to "Not Forced"
*condition = NotForced;
G4double ProposedStep = DBL_MAX;
if((MaxChargedStep > 0.) &&
(aTrack.GetVolume() != NULL) &&
(aTrack.GetVolume()->GetName() == "Absorber") &&
(aTrack.GetDynamicParticle()->GetDefinition()->GetPDGCharge() != 0.))
ProposedStep = MaxChargedStep ;
return ProposedStep;
}
inline G4VParticleChange* Em10StepCut::PostStepDoIt(
const G4Track& aTrack,
const G4Step&
)
{
// do nothing
aParticleChange.Initialize(aTrack);
return &aParticleChange;
}
inline G4double Em10StepCut::GetMeanFreePath(const G4Track&,
G4double,
G4ForceCondition*
)
{
return 0.;
}
#endif
@@ -1,68 +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. *
// ********************************************************************
//
/// \file electromagnetic/TestEm10/include/Em10SteppingVerbose.hh
/// \brief Definition of the Em10SteppingVerbose class
//
//
// $Id: Em10SteppingVerbose.hh 66241 2012-12-13 18:34:42Z gunter $
//
//
//---------------------------------------------------------------
//
// Em10SteppingVerbose.hh
//
// Description:
// This class manages the vervose outputs in G4SteppingManager.
//
//
// Contact:
// Questions and comments to this code should be sent to
// Katsuya Amako (e-mail: Katsuya.Amako@kek.jp)
// Takashi Sasaki (e-mail: Takashi.Sasaki@kek.jp)
//
//---------------------------------------------------------------
class Em10SteppingVerbose;
#ifndef Em10SteppingVerbose_h
#define Em10SteppingVerbose_h 1
#include "G4SteppingVerbose.hh"
class Em10SteppingVerbose : public G4SteppingVerbose
{
public:
// Constructor/Destructor
Em10SteppingVerbose();
~Em10SteppingVerbose();
void StepInfo();
void TrackingStarted();
};
#endif
@@ -0,0 +1,65 @@
//
// ********************************************************************
// * 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/TestEm10/include/EventAction.hh
/// \brief Definition of the EventAction class
//
//
// $Id: EventAction.hh 94932 2015-12-18 09:21:29Z gcosmo $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#ifndef EventAction_h
#define EventAction_h 1
#include "G4UserEventAction.hh"
#include "globals.hh"
class RunAction;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class EventAction : public G4UserEventAction
{
public:
EventAction(RunAction* runAction);
~EventAction();
virtual void BeginOfEventAction(const G4Event*);
virtual void EndOfEventAction(const G4Event*);
void SetVerboseLevel(G4int level) { fVerboseLevel = level; }
private:
RunAction* fRunAction;
G4int fVerboseLevel;
};
#endif
@@ -23,42 +23,44 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: Em10Materials.hh 66587 2012-12-21 11:06:44Z ihrivnac $
// $Id: Materials.hh 94932 2015-12-18 09:21:29Z gcosmo $
//
/// \file electromagnetic/TestEm10/include/Em10Materials.hh
/// \brief Definition of the Em10Materials class
/// \file electromagnetic/TestEm10/include/Materials.hh
/// \brief Definition of the Materials class
//
//
// -------------------------------------------------------------
// GEANT 4 class
//
// ---------- Em10Materials-------
// ---------- Materials-------
// Originally Created in Test30 by Vladimir Ivanchenko, 12 March 2002
//
// Modified for TestEm10 by V. Grichine, 30 Jan 2006
// Modified for Test by V. Grichine, 30 Jan 2006
//
//
#ifndef Em10Materials_h
#define Em10Materials_h 1
#ifndef Materials_h
#define Materials_h 1
#include "globals.hh"
class G4Material;
class Em10Materials
class Materials
{
public:
Em10Materials();
~Em10Materials();
Materials();
~Materials();
static Materials* GetInstance();
G4Material* GetMaterial(const G4String&);
G4Material* GetMaterial(const G4String&);
private:
void Initialise();
void Initialise();
static Materials* fgInstance;
};
#endif
@@ -23,55 +23,68 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm10/include/Em10PhysicsListMessenger.hh
/// \brief Definition of the Em10PhysicsListMessenger class
/// \file electromagnetic/TestEm10/include/PhysicsList.hh
/// \brief Definition of the PhysicsList class
//
// $Id: PhysicsList.hh 94932 2015-12-18 09:21:29Z gcosmo $
//
// $Id: Em10PhysicsListMessenger.hh 73033 2013-08-15 09:24:45Z gcosmo $
//---------------------------------------------------------------------------
//
// ClassName: PhysicsList
//
// Description: EM physics with a possibility to add transition radiation
//
// Author: V.Ivanchenko 16.12.2015
//
//----------------------------------------------------------------------------
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#ifndef Em10PhysicsListMessenger_h
#define Em10PhysicsListMessenger_h 1
#ifndef PhysicsList_h
#define PhysicsList_h 1
#include "G4VModularPhysicsList.hh"
#include "globals.hh"
#include "G4UImessenger.hh"
class Em10PhysicsList;
class G4UIcmdWithoutParameter;
class G4UIcmdWithADouble;
class G4UIcmdWithADoubleAndUnit;
class G4UIcmdWithAString;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class G4VPhysicsConstructor;
class PhysicsListMessenger;
class TransitionRadiationPhysics;
class StepMax;
class DetectorConstruction;
class Em10PhysicsListMessenger: public G4UImessenger
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class PhysicsList: public G4VModularPhysicsList
{
public:
Em10PhysicsListMessenger(Em10PhysicsList*);
~Em10PhysicsListMessenger();
public:
PhysicsList(DetectorConstruction* ptr);
virtual ~PhysicsList();
virtual void ConstructParticle();
virtual void ConstructProcess();
void SetNewValue(G4UIcommand*, G4String);
private:
Em10PhysicsList* Em10List;
void AddPhysicsList(const G4String& name);
G4UIcmdWithADoubleAndUnit* setMaxStepCmd;
void SetXTRModel(const G4String& name);
G4UIcmdWithADoubleAndUnit* cutGCmd;
G4UIcmdWithADoubleAndUnit* cutECmd;
G4UIcmdWithADoubleAndUnit* eCmd;
private:
G4UIcmdWithADoubleAndUnit* ElectronCutCmd;
G4UIcmdWithADoubleAndUnit* PositronCutCmd;
G4UIcmdWithADoubleAndUnit* GammaCutCmd;
void AddStepMax();
G4UIcmdWithADoubleAndUnit* RadiatorCutCmd;
G4UIcmdWithADoubleAndUnit* DetectorCutCmd;
G4UIcmdWithAString* XTRModelCmd;
G4VPhysicsConstructor* fEmPhysicsList;
G4VPhysicsConstructor* fDecayPhysicsList;
TransitionRadiationPhysics* fXTRPhysicsList;
G4String fEmName;
G4int fVerbose;
PhysicsListMessenger* fMessenger;
static G4ThreadLocal StepMax* fStepMaxProcess;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -23,46 +23,43 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm10/include/Em10SteppingAction.hh
/// \brief Definition of the Em10SteppingAction class
/// \file electromagnetic/TestEm10/include/PhysicsListMessenger.hh
/// \brief Definition of the PhysicsListMessenger class
//
//
// $Id: Em10SteppingAction.hh 90463 2015-06-01 09:33:38Z gcosmo $
// $Id: PhysicsListMessenger.hh 94932 2015-12-18 09:21:29Z gcosmo $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#ifndef Em10SteppingAction_h
#define Em10SteppingAction_h 1
#ifndef PhysicsListMessenger_h
#define PhysicsListMessenger_h 1
#include "G4UserSteppingAction.hh"
#include "G4Event.hh"
#include "G4EventManager.hh"
#include "G4ios.hh"
#include "globals.hh"
#include "G4UImessenger.hh"
class Em10RunAction;
class Em10EventAction;
class PhysicsList;
class G4UIcmdWithAString;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class Em10SteppingAction : public G4UserSteppingAction
class PhysicsListMessenger: public G4UImessenger
{
public:
Em10SteppingAction(Em10EventAction*,
Em10RunAction* );
virtual ~Em10SteppingAction();
void UserSteppingAction(const G4Step*);
PhysicsListMessenger(PhysicsList*);
~PhysicsListMessenger();
void SetNewValue(G4UIcommand*, G4String);
private:
Em10EventAction* eventaction;
Em10RunAction* runaction;
G4long IDnow,IDold;
PhysicsList* fList;
G4UIcmdWithAString* fXTRModelCmd;
G4UIcmdWithAString* fListCmd;
};
#endif
@@ -0,0 +1,60 @@
//
// ********************************************************************
// * 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/TestEm10/include/PrimaryGeneratorAction.hh
/// \brief Definition of the PrimaryGeneratorAction class
//
//
// $Id: PrimaryGeneratorAction.hh 94932 2015-12-18 09:21:29Z gcosmo $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#ifndef PrimaryGeneratorAction_h
#define PrimaryGeneratorAction_h 1
#include "G4VUserPrimaryGeneratorAction.hh"
class G4ParticleGun;
class G4Event;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
{
public:
PrimaryGeneratorAction();
~PrimaryGeneratorAction();
public:
virtual void GeneratePrimaries(G4Event*);
private:
G4ParticleGun* fParticleGun;
};
#endif
@@ -23,39 +23,36 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm10/src/Em10StepCut.cc
/// \brief Implementation of the Em10StepCut class
/// \file electromagnetic/TestEm10/include/DetectorConstruction.hh
/// \brief Definition of the DetectorConstruction class
//
//
// $Id: Em10StepCut.cc 66241 2012-12-13 18:34:42Z gunter $
// $Id: DetectorConstruction.hh 72513 2013-07-24 20:37:54Z gum $
//
//
#include "Em10StepCut.hh"
#ifndef RadiatorDescription_h
#define RadiatorDescription_h 1
#include "G4Step.hh"
#include "G4UserLimits.hh"
#include "G4VParticleChange.hh"
#include "G4EnergyLossTables.hh"
#include "globals.hh"
Em10StepCut::Em10StepCut(const G4String& aName)
: G4VDiscreteProcess(aName),MaxChargedStep(DBL_MAX)
class G4LogicalVolume;
class G4Material;
struct RadiatorDescription
{
if (verboseLevel>0) {
G4cout << GetProcessName() << " is created "<< G4endl;
}
}
RadiatorDescription()
: fLogicalVolume(0), fFoilMaterial(0), fGasMaterial(0),
fFoilThickness(0.), fGasThickness(0.), fFoilNumber(0) {}
Em10StepCut::~Em10StepCut()
{
}
G4LogicalVolume* fLogicalVolume;
G4Material* fFoilMaterial;
G4Material* fGasMaterial;
G4double fFoilThickness;
G4double fGasThickness;
G4int fFoilNumber;
};
Em10StepCut::Em10StepCut(Em10StepCut& right)
:G4VDiscreteProcess(right)
{}
void Em10StepCut::SetMaxStep(G4double step)
{
MaxChargedStep = step ;
}
#endif
@@ -0,0 +1,71 @@
//
// ********************************************************************
// * 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/TestEm10/include/RunAction.hh
/// \brief Definition of the RunAction class
//
//
// $Id: RunAction.hh 94932 2015-12-18 09:21:29Z gcosmo $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#ifndef RunAction_h
#define RunAction_h 1
#include "G4UserRunAction.hh"
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class RunMessenger;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class RunAction : public G4UserRunAction
{
public:
RunAction();
~RunAction();
public:
virtual void BeginOfRunAction(const G4Run*);
virtual void EndOfRunAction(const G4Run*);
void SetRndmFreq(G4int val) { fRndmFreq = val; }
G4int GetRndmFreq() { return fRndmFreq; }
private:
// methods
void BookHisto();
// data members
RunMessenger* fRunMessenger;
G4int fRndmFreq;
};
#endif
@@ -23,43 +23,47 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm10/include/Em10EventActionMessenger.hh
/// \brief Definition of the Em10EventActionMessenger class
/// \file electromagnetic/TestEm10/include/RunMessenger.hh
/// \brief Definition of the RunMessenger class
//
//
// $Id: RunMessenger.hh 94932 2015-12-18 09:21:29Z gcosmo $
//
//
// $Id: Em10EventActionMessenger.hh 66241 2012-12-13 18:34:42Z gunter $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#ifndef Em10EventActionMessenger_h
#define Em10EventActionMessenger_h 1
#ifndef RunMessenger_h
#define RunMessenger_h 1
#include "globals.hh"
#include "G4UImessenger.hh"
class Em10EventAction;
class G4UIcmdWithAString;
class G4UIcmdWithAnInteger;
class G4UIcmdWithADoubleAndUnit;
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class Em10EventActionMessenger: public G4UImessenger
class RunAction;
class G4UIdirectory;
class G4UIcmdWithAnInteger;
class G4UIcmdWithAString;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class RunMessenger: public G4UImessenger
{
public:
Em10EventActionMessenger(Em10EventAction*);
~Em10EventActionMessenger();
void SetNewValue(G4UIcommand*, G4String);
RunMessenger(RunAction* runAction);
~RunMessenger();
virtual void SetNewValue(G4UIcommand* ,G4String );
private:
Em10EventAction* eventAction;
G4UIcmdWithAnInteger* setVerboseCmd;
G4UIcmdWithAString* DrawCmd;
G4UIcmdWithAnInteger* PrintCmd;
RunAction* fRunAction;
G4UIdirectory* fRndmDir;
G4UIcmdWithAnInteger* fRndmSaveCmd;
G4UIcmdWithAString* fRndmReadCmd;
};
#endif
@@ -23,48 +23,44 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm10/include/Em10CalorimeterSD.hh
/// \brief Definition of the Em10CalorimeterSD class
/// \file electromagnetic/TestEm10/include/SensitiveDetector.hh
/// \brief Definition of the SensitiveDetector class
//
//
// $Id: Em10CalorimeterSD.hh 66241 2012-12-13 18:34:42Z gunter $
// $Id: SensitiveDetector.hh 94932 2015-12-18 09:21:29Z gcosmo $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#ifndef Em10CalorimeterSD_h
#define Em10CalorimeterSD_h 1
#ifndef SensitiveDetector_h
#define SensitiveDetector_h 1
#include "G4VSensitiveDetector.hh"
#include "globals.hh"
class Em10DetectorConstruction;
class DetectorConstruction;
class G4HCofThisEvent;
class G4Step;
#include "Em10CalorHit.hh"
class G4LogicalVolume;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class Em10CalorimeterSD : public G4VSensitiveDetector
class SensitiveDetector : public G4VSensitiveDetector
{
public:
Em10CalorimeterSD(G4String, Em10DetectorConstruction* );
~Em10CalorimeterSD();
SensitiveDetector(G4String);
~SensitiveDetector();
void Initialize(G4HCofThisEvent*);
G4bool ProcessHits(G4Step*,G4TouchableHistory*);
void EndOfEvent(G4HCofThisEvent*);
void clear();
void PrintAll();
virtual void Initialize(G4HCofThisEvent*);
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
virtual void EndOfEvent(G4HCofThisEvent*);
private:
Em10CalorHitsCollection* CalCollection;
Em10DetectorConstruction* Detector;
G4int* HitID;
G4double fEdep;
};
#endif
@@ -0,0 +1,57 @@
//
// ********************************************************************
// * 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/TestEm510/include/StackingAction.hh
/// \brief Definition of the StackingAction class
//
// $Id: StackingAction.hh 83921 2014-09-23 09:14:40Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef StackingAction_h
#define StackingAction_h 1
#include "G4UserStackingAction.hh"
#include "globals.hh"
class EventAction;
class StackingMessenger;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class StackingAction : public G4UserStackingAction
{
public:
StackingAction();
~StackingAction();
virtual G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track*);
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -23,13 +23,13 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm10/include/StepMax.hh
/// \file electromagnetic/TestEm8/include/StepMax.hh
/// \brief Definition of the StepMax class
//
// $Id: StepMax.hh 66241 2012-12-13 18:34:42Z gunter $
// $Id: StepMax.hh 94932 2015-12-18 09:21:29Z gcosmo $
//
//
/////////////////////////////////////////////////////////////////////////////////.
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef StepMax_h
#define StepMax_h 1
@@ -39,50 +39,42 @@
#include "G4ParticleDefinition.hh"
#include "G4Step.hh"
class Histo;
// class G4VPhysicalVolume;
// class StepMaxMessenger;
class StepMaxMessenger;
////////////////////////////////////////////////////////////////////////////////
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class StepMax : public G4VDiscreteProcess
{
public:
public:
StepMax(const G4String& processName = "UserMaxStep");
~StepMax();
StepMax(const G4String& processName = "UserMaxStep");
~StepMax();
G4bool IsApplicable(const G4ParticleDefinition&);
void SetMaxStep(G4double);
void SetMaxStep(G4double);
inline G4double GetMaxStep() { return fMaxChargedStep; };
G4double GetMaxStep() {return MaxChargedStep;};
virtual G4bool IsApplicable(const G4ParticleDefinition&);
G4double PostStepGetPhysicalInteractionLength( const G4Track& track,
G4double previousStepSize,
G4ForceCondition* condition);
virtual G4double
PostStepGetPhysicalInteractionLength(const G4Track& track,
G4double previousStepSize,
G4ForceCondition* condition);
G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&);
virtual G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&);
G4double GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*)
{return 0.;}; // it is not needed here !
virtual G4double
GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*);
private:
private:
G4double MaxChargedStep;
G4double ProposedStep;
G4double thDensity;
G4double fMaxChargedStep;
G4double fProposedStep;
// StepMaxMessenger* pMess;
// Histo* histo;
G4VPhysicalVolume* checkVolume;
G4VPhysicalVolume* gasVolume;
G4bool first;
StepMaxMessenger* fMessenger;
};
////////////////////////////////////////////////////////////////////////////////////
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -0,0 +1,61 @@
//
// ********************************************************************
// * 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/TestEm8/include/StepMaxMessenger.hh
/// \brief Definition of the StepMaxMessenger class
//
// $Id: StepMaxMessenger.hh 67268 2013-02-13 11:38:40Z ihrivnac $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef StepMaxMessenger_h
#define StepMaxMessenger_h 1
#include "globals.hh"
#include "G4UImessenger.hh"
class StepMax;
class G4UIcmdWithADoubleAndUnit;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class StepMaxMessenger: public G4UImessenger
{
public:
StepMaxMessenger(StepMax*);
~StepMaxMessenger();
virtual void SetNewValue(G4UIcommand*, G4String);
private:
StepMax* fStepMax;
G4UIcmdWithADoubleAndUnit* fStepMaxCmd;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -1,126 +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. *
// ********************************************************************
//
/// \file electromagnetic/TestEm10/include/TRTMaterials.hh
/// \brief Definition of the TRTMaterials class
//
//
// $Id: TRTMaterials.hh 66241 2012-12-13 18:34:42Z gunter $
//
//
#ifndef TRT_MATERIALS_HH
#define TRT_MATERIALS_HH
//--------- Material definition ---------
G4double a, iz, z, density;
G4String name, symbol;
G4int nel, nComponents;
a = 14.01*g/mole;
G4Element* elN = new G4Element(name="Nitrogen", symbol="N", iz=7., a);
a = 16.00*g/mole;
G4Element* elO = new G4Element(name="Oxygen", symbol="O", iz=8., a);
a = 12.01*g/mole;
G4Element* elC = new G4Element(name="Carbon", symbol="C", iz=6., a);
a = 1.01*g/mole;
G4Element* elH = new G4Element(name="Hydrogen", symbol="H", iz=1., a);
a = 131.29*g/mole;
G4Element* elXe = new G4Element(name="Xenon", symbol="Xe", iz=54., a);
a = 19.00*g/mole;
G4Element* elF = new G4Element(name="Fluorine", symbol="F", iz=9., a);
density = 1.205*mg/cm3;
G4Material* Air = new G4Material(name="Air", density, nel=2,
kStateGas,293.15*kelvin,1.*atmosphere);
Air->AddElement(elN, .7);
Air->AddElement(elO, .3);
density = 1.39*g/cm3;
G4Material* Kapton = new G4Material(name="Kapton", density, nel=3);
Kapton->AddElement(elO,2);
Kapton->AddElement(elC,5);
Kapton->AddElement(elH,4);
a = 63.55*g/mole;
density = 8.96*g/cm3;
G4Material* Copper = new G4Material(name="Copper", z=29.,a, density);
a = 26.98*g/mole;
density = 2.7*g/cm3;
G4Material* Al = new G4Material(name="Aluminum", z=13., a, density);
a = 28.09*g/mole;
density = 2.33*g/cm3;
G4Material* Si = new G4Material(name="Silicon", z=14., a, density);
density = 1.977*mg/cm3;
G4Material* CO2 = new G4Material(name="CO2", density, nel=2,
kStateGas,273.15*kelvin,1.*atmosphere);
CO2->AddElement(elC,1);
CO2->AddElement(elO,2);
G4double TRT_Xe_density = 5.485*mg/cm3;
G4Material* TRT_Xe = new G4Material(name="TRT_Xe", TRT_Xe_density, nel=1,
kStateGas,293.15*kelvin,1.*atmosphere);
TRT_Xe->AddElement(elXe,1);
G4double TRT_CO2_density = 1.842*mg/cm3;
G4Material* TRT_CO2 = new G4Material(name="TRT_CO2", TRT_CO2_density, nel=2,
kStateGas,293.15*kelvin,1.*atmosphere);
TRT_CO2->AddElement(elC,1);
TRT_CO2->AddElement(elO,2);
G4double TRT_CF4_density = 3.9*mg/cm3;
G4Material* TRT_CF4 = new G4Material(name="TRT_CF4", TRT_CF4_density, nel=2,
kStateGas,293.15*kelvin,1.*atmosphere);
TRT_CF4->AddElement(elC,1);
TRT_CF4->AddElement(elF,4);
G4double XeCO2CF4_density = 4.76*mg/cm3;
G4Material* XeCO2CF4 = new G4Material(name="XeCO2CF4", XeCO2CF4_density,
nComponents=3,
kStateGas,293.15*kelvin,1.*atmosphere);
XeCO2CF4->AddMaterial(TRT_Xe,0.807);
XeCO2CF4->AddMaterial(TRT_CO2,0.039);
XeCO2CF4->AddMaterial(TRT_CF4,0.154);
density = 0.935*g/cm3;
G4Material* TRT_CH2 = new G4Material(name="TRT_CH2",density, nel=2);
TRT_CH2->AddElement(elC,1);
TRT_CH2->AddElement(elH,2);
density = 0.059*g/cm3;
G4Material* Radiator = new G4Material(name="Radiator",density, nel=2);
Radiator->AddElement(elC,1);
Radiator->AddElement(elH,2);
density = 0.145*g/cm3;
G4Material* CarbonFiber = new G4Material(name="CarbonFiber",density, nel=1);
CarbonFiber->AddElement(elC,1);
#endif
@@ -0,0 +1,81 @@
//
// ********************************************************************
// * 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/TestEm10/include/TransitionRadiationPhysics.hh
/// \brief Definition of the TransitionRadiationPhysics class
//
// $Id: TransitionRadiationPhysics.hh 66241 2012-12-13 18:34:42Z gunter $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef TransitionRadiationPhysics_h
#define TransitionRadiationPhysics_h 1
#include "G4VPhysicsConstructor.hh"
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class G4VXTRenergyLoss;
class DetectorConstruction;
class TransitionRadiationPhysics : public G4VPhysicsConstructor
{
public:
TransitionRadiationPhysics(G4int verb, DetectorConstruction* ptr);
virtual ~TransitionRadiationPhysics();
// This method is dummy for physics
virtual void ConstructParticle() {};
// This method will be invoked in the Construct() method.
// each physics process will be instantiated and
// registered to the process manager of each particle type
virtual void ConstructProcess();
inline void SetXTRModel(const G4String& name) { fXTRModel = name; };
private:
DetectorConstruction* fDetector;
G4int fVerbose;
G4String fXTRModel;
static G4ThreadLocal G4VXTRenergyLoss* fXTRProcess;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -23,10 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: Em10XTRTransparentRegRadModel.hh 66587 2012-12-21 11:06:44Z ihrivnac $
// $Id: XTRTransparentRegRadModel.hh 94932 2015-12-18 09:21:29Z gcosmo $
//
/// \file electromagnetic/TestEm10/include/Em10XTRTransparentRegRadModel.hh
/// \brief Definition of the Em10XTRTransparentRegRadModel class
/// \file electromagnetic/TestEm10/include/XTRTransparentRegRadModel.hh
/// \brief Definition of the XTRTransparentRegRadModel class
//
//
///////////////////////////////////////////////////////////////////////////
@@ -45,19 +45,19 @@
//
#ifndef Em10XTRTransparentRegRadModel_h
#define Em10XTRTransparentRegRadModel_h 1
#ifndef XTRTransparentRegRadModel_h
#define XTRTransparentRegRadModel_h 1
#include "G4VXTRenergyLoss.hh"
class Em10XTRTransparentRegRadModel : public G4VXTRenergyLoss
class XTRTransparentRegRadModel : public G4VXTRenergyLoss
{
public:
Em10XTRTransparentRegRadModel (G4LogicalVolume *anEnvelope,G4Material*,G4Material*,
XTRTransparentRegRadModel (G4LogicalVolume *anEnvelope,G4Material*,G4Material*,
G4double,G4double,G4int,
const G4String & processName = "XTRTransparentRegRadModel");
~Em10XTRTransparentRegRadModel ();
~XTRTransparentRegRadModel ();
// reimplementation of base class function in analytical way
@@ -1,148 +0,0 @@
#
# Macro file 'run11.mac' for the initialization phase of "TestEm10.cc"
#
/control/verbose 2
#
#control/saveHistory
#
/run/verbose 2
#
#/run/initialize
#
# Parameters of MWPC detector: material and its thickness
# Xe55He15CH4, Xe10CH4, Xe20CH4, Xe5CH4, Xe20CO2, Kr20CO2
# Kr7CH4, Ar7CH4, XeArCH4
#
#/XTRdetector/setAbsMat Xe10CH4
#/XTRdetector/setAbsThick 30.0 mm
#/XTRdetector/setWorldZ 4000.0 mm
#
# Parameters of Radiator (default mm)
# TRT_CH2, Radiator, CarbonFiber, Li, Be, Mylar, Kapton ?, CH2
# Air, CO2, He, Ne, Kr, Ar, Xe,
#
#/XTRdetector/setRadMat Li
#/XTRdetector/setWorldMat He
#/XTRdetector/setRadThick 0.04 mm
#/XTRdetector/setGasGapThick 0.126 mm
#/XTRdetector/setFoilNum 300
#
# Selection of XTR parametrisation model: 1-10
# TRmodel/XTRdEdx: Foam 1/2, GamDistr 3/4, Irr 5/6, Plate 7/8, Reg 9/10, no model 0
#
#/XTRdetector/setModel 0
#
# Update geometry after changing its parametrs
#
#/XTRdetector/update
# window: Mylar 51 micron
# PLOT: energy deposit distribution in absorber (g4.11)
#
/plots/sethistName g4.p11
/plots/setnbinEn 35
/plots/setEnlow 0.0 MeV
/plots/setEnhigh 0.07 MeV
#
#
# Change and choice of experimental setups. Can be
# simpleALICE.,
#
#
/XTRdetector/setup simpleALICE
#
# these commands do not change energy cuts???
#
# Set XTR model (default: transpM). Name list consits:
# gammaR, gammaM, regR, regM, strawR, transpR, transpM
#
# R - XTR dE/dx models, M - XTR flux after radiator models
#
#/emphyslist/setXTRModel transpM
#/emphyslist/setXTRModel transpR
/emphyslist/setXTRModel gammaM
#/emphyslist/setXTRModel gammaR
#/emphyslist/setXTRModel strawR
#/emphyslist/setXTRModel regM
#/emphyslist/setXTRModel regR
#
#/emphyslist/eMinEnergy 100.
#/emphyslist/gMinEnergy 100.
#
#/run/initialize
#
#/run/particle/dumpCutValues
#
/run/particle/applyCuts
#
# set cuts in XTR radiator
#
/emphyslist/setGammaCut 1.0
/emphyslist/setElectronCut 100.0
/emphyslist/setPositronCut 100.
/emphyslist/setRadiatorCuts 1.
#
# set cuts in XTR detector
#
/emphyslist/setGammaCut 100.0
/emphyslist/setElectronCut 100.0
/emphyslist/setPositronCut 100.
/emphyslist/setDetectorCuts 1.
#
/run/initialize
#
#/XTRdetector/update
#
#Innactivate some processes: msc eIoni eBrem RegularXTRadiator
# hIoni
#
# (switch off dEdx and msc always together!)
#
/process/inactivate msc
/process/inactivate eIoni
/process/inactivate hIoni
#
#/process/inactivate eBrem
#
# Inactivate gamma processes
#
#/process/inactivate phot
#/process/inactivate compt
#/process/inactivate conv
#
#/process/inactivate RegularXTRadiator
#
#/process/inactivate GammaXTRadiator
#
#/process/eLoss/fluct false
#
#/process/verbose 1
#
#
# Particle and its energy
#
/gun/particle e-
/gun/energy 2000.0 MeV
#
#/gun/particle proton
#/gun/energy 6000000.0 MeV
#
#/tracking/verbose 2
#
/event/printModulo 1000
/run/beamOn 5000
#
#/run/beamOn 1
#/process/inactivate eIoni
#/process/inactivate eBrem
#
#
@@ -9,10 +9,13 @@
#
# PLOT: energy deposit distribution in absorber (g4.11)
#
/plots/sethistName g4.p11
/plots/setnbinEn 35
/plots/setEnlow 0.0 MeV
/plots/setEnhigh 0.07 MeV
/analysis/setFileName salice
/analysis/h1/set 1 100 0.00 0.1 MeV # Edep
/analysis/h1/set 2 100 0.00 0.1 MeV # XTR gamma
/analysis/h1/set 3 100 0.00 0.1 MeV # all gamma
/analysis/h1/set 4 100 0.00 0.1 MeV # all e-
/analysis/h1/set 5 35 0.00 0.07 MeV # En (Edep with original limits)
#
#
# Change and choice of experimental setups. Can be
@@ -42,22 +45,16 @@
#
/run/particle/applyCuts
#
# set cuts in XTR radiator
#
/emphyslist/setGammaCut 1.0
/emphyslist/setElectronCut 100.0
/emphyslist/setPositronCut 100.
/emphyslist/setRadiatorCuts 1.
#
# set cuts in XTR detector
#
/emphyslist/setGammaCut 100.0
/emphyslist/setElectronCut 100.0
/emphyslist/setPositronCut 100.
/emphyslist/setDetectorCuts 1.
#
/run/initialize
#
# set cuts
#
/run/setCut 100.
/run/setCutForRegion Radiator 1.
/run/setCutForRegion Absorber 1.
#
#/hits/verbose 1
#
#/XTRdetector/update
#
#Innactivate some processes: msc eIoni eBrem RegularXTRadiator
@@ -94,7 +91,7 @@
#/tracking/verbose 2
#
/event/printModulo 1000
/run/printProgress 1000
/run/beamOn 5000
#
@@ -0,0 +1,247 @@
//
// ********************************************************************
// * 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/TestEm10/src/DetectorALICE06.cc
/// \brief Implementation of the DetectorALICE06 class
//
//
// $Id: DetectorALICE06.cc 72517 2013-07-24 23:01:29Z gum $
//
//
#include "DetectorALICE06.hh"
#include "SensitiveDetector.hh"
#include "Materials.hh"
#include "G4Material.hh"
#include "G4Box.hh"
#include "G4LogicalVolume.hh"
#include "G4PVPlacement.hh"
#include "G4UniformMagField.hh"
#include "G4FieldManager.hh"
#include "G4TransportationManager.hh"
#include "G4SDManager.hh"
#include "G4Region.hh"
#include "G4UnitsTable.hh"
#include "G4SystemOfUnits.hh"
#include "G4ios.hh"
#include <cmath>
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
DetectorALICE06::DetectorALICE06()
: fRadiatorDescription(0)
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
DetectorALICE06::~DetectorALICE06()
{
// delete fRadiatorDescription;
// the description is deleted in detector construction
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4VPhysicalVolume* DetectorALICE06::Construct()
{
// Geometry parameters
//
G4cout << "DetectorALICE06 setup" << G4endl;
G4double worldSizeZ = 600.*cm;
G4double worldSizeR = 22.*cm;
// Radiator and detector parameters
G4double radThickness = 0.020*mm;
G4double gasGap = 0.500*mm;
G4double foilGasRatio = radThickness/(radThickness+gasGap);
G4int foilNumber = 120;
G4double absorberThickness = 37*mm;
G4double absorberRadius = 100.*mm;
G4double electrodeThick = 100.0*micrometer;
G4double pipeLength = 160.0*cm;
G4double mylarThick = 20.0*micrometer;
G4double detGap = 0.01*mm;
G4double startZ = 100.0*mm;
// Materials
//
// Change to create materials using NIST
G4Material* air = Materials::GetInstance()->GetMaterial("Air");
G4Material* ch2 = Materials::GetInstance()->GetMaterial("CH2");
G4Material* xe15CO2 = Materials::GetInstance()->GetMaterial("Xe15CO2");
G4double foilDensity = ch2->GetDensity();
G4double gasDensity = air->GetDensity();
G4double totDensity = foilDensity*foilGasRatio
+ gasDensity*(1.0-foilGasRatio);
G4double fractionFoil = foilDensity*foilGasRatio/totDensity;
G4double fractionGas = 1.0 - fractionFoil;
G4Material* radiatorMat = new G4Material("radiatorMat", totDensity, 2);
radiatorMat->AddMaterial(ch2, fractionFoil);
radiatorMat->AddMaterial(air, fractionGas);
// Radiator description
fRadiatorDescription = new RadiatorDescription;
fRadiatorDescription->fFoilMaterial = ch2; // CH2; // Kapton; // Mylar ; // Li ; // CH2 ;
fRadiatorDescription->fGasMaterial = air; // CO2; // He; //
fRadiatorDescription->fFoilThickness = radThickness;
fRadiatorDescription->fGasThickness = gasGap;
fRadiatorDescription->fFoilNumber = foilNumber;
G4Material* worldMaterial = air; // CO2;
G4Material* absorberMaterial = xe15CO2;
// Volumes
//
G4VSolid* solidWorld
= new G4Box("World", worldSizeR, worldSizeR, worldSizeZ/2.);
G4LogicalVolume* logicWorld
= new G4LogicalVolume(solidWorld, worldMaterial, "World");
G4VPhysicalVolume* physicsWorld
= new G4PVPlacement(0, G4ThreeVector(), "World", logicWorld, 0, false, 0);
// TR radiator envelope
G4double radThick = foilNumber*(radThickness + gasGap) - gasGap + detGap;
G4double radZ = startZ + 0.5*radThick;
G4VSolid* solidRadiator
= new G4Box("Radiator", 1.1*absorberRadius, 1.1*absorberRadius, 0.5*radThick);
G4LogicalVolume* logicRadiator
= new G4LogicalVolume(solidRadiator, radiatorMat, "Radiator");
new G4PVPlacement(0, G4ThreeVector(0, 0, radZ),
"Radiator", logicRadiator, physicsWorld, false, 0 );
fRadiatorDescription->fLogicalVolume = logicRadiator;
// Create region for radiator
G4Region* radRegion = new G4Region("XTRradiator");
radRegion->AddRootLogicalVolume(logicRadiator);
// Drift Electrode on both sides of Radiator
// (not placed)
G4double zElectrode1 = radZ - radThick/2. - electrodeThick/2.;
G4double zElectrode2 = radZ + radThick/2. + electrodeThick/2.;
G4cout << "zElectrode1 = " << zElectrode1/mm << " mm" <<G4endl;
G4cout << "zElectrode2 = " << zElectrode2/mm << " mm" <<G4endl;
G4cout << "fElectrodeThick = " << electrodeThick/mm << " mm" << G4endl <<G4endl;
// Helium Pipe
// (not placed)
//Distance between pipe and radiator / absorber
G4double pipeDist = 1.*cm;
G4double zPipe = zElectrode2 + electrodeThick/2. + pipeDist/2. + pipeLength/2.;
G4cout << "zPipe = " << zPipe/mm << " mm" << G4endl;
G4cout << "pipeLength = " << pipeLength/mm <<" mm" << G4endl << G4endl;
// Mylar Foil on both sides of helium pipe
// (not placed)
G4double zMylar1 = zPipe - pipeLength/2. - mylarThick/2. - 0.001*mm;
G4double zMylar2 = zPipe + pipeLength/2. + mylarThick/2. + 0.001*mm;
G4cout << "zMylar1 = " << zMylar1/mm << " mm" << G4endl;
G4cout << "zMylar2 = " << zMylar2/mm << " mm" << G4endl;
G4cout << "fMylarThick = " << mylarThick/mm << " mm" << G4endl << G4endl;
// Mylar Foil on Chamber
// (not placed)
G4double zMylar = zElectrode2 + electrodeThick/2. + mylarThick/2. + 1.0*mm;
zMylar += ( pipeLength + pipeDist );
G4cout << "zMylar = " << zMylar/mm <<" mm" <<G4endl;
G4cout << "mylarThick = " << mylarThick/mm << " mm" << G4endl << G4endl;
// Absorber
G4double absorberZ = zMylar + mylarThick + absorberThickness/2.;
G4VSolid* solidAbsorber
= new G4Box("Absorber", absorberRadius, 10.*mm, absorberThickness/2.);
G4LogicalVolume* logicAbsorber
= new G4LogicalVolume(solidAbsorber, absorberMaterial, "Absorber");
new G4PVPlacement(0, G4ThreeVector(0., 0., absorberZ),
"Absorber", logicAbsorber, physicsWorld, false, 0);
G4Region* regGasDet = new G4Region("XTRdEdxDetector");
regGasDet->AddRootLogicalVolume(logicAbsorber);
// Sensitive Detectors: Absorber
SensitiveDetector* sd = new SensitiveDetector("AbsorberSD");
G4SDManager::GetSDMpointer()->AddNewDetector(sd );
logicAbsorber->SetSensitiveDetector(sd);
// Print geometry parameters
G4cout << "\n The WORLD is made of "
<< worldSizeZ/mm << "mm of " << worldMaterial->GetName();
G4cout << ", the transverse size (R) of the world is "
<< worldSizeR/mm << " mm. " << G4endl;
G4cout << " The ABSORBER is made of "
<< absorberThickness/mm << "mm of " << absorberMaterial->GetName();
G4cout << ", the transverse size (R) is "
<< absorberRadius/mm << " mm. " << G4endl;
G4cout << " Z position of the (middle of the) absorber "
<< absorberZ/mm << " mm." << G4endl;
G4cout << "radZ = " << radZ/mm << " mm" << G4endl;
G4cout << "startZ = " << startZ/mm<< " mm" << G4endl;
G4cout << "fRadThick = " << radThick/mm << " mm"<<G4endl;
G4cout << "fFoilNumber = " << foilNumber << G4endl;
G4cout << "fRadiatorMat = " << radiatorMat->GetName() << G4endl;
G4cout << "WorldMaterial = " << worldMaterial->GetName() << G4endl;
G4cout << G4endl;
return physicsWorld;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -0,0 +1,264 @@
//
// ********************************************************************
// * 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/TestEm10/src/DetectorBari05.cc
/// \brief Implementation of the DetectorBari05 class
//
//
// $Id: DetectorBari05.cc 72517 2013-07-24 23:01:29Z gum $
//
//
#include "DetectorBari05.hh"
#include "SensitiveDetector.hh"
#include "Materials.hh"
#include "G4Material.hh"
#include "G4Box.hh"
#include "G4LogicalVolume.hh"
#include "G4PVPlacement.hh"
#include "G4UniformMagField.hh"
#include "G4FieldManager.hh"
#include "G4TransportationManager.hh"
#include "G4SDManager.hh"
#include "G4Region.hh"
#include "G4UnitsTable.hh"
#include "G4SystemOfUnits.hh"
#include "G4ios.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
DetectorBari05::DetectorBari05()
: fRadiatorDescription(0)
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
DetectorBari05::~DetectorBari05()
{
// delete fRadiatorDescription;
// the description is deleted in detector construction
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4VPhysicalVolume* DetectorBari05::Construct()
{
// Geometry parameters
//
G4cout << "DetectorBari05 setup" << G4endl;
G4double worldSizeZ = 600.*cm;
G4double worldSizeR = 22.*cm;
// Radiator and detector parameters
G4double radThickness = 0.0055*mm; // Reg2
G4double gasGap = 0.23*mm; // Reg2
G4double foilGasRatio = radThickness/(radThickness+gasGap);
G4double foilNumber = 191; // Reg2
G4double absorberThickness = 0.4*mm;
G4double absorberRadius = 100.*mm;
G4double electrodeThick = 100.0*micrometer;
G4double pipeLength = 50.0*cm;
G4double mylarThick = 20.0*micrometer;
G4double detGap = 0.01*mm;
G4double startZ = 100.0*mm;
// Preparation of mixed radiator material
// Materials
//
// Change to create materials using NIST
G4Material* air = Materials::GetInstance()->GetMaterial("Air");
G4Material* ch2 = Materials::GetInstance()->GetMaterial("CH2");
G4Material* he = Materials::GetInstance()->GetMaterial("He");
G4Material* si = Materials::GetInstance()->GetMaterial("Si");
G4double foilDensity = ch2->GetDensity();
G4double gasDensity = air->GetDensity();
G4double totDensity = foilDensity*foilGasRatio
+ gasDensity*(1.0-foilGasRatio);
G4double fractionFoil = foilDensity*foilGasRatio/totDensity;
G4double fractionGas = gasDensity*(1.0-foilGasRatio)/totDensity;
G4Material* radiatorMat = new G4Material("radiatorMat", totDensity, 2);
radiatorMat->AddMaterial(ch2, fractionFoil);
radiatorMat->AddMaterial(air, fractionGas);
// Radiator description
fRadiatorDescription = new RadiatorDescription;
fRadiatorDescription->fFoilMaterial = ch2; // CH2; // Kapton; // Mylar ; // Li ; // CH2 ;
fRadiatorDescription->fGasMaterial = air; // CO2; // He; //
fRadiatorDescription->fFoilThickness = radThickness;
fRadiatorDescription->fGasThickness = gasGap;
fRadiatorDescription->fFoilNumber = foilNumber;
// pipe material is assumed to be He + small admixture of air
foilGasRatio = 0.99999;
foilDensity = 1.2928*mg/cm3; // Air
gasDensity = 0.178*mg/cm3; // He
totDensity = foilDensity*foilGasRatio + gasDensity*(1.0-foilGasRatio);
fractionFoil = foilDensity*foilGasRatio/totDensity;
fractionGas = gasDensity*(1.0-foilGasRatio)/totDensity;
G4Material* pipeMat = new G4Material("pipeMat", totDensity, 2);
pipeMat->AddMaterial(air, fractionFoil);
pipeMat->AddMaterial(he, fractionGas);
G4Material* worldMaterial = air; // CO2;
G4Material* absorberMaterial = si;
// Volumes
//
G4VSolid* solidWorld
= new G4Box("World", worldSizeR, worldSizeR, worldSizeZ/2.);
G4LogicalVolume* logicWorld
= new G4LogicalVolume(solidWorld, worldMaterial, "World");
G4VPhysicalVolume* physicsWorld
= new G4PVPlacement(0, G4ThreeVector(), "World", logicWorld, 0, false, 0);
// TR radiator envelope
G4double radThick = foilNumber*(radThickness + gasGap) - gasGap + detGap;
G4double radZ = startZ + 0.5*radThick;
G4VSolid* solidRadiator
= new G4Box("Radiator", 1.1*absorberRadius, 1.1*absorberRadius, 0.5*radThick);
G4LogicalVolume* logicRadiator
= new G4LogicalVolume(solidRadiator, radiatorMat, "Radiator");
new G4PVPlacement(0, G4ThreeVector(0, 0, radZ),
"Radiator", logicRadiator, physicsWorld, false, 0 );
fRadiatorDescription->fLogicalVolume = logicRadiator;
// create region for window inside windowR for
G4Region* radRegion = new G4Region("XTRradiator");
radRegion->AddRootLogicalVolume(logicRadiator);
// Drift Electrode on both sides of Radiator:
// (not placed)
G4double zElectrode1 = radZ - radThick/2. - electrodeThick/2.;
G4double zElectrode2 = radZ + radThick/2. + electrodeThick/2.;
G4cout << "zElectrode1 = " << zElectrode1/mm << " mm" << G4endl;
G4cout << "zElectrode2 = " << zElectrode2/mm << " mm" << G4endl;
G4cout << "electrodeThick = " << electrodeThick/mm << " mm" << G4endl << G4endl;
// Helium Pipe
// (not placed)
G4double pipeDist = 1.*cm; //Distance between pipe and radiator / absorber
G4double zPipe = zElectrode2 + electrodeThick/2. + pipeLength/2. + pipeDist/2.;
G4cout << "zPipe = " << zPipe/mm << " mm" << G4endl;
G4cout << "pipeLength = " << pipeLength/mm << " mm" << G4endl << G4endl;
// Mylar Foil on both sides of helium pipe
// (not placed)
G4double zMylar1 = zPipe - pipeLength/2. - mylarThick/2 - 0.01*mm;
G4double zMylar2 = zPipe + pipeLength/2. + mylarThick/2 + 0.01*mm;
G4cout << "zMylar1 = " << zMylar1/mm << " mm" << G4endl;
G4cout << "zMylar2 = " << zMylar2/mm << " mm" << G4endl;
G4cout << "fMylarThick = " << mylarThick/mm << " mm" << G4endl << G4endl;
// Mylar Foil on Chamber
// (not placed)
G4double zMylar = zElectrode2 + electrodeThick/2. + mylarThick/2. + 1.0*mm;
zMylar += ( pipeLength + pipeDist );
G4cout << "zMylar = " << zMylar/mm <<" mm" <<G4endl;
G4cout << "mylarThick = " << mylarThick/mm << " mm" << G4endl << G4endl;
// Absorber
G4double absorberZ = zMylar + mylarThick/2. + absorberThickness/2.;
G4VSolid* solidAbsorber
= new G4Box("Absorber", 10.*mm, 10.*mm, absorberThickness/2.);
G4LogicalVolume* logicAbsorber
= new G4LogicalVolume(solidAbsorber, absorberMaterial, "Absorber");
new G4PVPlacement(0, G4ThreeVector(0., 0., absorberZ),
"Absorber", logicAbsorber, physicsWorld, false, 0);
// Create region for radiator
G4Region* regGasDet = new G4Region("XTRdEdxDetector");
regGasDet->AddRootLogicalVolume(logicAbsorber);
// Sensitive Detectors: Absorber
SensitiveDetector* sd = new SensitiveDetector("AbsorberSD");
G4SDManager::GetSDMpointer()->AddNewDetector(sd );
logicAbsorber->SetSensitiveDetector(sd);
// Print geometry parameters
G4cout << "\n The WORLD is made of "
<< worldSizeZ/mm << "mm of " << worldMaterial->GetName();
G4cout << ", the transverse size (R) of the world is "
<< worldSizeR/mm << " mm. " << G4endl;
G4cout << " The ABSORBER is made of "
<< absorberThickness/mm << "mm of " << absorberMaterial->GetName();
G4cout << ", the transverse size (R) is "
<< absorberRadius/mm << " mm. " << G4endl;
G4cout << " Z position of the (middle of the) absorber "
<< absorberZ/mm << " mm." << G4endl;
G4cout << "radZ = " << radZ/mm << " mm" << G4endl;
G4cout << "startZ = " << startZ/mm<< " mm" << G4endl;
G4cout << "fRadThick = " << radThick/mm << " mm"<<G4endl;
G4cout << "fFoilNumber = " << foilNumber << G4endl;
G4cout << "fRadiatorMat = " << radiatorMat->GetName() << G4endl;
G4cout << "WorldMaterial = " << worldMaterial->GetName() << G4endl;
G4cout << G4endl;
return physicsWorld;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......

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