Bug 2097 Notes

Hadrons and heavy ions are dispatched to the hadronic response package using the GuHadr subroutine. Note that (1) particles with geant ID > 48 are not dispatched, and (2) user has an option to specify a custom hadronic response package.
Hadrons dispatched to routines which are located herein the specified files.  Potential initialization calls are highlighted in RED.
 
starsim/geant/gheish.F
0104 |       DATA IDEOL/0/
0105 | C                                                                                                       
0106 | C --- INITIALIZE RELEVANT GHEISHA VARIABLES IN CASE NOT DONE ALREADY ---                                
0107 |       IF (IFINIT(4) .EQ. 0) CALL GHEINI
0108 | C                                                                                                       
0109 | C --- SET THE INTERACTION MECHANISM TO "HADR" ---                                                       
0110 |       KCASE=NAMEC(12)

starsim/geant/flufin.F
0137 |       IF ((IGF.EQ.1).OR.
0138 |      +      (GEKIN.EQ.0..AND.ITRTYP.EQ.3.AND.IPART.NE.25)) THEN
0139 |          CALL GHEISH
0140 |          IGF = 0
0141 |          GOTO 999
0142 |       ELSE IF (GEKIN.EQ.0..AND.
0143 |      +   (IPART.EQ.8.OR.IPART.EQ.12.OR.IPART.EQ.11.OR.IPART.EQ.23)) THEN
0144 |          CALL GDECAY
0145 |          NMEC=NMEC+1
0146 |          LMEC(NMEC)=5
0147 |          ISTOP=1
0148 |          GOTO 999
0149 |       ENDIF
0150 |       IF (IFINIT(5) .EQ. 0) CALL FLINIT

starsim/geant/gfmfin.F

0076 |       IF (IGF.EQ.2.OR.(GEKIN.EQ.0.0.AND.IPART.EQ.13)) THEN
0077 |          IF (GEKIN.LT.CUTNEU) THEN
0078 |             GEKIN = MAX(GEKIN,1E-14)
0079 | * should kinetic energy be deposited?                                                                                             
0080 |             ISTOP = 2
0081 |             IGF = 0
0082 |             GOTO 110
0083 |          ENDIF
0084 |          CALL GMICAP
0085 |          IGF = 0
0086 |          GOTO 110
0087 |       ELSE IF (GEKIN.EQ.0..AND.
0088 |      +        (IPART.EQ.8.OR.IPART.EQ.12.OR.IPART.EQ.11)) THEN
0089 |          CALL GDECAY
0090 |          NMEC=NMEC+1
0091 |          LMEC(NMEC)=5
0092 |          ISTOP=1
0093 |          GOTO 999
0094 |       ENDIF
0095 | *                                                                                                                                 
0096 |       IF (IFINIT(5) .EQ. 0) CALL FLINIT

starsim/geant/gcalor.F
0114 |       DATA INIT /.TRUE./
0115 |       SAVE INIT
0116 | C                                                                                                                                 
0117 |       IF ( INIT ) THEN
0118 | C                                                                                                                                 
0119 | C     initialize CALOR                                                                                                            
0120 |          CALL CALINI
0121 |          print *,'*     GCALOR started with MXGKIN,MXCP = ',
0122 |      >                                      MXGKIN,MXCP,'     *'
0123 | C                                                                                                                                 
0124 |          INIT = .FALSE.
0125 | C                                                                                                                                 
0126 |       ENDIF
0127 |
0128 | * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                                                                     
0129 | C     geant  message - NDONE positive                                                                                             
0130 | C     guhadr message - NREST positive                                                                                             
0131 | *                                                                                                                                 
0132 |       IF (NDONE.GT.0 .AND. NREST.GT.0) then
0133 | *  not all particles produced by hadronic interaction are transfered to GEANT                                                     
0134 |         if (IDEBUG.gt.0) then
0135 |            print *,' GCALOR: NPHETC,NGKINE,NDONE,NREST,KCALL,CASE = ',
0136 |      >               NPHETC,NGKINE,NDONE,NREST,KCALL,' ',CASE
0137 |            print *,' Ipart,Ipinc,Vect=',Ipart,Ipinc,Vect
0138 |         endif
0139 |         if (KCALL.eq.3) then
0140 |            CALL FLUFIN
0141 |            return
0142 |         endif
0143 |         go to 181
0144 |       endif

....and possible other initialization points below.