Geant4 examples Sébastien Incerti On behalf of the Geant4 collaboration with special thanks to...

23
Geant4 examples Sébastien Incerti On behalf of the Geant4 collaboration with special thanks to Luciano Pandola, INFN

description

3 Getting started (1/2) We assume you have downloaded the Geant4 files for Vmware (Player for Windows users, Fusion for Mac users), from the web site Start the Vmware Player/Fusion software Open the Geant4 files Make sure to activate file exchange between Windows/Mac and the Vmware environment

Transcript of Geant4 examples Sébastien Incerti On behalf of the Geant4 collaboration with special thanks to...

Page 1: Geant4 examples Sébastien Incerti On behalf of the Geant4 collaboration with special thanks to Luciano Pandola, INFN.

Geant4 examples

Sébastien Incerti On behalf of the Geant4 collaboration

with special thanks to Luciano Pandola, INFN

Page 2: Geant4 examples Sébastien Incerti On behalf of the Geant4 collaboration with special thanks to Luciano Pandola, INFN.

PART 1

Setting up your Geant4 environment

Page 3: Geant4 examples Sébastien Incerti On behalf of the Geant4 collaboration with special thanks to Luciano Pandola, INFN.

3

Getting started (1/2) We assume you have downloaded the Geant4

files for Vmware (Player for Windows users, Fusion for Mac users), from the web site http://geant4.in2p3.fr

Start the Vmware Player/Fusion software

Open the Geant4 files

Make sure to activate file exchange between Windows/Mac and the Vmware environment

Page 4: Geant4 examples Sébastien Incerti On behalf of the Geant4 collaboration with special thanks to Luciano Pandola, INFN.

4

Getting started (2/2) Log in

Username : local1 Password : local1

Environment variables for Geant4 and associated tools are automatically defined when you open your session, from the file /usr/local/env/Cshrc

You can define Geant4 user environment variables in your /home/local1/.ucshrc file

Page 5: Geant4 examples Sébastien Incerti On behalf of the Geant4 collaboration with special thanks to Luciano Pandola, INFN.

5

Environment variables (1/2) Already set when you when you log in

Variables are defined using the command setenv VARIABLE value

You can access the value of the variable using echo $VARIABLE

For Geant4 system $G4INSTALL

Directory where Geant4 is installed Value is

$G4SYSTEM Operating system Value is Linux-g++

$G4WORKDIR Directory where executable code will be stored Value is

Page 6: Geant4 examples Sébastien Incerti On behalf of the Geant4 collaboration with special thanks to Luciano Pandola, INFN.

6

Environment variables (2/2) For data libraries

$G4LEVELGAMMADATA Directory with the database of nuclear levels Value is

$G4RADIOACTIVEDATA Directory with the databse of radioactive decay Value is

$G4LEDATA Directory with the databse of low energy EM Physics Value is

$G4NEUTRONHPDATA Directory with the databse of low energy neutrons (thermal-20 MeV) Value is

$G4ELASTICDATA Directory with the databse of hadronic elastic scattering Value is

$G4ABLADATA Directory with the databse of hadronic ablation models Value is

Page 7: Geant4 examples Sébastien Incerti On behalf of the Geant4 collaboration with special thanks to Luciano Pandola, INFN.

7

Geant4 examples A number of ready-to-use examples are

available in Geant4

Located in $G4INSTALL/examples

Three categories Novice : basic functionalities of Geant4 Extended : specific functionalities (specific Physics

processes, biasing, magnetic fields…) Advanced : full simulation of realistic use cases

(medical physics, space, calorimetry…)

Page 8: Geant4 examples Sébastien Incerti On behalf of the Geant4 collaboration with special thanks to Luciano Pandola, INFN.

PART 2

Running N03 without macros

with macros

Page 9: Geant4 examples Sébastien Incerti On behalf of the Geant4 collaboration with special thanks to Luciano Pandola, INFN.

9

Let’s try example N03 Copy N03 to your home :

cdcp –R $G4INSTALL/examples/novice/N03 .cd N03

Read at the README file : simulation of a simple sampling calorimeter…

Compile & link the examplegmake

Warning : environment variables must always be set before compiling & running an executable file.

Page 10: Geant4 examples Sébastien Incerti On behalf of the Geant4 collaboration with special thanks to Luciano Pandola, INFN.

10

Running without macros Once compiled and linked, you can run

the executable using simply :$G4WORKDIR/bin/Linux-g++/exampleN03

Use your Tab key for faster recognition of existing directories

You get the following screen output

No argument after executable name

Page 11: Geant4 examples Sébastien Incerti On behalf of the Geant4 collaboration with special thanks to Luciano Pandola, INFN.

11

************************************************************* Geant4 version Name: geant4-09-01-patch-01 (25-January-2008) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4*************************************************************

***** Table : Nb of materials = 13 *****[...]---------------------------------------------------------------> The calorimeter is 10 layers of: [ 10mm of Lead + 5mm of liquidArgon ]------------------------------------------------------------

[...]You have successfully registered the following graphics systems.Current available graphics systems are: ASCIITree (ATree)[...]Idle>

Running without macros

Page 12: Geant4 examples Sébastien Incerti On behalf of the Geant4 collaboration with special thanks to Luciano Pandola, INFN.

12

What happened ?

1. the run is initialized1. definition of materials, 2. build of geometry3. set physics processes4. set production cuts5. ...

2. a macro file vis.mac is automatically read to register the visualization drivers (default OGLIX) and the set-up is shown on a graphic window (OpenGL)

3. you get the Idle> prompt where you can enter commands interactively

e.g. change geometry, decide which particle to shoot, which energy, execute another macro, shoot a particle, ..

Running without macros

Page 13: Geant4 examples Sébastien Incerti On behalf of the Geant4 collaboration with special thanks to Luciano Pandola, INFN.

13

10 layers : 10 mm Lead + 5 mm Liquid Argon no magnetic field

The default geometry

What you get with the VRMLFILE

visualization driver

Page 14: Geant4 examples Sébastien Incerti On behalf of the Geant4 collaboration with special thanks to Luciano Pandola, INFN.

14

Let’s try to shoot a particle:Idle> /run/beamOn 1

By default, a 50 MeV e- is shot impinging perpendicularly on the calorimeter

phot: Total cross sections from Sandia parametrisation.

Sampling according PhotoElectric model

[...]

========= Table of registered couples ======================== Index : 1 used in the geometry : Yes recalculation needed : No Material : Lead

cuts : gamma 1 mm e- 1 mm e+ 1 mm

Energy thresholds : gamma 100.511 keV e- 1.37814 MeV e+ 1.28002 MeV

Region(s) which use this couple : DefaultRegionForTheWorld

Initialization of physics

tables

Calculation of energy

cuts

Running without macros

Page 15: Geant4 examples Sébastien Incerti On behalf of the Geant4 collaboration with special thanks to Luciano Pandola, INFN.

15

Running without macros-------------------------------------------> End of event: 0 Absorber: total energy: 44.555829 MeV total track length: 2.9979304 cm Gap: total energy: 809.13499 keV total track length: 3.6520688 mmRun terminated.Run Summary Number of events processed : 1 User=0.01s Real=0.35s Sys=0.09s

--------------------End of Run------------------------------

mean Energy in Absorber : 44.555829 MeV +- 0.12511652 eV mean Energy in Gap : 809.13499 keV +- 0.005999626 eV

mean trackLength in Absorber : 2.9979304 cm +- 2.0295141 Ang mean trackLength in Gap : 3.6520688 mm +- 0 fm------------------------------------------------------------

Event summary

Run summary

Page 16: Geant4 examples Sébastien Incerti On behalf of the Geant4 collaboration with special thanks to Luciano Pandola, INFN.

16

You also get a visualization of the event you have just shot (50 MeV e-)

primary e-

gamma-rays Default color code: red = negative

chargeblue = positive

charge green = neutral

Running without macros

What you get with the DAWNFILE visualization

driver

Page 17: Geant4 examples Sébastien Incerti On behalf of the Geant4 collaboration with special thanks to Luciano Pandola, INFN.

17

Geant4 macros are ASCII files containing a sequence of Geant4 commands:#/run/verbose 2/event/verbose 0/tracking/verbose 1#/gun/particle mu+/gun/energy 300 MeV/run/beamOn 3

$G4WORKDIR/bin/Linux-g++/exampleN03 run1.mac

The argument following the executable name is taken as a macro name, e.g. run1.mac

Shoot 3 + of energy 300 MeV

Running with macros

Page 18: Geant4 examples Sébastien Incerti On behalf of the Geant4 collaboration with special thanks to Luciano Pandola, INFN.

18

---> End of event: 2 Absorber: total energy: 125.1375 MeV total track length: 10.637355 cm Gap: total energy: 9.5302526 MeV total track length: 5.3417345 cmRun terminated.Run Summary Number of events processed : 3 User=0.01s Real=3.78s Sys=0.06s

--------------------End of Run------------------------------

mean Energy in Absorber : 133.48424 MeV +- 7.4232944 MeV mean Energy in Gap : 9.8882883 MeV +- 274.14222 keV

mean trackLength in Absorber : 10.969526 cm +- 4.7680992 mm mean trackLength in Gap : 5.3210426 cm +- 640.82289 um------------------------------------------------------------

Summary of event #2 (the

3rd one!)

Summary of the full run

Running with macros

Page 19: Geant4 examples Sébastien Incerti On behalf of the Geant4 collaboration with special thanks to Luciano Pandola, INFN.

19

primary +

gamma-rays

delta-ray

Screenshot of the 3 events

Running with macros

What you get with the DAWNFILE visualization

driver

Page 20: Geant4 examples Sébastien Incerti On behalf of the Geant4 collaboration with special thanks to Luciano Pandola, INFN.

20

$G4WORKDIR/bin/Linux-g++/exampleN03 run1.macNote that

is equivalent to

$G4WORKDIR/bin/Linux-g++/exampleN03

[...]

Idle> /control/execute run1.mac

command to run an external macro(but in the second case you will get the Idle> prompt back)

Running with macros

Page 21: Geant4 examples Sébastien Incerti On behalf of the Geant4 collaboration with special thanks to Luciano Pandola, INFN.

21

$G4WORKDIR/bin/Linux-g++/exampleN03

Idle> /control/execute newgeom.mac

Idle> /control/execute run1.mac

/N03/det/setNbOfLayers 1/N03/det/setAbsMat Water/N03/det/setAbsThick 40 cm/N03/det/setGapMat Air/N03/det/setGapThick 0 cm/N03/det/setSizeYZ 40 cm/N03/det/setField 3 tesla/N03/det/update

1) First macro changes geometry: only one layer of absorber (40 cm of water), no gap (thickness = 0 cm) practically a solid block of waterChange transverse dimensions, set a 3 T magnetic field

2) Second macro shoots the 3 300-MeV +, as before

Change geometry on-the-fly

Page 22: Geant4 examples Sébastien Incerti On behalf of the Geant4 collaboration with special thanks to Luciano Pandola, INFN.

22

primary + B BGeometry, materials,

magnetic field and primary

particles can be tuned by ASCII

macros, without recompiling the

code !

x

y

What you get with the DAWNFILE visualization

driver

Change geometry on-the-fly

Page 23: Geant4 examples Sébastien Incerti On behalf of the Geant4 collaboration with special thanks to Luciano Pandola, INFN.

23

Summary Geant4 provides several examples to show basic and

advanced functionalities (novice/extended) and full-scale realistic applications (advanced).

Environmental variables should be properly set to compile and run Geant4 applications.

Geant4 applications can be run interactively (namely, giving commands by keyboard) or by macros. A few macros are distributed with the examples.

Simulation parameters (geometry, visualization, primary particles, materials) can be tuned without recompiling the code.