Import Geant4 9.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 15:37:50 +02:00
parent a8e9364cea
commit 96c8bcd0af
6923 changed files with 198390 additions and 41849 deletions
+22 -1
View File
@@ -1,5 +1,5 @@
-------------------------------------------------------------------
$Id: History,v 1.10 2006/11/23 12:24:20 sincerti Exp $
$Id: History,v 1.16 2007/08/28 09:48:40 gcosmo Exp $
-------------------------------------------------------------------
=========================================================
@@ -9,6 +9,27 @@ $Id: History,v 1.10 2006/11/23 12:24:20 sincerti Exp $
Package History file
--------------------
28 August 2007 - tag microbeam-V09-00-03 - G. Cosmo
- Replaced M_PI constants with CLHEP::pi, and protected usage of G4UItcsh
to allow for compilation on WIN32-VC systems.
22 August 2007 - tag microbeam-V09-00-02 - S. Incerti
- Updated dose computation to take into account volume edges in src/MicrobeamSteppingAction.cc
21 August 2007 - tag microbeam-V09-00-01 - S. Incerti
- Changed number of incident alpha particles in microbeam.mac
05 July 2007 - S. Incerti
- Added protection against scattering at large angles in collimators in src/MicrobeamEMField.cc
- Suppressed field manager in zero field zones in src/MicrobeamEMField.cc
- Chose kUndefined optimization in cell phantom implementation in src/MicrobeamDetectorConstruction.cc
- Updated dose computation for very low energy secondaries in src/MicrobeamSteppingAction.cc
27 Fev 2007 - S. Incerti
- Modified dE/dX calculation in src/MicrobeamSteppingAction.cc
in order to average on Pre/Post step.
- Updated README and html files with publications.
23 Nov 2006 - S. Incerti (microbeam-V08-01-01)
- Replaced G4MultipleScattering process for alphas by
G4hMultipleScattering process in src/MicrobeamPhysicsList.cc.
+8 -4
View File
@@ -24,7 +24,7 @@
// ********************************************************************
//
// -------------------------------------------------------------------
// $Id: Microbeam.cc,v 1.8 2006/06/29 16:04:57 gunter Exp $
// $Id: Microbeam.cc,v 1.9 2007/08/28 09:48:40 gcosmo Exp $
// -------------------------------------------------------------------
// GEANT4 - Microbeam example
// Developed by S. Incerti et al.
@@ -103,9 +103,13 @@ int main(int argc,char** argv) {
if (argc==1) // define UI session for interactive mode.
{
// G4UIterminal is a dumb or a TCSH terminal.
// G4UIsession * session = new G4UIterminal(); // dumb terminal (for Windows)
G4UIsession * session = new G4UIterminal(new G4UItcsh); // TCSH terminal
// G4UIterminal is a (dumb) terminal.
G4UIsession * session = 0;
#ifdef G4UI_USE_TCSH
session = new G4UIterminal(new G4UItcsh);
#else
session = new G4UIterminal();
#endif
UI->ApplyCommand("/control/execute microbeam.mac");
session->SessionStart();
delete session;
+231 -208
View File
@@ -1,208 +1,231 @@
-------------------------------------------------------------------
$Id: README,v 1.9 2006/11/23 12:24:20 sincerti Exp $
-------------------------------------------------------------------
=========================================================
Geant4 - Microbeam example
=========================================================
README file
----------------------
CORRESPONDING AUTHOR
S. Incerti (a, *) et al.
a. Centre d'Etudes Nucleaires de Bordeaux-Gradignan
(CENBG), IN2P3 / CNRS / Bordeaux 1 University, 33175 Gradignan, France
* e-mail:incerti@cenbg.in2p3.fr
Last modified by S. Incerti, 23/06/2006
---->0. INTRODUCTION.
The microbeam example simulates the cellular irradiation beam line
installed on the AIFIRA electrostatic accelerator facility located at
CENBG, Bordeaux-Gradignan, France. For more information on this facility,
please visit :
http://www.cenbg.in2p3.fr/
An overall description of this example is also available in this directory:
to access it, simply open the microbeam.htm file with your internet browser.
---->1. GEOMETRY SET-UP.
The elements simulated are:
1. A switching dipole magnet with fringing field, to deflect the 3 MeV alpha
beam generated by the electrostatic accelerator into the microbeam line,
oriented at 10 degrees from the main beam direction;
2. A circular collimator object, defining the incident beam size at the
microbeam line entrance;
3. A quadrupole based magnetic symmetric focusing system allowing equal
transverse demagnifications of 10. Fringe fields are calculated from Enge's
model.
4. A dedicated cellular irradiation chamber setup;
5. A set of horizontal and vertical electrostatic deflecting plates which can
be turned on or off to deflect the beam on target;
6. A realistic human keratinocyte voxellized cell observed from confocal
microscopy and taking into account realistic nucleus and cytoplasm chemical
compositions
---->2. EXPERIMENTAL SET-UP.
The beam is defined at the microbeam line entrance through a collimator
5 micrometer in diameter. The beam is then focused onto target using a
quadruplet of quadrupoles in the so-called Dymnikov magnetic configuration.
The beam is sent to the irradiation chamber where it travels through a
isobutane gas detector for counting purpose before reaching the polypropylene
culture foil of the target cell which is immersed in the growing medium and
enclosed within a dish.
A cell is placed on the polypropylene foil and is irradiated using the
microbeam. The cell is represented through a 3D phantom (G4PVParameterization)
obtained from confocal microscopy. In the provided example, the voxels sizes
are : 359 nm (X) x 359 nm (Y) x 163 nm (Z)
The primary particle beam parameters are generated from experimental
measurements performed on the AIFIRA facility. Incident particle used for
cellular irradiation are 3 MeV alpha particles.
More details on the experimental setup and its simulation with Geant4 can
be found in the following papers :
- GEANT4 SIMULATION OF THE NEW CENBG MICRO AND NANOPROBES FACILITY
By S. Incerti, C. Habchi, Ph. Moretto, J. Olivier and H. Seznec
(CENBG, Gradignan),. May 2006. 5pp.
Published in Nucl.Instrum.Meth.B249:738-742, 2006
- DEVELOPMENT OF A FOCUSED CHARGED PARTICLE MICROBEAM FOR THE IRRADIATION OF
INDIVIDUAL CELLS.
By Ph. Barberet, A. Balana, S. Incerti, C. Michelet-Habchi, Ph. Moretto,
Th. Pouthier (CENBG, Gradignan),. Dec 2004. 6pp.
Published in Rev.Sci.Instrum.76:015101, 2005
- SIMULATION OF CELLULAR IRRADIATION WITH THE CENBG MICROBEAM LINE USING
GEANT4.
By S. Incerti, Ph. Barberet, R. Villeneuve, P. Aguer, E. Gontier,
C. Michelet-Habchi, Ph. Moretto, D.T. Nguyen, T. Pouthier, R.W. Smith
(CENBG, Gradignan),. Oct 2003. 6pp.
Published in IEEE Trans.Nucl.Sci.51:1395-1401, 2004
- SIMULATION OF ION PROPAGATION IN THE MICROBEAM LINE OF CENBG USING GEANT4.
S. Incerti, Ph. Barberet, B. Courtois, C. Michelet-Habchi, Ph. Moretto
(CENBG, Gradignan). Sep 2003.
Published in Nucl.Instrum.Meth.B210:92-97, 2003
---->3. SET-UP
- a standard Geant4 example GNUmakefile is provided
setup with:
compiler = gcc-3.2.3
G4SYSTEM = linux-g++
The following section gives the necessary environment variables.
------->>3.1 ENVIRONMENT VARIABLES
All variables are defined with their default value.
- G4SYSTEM = Linux-g++
- G4INSTALL points to the installation directory of GEANT4;
- G4LIB point to the compiled libraries of GEANT4;
- G4WORKDIR points to the work directory;
- CLHEP_BASE_DIR points to the installation directory of CHLEP;
- G4LEDATA points to the low energy electromagnetic libraries;
- LD_LIBRARY_PATH = $CLHEP_BASE_DIR/lib
- G4LEVELGAMMADATA points to the photoevaporation library;
- NeutronHPCrossSections points to the neutron data files;
- G4RADIOACTIVEDATA points to the libraries for radio-active decay
hadronic processes;
However, the $G4LEVELGAMMADATA, $NeutronHPCrossSections and $G4RADIOACTIVEDATA
variables do not need to be defined for this example.
Once these variables have been set, simply type gmake to compile the Microbeam
example.
------->>3.2 VISUALIZATION
The user can visualize the targeted cell with OpenGL, DAWN and vrml,
as chosen in the microbeam.mac file. OpenGL is the default viewer. The
cytoplasm in shown in red and the nucleus in green.
---->4. HOW TO RUN THE EXAMPLE
In interactive mode, run:
> $G4WORDIR/bin/Linux-g++/Microbeam
The macro microbeam.mac is executed by default. To get vizualisation, make
sure to uncomment the /vis/... lines in the microbeam.mac macro.
The Microbeam code reads the phantom.dat file containing all the necessary
information describing the cell phantom. 10 alphas particles are generated.
---->5. PHYSICS
Low energy electromagnetic processes (for alphas, electrons, photons) and
hadronic elastic and inelastic scattering for alphas are activated by default.
Low energy electromagnetic electronic and nuclear stopping power are computed
from ICRU tables.
---->6. SIMULATION OUTPUT AND RESULT ANALYZIS
This example does not need any external analysis package.
The output results consists in several .txt files:
* dose.txt : gives the total deposited dose in the cell nucleus and in the cell
cytoplasm by each incident alpha particle;
* 3DDose.txt : gives the average on the whole run of the dose deposited per
Voxel per incident alpha particle;
* range.txt : indicates the final stopping (x,y,z) position of the incident
alpha particle within the irradiated medium (cell or culture medium)
* stoppingPower.txt : gives the actual stopping power dE/dx of the incident
alpha particle just before penetrating into the targeted cell;
* beamPosition.txt : gives the beam transverse position distribution(X and Y)
just before penetrating into the targeted cell;
These files can be easily analyzed using for example the provided ROOT macro
file plot.C; to do so :
* be sure to have ROOT installed on your machine
* be sure to be in the microbeam directory
* launch ROOT by typing root
* under your ROOT session, type in : .X plot.C to execute the macro file
A graphical output obtained with this macro for 40000 incident alpha particles
is shown in the file microbeam.gif
The simulation predicts that 95% of the incident alpha particles detected by the
gas detector are located within a circle of 10 um in diameter on the target, in
nice agreement with experimental measurements performed on the CENBG setup.
---------------------------------------------------------------------------
Should you have any enquiry, please do not hesitate to contact:
incerti@cenbg.in2p3.fr
-------------------------------------------------------------------
$Id: README,v 1.10 2007/02/27 12:02:09 sincerti Exp $
-------------------------------------------------------------------
=========================================================
Geant4 - Microbeam example
=========================================================
README file
----------------------
CORRESPONDING AUTHOR
S. Incerti (a, *) et al.
a. Centre d'Etudes Nucleaires de Bordeaux-Gradignan
(CENBG), IN2P3 / CNRS / Bordeaux 1 University, 33175 Gradignan, France
* e-mail:incerti@cenbg.in2p3.fr
Last modified by S. Incerti, 27/02/2007
---->0. INTRODUCTION.
The microbeam example simulates the cellular irradiation beam line
installed on the AIFIRA electrostatic accelerator facility located at
CENBG, Bordeaux-Gradignan, France. For more information on this facility,
please visit :
http://www.cenbg.in2p3.fr/
An overall description of this example is also available in this directory:
to access it, simply open the microbeam.htm file with your internet browser.
---->1. GEOMETRY SET-UP.
The elements simulated are:
1. A switching dipole magnet with fringing field, to deflect the 3 MeV alpha
beam generated by the electrostatic accelerator into the microbeam line,
oriented at 10 degrees from the main beam direction;
2. A circular collimator object, defining the incident beam size at the
microbeam line entrance;
3. A quadrupole based magnetic symmetric focusing system allowing equal
transverse demagnifications of 10. Fringe fields are calculated from Enge's
model.
4. A dedicated cellular irradiation chamber setup;
5. A set of horizontal and vertical electrostatic deflecting plates which can
be turned on or off to deflect the beam on target;
6. A realistic human keratinocyte voxellized cell observed from confocal
microscopy and taking into account realistic nucleus and cytoplasm chemical
compositions
---->2. EXPERIMENTAL SET-UP.
The beam is defined at the microbeam line entrance through a collimator
5 micrometer in diameter. The beam is then focused onto target using a
quadruplet of quadrupoles in the so-called Dymnikov magnetic configuration.
The beam is sent to the irradiation chamber where it travels through a
isobutane gas detector for counting purpose before reaching the polypropylene
culture foil of the target cell which is immersed in the growing medium and
enclosed within a dish.
A cell is placed on the polypropylene foil and is irradiated using the
microbeam. The cell is represented through a 3D phantom (G4PVParameterization)
obtained from confocal microscopy. In the provided example, the voxels sizes
are : 359 nm (X) x 359 nm (Y) x 163 nm (Z)
The primary particle beam parameters are generated from experimental
measurements performed on the AIFIRA facility. Incident particle used for
cellular irradiation are 3 MeV alpha particles.
More details on the experimental setup and its simulation with Geant4 can
be found in the following papers, which may be found on the SLAC-SPIRES
online database (http://www.slac.stanford.edu/spires/) :
- MONTE CARLO MICRODOSIMETRY FOR TARGETED IRRADIATION OF INDIVIDUAL CELLS USING
A MICROBEAM FACILITY
By S. Incerti, T. Pouthier, H. Seznec, Ph. Moretto, O. Boissonnade,
T. M. H. Ha, F. Andersson, Ph. Barberet, C. Habchi and D. T. Nguyen
In preparation (2007)
- MONTE CARLO SIMULATION OF THE CENBG MICROBEAM AND NANOBEAM LINES WITH THE
GEANT4 TOOLKIT
By S. Incerti, Q. Zhang, F. Andersson, Ph. Moretto, G.W. Grime,
M.J. Merchant, D.T. Nguyen, C. Habchi, T. Pouthier and H. Seznec
In press in Nucl.Instrum.Meth.B, 2007
- A COMPARISON OF CELLULAR IRRADIATION TECHNIQUES WITH ALPHA PARTICLES USING
THE GEANT4 MONTE CARLO SIMULATION TOOLKIT
By S. Incerti, N. Gault, C. Habchi, J.L.. Lefaix, Ph. Moretto, J.L.. Poncy,
T. Pouthier, H. Seznec. Dec 2006. 3pp.
Published in Rad.Prot.Dos.,1-3,2006 (Micros 2005 special issue).
- GEANT4 SIMULATION OF THE NEW CENBG MICRO AND NANO PROBES FACILITY
By S. Incerti, C. Habchi, Ph. Moretto, J. Olivier and H. Seznec. May 2006. 5pp.
Published in Nucl.Instrum.Meth.B249:738-742, 2006
- A COMPARISON OF RAY-TRACING SOFTWARE FOR THE DESIGN OF QUADRUPOLE MICROBEAM
SYSTEMS
By S. Incerti et al.,
Published in Nucl.Instrum.Meth.B231:76-85, 2005
- DEVELOPMENT OF A FOCUSED CHARGED PARTICLE MICROBEAM FOR THE IRRADIATION OF
INDIVIDUAL CELLS.
By Ph. Barberet, A. Balana, S. Incerti, C. Michelet-Habchi, Ph. Moretto,
Th. Pouthier. Dec 2004. 6pp.
Published in Rev.Sci.Instrum.76:015101, 2005
- SIMULATION OF CELLULAR IRRADIATION WITH THE CENBG MICROBEAM LINE USING
GEANT4.
By S. Incerti, Ph. Barberet, R. Villeneuve, P. Aguer, E. Gontier,
C. Michelet-Habchi, Ph. Moretto, D.T. Nguyen, T. Pouthier, R.W. Smith. Oct 2003. 6pp.
Published in IEEE Trans.Nucl.Sci.51:1395-1401, 2004
- SIMULATION OF ION PROPAGATION IN THE MICROBEAM LINE OF CENBG USING
GEANT4.
By S. Incerti, Ph. Barberet, B. Courtois, C. Michelet-Habchi,
Ph. Moretto. Sep 2003.
Published in Nucl.Instrum.Meth.B210:92-97, 2003
---->3. SET-UP
- a standard Geant4 example GNUmakefile is provided
setup with:
compiler = gcc-3.2.3
G4SYSTEM = linux-g++
The following section gives the necessary environment variables.
------->>3.1 ENVIRONMENT VARIABLES
All variables are defined with their default value.
- G4SYSTEM = Linux-g++
- G4INSTALL points to the installation directory of GEANT4;
- G4LIB point to the compiled libraries of GEANT4;
- G4WORKDIR points to the work directory;
- CLHEP_BASE_DIR points to the installation directory of CHLEP;
- G4LEDATA points to the low energy electromagnetic libraries;
- LD_LIBRARY_PATH = $CLHEP_BASE_DIR/lib
- G4LEVELGAMMADATA points to the photoevaporation library;
- NeutronHPCrossSections points to the neutron data files;
- G4RADIOACTIVEDATA points to the libraries for radio-active decay
hadronic processes;
However, the $G4LEVELGAMMADATA, $NeutronHPCrossSections and $G4RADIOACTIVEDATA
variables do not need to be defined for this example.
Once these variables have been set, simply type gmake to compile the Microbeam
example.
------->>3.2 VISUALIZATION
The user can visualize the targeted cell with OpenGL, DAWN and vrml,
as chosen in the microbeam.mac file. OpenGL is the default viewer. The
cytoplasm in shown in red and the nucleus in green.
---->4. HOW TO RUN THE EXAMPLE
In interactive mode, run:
> $G4WORDIR/bin/Linux-g++/Microbeam
The macro microbeam.mac is executed by default. To get vizualisation, make
sure to uncomment the /vis/... lines in the microbeam.mac macro.
The Microbeam code reads the phantom.dat file containing all the necessary
information describing the cell phantom. 10 alphas particles are generated.
---->5. PHYSICS
Low energy electromagnetic processes (for alphas, electrons, photons) and
hadronic elastic and inelastic scattering for alphas are activated by default.
Low energy electromagnetic electronic and nuclear stopping power are computed
from ICRU tables.
---->6. SIMULATION OUTPUT AND RESULT ANALYZIS
This example does not need any external analysis package.
The output results consists in several .txt files:
* dose.txt : gives the total deposited dose in the cell nucleus and in the cell
cytoplasm by each incident alpha particle;
* 3DDose.txt : gives the average on the whole run of the dose deposited per
Voxel per incident alpha particle;
* range.txt : indicates the final stopping (x,y,z) position of the incident
alpha particle within the irradiated medium (cell or culture medium)
* stoppingPower.txt : gives the actual stopping power dE/dx of the incident
alpha particle just before penetrating into the targeted cell;
* beamPosition.txt : gives the beam transverse position distribution(X and Y)
just before penetrating into the targeted cell;
These files can be easily analyzed using for example the provided ROOT macro
file plot.C; to do so :
* be sure to have ROOT installed on your machine
* be sure to be in the microbeam directory
* launch ROOT by typing root
* under your ROOT session, type in : .X plot.C to execute the macro file
A graphical output obtained with this macro for 40000 incident alpha particles
is shown in the file microbeam.gif
The simulation predicts that 95% of the incident alpha particles detected by the
gas detector are located within a circle of 10 um in diameter on the target, in
nice agreement with experimental measurements performed on the CENBG setup.
---------------------------------------------------------------------------
Should you have any enquiry, please do not hesitate to contact:
incerti@cenbg.in2p3.fr
@@ -24,7 +24,7 @@
// ********************************************************************
//
// -------------------------------------------------------------------
// $Id: MicrobeamEMField.hh,v 1.5 2006/06/29 16:05:03 gunter Exp $
// $Id: MicrobeamEMField.hh,v 1.6 2007/07/06 06:52:54 sincerti Exp $
// -------------------------------------------------------------------
#ifndef MicrobeamEMField_h
@@ -32,6 +32,8 @@
#include "globals.hh"
#include "G4ElectroMagneticField.hh"
#include "G4FieldManager.hh"
#include "G4TransportationManager.hh"
class MicrobeamEMField
#ifndef STANDALONE
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -6,7 +6,7 @@
#/vis/viewer/zoom 2000000
#/vis/viewer/set/viewpointVector 400 0 105.79
#/tracking/storeTrajectory 1
/tracking/storeTrajectory 1
#/vis/scene/endOfEventAction accumulate
/tracking/verbose 0
+47 -36
View File
@@ -1,6 +1,6 @@
*************************************************************
Geant4 version Name: geant4-09-00-cand-03 (29-June-2007)
Geant4 version Name: global-V09-00-02 (14-December-2007)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -40,81 +40,81 @@ Registered filter factories:
***** Table : Nb of materials = 16 *****
Material: Vacuum density: 0.000 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 204727576.737 pc
Material: Vacuum density: 0.000 mg/cm3 RadL: 204727576.737 pc Imean: 21.800 eV temperature: 273.15 K pressure: 1.00 atm
---> Element: Vacuum ( ) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Material: H2O density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.092 cm
Material: H2O density: 1.000 g/cm3 RadL: 36.092 cm Imean: 70.893 eV
---> 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: Air density: 1.290 mg/cm3 temperature: 293.16 K pressure: 1.00 atm RadLength: 285.161 m
Material: Air density: 1.290 mg/cm3 RadL: 285.161 m Imean: 85.684 eV temperature: 293.16 K pressure: 1.00 atm
---> 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: LPAir density: 0.000 mg/cm3 temperature: 293.16 K pressure: 1.00 atm RadLength: 56273252.573 km
Material: LPAir density: 0.000 mg/cm3 RadL: 56273252.573 km Imean: 87.308 eV temperature: 293.16 K pressure: 1.00 atm
---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 71.50 % ElmAbundance 75.57 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 25.00 % ElmAbundance 23.14 %
---> Element: Argon (Ar) Z = 18.0 N = 39.9 A = 39.95 g/mole ElmMassFraction: 3.50 % ElmAbundance 1.30 %
Material: Pl density: 21.400 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 3.058 mm
Material: Pl density: 21.400 g/cm3 RadL: 3.058 mm Imean: 787.800 eV
---> Element: Pl ( ) Z = 78.0 N = 195.1 A = 195.09 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Material: Butane density: 0.026 mg/cm3 temperature: 293.16 K pressure: 0.01 atm RadLength: 17.729 km
Material: Butane density: 0.026 mg/cm3 RadL: 17.729 km Imean: 53.612 eV temperature: 293.16 K pressure: 0.01 atm
---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 82.63 % ElmAbundance 28.57 %
---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 17.37 % ElmAbundance 71.43 %
Material: Polyprop density: 900.000 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 49.764 cm
Material: Polyprop density: 900.000 mg/cm3 RadL: 49.764 cm Imean: 56.713 eV
---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 85.60 % ElmAbundance 33.33 %
---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 14.40 % ElmAbundance 66.67 %
Material: Si3N4 density: 3.440 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 7.644 cm
Material: Si3N4 density: 3.440 g/cm3 RadL: 7.644 cm Imean: 128.542 eV
---> Element: Silicon (Si) Z = 14.0 N = 28.1 A = 28.09 g/mole ElmMassFraction: 60.06 % ElmAbundance 42.86 %
---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 39.94 % ElmAbundance 57.14 %
Material: SiO2 density: 2.500 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 10.819 cm
Material: SiO2 density: 2.500 g/cm3 RadL: 10.819 cm Imean: 126.007 eV
---> Element: Silicon (Si) Z = 14.0 N = 28.1 A = 28.09 g/mole ElmMassFraction: 46.74 % ElmAbundance 33.33 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 53.26 % ElmAbundance 66.67 %
Material: Laiton density: 8.500 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.487 cm
Material: Laiton density: 8.500 g/cm3 RadL: 1.487 cm Imean: 325.993 eV
---> Element: Cuivre (Cu) Z = 29.0 N = 63.5 A = 63.55 g/mole ElmMassFraction: 49.28 % ElmAbundance 50.00 %
---> Element: Zinc (Zn) Z = 30.0 N = 65.4 A = 65.41 g/mole ElmMassFraction: 50.72 % ElmAbundance 50.00 %
Material: Cytoplasm1 density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 48.413 cm
Material: Cytoplasm1 density: 1.000 g/cm3 RadL: 48.413 cm Imean: 31.293 eV
---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 59.60 % ElmAbundance 95.53 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 24.24 % ElmAbundance 2.45 %
---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 11.11 % ElmAbundance 1.50 %
---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 4.04 % ElmAbundance 0.47 %
---> Element: Phosphorus (P) Z = 15.0 N = 31.0 A = 30.97 g/mole ElmMassFraction: 1.01 % ElmAbundance 0.05 %
Material: Cytoplasm2 density: 10.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 3.619 cm
Material: Cytoplasm2 density: 10.000 g/cm3 RadL: 3.619 cm Imean: 71.338 eV
---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 10.64 % ElmAbundance 64.80 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 74.50 % ElmAbundance 28.64 %
---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 9.04 % ElmAbundance 4.63 %
---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 3.21 % ElmAbundance 1.41 %
---> Element: Phosphorus (P) Z = 15.0 N = 31.0 A = 30.97 g/mole ElmMassFraction: 2.61 % ElmAbundance 0.52 %
Material: Cytoplasm3 density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 48.413 cm
Material: Cytoplasm3 density: 1.000 g/cm3 RadL: 48.413 cm Imean: 31.293 eV
---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 59.60 % ElmAbundance 95.53 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 24.24 % ElmAbundance 2.45 %
---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 11.11 % ElmAbundance 1.50 %
---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 4.04 % ElmAbundance 0.47 %
---> Element: Phosphorus (P) Z = 15.0 N = 31.0 A = 30.97 g/mole ElmMassFraction: 1.01 % ElmAbundance 0.05 %
Material: Nucleus1 density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.185 cm
Material: Nucleus1 density: 1.000 g/cm3 RadL: 36.185 cm Imean: 71.338 eV
---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 10.64 % ElmAbundance 64.80 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 74.50 % ElmAbundance 28.64 %
---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 9.04 % ElmAbundance 4.63 %
---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 3.21 % ElmAbundance 1.41 %
---> Element: Phosphorus (P) Z = 15.0 N = 31.0 A = 30.97 g/mole ElmMassFraction: 2.61 % ElmAbundance 0.52 %
Material: Nucleus2 density: 1.100 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 32.896 cm
Material: Nucleus2 density: 1.100 g/cm3 RadL: 32.896 cm Imean: 71.338 eV
---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 10.64 % ElmAbundance 64.80 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 74.50 % ElmAbundance 28.64 %
---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 9.04 % ElmAbundance 4.63 %
---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 3.21 % ElmAbundance 1.41 %
---> Element: Phosphorus (P) Z = 15.0 N = 31.0 A = 30.97 g/mole ElmMassFraction: 2.61 % ElmAbundance 0.52 %
Material: Nucleus3 density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.185 cm
Material: Nucleus3 density: 1.000 g/cm3 RadL: 36.185 cm Imean: 71.338 eV
---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 10.64 % ElmAbundance 64.80 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 74.50 % ElmAbundance 28.64 %
---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 9.04 % ElmAbundance 4.63 %
@@ -159,7 +159,7 @@ eIoni: tables are built for e+
Lambda tables from threshold to 100 TeV in 120 bins.
Delta cross sections and sampling from MollerBhabha model
Good description from 1 KeV to 100 GeV.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1
eBrem: tables are built for e+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
@@ -305,45 +305,56 @@ Index : 12 used in the geometry : Yes recalculation needed : No
====================================================================
-> Event # 1 generated
===> The incident alpha particle has reached the targeted cell :
-----> total absorbed dose within Nucleus is (Gy) = 0.307962
-----> total absorbed dose within Cytoplasm is (Gy) = 0.0382348
===> Sorry, the incident alpha particle has missed the targeted cell !
G4VisManager: Using G4TrajectoryDrawByCharge as default trajectory model.
See commands in /vis/modeling/trajectories/ for other options.
Trajectory drawing configuration will be based on imode value of 50
WARNING: G4VisManager::IsValidView(): Attempt to draw when no graphics system
has been instantiated. Use "/vis/open" or "/vis/sceneHandler/create".
Alternatively, to avoid this message, suppress instantiation of vis
manager (G4VisExecutive), possibly by setting G4VIS_NONE, and ensure
drawing code is executed only if G4VVisManager::GetConcreteInstance()
is non-zero.
-> Event # 2 generated
===> The incident alpha particle has reached the targeted cell :
-----> total absorbed dose within Nucleus is (Gy) = 0.3149
-----> total absorbed dose within Cytoplasm is (Gy) = 0.13141
===> Sorry, the incident alpha particle has missed the targeted cell !
-> Event # 3 generated
===> The incident alpha particle has reached the targeted cell :
-----> total absorbed dose within Nucleus is (Gy) = 0.307115
-----> total absorbed dose within Cytoplasm is (Gy) = 0.100445
===> Sorry, the incident alpha particle has missed the targeted cell !
-> Event # 4 generated
===> The incident alpha particle has reached the targeted cell :
-----> total absorbed dose within Nucleus is (Gy) = 0.388045
-----> total absorbed dose within Cytoplasm is (Gy) = 0.0381594
===> Sorry, the incident alpha particle has missed the targeted cell !
-> Event # 5 generated
===> Sorry, the incident alpha particle has missed the targeted cell !
===> The incident alpha particle has reached the targeted cell :
-----> total absorbed dose within Nucleus is (Gy) = 0.32025772
-----> total absorbed dose within Cytoplasm is (Gy) = 0.031617269
-> Event # 6 generated
===> Sorry, the incident alpha particle has missed the targeted cell !
===> The incident alpha particle has reached the targeted cell :
-----> total absorbed dose within Nucleus is (Gy) = 0.32341093
-----> total absorbed dose within Cytoplasm is (Gy) = 0.036113653
-> Event # 7 generated
===> Sorry, the incident alpha particle has missed the targeted cell !
===> The incident alpha particle has reached the targeted cell :
-----> total absorbed dose within Nucleus is (Gy) = 0.26556093
-----> total absorbed dose within Cytoplasm is (Gy) = 0.050062224
-> Event # 8 generated
===> Sorry, the incident alpha particle has missed the targeted cell !
===> The incident alpha particle has reached the targeted cell :
-----> total absorbed dose within Nucleus is (Gy) = 0.32553893
-----> total absorbed dose within Cytoplasm is (Gy) = 0.061953552
-> Event # 9 generated
===> Sorry, the incident alpha particle has missed the targeted cell !
-> Event # 10 generated
===> Sorry, the incident alpha particle has missed the targeted cell !
===> The incident alpha particle has reached the targeted cell :
-----> total absorbed dose within Nucleus is (Gy) = 0.6130144
-----> total absorbed dose within Cytoplasm is (Gy) = 0.027280906
ERROR: G4VisCommandsViewerUpdate::SetNewValue: no current viewer.
-> Total number of particles detected by the gas detector : 4
-> Total number of particles detected by the gas detector : 5
Graphics systems deleted.
Visualization Manager deleting...
@@ -24,7 +24,7 @@
// ********************************************************************
//
// -------------------------------------------------------------------
// $Id: MicrobeamDetectorConstruction.cc,v 1.5 2006/06/29 16:05:25 gunter Exp $
// $Id: MicrobeamDetectorConstruction.cc,v 1.7 2007/08/27 15:51:54 gcosmo Exp $
// -------------------------------------------------------------------
#include "MicrobeamDetectorConstruction.hh"
@@ -396,7 +396,7 @@ G4VPhysicalVolume* MicrobeamDetectorConstruction::ConstructMicrobeamLine()
solid1Gap = new G4Cons("_CollObj_gap1_", 0.*micrometer, 6*micrometer,
0.*micrometer,2.5*micrometer,
3.5*micrometer,
0, ((360*M_PI)/180));
0, ((360*CLHEP::pi)/180));
logic1Gap = new G4LogicalVolume(solid1Gap, defaultMaterial, "_CollObj_gap1_");
@@ -408,7 +408,7 @@ G4VPhysicalVolume* MicrobeamDetectorConstruction::ConstructMicrobeamLine()
solid2Gap = new G4Cons("_CollObj_gap2_", 0.*micrometer, 15*micrometer,
0.*micrometer,6*micrometer,
6.5*micrometer,
0, ((360*M_PI)/180));
0, ((360*CLHEP::pi)/180));
logic2Gap = new G4LogicalVolume(solid2Gap, defaultMaterial, "_CollObj_gap2_");
@@ -420,7 +420,7 @@ G4VPhysicalVolume* MicrobeamDetectorConstruction::ConstructMicrobeamLine()
solid3Gap = new G4Cons("_CollObj_gap3_", 0.*micrometer, 105*micrometer,
0.*micrometer,15*micrometer,
25*micrometer,
0, ((360*M_PI)/180));
0, ((360*CLHEP::pi)/180));
logic3Gap = new G4LogicalVolume(solid3Gap, defaultMaterial, "_CollObj_gap3_");
@@ -443,7 +443,7 @@ G4VPhysicalVolume* MicrobeamDetectorConstruction::ConstructMicrobeamLine()
solid4Gap = new G4Cons("_CollDet_gap4_", 0.*micrometer, 8*micrometer,
0.*micrometer,5*micrometer,
7.5*micrometer,
0, ((360*M_PI)/180));
0, ((360*CLHEP::pi)/180));
logic4Gap = new G4LogicalVolume(solid4Gap, defaultMaterial, "_CollDet_gap4_");
@@ -454,7 +454,7 @@ G4VPhysicalVolume* MicrobeamDetectorConstruction::ConstructMicrobeamLine()
solid5Gap = new G4Cons("_CollDet_gap5_", 0.*micrometer, 105*micrometer,
0.*micrometer,8*micrometer,
27.5*micrometer,
0, ((360*M_PI)/180));
0, ((360*CLHEP::pi)/180));
logic5Gap = new G4LogicalVolume(solid5Gap, defaultMaterial, "_CollDet_gap5_");
@@ -633,7 +633,7 @@ G4VPhysicalVolume* MicrobeamDetectorConstruction::ConstructMicrobeamLine()
logicPhantom, // their logical volumr
// logicCyto, // Mother logical volume
logicKgm, // Mother logical volume
kZAxis, // Are placed along this axis
kUndefined, // Are placed along this axis
phantomParam->GetNoBoxes(), // Number of boxes
phantomParam,false); // The parametrisation
@@ -24,7 +24,7 @@
// ********************************************************************
//
// -------------------------------------------------------------------
// $Id: MicrobeamEMField.cc,v 1.5 2006/06/29 16:05:27 gunter Exp $
// $Id: MicrobeamEMField.cc,v 1.6 2007/07/06 06:52:54 sincerti Exp $
// -------------------------------------------------------------------
#include "MicrobeamEMField.hh"
@@ -253,6 +253,8 @@ if (z>=-1400*mm & z <-200*mm)
G2=0;
G3=0;
cte=0;
G4bool largeScattering=false;
for (G4int i=0;i<4; i++)
{
@@ -264,6 +266,8 @@ if (z>=-1400*mm & z <-200*mm)
x_local = (x - xoprime) * std::cos (lineAngle) - (z - zoprime) * std::sin (lineAngle);
y_local = y;
z_local = (z - zoprime) * std::cos (lineAngle) + (x - xoprime) * std::sin (lineAngle);
if (std::sqrt(x_local*x_local+y_local*y_local)>a0[i]) largeScattering=true;
}
if (i==1)
@@ -273,6 +277,7 @@ if (z>=-1400*mm & z <-200*mm)
x_local = (x - xoprime) * std::cos (lineAngle) - (z - zoprime) * std::sin (lineAngle);
y_local = y;
z_local = (z - zoprime) * std::cos (lineAngle) + (x - xoprime) * std::sin (lineAngle);
if (std::sqrt(x_local*x_local+y_local*y_local)>a0[i]) largeScattering=true;
}
if (i==2)
@@ -282,6 +287,7 @@ if (z>=-1400*mm & z <-200*mm)
x_local = (x - xoprime) * std::cos (lineAngle) - (z - zoprime) * std::sin (lineAngle);
y_local = y;
z_local = (z - zoprime) * std::cos (lineAngle) + (x - xoprime) * std::sin (lineAngle);
if (std::sqrt(x_local*x_local+y_local*y_local)>a0[i]) largeScattering=true;
}
if (i==3)
@@ -291,6 +297,7 @@ if (z>=-1400*mm & z <-200*mm)
x_local = (x - xoprime) * std::cos (lineAngle) - (z - zoprime) * std::sin (lineAngle);
y_local = y;
z_local = (z - zoprime) * std::cos (lineAngle) + (x - xoprime) * std::sin (lineAngle);
if (std::sqrt(x_local*x_local+y_local*y_local)>a0[i]) largeScattering=true;
}
@@ -357,6 +364,16 @@ if (z>=-1400*mm & z <-200*mm)
}
// PROTECTION AGAINST LARGE SCATTERING
if ( largeScattering )
{
G0=0;
G1=0;
G2=0;
G3=0;
}
// MAGNETIC FIELD COMPUTATION FOR EACH QUADRUPOLE
Bx_local = y_local*(G0-(1./12)*(3*x_local*x_local+y_local*y_local)*G2);
@@ -502,5 +519,26 @@ if (z>=-1400*mm & z <-200*mm)
Bfield[5] = 0;
}
// ZERO FIELD REGIONS
if (
(Bfield[0]==0. &
Bfield[1]==0. &
Bfield[2]==0. &
Bfield[4]==0. &
Bfield[5]==0. &
Bfield[6]==0. )
)
{
G4FieldManager *pFieldMgr;
pFieldMgr = G4TransportationManager::GetTransportationManager()->GetFieldManager();
pFieldMgr = NULL;
}
//
}
@@ -24,7 +24,7 @@
// ********************************************************************
//
// -------------------------------------------------------------------
// $Id: MicrobeamPrimaryGeneratorAction.cc,v 1.6 2006/06/29 16:05:35 gunter Exp $
// $Id: MicrobeamPrimaryGeneratorAction.cc,v 1.7 2007/08/27 15:51:54 gcosmo Exp $
// -------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -83,7 +83,7 @@ void MicrobeamPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
}
while(theta>1.1e-6*rad);
phi=2*M_PI*G4UniformRand()*rad;
phi=CLHEP::twopi*G4UniformRand()*rad;
xMom0=std::sin(theta)*std::cos(phi);
yMom0=std::sin(theta)*std::sin(phi);
@@ -100,7 +100,7 @@ void MicrobeamPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
G4cout
<< "-> Event # " << numEvent
<< " : THETA from Z axis (mrad) = " << theta*1000
<< " -- PHI (deg) = " << phi*180/M_PI
<< " -- PHI (deg) = " << phi*180/CLHEP::pi
<< " -- x0 (um) = " << x0/micrometer
<< " -- y0 (um) = " << y0/micrometer
<< " -- z0 (m) = " << z0/m
@@ -24,7 +24,7 @@
// ********************************************************************
//
// -------------------------------------------------------------------
// $Id: MicrobeamSteppingAction.cc,v 1.5 2006/06/29 16:05:39 gunter Exp $
// $Id: MicrobeamSteppingAction.cc,v 1.8 2007/08/22 13:58:33 sincerti Exp $
// -------------------------------------------------------------------
#include "G4SteppingManager.hh"
@@ -94,11 +94,21 @@ if ( ((aStep->GetPreStepPoint()->GetPhysicalVolume()->GetName() == "Polypr
fclose (myFile);
}
// Average dE over step syggested by Michel Maire
G4StepPoint* p1 = aStep->GetPreStepPoint();
G4ThreeVector coord1 = p1->GetPosition();
const G4AffineTransform transformation1 = p1->GetTouchable()->GetHistory()->GetTopTransform();
G4ThreeVector localPosition1 = transformation1.TransformPoint(coord1);
const G4AffineTransform transformation = p1->GetTouchable()->GetHistory()->GetTopTransform();
G4ThreeVector localPosition = transformation.TransformPoint(coord1);
G4StepPoint* p2 = aStep->GetPostStepPoint();
G4ThreeVector coord2 = p2->GetPosition();
const G4AffineTransform transformation2 = p2->GetTouchable()->GetHistory()->GetTopTransform();
G4ThreeVector localPosition2 = transformation2.TransformPoint(coord2);
G4ThreeVector localPosition = localPosition1 + G4UniformRand()*(localPosition2-localPosition1);
// end
FILE *myFile;
myFile=fopen("beamPosition.txt","a");
@@ -144,9 +154,8 @@ if (
// TOTAL DOSE DEPOSIT AND DOSE DEPOSIT WITHIN A PHANTOM VOXEL
if ( (aStep->GetPreStepPoint()->GetPhysicalVolume()->GetName() == "physicalNucleus")
&& (aStep->GetPostStepPoint()->GetPhysicalVolume()->GetName() == "physicalNucleus")
&& (aStep->GetTrack()->GetDynamicParticle()->GetDefinition()->GetParticleName() == "alpha") )
if (aStep->GetPreStepPoint()->GetPhysicalVolume()->GetName() == "physicalNucleus")
{
G4double dose = (e_SI*(aStep->GetTotalEnergyDeposit()/eV))/(Run->GetMassNucleus());
Run->AddDoseN(dose);
@@ -156,9 +165,9 @@ if ( (aStep->GetPreStepPoint()->GetPhysicalVolume()->GetName() == "physical
aStep->GetTotalEnergyDeposit()/eV);
}
if ( (aStep->GetPreStepPoint()->GetPhysicalVolume()->GetName() == "physicalCytoplasm")
&& (aStep->GetPostStepPoint()->GetPhysicalVolume()->GetName() == "physicalCytoplasm")
&& (aStep->GetTrack()->GetDynamicParticle()->GetDefinition()->GetParticleName() == "alpha") )
if (aStep->GetPreStepPoint()->GetPhysicalVolume()->GetName() == "physicalCytoplasm")
{
G4double dose = (e_SI*(aStep->GetTotalEnergyDeposit()/eV))/(Run->GetMassCytoplasm());
Run->AddDoseC(dose);