#include "geant321/gcbank.inc"
#include "geant321/gccuts.inc"
#include "geant321/gcjloc.inc"
#include "geant321/gconsp.inc"
#include "geant321/gcphys.inc"
#include "geant321/gcstak.inc"
#include "geant321/gctmed.inc"
#include "geant321/gcmulo.inc"
#include "geant321/gctrak.inc"
#include "geant321/gcunit.inc"
Go to the source code of this file.
◆ gtgama()
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
Definition at line 3 of file geant3/src/gtgama.F.
   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
    28       parameter(one=1,zero=0)
    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   150             vectmp  = vect(i) +step*vect(i+3)
   151             IF(vectmp.EQ.vect(i)) 
THEN   155                IF(vect(i+3).NE.0.) 
THEN   156                   vectmp = vect(i)+abs(vect(i))*sign(1.,vect(i+3))*
   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)
   178             vect(i)  = vect(i) +step*vect(i+3)
   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