5 * Revision 1.1.1.1 1995/10/24 10:21:00 cernlib
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/02 29/03/94 15.41.39 by S.Giani
12 SUBROUTINE CASKM(K,INT,NFL)
14 C *** CASCADE OF K- ***
15 C *** NVE 04-MAY-1988 CERN GENEVA ***
17 C ORIGIN : H.FESEFELDT (13-SEP-1987)
19 C K- UNDERGOES INTERACTION WITH NUCLEON WITHIN NUCLEUS.
20 C CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE PIONS/KAONS.
21 C IF NOT ASSUME NUCLEAR EXCITATION OCCURS AND INPUT PARTICLE
22 C IS DEGRADED IN ENERGY. NO OTHER PARTICLES PRODUCED.
23 C IF REACTION IS POSSIBLE FIND CORRECT NUMBER OF PIONS/PROTONS/
24 C NEUTRONS PRODUCED USING AN INTERPOLATION TO MULTIPLICITY DATA.
25 C REPLACE SOME PIONS OR PROTONS/NEUTRONS BY KAONS OR STRANGE BARYONS
26 C ACCORDING TO AVERAGE MULTIPLICITY PER INELASTIC REACTIONS.
28 #include "geant321/mxgkgh.inc"
29 #include "geant321/s_consts.inc"
30 #include "geant321/s_curpar.inc"
31 #include "geant321/s_result.inc"
32 #include "geant321/s_prntfl.inc"
33 #include "geant321/s_kginit.inc"
34 #include "geant321/limits.inc"
37 DIMENSION PMUL(2,1200),ANORM(2,60),CECH(10),CNK0(20),PIY1(4),
38 $ PIY2(3),IPIY1(2,4),IPIY2(2,3),IPIY3(2,3),B(2)
41 DATA CECH/1.,1.,1.,0.70,0.60,0.55,0.35,0.25,0.18,0.15/
42 DATA CNK0/0.17,0.18,0.17,0.24,0.26,0.20,0.22,0.21,0.34,0.45
43 $ ,0.58,0.55,0.36,0.29,0.29,0.32,0.32,0.33,0.33,0.33/
44 DATA PIY1/0.67,0.78,0.89,1.00/,PIY2/0.68,0.84,1.00/
45 DATA IPIY1/8,18,9,20,8,21,7,22/
46 DATA IPIY2/9,18,9,21,8,22/,IPIY3/7,18,8,20,7,21/
47 DATA B/0.7,0.7/,C/1.25/
49 C --- INITIALIZATION INDICATED BY KGINIT(4) ---
50 IF (KGINIT(4) .NE. 0) GO TO 10
53 C --- INITIALIZE PMUL AND ANORM ARRAYS ---
57 IF (J .LE. 60) ANORM(I,J)=0.0
61 C** COMPUTE NORMALIZATION CONSTANTS
77 IF(NT.LE.0.OR.NT.GT.60) GOTO 1
78 PMUL(1,L)=PMLTPC(NP,NM,NZ,NT,B(1),C)
79 ANORM(1,NT)=ANORM(1,NT)+PMUL(1,L)
93 IF(NT.LE.0.OR.NT.GT.60) GOTO 2
94 PMUL(2,L)=PMLTPC(NP,NM,NZ,NT,B(2),C)
95 ANORM(2,NT)=ANORM(2,NT)+PMUL(2,L)
98 IF(ANORM(1,I).GT.0.) ANORM(1,I)=1./ANORM(1,I)
99 IF(ANORM(2,I).GT.0.) ANORM(2,I)=1./ANORM(2,I)
101 IF(.NOT.NPRT(10)) GOTO 10
104 WRITE(NEWBCD,2002) NFL
105 WRITE(NEWBCD,2003) (ANORM(NFL,I),I=1,60)
106 WRITE(NEWBCD,2003) (PMUL(NFL,I),I=1,1200)
108 C** CHOOSE PROTON OR NEUTRON AS TARGET
111 IF(RNDM(1).LT.ZNO2/ATNO2) NFL=1
113 IF (NFL .EQ. 2) TARMAS=RMASS(16)
114 S=AMASQ+TARMAS**2+2.0*TARMAS*EN
116 ENP(8)=AMASQ+TARMAS**2+2.0*TARMAS*ENP(6)
118 EAB=RS-TARMAS-RMASS(13)
120 C** ELASTIC SCATTERING
127 IF(NFL.EQ.2) IPA(2)=16
130 C** CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE ONE EXTRA PION IN REACT.
131 20 IPLAB=IFIX(P*5.)+1
132 IF(IPLAB.GT.10) GOTO 22
134 IF(RNDM(1).LT.CECH(IPLAB)) GOTO 19
135 IF (EAB .LT. RMASS(7)) GOTO 55
137 C** CHARGE EXCHANGE REACTION (IS INCLUDED IN INELASTIC CROSS SECTION)
138 19 IPLAB=IFIX(P*10.)+1
139 IF(IPLAB.GT.20) IPLAB=20
141 IF(RNDM(1).GT.CNK0(IPLAB)) GOTO 24
143 C** FOR K- N REACTION NO K N STRANGENESS EXCHANGE POSSIBLE
152 C** P L, P S REACTIONS
153 24 CALL GRNDM(RNDM,1)
155 IF(RAN.LT.0.25) GOTO 25
156 IF(RAN.LT.0.50) GOTO 26
157 IF(RAN.LT.0.75) GOTO 27
158 C** K- P --> PI0 L OR K- N --> PI- L
160 IF(NFL.EQ.2) IPA(1)=9
166 IF(NFL.EQ.1) GOTO 100
170 C** K- P --> PI0 S0 OR K- N --> PI- S0
172 IF(NFL.EQ.2) IPA(1)=9
175 C** K- P --> PI+ S- OR K- N --> PI0 S-
177 IF(NFL.EQ.2) IPA(1)=8
182 C** NO. OF TOTAL PARTICLES VS SQRT(S)-2*MP
183 N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB
184 * +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB
186 C** NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION
189 TEST=-(PI/4.0)*(NT/N)**2
190 IF (TEST .LT. EXPXL) TEST=EXPXL
191 IF (TEST .GT. EXPXU) TEST=EXPXU
196 IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3
197 IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3
218 IF(L.GT.1200) GOTO 31
220 IF(NT.LE.0.OR.NT.GT.60) GOTO 31
221 TEST=-(PI/4.0)*(NT/N)**2
222 IF (TEST .LT. EXPXL) TEST=EXPXL
223 IF (TEST .GT. EXPXU) TEST=EXPXU
224 DUM1=ANPN*PI*NT*PMUL(1,L)*ANORM(1,NT)/(2.0*N*N)
228 IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3
229 IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3
231 IF(RAN.LT.EXCS) GOTO 50
244 IF(L.GT.1200) GOTO 41
246 IF(NT.LE.0.OR.NT.GT.60) GOTO 41
247 TEST=-(PI/4.0)*(NT/N)**2
248 IF (TEST .LT. EXPXL) TEST=EXPXL
249 IF (TEST .GT. EXPXU) TEST=EXPXU
250 DUM1=ANPN*PI*NT*PMUL(2,L)*ANORM(2,NT)/(2.0*N*N)
254 IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3
255 IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3
257 IF(RAN.LT.EXCS) GOTO 50
261 60 IF(NP.EQ.NM) GOTO 61
262 IF(NP.EQ.1+NM) GOTO 63
266 61 CALL GRNDM(RNDM,1)
267 IF(RNDM(1).LT.0.75) GOTO 62
277 65 IF(NP.EQ.-1+NM) GOTO 66
282 66 CALL GRNDM(RNDM,1)
283 IF(RNDM(1).LT.0.50) GOTO 67
292 C** PI Y PRODUCTION INSTEAD OF K N
293 90 CALL GRNDM(RNDM,1)
294 IF(RNDM(1).LT.0.5) GOTO 100
295 IF(IPA(1).EQ.13.AND.IPA(2).EQ.16) GOTO 95
296 IF(IPA(1).EQ.11.AND.IPA(2).EQ.14) GOTO 95
297 IF(IPA(1).EQ.12.AND.IPA(2).EQ.14) GOTO 95
301 IF(RAN.LT.PIY1(I)) GOTO 92
307 95 CALL GRNDM(RNDM,1)
310 IF(RAN.LT.PIY2(I)) GOTO 97
313 97 IF(IPA(2).EQ.14) GOTO 98
321 *WRITE(NEWBCD,1003) EAB,N,NFL,NP,NM,NZ
323 IF(INT.EQ.1) CALL TWOB(13,NFL,N)
324 IF(INT.EQ.2) CALL GENXPT(13,NFL,N)
326 C** NUCLEAR EXCITATION
330 C** EXCLUSIVE REACTION NOT FOUND
332 *WRITE(NEWBCD,1004) RS,N
340 IF(NFL.EQ.2) IPA(2)=16
343 IF(INT.LE.0) GOTO 131
349 122 IF(NM.EQ.0) GOTO 124
353 124 IF(NZ.EQ.0) GOTO 130
358 *WRITE(NEWBCD,2004) NT,(IPA(I),I=1,20)
360 IF(IPA(I).NE.12) GOTO 132
362 IF(RNDM(1).LT.0.5) GOTO 132
369 1001 FORMAT('0*CASKM* CASCADE ENERGETICALLY NOT POSSIBLE',
370 $ ' CONTINUE WITH QUASI-ELASTIC SCATTERING')
371 1003 FORMAT(' *CASKM* KAON- -INDUCED CASCADE,',
372 $ ' AVAIL. ENERGY',2X,F8.4,
373 $ 2X,'<NTOT>',2X,F8.4,2X,'FROM',4(2X,I3),2X,'PARTICLES')
374 1004 FORMAT(' *CASKM* KAON- -INDUCED CASCADE,',
375 $ ' EXCLUSIVE REACTION NOT FOUND',
376 $ ' TRY ELASTIC SCATTERING AVAIL. ENERGY',2X,F8.4,2X,
378 2001 FORMAT('0*CASKM* TABLES FOR MULT. DATA KAON- INDUCED REACTION',
379 $ ' FOR DEFINITION OF NUMBERS SEE FORTRAN CODING')
380 2002 FORMAT(' *CASKM* TARGET PARTICLE FLAG',2X,I5)
381 2003 FORMAT(1H ,10E12.4)
382 2004 FORMAT(' *CASKM* ',I3,2X,'PARTICLES , MASS INDEX ARRAY',2X,20I4)
383 2005 FORMAT(' *CASKM* NO PARTICLES PRODUCED')