5 * Revision 1.1.1.1 1995/10/24 10:21:01 cernlib
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/02 29/03/94 15.41.39 by S.Giani
12 SUBROUTINE CASK0B(K,INT,NFL)
14 C *** CASCADE OF ANTI K0 ***
15 C *** NVE 04-MAY-1988 CERN GENEVA ***
17 C ORIGIN : H.FESEFELDT (13-SEP-1987)
19 C K0B 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(7) ---
50 IF (KGINIT(7) .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
76 IF(NT.LE.0.OR.NT.GT.60) GOTO 1
77 PMUL(1,L)=PMLTPC(NP,NM,NZ,NT,B(1),C)
78 ANORM(1,NT)=ANORM(1,NT)+PMUL(1,L)
94 IF(NT.LE.0.OR.NT.GT.60) GOTO 2
95 PMUL(2,L)=PMLTPC(NP,NM,NZ,NT,B(2),C)
96 ANORM(2,NT)=ANORM(2,NT)+PMUL(2,L)
99 IF(ANORM(1,I).GT.0.) ANORM(1,I)=1./ANORM(1,I)
100 IF(ANORM(2,I).GT.0.) ANORM(2,I)=1./ANORM(2,I)
102 IF(.NOT.NPRT(10)) GOTO 10
105 WRITE(NEWBCD,2002) NFL
106 WRITE(NEWBCD,2003) (ANORM(NFL,I),I=1,60)
107 WRITE(NEWBCD,2003) (PMUL(NFL,I),I=1,1200)
109 C** CHOOSE PROTON OR NEUTRON AS TARGET
112 IF(RNDM(1).LT.ZNO2/ATNO2) NFL=1
114 IF (NFL .EQ. 2) TARMAS=RMASS(16)
115 S=AMASQ+TARMAS**2+2.0*TARMAS*EN
117 ENP(8)=AMASQ+TARMAS**2+2.0*TARMAS*ENP(6)
119 EAB=RS-TARMAS-ABS(RMASS(12))
121 C** ELASTIC SCATTERING
128 IF(NFL.EQ.2) IPA(2)=16
131 C** CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE ONE EXTRA PION IN REACT.
132 20 IPLAB=IFIX(P*5.)+1
133 IF(IPLAB.GT.10) GOTO 22
135 IF(RNDM(1).LT.CECH(IPLAB)) GOTO 19
136 IF (EAB .LT. RMASS(7)) GOTO 55
138 C** CHARGE EXCHANGE REACTION (IS INCLUDED IN INELASTIC CROSS SECTION)
139 19 IPLAB=IFIX(P*10.)+1
140 IF(IPLAB.GT.20) IPLAB=20
142 IF(RNDM(1).GT.CNK0(IPLAB)) GOTO 24
144 C** FOR K0B P REACTION NO K N STRANGENESS EXCHANGE POSSIBLE
153 C** P L, P S REACTIONS
154 24 CALL GRNDM(RNDM,1)
156 IF(RAN.LT.0.25) GOTO 25
157 IF(RAN.LT.0.50) GOTO 26
158 IF(RAN.LT.0.75) GOTO 27
159 C** K0B P --> PI+ L OR K0B N --> PI0 L
161 IF(NFL.EQ.2) IPA(1)=8
167 IF(NFL.EQ.2) GOTO 100
171 C** K0B P --> PI+ S0 OR K0B N --> PI0 S0
173 IF(NFL.EQ.2) IPA(1)=8
179 IF(NFL.EQ.2) GOTO 100
185 C** NO. OF TOTAL PARTICLES VS SQRT(S)-2*MP
186 N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB
187 * +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB
189 C** NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION
192 TEST=-(PI/4.0)*(NT/N)**2
193 IF (TEST .LT. EXPXL) TEST=EXPXL
194 IF (TEST .GT. EXPXU) TEST=EXPXU
199 IF (DUM2 .GE. 1) ADDNVE=DUM1*DUM3
200 IF ((DUM2 .LT. 1) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3
220 IF(L.GT.1200) GOTO 31
222 IF(NT.LE.0.OR.NT.GT.60) GOTO 31
223 TEST=-(PI/4.0)*(NT/N)**2
224 IF (TEST .LT. EXPXL) TEST=EXPXL
225 IF (TEST .GT. EXPXU) TEST=EXPXU
226 DUM1=ANPN*PI*NT*PMUL(1,L)*ANORM(1,NT)/(2.0*N*N)
230 IF (DUM2 .GE. 1) ADDNVE=DUM1*DUM3
231 IF ((DUM2 .LT. 1) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3
233 IF(RAN.LT.EXCS) GOTO 50
248 IF(L.GT.1200) GOTO 41
250 IF(NT.LE.0.OR.NT.GT.60) GOTO 41
251 TEST=-(PI/4.0)*(NT/N)**2
252 IF (TEST .LT. EXPXL) TEST=EXPXL
253 IF (TEST .GT. EXPXU) TEST=EXPXU
254 DUM1=ANPN*PI*NT*PMUL(2,L)*ANORM(2,NT)/(2.0*N*N)
258 IF (DUM2 .GE. 1) ADDNVE=DUM1*DUM3
259 IF ((DUM2 .LT. 1) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3
261 IF(RAN.LT.EXCS) GOTO 50
265 60 IF(NP.EQ.NM) GOTO 61
266 IF(NP.EQ.1+NM) GOTO 63
270 61 CALL GRNDM(RNDM,1)
271 IF(RNDM(1).LT.0.75) GOTO 62
281 65 IF(NP.EQ.1+NM) GOTO 66
286 66 CALL GRNDM(RNDM,1)
287 IF(RNDM(1).LT.0.50) GOTO 67
296 C** PI Y PRODUCTION INSTEAD OF K N
297 90 CALL GRNDM(RNDM,1)
298 IF(RNDM(1).LT.0.5) GOTO 100
299 IF(IPA(1).EQ.13.AND.IPA(2).EQ.16) GOTO 95
300 IF(IPA(1).EQ.11.AND.IPA(2).EQ.14) GOTO 95
301 IF(IPA(1).EQ.12.AND.IPA(2).EQ.14) GOTO 95
305 IF(RAN.LT.PIY1(I)) GOTO 92
311 95 CALL GRNDM(RNDM,1)
314 IF(RAN.LT.PIY2(I)) GOTO 97
317 97 IF(IPA(2).EQ.14) GOTO 98
325 *WRITE(NEWBCD,1003) EAB,N,NFL,NP,NM,NZ
327 IF(INT.EQ.1) CALL TWOB(12,NFL,N)
328 IF(INT.EQ.2) CALL GENXPT(12,NFL,N)
330 C** NUCLEAR EXCITATION
334 C** EXCLUSIVE REACTION NOT FOUND
336 *WRITE(NEWBCD,1004) RS,N
344 IF(NFL.EQ.2) IPA(2)=16
347 IF(INT.LE.0) GOTO 131
353 122 IF(NM.EQ.0) GOTO 124
357 124 IF(NZ.EQ.0) GOTO 130
362 *WRITE(NEWBCD,2004) NT,(IPA(I),I=1,20)
364 IF(IPA(I).NE.12) GOTO 132
366 IF(RNDM(1).LT.0.5) GOTO 132
373 1001 FORMAT('0*CASK0B* CASCADE ENERGETICALLY NOT POSSIBLE',
374 $ ' CONTINUE WITH QUASI-ELASTIC SCATTERING')
375 1003 FORMAT(' *CASK0B* K0B -INDUCED CASCADE,',
376 $ ' AVAIL. ENERGY',2X,F8.4,
377 $ 2X,'<NTOT>',2X,F8.4,2X,'FROM',4(2X,I3),2X,'PARTICLES')
378 1004 FORMAT(' *CASK0B* K0B -INDUCED CASCADE,',
379 $ ' EXCLUSIVE REACTION NOT FOUND',
380 $ ' TRY ELASTIC SCATTERING AVAIL. ENERGY',2X,F8.4,2X,
382 2001 FORMAT('0*CASK0B* TABLES FOR MULT. DATA K0B INDUCED REACTION',
383 $ ' FOR DEFINITION OF NUMBERS SEE FORTRAN CODING')
384 2002 FORMAT(' *CASK0B* TARGET PARTICLE FLAG',2X,I5)
385 2003 FORMAT(1H ,10E12.4)
386 2004 FORMAT(' *CASK0B* ',I3,2X,'PARTICLES , MASS INDEX ARRAY',2X,20I4)
387 2005 FORMAT(' *CASK0B* NO PARTICLES PRODUCED')