This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / GEANT321 / gheisha / fissio.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.1  1995/10/24 10:20:58  cernlib
6 * Geant
7 *
8 *
9 #include "geant321/pilot.h"
10 *CMZ :  3.21/02 29/03/94  15.41.38  by  S.Giani
11 *-- Author :
12       FUNCTION FISSIO(EK1)
13 C
14 C *** GENERATION OF PHOTONS AND NEUTRONS BY FISSION ***
15 C *** NVE 04-MAR-1988 CERN GENEVA ***
16 C
17 C ORIGIN : H.FESEFELDT (21-MAR-1987)
18 C
19 C THE PHYSICS IS BASED ON U(238)
20 C FOR OTHER MATERIALS EXTRAPOLATIONS ARE USED
21 C
22 #include "geant321/s_defcom.inc"
23 #include "geant321/s_kginit.inc"
24 C
25       DIMENSION SPNEUT(10)
26       DIMENSION RNDM(2)
27       SAVE SPNEUT
28       DATA SPNEUT/10*0./
29 C
30 C --- INITIALIZATION INDICATED BY KGINIT(15) ---
31       IF (KGINIT(15) .NE. 0) GO TO 10
32       KGINIT(15)=1
33 C
34       XX=1.-0.5
35       XXX=SQRT(2.29*XX)
36       SPNEUT(1)=EXP(-XX/0.965)*(EXP(XXX)-EXP(-XXX))/2.
37       DO 1 I=2,10
38       XX=I*1.-0.5
39       XXX=SQRT(2.29*XX)
40     1 SPNEUT(I)=SPNEUT(I-1)+EXP(-XX/0.965)*(EXP(XXX)-EXP(-XXX))/2.
41       DO 2 I=1,10
42     2 SPNEUT(I)=SPNEUT(I)/SPNEUT(10)
43 C** IN THIS ROUTINE WE USE MEV AS UNIT FOR ENERGY AND MOMENTUM
44    10 NT=0
45       IER(82)=IER(82)+1
46       ND=IND+1
47       PV( 1,MXGKPV)=PX*P
48       PV( 2,MXGKPV)=PY*P
49       PV( 3,MXGKPV)=PZ*P
50       PV( 4,MXGKPV)=EN
51       PV( 5,MXGKPV)=ABS(AMAS)
52       PV( 6,MXGKPV)=NCH
53       PV( 7,MXGKPV)=TOF
54       PV( 8,MXGKPV)=IPART
55       PV( 9,MXGKPV)=0.
56       PV(10,MXGKPV)=USERW
57       PV( 1,MXGKPV-1)=0.
58       PV( 2,MXGKPV-1)=0.
59       PV( 3,MXGKPV-1)=0.
60       PV( 4,MXGKPV-1)=ATOMAS(ATNO(ND),ZNO(ND))
61       PV( 5,MXGKPV-1)=PV(4,MXGKPV-1)
62       PV( 6,MXGKPV-1)=ZNO(ND)
63       PV( 7,MXGKPV-1)=TOF
64       PV( 8,MXGKPV-1)=0.
65       PV( 9,MXGKPV-1)=0.
66       PV(10,MXGKPV-1)=0.
67       CALL ADD(MXGKPV,MXGKPV-1,MXGKPV-2)
68       PV(1,MXGKPV-2)=-PV(1,MXGKPV-2)
69       PV(2,MXGKPV-2)=-PV(2,MXGKPV-2)
70       PV(3,MXGKPV-2)=-PV(3,MXGKPV-2)
71 C** NUMBER OF NEUTRONS AND PHOTONS
72       FISSIO=0.
73       E1=EK1*1000.
74       IF(E1.LT.1.0) E1=1.0
75       AVERN=2.569+0.559*LOG(E1)
76 C**   TAKE THE FOLLOWING VALUE IF PHOTOFISSION IS NOT INCLUDED
77       IF(IFIX(PARMAT(IND+1,8)).EQ.0)
78      *AVERN=2.569+0.900*LOG(E1)
79       AVERG=9.500+0.600*LOG(E1)
80       CALL NORMAL(RAN)
81       NN=IFIX(AVERN+RAN*1.23+0.5)
82       CALL NORMAL(RAN)
83       NG=IFIX(AVERG+RAN*3.+0.5)
84       IF(NN.LT.1) NN=1
85       IF(NG.LT.1) NG=1
86       EXN=0.
87       EXG=0.
88 C** DISTRIBUTE KINETIC ENERGY
89       DO 15 I=1,NN
90       CALL GRNDM(RNDM,1)
91       RAN=RNDM(1)
92       DO 11 J=1,10
93       IF(RAN.LT.SPNEUT(J)) GOTO 12
94    11 CONTINUE
95       J=10
96    12 CALL GRNDM(RNDM,1)
97       EKIN=(J-1)*1.+RNDM(1)
98       EXN=EXN+EKIN
99       PV(4,I)=EKIN+RMASS(16)*1000.
100       PV(5,I)=RMASS(16)*1000.
101       PV(6,I)=0.
102 C** EMISSION TIME FOR NEUTRONS =0.
103       PV(7,I)=TOF
104       PV(8,I)=16.
105       PV(9,I)=0.
106       PV(10,I)=0.
107    15 CONTINUE
108       NT=NN
109       DO 20 I=1,NG
110       CALL GRNDM(RNDM,1)
111       RAN=RNDM(1)
112       NT=NT+1
113       PV(4,NT)=-0.87*LOG(RAN)
114       EXG=EXG+PV(4,NT)
115       PV(5,NT)=0.
116       PV(6,NT)=0.
117 C     RAN=RNDM(1)
118 C** EMISSION TIME FOR PHOTONS= 2.5 E-8 SEC
119 C     PV(7,NT)=TOF-500.*LOG(RAN)
120 C** CHANGED 30.7.85
121       PV(7,NT)=TOF
122       PV(8,NT)=1.
123       PV(9,NT)=0.
124       PV(10,NT)=0.
125    20 CONTINUE
126       IF(NT.EQ.0) GO TO 9999
127       EX=EXN+EXG
128       IF(NPRT(4))
129      *WRITE(NEWBCD,2000) ATNO(IND+1),NN,NG,EX
130       FISSIO=EX/1000.
131       DO 49 I=1,NT
132       PV(5,I)=PV(5,I)/1000.
133       PV(4,I)=PV(4,I)/1000.
134       CALL GRNDM(RNDM,2)
135       COST=-1.+2.*RNDM(1)
136       SINT=SQRT(ABS(1.-COST*COST))
137       PHI=RNDM(2)*TWPI
138       PP=SQRT(ABS(PV(4,I)**2-PV(5,I)**2))
139       PV(1,I)=PP*SINT*SIN(PHI)
140       PV(2,I)=PP*SINT*COS(PHI)
141       PV(3,I)=PP*COST
142       CALL LOR(I,MXGKPV-2,I)
143    49 CONTINUE
144       INTCT=INTCT+1.
145       DO 50 I=1,NT
146       IF(NTOT.LT.NSIZE/12) GOTO 43
147       IER(39)=IER(39)+1
148       GO TO 9999
149    43 CALL SETTRK(I)
150    50 CONTINUE
151 C
152  2000 FORMAT(1H ,'NUCLEAR FISSION ON MATERIAL ',F6.1,
153      *', NEUTRONS, PHOTONS PRODUCED= ',2I3,' WITH ',F8.4,' MEV TOTAL ENE
154      *RGY')
155 C
156  9999 CONTINUE
157       END