5 * Revision 1.1.1.1 1995/10/24 10:21:05 cernlib
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/02 29/03/94 15.41.40 by S.Giani
12 SUBROUTINE CASX0(K,INT,NFL)
14 C *** CASCADE OF XI0 ***
15 C *** NVE 20-JAN-1989 CERN GENEVA ***
17 C XI0 UNDERGOES INTERACTION WITH NUCLEON WITHIN NUCLEUS.
18 C CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE PIONS/KAONS.
19 C IF NOT, ASSUME NUCLEAR EXCITATION OCCURS, DEGRADE INPUT PARTICLE
20 C IN ENERGY AND NO OTHER PARTICLES ARE PRODUCED.
21 C IF REACTION IS POSSIBLE FIND CORRECT NUMBER OF PIONS/PROTONS/
22 C NEUTRONS PRODUCED USING AN INTERPOLATION TO MULTIPLICITY DATA.
23 C REPLACE SOME PIONS OR PROTONS/NEUTRONS BY KAONS OR STRANGE BARYONS
24 C ACCORDING TO AVERAGE MULTIPLICITY PER INELASTIC REACTIONS.
26 #include "geant321/mxgkgh.inc"
27 #include "geant321/s_consts.inc"
28 #include "geant321/s_curpar.inc"
29 #include "geant321/s_result.inc"
30 #include "geant321/s_prntfl.inc"
31 #include "geant321/s_kginit.inc"
32 #include "geant321/limits.inc"
35 DIMENSION PMUL(2,1200),ANORM(2,60),CECH(10),IIPA(12,2),B(2)
38 DATA CECH/0.50,0.45,0.40,0.35,0.30,0.25,0.06,0.04,0.005,0./
39 C --- ARRAY IIPA DENOTES THE STRANGENESS AND CHARGE EXCHAGE REACTIONS ---
40 C XI0 P --> S+ S0, XI0 P --> S0 S+
41 C XI0 P --> S+ L0, XI0 P --> L0 S+
45 C XI0 N --> XI- P, XI0 N --> P XI-
46 C XI0 N --> S+ S-, XI0 N --> S- S+
48 DATA IIPA/20,21,20,18,14, 21,18,27,14,20,22,16,
49 * 21,20,18,20,26, 21,18,14,27,22,20,26/
50 DATA B/0.7,0.7/,C/1.25/
52 C --- INITIALIZATION INDICATED BY KGINIT(20) ---
53 IF (KGINIT(20) .NE. 0) GO TO 10
56 C --- INITIALIZE PMUL AND ANORM ARRAYS ---
60 IF (J .LE. 60) ANORM(I,J)=0.0
64 C *** COMPUTE NORMALIZATION CONSTANTS ***
66 C --- FOR P TARGET ---
71 IF (NMM1 .LE. 0) NMM1=1
78 IF (L .GT. 1200) GO TO 1
80 IF ((NT .LE. 0) .OR. (NT .GT. 60)) GO TO 1
81 PMUL(1,L)=PMLTPC(NP,NM,NZ,NT,B(1),C)
82 ANORM(1,NT)=ANORM(1,NT)+PMUL(1,L)
84 C --- FOR N TARGET ---
89 IF (NMM1 .LE. 0) NMM1=1
96 IF (L .GT. 1200) GO TO 2
98 IF ((NT .LE. 0) .OR. (NT .GT. 60)) GO TO 2
99 PMUL(2,L)=PMLTPC(NP,NM,NZ,NT,B(2),C)
100 ANORM(2,NT)=ANORM(2,NT)+PMUL(2,L)
104 IF (ANORM(1,I) .GT. 0.) ANORM(1,I)=1./ANORM(1,I)
105 IF (ANORM(2,I) .GT. 0.) ANORM(2,I)=1./ANORM(2,I)
108 IF (.NOT. NPRT(10)) GO TO 10
111 2001 FORMAT('0*CASX0* TABLES FOR MULT. DATA XI0 INDUCED REACTION',
112 $ ' FOR DEFINITION OF NUMBERS SEE FORTRAN CODING')
114 WRITE(NEWBCD,2002) NFL
115 2002 FORMAT(' *CASX0* TARGET PARTICLE FLAG',2X,I5)
116 WRITE(NEWBCD,2003) (ANORM(NFL,I),I=1,60)
117 WRITE(NEWBCD,2003) (PMUL(NFL,I),I=1,1200)
118 2003 FORMAT(1H ,10E12.4)
121 C --- SELECT TARGET NUCLEON ---
125 IF (RNDM(1) .LT. (ZNO2/ATNO2)) NFL=1
127 IF (NFL .EQ. 2) TARMAS=RMASS(16)
128 S=AMASQ+TARMAS**2+2.0*TARMAS*EN
130 ENP(8)=AMASQ+TARMAS**2+2.0*TARMAS*ENP(6)
132 EAB=RS-TARMAS-RMASS(26)
134 C --- RESET STRANGENESS FIXING FLAG ---
137 C *** ELASTIC SCATTERING ***
144 IF (NFL .EQ. 2) IPA(2)=16
146 IF (INT .EQ. 2) GO TO 20
148 C *** INTRODUCE CHARGE AND STRANGENESS EXCHANGE REACTIONS ***
150 IF (IPLAB .GT. 10) IPLAB=10
152 IF (RNDM(1) .GT. (CECH(IPLAB)/ATNO2**0.42)) GO TO 120
156 IF (NFL .EQ. 2) IRN=5+IFIX(RAN*7.)+1
157 IF (NFL .EQ. 1) IRN=MAX(IRN,5)
158 IF (NFL .EQ. 2) IRN=MAX(IRN,12)
163 C --- CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE ONE EXTRA PION ---
165 IF (EAB .LE. RMASS(7)) GO TO 55
167 C --- NO. OF TOTAL PARTICLES VS SQRT(S)-MP-MSM ---
169 N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB
170 * +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB
173 C --- NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION ---
176 TEST=-(PI/4.0)*(NT/N)**2
177 IF (TEST .LT. EXPXL) TEST=EXPXL
178 IF (TEST .GT. EXPXU) TEST=EXPXU
183 IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3
184 IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3
189 C --- CHECK FOR TARGET NUCLEON TYPE ---
195 C --- PROTON TARGET ---
201 IF (NMM1 .LE. 0) NMM1=1
208 IF (L .GT. 1200) GO TO 31
210 IF ((NT .LE. 0) .OR. (NT .GT. 60)) GO TO 31
211 TEST=-(PI/4.0)*(NT/N)**2
212 IF (TEST .LT. EXPXL) TEST=EXPXL
213 IF (TEST .GT. EXPXU) TEST=EXPXU
214 DUM1=ANPN*PI*NT*PMUL(1,L)*ANORM(1,NT)/(2.0*N*N)
218 IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3
219 IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3
221 IF (RAN .LT. EXCS) GO TO 100
225 C --- NEUTRON TARGET ---
231 IF (NMM1 .LE. 0) NMM1=1
238 IF (L .GT. 1200) GO TO 41
240 IF ((NT .LE. 0) .OR. (NT .GT. 60)) GO TO 41
241 TEST=-(PI/4.0)*(NT/N)**2
242 IF (TEST .LT. EXPXL) TEST=EXPXL
243 IF (TEST .GT. EXPXU) TEST=EXPXU
244 DUM1=ANPN*PI*NT*PMUL(2,L)*ANORM(2,NT)/(2.0*N*N)
248 IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3
249 IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3
251 IF (RAN .LT. EXCS) GO TO 100
256 IF (NPRT(4)) WRITE(NEWBCD,1003) EAB,N,NFL,NP,NM,NZ
257 1003 FORMAT(' *CASX0* XI0 -INDUCED CASCADE,',
258 $ ' AVAIL. ENERGY',2X,F8.4,
259 $ 2X,'<NTOT>',2X,F8.4,2X,'FROM',4(2X,I3),2X,'PARTICLES')
260 IF (INT .EQ. 1) CALL TWOB(27,NFL,N)
261 IF (INT .EQ. 2) CALL GENXPT(27,NFL,N)
264 C *** ENERGETICALLY NOT POSSIBLE TO PRODUCE ONE EXTRA PION ***
266 IF (NPRT(4)) WRITE(NEWBCD,1001)
267 1001 FORMAT('0*CASX0* CASCADE ENERGETICALLY NOT POSSIBLE',
268 $ ' CONTINUE WITH QUASI-ELASTIC SCATTERING')
271 C *** EXCLUSIVE REACTION NOT FOUND ***
273 IF (NPRT(4)) WRITE(NEWBCD,1004) RS,N
274 1004 FORMAT(' *CASX0* XI0 -INDUCED CASCADE,',
275 $ ' EXCLUSIVE REACTION NOT FOUND',
276 $ ' TRY ELASTIC SCATTERING AVAIL. ENERGY',2X,F8.4,2X,
286 IF (NFL .EQ. 2) IPA(2)=16
289 C *** INELASTIC INTERACTION HAS OCCURRED ***
290 C *** NUMBER OF SECONDARY MESONS DETERMINED BY KNO DISTRIBUTION ***
296 IF (INT .LE. 0) GO TO 131
298 C --- TAKE TARGET NUCLEON TYPE INTO ACCOUNT ---
301 C --- PROTON TARGET ---
303 C --- CHECK FOR TOTAL CHARGE OF FINAL STATE MESONS TO DETERMINE ---
304 C --- THE KIND OF BARYONS TO BE PRODUCED TAKING INTO ACCOUNT ---
305 C --- CHARGE AND STRANGENESS CONSERVATION ---
307 IF (NCHT .LT. 1) GO TO 103
308 IF (NCHT .EQ. 1) GO TO 104
309 IF (NCHT .GT. 1) GO TO 105
315 IF (NCHT .EQ. 0) GO TO 120
316 C --- CHARGE MISMATCH ==> TAKE A S+ AND CORRECT THE STRANGENESS ---
317 C --- BY REPLACING A PI- BY K- ---
329 IF (RNDM(1) .LT. 0.5) GO TO 120
341 C --- NEUTRON TARGET ---
343 C --- CHECK FOR TOTAL CHARGE OF FINAL STATE MESONS TO DETERMINE ---
344 C --- THE KIND OF BARYONS TO BE PRODUCED TAKING INTO ACCOUNT ---
345 C --- CHARGE AND STRANGENESS CONSERVATION ---
347 IF (NCHT .LT. 0) GO TO 113
348 IF (NCHT .EQ. 0) GO TO 114
349 IF (NCHT .GT. 0) GO TO 115
355 IF (NCHT .EQ. -1) GO TO 120
356 C --- CHARGE MISMATCH ==> TAKE A S+ AND CORRECT THE STRANGENESS ---
357 C --- BY REPLACING A PI- BY K- ---
369 IF (RNDM(1) .LT. 0.5) GO TO 120
380 C --- TAKE PIONS FOR ALL SECONDARY MESONS ---
381 C --- REPLACE PI BY K IN CASE OF STRANGENESS TO BE FIXED ---
385 IF (NP .EQ. 0) GO TO 122
394 IF (NM .EQ. 0) GO TO 124
400 IF (NVEFIX .GE. 1) IPA(NT)=13
401 IF (NPRT(4) .AND. (NVEFIX .GE. 1)) PRINT 3000
402 3000 FORMAT(' *CASX0* K- INTRODUCED')
407 IF (NZ .EQ. 0) GO TO 130
415 C --- ALL SECONDARY PARTICLES HAVE BEEN DEFINED ---
416 C --- NOW GO FOR MOMENTA AND X VALUES ---
418 IF (NPRT(4)) WRITE(NEWBCD,2004) NT,(IPA(I),I=1,60)
419 2004 FORMAT(' *CASX0* ',I3,' PARTICLES PRODUCED. MASS INDEX ARRAY : '/
424 IF (NPRT(4)) WRITE(NEWBCD,2005)
425 2005 FORMAT(' *CASX0* NO PARTICLES PRODUCED')