200 likes | 305 Views
Development of an Interface for Using EGS4 Physics Processes in Geant4. K.Murakami (KEK) Koichi.Murakami@kek.jp 27/Mar./2003 2003 Conference for Computing in High Energy and Nuclear Physics (CHEP03) @UCSD. Outline. Introduction System Analysis Implementation Status and Summary.
E N D
Development of an Interface for Using EGS4 Physics Processes in Geant4 K.Murakami (KEK) Koichi.Murakami@kek.jp 27/Mar./2003 2003 Conference for Computing in High Energy and Nuclear Physics (CHEP03) @UCSD CHEP03 @UCSD
Outline • Introduction • System Analysis • Implementation • Status and Summary CHEP03 @UCSD
I. Introduction CHEP03 @UCSD
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. CHEP03 @UCSD
Co-Workers • Persons involved • K.Murakami (KEK, Koichi.Murakami@kek.jp) • K.Amako (KEK) • H.Hirayama (KEK) • Y.Namito (KEK) • T.Sasaki (KEK) • M.Asai (SLAC) • T.Koi (SLAC) CHEP03 @UCSD
II. System Analysis CHEP03 @UCSD
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 changealgorithms 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 implement the EGS physics processes as single Geant4 processes for electron/photon respectively. CHEP03 @UCSD
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. • In EGS4, • 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. • We manage material information in terms of both of Geant4 and EGS4. • Users have to execute PEGSexternally 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. • In EGS4, • An idea of cutoff energy is applied. Particles below cutoff energy will be discarded. • 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. CHEP03 @UCSD
Table of Components – Which package is used – • Control Framework : EGS4 Geant4 • Tracking : EGS4Geant4 • Geometry : EGS4Geant4 • Materials : EGS4Geant4 • Cross Section Table: EGS4Geant4 (PEGS) • Physics Process : EGS4Geant4 • Cutoff Scheme : EGS4Geant4 CHEP03 @UCSD
III. Implementation CHEP03 @UCSD
Functional Mapping EGS4 Flow • SHOWER (tracking controller) • ELECTOR • PHOTON (controller for stepping and process invocation) • HOWFAR (geometry and navigation, user code) • each Physics Process • COMPT • BREMS • ... • Geant4 Class • tracking manager • stepping manager • single process for electron • single process for photon • GPIL() (GetPhysicalInteractionLength) • calculating the next interaction point • DoIt() • describing a reaction • G4 geometry • G4 transportation (as a process) • reused as-is • wrapped with FORTRAN-C++ interface EGS4 subroutines CHEP03 @UCSD
How It Works g4change g4mate egsmate • A virtual volume with • no dimensions • empty media evacuation • In the EGS4 world, a single virtual volume with • no dimensions (transportation is a G4 job) • empty medium (dynamically updated) is prepared. • 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. update g4-egs material map egs stack g4track egs stack update egs stack CHEP03 @UCSD
Material Description G4-EGS Material Map EGS4 World PEGS Material EGS Material • There are three classes describing materials: • 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 mapat tracking time. Geant4 World G4Material CHEP03 @UCSD
Process List Currently Covered • As the first target, we started with interfacing with a plain EGS4 (distributed as a KEK version). • Photon processes • Rayleigh scattering • pair production • photo-electric effect w/ subsequent fluorescence • Compton scattering • Electron processes • multiple scattering momentum flip only. lateral displacement is not included. PRESTA is not included. • continuous energy loss • Bremsstrahlung • Møller scattering (e-) • BhaBha(e+) • positron annihilation (e+) (in-flight / at-rest) CHEP03 @UCSD
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, ... CHEP03 @UCSD
IV. Status and Summary CHEP03 @UCSD
Sample Event Display • 5 electrons with Ek=50 MeV into a slab geometry composed of several materials. (w/ cutoff Ek=10 keV) red:electron green:photon CHEP03 @UCSD
Benchmarks • Development environment • Linux (SuSE / RedHat / ...) • gcc/g77 ver. 3.2 (2.95.2/3) • Geant4 ver.5.0 (patch01) • EGS4 (distributed as a KEK version) • Robustness • several-M events in a simple geometry were successfully generated without crush. • Detail benchmark tests were just started. CHEP03 @UCSD
Current 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). CHEP03 @UCSD
Summary • We have successfully developed the first version of an interface between EGS4 and Geant4 based on OO-approach. • 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. CHEP03 @UCSD