14 #include "geant321/gcbank.inc" 
   15 #include "geant321/gccuts.inc" 
   16 #include "geant321/gcjloc.inc" 
   17 #include "geant321/gconsp.inc" 
   18 #include "geant321/gcphys.inc" 
   19 #include "geant321/gcstak.inc" 
   20 #include "geant321/gctmed.inc" 
   21 #include "geant321/gcmulo.inc" 
   22 #include "geant321/gctrak.inc" 
   23 #include "geant321/gcunit.inc" 
   25       parameter(epsmac=1.
e-6)
 
   26       DOUBLE PRECISION one,xcoef1,xcoef2,xcoef3,
zero 
   29       parameter(epcut=1.022
e-3)
 
   39       IF (gekin.LE.cutgam) goto 998
 
   60       IF (getot.GT.epcut) 
THEN 
   62             steppa = gekrt1*q(jpair+iekbin) +gekrat*q(jpair+iekbin+1)
 
   64             IF (spair.LT.step) 
THEN 
   74          stepco = gekrt1*q(jcomp+iekbin) +gekrat*q(jcomp+iekbin+1)
 
   76          IF (scomp.LT.step) 
THEN 
   84       IF (gekin.LT.0.4) 
THEN 
   86             stepph = gekrt1*q(jphot+iekbin) +gekrat*q(jphot+iekbin+1)
 
   88             IF (sphot.LT.step) 
THEN 
   98          steppf = gekrt1*q(jpfis+iekbin) +gekrat*q(jpfis+iekbin+1)
 
  100          IF (spfis.LT.step) 
THEN 
  109          IF (gekin.LT.0.01) 
THEN 
  110             stepra = gekrt1*q(jrayl+iekbin) +gekrat*q(jrayl+iekbin+1)
 
  111             srayl  = stepra*zintra
 
  112             IF (srayl.LT.step) 
THEN 
  119       IF (step.LT.0.) step = 0.
 
  123       IF (step.GE.safety) 
THEN 
  125          IF (ignext.NE.0) 
THEN 
  134          IF (iq(jstak+3).NE.0) 
THEN 
  135             DO 10 ist = iq(jstak+3),iq(jstak+1)
 
  136                jst = jstak +3 +(ist-1)*nwstak
 
  148       IF (inwvol.EQ.2) 
THEN 
  151             IF(vectmp.EQ.
vect(i)) 
THEN 
  155                IF(
vect(i+3).NE.0.) 
THEN 
  159                      IF(lmec(nmec).EQ.104) nmec=nmec-1
 
  166                   WRITE(chmail, 10100) gekin, numed, step, snext
 
  168 10000 
FORMAT(
' Boundary correction in GTGAMA: ',
 
  169      +       
'    GEKIN      NUMED       STEP      SNEXT')
 
  170 10100 
FORMAT(31
x,e10.3,1
x,i10,1
x,e10.3,1
x,e10.3,1
x)
 
  186       tofg = tofg +step/clight
 
  190       IF (getot.GT.epcut) 
THEN 
  191          IF (ipair.GT.0) zintpa = zintpa -step/steppa
 
  193       IF (icomp.GT.0)    zintco = zintco -step/stepco
 
  194       IF (gekin.LT.0.4) 
THEN 
  195          IF (iphot.GT.0) zintph = zintph -step/stepph
 
  197       IF (jpfis.GT.0)    zintpf = zintpf -step/steppf
 
  199          IF (gekin.LT.0.01) zintra = zintra -step/stepra
 
  202       IF (iproc.EQ.0) go to 999
 
  213       ELSE IF (iproc.EQ.7) 
THEN 
  218       ELSE IF (iproc.EQ.8) 
THEN 
  220         IF ((iaban.NE.0).AND.(gekin.LE.0.001))  
THEN 
  223          IF(gekrat.LT.0.7) 
THEN 
  226             i1 = min(iekbin,nekbin-1)
 
  230          xcoef2 = q(jcoef+i1+1)
 
  231          xcoef3 = q(jcoef+i1+2)
 
  232          IF(xcoef1.NE.0.) 
THEN 
  233             stopmx = -xcoef2+sign(
one,xcoef1)*
sqrt(xcoef2**2 - (xcoef3-
 
  236             stopmx = - (xcoef3-gekin)/xcoef2
 
  242          IF (stopmx.LE.safety) goto 998
 
  249       ELSE IF (iproc.EQ.25) 
THEN 
  254       ELSE IF (iproc.EQ.23) 
THEN 
G4int nint(G4double number)
 
static c2_sqrt_p< float_type > & sqrt()
make a *new object