#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