Import Geant4 8.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 14:44:26 +02:00
parent 8a51e0bc40
commit 216a75eeb1
8717 changed files with 360418 additions and 141343 deletions
@@ -1,4 +1,4 @@
$Id: History,v 1.64 2005/12/06 11:25:21 gcosmo Exp $
$Id: History,v 1.76 2006/05/19 12:36:43 maire Exp $
-------------------------------------------------------------------
=========================================================
@@ -14,6 +14,29 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
19-05-06 mma (testem1-V08-00-04)
- update README
27-03-06 mma (testem1-V08-00-03)
- PhysicsList: new functions AddDecay(), AddStepMax()
27-03-06 mma (testem1-V08-00-02)
- TestEm1.in : migration mum -> um
- name brem -> eBrem
26-01-06 mma (testem1-V08-00-01)
- refresh all geant3 macros
- change printing format in EndOfRun
25-01-06 mma (testem1-V08-00-00)
- rename csdaRange -> trueRange
- histograms for primary particle only
- refresh all macros. Change names
- GetCSDARange() in EndOfRun
19-01-06 mma
- add PhysListEmLivermore and PhysListEmPenelope
06-12-05 Gabriele Cosmo
- Trivial changes for support of CLHEP-2.0.X series.
@@ -1,4 +1,4 @@
$Id: README,v 1.17 2005/11/22 17:14:07 maire Exp $
$Id: README,v 1.21 2006/05/15 14:38:15 maire Exp $
-------------------------------------------------------------------
=========================================================
@@ -7,8 +7,10 @@ $Id: README,v 1.17 2005/11/22 17:14:07 maire Exp $
TestEm1
-------
This example has been setup to test individualy the electromagnetic processes.
How to count processes.
How to activate/inactivate processes.
How to survey the tracking, in perticular the range of charged particles.
How to define a maximum step size.
1 - GEOMETRY DEFINITION
@@ -82,14 +84,22 @@ $Id: README,v 1.17 2005/11/22 17:14:07 maire Exp $
Idle> type your commands
....
Idle> exit
7 - HISTOGRAMS
7 - TRACKING : StepMax
In order to control the accuracy of the deposition, the user can limit
'by hand' the maximum step size of charged particles.
As an example, this limitation is implemented as a 'full' process :
see StepMax class and its Messenger. The 'StepMax process' is registered
in the Physics List.
8 - HISTOGRAMS
Testem1 produces several histo which are saved as testem1.hbook by default.
Content of these histo:
1 : track length of a charged particle
2 : number of steps per track (charged particle)
3 : step length (charged particle)
1 : track length of primary particle
2 : number of steps primary particle
3 : step size of primary particle
Note that, by default, histograms are disabled. To activate them, uncomment
the flag G4ANALYSIS_USE in GNUmakefile.
@@ -98,12 +108,12 @@ $Id: README,v 1.17 2005/11/22 17:14:07 maire Exp $
gmake histclean
gmake
8- USING HISTOGRAMS
9 - USING HISTOGRAMS
To use histograms, at least one of the AIDA implementations should be
available (see http://aida.freehep.org).
8a - PI
9a - PI
A package including AIDA and extended interfaces also using Python is PI,
available from: http://cern.ch/pi
@@ -117,7 +127,7 @@ $Id: README,v 1.17 2005/11/22 17:14:07 maire Exp $
Before running the example the command should be issued:
eval `aida-config --runtime csh`
8b - OpenScientist
9b - OpenScientist
OpenScientist is available at http://OpenScientist.lal.in2p3.fr.
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: TestEm1.cc,v 1.13 2005/12/06 11:25:21 gcosmo Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: TestEm1.cc,v 1.14 2006/06/29 16:36:02 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,4 +1,4 @@
# $Id: TestEm1.in,v 1.19 2005/02/01 11:34:00 maire Exp $
# $Id: TestEm1.in,v 1.24 2006/02/16 13:54:26 maire Exp $
#
# Macro file for "TestEm1.cc"
# (can be run in batch, without graphic)
@@ -6,32 +6,31 @@
# electron 100 MeV; all processes
#
/control/verbose 2
/tracking/verbose 0
/run/verbose 2
#
/testem/phys/setGCut 2.20 mm
/testem/phys/setECut 6.05 mum
/testem/phys/setPCut 6.05 mum
/testem/det/setMat Aluminium
/testem/det/setSize 10 m
#
/run/initialize
#
/process/eLoss/StepFunction 0.183 1.70 micrometer
#
/run/verbose 2
#
/testem/gun/setDefault
/gun/particle e-
/gun/energy 100 MeV
#
/testem/histo/setHisto 1 100 0 50 cm
/testem/histo/setHisto 2 100 0 100
/testem/histo/setHisto 3 100 0 10 mm
/testem/histo/setHisto 1 100 0 50 cm #track length of primary
/testem/histo/setHisto 2 100 0 300 none #nb steps of primary
/testem/histo/setHisto 3 200 0 20 mm #step size of primary
#
/testem/histo/setFileType hbook
###/testem/histo/setFileType root
###/testem/histo/setFileType XML
#
/testem/histo/setFileName run0
/run/beamOn 200
#
/testem/phys/setCuts 1 mm
/testem/histo/setFileName run0
/run/beamOn 2000
#
/process/eLoss/verbose 0
#
/testem/phys/setCuts 10 um
/testem/histo/setFileName run1
/run/beamOn 200
/run/beamOn 2000
@@ -1,6 +1,6 @@
*************************************************************
Geant4 version Name: geant4-08-00-cand-01 (16-December-2005)
Geant4 version Name: global-V08-00-04 (30-June-2006)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -10,51 +10,51 @@
***** Table : Nb of materials = 12 *****
Material: Air density: 1.290 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 285.161 m
---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole fractionMass: 70.00 % Abundance 72.71 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 30.00 % Abundance 27.29 %
---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 70.00 % ElmAbundance 72.71 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 30.00 % ElmAbundance 27.29 %
Material: H2liquid density: 70.800 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 8.923 m
---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 100.00 % Abundance 100.00 %
---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Material: Water density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.092 cm
---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 11.21 % Abundance 66.67 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 88.79 % Abundance 33.33 %
---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.21 % ElmAbundance 66.67 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 %
Material: liquidArgon density: 1.390 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 14.065 cm
---> Element: liquidArgon ( ) Z = 18.0 N = 40.0 A = 39.95 g/mole fractionMass: 100.00 % Abundance 100.00 %
---> Element: liquidArgon ( ) Z = 18.0 N = 40.0 A = 39.95 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Material: Aluminium density: 2.700 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 8.893 cm
---> Element: Aluminium ( ) Z = 13.0 N = 27.0 A = 26.98 g/mole fractionMass: 100.00 % Abundance 100.00 %
---> Element: Aluminium ( ) Z = 13.0 N = 27.0 A = 26.98 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Material: Silicon density: 2.330 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 9.368 cm
---> Element: Silicon ( ) Z = 14.0 N = 28.1 A = 28.09 g/mole fractionMass: 100.00 % Abundance 100.00 %
---> Element: Silicon ( ) Z = 14.0 N = 28.1 A = 28.09 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Material: Germanium density: 5.323 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 2.301 cm
---> Element: Germanium ( ) Z = 32.0 N = 72.6 A = 72.61 g/mole fractionMass: 100.00 % Abundance 100.00 %
---> Element: Germanium ( ) Z = 32.0 N = 72.6 A = 72.61 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Material: BGO density: 7.100 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.123 cm
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 15.41 % Abundance 63.16 %
---> Element: Germanium (Ge) Z = 32.0 N = 72.6 A = 72.59 g/mole fractionMass: 17.48 % Abundance 15.79 %
---> Element: Bismuth (Bi) Z = 83.0 N = 209.0 A = 208.98 g/mole fractionMass: 67.10 % Abundance 21.05 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 15.41 % ElmAbundance 63.16 %
---> Element: Germanium (Ge) Z = 32.0 N = 72.6 A = 72.59 g/mole ElmMassFraction: 17.48 % ElmAbundance 15.79 %
---> Element: Bismuth (Bi) Z = 83.0 N = 209.0 A = 208.98 g/mole ElmMassFraction: 67.10 % ElmAbundance 21.05 %
Material: Iron density: 7.870 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.759 cm
---> Element: Iron ( ) Z = 26.0 N = 55.9 A = 55.85 g/mole fractionMass: 100.00 % Abundance 100.00 %
---> Element: Iron ( ) Z = 26.0 N = 55.9 A = 55.85 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Material: Tungsten density: 19.300 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 3.504 mm
---> Element: Tungsten ( ) Z = 74.0 N = 183.8 A = 183.85 g/mole fractionMass: 100.00 % Abundance 100.00 %
---> Element: Tungsten ( ) Z = 74.0 N = 183.8 A = 183.85 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Material: Lead density: 11.350 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 5.612 mm
---> Element: Lead ( ) Z = 82.0 N = 207.2 A = 207.19 g/mole fractionMass: 100.00 % Abundance 100.00 %
---> Element: Lead ( ) Z = 82.0 N = 207.2 A = 207.19 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Material: Uranium density: 18.950 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 3.166 mm
---> Element: Uranium ( ) Z = 92.0 N = 238.0 A = 238.03 g/mole fractionMass: 100.00 % Abundance 100.00 %
---> Element: Uranium ( ) Z = 92.0 N = 238.0 A = 238.03 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Visualization Manager instantiating...
Visualization Manager initialising...
Registering graphics systems...
You have successfully chosen to use the following graphics systems.
You have successfully registered the following graphics systems.
Current available graphics systems are:
ASCIITree (ATree)
DAWNFILE (DAWNFILE)
@@ -66,37 +66,58 @@ Current available graphics systems are:
VRML2FILE (VRML2FILE)
Registering model factories...
/tracking/verbose 0
#
/testem/phys/setGCut 2.20 mm
/testem/phys/setECut 6.05 mum
/testem/phys/setPCut 6.05 mum
#
/run/initialize
The Box is 10 m of Aluminium
PhysicsList::SetCuts:CutLength : 1 mm
#
/process/eLoss/StepFunction 0.183 1.70 micrometer
#
You have successfully registered the following model factories.
Registered model factories:
generic
drawByCharge
drawByParticleID
drawByOriginVolume
Registered models:
None
Registered filter factories:
chargeFilter
particleFilter
originVolumeFilter
Registered filters:
None
/run/verbose 2
#
/testem/det/setMat Aluminium
/testem/det/setSize 10 m
#
/run/initialize
userDetector->Construct() start.
The Box is 10 m of Aluminium
Aluminium is registered to the default region.
physicsList->Construct() start.
physicsList->Construct() start.
physicsList->setCut() start.
PhysicsList::SetCuts:CutLength : 1 mm
#
/testem/gun/setDefault
/gun/particle e-
/gun/energy 100 MeV
#
/testem/histo/setHisto 1 100 0 50 cm
----> SetHisto 1: total track length of a charged particle (cm); 100 bins from 0 cm to 50 cm
/testem/histo/setHisto 2 100 0 100
----> SetHisto 2: nb steps per track (charged particles); 100 bins from 0 none to 100 none
/testem/histo/setHisto 3 100 0 10 mm
----> SetHisto 3: step length of charged particles (mm); 100 bins from 0 mm to 10 mm
/testem/histo/setHisto 1 100 0 50 cm #track length of primary
----> SetHisto 1: total track length of primary particle (cm); 100 bins from 0 cm to 50 cm
/testem/histo/setHisto 2 100 0 300 none #nb steps of primary
----> SetHisto 2: nb steps of primary particle; 100 bins from 0 none to 300 none
/testem/histo/setHisto 3 200 0 20 mm #step size of primary
----> SetHisto 3: step size of primary particle (mm); 200 bins from 0 mm to 20 mm
#
/testem/histo/setFileType hbook
###/testem/histo/setFileType root
###/testem/histo/setFileType XML
#
/testem/phys/setCuts 1 mm
/testem/histo/setFileName run0
/run/beamOn 200
/run/beamOn 2000
phot: Total cross sections from Sandia parametrisation.
@@ -118,9 +139,10 @@ eIoni: tables are built for e-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV.
Step function: finalRange(mm)= 0.0017, dRoverRange= 0.183, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
CSDA range table up to 1 GeV in 70 bins.
brem: tables are built for e-
eBrem: tables are built for e-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Total cross sections from a parametrisation based on the EEDL data library.
@@ -130,9 +152,10 @@ eIoni: tables are built for e+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV.
Step function: finalRange(mm)= 0.0017, dRoverRange= 0.183, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
CSDA range table up to 1 GeV in 70 bins.
brem: tables are built for e+
eBrem: tables are built for e+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Total cross sections from a parametrisation based on the EEDL data library.
@@ -151,16 +174,28 @@ hIoni: tables are built for proton
Lambda tables from threshold to 100 TeV in 120 bins.
Scaling relation is used to proton dE/dx and range
Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for protons below.
Step function: finalRange(mm)= 0.0017, dRoverRange= 0.183, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
CSDA range table up to 1 GeV in 70 bins.
msc: Model variant of multiple scattering for GenericIon
Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1
ionIoni: tables are built for GenericIon
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Scaling relation is used to proton dE/dx and range
Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for alpha particles below.
Step function: finalRange(mm)= 0.0017, dRoverRange= 0.183, integral: 1
Stopping Power data for 8 ion/material pairs are used.
Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1
CSDA range table up to 1 GeV in 70 bins.
hIoni: tables are built for anti_proton
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Scaling relation is used to proton dE/dx and range
Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for protons below.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
CSDA range table up to 1 GeV in 70 bins.
msc: Model variant of multiple scattering for mu+
Lambda tables from 100 eV to 100 TeV in 120 bins.
@@ -171,7 +206,8 @@ muIoni: tables are built for mu+
Lambda tables from threshold to 100 TeV in 120 bins.
Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below,
radiative corrections for E > 1 GeV
Step function: finalRange(mm)= 0.0017, dRoverRange= 0.183, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
CSDA range table up to 1 GeV in 70 bins.
muBrems: tables are built for mu+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
@@ -188,7 +224,8 @@ muIoni: tables are built for mu-
Lambda tables from threshold to 100 TeV in 120 bins.
Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below,
radiative corrections for E > 1 GeV
Step function: finalRange(mm)= 0.0017, dRoverRange= 0.183, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
CSDA range table up to 1 GeV in 70 bins.
muBrems: tables are built for mu-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
@@ -200,20 +237,36 @@ muPairProd: tables are built for mu-
Lambda tables from threshold to 100 TeV in 120 bins.
Parametrised model
hIoni: tables are built for pi+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Scaling relation is used to proton dE/dx and range
Bether-Bloch model for Escaled > 0.297504 MeV, ICRU49 parametrisation for protons below.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
CSDA range table up to 1 GeV in 70 bins.
msc: Model variant of multiple scattering for pi-
Lambda tables from 100 eV to 100 TeV in 120 bins.
Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1
hIoni: tables are built for pi-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Scaling relation is used to proton dE/dx and range
Bether-Bloch model for Escaled > 0.297504 MeV, ICRU49 parametrisation for protons below.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
CSDA range table up to 1 GeV in 70 bins.
Region <DefaultRegionForTheWorld> -- appears in <Aluminium> world volume
Materials : Aluminium
Production cuts : gamma 2.2 mm e- 6.05 mum e+ 6.05 mum
Production cuts : gamma 1 mm e- 1 mm e+ 1 mm
========= Table of registered couples ==============================
Index : 0 used in the geometry : Yes recalculation needed : No
Material : Aluminium
Range cuts : gamma 2.2 mm e- 6.05 mum e+ 6.05 mum
Energy thresholds : gamma 9.98636 keV e- 9.96618 keV e+ 9.96618 keV
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm
Energy thresholds : gamma 6.88731 keV e- 596.68 keV e+ 568.011 keV
Region(s) which use this couple :
DefaultRegionForTheWorld
@@ -235,160 +288,56 @@ Start Run processing.
---> Begin of Event: 0
Run terminated.
Run Summary
Number of events processed : 200
User=143.37s Real=168.97s Sys=23.87s
Number of events processed : 2000
User=88.64s Real=125.25s Sys=29.48s
======================== run summary ======================
The run was: 200 e- of 100.00 MeV through 10.00 m of Aluminium (density: 2.70 g/cm3 )
The run was: 2000 e- of 100 MeV through 10 m of Aluminium (density: 2.7 g/cm3 )
============================================================
total energy deposit: 99.809 MeV
total energy deposit: 99.783 MeV
nb tracks/event neutral: 27.575 charged: 693.310
nb steps/event neutral: 138.115 charged: 3828.275
nb tracks/event neutral: 27.951 charged: 148.47
nb steps/event neutral: 141.41 charged: 363.77
nb of process calls per event:
eIoni brem msc phot compt conv annihilTransportation
3144.490 25.910 656.495 25.180 110.540 1.380 1.380 1.015
eBrem eIoni compt phot mscTransportation conv annihil
26.174 188.17 113.46 25.501 147.96 0.9905 1.4625 1.463
---------------------------------------------------------
Primary particle :
CSDA Range = 10.761 cm rms = 3.879 cm
proj Range = 9.255 cm rms = 3.650 cm
proj/CSDA = 0.860
transverse dispersion at end = 1.741 cm
true Range = 11.121 cm rms = 3.8093 cm
proj Range = 9.5817 cm rms = 3.5013 cm
proj/true = 0.86158
transverse dispersion at end = 1.8005 cm
mass true Range from simulation = 30.027 g/cm2
from PhysicsTable (csda range) = 31.791 g/cm2
---------------------------------------------------------
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 1674441358, 1865268964
Current couple of seeds = 486808439, 1322415313
----------------------------------------
mass CSDA Range from simulation = 29.055 g/cm2
from PhysicsTable = 85.395 g/cm2
---------------------------------------------------------
#
/testem/phys/setCuts 1 mm
/process/eLoss/verbose 0
#
/testem/phys/setCuts 10 um
/testem/histo/setFileName run1
/run/beamOn 200
phot: Total cross sections from Sandia parametrisation.
compt: Total cross sections has a good parametrisation from 10 KeV to (100/Z) GeV
Sampling according Klein-Nishina model
tables are built for gamma
Lambda tables from 100 eV to 100 GeV in 90 bins.
conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z;
sampling secondary e+e- according to the Bethe-Heitler model
tables are built for gamma
Lambda tables from 1.0219981 MeV to 100 GeV in 100 bins.
msc: Model variant of multiple scattering for e-
Lambda tables from 100 eV to 100 TeV in 120 bins.
Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1
eIoni: tables are built for e-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV.
Step function: finalRange(mm)= 0.0017, dRoverRange= 0.183, integral: 1
brem: tables are built for e-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Total cross sections from a parametrisation based on the EEDL data library.
Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV.
eIoni: tables are built for e+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV.
Step function: finalRange(mm)= 0.0017, dRoverRange= 0.183, integral: 1
brem: tables are built for e+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Total cross sections from a parametrisation based on the EEDL data library.
Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV.
annihil: Heilter model of formula of annihilation into 2 photons
tables are built for e+
Lambda tables from 100 eV to 100 TeV in 120 bins.
msc: Model variant of multiple scattering for proton
Lambda tables from 100 eV to 100 TeV in 120 bins.
Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1
hIoni: tables are built for proton
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Scaling relation is used to proton dE/dx and range
Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for protons below.
Step function: finalRange(mm)= 0.0017, dRoverRange= 0.183, integral: 1
msc: Model variant of multiple scattering for GenericIon
ionIoni: tables are built for GenericIon
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Scaling relation is used to proton dE/dx and range
Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for alpha particles below.
Step function: finalRange(mm)= 0.0017, dRoverRange= 0.183, integral: 1
msc: Model variant of multiple scattering for mu+
Lambda tables from 100 eV to 100 TeV in 120 bins.
Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1
muIoni: tables are built for mu+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below,
radiative corrections for E > 1 GeV
Step function: finalRange(mm)= 0.0017, dRoverRange= 0.183, integral: 1
muBrems: tables are built for mu+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Parametrised model
muPairProd: tables are built for mu+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Parametrised model
muIoni: tables are built for mu-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below,
radiative corrections for E > 1 GeV
Step function: finalRange(mm)= 0.0017, dRoverRange= 0.183, integral: 1
muBrems: tables are built for mu-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Parametrised model
muPairProd: tables are built for mu-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Parametrised model
msc: Model variant of multiple scattering for pi-
Lambda tables from 100 eV to 100 TeV in 120 bins.
Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1
/run/beamOn 2000
Region <DefaultRegionForTheWorld> -- appears in <Aluminium> world volume
Materials : Aluminium
Production cuts : gamma 1 mm e- 1 mm e+ 1 mm
Production cuts : gamma 10 um e- 10 um e+ 10 um
========= Table of registered couples ==============================
Index : 0 used in the geometry : Yes recalculation needed : No
Material : Aluminium
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm
Energy thresholds : gamma 6.8873065 keV e- 596.68045 keV e+ 568.01052 keV
Range cuts : gamma 10 um e- 10 um e+ 10 um
Energy thresholds : gamma 990 eV e- 33.887552 keV e+ 33.472938 keV
Region(s) which use this couple :
DefaultRegionForTheWorld
@@ -398,46 +347,46 @@ Index : 0 used in the geometry : Yes recalculation needed : No
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 1674441358, 1865268964
Current couple of seeds = 486808439, 1322415313
----------------------------------------
Start Run processing.
---> Begin of Event: 0
Run terminated.
Run Summary
Number of events processed : 200
User=45.28s Real=58.43s Sys=11.47s
Number of events processed : 2000
User=175.77s Real=232.34s Sys=49.85s
======================== run summary ======================
The run was: 200 e- of 100.00 MeV through 10.00 m of Aluminium (density: 2.70 g/cm3 )
The run was: 2000 e- of 100 MeV through 10 m of Aluminium (density: 2.7 g/cm3 )
============================================================
total energy deposit: 99.789 MeV
total energy deposit: 99.793 MeV
nb tracks/event neutral: 27.115 charged: 143.160
nb steps/event neutral: 136.270 charged: 1161.905
nb tracks/event neutral: 36.393 charged: 290.7
nb steps/event neutral: 146.05 charged: 775.79
nb of process calls per event:
brem eIoni compt phot msc conv annihilTransportation
25.585 1022.685 109.155 24.920 112.355 1.280 1.280 0.915
eIoni eBrem msc phot compt conv annihilTransportation
449.81 34.605 289.96 34.055 109.65 1.397 1.3975 0.949
---------------------------------------------------------
Primary particle :
CSDA Range = 11.292 cm rms = 3.464 cm
proj Range = 9.702 cm rms = 3.120 cm
proj/CSDA = 0.859
transverse dispersion at end = 1.774 cm
true Range = 11.149 cm rms = 3.8924 cm
proj Range = 9.5626 cm rms = 3.5687 cm
proj/true = 0.85772
transverse dispersion at end = 1.9027 cm
mass true Range from simulation = 30.102 g/cm2
from PhysicsTable (csda range) = 31.791 g/cm2
---------------------------------------------------------
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 1519444746, 431167489
Current couple of seeds = 763249003, 2053971629
----------------------------------------
mass CSDA Range from simulation = 30.488 g/cm2
from PhysicsTable = 67.818 g/cm2
---------------------------------------------------------
Graphics systems deleted.
Visualization Manager deleting...
UserDetectorConstruction deleted.
@@ -0,0 +1,39 @@
# $Id: annihil.mac,v 1.1 2006/01/25 13:56:40 maire Exp $
#
# Macro file for "TestEm1.cc"
#
# e+ beam; 100 MeV
# To visualise e+ annihilation
#
/control/verbose 2
/run/verbose 2
#
/testem/det/setMat Aluminium
/testem/det/setSize 20 cm
#
/testem/phys/addPhysics standard
#
/run/initialize
#
/control/execute vis.mac
#
# prevent ionisation and bremsstrahlung production
/testem/phys/setCuts 1 km
#
# no multiple scattering
/process/inactivate msc
#
# no photon interaction
/process/inactivate phot
/process/inactivate compt
/process/inactivate conv
#
/testem/gun/setDefault
/gun/particle e+
/gun/energy 100 MeV
# spread beam spot
/testem/gun/rndm 0.8
#
/tracking/verbose 1
#
/run/beamOn 20
@@ -0,0 +1,48 @@
# $Id: brems.mac,v 1.3 2006/04/10 10:22:41 vnivanch Exp $
#
# Macro file for "TestEm1.cc"
# (can be run in batch, without graphic)
#
# Bremsstrahlung only
#
/control/verbose 2
/run/verbose 2
#
/testem/det/setMat Aluminium
/testem/det/setSize 50 cm
#
/testem/phys/addPhysics standard
#
/run/initialize
#
# prevent any e- ionisation production
/testem/phys/setECut 1 km
#
# no multiple scattering
/process/inactivate msc
#
# set cut for gamma bremsstrahlung
/testem/phys/setGCut 1 mm
#
# no gamma interaction
/process/inactivate phot
/process/inactivate compt
/process/inactivate conv
#
/testem/gun/setDefault
/gun/particle e-
/gun/energy 200 MeV
#
/testem/histo/setFileName brems
/testem/histo/setFileType hbook
/testem/histo/setHisto 1 100 0 50 cm #track length of primary
/testem/histo/setHisto 2 100 0 100 none #nb steps of primary
/testem/histo/setHisto 3 200 0 50 mm #step size of primary
#
/testem/event/printModulo 2000
#
/process/eLoss/verbose 0
/process/inactivate eIoni
/run/physicsModified
/run/beamOn 10000
#
@@ -0,0 +1,38 @@
# $Id: gammaconversion.mac,v 1.1 2006/01/25 13:56:40 maire Exp $
#
# Macro file for "TestEm1.cc"
#
# Photon beam; 100 MeV
# To visualise gamma conversion and e+ annihilation
#
/control/verbose 2
/run/verbose 2
#
/testem/det/setMat Aluminium
/testem/det/setSize 1 m
#
/testem/phys/addPhysics standard
#
/run/initialize
#
/control/execute vis.mac
#
# no photoElectric nor Compton
/process/inactivate phot
/process/inactivate compt
#
# prevent ionisation and bremsstrahlung production
/testem/phys/setCuts 1 km
#
# no multiple scattering
/process/inactivate msc
#
/testem/gun/setDefault
/gun/particle gamma
/gun/energy 100 MeV
# spread beam spot
/testem/gun/rndm 0.8
#
/tracking/verbose 1
#
/run/beamOn 20
@@ -20,7 +20,7 @@
Content of these histo:
1 : track length of a charged particle
2 : number of steps per track (charged particle)
3 : step length (charged particle)
1 : track length of primary particle
2 : number of steps of primary particle
3 : step size of primary particle
@@ -1,18 +1,20 @@
LIST
C
C Eloss+muls only; no fluctuation; e- 10 Mev
C e+ beam; 100 MeV
C
CALOR 5 (Imat) 2000. (size) 0. (field)
TRIG 100
KINE 3 (Itype) 0.010 (Ekine)
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)
ABAN 0
MULS 0
PHOT 0
COMP 0
PAIR 0
MULS 1
LOSS 4
LOSS 1
C
ABAN 0
TIME 2=1.
@@ -1,18 +1,20 @@
LIST
C
C full Brems only; e- 1 Gev
C Bremsstrahlung only
C
CALOR 5 (Imat) 2000. (size) 0. (field)
TRIG 100
KINE 3 (Itype) 1.000 (Ekine)
DEBUG 10 5 1000
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)
ABAN 0
MULS 0
PHOT 0
COMP 0
PAIR 0
MULS 0
LOSS 1
C
ABAN 0
TIME 2=1.
@@ -1,18 +1,19 @@
LIST
C
C Eloss only; glandz fluctuations; e- 1 Gev
C Photon beam; 100 MeV
C
CALOR 5 (Imat) 2000. (size) 0. (field)
TRIG 100
KINE 3 (Itype) 1.000 (Ekine)
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)
ABAN 0
PHOT 0
COMP 0
PAIR 0
MULS 0
LOSS 1
C
ABAN 0
TIME 2=1.
@@ -1,14 +1,11 @@
LIST
C
C e- 100 Mev; all processes
C geantino; 100 evts
C
CALOR 5 (Imat) 2000. (size) 0. (field)
CALOR 5 (Al) 1000. (cm) 0. (field)
TRIG 100
KINE 3 (Itype) 0.100 (Ekine)
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)
ABAN 0
LOSS 1
TIME 2=1.
@@ -26,7 +26,7 @@ chmod +x $name.xb
#
# cleanup
#
rm *.o
rm -rf *.o
echo 'done'
exit
@@ -25,7 +25,7 @@ chmod +x $name.xt
#
# cleanup
#
rm *.o
rm -rf *.o
echo 'done'
exit
@@ -1,18 +1,17 @@
LIST
C
C full Ionisation only; e- 100 Mev
C full Ionisation only
C
CALOR 5 (Imat) 2000. (size) 0. (field)
TRIG 100
KINE 3 (Itype) 0.100 (Ekine)
DEBUG 10 5 1000
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)
ABAN 0
PHOT 0
COMP 0
PAIR 0
MULS 0
LOSS 1
C
ABAN 0
TIME 2=1.
@@ -1,19 +0,0 @@
LIST
C
C Photo electric; gamma 1 MeV
C
CALOR 10 (Germanium) 1. (size) 0. (field)
TRIG 100000
KINE 1 (gamma) 0.001 (Ekine) 1. (xBeam) 0.8 (rBeam)
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+3 (bcute/m) 2*10.e+3 (dcute/m) 10.e-3 (ppcutm)
ABAN 0
PHOT 1
COMP 0
PAIR 0
BREM 0
MULS 1
LOSS 1
TIME 2=1.
@@ -1,18 +1,16 @@
LIST
C
C Compton + Photo electric; gamma 10 MeV
C Photon beam; gamma 300 keV
C
CALOR 5 (Imat) 2000. (size) 0. (field)
TRIG 1000
KINE 1 (Itype) 0.010 (Ekine)
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)
ABAN 0
PHOT 2
COMP 2
PAIR 0
MULS 0
LOSS 1
C
ABAN 0
TIME 2=1.
@@ -1,18 +1,17 @@
LIST
C
C Eloss only; no fluctuation; e- 1 Gev
C csda range of the primary particle
C
CALOR 5 (Imat) 2000. (size) 0. (field)
TRIG 100
KINE 3 (Itype) 1.000 (Ekine)
DEBUG 10 5 1000
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)
ABAN 0
PHOT 0
COMP 0
PAIR 0
MULS 0
LOSS 4
C
ABAN 0
TIME 2=1.
@@ -1,14 +0,0 @@
LIST
C
C geantino; 10000 evts
C
CALOR 5 (Imat) 2000. (size) 0. (field)
TRIG 10000
KINE 48 (Itype) 1.0 (Ekine)
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)
ABAN 0
LOSS 1
TIME 2=1.
@@ -1,19 +0,0 @@
LIST
C
C Gamma conversion and e+ annihilation; gamma 100 MeV
C
CALOR 5 (Imat) 2000. (size) 0. (field)
TRIG 1000
KINE 1 (Itype) 0.100 (Ekine)
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+3 (bcute/m) 2*15.e-3 (dcute/m) 10.e-3 (ppcutm)
ABAN 0
PHOT 0
COMP 0
PAIR 1
ANNI 2
MULS 0
LOSS 1
TIME 2=1.
@@ -1,14 +0,0 @@
LIST
C
C e- 10 Gev; all processes
C
CALOR 5 (Imat) 2000. (size) 0. (field)
TRIG 100
KINE 3 (Itype) 10.000 (Ekine)
DEBUG 10 5 10
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*597.e-6 (dcute/m) 10.e-3 (ppcutm)
ABAN 0
LOSS 1
TIME 2=1.
@@ -1,14 +0,0 @@
LIST
C
C Eloss only + muls; e- 1 Gev
C
CALOR 5 (Imat) 2000. (size) 0. (field)
TRIG 1000
KINE 3 (Itype) 1.000 (Ekine)
DEBUG 10 5 1000
SWIT 0 (draw) 1 (save)
CUTS 10.e-6 (cutgam) 10.e-6 (cutele) 3*10.e-3 (cutneu/had/muo)
2*10.e+3 (bcute/m) 2*100.e-3 (dcute/m) 10.e-3 (ppcutm)
ABAN 0
LOSS 1
TIME 2=1.
@@ -26,7 +26,6 @@
IF (CHARGE.NE.0.) THEN
NSTEP1 = NSTEP1 + 1
NSTRK1 = NSTRK1 + 1
CALL HFILL (3,STEP*10,0.,1.)
ELSE
NSTEP0 = NSTEP0 + 1
NSTRK0 = NSTRK0 + 1
@@ -40,5 +39,8 @@
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
@@ -19,11 +19,17 @@
*
* *** count nb of tracks
IF (CHARGE.NE.0.) THEN
NTRAK1 = NTRAK1 + 1
CALL HFILL (1,SLENG*10,0.,1.)
CALL HFILL (2,REAL(NSTRK1),0.,1.)
NTRAK1 = NTRAK1 + 1
ELSE
NTRAK0 = NTRAK0 + 1
ENDIF
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
@@ -14,7 +14,7 @@
* *** read data cards
PRINT *, 'G3 > gives the filename of the data cards to be read:'
READ (*,'(A)') filnam
IF (filnam.EQ.' ') filnam = 'run01.dat'
IF (filnam.EQ.' ') filnam = 'testem1.dat'
OPEN (unit=5,file=filnam,status='unknown',form='formatted')
*
@@ -31,7 +31,7 @@
*
* *** Save selected histograms
IF (ISWIT(2).EQ.1) THEN
CALL HRPUT(0,'testem1.paw','N')
CALL HRPUT(0,'testem1.hbook','N')
ENDIF
*
* *** formats
@@ -3,11 +3,11 @@
*
* To book the user's histograms
*
CALL HBOOK1(1,'track length (mm) of a charged particle',
CALL HBOOK1(1,'track length (mm) of primary particle',
+ 100,0.,500.,0.)
CALL HBOOK1(2,'Nb of steps per track (charged particle)',
CALL HBOOK1(2,'Nb of steps of primary particle',
+ 100,0.,100.,0.)
CALL HBOOK1(3,'step length (mm) charged particle',
CALL HBOOK1(3,'step size (mm) of primary particle',
+ 100,0.,10. ,0.)
*
END
@@ -1,14 +1,16 @@
LIST
C
C e- 1 Gev; all processes
C e- 100 MeV; all processes
C
CALOR 5 (Imat) 2000. (size) 0. (field)
TRIG 100
KINE 3 (Itype) 1.000 (Ekine)
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)
ABAN 0
LOSS 1
C
ABAN 0
TIME 2=1.
@@ -1,16 +1,17 @@
# $Id: run00.mac,v 1.2 2001/10/26 12:51:21 maire Exp $
# $Id: geantino.mac,v 1.1 2006/01/24 18:29:07 maire Exp $
#
# Macro file for "TestEm1.cc"
# (can be run in batch, without graphic)
#
# geantino 1 GeV; 10000 evts
# geantino 1 GeV; 100 evts
#
/control/verbose 2
/run/verbose 2
#
/run/initialize
#
/run/verbose 2
/process/eLoss/verbose 0
#
/gun/particle geantino
/gun/energy 1 GeV
/run/beamOn 10000
/run/beamOn 100
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: DetectorConstruction.hh,v 1.1 2003/10/06 10:02:22 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: DetectorConstruction.hh,v 1.2 2006/06/29 16:36:04 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: DetectorMessenger.hh,v 1.2 2004/09/15 13:17:18 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: DetectorMessenger.hh,v 1.3 2006/06/29 16:36:07 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: EventAction.hh,v 1.2 2003/10/28 10:27:25 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: EventAction.hh,v 1.3 2006/06/29 16:36:10 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: EventActionMessenger.hh,v 1.2 2004/09/15 13:17:18 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: EventActionMessenger.hh,v 1.3 2006/06/29 16:36:13 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: HistoManager.hh,v 1.4 2005/02/01 11:34:03 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: HistoManager.hh,v 1.5 2006/06/29 16:36:15 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: HistoMessenger.hh,v 1.2 2005/02/01 11:34:03 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: HistoMessenger.hh,v 1.3 2006/06/29 16:36:18 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: PhysListEmG4v52.hh,v 1.1 2003/10/06 10:02:24 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: PhysListEmG4v52.hh,v 1.2 2006/06/29 16:36:21 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: PhysListEmG4v71.hh,v 1.2 2005/10/05 12:05:13 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: PhysListEmG4v71.hh,v 1.3 2006/06/29 16:36:23 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -0,0 +1,67 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: PhysListEmLivermore.hh,v 1.2 2006/06/29 16:36:25 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef PhysListEmLivermore_h
#define PhysListEmLivermore_h 1
#include "G4VPhysicsConstructor.hh"
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class PhysListEmLivermore : public G4VPhysicsConstructor
{
public:
PhysListEmLivermore(const G4String& name = "Livermore");
~PhysListEmLivermore();
public:
// This method is dummy for physics
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
void ConstructProcess();
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -0,0 +1,67 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: PhysListEmPenelope.hh,v 1.2 2006/06/29 16:36:28 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef PhysListEmPenelope_h
#define PhysListEmPenelope_h 1
#include "G4VPhysicsConstructor.hh"
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class PhysListEmPenelope : public G4VPhysicsConstructor
{
public:
PhysListEmPenelope(const G4String& name = "Penelope");
~PhysListEmPenelope();
public:
// This method is dummy for physics
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
void ConstructProcess();
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: PhysListEmStandard.hh,v 1.3 2003/10/24 12:06:36 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: PhysListEmStandard.hh,v 1.4 2006/06/29 16:36:30 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: PhysicsList.hh,v 1.2 2004/06/09 15:29:43 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: PhysicsList.hh,v 1.4 2006/06/29 16:36:33 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//
@@ -52,6 +55,9 @@ class PhysicsList: public G4VModularPhysicsList
void ConstructParticle();
void ConstructProcess();
void AddPhysicsList(const G4String& name);
void AddDecay();
void AddStepMax();
void SetCuts();
void SetCutForGamma(G4double);
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PhysicsListMessenger.hh,v 1.2 2004/09/15 13:17:18 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: PhysicsListMessenger.hh,v 1.3 2006/06/29 16:36:35 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PrimaryGeneratorAction.hh,v 1.2 2004/07/23 15:39:34 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: PrimaryGeneratorAction.hh,v 1.3 2006/06/29 16:36:37 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PrimaryGeneratorMessenger.hh,v 1.2 2004/09/15 13:17:18 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: PrimaryGeneratorMessenger.hh,v 1.3 2006/06/29 16:36:39 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: ProcessesCount.hh,v 1.9 2003/10/06 10:02:25 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: ProcessesCount.hh,v 1.10 2006/06/29 16:36:41 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: RunAction.hh,v 1.6 2004/08/03 11:31:43 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: RunAction.hh,v 1.8 2006/06/29 16:36:43 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -59,7 +62,7 @@ class RunAction : public G4UserRunAction
void CountProcesses(G4String);
void AddEdep(G4double val) { edep += val;}
void AddCsdaRange (G4double l) { csdaRange += l; csdaRange2 += l*l;};
void AddTrueRange (G4double l) { trueRange += l; trueRange2 += l*l;};
void AddProjRange (G4double x) { projRange += x; projRange2 += x*x;};
void AddTransvDev (G4double y) { transvDev += y; transvDev2 += y*y;};
@@ -67,7 +70,7 @@ class RunAction : public G4UserRunAction
G4int NbOfTraks0, NbOfTraks1;
G4int NbOfSteps0, NbOfSteps1;
G4double edep;
G4double csdaRange, csdaRange2;
G4double trueRange, trueRange2;
G4double projRange, projRange2;
G4double transvDev, transvDev2;
@@ -0,0 +1,76 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: StepMax.hh,v 1.2 2006/06/29 16:36:45 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef StepMax_h
#define StepMax_h 1
#include "globals.hh"
#include "G4VDiscreteProcess.hh"
#include "G4ParticleDefinition.hh"
#include "G4Step.hh"
class StepMaxMessenger;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class StepMax : public G4VDiscreteProcess
{
public:
StepMax(const G4String& processName = "UserMaxStep");
~StepMax();
G4bool IsApplicable(const G4ParticleDefinition&);
void SetMaxStep(G4double);
G4double GetMaxStep() {return MaxChargedStep;};
G4double PostStepGetPhysicalInteractionLength( const G4Track& track,
G4double previousStepSize,
G4ForceCondition* condition);
G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&);
G4double GetMeanFreePath(const G4Track&, G4double,G4ForceCondition*)
{return DBL_MAX;};
private:
G4double MaxChargedStep;
StepMaxMessenger* pMess;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -0,0 +1,58 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: StepMaxMessenger.hh,v 1.2 2006/06/29 16:36:47 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....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();
void SetNewValue(G4UIcommand*, G4String);
private:
StepMax* stepMax;
G4UIcmdWithADoubleAndUnit* StepMaxCmd;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: SteppingAction.hh,v 1.3 2004/07/23 15:39:34 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: SteppingAction.hh,v 1.4 2006/06/29 16:36:49 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: SteppingVerbose.hh,v 1.1 2003/10/06 10:02:25 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: SteppingVerbose.hh,v 1.2 2006/06/29 16:36:51 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
// This class manages the verbose outputs in G4SteppingManager.
// It inherits from G4SteppingVerbose.
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: TrackingAction.hh,v 1.3 2004/07/23 15:39:34 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: TrackingAction.hh,v 1.4 2006/06/29 16:36:53 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -0,0 +1,39 @@
# $Id: ionis.mac,v 1.2 2006/01/25 13:56:40 maire Exp $
#
# Macro file for "TestEm1.cc"
# (can be run in batch, without graphic)
#
# Ionisation only
#
/control/verbose 2
/run/verbose 2
#
/testem/det/setMat Aluminium
/testem/det/setSize 50 cm
#
/testem/phys/addPhysics standard
#
/run/initialize
#
# prevent any gamma production
/testem/phys/setGCut 1 km
#
# no multiple scattering
/process/inactivate msc
#
# set cut for ionisation
/testem/phys/setECut 1 mm
#
/testem/gun/setDefault
/gun/particle e-
/gun/energy 200 MeV
#
/testem/histo/setFileName ionis
/testem/histo/setFileType hbook
/testem/histo/setHisto 1 100 0 50 cm #track length of primary
/testem/histo/setHisto 2 100 0 100 none #nb steps of primary
/testem/histo/setHisto 3 200 0 50 mm #step size of primary
#
/testem/event/printModulo 2000
#
/run/beamOn 10000
@@ -1,9 +1,9 @@
# $Id: phot.mac,v 1.4 2004/08/03 11:31:40 maire Exp $
# $Id: photon.mac,v 1.1 2006/01/24 18:29:07 maire Exp $
#
# Macro file for "TestEm1.cc"
# (can be run in batch, without graphic)
#
# PhotoElectricEffect; Gamma 1 Mev
# Photon beam; 300 keV
# For interactive visualisation
#
/control/verbose 2
/run/verbose 2
@@ -13,13 +13,14 @@
#
/run/initialize
#
/control/execute vis.mac
#
/testem/gun/setDefault
/gun/particle gamma
/gun/energy 1 MeV
/testem/gun/rndm 0.8
/gun/energy 300 keV
# spread beam spot
/testem/gun/rndm 0.8
#
/tracking/verbose 1
#
#/run/particle/applyCuts
#
#/run/beamOn 100000
/run/beamOn 20
@@ -1,8 +1,9 @@
# $Id: range.mac,v 1.4 2005/06/01 10:20:12 maire Exp $
# $Id: range.mac,v 1.9 2006/01/25 15:28:27 maire Exp $
#
# Macro file for "TestEm1.cc"
#
# compute the range of primary particle
# compute the csda range of the primary particle
# with or without fluctuations
#
/control/verbose 2
/run/verbose 2
@@ -11,10 +12,15 @@
/testem/det/setSize 10 cm
#
/testem/phys/addPhysics standard
/testem/phys/setCuts 1 km
###/testem/phys/addPhysics penelope
###/testem/phys/addPhysics livermore
#
/run/initialize
#
# prevent any secondary production
/testem/phys/setCuts 1 km
#
# eliminate straggling
/process/inactivate msc
/process/eLoss/fluct false
#
@@ -22,6 +28,10 @@
/gun/particle proton
/gun/energy 100 MeV
#
/testem/event/printModulo 1000
/testem/histo/setFileName range
/testem/histo/setFileType hbook
/testem/histo/setHisto 1 150 70 85 mm # csda range
#
/testem/event/printModulo 2000
#
/run/beamOn 1000
/run/beamOn 20000
@@ -1,30 +0,0 @@
# $Id: run01.mac,v 1.6 2003/10/06 10:02:20 maire Exp $
#
# Macro file for "TestEm1.cc"
# (can be run in batch, without graphic)
#
# Eloss only; no fluctuation; e- 1 GeV
#
/control/verbose 2
#
###/testem/phys/addPhysics g4v52
/testem/phys/addPhysics standard
#
/testem/phys/setGCut 95 cm
/testem/phys/setECut 95 cm
#
/run/initialize
#
/process/inactivate phot
/process/inactivate compt
/process/inactivate conv
/process/inactivate msc
#
/process/eLoss/StepFunction 0.183 170 micrometer
/process/eLoss/fluct 0
#
/run/verbose 2
#
/gun/particle e-
/gun/energy 1 GeV
/run/beamOn 100
@@ -1,31 +0,0 @@
# $Id: run02.mac,v 1.6 2003/10/06 10:02:20 maire Exp $
#
# Macro file for "TestEm1.cc"
# (can be run in batch, without graphic)
#
# Eloss only; glandz fluctuations; e- 1 GeV
#
/control/verbose 2
#
#/testem/phys/addPhysics g4v52
/testem/phys/addPhysics standard
#
/testem/phys/setGCut 95 cm
/testem/phys/setECut 95 cm
#
/run/initialize
#
/process/inactivate phot
/process/inactivate compt
/process/inactivate conv
/process/inactivate msc
#
/process/eLoss/integral false
/process/eLoss/StepFunction 0.183 170 micrometer
/process/eLoss/fluct 1
#
/run/verbose 2
#
/gun/particle e-
/gun/energy 1 GeV
/run/beamOn 100
@@ -1,26 +0,0 @@
# $Id: run03.mac,v 1.5 2002/12/11 14:19:18 maire Exp $
#
# Macro file for "TestEm1.cc"
# (can be run in batch, without graphic)
#
# Eloss+Muls only; no fluctuation; e- 10 MeV
#
/control/verbose 2
#
/testem/phys/setGCut 95 cm
/testem/phys/setECut 95 cm
#
/run/initialize
#
/process/inactivate phot
/process/inactivate compt
/process/inactivate conv
#
/process/eLoss/StepFunction 0.183 170 micrometer
/process/eLoss/fluct 0
#
/run/verbose 2
#
/gun/particle e-
/gun/energy 10 MeV
/run/beamOn 100
@@ -1,30 +0,0 @@
# $Id: run04.mac,v 1.7 2003/10/06 10:02:20 maire Exp $
#
# Macro file for "TestEm1.cc"
# (can be run in batch, without graphic)
#
# full Ionisation only; e- 100 MeV
#
/control/verbose 2
#
##/testem/phys/addPhysics g4v52
/testem/phys/addPhysics standard
#
/testem/phys/setGCut 95 cm
/testem/phys/setECut 100 micrometer
#
/run/initialize
#
/process/inactivate phot
/process/inactivate compt
/process/inactivate conv
/process/inactivate msc
#
/process/eLoss/integral true
/process/eLoss/StepFunction 0.183 170 micrometer
#
/run/verbose 2
#
/gun/particle e-
/gun/energy 100 MeV
/run/beamOn 100
@@ -1,31 +0,0 @@
# $Id: run05.mac,v 1.7 2003/10/17 17:57:49 vnivanch Exp $
#
# Macro file for "TestEm1.cc"
# (can be run in batch, without graphic)
#
# full Brems only; e- 1 GeV
#
/control/verbose 2
#
##/testem/phys/addPhysics g4v52
/testem/phys/addPhysics standard
#
/testem/phys/setGCut 2.2 mm
/testem/phys/setECut 95 cm
/testem/phys/setPCut 95 cm
#
/run/initialize
#
/process/inactivate phot
/process/inactivate compt
/process/inactivate conv
/process/inactivate msc
#
/process/eLoss/integral false
/process/eLoss/StepFunction 0.183 170 micrometer
#
/run/verbose 2
#
/gun/particle e-
/gun/energy 1 GeV
/run/beamOn 100
@@ -1,28 +0,0 @@
# $Id: run06.mac,v 1.6 2003/10/06 10:02:20 maire Exp $
#
# Macro file for "TestEm1.cc"
# (can be run in batch, without graphic)
#
# Compton + PhotoElectricEffect; Gamma 10 Mev
#
/control/verbose 2
#
###/testem/phys/addPhysics g4v52
/testem/phys/addPhysics standard
/testem/phys/setGCut 95 cm
/testem/phys/setECut 95 cm
#
/run/initialize
#
/process/inactivate conv
/process/inactivate msc
#
/process/eLoss/integral false
/process/eLoss/StepFunction 0.183 170 micrometer
#
/run/verbose 2
#
/gun/particle gamma
/gun/energy 10 MeV
/run/beamOn 1000
@@ -1,25 +0,0 @@
# $Id: run07.mac,v 1.5 2002/12/11 14:19:18 maire Exp $
#
# Macro file for "TestEm1.cc"
# (can be run in batch, without graphic)
#
# Gamma conversion and e+ annihilation; gamma 100 MeV
#
/control/verbose 2
#
/testem/phys/setGCut 95 cm
/testem/phys/setECut 30 mm
#
/run/initialize
#
/process/inactivate phot
/process/inactivate compt
/process/inactivate msc
#
/process/eLoss/StepFunction 0.183 170 micrometer
#
/run/verbose 2
#
/gun/particle gamma
/gun/energy 100 MeV
/run/beamOn 1000
@@ -1,21 +0,0 @@
# $Id: run08.mac,v 1.5 2002/12/11 14:19:18 maire Exp $
#
# Macro file for "TestEm1.cc"
# (can be run in batch, without graphic)
#
# electron 100 MeV; all processes
#
/control/verbose 2
#
/testem/phys/setGCut 2.2 mm
/testem/phys/setECut 6.05 micrometer
#
/run/initialize
#
/process/eLoss/StepFunction 0.183 170 micrometer
#
/run/verbose 2
#
/gun/particle e-
/gun/energy 100 MeV
/run/beamOn 100
@@ -1,22 +0,0 @@
# $Id: run09.mac,v 1.5 2002/12/11 14:19:18 maire Exp $
#
# Macro file for "TestEm1.cc"
# (can be run in batch, without graphic)
#
# electron 1 GeV; all processes
#
/control/verbose 2
#
/testem/phys/setGCut 2.2 mm
/testem/phys/setECut 6.05 micrometer
#
/run/initialize
#
/process/eLoss/StepFunction 0.183 170 micrometer
#
/run/verbose 2
#
/gun/particle e-
/gun/energy 1 GeV
/testem/event/printModulo 10
/run/beamOn 100
@@ -1,17 +0,0 @@
# $Id: run10.mac,v 1.2 2002/12/11 14:19:19 maire Exp $
#
# Macro file for "TestEm1.cc"
# (can be run in batch, without graphic)
#
# electron 10 GeV; all processes
#
/control/verbose 2
#
/run/initialize
#
/run/verbose 2
#
/gun/particle e-
/gun/energy 10 GeV
/testem/event/printModulo 10
/run/beamOn 100
@@ -1,19 +0,0 @@
# $Id: run11.mac,v 1.5 2002/12/11 14:19:19 maire Exp $
#
# Macro file for "TestEm1.cc"
# (can be run in batch, without graphic)
#
# Eloss only + muls; e- 1 GeV
#
/control/verbose 2
#
/testem/phys/setGCut 95 cm
/testem/phys/setECut 17 cm
#
/run/initialize
#
/run/verbose 2
#
/gun/particle e-
/gun/energy 1 GeV
/run/beamOn 1000
@@ -1,29 +1,32 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: DetectorConstruction.cc,v 1.5 2005/06/01 10:20:12 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: DetectorConstruction.cc,v 1.6 2006/06/29 16:36:55 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: DetectorMessenger.cc,v 1.2 2004/09/15 13:17:19 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: DetectorMessenger.cc,v 1.3 2006/06/29 16:36:57 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: EventAction.cc,v 1.3 2004/03/15 11:09:36 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: EventAction.cc,v 1.4 2006/06/29 16:36:59 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: EventActionMessenger.cc,v 1.2 2004/09/15 13:17:19 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: EventActionMessenger.cc,v 1.3 2006/06/29 16:37:01 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: HistoManager.cc,v 1.6 2005/06/01 10:20:12 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: HistoManager.cc,v 1.9 2006/06/29 16:37:03 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -162,9 +165,9 @@ void HistoManager::SetHisto(G4int ih,
const G4String id[] = { "0", "1", "2", "3" };
const G4String title[] =
{ "dummy", //0
"total track length of a charged particle", //1
"nb steps per track (charged particles)", //2
"step length of charged particles" //3
"total track length of primary particle", //1
"nb steps of primary particle", //2
"step size of primary particle" //3
};
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: HistoMessenger.cc,v 1.4 2005/11/14 14:14:38 gcosmo Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: HistoMessenger.cc,v 1.5 2006/06/29 16:37:05 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: PhysListEmG4v52.cc,v 1.2 2005/06/01 10:20:12 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: PhysListEmG4v52.cc,v 1.3 2006/06/29 16:37:07 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: PhysListEmG4v71.cc,v 1.1 2005/10/04 16:16:15 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: PhysListEmG4v71.cc,v 1.2 2006/06/29 16:37:09 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -0,0 +1,118 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: PhysListEmLivermore.cc,v 1.2 2006/06/29 16:37:11 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "PhysListEmLivermore.hh"
#include "G4ParticleDefinition.hh"
#include "G4ProcessManager.hh"
#include "G4LowEnergyCompton.hh"
#include "G4LowEnergyGammaConversion.hh"
#include "G4LowEnergyPhotoElectric.hh"
#include "G4LowEnergyRayleigh.hh"
#include "G4MultipleScattering.hh"
#include "G4LowEnergyIonisation.hh"
#include "G4LowEnergyBremsstrahlung.hh"
#include "G4eIonisation.hh"
#include "G4eBremsstrahlung.hh"
#include "G4eplusAnnihilation.hh"
#include "G4MuIonisation.hh"
#include "G4MuBremsstrahlung.hh"
#include "G4MuPairProduction.hh"
#include "G4hLowEnergyIonisation.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
PhysListEmLivermore::PhysListEmLivermore(const G4String& name)
: G4VPhysicsConstructor(name)
{ }
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
PhysListEmLivermore::~PhysListEmLivermore()
{ }
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void PhysListEmLivermore::ConstructProcess()
{
// Add LowEn or standard EM Processes
theParticleIterator->reset();
while( (*theParticleIterator)() ){
G4ParticleDefinition* particle = theParticleIterator->value();
G4ProcessManager* pmanager = particle->GetProcessManager();
G4String particleName = particle->GetParticleName();
if (particleName == "gamma") {
// gamma
pmanager->AddDiscreteProcess(new G4LowEnergyPhotoElectric);
pmanager->AddDiscreteProcess(new G4LowEnergyCompton);
pmanager->AddDiscreteProcess(new G4LowEnergyGammaConversion);
pmanager->AddDiscreteProcess(new G4LowEnergyRayleigh);
} else if (particleName == "e-") {
//electron
pmanager->AddProcess(new G4MultipleScattering, -1, 1, 1);
pmanager->AddProcess(new G4LowEnergyIonisation, -1, 2, 2);
pmanager->AddProcess(new G4LowEnergyBremsstrahlung, -1,-1, 3);
} else if (particleName == "e+") {
//positron
pmanager->AddProcess(new G4MultipleScattering, -1, 1, 1);
pmanager->AddProcess(new G4eIonisation, -1, 2, 2);
pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3);
pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 4);
} else if( particleName == "mu+" ||
particleName == "mu-" ) {
//muon
pmanager->AddProcess(new G4MultipleScattering, -1, 1, 1);
pmanager->AddProcess(new G4MuIonisation, -1, 2, 2);
pmanager->AddProcess(new G4MuBremsstrahlung, -1, 3, 3);
pmanager->AddProcess(new G4MuPairProduction, -1, 4, 4);
} else if ((!particle->IsShortLived()) &&
(particle->GetPDGCharge() != 0.0) &&
(particle->GetParticleName() != "chargedgeantino")) {
//all others charged particles except geantino
pmanager->AddProcess(new G4MultipleScattering, -1, 1, 1);
pmanager->AddProcess(new G4hLowEnergyIonisation, -1, 2, 2);
}
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -0,0 +1,121 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: PhysListEmPenelope.cc,v 1.2 2006/06/29 16:37:13 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "PhysListEmPenelope.hh"
#include "G4ParticleDefinition.hh"
#include "G4ProcessManager.hh"
#include "G4PenelopeCompton.hh"
#include "G4PenelopeGammaConversion.hh"
#include "G4PenelopePhotoElectric.hh"
#include "G4PenelopeRayleigh.hh"
#include "G4MultipleScattering.hh"
#include "G4PenelopeIonisation.hh"
#include "G4PenelopeBremsstrahlung.hh"
#include "G4PenelopeAnnihilation.hh"
#include "G4MuIonisation.hh"
#include "G4MuBremsstrahlung.hh"
#include "G4MuPairProduction.hh"
#include "G4hIonisation.hh"
#include "G4ionIonisation.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
PhysListEmPenelope::PhysListEmPenelope(const G4String& name)
: G4VPhysicsConstructor(name)
{ }
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
PhysListEmPenelope::~PhysListEmPenelope()
{ }
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void PhysListEmPenelope::ConstructProcess()
{
// Add Penelope or standard EM Processes
theParticleIterator->reset();
while( (*theParticleIterator)() ){
G4ParticleDefinition* particle = theParticleIterator->value();
G4ProcessManager* pmanager = particle->GetProcessManager();
G4String particleName = particle->GetParticleName();
if (particleName == "gamma") {
// gamma
pmanager->AddDiscreteProcess(new G4PenelopePhotoElectric);
pmanager->AddDiscreteProcess(new G4PenelopeCompton);
pmanager->AddDiscreteProcess(new G4PenelopeGammaConversion);
pmanager->AddDiscreteProcess(new G4PenelopeRayleigh);
} else if (particleName == "e-") {
//electron
pmanager->AddProcess(new G4MultipleScattering, -1, 1, 1);
pmanager->AddProcess(new G4PenelopeIonisation, -1, 2, 2);
pmanager->AddProcess(new G4PenelopeBremsstrahlung, -1,-1, 3);
} else if (particleName == "e+") {
//positron
pmanager->AddProcess(new G4MultipleScattering, -1, 1, 1);
pmanager->AddProcess(new G4PenelopeIonisation, -1, 2, 2);
pmanager->AddProcess(new G4PenelopeBremsstrahlung, -1,-1, 3);
pmanager->AddProcess(new G4PenelopeAnnihilation, 0,-1, 4);
} else if( particleName == "mu+" ||
particleName == "mu-" ) {
//muon
pmanager->AddProcess(new G4MultipleScattering, -1, 1, 1);
pmanager->AddProcess(new G4MuIonisation, -1, 2, 2);
pmanager->AddProcess(new G4MuBremsstrahlung, -1, 3, 3);
pmanager->AddProcess(new G4MuPairProduction, -1, 4, 4);
} else if( particleName == "alpha" || particleName == "GenericIon" ) {
pmanager->AddProcess(new G4MultipleScattering, -1, 1,1);
pmanager->AddProcess(new G4ionIonisation, -1, 2,2);
} else if ((!particle->IsShortLived()) &&
(particle->GetPDGCharge() != 0.0) &&
(particle->GetParticleName() != "chargedgeantino")) {
//all others charged particles except geantino
pmanager->AddProcess(new G4MultipleScattering, -1, 1, 1);
pmanager->AddProcess(new G4hIonisation, -1, 2, 2);
}
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: PhysListEmStandard.cc,v 1.9 2005/03/18 14:45:59 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: PhysListEmStandard.cc,v 1.11 2006/06/29 16:37:15 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -81,13 +84,13 @@ void PhysListEmStandard::ConstructProcess()
//electron
pmanager->AddProcess(new G4MultipleScattering, -1, 1,1);
pmanager->AddProcess(new G4eIonisation, -1, 2,2);
pmanager->AddProcess(new G4eBremsstrahlung("brem", 10*GeV),-1,3,3);
pmanager->AddProcess(new G4eBremsstrahlung("eBrem", 10*GeV),-1,3,3);
} else if (particleName == "e+") {
//positron
pmanager->AddProcess(new G4MultipleScattering, -1, 1,1);
pmanager->AddProcess(new G4eIonisation, -1, 2,2);
pmanager->AddProcess(new G4eBremsstrahlung("brem", 10*GeV),-1,3,3);
pmanager->AddProcess(new G4eBremsstrahlung("eBrem", 10*GeV),-1,3,3);
pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4);
} else if( particleName == "mu+" ||
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: PhysicsList.cc,v 1.5 2005/10/04 16:16:15 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: PhysicsList.cc,v 1.9 2006/06/29 16:37:17 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -33,6 +36,10 @@
#include "PhysListEmStandard.hh"
#include "PhysListEmG4v52.hh"
#include "PhysListEmG4v71.hh"
#include "PhysListEmLivermore.hh"
#include "PhysListEmPenelope.hh"
#include "DetectorConstruction.hh"
#include "G4LossTableManager.hh"
@@ -166,8 +173,9 @@ void PhysicsList::ConstructParticle()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "G4ProcessManager.hh"
#include "G4EmProcessOptions.hh"
#include "G4Decay.hh"
#include "G4ProcessManager.hh"
void PhysicsList::ConstructProcess()
{
@@ -179,25 +187,18 @@ void PhysicsList::ConstructProcess()
//
emPhysicsList->ConstructProcess();
// Em options
//
G4EmProcessOptions emOptions;
emOptions.SetBuildCSDARange(true);
// Decay Process
//
G4Decay* fDecayProcess = new G4Decay();
AddDecay();
theParticleIterator->reset();
while( (*theParticleIterator)() ){
G4ParticleDefinition* particle = theParticleIterator->value();
G4ProcessManager* pmanager = particle->GetProcessManager();
if (fDecayProcess->IsApplicable(*particle)) {
pmanager ->AddProcess(fDecayProcess);
// set ordering for PostStepDoIt and AtRestDoIt
pmanager ->SetProcessOrdering(fDecayProcess, idxPostStep);
pmanager ->SetProcessOrdering(fDecayProcess, idxAtRest);
}
}
// step limitation (as a full process)
//
AddStepMax();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -228,6 +229,18 @@ void PhysicsList::AddPhysicsList(const G4String& name)
delete emPhysicsList;
emPhysicsList = new PhysListEmG4v71(name);
} else if (name == "livermore") {
emName = name;
delete emPhysicsList;
emPhysicsList = new PhysListEmLivermore(name);
} else if (name == "penelope") {
emName = name;
delete emPhysicsList;
emPhysicsList = new PhysListEmPenelope(name);
} else {
G4cout << "PhysicsList::AddPhysicsList: <" << name << ">"
@@ -235,6 +248,53 @@ void PhysicsList::AddPhysicsList(const G4String& name)
<< G4endl;
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "G4Decay.hh"
void PhysicsList::AddDecay()
{
// Decay Process
//
G4Decay* fDecayProcess = new G4Decay();
theParticleIterator->reset();
while( (*theParticleIterator)() ){
G4ParticleDefinition* particle = theParticleIterator->value();
G4ProcessManager* pmanager = particle->GetProcessManager();
if (fDecayProcess->IsApplicable(*particle)) {
pmanager ->AddProcess(fDecayProcess);
// set ordering for PostStepDoIt and AtRestDoIt
pmanager ->SetProcessOrdering(fDecayProcess, idxPostStep);
pmanager ->SetProcessOrdering(fDecayProcess, idxAtRest);
}
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "StepMax.hh"
void PhysicsList::AddStepMax()
{
// Step limitation seen as a process
StepMax* stepMaxProcess = new StepMax();
theParticleIterator->reset();
while ((*theParticleIterator)()){
G4ParticleDefinition* particle = theParticleIterator->value();
G4ProcessManager* pmanager = particle->GetProcessManager();
if (stepMaxProcess->IsApplicable(*particle))
{
pmanager ->AddDiscreteProcess(stepMaxProcess);
}
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PhysicsListMessenger.cc,v 1.2 2004/09/15 13:17:20 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: PhysicsListMessenger.cc,v 1.3 2006/06/29 16:37:19 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: PrimaryGeneratorAction.cc,v 1.3 2004/08/03 11:31:44 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: PrimaryGeneratorAction.cc,v 1.4 2006/06/29 16:37:21 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PrimaryGeneratorMessenger.cc,v 1.3 2004/09/15 13:17:20 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: PrimaryGeneratorMessenger.cc,v 1.4 2006/06/29 16:37:23 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: RunAction.cc,v 1.13 2005/12/06 11:25:21 gcosmo Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: RunAction.cc,v 1.19 2006/06/29 16:37:25 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -63,7 +66,7 @@ void RunAction::BeginOfRunAction(const G4Run* aRun)
NbOfTraks0 = NbOfTraks1 = NbOfSteps0 = NbOfSteps1 = 0;
edep = 0.;
csdaRange = csdaRange2 = 0.;
trueRange = trueRange2 = 0.;
projRange = projRange2 = 0.;
transvDev = transvDev2 = 0.;
ProcCounter = new ProcessesCount;
@@ -89,10 +92,7 @@ void RunAction::CountProcesses(G4String procName)
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void RunAction::EndOfRunAction(const G4Run* aRun)
{
std::ios::fmtflags mode = G4cout.flags();
G4cout.setf(std::ios::fixed,std::ios::floatfield);
{
G4int NbOfEvents = aRun->GetNumberOfEvent();
if (NbOfEvents == 0) return;
G4double dNbOfEvents = double(NbOfEvents);
@@ -108,7 +108,7 @@ void RunAction::EndOfRunAction(const G4Run* aRun)
G4cout << "\n ======================== run summary ======================\n";
G4int prec = G4cout.precision(2);
G4int prec = G4cout.precision(5);
G4cout << "\n The run was: " << NbOfEvents << " " << partName << " of "
<< G4BestUnit(energy,"Energy") << " through "
@@ -117,8 +117,6 @@ void RunAction::EndOfRunAction(const G4Run* aRun)
<< G4BestUnit(density,"Volumic Mass") << ")" << G4endl;
G4cout << "\n ============================================================\n";
G4cout.precision(3);
G4cout << "\n total energy deposit: "
<< G4BestUnit(edep/dNbOfEvents, "Energy") << G4endl;
@@ -143,11 +141,11 @@ void RunAction::EndOfRunAction(const G4Run* aRun)
G4cout << std::setw(12) << ((*ProcCounter)[j]->GetCounter())/dNbOfEvents;
G4cout << G4endl;
//compute csda and projected ranges, and transverse dispersion
//compute true and projected ranges, and transverse dispersion
//
csdaRange /= NbOfEvents; csdaRange2 /= NbOfEvents;
G4double csdaRms = csdaRange2 - csdaRange*csdaRange;
if (csdaRms>0.) csdaRms = std::sqrt(csdaRms); else csdaRms = 0.;
trueRange /= NbOfEvents; trueRange2 /= NbOfEvents;
G4double trueRms = trueRange2 - trueRange*trueRange;
if (trueRms>0.) trueRms = std::sqrt(trueRms); else trueRms = 0.;
projRange /= NbOfEvents; projRange2 /= NbOfEvents;
G4double projRms = projRange2 - projRange*projRange;
@@ -157,31 +155,35 @@ void RunAction::EndOfRunAction(const G4Run* aRun)
G4double trvsRms = transvDev2 - transvDev*transvDev;
if (trvsRms>0.) trvsRms = std::sqrt(trvsRms); else trvsRms = 0.;
//compare csda range with PhysicsTables
//compare true range with csda range from PhysicsTables
//
G4EmCalculator emCalculator;
G4double rangeTable = 0.;
if (particle->GetPDGCharge() != 0.)
rangeTable = emCalculator.GetRange(energy,particle,material);
rangeTable = emCalculator.GetCSDARange(energy,particle,material);
G4cout << "\n---------------------------------------------------------\n";
G4cout << " Primary particle : " ;
G4cout << "\n CSDA Range = " << G4BestUnit(csdaRange,"Length")
<< " rms = " << G4BestUnit(csdaRms, "Length");
G4cout << "\n true Range = " << G4BestUnit(trueRange,"Length")
<< " rms = " << G4BestUnit(trueRms, "Length");
G4cout << "\n proj Range = " << G4BestUnit(projRange,"Length")
<< " rms = " << G4BestUnit(projRms, "Length");
G4cout << "\n proj/CSDA = " << projRange/csdaRange;
G4cout << "\n proj/true = " << projRange/trueRange;
G4cout << "\n transverse dispersion at end = "
<< G4BestUnit(trvsRms,"Length") << G4endl;
<< G4BestUnit(trvsRms,"Length");
G4cout << "\n mass CSDA Range from simulation = "
<< csdaRange*density/(g/cm2) << " g/cm2"
<< "\n from PhysicsTable = "
<< rangeTable*density/(g/cm2) << " g/cm2";
G4cout << "\n mass true Range from simulation = "
<< G4BestUnit(trueRange*density, "Mass/Surface")
<< "\n from PhysicsTable (csda range) = "
<< G4BestUnit(rangeTable*density, "Mass/Surface");
G4cout << "\n---------------------------------------------------------\n";
G4cout << G4endl;
// reset default precision
G4cout.precision(prec);
// delete and remove all contents in ProcCounter
while (ProcCounter->size()>0){
@@ -191,10 +193,6 @@ void RunAction::EndOfRunAction(const G4Run* aRun)
}
delete ProcCounter;
// reset default formats
G4cout.setf(mode,std::ios::floatfield);
G4cout.precision(prec);
//save histograms
histoManager->save();
@@ -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. *
// ********************************************************************
//
// $Id: StepMax.cc,v 1.2 2006/06/29 16:37:27 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "StepMax.hh"
#include "StepMaxMessenger.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
StepMax::StepMax(const G4String& processName)
: G4VDiscreteProcess(processName),MaxChargedStep(DBL_MAX)
{
pMess = new StepMaxMessenger(this);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
StepMax::~StepMax() { delete pMess; }
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4bool StepMax::IsApplicable(const G4ParticleDefinition& particle)
{
return (particle.GetPDGCharge() != 0. && !particle.IsShortLived());
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void StepMax::SetMaxStep(G4double step) {MaxChargedStep = step;}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4double StepMax::PostStepGetPhysicalInteractionLength( const G4Track&,
G4double,
G4ForceCondition* condition )
{
// condition is set to "Not Forced"
*condition = NotForced;
return MaxChargedStep;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4VParticleChange* StepMax::PostStepDoIt(const G4Track& aTrack, const G4Step&)
{
// do nothing
aParticleChange.Initialize(aTrack);
return &aParticleChange;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -0,0 +1,64 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: StepMaxMessenger.cc,v 1.2 2006/06/29 16:37:29 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "StepMaxMessenger.hh"
#include "StepMax.hh"
#include "G4UIcmdWithADoubleAndUnit.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
StepMaxMessenger::StepMaxMessenger(StepMax* stepM)
:stepMax(stepM)
{
StepMaxCmd = new G4UIcmdWithADoubleAndUnit("/testem/stepMax",this);
StepMaxCmd->SetGuidance("Set max allowed step length");
StepMaxCmd->SetParameterName("mxStep",false);
StepMaxCmd->SetRange("mxStep>0.");
StepMaxCmd->SetUnitCategory("Length");
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
StepMaxMessenger::~StepMaxMessenger()
{
delete StepMaxCmd;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void StepMaxMessenger::SetNewValue(G4UIcommand* command, G4String newValue)
{
if (command == StepMaxCmd)
{ stepMax->SetMaxStep(StepMaxCmd->GetNewDoubleValue(newValue));}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: SteppingAction.cc,v 1.6 2004/07/23 15:39:39 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: SteppingAction.cc,v 1.8 2006/06/29 16:37:31 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -51,9 +54,10 @@ void SteppingAction::UserSteppingAction(const G4Step* aStep)
const G4VProcess* process = aStep->GetPostStepPoint()->GetProcessDefinedStep();
if (process) runAction->CountProcesses(process->GetProcessName());
G4double charge = aStep->GetTrack()->GetDefinition()->GetPDGCharge();
// step length of primary particle
G4int ID = aStep->GetTrack()->GetTrackID();
G4double steplen = aStep->GetStepLength();
if (charge != 0.) histoManager->FillHisto(3,steplen);
if (ID == 1) histoManager->FillHisto(3,steplen);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: SteppingVerbose.cc,v 1.1 2003/10/06 10:02:34 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: SteppingVerbose.cc,v 1.2 2006/06/29 16:37:34 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * 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. *
// * 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 intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: TrackingAction.cc,v 1.8 2004/07/23 15:39:40 maire Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: TrackingAction.cc,v 1.10 2006/06/29 16:37:36 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -60,24 +63,25 @@ void TrackingAction::PostUserTrackingAction(const G4Track* aTrack)
G4double Trleng = aTrack->GetTrackLength();
if (aTrack->GetDefinition()->GetPDGCharge() == 0.) {
runAction->CountTraks0(1);
runAction->CountSteps0(nbSteps);
runAction->CountTraks0(1);
runAction->CountSteps0(nbSteps);
} else {
runAction->CountTraks1(1);
runAction->CountSteps1(nbSteps);
histoManager->FillHisto(1,Trleng);
histoManager->FillHisto(2,(float)nbSteps);
runAction->CountTraks1(1);
runAction->CountSteps1(nbSteps);
}
//csda and projected ranges for primary particle
//true and projected ranges for primary particle
if (aTrack->GetTrackID() == 1) {
runAction->AddCsdaRange(Trleng);
runAction->AddTrueRange(Trleng);
G4ThreeVector vertex = primary->GetParticleGun()->GetParticlePosition();
G4ThreeVector position = aTrack->GetPosition() - vertex;
runAction->AddProjRange(position.x());
runAction->AddTransvDev(position.y());
runAction->AddTransvDev(position.z());
histoManager->FillHisto(1,Trleng);
histoManager->FillHisto(2,(float)nbSteps);
}
}