Development of an Interface for Using EGS4 Physics Processes in Geant4

Document Sample
Development of an Interface for Using EGS4 Physics Processes in Geant4 Powered By Docstoc
					An Interface for Using EGS4 Physics Processes in Geant4
K.Murakami (KEK) 6/Sep./2003 Geant4 Workshop 2003 (TRIUMF)
06/Sep./03 Geant4 Workshop 2003 (TRIUMF) 1

Outline
I.
II. III.

IV.
V.

Introduction System Analysis Design Details Users’ Side View Summary

06/Sep./03

Geant4 Workshop 2003 (TRIUMF)

2

Introduction


Geant4 has rich flexibility and expansibility for adding physics processes, in addition to its powerful geometry description. It is not easy to describe complicated/realistic geometry for EGS4 users. Taking advantage of the capabilities of Geant4 as a framework, we developed an interface for using EGS4 as a module of physics process in Geant4.







By means of this interface,
 

EGS4 users can share Geant4 powerful resources, such as geometry description, tracking etc. A common environment for comparison tests between EGS4 and Geant4 especially in users’ realistic application level.
Geant4 Workshop 2003 (TRIUMF) 3

06/Sep./03

II. System Analysis

06/Sep./03

Geant4 Workshop 2003 (TRIUMF)

4

Analysis of EGS4 System
- in terms of difference from Geant4

We first carried out analysis of the EGS4 system in terms of difference from Geant4. Our policy is that we should care for NOT to change algorithms and prescriptions which are used in the EGS4 system. Issue-1: A way of calculation of step size and process selection






In Geant4, each process has its own fate in terms of NIL (N of Interaction Length). Then, a process having minimum fate will occur.
In EGS4, the next step size is calculated based on the total cross section of a particle. Then, which process will occur is chosen at the rate of branching fraction of a process.



 

In principle, these work in the same manner. Good!! We implemented the EGS physics processes as single Geant4 processes for electron/photon respectively.

06/Sep./03

Geant4 Workshop 2003 (TRIUMF)

5

Analysis of EGS4 System (Cont’d)


Issue-2: Scheme of describing material information


In Geant4,
 

Material information has only properties of material itself (atomic number/mass, density, composition...) Cross section tables are calculated at initialization time. Users have to prepare a material (cross section) file by executing PEGS, which is an external program, preceding to execution of a EGS4 program. Additional information related to “processes” (cutoff, parameters/coefficients of formulas) are described as material.



In EGS4,
 

  

We manage material information in terms of both of Geant4 and EGS4. Users have to execute PEGS externally and our interface manages material information listed in a PEGS output file. A mapping table between G4 materials and EGS4 materials is prepared.



Issue-3: Cutoff scheme


In Geant4,
 

There is no cutoff energy. Particles basically will be transported until they have zero kinetic energy. An idea of production cut is introduced to avoid infrared divergence. An idea of cutoff energy is applied. Particles below cutoff energy will be discarded.



In EGS4,





According to our policy, we don’t disturb the EGS4 treatments in order to obtain the same output as obtained by EGS4 itself. Each material has its own cutoff energy for electron/photon.
Geant4 Workshop 2003 (TRIUMF) 6

06/Sep./03

Table of Components Which package is used?
 


 

 

Control Framework : EGS4 Tracking : EGS4 Geometry : EGS4 Materials : EGS4 Cross Section Table:EGS4 (PEGS) Physics Process : EGS4 Cutoff Scheme : EGS4
Geant4 Workshop 2003 (TRIUMF)

Geant4 Geant4 Geant4 Geant4 Geant4 Geant4 Geant4
7

06/Sep./03

III. Design Details

06/Sep./03

Geant4 Workshop 2003 (TRIUMF)

8

Functional Mapping
EGS4 Flow
EGS4 subroutines

Geant4 Class
 tracking manager stepping manager

SHOWER (tracking controller)

ELECTOR  PHOTON (controller for stepping and

process invocation)

single process for electron single process for photon

GPIL() (GetPhysicalInteractionLength) calculating the next interaction point DoIt() describing a reaction

(geometry and navigation, user code)
COMPT BREMS ...
06/Sep./03

HOWFAR



G4 geometry G4 transportation (as a process) wrapped with FORTRAN-C++ interface
9

each Physics Process 

reused as-is

Geant4 Workshop 2003 (TRIUMF)

Parts List


Manager


EGS2G4Manager  which is automatically instantiated/deleted from an actual process class.  Users don’t have to take care of it.


Prefix of classes is “EGS2G4”.

Management of material information
 

EGS2G4Material / EGS2G4PegsMaterial EGS2G4MaterialStore / EGS2G4PegsMaterialStore



Implementation of actual processes


EGS2G4VProcess / EGS2G4eProcess / EGS2G4gProcess



Controller for user parameters/flags
 


EGS2G4ParameterStore/EGS2G4TParameter All parameters/flags of EGS4 can be accessed via G4 user commands at run time. Users don’t have to re-compile any EGS4 library.

06/Sep./03

Geant4 Workshop 2003 (TRIUMF)

10

06/Sep./03

Geant4 Workshop 2003 (TRIUMF)

11

How It Works
g4mate

egsmate

g4change

update g4-egs material map

A virtual volume with • no dimensions • empty media

evacuation

egs stack egs stack egs stack

g4track update



In the EGS4 world, a single virtual volume with
 

no dimensions (transportation is a G4 job) empty medium (dynamically updated)

is prepared.
 1. 2. 3. 4.

At tracking time, Medium information of the EGS4 volume is updated at every step though the material map from G4 to EGS4. Kinematical information in the EGS4 stack is updated from G4 track. A EGS4 process is invoked. The stack information of EGS4 is evacuated to a G4 particle-change.
06/Sep./03 Geant4 Workshop 2003 (TRIUMF) 12

Material Description
EGS4 World
PEGS Material

G4-EGS Material Map
EGS Material

Geant4 World


There are three classes describing materials:


G4Material

PEGS Material:


It describes materials defined in a PEGS output.



EGS Material:
 

It has a PEGSMaterial. In addition, it has information, such as


user cutoffs, user density, user flags, ...



G4 Material:
 

A G4Material is related to a EGSMaterial by users at initialization time. A G4Material is translated to a EGSMaterial through the map at tracking time.
13

06/Sep./03

Geant4 Workshop 2003 (TRIUMF)

Implementation of Physics Process


Single process per electron/photon respectively


easy to translate the flow control of EGS4  GPIL() is based on “total cross section”  Actual process is selected in DoIt().


G4VProcess

EGS2G4VProcess


has common utility methods;
 

EGS2G4VProcess

conversion from G4Material to EGSMaterial communication with the EGS4 stack...



EGS2G4gProcess


EGS2G4gProcess
(EGS4::PHOTON)

implemented as a discrete process



EGS2G4eProcess


implemented as a continuous-discrete-at-rest process EGS2G4eProcess
(EGS4::ELECTR)

06/Sep./03

Geant4 Workshop 2003 (TRIUMF)

14

Treatment of Cutoff


We don’t disturb the cutoff treatment carried out in EGS4!! This is our policy.
Basically, a particle below the cutoff will be discarded with depositing its kinetic energy. Positron will be stopped but still alive and followed by annihilation. Notes: There are two cutoff-s in EGS4.
 

   

AP/AE (for photon/electron) UP/UE (upper-side limit)

 

which are given in PEGS and utilized as energy windows of cross section tables. AP/AE works also as production thresholds for brems. / Moller. For UP/UE, we provide a safety scheme not to exceed energy limit of cross section tables.
which are EGS user cutoff. (attributes of EGSMaterial)



PCUT/ECUT


06/Sep./03

Geant4 Workshop 2003 (TRIUMF)

15

Process List Currently Covered


As the first target, we started with interfacing with a plain EGS4 (distributed as a KEK version). Photon processes




Electron processes

 multiple scattering  Rayleigh scattering momentum flip only.  pair production lateral displacement is not included.  photo-electric effect  continuous energy loss w/ subsequent fluorescence  Bremsstrahlung  Compton scattering  Møller scattering (e-)  BhaBha(e+) To simulate multiple scattering  positron annihilation (e+) more precisely, PRESTA have to be included. (in-flight / at-rest)
06/Sep./03 Geant4 Workshop 2003 (TRIUMF) 16

IV. Users’ Side View

06/Sep./03

Geant4 Workshop 2003 (TRIUMF)

17

Product Hierarchy
Geant4 user program layer
EGS4 physics list

EMegs Physics List
EMegsPhysics : public G4VPhysicsConstructor A modular PhysicsList for EM physics

interface layer Gean4 interface with EGS4
management of
EGS materials

EGS2G4 package
Another G4 library for EM physics libEGS2G4.a

invocation of
EGS process

plug-in adapter layer wrapped in MORTRAN
SUBROUTINE GTEMFP SUBROUTINE EPSDIT SUBROUTINE PPSDIT

Another EGS4 library for G4 GNUmake  cpp  MORTRAN  F77  libegs4g4.a

EGS4
06/Sep./03

EGS4g4 package
Geant4 Workshop 2003 (TRIUMF) 18

View from Users’ Side


User Physics List:


An alternative EM-physics list is provided as a modular “Physics List” for EM w/ EGS4 processes.



User Detector Construction (Geometry):
 

Users don’t have to modify any existing Geant4 geometry codes. Users make assignment of a Geant4 material to a EGS4 material by hands.



Cross Section Table:


Users have to execute PEGS externally.
 

define PEGS materials in PEGS input files. execute PEGS to generate a cross section file (so-called PEGS output).



All operations can be performed via G4 command line interface interactively.
  

assigning G4Material to EGSMaterial setting users parameters initialization, ...
Geant4 Workshop 2003 (TRIUMF) 19

06/Sep./03

Example of Material Session

# user macro to set up EGS matetials # create EGS materials [egs nama] [pegs name] [g4 name] /process/egs4/material/create AIR ! Air /process/egs4/material/create PB PB Lead /process/egs4/material/create PB-2 PB /process/egs4/material/create NAI ! NaI # assing g4 mate. to egs mate. /process/egs4/material/assign Vacuum VACUUM

Command directory path : /process/egs4/material/ Guidance : # set user cutoff commands relevant to EGS materials /process/egs4/material/setCuts NAI 0.1 0.7 Sub-directories : /process/egs4/material/pegs/ commands for PEGS /process/egs4/setPegsFile pegs.dat materials /process/egs4/initialize Commands : create * create a EGS material setPegs * set a Pegs material to a EGS material assign * assign a material(G4) to a material(EGS) b00(Idle)[/process/egs4/material/]:dump NAI ------------------------------------------------------------------------clearAssingment * clear assignment list of G4Material (@): EGS material name -> PEGS medium name -> G4Material name dump * dump EGS material information ------------------------------------------------------------------------print * print EGS material information (EGS->G4) (o):NAI :"NAI ":NaI printMap * print EGS material information (G4->EGS) @PEGS=0x8d06600 listG4Material * list materials(G4) defined AP*=0.010 , UP*=100.000 , PCUT=0.010 (MeV) AE*=0.521 , UE*=100.511 , ECUT=0.521 (MeV) erase * erase a EGS material URho/Rho*=3.667 /3.667 (g/cm3) =1.000 clearAll * clear EGS materials IRAYL= 1, IRAYLM*= 1, IEDGFL= 0 setCuts * set cutoff energy (in MeV) for photon/electronto a EGS material tb00(Idle)[/]:/process/egs4/material/printMap setIRAYLR * set a flag of Rayleigh scattering ------------------------------------------------------------------------<- G4Material name setIEDGFL * set IEDGFL parameter (K-shell fluorescence)(@): EGS material name -> PEGS medium name ------------------------------------------------------------------------setRHOR * set user density (in g/cm3) (o):VACUUM :"VACUUM ":Vacuum setDefaultParams * set defaut parameters (o):AIR :"AIR ":Air
(-):n/a (o):PB (o):SCINTI (o):NAI Geant4 Workshop 2003 (TRIUMF) :" :"PB :"SCINTI :"NAI ":ArEthane ":Lead ":Scinti ":NaI

06/Sep./03

20

Sample Event Display
5 electrons with Ek=50 MeV into a slab geometry composed of several materials. w/ cutoff Ek=10 keV

Robustness several-M events in a simple geometry were successfully generated without crush.
06/Sep./03 Geant4 Workshop 2003 (TRIUMF) 21

Status and Plans
 

First implementation was finished. Detail system check and benchmark tests are started as the next target. We have plans of comparisons;






between EGS4 itself and the EGS4-G4 interface. between G4 and EGS4(w/ the interface) on common geometries.



Technical study for treating PRESTA is planned for more precise simulation.


The treatment of multiple scattering is closely coupled with geometry (boundary).
Geant4 Workshop 2003 (TRIUMF) 22

06/Sep./03

Summary


We have successfully developed the first version of an interface between EGS4 and Geant4 based on OOapproach. This work is a proof of flexibility and expansibility of the Geant4 framework.





By means of this interface, EGS4 users will be able to share Geant4 powerful resources, such as geometry description, tracking etc.
Further detail benchmarks are on going.



06/Sep./03

Geant4 Workshop 2003 (TRIUMF)

23

Acknowledgements


This activity is proceeded under KEK-SLAC collaboration. Thanks to co-workers;
 K.Amako



(KEK)  T.Sasaki (KEK)  H.Hirayama (KEK)  Y.Namito (KEK)  M.Asai (SLAC)  T.Koi (SLAC)

06/Sep./03

Geant4 Workshop 2003 (TRIUMF)

24