FLUKA ve GEANT4 - Uludağ Üniversitesi

Transkript

FLUKA ve GEANT4 - Uludağ Üniversitesi
&
Ercan Piliçer
Uludağ Üniversitesi (Araş.Gör.Dr.)
INFN-Perugia (Post-Doc)
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
Contents
 FLUKA
 GEANT4
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
2
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
3
History
1. Generation 1962-1978
J.Ranft (Rutherfor Lab.) and H.Geibel (CERN) hadron beam (300 GeV proton)
1970 FLUktuierende KAskade
Energy deposition, star density
2. Generation1978-1989
User friendly hadron cascade program
FLUKA81 cylindrical, FLUKA82 cartesian and spherical
FLUKA86 electromagnetic cascade EGS4
FLUKA87 encapsulate COMMON blocks INCLUDE files
More estimator (fluence estimator->boundary,collision,tracklength)
3. Generation 1988- …
New generation accelerators, high limonisity end energy, TeV
Large multiplicities, strong magnetik field, Edep in small volumes, high energy effects,
Low energy neutron interactions
INFN support, A.Fasso
From High Energy Accelerator Shielding to Multiparticle code (6 yıl)
2003 INFN-CERN project for extension of FLUKA
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
4
Structure
Fortran code, ~680000 lines
INCLUDE files in $FLUPRO/flukapro/
User routines in $FLUPRO/usermvax/
MajorVersion MinorVersion Patch
fluka2008.3c
dpmjet
flukapro
flutil
interface
latestRQMD
usermvax
Root directory of FLUKA
DPMJET data files
All FLUKA commons
Utility programs and scripts
Interface libraries to DPMJET
Interface libraries to rQMD
Fortran user routines
Physics data files
coh.bin
Coherent atomic form factors
uodt.dat
Fluorescence emission data, needed for problems involving low-energy
electron-photon transport
gxsect.bin Photon cross sections
neuxsc-ind 72.bin, neuxsc-ind 260.bin
Low-energy neutron cross sections: needed for all problems with neutron
transport below 20 MeV
nuclear.bin Nuclide masses, abundances and other data: needed for all hadronic problems
elasct.bin Elastic cross sections for hadronic problems
sigmapi.bin Pion cross sections
brems n.bin Bremsstrahlung cross sections
e6r1nds3.fyi, jef2.fyi, jendl3.fyi, xnloan.dat
Fission nuclide yields and neutron multiplicities
sidae.dat, sidan.dat, sidap.dat, sidapi.dat
Silicon damage weighting functions
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
5
Structure
BAMJM
BLOCKM
COMLATM
DECAYM
DEDXM
new hadronisation package (strongly improved version of the original Bamjet) [152]
31 Modules
BLOCK DATA routines
all geometry routines specic for Combinatorial Geometry (CG) and repetition (lattice capability) in the geometry
all routines connected with particle decays during transport
all routines connected with dE/dx and radiative losses of hadrons and muons, including delta-ray production and
cross sections for muon photonuclear interactions
DPMM
interface routines for the Dpmjet generator
DUM
dummy routines
ELSM
all hadron and photon (photonuclear) cross section routines
EMFM
all routines dealing with electron, positron and photon transport and interactions
EVENTQM auxiliary routines for the high energy hadronic interaction generators
EVENTVM all routines (besides those in EVENTQM) connected with the high energy hadronic inelastic interaction package
EVFFRM separate module with all evaporation, fission and Fermi break-up routines
FLUOXM all routines dealing with fluorescence X-ray and Auger production
GEOLATM geometry navigation and debugging routines
KASKADM general event steering, most of the relevant transport routines for hadron and muon transport,magnetic field tracking
LOWNEUM all routines concerning the multigroup treatment of low energy (E < 20 MeV) neutrons
MAINM
main, input parsing and auxiliary routines
MATHM
mathematical auxiliary routines (interpolation, integration, etc.)
NEUTRIM nuclear interactions of neutrinos
NOPTM
all routines connected with new scoring options implemented after Fluka86, and blank
COMMON setting for scoring options.
OPPHM
optical photon production and transport
OUTPUTM printing routines (apart from output of new options which is performed in NOPTM)
PEMFM
electromagnetic initialization
PGM
Plotgeom geometry drawing package
PRECLM full Peanut second part
PREEQM full Peanut first part
PRIPROM initialization and drivers for Peanut
RNDM
random number generation, including gaussian-distributed random numbers
RQMDM
interface routines for the Rqmd generator
USERM
user oriented routines (see list below)
IBMM/HPM/LINUXM/OSFM/VAXM timing and environment routines. These are machine specific
6
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
Physics Capabilities
Hadron inelastic nuclear interactions
3-5 GeV/c < PEANUT package, Generalised Intra-Nuclear Cascade (GINC)
3-5 GeV/c > Gribov-Glauber multiple scattering
Evaporation, fission, Fermi break-up, gamma de-excitation, photo-nuclear,

Nucleus-Nucleus interactions
5 GeV/n > DPMJET-II,DPMJET-III
0.1-5 GeV/n RQMD

Charged hadrons and muons

Neutron interactions, and down to thermal neutrons
E > 20 MeV, FLUKA nuclear models
E < 20 MeV multi-group, 230 üzerinde material @ different temperatures

Electron, positron
Multiple, Single scattering (volume boundary)
Deltay-ray

Photons
Compton, Rayleigh and Photoelectric, Pair production
Polarization

Optic photons
Cerenkov, Scintillation, Transition radiation (user's request)

Neutrinos

Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
7
Physics Units
distance
energy
momentum
temperature
solid angle
magnetic field
electric field
time
activity
LET
cm (and derived units cm2, cm3 for areas and volumes)
GeV
Exceptions:
eV is used for average ionisation potential input by option MAT-PROP
g MeV-1 cm-2 are used for Birks coeffcients input by option TCQUENCH
GeV/c
degree Kelvin
sr
Exception:
degrees may be used, on user's request, with option USRYIELD
T
kV/cm
s (option TCQUENCH) or ns (option TIME{CUT)
Bq
keV/(m g/cm3)
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
8
Particles & Materials
predefined
71 → particles
25 → materials
Transport limits
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
9
Generalized Particles
Numbers > 200 designate families
of particles, grouped according to
some common characteristics
(all hadrons, or all charged
particles, etc.).
In Fluka, they are called
Generalized Particles and can
be used only for scoring
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
10
Geometry
The Combinatorial Geometry (CG) used by FLUKA
The input format can be fixed or name based (free). Use of the latter is strongly encouraged
The input sequence must be completely contained between GEOBEGIN and GEOEND cards
Four concepts are fundamental in the FLUKA CG:
Bodies basic convex objects + infinite planes & cylinders
Zones sub-region defined only with intersection and subtraction (used internally)
Regionsare defined as boolean operations of bodies (union of zones)
Lattices duplication of existing objects (translated & rotated)
Bodies are the building blocks of the CG. FLUKA provides both finite and infinite convex
bodies for a total of 20 geometrical shapes, with the following code words
ARB
WED
Red
Blue
Green
BOX
XCC
ELL
XEC
PLA
XYP
RAW
XZP
RCC
YCC
REC
YEC
RPP
YZP
SPH
ZCC
TRC
ZEC
CG legacy, recommended to avoid using
can be used safely
should be preferred when possible, better optimized
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
11
Geometry
Regions are defined as combinations of bodies obtained by boolean operations
All regions must be contained within a surrounding blackhole:
an infinitely absorbing material, designated by the FLUKA material number 1(BLCKHOLE).
GEOBEGIN
card
VOXELS
card (optional)
Geometry title (and reading format options)
Body
data
END
card
Region
data
END
card
LATTICE
cards (optional)
Region volumes (optionally requested by a flag in the Geometry title)
GEOEND
card
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
12
Geometry
RPP
Xmin, Xmax
Ymin, Ymax
Zmin, Zmax
TRC
Vx, Vy, Vz
Hx, Hy, Hz
R1
R2
SPH
Vx, Vy, Vz, R
XYP
Vz
RCC
Vx, Vy, Vz
Hx, Hy, Hz
R
YCC
Ax, Az, R
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
13
Geometry
Each region is described as a
combination of one or more
bodies, by means of the three
operator symbols:
- + |
Operators:
Subtraction
+ Intersection
|
Union
Region name must begin by an
alphabetical character and
must not be longer than 8 characters
Avoid touching surfaces
Especially when floating point operators are involved
Use cutting surfaces B instead →
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
14
Input & Cards
The input of Fluka consists of a text file containing a sequence of option lines “cards”
Input file → Fixed of Free format
Fixed format is
A8, 2X, 6E10.0, A8
*............1.............2...............3..............4...............5..............6................7............8
Card
What(1) What(2) What(3) What(4) What(5) What(6) SDUM
Since 2006, practical naming convention in input files for;
material names
particle or generalized particle names
region names, if the geometry too is written in name format
detector names
A special name (@LASTMAT, @LASTPAR, @LASTREG) can be used corresponding to
the largest material number, particle id, and region number respectively
DEFAULTS must be issued at the very beginning of input. It can be preceded only by a
GLOBAL card and by command TITLE
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
15
Preprocessor
FLUKA supports preprocessing defines like used e.g., in C or C++.
Useful feature to keep many various setups and configurations in a single input file
Commands:
#define VARIABLE1
#define VARIABLE2
#ifdefVARIABLE1
#elifVARIABLE2
#else
#endif
In FLUKA up to 10 nesting of
#if #else are supported
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
16
Basic Input
One keyword, 6 floating point
BEAM
numbers, one keyword (for each
Energy, Particle
cards)
defining several beam characteristics:
type of particle, energy, divergence, profile and statistical weight
BEAMPOS
Starting point, Direction cosines
defines the coordinates of the centre of the beam spot(i.e., the point from
which transport starts) and the beam direction
GEOMETRY cards appear here
Scorers
Estimators
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
17
Basic Input (DEFAULTS)
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
18
Scoring
SCORE scores energy deposited (or star density) in all regions
USRTRACK, USRCOLL score average differential fluence of a given type or family of
particles in a given region
USRBDX scores average fluence or current of a given type or family of particles on a
given surface
USRBIN scores the spatial distribution of energy deposited, or total fluence (or star density,
or momentum transfer) in a regular mesh (cylindrical or Cartesian) described by the user
USRYIELD scores a double differential yield of particles escaping from a surface.
The distribution can be with respect to energy and angle
RESNUCLEi scores residual nuclei in a given region more details are given in the
respective lecture on activation
EVENTBIN is like USRBIN, but prints the binning output after each event instead of an
average over histories
USERDUMP defines the events to be written onto a “collision tape” file
AUXSCORE defines filters and conversion coefficients
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
19
Scoring
To analyze the results of the different scoring options, several programs are available
The most powerful ones are kept in $FLUPRO/flutil
They assume that the estimator files are unformatted, and can calculate standard deviations
and integral values over many cycles:
ustsuw.f
to analyze USRTRACK and USRCOLL outputs
usxsuw.f
to analyze USRBDX outputs
usysuw.f
to analyze USRYIELD outputs
ubsuw.f
to analyze USRBIN outputs
usrsuw.f
to analyze RESNUCLEi outputs
Each of these programs (except usbsuw) produces three files:
text file with extension _sum.lis which contains averages, standard deviations,
cumulative (integral)quantities
formatted file which can replace the N unformatted estimator files and can be used
for further calculations
text file with extension _tab.lis to be easily readout by graphic codes
Simpler programs are also provided in the manual
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
20
Scoring
particle/cm3/primary
GeV/cm3/primary
(sr) (sr)
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
21
User Routines
usrglo.f
USRGCALL
usrini.f
USRICALL
usreini.f
Run
Event
USRICALL
source.f
SOURCE
usrmed.f
MAT-PROP
mgdraw.f
USERDUMP
comscw.f
USERWEIG
fluscw.f
USERWEIG
usreou.f
usrout.f
USROCALL
USROCALL
$FLUPRO/flutil/fff yyy.f
$FLUPRO/flutil/lfluka -o myfluka -m fluka yyy.o
User RUN control
usrini.f
usrein.f
usreout.f
usrout.f
Event generation, physics, kinematics
source.f
soevsv.f
udcdrl.f
formfu.f
Properties of medium
magfld.f
usrmed.f
Manage lattice geometry
lattic.f
Access (almost) everything
mgdraw.f
Optical photon transport
abscff.f
frghns.f
dffcf.f
ophbdx.f
queff.c
rflctv.f
rfrndx.f
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
22
User Routines
ABSCFF
COMSCW
DFFCFF
ENDSCP
FLDSCP
FLUSCW
FORMFU
FRGHNS
FUSRBV
LATTIC
LUSRBL
MAGFLD
MDSTCK
MGDRAW
absorption coefficient (for optical photons)
response functions, user dependent selection for density-like quantities
diffusion coefficient (for optical photons)
energy density distributed | change of positions
fluence distributed | change of positions
response functions, user dependent selection for flux-like quantities
nuclear charge form factors
material roughness (for optical photons)
defines a continuous variable for 3-D binnings
symmetry transformation for lattice geometry
defines a discrete variable for 3-D binnings
MUSRBR defines a discrete variable for 3-D binnings
to use a magnetic field map
OPHBDX boundary crossing properties (for optical photons)
management of secondary stack
QUEFFC quantum efficiency (for optical photons)
to dump trajectories, etc.
RFLCTV
reflectivity (for optical photons)
RFRNDX refraction index (for optical photons)
SOEVSV saving source events
SOURCE to generate any distribution for source particles
STUPRE set user variables (electrons and photons)
STUPRF
set user variables (hadrons, muons and neutrinos)
33 available
UBSSET to override input biasing parameters
UDCDRL decay direction biasing
User routines under
USIMBS
user-defined importance biasing
$FLUPRO/usermvax
USREIN
event initialization
USREOU post-event output
USRGLO user global settings
USRINI
user initialization
USRMED to perform user driven biasing and/or particle
selections on a material basis
USROUT user output
USRRNC user customization of residual nuclei scoring
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
23
User Routines (mgdraw.f)
Subroutine MGDRAW, activated by option USERDUMP with WHAT(1) >= 100.0
(unmodified default version output)
User modified version USERDUMP with WHAT(3)!
Entries in MGDRAW subroutine:
BXDRAW
called at boundary crossings,
EEDRAW
called at event end,
MGDRAW called at each step, for trajectory drawing and dE/dx energy deposition events,
ENDRAW
for recording of point energy deposition events,
SODRAW
for recording of source events
NTRACK
number of track segments
For other variables
MTRACK
number of energy deposition events along the track
Look at
JTRACK
type of particle
INCLUDE
ETRACK
total energy of the particle
files
WTRACK
weight of the particle
NTRACK values of XTRACK, YTRACK, ZTRACK: end of each track segment
MTRACK values of DTRACK: energy deposited at each deposition event
CTRACK
total length of the curved path
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
24
User Routines (mgdraw.f)
Subroutine MGDRAW, activated by option USERDUMP with WHAT(1) >= 100.0
(unmodified default version output)
User modified version USERDUMP with WHAT(3)!
Entries in MGDRAW subroutine:
BXDRAW
called at boundary crossings,
EEDRAW
called at event end,
MGDRAW called at each step, for trajectory drawing and dE/dx energy deposition events,
ENDRAW
for recording of point energy deposition events,
SODRAW
for recording of source events
For other variables
NTRACK
number of track segments
Look at
MTRACK
number of energy deposition events along the track
INCLUDE
JTRACK
type of particle
files
ETRACK
total energy of the particle
WTRACK
weight of the particle
NTRACK values of XTRACK, YTRACK, ZTRACK: end of each track segment
MTRACK values of DTRACK: energy deposited at each deposition event
CTRACK
total length of the curved path
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
25
Outputs
myinput001.out->
License/version
Input echo
Information about the basic nuclear data file used in the program
Nuclear data
Active options for the nuclear model
Mulmix output
(Evaporation, Deexcitation, Fermi Break-up..)
Requested products/decays
Neutron data
Material dependent parameters for ionization energy loses
dp/dx
Delta-ray and Bremsstrahlung threshold
Blank common
Media parameters
EMF-FLUKA
Fluka particles
Beam properties
Particle thresholds
Termination conditions
Mult. Coulomb scattering
EM Showers
Scoring
Scattering lengths
Regions summary
Initialization time
Output during transport
Events by region
Scattering statistics
Run summary
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
26
Outputs
Periodic echo for;
Event number, time, random seed
Total CPU time
Number of stars, secondaries in stars,, fissions,
Decay particle products, particles decayed ...
myinput001.out->
License/version
Input echo
Nuclear data
Mulmix output
Requested products/decays
Neutron data
dp/dx
Blank common
Media parameters
EMF-FLUKA
Fluka particles
Beam properties
Particle thresholds
Termination conditions
Mult. Coulomb scattering
EM Showers
Scoring
Scattering lengths
Regions summary
Initialization time
Output during transport
Events by region
Scattering statistics
Run summary
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
27
Fluka Tools

FLAIR
An advanced user interface for FLUKA

FLUPIX
KNOPPIX version of the Live CD, with pre-installed FLUKA

FluGG
Fluka Geant4 Geometry interface

SimpleGeo
Graphical tool in order to compose/manipulate FLUKA geometry input

FLUKACAD/PIPSICAD Interface between FLUKA and AutoCAD

FlukaGUI Interface to inspect/manipulate standard FLUKA output files (USRBIN)
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
28
FLAIR
FLUKA Advanced Interface
http://www.fluka.org/flair
Fully featured Input file Editor
Default executable
Mini-dialogs for each card
Compile user routines
Easy and almost error free editing
Card grouping in categories
Post-processing files
Error checking
Geometry optimizations and debugging
Compilation of the FLUKA Executable
Running and monitoring of the status
Inspection of the output files
Output file viewer dividing into sections
Post processing (merging) the output data files
Plot generation through an interface
(GnuPlot)
USRxxx, RESNUCLEI and geometry
FLUKA directory
$FLUPRO
Platform Linux
Developed by
Vasilis Vlachoudis
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
29
SimpleGEO
SimpleGeo is an interactive
solid modeler
Plugins:
DaVis3D
(USRBIN files ascii format)
Export:
FLUKA geometry
MCNP, MCNPX geometry
PHITS geometry
Platform:
Windows XP, Windows Vista
Developed by:
Christian Theis
http://theis.web.cern.ch/theis/simplegeo/
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
30
Application Examples
 Cosmic ray physics
 Neutrino physics
 Accelerator design (n_ToF, CNGS, LHC systems)
 Particle physics: calorimetry, tracking and detector simulation etc.(ALICE, ICARUS, …)
 Radiation background (LHC, ATLAS, CMS)
 Shielding design
 Dosimetry and radioprotection
 Space radiation
 Hadrontherapy
 Neutronics
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
31
Application Examples
Energy production, waste transmutation: “EnergyAmplifier” (C.Rubbia)
Spallation neutrons TARC / nTOF @CERN
LHC
Beam-machine interaction and radioprotection
LHC/ATLAS/CMS
Radiation background in detectors
LHC/ATLAS
Calorimetry simulation
Neutrino beams from accelerators: WANF e CNGS (officially based on FLUKA)
Cosmic Rays
Calculation of secondary particles in atmosphere (neutrinos)
ICARUS
General detector and physics simulation
LHC/ALICE
General detector simulation
Dose calculations
Civil aviation
Dose calculations
Space missions
Medical physics
Hadrotherapy
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
32
LHC Collimation Region
Collimation systems:
IR3: Momentum cleaning
IR7: Betatron cleaning
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
33
LHC Cleaning Insertions
Two warm LHC insertions are
dedicated to beam cleaning
Collimation systems:
IR3: Momentum cleaning
IR7: Betatron cleaning
Allowed loss rates:
 100 kW continuously
 500 kW for 10s (1% of beam)
 1 MW for 1 s
Quench limits:
 Quadrupoles 1 mW/cm3
 Bending 5 mW/cm3
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
34
ATLAS: radiation background
¥
¥
¥
¥
Benchmark for ATLAS background:
E.Gschwendtner, C.W.Fabjan, N.Hessey, T.Otto, and H.Vincke,
Measuring the photon background in the LHC experimental experiment, NIM A476, 222
(2002)
(benchmarked up to 14 attenuation lengths)
Photon background
Neutron background
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
35
Example of Activity Maps
Activation of the n-ToF target
8.4×1011 p/s 20 GeV/c
6 months irradiation/ 6 months off
from Apr2001 to Oct2004
Cooling down till May 2006
Side view (averaged
over 80 cm width )
Front view (averaged
over 60 cm length )
Lead target, Steel
support, immersed in
cooling/moderating water
Simulations from
E. Lebbos et al.,
« CERN nTOF Facility :
Résultats de la simulation
de l'activité de la cible de
n-TOF “
EET internal report
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
36
LCLS (SLAC Linac Coherent Light Source)
Radiation damage in permanent magnets
effect of inserting a thin profile monitor in the beam
Neutron fluence
distribution
Transverse section of
the magnets at
fluence
max (Z = 76.21 m)
AUTOCAD display of FLUKA Combinatorial Geometry
Longitudinal section
(83 m long, 5 cm high)
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
37
A Simulation of the ATIC Cosmic Ray
Experiment with FLUKA + DPMJET 2.5
100 GeV/A Incident Carbon
1 TeV/A Incident Carbon
C
Targets
Incident
Beam
BGO
Si Detectors
Predicted n fluences from a central
C beam incident on the ATIC
cosmic ray balloon expt. apparatus
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
38
CERN-EU High-Energy Reference
Field Facility (CERF)
Benchmark
study of
radionuclide
production
with FLUKA
samples in contact with a 50 cm long, 7 cm diameter copper target, centred on the beam axis
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
39
CLIC (Compact Linear Collider)
e-/e+ collider with CM energy 3 TeV
2 GeV e- beam
on W75-Re25 target
&
Emerging e-/e+
after target
e- → dumping region
e+ → Pre-Linac
Energy deposition comparison
in the target
TAEK project
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
40
ICARUS Simulation
FLUKA is used in ICARUS at
Gran Sasso laboratory for
different applications:
full detector simulation
atmospheric neutrino generation
and interactions
neutrinos from CNGS beam
interaction of solar and
Super Novae neutrinos
generation and detection of νµ
proton decay
calculation the expected rate vs.
multiplicity of underground muon
events
p
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
decay
µ−
41
Application to Space Radiation Protection
FLUKA used to evaluate physical and
biological equivalent dose from:
-Galactic C.R.
-“Solar Particle Events”
(Mostly protons)
A new Geometry System!
Human Phantom in Voxel Geometry
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
42
Documentation
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
43
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
44
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
45
History
Geant3 developed at CERN (1982-1994)
Geant4 (C++) is the successor of Geant3 (Fortran)
Dec ’94
Apr ’97
Jul ’98
Dec ’98
Project start
First alpha release
First beta release
First Geant4 public release - version 1.0
Geant4 was used by BaBar experiment at SLAC Since 2000
Geant4 is used for Monte Carlo simulation of particle transport for
ATLAS, CMS, LHCb since 2004.
June 30th, ’06
Dec 15th, ’06
May 11th, ’07
June 29th, ’07
Dec 14th, ’07
Geant4 version 8.1 release
Geant4 version 8.2 release
Geant4 version 8.3 release
Geant4 version 9.0 release
Geant4 version 9.1 release
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
46
Geant4 Packages
Geant4 consists of 17 categories.
Independently developed and
maintained by WG(s) responsible
to each category.
Interfaces between categories
(e.g. top level design) are maintained
by the Global architecture WG.
Geant4 Kernel
 Packages in red
 Handles run, event, track, step, hit, trajectory.
 Provides frameworks of geometrical
representation and physics processes.
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
47
Application States
Geant4 has six application states.
 G4State_PreInit
PreInit
Material, Geometry, Particle and/or Physics
initialize
Process need to be initialized/defined
Idle
 G4State_Idle
 G4State_GeomClosed
Geometry is optimized and ready to process an event
 G4State_EventProc
An event is processing
Run
(event loop)
Ready to start a run
beamOn
exit
GeomClosed
Quit
EventProc
 G4State_Quit
(Normal) termination
Abort
 G4State_Abort
A fatal exception occurred and program is aborting
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
48
Terminology
Run, event, track, step, step point

Track  trajectory,

Step  trajectory point

Process
At rest, along step, post step

Cut = production threshold

Sensitive detector, hit, hits collection

Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
49
Run in Geant4
 Run starts with “Beam On”.
 Within a run, the user cannot change
detector setup
settings of physics processes
 Run is a collection of events which share the same detector and physics conditions.
A run consists of one event loop.
At the beginning of a run, geometry is optimized for navigation and cross-section tables are
calculated according to materials appear in the geometry and the cut-off values defined.
 G4RunManager class manages processing a run, a run is represented by G4Run class or
a user-defined class derived from G4Run.
 A run class may have a summary results of the run.
 G4UserRunAction is the optional user hook.
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
50
Event in Geant4
 An event is the basic unit of simulation in Geant4
 At beginning of processing, primary tracks are generated
These primary tracks are pushed into a stack
 A track is popped up from the stack one by one and “tracked”
Resulting secondary tracks are pushed into the stack
 This “tracking” lasts as long as the stack has a track
 When the stack becomes empty, processing of one event is over
 G4Event class represents an event.
It has following objects at the end of its (successful) processing.
List of primary vertices and particles (as input)
Hits and Trajectory collections (as output)
 G4EventManager class manages processing an event.
G4UserEventAction is the optional user hook.
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
51
Track in Geant4
 Track is a snapshot of a particle
–
–
–
–
it has physical quantities of current instance only.
as the particle moves, the quantities in the snapshot change
at any particular instance, a track has position, physical quantities
it is not a collection of steps
 Track object is deleted when
–
–
–
–
it goes out of the world volume,
it disappears (by e.g. decay, inelastic scattering),
it goes down to zero kinetic energy and no “AtRest” additional process is required,
or the user decides to kill it artificially.
 No track object persists at the end of event.
For the record of tracks, use trajectory class objects.
 G4TrackingManager manages processing a track, a track is represented
by G4Track class.
 G4UserTrackingAction is the optional user hook.
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
52
Step in Geant4
 Step has two points and also “delta” information of a particle
(energy loss on the step, time-of-flight spent by the step, etc.).
 Each point knows the volume (and material). In case a step is limited by a volume
boundary, the end point physically stands on the boundary,
and it logically belongs to the next volume.
 Because one step knows materials of two volumes, boundary processes such as
transition radiation or refraction could be simulated.
 G4SteppingManager class manages processing a step, a step is represented
by G4Step class.
 G4UserSteppingAction is the optional user hook.
Boundary
Step
Pre-step point
Post-step point
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
53
Particle in Geant4
A particle in Geant4 is represented
G4Track
by three levels of classes
Position, geometrical information, etc.
This is a class representing a particle to be tracked.
G4DynamicParticle
Dynamic physical properties of a particle, such as momentum, energy, spin, etc.
Each G4Track object has its own and unique G4DynamicParticle object.
This is a class representing an individual particle.
G4ParticleDefinition
Static properties of a particle, such as charge, mass, life time, decay channels, etc.
G4ProcessManager which describes processes involving to the particle
All G4DynamicParticle objects of same kind of particle share the same
G4ParticleDefinition.
List of particle properties
such as
Catagories
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
54
Tracking & Processes
Geant4 Tracking is general
 It is independent to
the particle type
the physics processes assigned to a particle
 It gives the chance to all processes to
contribute to determining the step length
contribute any possible changes in physical quantities of the track
generate secondary particles
suggest changes in the state of the track (e.g. to suspend, postpone or kill it)
Processes;
 Particle transportation is a process as well;
the particle interacts with geometrical volume boundaries and field of any kind
 Each particle has its own list of applicable processes. At each step, all processes listed
are invoked to get proposed physical interaction lengths
 The process which requires the shortest interaction length (in space-time)
is the one that occurs.
 Each process has one or combination of the following natures.
AtRest (e.g. muon decay at rest)
AlongStep (continuous process, e.g. Celenkov process)
PostStep (discrete process, e.g. decay on the fly)
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
55
Track Status
At the end of each step, according to the processes involved,
the state of a track may be changed.
The user can also change the status in UserSteppingAction.
Statuses shown in green are artificial, i.e. Geant4 kernel won’t set them, but the user can set.
fAlive
Continue the tracking.
fStopButAlive
The track has come to zero kinetic energy, but still AtRest process to occur.
fStopAndKill
The track has lost its identity because it has decayed, interacted or gone beyond
the world boundary. Secondaries will be pushed to the stack.
fKillTrackAndSecondaries
Kill the current track and also associated secondaries.
fSuspend
Suspend processing of the current track and push it and its secondaries to the stack.
fPostponeToNextEvent
Postpone processing of the current track to the next event.
Secondaries are still being processed within the current event.
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
56
Step Status
Step status is attached to G4StepPoint to indicate why that particular step was determined.
Use “PostStepPoint” to get the status of this step.
“PreStepPoint” has the status of the previous step.
Step
fWorldBoundary
PostStepPoint
PreStepPoint
Step reached the world boundary
fGeomBoundary
Step is limited by a volume boundary except the world
fAtRestDoItProc, fAlongStepDoItProc, fPostStepDoItProc
Step is limited by a AtRest, AlongStep or PostStep process
fUserDefinedLimit
Step is limited by the user Step limit
fExclusivelyForcedProc
Step is limited by an exclusively forced (e.g. shower parameterization) process
fUndefined
Step not defined yet
If you want to identify the first step in a volume,
pick fGeomBoudary status in PreStepPoint.
If you want to identify a step getting out of a volume,
pick fGeomBoundary status in PostStepPoint
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
57
Extract Information
There are two ways:
 Use user hooks (G4UserTrackingAction, G4UserSteppingAction, etc.)
You have an access to almost all information
Straight-forward, but do-it-yourself
 Use Geant4 scoring functionality
Assign G4VSensitiveDetector to a volume
Hits collection is automatically stored in G4Event object, and automatically
accumulated if user-defined Run object is used.
Use user hooks (G4UserEventAction, G4UserRunAction) to get event / run summary
G4cout and G4cerr are ostream objects defined by Geant4.
G4endl is also provided.
G4cout << ”Hello Geant4!” << G4endl;
for Units:
 Each hard-coded number must be multiplied by its proper unit
radius = 10.0 * cm;
kineticE = 1.0 * GeV;
 To get a number, it must be divided by a proper unit
G4cout << eDep / MeV << “ [MeV]” << G4endl;
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
58
What You Have To ...
Geant4 is a toolkit. You have to build an application.
To make an application, you have to:
 Define your geometrical setup
Material, volume
 Define physics to get involved
Particles, physics processes/models
Production thresholds
 Define how an event starts
Primary track generation
Extract information useful to you
You may also want to
 Visualize geometry, trajectories and physics output
 Utilize (Graphical) User Interface
 Define your own UI commands
 etc.
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
59
User Classes
main()
Geant4 does not provide main().
 Initialization classes
 Use G4RunManager::SetUserInitialization() to define.
 Invoked at the initialization
G4VUserDetectorConstruction
G4VUserPhysicsList
 Action classes
 Use G4RunManager::SetUserAction() to define.
 Invoked during an event loop
G4VUserPrimaryGeneratorAction
G4UserRunAction
G4UserEventAction
G4UserStackingAction
Note: classes written in green are mandotory
G4UserTrackingAction
G4UserSteppingAction
In your main()
set mandatory classes to RunManager
VisManager, G(UI) session, optional user action classes, persistency manager
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
60
Describe Detector
Derive your own concrete class from G4VUserDetectorConstruction abstract base class.
In the virtual method Construct(),
Instantiate all necessary materials
Instantiate volumes of your detector geometry
Instantiate your sensitive detector classes and set them to the corresponding
logical volumes
Optionally you can define
Regions for any part of your detector
Visualization attributes (color, visibility, etc.) of your detector elements
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
61
Geometry
Three conceptual layers
Basic strategy;
G4VSolid
shape, size
G4VSolid* pBoxSolid =
new G4Box(“aBoxSolid”, 1.*m, 2.*m, 3.*m);
G4LogicalVolume* pBoxLog =
new G4LogicalVolume( pBoxSolid, pBoxMaterial,
“aBoxLog”, 0, 0, 0);
G4VPhysicalVolume* aBoxPhys =
new G4PVPlacement( pRotation,
G4ThreeVector(posX, posY, posZ), pBoxLog,
“aBoxPhys”, pMotherLog, 0, copyNo);
G4LogicalVolume
daughter physical volumes,
material, sensitivity, user limits, etc.
G4VPhysicalVolume
position, rotation
G4VSolid
G4Box
G4Tubs
G4LogicalVolume
G4Material
G4VPhysicalVolume
G4VisAttributes G4PVPlacement
G4VSensitiveDetector
G4PVParameterised
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
62
Geometry (Solid Volumes)
CSG (Constructed Solid Geometries)
G4Tubs(const G4String &pname, // name
G4double pRmin,
// inner radius
G4double pRmax,
// outer radius
G4double pDz,
G4Box(const G4String &pname, // name
G4double half_x,
// X half size
G4double half_y,
// Y half size
G4double half_z);
// Z half size
G4Cons
G4Trd
// Z half length
G4double pSphi, // starting Phi
G4double pDphi);
angle
G4Trap
// segment
G4Para
(parallelepiped)
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
G4Sphere
63
Geometry (Solid Volumes)
Solids can be combined using boolean operations:
G4UnionSolid, G4SubtractionSolid, G4IntersectionSolid
Requires:2 solids, 1 boolean operation, and an (optional) transformation for the 2nd solid
2nd solid is positioned relative to the coordinate system of the 1st solid
Result of boolean operation becomes a solid. Thus the third solid can be combined to the
resulting solid of first operation.
Solids to be combined can be either CSG or other Boolean solids.
Note: tracking cost for the navigation in a complex Boolean solid is proportional to the
number of constituent CSG solids
G4UnionSolid
G4SubtractionSolid
G4IntersectionSolid
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
64
Geometry (Logical Volume)
G4LogicalVolume(G4VSolid *pSolid,
G4Material *pMaterial,
const G4String &name,
G4FieldManager *pFieldMgr=0,
G4VSensitiveDetector *pSDetector=0,
G4UserLimits *pULimits=0);
Contains all information of volume except position and rotation
Shape and dimension (G4VSolid)
Material, sensitivity, visualization attributes
Position of daughter volumes
Magnetic field, User limits,
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
65
Geometry (Physical Volumes)
 Placement volume : it is one positioned volume
One physical volume object represents one “real” volume.
 Repeated volume : a volume placed many time
One physical volume object represents any number of “real”
volumes


reduces use of memory
placement
Parameterised
repetition with copy number

Replica and Division
simple repetition along one axis
 A mother volume can contain either
many placement volumes
or, one repeated volume
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
repeated
66
<?xml version="1.0" encoding="UTF-8"?>
<gdml xsi:noNamespaceSchemaLocation="GDMLSchema/gdml.xsd">
<define>
...
<position name="TrkrinWorldpos" unit="mm" x="0" y="0" z="100"/>
</define>
Geometry Desciption Markup Language
<materials>
...
<element name="Nitrogen" formula="N" Z="7.">
Build-in Geant4
<atom value="14.01"/>
</element>
export G4LIB_BUILD_GDML=1
<material formula=" " name="Air" >
<D value="1.290" unit="mg/cm3"/>
<fraction n="0.7" ref="Nitrogen" />
$G4INSTALL/source/persistency/gdml/schema/
<fraction n="0.3" ref="Oxygen" />
gdml_core.xsd
</material>
</materials>
gdml_define.xsd
<solids>
gdml_extensions.xsd
...
<box lunit="mm" name="Tracker" x="50" y="50" z="50"/>
gdml_materials.xsd
</solids>
gdml_parameterised.xsd
<structure>
...
gdml_replicas.xsd
<volume name="World" >
gdml_solids.xsd
<materialref ref="Air" />
<solidref ref="world" />
gdml.xsd
<physvol>
<volumeref ref="Tracker" />
<positionref ref="TrkrinWorldpos"/>
5 blocks
<rotationref ref="TrkinWorldrot"/>
Define
</physvol>
</volume>
Material
</structure>
Solids
<setup name="Default" version="1.0" >
<world ref="World" />
Structure
</setup>
Setup
</gdml>
Geometry (GDML)
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
67
Geometry (ROOT)
ATLAS
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
68
Physics
 Geant4 does not have any default particles or processes.
 Even for the particle transportation, you have to define it explicitly.
 Derive your own concrete class from G4VUserPhysicsList abstract base class.



Define all necessary particles
Define all necessary processes and assign them to proper particles
Define cut-off ranges applied to the world (and each region)
 Geant4 provides lots of utility classes/methods and examples.
 Process may consist of several models, cross-sections etc.
with different energy ranges
Gamma
Compton
scattering
Pair
production
particle
process 1
process 2
model 1
model 2
…
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
cross section set 1
cross section set 2
cross section set 3
…
69
Physics (Provided)




EM physics

Standard
valid from up to ~ PeV

Low-energy
valid from 250 eV to ~ PeV (Livermore & Penelope)

Optical photons

DNA level models valid from 7 eV to ~ 100 MeV
Weak physics

decay of subatomic particles

radioactive decay of nuclei
Hadronic physics

pure hadronic processes valid from 0 to ~100 TeV

Muon and gamma nuclear
valid from 10 MeV to ~TeV

DNA level models
Parameterized or “fast simulation” physics
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
70
Physics
 User physics lists: What you need to begin
G4VUserPhysicsList – for relatively simple physics lists
 Modular physics lists: A more sophisticated way to go
G4VModularPhysicsList – for detailed physics lists
 Reference physics lists ($G4INSTALL/source/physics/lists)
Methods to implement
class MyPhysicsList: public G4VUserPhysicsList
{
public:
MyPhysicsList();
~MyPhysicsList();
void ConstructParticle();
// choose the particles you need in your simulation
void ConstructProcess();
// assign relevant physics processes for each particle
void SetCuts();
// set the range cuts for secondary production
};
And register physics list to Geant4 with this line in main program
runManager->SetUserInitialization(new MyPhysicsList);
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
71
Production Cuts
 This threshold is a distance, not and energy
 The primary particles lose energy producing secondaries (electrons, gammas)
 This cut-off represents the range of secondaries. It does not mean that the track is
killed at the corresponding energy
 A track is by default tracked down to zero kinetic energy
 Instead of saying "secondary production threshold distance"
more convenient to simply say "cuts"
 Geant4 has a default value of 1mm
 But users need to set their cut value depending on their precision needs and
CPU performances
 The cut value is set with the SetCuts() method in the PhysicsList class file
 It makes poor sense to use the energy cut-off
Range of 10 keV gamma in Si ~ a few cm
Range of 10 keV electron in Si ~ a few micron
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
72
Generate Primary
 Derive your concrete class from G4VUserPrimaryGeneratorAction abstract base
class
 Pass a G4Event object to one or more primary generator concrete class objects which
generate primary vertices and primary particles
Geant4 provides several generators in addition to the G4VPrimaryParticlegenerator
base class
 G4ParticleGun
 G4HEPEvtInterface, G4HepMCInterface

Interface to /hepevt/ common block or HepMC class
 G4GeneralParticleSource (GPS)

Define radioactivity
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
73
Optional User Classes
All user action classes, methods of which are invoked during “Beam On”, must be
constructed in the user’s main() and must be set to the RunManager.
G4UserRunAction
 G4Run* GenerateRun()
Instantiate user-customized run object
 void BeginOfRunAction(const G4Run*)
Define histograms
 void EndOfRunAction(const G4Run*)
Analyze the run
Store histograms
G4UserEventAction
 void BeginOfEventAction(const G4Event*)
Event selection
 void EndOfEventAction(const G4Event*)
Output event information
Draw the step
(for a track not to be stored as a trajectory)
G4UserTrackingAction
 void PreUserTrackingAction(const G4Track*)
Decide trajectory should be stored or not
Create user-defined trajectory
 void PostUserTrackingAction(const G4Track*)
Delete unnecessary trajectory
G4UserSteppingAction
 void UserSteppingAction(const G4Step*)
Kill / suspend / postpone the track
Draw the step (for a track not to be stored as a trajectory)
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
74
Visualization
Geant4 provides interfaces to various graphics drivers:
DAWN (Fukui renderer)
WIRED
RayTracer (ray tracing by Geant4 tracking)
OpenGL
OpenInventor
VRML
HepRApp
gMocren
gMocren
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
75
Analysis
Hard-coded
ROOT
$G4ANALYSIS_USE_ROOT
AIDA
$G4ANALYSIS_USE
Example:
SteppingAction.cc, EventAction.cc, SensitiveDetector.cc
Geant4 Build-in Scorers (Primitive scorers)
$G4INSTALL/source/digits_hits/scorer
G4PSEnergyDeposit3D.cc
G4PSTrackLength.cc
G4PSNofCollision.cc
G4PSEnergyDeposit.cc
G4PSDoseDeposit3D.cc
G4PSMinKinEAtGeneration.cc
examples/extended/runAndEvent/RE03
G4PSNofSecondary.cc
G4PSDoseDeposit.cc
/score/create/boxMesh boxMesh_1
/score/mesh/boxSize 100. 100. 50. cm
/score/mesh/nBin 30 30 30
/score/quantity/energyDeposit eDep
/score/close
/score/drawProjection boxMesh_1 eDep
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
76
Tools (Geometry)
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
77
Tools (MOMO)
Integrated GUI desktop for Geant4 development
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
78
Application Examples (HEP)
BaBar
Generation of events at the interaction point in detail
ATLAS (LHC)
Use of Geant4 in the ATLAS Detector Simulation
CMSSW and OSCAR (LHC)
Use of Geant4 in the CMS experiment
GAUSS (LHC)
Use of Geant4 in the GAUSS simulation program of the LHCb experiment
ALICE (LHC)
Use of Geant4 in the ALICE Geant4 Simulation
Fermilab
Use of Geant4 at Fermilab for different applications
ILC
Use of Geant4 for the International Linear Collider project
BDSIM
Toolkit based on Geant4 for accelerator beamline simulation
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
79
Application Examples (Space & Radiation)
European Space Agency
Geant4 Space Users' Home Page
ESA Project Support
XMM-Newton Radiation Environment.
Space Environment Information System (SPENVIS)
Dose Estimation by Simulation of the ISS Radiation Environment (DESIRE)
Physics Models for Biological Effects of Radiation and Shielding
QinetiQ
Space Energetic Particle Transport and Interaction Modeling studies (SEPTIMESS)
Radiation Effects Analysis Tools (REAT)
MUlti-LAyered Shielding SImulation Software (MULASSIS)
GLAST
Gamma Ray Large Area Space Telescope
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
80
Application Examples (Medical)
GAMOS
Geant4-based Architecture for Medicine-Oriented Simulations
GATE
Geant4 Application for Tomographic Emission
G4EMU
Geant4 European Medical User Organization
G4MED (in Japanese)
Geant4 Medical Physics in Japan
G4NAMU
Geant4 North American Medical User Organization
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
81
Geant4 Collaboration
PPARC
Lebedev
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
Collaborators also from
non-member institutions,
including
Budker Inst. of Physics
IHEP Protvino
MEPHI Moscow
Pittsburg University
82
How to Participate?
Depending your interest & capabilities,
Choose your way in Computer Aided Methods
 Learn advanced programming (C++ or Fortran)
 CAD Tools
 XML language
 Physics Models
 Analyze Tools (RooT, OpenScientist, JAS, Paw)
Have a look at;
http://www.lcsim.org/software/
Analysis and Reconstruction
Detector Simulation
Event Generation
(JAS3, LCIO)
(SLIC, LCDG4, Mokka)
(Herwig, GuineaPig)
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
83
BACKUP SLIDES
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
84
EM Physics Category
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
85
Hadronic Physics Category
CHIPS
At rest
Absorption
µ, π, K, anti-p
CHIPS (gamma)
Photo-nuclear, electro-nuclear
High precision neutron
Evaporation
Fermi breakup
Multifragment
Photon Evap
Precompound
FTF String (up to 20 TeV)
QG String (up to 100 TeV)
Binary cascade
Rad. Decay
Bertini cascade
Fission
LE pp, pn
HEP ( up to 15 TeV)
LEP
1 MeV
10 MeV
100 MeV
1 GeV
10 GeV
100 GeV
1 TeV
… plus G4BinaryLightIonCascade, G4WilsonAbrasion, G4EmDissociation
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
86
ConstructParticle() [1]
Basic construction method:
By manually invoking the particle definition methods
#include “G4Electron.hh”
#include “G4Proton.hh”
…
void MyPhysicsList::ConstructParticle()
{
G4Electron::ElectronDefinition();
G4Proton::ProtonDefinition();
G4Neutron::NeutronDefinition();
G4Gamma::GammaDefinition();
…
}
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
87
ConstructParticle() [2]
By using utility classes:
That make the individual calls for you:
void MyPhysicsList::ConstructParticle()
{
G4BaryonConstructor* baryonConstructor =
new G4BaryonConstructor();
baryonConstructor->ConstructParticle();
delete baryonConstructor;
G4BosonConstructor* bosonConstructor =
new G4BosonConstructor();
bosonConstructor->ConstructParticle();
delete bosonConstructor;
…
}
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
88
ConstructProcess()
void MyPhysicsList::ConstructProcess()
{
AddTransportation();
// Method provided by G4VUserPhysicsList
// It assignes the transportation process to all
// particles, with non-zero lifetime, defined
// in ConstructParticle()
ConstructEM();
// Method may be defined by user (for
convenience)
// Instantiate electromagnetic processes here
ConstructGeneral();
// Method may be defined by user (for
convenience)
}
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
89
ConstructEM()
void MyPhysicsList::ConstructEM()
{
theParticleIterator->reset();
while( (*theParticleIterator)() ) {
G4ParticleDefinition*
particle = theParticleIterator->value();
G4ProcessManager*
pmanager = particle->GetProcessManager();
G4String
particleName = particle->GetParticleName();
if (particleName == “gamma”){
pmanager->AddDiscreteProcess(new G4GammaConversion());
…
}
…
}
}
Uluslararası katılımlı Ulusal Parçacık Hızlandırıcıları ve Dedektörleri Yaz Okulu, Bodrum 2010
90

Benzer belgeler