Import Geant4 9.1.0 source tree
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
+1322
-1148
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
@@ -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...
|
||||
|
||||
Binary file not shown.
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user