Import Geant4 11.0.0 source tree
This commit is contained in:
committed by
Ben Morgan
parent
6399a014b6
commit
80e2389dd8
@@ -1,7 +1,7 @@
|
||||
#----------------------------------------------------------------------------
|
||||
# Setup the project
|
||||
#
|
||||
cmake_minimum_required(VERSION 3.12...3.20)
|
||||
cmake_minimum_required(VERSION 3.16...3.21)
|
||||
project(B3a)
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
@@ -34,14 +34,14 @@
|
||||
#include "G4UImanager.hh"
|
||||
#include "G4VisExecutive.hh"
|
||||
#include "G4UIExecutive.hh"
|
||||
#include "G4AnalysisManager.hh"
|
||||
#include "G4TScoreNtupleWriter.hh"
|
||||
|
||||
#include "Randomize.hh"
|
||||
|
||||
#include "B3DetectorConstruction.hh"
|
||||
#include "B3PhysicsList.hh"
|
||||
#include "B3aActionInitialization.hh"
|
||||
#include "B3Analysis.hh"
|
||||
#include "DetectorConstruction.hh"
|
||||
#include "PhysicsList.hh"
|
||||
#include "ActionInitialization.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -66,13 +66,13 @@ int main(int argc,char** argv)
|
||||
|
||||
// Set mandatory initialization classes
|
||||
//
|
||||
runManager->SetUserInitialization(new B3DetectorConstruction);
|
||||
runManager->SetUserInitialization(new B3::DetectorConstruction);
|
||||
//
|
||||
runManager->SetUserInitialization(new B3PhysicsList);
|
||||
runManager->SetUserInitialization(new B3::PhysicsList);
|
||||
|
||||
// Set user action initialization
|
||||
//
|
||||
runManager->SetUserInitialization(new B3aActionInitialization());
|
||||
runManager->SetUserInitialization(new B3a::ActionInitialization());
|
||||
|
||||
// Initialize visualization
|
||||
//
|
||||
|
||||
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
|
||||
|
||||
|
||||
**************************************************************
|
||||
Geant4 version Name: geant4-10-07-ref-06 (25-June-2021)
|
||||
Geant4 version Name: geant4-11-00-ref-00 (10-December-2021)
|
||||
Copyright : Geant4 Collaboration
|
||||
References : NIM A 506 (2003), 250-303
|
||||
: IEEE-TNS 53 (2006), 270-278
|
||||
@@ -27,10 +27,8 @@ You have successfully registered the following graphics systems.
|
||||
Registered graphics systems are:
|
||||
ASCIITree (ATree)
|
||||
DAWNFILE (DAWNFILE)
|
||||
G4HepRep (HepRepXML)
|
||||
G4HepRepFile (HepRepFile)
|
||||
RayTracer (RayTracer)
|
||||
VRML1FILE (VRML1FILE)
|
||||
VRML2FILE (VRML2FILE)
|
||||
gMocrenFile (gMocrenFile)
|
||||
OpenGLImmediateQt (OGLIQt, OGLI)
|
||||
@@ -72,49 +70,49 @@ End of Run User Vis Actions: none
|
||||
|
||||
Some /vis commands (optionally) take a string to specify colour.
|
||||
"/vis/list" to see available colours.
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal (G4Box) ... OK!
|
||||
Checking overlaps for volume ring (G4Tubs) ... OK!
|
||||
Checking overlaps for volume ring (G4Tubs) ... OK!
|
||||
Checking overlaps for volume ring (G4Tubs) ... OK!
|
||||
Checking overlaps for volume ring (G4Tubs) ... OK!
|
||||
Checking overlaps for volume ring (G4Tubs) ... OK!
|
||||
Checking overlaps for volume ring (G4Tubs) ... OK!
|
||||
Checking overlaps for volume ring (G4Tubs) ... OK!
|
||||
Checking overlaps for volume ring (G4Tubs) ... OK!
|
||||
Checking overlaps for volume ring (G4Tubs) ... OK!
|
||||
Checking overlaps for volume Detector (G4Tubs) ... OK!
|
||||
Checking overlaps for volume Patient (G4Tubs) ... OK!
|
||||
Checking overlaps for volume crystal:0 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:1 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:2 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:3 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:4 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:5 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:6 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:7 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:8 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:9 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:10 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:11 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:12 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:13 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:14 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:15 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:16 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:17 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:18 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:19 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:20 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:21 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:22 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:23 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:24 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:25 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:26 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:27 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:28 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:29 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:30 (G4Box) ... OK!
|
||||
Checking overlaps for volume crystal:31 (G4Box) ... OK!
|
||||
Checking overlaps for volume ring:0 (G4Tubs) ... OK!
|
||||
Checking overlaps for volume ring:1 (G4Tubs) ... OK!
|
||||
Checking overlaps for volume ring:2 (G4Tubs) ... OK!
|
||||
Checking overlaps for volume ring:3 (G4Tubs) ... OK!
|
||||
Checking overlaps for volume ring:4 (G4Tubs) ... OK!
|
||||
Checking overlaps for volume ring:5 (G4Tubs) ... OK!
|
||||
Checking overlaps for volume ring:6 (G4Tubs) ... OK!
|
||||
Checking overlaps for volume ring:7 (G4Tubs) ... OK!
|
||||
Checking overlaps for volume ring:8 (G4Tubs) ... OK!
|
||||
Checking overlaps for volume Detector:0 (G4Tubs) ... OK!
|
||||
Checking overlaps for volume Patient:0 (G4Tubs) ... OK!
|
||||
|
||||
***** Table : Nb of materials = 3 *****
|
||||
|
||||
@@ -222,6 +220,84 @@ G4SDManager::AddNewCollection : the collection <patient/dose> is registered at 2
|
||||
#
|
||||
/run/printProgress 1000
|
||||
/run/beamOn 10000
|
||||
=======================================================================
|
||||
====== Electromagnetic Physics Parameters ========
|
||||
=======================================================================
|
||||
LPM effect enabled 1
|
||||
Enable creation and use of sampling tables 0
|
||||
Apply cuts on all EM processes 0
|
||||
Use general process 0
|
||||
Enable linear polarisation for gamma 0
|
||||
Enable sampling of quantum entanglement 0
|
||||
X-section factor for integral approach 0.8
|
||||
Min kinetic energy for tables 100 eV
|
||||
Max kinetic energy for tables 100 TeV
|
||||
Number of bins per decade of a table 7
|
||||
Verbose level 1
|
||||
Verbose level for worker thread 0
|
||||
Bremsstrahlung energy threshold above which
|
||||
primary e+- is added to the list of secondary 100 TeV
|
||||
Bremsstrahlung energy threshold above which primary
|
||||
muon/hadron is added to the list of secondary 100 TeV
|
||||
Lowest triplet kinetic energy 1 MeV
|
||||
Enable sampling of gamma linear polarisation 0
|
||||
5D gamma conversion model type 0
|
||||
5D gamma conversion model on isolated ion 0
|
||||
Livermore data directory livermore
|
||||
=======================================================================
|
||||
====== Ionisation Parameters ========
|
||||
=======================================================================
|
||||
Step function for e+- (0.2, 1 mm)
|
||||
Step function for muons/hadrons (0.2, 0.1 mm)
|
||||
Step function for light ions (0.2, 0.1 mm)
|
||||
Step function for general ions (0.2, 0.1 mm)
|
||||
Lowest e+e- kinetic energy 1 keV
|
||||
Lowest muon/hadron kinetic energy 1 keV
|
||||
Fluctuations of dE/dx are enabled 1
|
||||
Use ICRU90 data 0
|
||||
Use built-in Birks satuaration 0
|
||||
Build CSDA range enabled 0
|
||||
Use cut as a final range enabled 0
|
||||
Enable angular generator interface 0
|
||||
Max kinetic energy for CSDA tables 1 GeV
|
||||
Max kinetic energy for NIEL computation 0 eV
|
||||
Linear loss limit 0.01
|
||||
Read data from file for e+e- pair production by mu 0
|
||||
=======================================================================
|
||||
====== Multiple Scattering Parameters ========
|
||||
=======================================================================
|
||||
Type of msc step limit algorithm for e+- 1
|
||||
Type of msc step limit algorithm for muons/hadrons 0
|
||||
Msc lateral displacement for e+- enabled 1
|
||||
Msc lateral displacement for muons and hadrons 0
|
||||
Urban msc model lateral displacement alg96 1
|
||||
Range factor for msc step limit for e+- 0.04
|
||||
Range factor for msc step limit for muons/hadrons 0.2
|
||||
Geometry factor for msc step limitation of e+- 2.5
|
||||
Safety factor for msc step limit for e+- 0.6
|
||||
Skin parameter for msc step limitation of e+- 1
|
||||
Lambda limit for msc step limit for e+- 1 mm
|
||||
Use Mott correction for e- scattering 0
|
||||
Factor used for dynamic computation of angular
|
||||
limit between single and multiple scattering 1
|
||||
Fixed angular limit between single
|
||||
and multiple scattering 3.1416 rad
|
||||
Upper energy limit for e+- multiple scattering 100 MeV
|
||||
Type of electron single scattering model 0
|
||||
Type of nuclear form-factor 1
|
||||
Screening factor 1
|
||||
=======================================================================
|
||||
====== Atomic Deexcitation Parameters ========
|
||||
=======================================================================
|
||||
Fluorescence enabled 1
|
||||
Fluorescence Bearden data files enabled 0
|
||||
Fluorescence ANSTO data files enabled 0
|
||||
Auger electron cascade enabled 1
|
||||
PIXE atomic de-excitation enabled 0
|
||||
De-excitation module ignores cuts 1
|
||||
Type of PIXE cross section for hadrons Empirical
|
||||
Type of PIXE cross section for e+- Livermore
|
||||
=======================================================================
|
||||
|
||||
### === Deexcitation model UAtomDeexcitation is activated for 1 region:
|
||||
DefaultRegionForTheWorld 1 1 0
|
||||
@@ -231,28 +307,28 @@ G4SDManager::AddNewCollection : the collection <patient/dose> is registered at 2
|
||||
phot: for gamma SubType=12 BuildTable=0
|
||||
LambdaPrime table from 200 keV to 100 TeV in 61 bins
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
LivermorePhElectric : Emin= 0 meV Emax= 100 TeV SauterGavrila Fluo
|
||||
LivermorePhElectric : Emin= 0 eV Emax= 100 TeV SauterGavrila Fluo
|
||||
|
||||
compt: for gamma SubType=13 BuildTable=1
|
||||
Lambda table from 100 eV to 1 MeV, 7 bins/decade, spline: 1
|
||||
LambdaPrime table from 1 MeV to 100 TeV in 56 bins
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Klein-Nishina : Emin= 0 meV Emax= 100 TeV
|
||||
Klein-Nishina : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
conv: for gamma SubType=14 BuildTable=1
|
||||
Lambda table from 1.022 MeV to 100 TeV, 18 bins/decade, spline: 1
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
BetheHeitlerLPM : Emin= 0 meV Emax= 100 TeV ModifiedTsai
|
||||
BetheHeitlerLPM : Emin= 0 eV Emax= 100 TeV ModifiedTsai
|
||||
|
||||
Rayl: for gamma SubType=11 BuildTable=1
|
||||
Lambda table from 100 eV to 100 keV, 7 bins/decade, spline: 0
|
||||
LambdaPrime table from 100 keV to 100 TeV in 63 bins
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
LivermoreRayleigh : Emin= 0 meV Emax= 100 TeV CullenGenerator
|
||||
LivermoreRayleigh : Emin= 0 eV Emax= 100 TeV CullenGenerator
|
||||
|
||||
msc: for e- SubType= 10
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
UrbanMsc : Emin= 0 meV Emax= 100 MeV Nbins=42 100 eV - 100 MeV
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 MeV Nbins=42 100 eV - 100 MeV
|
||||
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
WentzelVIUni : Emin= 100 MeV Emax= 100 TeV Nbins=42 100 MeV - 100 TeV
|
||||
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
@@ -262,25 +338,25 @@ eIoni: for e- XStype:1 SubType=2
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
MollerBhabha : Emin= 0 meV Emax= 100 TeV
|
||||
MollerBhabha : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
eBrem: for e- XStype:4 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
LPM flag: 1 for E > 1 GeV, VertexHighEnergyTh(GeV)= 100000
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eBremSB : Emin= 0 meV Emax= 1 GeV ModifiedTsai
|
||||
eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai
|
||||
eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai
|
||||
|
||||
CoulombScat: for e- XStype:3 SubType=1 BuildTable=1
|
||||
Lambda table from 100 MeV to 100 TeV, 7 bins/decade, spline: 1
|
||||
Lambda table from 100 MeV to 100 TeV, 7 bins/decade, spline: 0
|
||||
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
|
||||
|
||||
msc: for e+ SubType= 10
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
UrbanMsc : Emin= 0 meV Emax= 100 MeV Nbins=42 100 eV - 100 MeV
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 MeV Nbins=42 100 eV - 100 MeV
|
||||
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
WentzelVIUni : Emin= 100 MeV Emax= 100 TeV Nbins=42 100 MeV - 100 TeV
|
||||
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llim=1 mm
|
||||
@@ -290,29 +366,29 @@ eIoni: for e+ XStype:1 SubType=2
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
MollerBhabha : Emin= 0 meV Emax= 100 TeV
|
||||
MollerBhabha : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
eBrem: for e+ XStype:4 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
LPM flag: 1 for E > 1 GeV, VertexHighEnergyTh(GeV)= 100000
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eBremSB : Emin= 0 meV Emax= 1 GeV ModifiedTsai
|
||||
eBremSB : Emin= 0 eV Emax= 1 GeV ModifiedTsai
|
||||
eBremLPM : Emin= 1 GeV Emax= 100 TeV ModifiedTsai
|
||||
|
||||
annihil: for e+ XStype:2 SubType=5 BuildTable=0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eplus2gg : Emin= 0 meV Emax= 100 TeV
|
||||
eplus2gg : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
CoulombScat: for e+ XStype:3 SubType=1 BuildTable=1
|
||||
Lambda table from 100 MeV to 100 TeV, 7 bins/decade, spline: 1
|
||||
Lambda table from 100 MeV to 100 TeV, 7 bins/decade, spline: 0
|
||||
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
|
||||
|
||||
msc: for proton SubType= 10
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
WentzelVIUni : Emin= 0 meV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for proton XStype:1 SubType=2
|
||||
@@ -320,31 +396,31 @@ hIoni: for proton XStype:1 SubType=2
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 meV Emax= 2 MeV
|
||||
Bragg : Emin= 0 eV Emax= 2 MeV
|
||||
BetheBloch : Emin= 2 MeV Emax= 100 TeV
|
||||
|
||||
hBrems: for proton XStype:1 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hBrem : Emin= 0 meV Emax= 100 TeV ModifiedMephi
|
||||
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
hPairProd: for proton XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
Sampling table 17x1001 from 7.50618 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hPairProd : Emin= 0 meV Emax= 100 TeV ModifiedMephi
|
||||
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
CoulombScat: for proton XStype:3 SubType=1 BuildTable=1
|
||||
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eCoulombScattering : Emin= 0 meV Emax= 100 TeV
|
||||
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
msc: for GenericIon SubType= 10
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
UrbanMsc : Emin= 0 meV Emax= 100 TeV
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
ionIoni: for GenericIon XStype:1 SubType=2
|
||||
@@ -353,7 +429,7 @@ ionIoni: for GenericIon XStype:1 SubType=2
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.02
|
||||
Stopping Power data for 17 ion/material pairs
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
BraggIon : Emin= 0 meV Emax= 2 MeV
|
||||
BraggIon : Emin= 0 eV Emax= 2 MeV
|
||||
BetheBloch : Emin= 2 MeV Emax= 100 TeV
|
||||
======================================================================
|
||||
====== Radioactive Decay Physics Parameters =======
|
||||
@@ -365,15 +441,15 @@ Enable correlated gamma emission 0
|
||||
Max 2J for sampling of angular correlations 10
|
||||
Atomic de-excitation enabled 1
|
||||
Auger electron emission enabled 1
|
||||
Auger cascade enabled 1
|
||||
Check EM cuts disabled for atomic de-excitation 1
|
||||
Use Bearden atomic level energies 0
|
||||
Use ANSTO fluorescence model 0
|
||||
Threshold for very long decay time at rest 1e+27 ns
|
||||
======================================================================
|
||||
|
||||
msc: for alpha SubType= 10
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
UrbanMsc : Emin= 0 meV Emax= 100 TeV
|
||||
UrbanMsc : Emin= 0 eV Emax= 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
ionIoni: for alpha XStype:1 SubType=2
|
||||
@@ -381,12 +457,12 @@ ionIoni: for alpha XStype:1 SubType=2
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.02
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
BraggIon : Emin= 0 meV Emax=7.9452 MeV
|
||||
BraggIon : Emin= 0 eV Emax=7.9452 MeV
|
||||
BetheBloch : Emin=7.9452 MeV Emax= 100 TeV
|
||||
|
||||
msc: for anti_proton SubType= 10
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
WentzelVIUni : Emin= 0 meV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for anti_proton XStype:1 SubType=2
|
||||
@@ -394,31 +470,31 @@ hIoni: for anti_proton XStype:1 SubType=2
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 meV Emax= 2 MeV
|
||||
ICRU73QO : Emin= 0 eV Emax= 2 MeV
|
||||
BetheBloch : Emin= 2 MeV Emax= 100 TeV
|
||||
|
||||
hBrems: for anti_proton XStype:1 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hBrem : Emin= 0 meV Emax= 100 TeV ModifiedMephi
|
||||
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
hPairProd: for anti_proton XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
Sampling table 17x1001 from 7.50618 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hPairProd : Emin= 0 meV Emax= 100 TeV ModifiedMephi
|
||||
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
CoulombScat: for anti_proton XStype:3 SubType=1 BuildTable=1
|
||||
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eCoulombScattering : Emin= 0 meV Emax= 100 TeV
|
||||
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
msc: for kaon+ SubType= 10
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
WentzelVIUni : Emin= 0 meV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for kaon+ XStype:1 SubType=2
|
||||
@@ -426,31 +502,31 @@ hIoni: for kaon+ XStype:1 SubType=2
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 meV Emax=1.05231 MeV
|
||||
Bragg : Emin= 0 eV Emax=1.05231 MeV
|
||||
BetheBloch : Emin=1.05231 MeV Emax= 100 TeV
|
||||
|
||||
hBrems: for kaon+ XStype:1 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hBrem : Emin= 0 meV Emax= 100 TeV ModifiedMephi
|
||||
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
hPairProd: for kaon+ XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
Sampling table 18x1001 from 3.94942 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hPairProd : Emin= 0 meV Emax= 100 TeV ModifiedMephi
|
||||
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
CoulombScat: for kaon+ XStype:3 SubType=1 BuildTable=1
|
||||
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eCoulombScattering : Emin= 0 meV Emax= 100 TeV
|
||||
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
msc: for kaon- SubType= 10
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
WentzelVIUni : Emin= 0 meV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for kaon- XStype:1 SubType=2
|
||||
@@ -458,31 +534,31 @@ hIoni: for kaon- XStype:1 SubType=2
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 meV Emax=1.05231 MeV
|
||||
ICRU73QO : Emin= 0 eV Emax=1.05231 MeV
|
||||
BetheBloch : Emin=1.05231 MeV Emax= 100 TeV
|
||||
|
||||
hBrems: for kaon- XStype:1 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hBrem : Emin= 0 meV Emax= 100 TeV ModifiedMephi
|
||||
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
hPairProd: for kaon- XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
Sampling table 18x1001 from 3.94942 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hPairProd : Emin= 0 meV Emax= 100 TeV ModifiedMephi
|
||||
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
CoulombScat: for kaon- XStype:3 SubType=1 BuildTable=1
|
||||
Used Lambda table of kaon+
|
||||
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eCoulombScattering : Emin= 0 meV Emax= 100 TeV
|
||||
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
msc: for mu+ SubType= 10
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
WentzelVIUni : Emin= 0 meV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
muIoni: for mu+ XStype:1 SubType=2
|
||||
@@ -490,32 +566,32 @@ muIoni: for mu+ XStype:1 SubType=2
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 meV Emax= 200 keV
|
||||
Bragg : Emin= 0 eV Emax= 200 keV
|
||||
BetheBloch : Emin= 200 keV Emax= 1 GeV
|
||||
MuBetheBloch : Emin= 1 GeV Emax= 100 TeV
|
||||
|
||||
muBrems: for mu+ XStype:1 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
MuBrem : Emin= 0 meV Emax= 100 TeV ModifiedMephi
|
||||
MuBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
muPairProd: for mu+ XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
Sampling table 21x1001 from 1 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
muPairProd : Emin= 0 meV Emax= 100 TeV ModifiedMephi
|
||||
muPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
CoulombScat: for mu+ XStype:3 SubType=1 BuildTable=1
|
||||
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eCoulombScattering : Emin= 0 meV Emax= 100 TeV
|
||||
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
msc: for mu- SubType= 10
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
WentzelVIUni : Emin= 0 meV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
muIoni: for mu- XStype:1 SubType=2
|
||||
@@ -523,32 +599,32 @@ muIoni: for mu- XStype:1 SubType=2
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 meV Emax= 200 keV
|
||||
ICRU73QO : Emin= 0 eV Emax= 200 keV
|
||||
BetheBloch : Emin= 200 keV Emax= 1 GeV
|
||||
MuBetheBloch : Emin= 1 GeV Emax= 100 TeV
|
||||
|
||||
muBrems: for mu- XStype:1 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
MuBrem : Emin= 0 meV Emax= 100 TeV ModifiedMephi
|
||||
MuBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
muPairProd: for mu- XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
Sampling table 21x1001 from 1 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
muPairProd : Emin= 0 meV Emax= 100 TeV ModifiedMephi
|
||||
muPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
CoulombScat: for mu- XStype:3 SubType=1 BuildTable=1
|
||||
Used Lambda table of mu+
|
||||
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eCoulombScattering : Emin= 0 meV Emax= 100 TeV
|
||||
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
msc: for pi+ SubType= 10
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
WentzelVIUni : Emin= 0 meV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for pi+ XStype:1 SubType=2
|
||||
@@ -556,31 +632,31 @@ hIoni: for pi+ XStype:1 SubType=2
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
Bragg : Emin= 0 meV Emax=297.505 keV
|
||||
Bragg : Emin= 0 eV Emax=297.505 keV
|
||||
BetheBloch : Emin=297.505 keV Emax= 100 TeV
|
||||
|
||||
hBrems: for pi+ XStype:1 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hBrem : Emin= 0 meV Emax= 100 TeV ModifiedMephi
|
||||
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
hPairProd: for pi+ XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
Sampling table 20x1001 from 1.11656 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hPairProd : Emin= 0 meV Emax= 100 TeV ModifiedMephi
|
||||
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
CoulombScat: for pi+ XStype:3 SubType=1 BuildTable=1
|
||||
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eCoulombScattering : Emin= 0 meV Emax= 100 TeV
|
||||
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
|
||||
|
||||
msc: for pi- SubType= 10
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
WentzelVIUni : Emin= 0 meV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
|
||||
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llim=1 mm
|
||||
|
||||
hIoni: for pi- XStype:1 SubType=2
|
||||
@@ -588,33 +664,35 @@ hIoni: for pi- XStype:1 SubType=2
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
StepFunction=(0.2, 0.1 mm), integ: 1, fluct: 1, linLossLim= 0.01
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
ICRU73QO : Emin= 0 meV Emax=297.505 keV
|
||||
ICRU73QO : Emin= 0 eV Emax=297.505 keV
|
||||
BetheBloch : Emin=297.505 keV Emax= 100 TeV
|
||||
|
||||
hBrems: for pi- XStype:1 SubType=3
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hBrem : Emin= 0 meV Emax= 100 TeV ModifiedMephi
|
||||
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
hPairProd: for pi- XStype:1 SubType=4
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
|
||||
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 0
|
||||
Sampling table 20x1001 from 1.11656 GeV to 100 TeV
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
hPairProd : Emin= 0 meV Emax= 100 TeV ModifiedMephi
|
||||
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
|
||||
|
||||
CoulombScat: for pi- XStype:3 SubType=1 BuildTable=1
|
||||
Used Lambda table of pi+
|
||||
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
eCoulombScattering : Emin= 0 meV Emax= 100 TeV
|
||||
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
|
||||
G4VisManager: Using G4TrajectoryDrawByCharge as fallback trajectory model.
|
||||
See commands in /vis/modeling/trajectories/ for other options.
|
||||
### Run 0 starts.
|
||||
### Run 0 start.
|
||||
... set ntuple merging row mode : row-wise - done
|
||||
... create file : scoring.root - done
|
||||
... open analysis file : scoring.root - done
|
||||
... open analysis file : scoring.root - done
|
||||
--> Event 0 starts.
|
||||
--> Event 1000 starts.
|
||||
--> Event 2000 starts.
|
||||
@@ -627,8 +705,8 @@ See commands in /vis/modeling/trajectories/ for other options.
|
||||
--> Event 9000 starts.
|
||||
|
||||
--------------------End of Global Run-----------------------
|
||||
The run was 10000 events Nb of 'good' e+ annihilations: 1317
|
||||
Total dose in patient : 308.988 picoGy
|
||||
The run was 10000 events Nb of 'good' e+ annihilations: 1264
|
||||
Total dose in patient : 307.747 picoGy
|
||||
------------------------------------------------------------
|
||||
|
||||
... write file : scoring.root - done
|
||||
|
||||
+14
-12
@@ -24,32 +24,34 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
/// \file B3aActionInitialization.hh
|
||||
/// \brief Definition of the B3aActionInitialization class
|
||||
/// \file ActionInitialization.hh
|
||||
/// \brief Definition of the B3a::ActionInitialization class
|
||||
|
||||
#ifndef B3aActionInitialization_h
|
||||
#define B3aActionInitialization_h 1
|
||||
|
||||
#include "G4VUserActionInitialization.hh"
|
||||
|
||||
/// Action initialization class.
|
||||
///
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class B3aActionInitialization : public G4VUserActionInitialization
|
||||
namespace B3a
|
||||
{
|
||||
|
||||
/// Action initialization class.
|
||||
|
||||
class ActionInitialization : public G4VUserActionInitialization
|
||||
{
|
||||
public:
|
||||
B3aActionInitialization();
|
||||
virtual ~B3aActionInitialization();
|
||||
ActionInitialization();
|
||||
~ActionInitialization() override;
|
||||
|
||||
virtual void BuildForMaster() const;
|
||||
virtual void Build() const;
|
||||
void BuildForMaster() const override;
|
||||
void Build() const override;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,37 +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 B3Analysis.hh
|
||||
/// \brief Selection of the analysis technology
|
||||
|
||||
#ifndef B3Analysis_h
|
||||
#define B3Analysis_h 1
|
||||
|
||||
#include "g4root.hh"
|
||||
//#include "g4csv.hh"
|
||||
//#include "g4xml.hh"
|
||||
|
||||
#endif
|
||||
+13
-8
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
/// \file B3DetectorConstruction.hh
|
||||
/// \brief Definition of the B3DetectorConstruction class
|
||||
/// \file DetectorConstruction.hh
|
||||
/// \brief Definition of the B3::DetectorConstruction class
|
||||
|
||||
#ifndef B3DetectorConstruction_h
|
||||
#define B3DetectorConstruction_h 1
|
||||
@@ -36,27 +36,32 @@
|
||||
class G4VPhysicalVolume;
|
||||
class G4LogicalVolume;
|
||||
|
||||
namespace B3
|
||||
{
|
||||
|
||||
/// Detector construction class to define materials and geometry.
|
||||
///
|
||||
/// Crystals are positioned in Ring, with an appropriate rotation matrix.
|
||||
/// Several copies of Ring are placed in the full detector.
|
||||
|
||||
class B3DetectorConstruction : public G4VUserDetectorConstruction
|
||||
class DetectorConstruction : public G4VUserDetectorConstruction
|
||||
{
|
||||
public:
|
||||
B3DetectorConstruction();
|
||||
virtual ~B3DetectorConstruction();
|
||||
DetectorConstruction();
|
||||
~DetectorConstruction() override;
|
||||
|
||||
public:
|
||||
virtual G4VPhysicalVolume* Construct();
|
||||
virtual void ConstructSDandField();
|
||||
G4VPhysicalVolume* Construct() override;
|
||||
void ConstructSDandField() override;
|
||||
|
||||
private:
|
||||
void DefineMaterials();
|
||||
|
||||
G4bool fCheckOverlaps;
|
||||
G4bool fCheckOverlaps = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
+17
-12
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
/// \file B3aEventAction.hh
|
||||
/// \brief Definition of the B3aEventAction class
|
||||
/// \file EventAction.hh
|
||||
/// \brief Definition of the B3a::EventAction class
|
||||
|
||||
#ifndef B3aEventAction_h
|
||||
#define B3aEventAction_h 1
|
||||
@@ -33,29 +33,34 @@
|
||||
#include "G4UserEventAction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class B3aRunAction;
|
||||
namespace B3a
|
||||
{
|
||||
|
||||
class RunAction;
|
||||
|
||||
/// Event action class
|
||||
///
|
||||
/// In EndOfEventAction() there is collected information event per event
|
||||
/// from Hits Collections, and accumulated statistic for
|
||||
/// B3RunAction::EndOfRunAction().
|
||||
/// RunAction::EndOfRunAction().
|
||||
|
||||
class B3aEventAction : public G4UserEventAction
|
||||
class EventAction : public G4UserEventAction
|
||||
{
|
||||
public:
|
||||
B3aEventAction(B3aRunAction* runAction);
|
||||
virtual ~B3aEventAction();
|
||||
EventAction(RunAction* runAction);
|
||||
~EventAction() override;
|
||||
|
||||
virtual void BeginOfEventAction(const G4Event*);
|
||||
virtual void EndOfEventAction(const G4Event*);
|
||||
void BeginOfEventAction(const G4Event*) override;
|
||||
void EndOfEventAction(const G4Event*) override;
|
||||
|
||||
private:
|
||||
B3aRunAction* fRunAction;
|
||||
G4int fCollID_cryst;
|
||||
G4int fCollID_patient;
|
||||
RunAction* fRunAction = nullptr;
|
||||
G4int fCollID_cryst = -1;
|
||||
G4int fCollID_patient = -1;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
+11
-6
@@ -24,14 +24,17 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
/// \file B3PhysicsList.hh
|
||||
/// \brief Definition of the B3PhysicsList class
|
||||
/// \file PhysicsList.hh
|
||||
/// \brief Definition of the B3::PhysicsList class
|
||||
|
||||
#ifndef B3PhysicsList_h
|
||||
#define B3PhysicsList_h 1
|
||||
|
||||
#include "G4VModularPhysicsList.hh"
|
||||
|
||||
namespace B3
|
||||
{
|
||||
|
||||
/// Modular physics list
|
||||
///
|
||||
/// It includes the folowing physics builders
|
||||
@@ -39,15 +42,17 @@
|
||||
/// - G4RadioactiveDecayPhysics
|
||||
/// - G4EmStandardPhysics
|
||||
|
||||
class B3PhysicsList: public G4VModularPhysicsList
|
||||
class PhysicsList: public G4VModularPhysicsList
|
||||
{
|
||||
public:
|
||||
B3PhysicsList();
|
||||
virtual ~B3PhysicsList();
|
||||
PhysicsList();
|
||||
~PhysicsList() override;
|
||||
|
||||
virtual void SetCuts();
|
||||
void SetCuts() override;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
+12
-7
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
/// \file B3PrimaryGeneratorAction.hh
|
||||
/// \brief Definition of the B3PrimaryGeneratorAction class
|
||||
/// \file PrimaryGeneratorAction.hh
|
||||
/// \brief Definition of the B3::PrimaryGeneratorAction class
|
||||
|
||||
#ifndef B3PrimaryGeneratorAction_h
|
||||
#define B3PrimaryGeneratorAction_h 1
|
||||
@@ -37,26 +37,31 @@
|
||||
class G4ParticleGun;
|
||||
class G4Event;
|
||||
|
||||
namespace B3
|
||||
{
|
||||
|
||||
/// The primary generator action class with particle gum.
|
||||
///
|
||||
/// It defines an ion (F18), at rest, randomly distribued within a zone
|
||||
/// in a patient defined in GeneratePrimaries(). Ion F18 can be changed
|
||||
/// with the G4ParticleGun commands (see run2.mac).
|
||||
|
||||
class B3PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
|
||||
class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
|
||||
{
|
||||
public:
|
||||
B3PrimaryGeneratorAction();
|
||||
virtual ~B3PrimaryGeneratorAction();
|
||||
PrimaryGeneratorAction();
|
||||
~PrimaryGeneratorAction() override;
|
||||
|
||||
virtual void GeneratePrimaries(G4Event*);
|
||||
void GeneratePrimaries(G4Event*) override;
|
||||
|
||||
const G4ParticleGun* GetParticleGun() const { return fParticleGun; }
|
||||
|
||||
private:
|
||||
G4ParticleGun* fParticleGun;
|
||||
G4ParticleGun* fParticleGun = nullptr;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
+14
-9
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
/// \file B3aRunAction.hh
|
||||
/// \brief Definition of the B3aRunAction class
|
||||
/// \file RunAction.hh
|
||||
/// \brief Definition of the B3a::RunAction class
|
||||
|
||||
#ifndef B3aRunAction_h
|
||||
#define B3aRunAction_h 1
|
||||
@@ -34,25 +34,30 @@
|
||||
#include "G4Accumulable.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
namespace B3a
|
||||
{
|
||||
|
||||
/// Run action class
|
||||
|
||||
class B3aRunAction : public G4UserRunAction
|
||||
class RunAction : public G4UserRunAction
|
||||
{
|
||||
public:
|
||||
B3aRunAction();
|
||||
virtual ~B3aRunAction();
|
||||
RunAction();
|
||||
~RunAction() override;
|
||||
|
||||
virtual void BeginOfRunAction(const G4Run*);
|
||||
virtual void EndOfRunAction(const G4Run*);
|
||||
void BeginOfRunAction(const G4Run*) override;
|
||||
void EndOfRunAction(const G4Run*) override;
|
||||
|
||||
void CountEvent() { fGoodEvents += 1; };
|
||||
void SumDose(G4double dose) { fSumDose += dose; };
|
||||
|
||||
private:
|
||||
G4Accumulable<G4int> fGoodEvents;
|
||||
G4Accumulable<G4double> fSumDose;
|
||||
G4Accumulable<G4int> fGoodEvents = 0;
|
||||
G4Accumulable<G4double> fSumDose = 0.;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
+11
-6
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
/// \file B3StackingAction.hh
|
||||
/// \brief Definition of the B3StackingAction class
|
||||
/// \file StackingAction.hh
|
||||
/// \brief Definition of the B3::StackingAction class
|
||||
|
||||
#ifndef B3StackingAction_h
|
||||
#define B3StackingAction_h 1
|
||||
@@ -33,20 +33,25 @@
|
||||
#include "G4UserStackingAction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
namespace B3
|
||||
{
|
||||
|
||||
/// Stacking action class : manage the newly generated particles
|
||||
///
|
||||
/// One wishes do not track secondary neutrino.Therefore one kills it
|
||||
/// immediately, before created particles will put in a stack.
|
||||
|
||||
class B3StackingAction : public G4UserStackingAction
|
||||
class StackingAction : public G4UserStackingAction
|
||||
{
|
||||
public:
|
||||
B3StackingAction();
|
||||
virtual ~B3StackingAction();
|
||||
StackingAction();
|
||||
~StackingAction() override;
|
||||
|
||||
virtual G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track*);
|
||||
G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track*) override;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
+33
-26
@@ -24,43 +24,50 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
/// \file B3aActionInitialization.cc
|
||||
/// \brief Implementation of the B3aActionInitialization class
|
||||
/// \file ActionInitialization.cc
|
||||
/// \brief Implementation of the B3a::ActionInitialization class
|
||||
|
||||
#include "B3aActionInitialization.hh"
|
||||
#include "B3aRunAction.hh"
|
||||
#include "B3aEventAction.hh"
|
||||
#include "B3PrimaryGeneratorAction.hh"
|
||||
#include "B3StackingAction.hh"
|
||||
#include "ActionInitialization.hh"
|
||||
#include "RunAction.hh"
|
||||
#include "EventAction.hh"
|
||||
#include "PrimaryGeneratorAction.hh"
|
||||
#include "StackingAction.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
using namespace B3;
|
||||
|
||||
B3aActionInitialization::B3aActionInitialization()
|
||||
: G4VUserActionInitialization()
|
||||
{}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
B3aActionInitialization::~B3aActionInitialization()
|
||||
{}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void B3aActionInitialization::BuildForMaster() const
|
||||
namespace B3a
|
||||
{
|
||||
SetUserAction(new B3aRunAction);
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
ActionInitialization::ActionInitialization()
|
||||
{}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
ActionInitialization::~ActionInitialization()
|
||||
{}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void ActionInitialization::BuildForMaster() const
|
||||
{
|
||||
SetUserAction(new RunAction);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void B3aActionInitialization::Build() const
|
||||
void ActionInitialization::Build() const
|
||||
{
|
||||
B3aRunAction* runAction = new B3aRunAction();
|
||||
RunAction* runAction = new RunAction();
|
||||
SetUserAction(runAction);
|
||||
|
||||
SetUserAction(new B3aEventAction(runAction));
|
||||
SetUserAction(new B3PrimaryGeneratorAction);
|
||||
SetUserAction(new B3StackingAction);
|
||||
SetUserAction(new EventAction(runAction));
|
||||
SetUserAction(new PrimaryGeneratorAction);
|
||||
SetUserAction(new StackingAction);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
}
|
||||
|
||||
+14
-10
@@ -24,10 +24,10 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
/// \file B3DetectorConstruction.cc
|
||||
/// \brief Implementation of the B3DetectorConstruction class
|
||||
/// \file DetectorConstruction.cc
|
||||
/// \brief Implementation of the B3::DetectorConstruction class
|
||||
|
||||
#include "B3DetectorConstruction.hh"
|
||||
#include "DetectorConstruction.hh"
|
||||
|
||||
#include "G4NistManager.hh"
|
||||
#include "G4Box.hh"
|
||||
@@ -45,23 +45,24 @@
|
||||
#include "G4PhysicalConstants.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
|
||||
namespace B3
|
||||
{
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
B3DetectorConstruction::B3DetectorConstruction()
|
||||
: G4VUserDetectorConstruction(),
|
||||
fCheckOverlaps(true)
|
||||
DetectorConstruction::DetectorConstruction()
|
||||
{
|
||||
DefineMaterials();
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
B3DetectorConstruction::~B3DetectorConstruction()
|
||||
DetectorConstruction::~DetectorConstruction()
|
||||
{ }
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void B3DetectorConstruction::DefineMaterials()
|
||||
void DetectorConstruction::DefineMaterials()
|
||||
{
|
||||
G4NistManager* man = G4NistManager::Instance();
|
||||
|
||||
@@ -79,7 +80,7 @@ void B3DetectorConstruction::DefineMaterials()
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
G4VPhysicalVolume* B3DetectorConstruction::Construct()
|
||||
G4VPhysicalVolume* DetectorConstruction::Construct()
|
||||
{
|
||||
// Gamma detector Parameters
|
||||
//
|
||||
@@ -249,7 +250,7 @@ G4VPhysicalVolume* B3DetectorConstruction::Construct()
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void B3DetectorConstruction::ConstructSDandField()
|
||||
void DetectorConstruction::ConstructSDandField()
|
||||
{
|
||||
G4SDManager::GetSDMpointer()->SetVerboseLevel(1);
|
||||
|
||||
@@ -271,3 +272,6 @@ void B3DetectorConstruction::ConstructSDandField()
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
}
|
||||
|
||||
+15
-12
@@ -24,11 +24,11 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
/// \file B3aEventAction.cc
|
||||
/// \brief Implementation of the B3aEventAction class
|
||||
/// \file EventAction.cc
|
||||
/// \brief Implementation of the B3a::EventAction class
|
||||
|
||||
#include "B3aEventAction.hh"
|
||||
#include "B3aRunAction.hh"
|
||||
#include "EventAction.hh"
|
||||
#include "RunAction.hh"
|
||||
|
||||
#include "G4RunManager.hh"
|
||||
#include "G4Event.hh"
|
||||
@@ -39,28 +39,28 @@
|
||||
#include "G4UnitsTable.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
|
||||
namespace B3a
|
||||
{
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
B3aEventAction::B3aEventAction(B3aRunAction* runAction)
|
||||
: G4UserEventAction(),
|
||||
fRunAction(runAction),
|
||||
fCollID_cryst(-1),
|
||||
fCollID_patient(-1)
|
||||
EventAction::EventAction(RunAction* runAction)
|
||||
: fRunAction(runAction)
|
||||
{}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
B3aEventAction::~B3aEventAction()
|
||||
EventAction::~EventAction()
|
||||
{ }
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void B3aEventAction::BeginOfEventAction(const G4Event* /*evt*/)
|
||||
void EventAction::BeginOfEventAction(const G4Event* /*evt*/)
|
||||
{ }
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void B3aEventAction::EndOfEventAction(const G4Event* evt )
|
||||
void EventAction::EndOfEventAction(const G4Event* evt )
|
||||
{
|
||||
//Hits collections
|
||||
//
|
||||
@@ -105,3 +105,6 @@ void B3aEventAction::EndOfEventAction(const G4Event* evt )
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
}
|
||||
|
||||
+14
-7
@@ -24,19 +24,22 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
/// \file B3PhysicsList.cc
|
||||
/// \brief Implementation of the B3PhysicsList class
|
||||
/// \file PhysicsList.cc
|
||||
/// \brief Implementation of the B3::PhysicsList class
|
||||
|
||||
#include "B3PhysicsList.hh"
|
||||
#include "PhysicsList.hh"
|
||||
|
||||
#include "G4DecayPhysics.hh"
|
||||
#include "G4EmStandardPhysics.hh"
|
||||
#include "G4RadioactiveDecayPhysics.hh"
|
||||
|
||||
namespace B3
|
||||
{
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
B3PhysicsList::B3PhysicsList()
|
||||
: G4VModularPhysicsList(){
|
||||
PhysicsList::PhysicsList()
|
||||
{
|
||||
SetVerboseLevel(1);
|
||||
|
||||
// Default physics
|
||||
@@ -51,13 +54,17 @@ B3PhysicsList::B3PhysicsList()
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
B3PhysicsList::~B3PhysicsList()
|
||||
PhysicsList::~PhysicsList()
|
||||
{
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void B3PhysicsList::SetCuts()
|
||||
void PhysicsList::SetCuts()
|
||||
{
|
||||
G4VUserPhysicsList::SetCuts();
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
}
|
||||
+12
-8
@@ -24,10 +24,10 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
/// \file B3PrimaryGeneratorAction.cc
|
||||
/// \brief Implementation of the B3PrimaryGeneratorAction class
|
||||
/// \file PrimaryGeneratorAction.cc
|
||||
/// \brief Implementation of the B3::PrimaryGeneratorAction class
|
||||
|
||||
#include "B3PrimaryGeneratorAction.hh"
|
||||
#include "PrimaryGeneratorAction.hh"
|
||||
|
||||
#include "G4RunManager.hh"
|
||||
#include "G4Event.hh"
|
||||
@@ -39,11 +39,12 @@
|
||||
#include "G4SystemOfUnits.hh"
|
||||
#include "Randomize.hh"
|
||||
|
||||
namespace B3
|
||||
{
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
B3PrimaryGeneratorAction::B3PrimaryGeneratorAction()
|
||||
: G4VUserPrimaryGeneratorAction(),
|
||||
fParticleGun(nullptr)
|
||||
PrimaryGeneratorAction::PrimaryGeneratorAction()
|
||||
{
|
||||
G4int n_particle = 1;
|
||||
fParticleGun = new G4ParticleGun(n_particle);
|
||||
@@ -61,14 +62,14 @@ B3PrimaryGeneratorAction::B3PrimaryGeneratorAction()
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
B3PrimaryGeneratorAction::~B3PrimaryGeneratorAction()
|
||||
PrimaryGeneratorAction::~PrimaryGeneratorAction()
|
||||
{
|
||||
delete fParticleGun;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void B3PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
|
||||
void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
|
||||
{
|
||||
G4ParticleDefinition* particle = fParticleGun->GetParticleDefinition();
|
||||
if (particle == G4ChargedGeantino::ChargedGeantino()) {
|
||||
@@ -101,3 +102,6 @@ void B3PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
}
|
||||
|
||||
|
||||
+18
-13
@@ -24,11 +24,11 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
/// \file B3aRunAction.cc
|
||||
/// \brief Implementation of the B3aRunAction class
|
||||
/// \file RunAction.cc
|
||||
/// \brief Implementation of the B3a::RunAction class
|
||||
|
||||
#include "B3aRunAction.hh"
|
||||
#include "B3PrimaryGeneratorAction.hh"
|
||||
#include "RunAction.hh"
|
||||
#include "PrimaryGeneratorAction.hh"
|
||||
|
||||
#include "G4RunManager.hh"
|
||||
#include "G4Run.hh"
|
||||
@@ -36,12 +36,14 @@
|
||||
#include "G4UnitsTable.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
|
||||
using namespace B3;
|
||||
|
||||
namespace B3a
|
||||
{
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
B3aRunAction::B3aRunAction()
|
||||
: G4UserRunAction(),
|
||||
fGoodEvents(0),
|
||||
fSumDose(0.)
|
||||
RunAction::RunAction()
|
||||
{
|
||||
//add new units for dose
|
||||
//
|
||||
@@ -63,12 +65,12 @@ B3aRunAction::B3aRunAction()
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
B3aRunAction::~B3aRunAction()
|
||||
RunAction::~RunAction()
|
||||
{ }
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void B3aRunAction::BeginOfRunAction(const G4Run* run)
|
||||
void RunAction::BeginOfRunAction(const G4Run* run)
|
||||
{
|
||||
G4cout << "### Run " << run->GetRunID() << " start." << G4endl;
|
||||
|
||||
@@ -82,7 +84,7 @@ void B3aRunAction::BeginOfRunAction(const G4Run* run)
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void B3aRunAction::EndOfRunAction(const G4Run* run)
|
||||
void RunAction::EndOfRunAction(const G4Run* run)
|
||||
{
|
||||
G4int nofEvents = run->GetNumberOfEvent();
|
||||
if (nofEvents == 0) return;
|
||||
@@ -94,8 +96,8 @@ void B3aRunAction::EndOfRunAction(const G4Run* run)
|
||||
// Run conditions
|
||||
// note: There is no primary generator action object for "master"
|
||||
// run manager for multi-threaded mode.
|
||||
const B3PrimaryGeneratorAction* generatorAction
|
||||
= static_cast<const B3PrimaryGeneratorAction*>(
|
||||
const PrimaryGeneratorAction* generatorAction
|
||||
= static_cast<const PrimaryGeneratorAction*>(
|
||||
G4RunManager::GetRunManager()->GetUserPrimaryGeneratorAction());
|
||||
G4String partName;
|
||||
if (generatorAction)
|
||||
@@ -132,3 +134,6 @@ void B3aRunAction::EndOfRunAction(const G4Run* run)
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
}
|
||||
|
||||
+12
-6
@@ -24,28 +24,31 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
/// \file B3StackingAction.cc
|
||||
/// \brief Implementation of the B3StackingAction class
|
||||
/// \file StackingAction.cc
|
||||
/// \brief Implementation of the B3::StackingAction class
|
||||
|
||||
#include "B3StackingAction.hh"
|
||||
#include "StackingAction.hh"
|
||||
|
||||
#include "G4Track.hh"
|
||||
#include "G4NeutrinoE.hh"
|
||||
|
||||
namespace B3
|
||||
{
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
B3StackingAction::B3StackingAction()
|
||||
StackingAction::StackingAction()
|
||||
{ }
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
B3StackingAction::~B3StackingAction()
|
||||
StackingAction::~StackingAction()
|
||||
{ }
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
G4ClassificationOfNewTrack
|
||||
B3StackingAction::ClassifyNewTrack(const G4Track* track)
|
||||
StackingAction::ClassifyNewTrack(const G4Track* track)
|
||||
{
|
||||
//keep primary particle
|
||||
if (track->GetParentID() == 0) return fUrgent;
|
||||
@@ -56,3 +59,6 @@ B3StackingAction::ClassifyNewTrack(const G4Track* track)
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user