The GEANT/FLUKA Interface

+-------------+                                               +----------##
| Geant 3.15  |               GEANT User's Guide              | Phys520  ##
+-------------+                                               +----------##
                                   

Author(s) : K.Lassila Submitted: 25.10.91 Origin : A.Ferrari Revised: 20.08.92

Introduction

The interface between GEANT and the hadronic shower generator of FLUKA calls the routines of FLUKA to calculate the cross section for hadronic processes and to generate the secondary particles of hadronic interactions. The other processes and tracking are handled by GEANT.

                    +--------------------------------+
                    |CALL FLINIT  |
                    +--------------------------------+
                                  

This routine calls FLUKA's initialization routines. An external file (bertaf.dat) is needed. It contains data for the isotopes and evaporation processes. It is read during the initialization. FLINIT is called automatically by the FLUKA system and the user does not need to call it.

                    +--------------------------------+
                    |CALL FLDIST  |
                    +--------------------------------+
                                  

This routine calls FLUKA's routines for the inelastic and elastic cross sections of the hadronic interactions with current detector material. It should be called from the user routine GUPHAD. It can be convenient to code the routine in the following way:

      SUBROUTINE GUPHAD
C.
C.    ******************************************************************
C.    *                                                                *
C.    *       User routine to compute Hadron. inter. probabilities     *
C.    *                                                                *
C.    *    ==>Called by : GTHADR,GTNEUT                                *
C.    *                                                                *
C.    ******************************************************************
C.
C.
+SEQ,GCPHYS.
C.
C.    ------------------------------------------------------------------
C.
      IF (IHADR.NE.4) THEN
         CALL GPGHEI
      ELSE
         CALL FLDIST
      END IF
      END

In this case all the user has to do to use FLUKA is to set the HADR flag to 4.

FLDIST calls the routines SIGEL and NIZL to calculate the elastic and inelastic cross sections respectively. For compound materials and mixtures it derives the cross sections from the ones of the basic materials. A particle type conversion has to be made because of the different particle numbers in GEANT and FLUKA. FLDIST calculates the distance to the next hadronic interaction point using the total cross sections.

FLUKA treats inelastic processes only above 50 MeV of projectile kinetic energy. The corresponding cross sections are parametrized or extrapolated with the help of the known neutron, proton, pi and K cross sections on nuclei. The inelastic hadron-nucleus cross sections are approximated by

                              m
    sigma          = sigma   A [in1]                   (1)
         inel,h-A         0

where m and sigma are parametrized from the total hadron-proton cross 0 sections via a relatively simple extrapolation:

    m  = c -  d# sigma       [in2]                     (2)
                      tot,h-p

    sigma   = a  + b #sigma       [in3]                (3)
         0                 tot,h-p

For the total hadron-proton cross-sections experimental data are used, if available, otherwise they are calculated from expressions of general form

                              2
    sigma         = B  + C #ln (s/ s )[in4]            (4)
         tot,h-p                    0

The parameters a, b, c ,d, B, C and s are tabulated for different 0 incident particles [bib-MOHE]. For neutron and neutral kaon cross sections following assumptions are made:

       sigma          =      sigma        /1. 07
            inel,n-A              inel,p-A
       sigma      0    =     sigma      +    = sigma      0    =  sigma      0
    {       inel,K -A             inel,K -A         inel,K -A          inel,K -A  .[cor](5)
                                                          L                  S
       sigma           =     sigma
                  0                     -
            inel,K -A             inel,K -A

0 These relations are based on the isospin and hypercharge conjugation; K

0 + and K total cross sections on protons and neutrons are equal to K and - + - K total cross sections on neutrons and are equal to K and K total cross sections on neutrons and protons correspondingly. Antineutron cross sections are assumed to be equal to the antiproton ones. For Lambda's, Sigma's, Xi's and Omega's proton, antiproton, neutron or antineutron cross sections are used.

For proton, neutron and pion, tabulated data of elastic cross sections on nuclei are used. For target materials and momenta for which there are no data in the tables cross sections are extrapolated from known values. The extrapolation is done in the same manner as for the inelastic cross section using equations [more info], [more info], [more info], [more info] and the following expression:

    sigma      = sigma     - sigma                                     (6)
         elas         tot         inel

For the other hadrons, the elastic counterpart of the equation set [more info] is used, and the same assumptions are made for antinucleons and unstable baryons.

As the part of FLUKA interfaced with GEANT does not contain the treatment for low energy neutrons (E < kin

50 MeV), the routines of GHEISHA are called for them. All the other hadrons are handled by FLUKA.

                    +--------------------------------+
                    |CALL FLUFIN  |
                    +--------------------------------+
                                  

FLUFIN handles the current GEANT particle to the FLUKA shower generation routines. The information needed is the type, the momentum, the kinetic energy, the direction cosines and the mass of the particle. The particle type has to be converted from the GEANT numbering system to the one of FLUKA. On each call, the information of the current GEANT material is passed into the corresponding arrays of FLUKA. The values that will be needed in FLUKA are the GEANT material number, the atomic weight, the atomic number and the density. In addition to these, the names of the materials and the information that the natural isotope is used are passed. Only the first elements of the arrays of FLUKA are used to avoid restrictions that the size of the arrays might have on the numbering of GEANT materials. FLUFIN chooses either the elastic or the inelastic interaction according to the cross sections calculated in FLDIST. It calls FLUKA's hadronic interaction routines and in the end, inserts the final state particles back to the GEANT stack. For low energy neutrons (E < 50 MeV), the routines of kin GHEISHA are called. FLUFIN is called by the user routine GUHADR. Again it can be convenient to have GUHADR coded in the following way:

      SUBROUTINE GUHADR
C.
C.    ******************************************************************
C.    *                                                                *
C.    *       User routine to generate one hadronic interaction        *
C.    *                                                                *
C.    *    ==>Called by : GTHADR,GTNEUT                                *
C.    *                                                                *
C.    ******************************************************************
C.
+SEQ,GCPHYS.
C.
C.    ------------------------------------------------------------------
C.
      IF (IHADR.NE.4) THEN
         CALL GHEISH
      ELSE
         CALL FLUFIN
      END IF
      END

In this case the flag HADR should be set to 4 if FLUKA is to be used.

If elastic interaction is chosen, FLUFIN calls the routine NUCREL. If the target is hydrogen and the projectile is a nucleon with the kinetic energy below 3.5 GeV, it will undergo a coherent scattering and the new direction is sampled according to the Hetkfa2/Bertini parametrization [bib-MOH1] taking into account the two-body kinematics and proton recoil. In other cases different parametrizations for the differential elastic cross sections are used. In addition, the cross sections for heavy ions can be calculated. After the collision the recoil energy of the target is calculated and it will be deposited.

If inelastic interaction is chosen, FLUFIN calls the event generator EVENTV. It consists of two models. For a projectile with the momentum below 5 GeV/c a resonance production model is used [bib-HAEN], [bib-HAE1]. The hadronic shower caused by a projectile with the momentum above 5 GeV/c is generated according to the multi-chain fragmentation model [bib-CAPE], [bib-CAP1], [bib-RANF]. The fragmentation of the generated parton shower is done according to Monte Carlo chain decay model developed by J. Ranft and S. Ritter [bib-RITT], [bib-RIT1], [bib-RIT2].

If the momentum of the incoming particle is below 5 GeV/c, the particle will be treated according to the low energy model (NUCRIV, HADRIN). The number of interactions inside the nucleus is sampled. A neutron or a proton is chosen as a target. If the kinetic energy is below a certain threshold, - - pi and K will be stopped in the nucleus and the total energy is used for cascade and excitation (nuclear evaporation and gamma production) and antibaryons will annihilate. Before the primary hadron-nucleon collision is simulated, the energy left for protons and neutrons of the intranuclear cascade and the excitation energy are calculated. Some of the collisions are peripheral. In particle production low energy model uses known cross sections to construct resonances which decay through known decay channels. All the cross sections that contribute more than 2% to the total cross section and all the decay channels that contribute more than 1% are taken into account. The energy left after hadron-nucleon collision is used in the intranuclear cascade and excitation. In the cascade, nucleons are emitted till all the energy is used. The remaining energy, which is not enough for nuclear emission, is given to the excitation processes.

The incoming particle with momentum above 5 GeV/c is treated according to the high-energy model (NUCEVV, HADDEV). First, the number of intranuclear interactions is sampled for materials heavier than hydrogen. The amount of energy needed for the intranuclear cascade is decided before the primary interaction, and intranuclear interactions are performed and the cascade secondaries are generated. In the high-energy part diffractive events are also possible forming some 20% of the high energy events. If there is still enough energy left after the intranuclear cascade calculation, the particle has a high energy interaction with the nucleus, according to the multi-chain fragmentation model. A two-chain parton system is formed for each interaction between quarks of the projectile and the target nucleus. The first collision occurs between the valence quarks, the others between quark-antiquark pairs of the parton sea of the projectile and valence quarks of target nucleons. The chains are hadronized accroding to the Monte Carlo chain-decay model. Each chain conserves quantum numbers, energy and momentum.

The excitation energy of the residual nucleus is calculated during the process. This energy is used for nuclear evaporation (an adapted version of Evap-5 module is used) and gamma production.