5 * Revision 1.1.1.1 1995/10/24 10:21:15 cernlib
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani
14 C *** GENERATION OF PHOTO-FISSION AND PHOTO-ABSORBTION MECHANISMS ***
15 C *** HMF 25-AUG-1989 RWTH AACHEN / NVE 11-MAY-1990 CERN GENEVA ***
18 C ORIGIN : H.FESEFELDT (ROUTINE IPFISS)
20 #include "geant321/gcbank.inc"
21 #include "geant321/gcjloc.inc"
22 #include "geant321/gcmulo.inc"
23 #include "geant321/gcphys.inc"
24 #include "geant321/gcking.inc"
25 #include "geant321/gckine.inc"
26 #include "geant321/gconsp.inc"
27 #include "geant321/gctrak.inc"
28 #include "geant321/gsecti.inc"
30 DIMENSION RNDM(3),SPNEUT(10)
40 DESTEP = DESTEP + GETOT
48 STEPAB = (1.-GEKRAT)* Q(JPFIS+NEK1+IEKBIN)
49 + + GEKRAT * Q(JPFIS+NEK1+IEKBIN+1)
51 IF(RNDM(1).LT.STEPPF/STEPAB) GOTO 10
60 GKIN(4,1) = Q(JPA+7) - 0.002*LOG(RNDM(1))
62 SINT = SQRT(1.-COST*COST)
64 PPHMF = GKIN(4,1)**2-Q(JPA+7)**2
65 IF(PPHMF.LT.0.) PPHMF=0.
67 GKIN(1,1) = PPHMF*SINT*SIN(PHI)
68 GKIN(2,1) = PPHMF*SINT*COS(PHI)
69 GKIN(3,1) = PPHMF*COST
82 SPNEUT(1) = EXP(-XX/0.965)*(EXP(XXX)-EXP(-XXX))/2.
86 11 SPNEUT(I) = SPNEUT(I-1)+EXP(-XX/0.965)*(EXP(XXX)-EXP(-XXX))/2.
88 12 SPNEUT(I) = SPNEUT(I)/SPNEUT(10)
92 GKIN(1,1) = VECT(4)*VECT(7)
93 GKIN(2,1) = VECT(5)*VECT(7)
94 GKIN(3,1) = VECT(6)*VECT(7)
102 C NUMBER OF NEUTRONS AND PHOTONS
105 IF ( EKHMF.LT.1.) EKHMF=1.
106 AVERN = 2.569+0.559*LOG(EKHMF)
107 AVERG = 0.500+0.600*LOG(EKHMF)
109 NN = IFIX(AVERN+RAN*1.23+0.5)
111 NG = IFIX(AVERG+RAN*3.00+0.5)
115 C DISTRIBUTE KINETIC ENERGY
120 C --- Protect against stack overflow ---
121 IF (NGKINE .GE. MXGKIN) GO TO 31
125 IF(RNDM(1).LT.SPNEUT(J)) GOTO 22
128 22 CALL GRNDM(RNDM,1)
129 GKIN(4,NGKINE) = (J-1)*1. + RNDM(1) + Q(JPA+7)*1000.
132 GPOS(1,NGKINE) = VECT(1)
133 GPOS(2,NGKINE) = VECT(2)
134 GPOS(3,NGKINE) = VECT(3)
138 C --- Protect against stack overflow ---
139 IF (NGKINE .GE. MXGKIN) GO TO 31
142 GKIN(4,NGKINE) = -0.87*LOG(RNDM(1))
145 TOFD(NGKINE) = -25.E-9*LOG(RNDM(1))
146 GPOS(1,NGKINE) = VECT(1)
147 GPOS(2,NGKINE) = VECT(2)
148 GPOS(3,NGKINE) = VECT(3)
151 C --- GO BACK TO GEV UNITS ---
154 GKIN(4,I)=GKIN(4,I)*1E-3
157 C DISTRIBUTE DIRECTIONS ISOTROPICALLY IN LAB- SYSTEM
161 COST = -1.+2.*RNDM(1)
162 SINT = SQRT(1.-COST*COST)
165 IF (GKIN(5,I).LT.1.5) THEN
168 PPHMF = GKIN(4,I)**2 - Q(JPA+7)**2
169 IF(PPHMF.LT.0.) PPHMF=0.
172 GKIN(1,I) = PPHMF*SINT*SIN(PHI)
173 GKIN(2,I) = PPHMF*SINT*COS(PHI)
174 GKIN(3,I) = PPHMF*COST
181 JPA = LQ(JPART-IPART)
183 NAPART(J) = IQ(JPA+J)