]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | * |
2 | * $Id$ | |
3 | * | |
4 | * $Log$ | |
5 | * Revision 1.2 1996/04/18 15:30:15 ravndal | |
6 | * PCM index overflow protection | |
7 | * | |
8 | * Revision 1.1.1.1 1995/10/24 10:21:13 cernlib | |
9 | * Geant | |
10 | * | |
11 | * | |
12 | #include "geant321/pilot.h" | |
13 | *CMZ : 3.21/02 29/03/94 15.41.40 by S.Giani | |
14 | *-- Author : | |
15 | SUBROUTINE HIGCLU(IPPP,NFL,AVERN) | |
16 | C | |
17 | C *** GENERATION OF X- AND PT- VALUES FOR ALL PRODUCED PARTICLES *** | |
18 | C *** NVE 01-AUG-1988 CERN GENEVA *** | |
19 | C | |
20 | C ORIGIN : H.FESEFELDT (11-OCT-1987) | |
21 | C | |
22 | C A SIMPLE TWO CLUSTER MODEL IS USED | |
23 | C THIS SHOULD BE SUFFICIENT FOR LOW ENERGY INTERACTIONS | |
24 | C | |
25 | C | |
26 | #include "geant321/s_defcom.inc" | |
27 | #include "geant321/s_genio.inc" | |
28 | C | |
29 | REAL NUCSUP | |
30 | DIMENSION SIDE(MXGKCU),C1PAR(5),G1PAR(5),NUCSUP(6) | |
31 | DIMENSION RNDM(3) | |
32 | DATA C1PAR/0.6,0.6,0.35,0.15,0.10/ | |
33 | DATA G1PAR/2.6,2.6,1.8,1.30,1.20/ | |
34 | DATA NUCSUP/1.0,0.7,0.5,0.4,0.35,0.3/ | |
35 | DIMENSION PSUP(6) | |
36 | DATA PSUP/3.,6.,20.,50.,100.,1000./ | |
37 | C DATA CB/3.0/ | |
38 | DATA CB/0.01/ | |
39 | BPP(X)=4.000+1.600*LOG(X) | |
40 | C | |
41 | MX =MXGKPV-20 | |
42 | MX1=MX+1 | |
43 | MX2=MX+2 | |
44 | MX3=MX+3 | |
45 | MX4=MX+4 | |
46 | MX5=MX+5 | |
47 | MX6=MX+6 | |
48 | MX7=MX+7 | |
49 | MX8=MX+8 | |
50 | EK=ENP(5) | |
51 | EN=ENP(6) | |
52 | P=ENP(7) | |
53 | S=ENP(8) | |
54 | RS=ENP(9) | |
55 | CFA=0.025*((ATNO2-1.)/120.)*EXP(-(ATNO2-1.)/120.) | |
56 | IF(P.LT.0.001) GOTO 60 | |
57 | NT=0 | |
58 | C** | |
59 | C** CHECK MASS-INDICES FOR ALL PARTICLES | |
60 | C** | |
61 | DO 1 I=1,100 | |
62 | IF(IPA(I).EQ.0) GOTO 1 | |
63 | NT=NT+1 | |
64 | IPA(NT)=IPA(I) | |
65 | 1 CONTINUE | |
66 | CALL VZERO(IPA(NT+1),MXGKCU-NT) | |
67 | C** | |
68 | C** SET THE EFFECTICE 4-MOMENTUM-VECTOR FOR INTERACTION | |
69 | C** | |
70 | PV( 1,MXGKPV-1)=P*PX | |
71 | PV( 2,MXGKPV-1)=P*PY | |
72 | PV( 3,MXGKPV-1)=P*PZ | |
73 | PV( 4,MXGKPV-1)=EN | |
74 | PV( 5,MXGKPV-1)=AMAS | |
75 | PV( 6,MXGKPV-1)=NCH | |
76 | PV( 7,MXGKPV-1)=TOF | |
77 | PV( 8,MXGKPV-1)=IPART | |
78 | PV( 9,MXGKPV-1)=0. | |
79 | PV(10,MXGKPV-1)=USERW | |
80 | IER(48)=IER(48)+1 | |
81 | C** | |
82 | C** DISTRIBUTE PARTICLES IN FORWARD AND BACKWARD HEMISPHERE OF CMS | |
83 | C** OF THE HADRON NUCLEON INTERACTION | |
84 | C** | |
85 | SIDE(1)= 1. | |
86 | SIDE(2)=-1. | |
87 | TARG=0. | |
88 | IFOR=1 | |
89 | IBACK=1 | |
90 | DO 3 I=1,NT | |
91 | IF (I .LE. 2) GO TO 78 | |
92 | SIDE(I)=1. | |
93 | CALL GRNDM(RNDM,1) | |
94 | IF (RNDM(1) .LT. 0.5) SIDE(I)=-1. | |
95 | IF (SIDE(I) .LT. 0.) GO TO 76 | |
96 | C | |
97 | C --- PARTICLE IN FORWARD HEMISPHERE --- | |
98 | 77 CONTINUE | |
99 | IFOR=IFOR+1 | |
100 | IF (IFOR .LE. 18) GO TO 78 | |
101 | C | |
102 | C --- CHANGE IT TO BACKWARD --- | |
103 | SIDE(I)=-1. | |
104 | IFOR=IFOR-1 | |
105 | IBACK=IBACK+1 | |
106 | GO TO 78 | |
107 | C | |
108 | C --- PARTICLE IN BACKWARD HEMISPHERE --- | |
109 | 76 CONTINUE | |
110 | IBACK=IBACK+1 | |
111 | IF (IBACK .LE. 18) GO TO 78 | |
112 | C | |
113 | C --- CHANGE IT TO FORWARD --- | |
114 | SIDE(I)=1. | |
115 | IBACK=IBACK-1 | |
116 | IFOR=IFOR+1 | |
117 | C** | |
118 | C** SUPPRESSION OF CHARGED PIONS FOR VARIOUS REASONS | |
119 | C** | |
120 | 78 IF(IPART.EQ.15.OR.IPART.GE.17) GOTO 3 | |
121 | IF(ABS(IPA(I)).GE.10) GOTO 3 | |
122 | IF(ABS(IPA(I)).EQ. 8) GOTO 3 | |
123 | CALL GRNDM(RNDM,1) | |
124 | IF(RNDM(1).GT.(10.-P)/6.) GOTO 3 | |
125 | CALL GRNDM(RNDM,1) | |
126 | IF(RNDM(1).GT.ATNO2/300.) GOTO 3 | |
127 | IPA(I)=14 | |
128 | CALL GRNDM(RNDM,1) | |
129 | IF(RNDM(1).GT.ZNO2/ATNO2) IPA(I)=16 | |
130 | TARG=TARG+1. | |
131 | 3 CONTINUE | |
132 | TB=2.*IBACK | |
133 | CALL GRNDM(RNDM,1) | |
134 | IF(RS.LT.(2.0+RNDM(1))) TB=(2.*IBACK+NT)/2. | |
135 | C** | |
136 | C** NUCLEONS + SOME PIONS FROM INTRANUCLEAR CASCADE | |
137 | C** | |
138 | AFC=0.312+0.200*LOG(LOG(S))+S**1.5/6000. | |
139 | IF(AFC.GT.0.50) AFC= 0.50 | |
140 | XTARG=AFC*(ATNO2**0.33-1.0)*TB | |
141 | IF(XTARG.LE.0.) XTARG=0.01 | |
142 | DO 881 IPX=1,6 | |
143 | IF(P.LE.PSUP(IPX)) GOTO 882 | |
144 | 881 CONTINUE | |
145 | IPX=6 | |
146 | 882 XPNHMF = XTARG*NUCSUP(IPX) | |
147 | XSHHMF = XTARG - XPNHMF | |
148 | IF(XSHHMF.LT.0.01) XSHHMF=0.01 | |
149 | IF(XPNHMF.LT.0.01) XPNHMF=0.01 | |
150 | SSHHMF=0.5*XSHHMF | |
151 | SPNHMF=0.9*XPNHMF | |
152 | RSHHMF=SSHHMF**2/XSHHMF | |
153 | RPNHMF=SPNHMF**2/XPNHMF | |
154 | IF(RSHHMF.LT.1.1) THEN | |
155 | CALL POISSO(XSHHMF,NSHHMF) | |
156 | GOTO 541 | |
157 | ELSE | |
158 | RSHHMF=XSHHMF/(RSHHMF-1.) | |
159 | IF(RSHHMF.LE.20.) THEN | |
160 | CALL SVGAM7(RSHHMF,XHMF) | |
161 | ELSE | |
162 | KRSHMF=IFIX(RSHHMF+0.5) | |
163 | CALL SVERL2(KRSHMF,XHMF) | |
164 | ENDIF | |
165 | XSHHMF=XHMF*XSHHMF/RSHHMF | |
166 | CALL POISSO(XSHHMF,NSHHMF) | |
167 | ENDIF | |
168 | 541 IF(RPNHMF.LE.1.1) THEN | |
169 | CALL POISSO(XPNHMF,NPNHMF) | |
170 | GOTO 542 | |
171 | ELSE | |
172 | RPNHMF=XPNHMF/(RPNHMF-1.) | |
173 | IF(RPNHMF.LE.20.) THEN | |
174 | CALL SVGAM7(RPNHMF,XHMF) | |
175 | ELSE | |
176 | KRPHMF=IFIX(RPNHMF+0.5) | |
177 | CALL SVERL2(KRPHMF,XHMF) | |
178 | ENDIF | |
179 | XPNHMF=XHMF*XPNHMF/RPNHMF | |
180 | CALL POISSO(XPNHMF,NPNHMF) | |
181 | ENDIF | |
182 | 542 NTARG=NSHHMF+NPNHMF | |
183 | NT2=NT+NTARG | |
184 | IF(NT2.LE.MXGKPV-30) GOTO 2 | |
185 | NT2=MXGKPV-30 | |
186 | NTARG=NT2-NT | |
187 | 2 CONTINUE | |
188 | IF(NPRT(4)) | |
189 | *WRITE(NEWBCD,3001) NTARG,NT | |
190 | NT1=NT+1 | |
191 | IF(NTARG.EQ.0) GOTO 51 | |
192 | DO 4 I=NT1,NT2 | |
193 | IF(NPNHMF.GT.0) GOTO 52 | |
194 | CALL GRNDM(RNDM,1) | |
195 | IPA(I)=-(7+IFIX(RNDM(1)*3.0)) | |
196 | GOTO 4 | |
197 | 52 IPA(I)=-16 | |
198 | PNRAT=1.-ZNO2/ATNO2 | |
199 | CALL GRNDM(RNDM,1) | |
200 | IF(RNDM(1).GT.PNRAT) IPA(I)=-14 | |
201 | TARG=TARG+1. | |
202 | SIDE(I)=-2. | |
203 | NPNHMF=NPNHMF-1 | |
204 | 4 CONTINUE | |
205 | NT=NT2 | |
206 | C** | |
207 | C** CHOOSE MASSES AND CHARGES FOR ALL PARTICLES | |
208 | C** | |
209 | 51 DO 5 I=1,NT | |
210 | IPA1=ABS(IPA(I)) | |
211 | PV(5,I)=RMASS(IPA1) | |
212 | PV(6,I)=RCHARG(IPA1) | |
213 | PV(7,I)=1. | |
214 | IF(PV(5,I).LT.0.) PV(7,I)=-1. | |
215 | PV(5,I)=ABS(PV(5,I)) | |
216 | 5 CONTINUE | |
217 | C** | |
218 | C** MARK LEADING STRANGE PARTICLES | |
219 | C** | |
220 | LEAD=0 | |
221 | IF(IPART.LT.10.OR.IPART.EQ.14.OR.IPART.EQ.16) GOTO 6 | |
222 | IPA1=ABS(IPA(1)) | |
223 | IF(IPA1.LT.10.OR.IPA1.EQ.14.OR.IPA1.EQ.16) GOTO 531 | |
224 | LEAD=IPA1 | |
225 | GOTO 6 | |
226 | 531 IPA1=ABS(IPA(2)) | |
227 | IF(IPA1.LT.10.OR.IPA1.EQ.14.OR.IPA1.EQ.16) GOTO 6 | |
228 | LEAD=IPA1 | |
229 | C** | |
230 | C** CHECK AVAILABLE KINETIC ENERGY , CHANGE HEMISPHERE FOR PARTICLES | |
231 | C** UNTIL IT FITS | |
232 | C** | |
233 | 6 IF(NT.LE.1) GOTO 60 | |
234 | TAVAI=0. | |
235 | DO 7 I=1,NT | |
236 | IF(SIDE(I).LT.-1.5) GOTO 7 | |
237 | TAVAI=TAVAI+ABS(PV(5,I)) | |
238 | 7 CONTINUE | |
239 | IF(TAVAI.LT.RS) GOTO 12 | |
240 | IF(NPRT(4)) | |
241 | *WRITE(NEWBCD,3002) (IPA(I),I=1,20),(SIDE(I),I=1,20),TAVAI,RS | |
242 | 3002 FORMAT(' *HIGCLU* CHECK AVAILABLE ENERGIES'/ | |
243 | * 1H ,20I5/1H ,20F5.0/1H ,'TAVAI,RS ',2F10.3) | |
244 | DO 10 I=1,NT | |
245 | II=NT-I+1 | |
246 | IF(SIDE(II).LT.-1.5) GOTO 10 | |
247 | IF(II.EQ.NT) GOTO 11 | |
248 | NT1=II+1 | |
249 | NT2=NT | |
250 | DO 8 J=NT1,NT2 | |
251 | IPA(J-1)=IPA(J) | |
252 | SIDE(J-1)=SIDE(J) | |
253 | DO 8 K=1,10 | |
254 | 8 PV(K,J-1)=PV(K,J) | |
255 | GOTO 11 | |
256 | 10 CONTINUE | |
257 | 11 SIDE(NT)=0. | |
258 | IPA(NT)=0 | |
259 | NT=NT-1 | |
260 | GOTO 6 | |
261 | 12 IF(NT.LE.1) GOTO 60 | |
262 | B=BPP(P) | |
263 | IF(B.LT.CB) B=CB | |
264 | C** | |
265 | C** CHOOSE MASSES FOR THE 3 CLUSTER: 1. FORWARD CLUSTER | |
266 | C** 2. BACKWARD MESON CLUSTER 3. BACKWARD NUCLEON CLUSTER | |
267 | C** | |
268 | RMC0=0. | |
269 | RMD0=0. | |
270 | RME0=0. | |
271 | NTC=0 | |
272 | NTD=0 | |
273 | NTE=0 | |
274 | DO 31 I=1,NT | |
275 | IF(SIDE(I).GT.0.) RMC0=RMC0+ABS(PV(5,I)) | |
276 | IF(SIDE(I).GT.0.) NTC =NTC +1 | |
277 | IF(SIDE(I).LT.0..AND.SIDE(I).GT.-1.5) RMD0=RMD0+ABS(PV(5,I)) | |
278 | IF( SIDE(I).LT.-1.5) RME0=RME0+ABS(PV(5,I)) | |
279 | IF(SIDE(I).LT.0..AND.SIDE(I).GT.-1.5) NTD =NTD +1 | |
280 | IF( SIDE(I).LT.-1.5) NTE =NTE +1 | |
281 | 31 CONTINUE | |
282 | 32 CALL GRNDM(RNDM,1) | |
283 | RAN=RNDM(1) | |
284 | RMC=RMC0 | |
285 | IF(NTC.LE.1) GOTO 33 | |
286 | NTC1=NTC | |
287 | IF(NTC1.GT.5) NTC1=5 | |
288 | RMC=-LOG(1.-RAN) | |
289 | GPAR=G1PAR(NTC1) | |
290 | CPAR=C1PAR(NTC1) | |
291 | DUMNVE=GPAR | |
292 | IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 | |
293 | RMC=RMC0+RMC**CPAR/DUMNVE | |
294 | 33 RMD=RMD0 | |
295 | IF(NTD.LE.1) GOTO 34 | |
296 | NTD1=NTD | |
297 | IF(NTD1.GT.5) NTD1=5 | |
298 | CALL GRNDM(RNDM,1) | |
299 | RAN=RNDM(1) | |
300 | RMD=-LOG(1.-RAN) | |
301 | GPAR=G1PAR(NTD1) | |
302 | CPAR=C1PAR(NTD1) | |
303 | DUMNVE=GPAR | |
304 | IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 | |
305 | RMD=RMD0+RMD**CPAR/DUMNVE | |
306 | 34 IF(RMC+RMD.LE.RS) GOTO 35 | |
307 | IF (RMC.LE.RMC0.AND.RMD.LE.RMD0) THEN | |
308 | HNRMDC = 0.999*RS/(RMC+RMD) | |
309 | RMD = RMD*HNRMDC | |
310 | RMC = RMC*HNRMDC | |
311 | ELSE | |
312 | RMC=0.1*RMC0+0.9*RMC | |
313 | RMD=0.1*RMD0+0.9*RMD | |
314 | END IF | |
315 | GOTO 34 | |
316 | 35 IF(NTE.LE.0) GOTO 38 | |
317 | RME=RME0 | |
318 | IF(NTE.EQ.1) GOTO 38 | |
319 | NTE1=NTE | |
320 | IF(NTE1.GT.5) NTE1=5 | |
321 | CALL GRNDM(RNDM,1) | |
322 | RAN=RNDM(1) | |
323 | RME=-LOG(1.-RAN) | |
324 | GPAR=G1PAR(NTE1) | |
325 | CPAR=C1PAR(NTE1) | |
326 | DUMNVE=GPAR | |
327 | IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 | |
328 | RME=RME0+RME**CPAR/DUMNVE | |
329 | C** | |
330 | C** SET BEAM , TARGET OF FIRST INTERACTION IN CMS | |
331 | C** | |
332 | 38 PV( 1,MX1) =0. | |
333 | PV( 2,MX1) =0. | |
334 | PV( 3,MX1) =P | |
335 | PV( 5,MX1) =ABS(AMAS) | |
336 | PV( 4,MX1) =SQRT(P*P+AMAS*AMAS) | |
337 | PV( 1,MX2) =0. | |
338 | PV( 2,MX2) =0. | |
339 | PV( 3,MX2) =0. | |
340 | PV( 4,MX2) =MP | |
341 | PV( 5,MX2) =MP | |
342 | ||
343 | C** TRANSFORM INTO CMS. | |
344 | ||
345 | CALL ADD(MX1,MX2,MX) | |
346 | CALL LOR(MX1,MX,MX1) | |
347 | CALL LOR(MX2,MX,MX2) | |
348 | PF=(S+RMD*RMD-RMC*RMC)**2 - 4*S*RMD*RMD | |
349 | IF(PF.LT.0.0001) PF=0.0001 | |
350 | DUMNVE=2.0*RS | |
351 | IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 | |
352 | PF=SQRT(PF)/DUMNVE | |
353 | IF(NPRT(4)) WRITE(6,2002) PF,RMC,RMD,RS | |
354 | C** | |
355 | C** SET FINAL STATE MASSES AND ENERGIES IN CMS | |
356 | C** | |
357 | PV(5,MX3) =RMC | |
358 | PV(5,MX4) =RMD | |
359 | PV(4,MX3) =SQRT(PF*PF+RMC*RMC) | |
360 | PV(4,MX4) =SQRT(PF*PF+RMD*RMD) | |
361 | C** | |
362 | C** SET |T| AND |TMIN| | |
363 | C** | |
364 | T=-1.0E10 | |
365 | CALL GRNDM(RNDM,1) | |
366 | IF (B .NE. 0.0) T=LOG(1.-RNDM(1))/B | |
367 | CALL LENGTX(MX1,PIN) | |
368 | TACMIN=(PV(4,MX1) -PV(4,MX3))**2 -(PIN-PF)**2 | |
369 | C** | |
370 | C** CACULATE (SIN(TETA/2.)**2 AND COS(TETA), SET AZIMUTH ANGLE PHI | |
371 | C** | |
372 | DUMNVE=4.0*PIN*PF | |
373 | IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 | |
374 | CTET=-(T-TACMIN)/DUMNVE | |
375 | CTET=1.0-2.0*CTET | |
376 | IF (CTET .GT. 1.0) CTET=1.0 | |
377 | IF (CTET .LT. -1.0) CTET=-1.0 | |
378 | DUMNVE=1.0-CTET*CTET | |
379 | IF (DUMNVE .LT. 0.0) DUMNVE=0.0 | |
380 | STET=SQRT(DUMNVE) | |
381 | CALL GRNDM(RNDM,1) | |
382 | PHI=RNDM(1)*TWPI | |
383 | C** | |
384 | C** CALCULATE FINAL STATE MOMENTA IN CMS | |
385 | C** | |
386 | PV(1,MX3) =PF*STET*SIN(PHI) | |
387 | PV(2,MX3) =PF*STET*COS(PHI) | |
388 | PV(3,MX3) =PF*CTET | |
389 | PV(1,MX4) =-PV(1,MX3) | |
390 | PV(2,MX4) =-PV(2,MX3) | |
391 | PV(3,MX4) =-PV(3,MX3) | |
392 | C** | |
393 | C** SIMULATE BACKWARD NUCLEON CLUSTER IN LAB. SYSTEM AND TRANSFORM IN | |
394 | C** CMS. | |
395 | C** | |
396 | IF(NTE.EQ.0) GOTO 28 | |
397 | GA=1.2 | |
398 | EKIT1=0.04 | |
399 | EKIT2=0.6 | |
400 | IF(EK.GT.5.) GOTO 666 | |
401 | EKIT1=EKIT1*EK**2/25. | |
402 | EKIT2=EKIT2*EK**2/25. | |
403 | 666 A=(1.-GA)/(EKIT2**(1.-GA)-EKIT1**(1.-GA)) | |
404 | DO 29 I=1,NT | |
405 | IF(SIDE(I).GT.-1.5) GOTO 29 | |
406 | CALL GRNDM(RNDM,3) | |
407 | RAN=RNDM(1) | |
408 | EKIT=(RAN*(1.-GA)/A+EKIT1**(1.-GA))**(1./(1.-GA)) | |
409 | PV(4,I)=EKIT+PV(5,I) | |
410 | DUMNVE=ABS(PV(4,I)**2-PV(5,I)**2) | |
411 | PP=SQRT(DUMNVE) | |
412 | RAN=RNDM(2) | |
413 | COST=LOG(2.23*RAN+0.383)/0.96 | |
414 | IF (COST .LT. -1.0) COST=-1.0 | |
415 | IF (COST .GT. 1.0) COST=1.0 | |
416 | DUMNVE=1.0-COST*COST | |
417 | IF (DUMNVE .LT. 0.0) DUMNVE=0.0 | |
418 | SINT=SQRT(DUMNVE) | |
419 | PHI=TWPI*RNDM(3) | |
420 | PV(1,I)=PP*SINT*SIN(PHI) | |
421 | PV(2,I)=PP*SINT*COS(PHI) | |
422 | PV(3,I)=PP*COST | |
423 | CALL LOR(I,MX,I) | |
424 | 29 CONTINUE | |
425 | C** | |
426 | C** FRAGMENTATION OF FORWARD CLUSTER AND BACKWARD MESON CLUSTER | |
427 | C** | |
428 | 28 PV(1,1)=PV(1,MX3) | |
429 | PV(2,1)=PV(2,MX3) | |
430 | PV(3,1)=PV(3,MX3) | |
431 | PV(4,1)=PV(4,MX3) | |
432 | PV(1,2)=PV(1,MX4) | |
433 | PV(2,2)=PV(2,MX4) | |
434 | PV(3,2)=PV(3,MX4) | |
435 | PV(4,2)=PV(4,MX4) | |
436 | DO 17 I=MX5,MX6 | |
437 | DO 16 J=1,3 | |
438 | 16 PV(J,I)=-PV(J,I-2) | |
439 | DO 17 J=4,5 | |
440 | 17 PV(J,I)= PV(J,I-2) | |
441 | KGENEV=1 | |
442 | IF(NTC.LE.1) GOTO 26 | |
443 | TECM=PV(5,MX3) | |
444 | NPG=0 | |
445 | DO 18 I=1,NT | |
446 | IF(SIDE(I).LT.0.) GOTO 18 | |
447 | IF(NPG.EQ.18) THEN | |
448 | SIDE(I)=-SIDE(I) | |
449 | GOTO 18 | |
450 | ENDIF | |
451 | NPG=NPG+1 | |
452 | AMASS(NPG)=ABS(PV(5,I)) | |
453 | 18 CONTINUE | |
454 | IF(NPRT(4)) WRITE(NEWBCD,2004) TECM,NPG,(AMASS(I),I=1,NPG) | |
455 | CALL PHASP | |
456 | NPG=0 | |
457 | DO 19 I=1,NT | |
458 | IF(SIDE(I).LT.0.OR.NPG.GE.18) GOTO 19 | |
459 | NPG=NPG+1 | |
460 | PV(1,I)=PCM(1,NPG) | |
461 | PV(2,I)=PCM(2,NPG) | |
462 | PV(3,I)=PCM(3,NPG) | |
463 | PV(4,I)=PCM(4,NPG) | |
464 | IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) | |
465 | CALL LOR(I,MX5,I) | |
466 | IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,10),IPA(I),SIDE(I) | |
467 | 19 CONTINUE | |
468 | 26 IF(NTD.LE.1) GOTO 27 | |
469 | TECM=PV(5,MX4) | |
470 | NPG=0 | |
471 | DO 20 I=1,NT | |
472 | IF(SIDE(I).GT.0..OR.SIDE(I).LT.-1.5) GOTO 20 | |
473 | IF(NPG.EQ.18) THEN | |
474 | SIDE(I)=-2. | |
475 | PV(4,I)=ABS(PV(5,I)) | |
476 | DO 48 J=1,3 | |
477 | PV(J,I)=0. | |
478 | 48 CONTINUE | |
479 | GOTO 20 | |
480 | ENDIF | |
481 | NPG=NPG+1 | |
482 | AMASS(NPG)=ABS(PV(5,I)) | |
483 | 20 CONTINUE | |
484 | IF(NPRT(4)) WRITE(NEWBCD,2004) TECM,NPG,(AMASS(I),I=1,NPG) | |
485 | CALL PHASP | |
486 | NPG=0 | |
487 | DO 21 I=1,NT | |
488 | IF(SIDE(I).GT.0..OR.SIDE(I).LT.-1.5) GOTO 21 | |
489 | NPG=NPG+1 | |
490 | PV(1,I)=PCM(1,NPG) | |
491 | PV(2,I)=PCM(2,NPG) | |
492 | PV(3,I)=PCM(3,NPG) | |
493 | PV(4,I)=PCM(4,NPG) | |
494 | IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) | |
495 | CALL LOR(I,MX6,I) | |
496 | IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,10),IPA(I),SIDE(I) | |
497 | 21 CONTINUE | |
498 | C** | |
499 | C** LORENTZ TRANSFORMATION IN LAB SYSTEM | |
500 | C** | |
501 | 27 TARG=0. | |
502 | DO 36 I=1,NT | |
503 | IF(PV(5,I).GT.0.5) TARG=TARG+1. | |
504 | CALL LOR(I,MX2,I) | |
505 | 36 CONTINUE | |
506 | IF(TARG.LT.0.5) TARG=1. | |
507 | C** | |
508 | C** SOMETIMES THE LEADING STRANGE PARTICLES ARE LOST , SET THEM BACK | |
509 | C** | |
510 | IF(LEAD.EQ.0) GOTO 6085 | |
511 | DO 6081 I=1,NT | |
512 | IF(ABS(IPA(I)).EQ.LEAD) GOTO 6085 | |
513 | 6081 CONTINUE | |
514 | I=1 | |
515 | IF(LEAD.GE.14.AND.ABS(IPA(2)).GE.14) I=2 | |
516 | IF(LEAD.LT.14.AND.ABS(IPA(2)).LT.14) I=2 | |
517 | IPA(I)=LEAD | |
518 | EKIN=PV(4,I)-ABS(PV(5,I)) | |
519 | PV(5,I)=RMASS(LEAD) | |
520 | PV(7,I)=1. | |
521 | IF(PV(5,I).LT.0.) PV(7,I)=-1. | |
522 | PV(5,I)=ABS(PV(5,I)) | |
523 | PV(6,I)=RCHARG(LEAD) | |
524 | PV(4,I)=PV(5,I)+EKIN | |
525 | CALL LENGTX(I,PP) | |
526 | DUMNVE=ABS(PV(4,I)**2-PV(5,I)**2) | |
527 | PP1=SQRT(DUMNVE) | |
528 | C | |
529 | IF (PP .GE. 1.0E-6) GO TO 8000 | |
530 | CALL GRNDM(RNDM,2) | |
531 | RTHNVE=PI*RNDM(1) | |
532 | PHINVE=TWPI*RNDM(2) | |
533 | PV(1,I)=PP1*SIN(RTHNVE)*COS(PHINVE) | |
534 | PV(2,I)=PP1*SIN(RTHNVE)*SIN(PHINVE) | |
535 | PV(3,I)=PP1*COS(RTHNVE) | |
536 | GO TO 8001 | |
537 | 8000 CONTINUE | |
538 | PV(1,I)=PV(1,I)*PP1/PP | |
539 | PV(2,I)=PV(2,I)*PP1/PP | |
540 | PV(3,I)=PV(3,I)*PP1/PP | |
541 | 8001 CONTINUE | |
542 | C | |
543 | C** FOR VARIOUS REASONS, THE ENERGY BALANCE IS NOT SUFFICIENT, | |
544 | C** CHECK THAT, ENERGY BALANCE, ANGLE OF FINAL SYSTEM E.T.C. | |
545 | 6085 KGENEV=1 | |
546 | PV(1,MX4) =0. | |
547 | PV(2,MX4) =0. | |
548 | PV(3,MX4) =P | |
549 | PV(4,MX4) =SQRT(P*P+AMAS*AMAS) | |
550 | PV(5,MX4) =ABS(AMAS) | |
551 | EKIN0=PV(4,MX4) -PV(5,MX4) | |
552 | PV(1,MX5) =0. | |
553 | PV(2,MX5) =0. | |
554 | PV(3,MX5) =0. | |
555 | PV(4,MX5) =MP*TARG | |
556 | PV(5,MX5) =PV(4,MX5) | |
557 | EKIN=PV(4,MX4) +PV(4,MX5) | |
558 | I=MX4 | |
559 | IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) | |
560 | I=MX5 | |
561 | IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) | |
562 | CALL ADD(MX4,MX5,MX6) | |
563 | CALL LOR(MX4,MX6,MX4) | |
564 | CALL LOR(MX5,MX6,MX5) | |
565 | TECM=PV(4,MX4) +PV(4,MX5) | |
566 | NPG=NT | |
567 | PV(1,MX8) =0. | |
568 | PV(2,MX8) =0. | |
569 | PV(3,MX8) =0. | |
570 | PV(4,MX8) =0. | |
571 | PV(5,MX8) =0. | |
572 | EKIN1=0. | |
573 | DO 598 I=1,NPG | |
574 | IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,10),IPA(I),SIDE(I) | |
575 | CALL ADD(MX8,I,MX8) | |
576 | EKIN1=EKIN1+PV(4,I)-PV(5,I) | |
577 | EKIN=EKIN-PV(5,I) | |
578 | IF(I.GT.18) GOTO 598 | |
579 | AMASS(I)=PV(5,I) | |
580 | 598 CONTINUE | |
581 | IF(NPG.GT.18) GOTO 597 | |
582 | CALL PHASP | |
583 | EKIN=0. | |
584 | DO 599 I=1,NPG | |
585 | PV(1,MX7)=PCM(1,I) | |
586 | PV(2,MX7)=PCM(2,I) | |
587 | PV(3,MX7)=PCM(3,I) | |
588 | PV(4,MX7)=PCM(4,I) | |
589 | PV(5,MX7)=AMASS(I) | |
590 | CALL LOR(MX7,MX5,MX7) | |
591 | 599 EKIN=EKIN+PV(4,MX7)-PV(5,MX7) | |
592 | CALL ANG(MX8,MX4,COST,TETA) | |
593 | IF(NPRT(4)) WRITE(NEWBCD,2003) TETA,EKIN0,EKIN1,EKIN | |
594 | C** | |
595 | C** MAKE SHURE, THAT KINETIC ENERGIES ARE CORRECT | |
596 | C** THE 3. CLUSTER IS NOT PRODUCED WITHIN PROPER KINEMATICS!!! | |
597 | C** EKIN= KINETIC ENERGY THEORETICALLY | |
598 | C** EKIN1= KINETIC ENERGY SIMULATED | |
599 | C** | |
600 | 597 IF(EKIN1.EQ.0.) GOTO 600 | |
601 | PV(1,MX7) =0. | |
602 | PV(2,MX7) =0. | |
603 | PV(3,MX7) =0. | |
604 | PV(4,MX7) =0. | |
605 | PV(5,MX7) =0. | |
606 | WGT=EKIN/EKIN1 | |
607 | EKIN1=0. | |
608 | DO 602 I=1,NT | |
609 | EKIN=PV(4,I)-PV(5,I) | |
610 | EKIN=EKIN*WGT | |
611 | PV(4,I)=EKIN+PV(5,I) | |
612 | DUMNVE=ABS(PV(4,I)**2-PV(5,I)**2) | |
613 | PP=SQRT(DUMNVE) | |
614 | CALL LENGTX(I,PP1) | |
615 | C | |
616 | IF (PP1 .GE. 1.0E-6) GO TO 8002 | |
617 | CALL GRNDM(RNDM,2) | |
618 | RTHNVE=PI*RNDM(1) | |
619 | PHINVE=TWPI*RNDM(2) | |
620 | PV(1,I)=PP*SIN(RTHNVE)*COS(PHINVE) | |
621 | PV(2,I)=PP*SIN(RTHNVE)*SIN(PHINVE) | |
622 | PV(3,I)=PP*COS(RTHNVE) | |
623 | GO TO 8003 | |
624 | 8002 CONTINUE | |
625 | PV(1,I)=PV(1,I)*PP/PP1 | |
626 | PV(2,I)=PV(2,I)*PP/PP1 | |
627 | PV(3,I)=PV(3,I)*PP/PP1 | |
628 | 8003 CONTINUE | |
629 | C | |
630 | EKIN1=EKIN1+EKIN | |
631 | CALL ADD(MX7,I,MX7) | |
632 | 602 CONTINUE | |
633 | CALL ANG(MX7,MX4,COST,TETA) | |
634 | IF(NPRT(4)) WRITE(NEWBCD,2003) TETA,EKIN0,EKIN1 | |
635 | C** | |
636 | C** ROTATE IN DIRECTION OF Z-AXIS, SEE COMMENTS IN 'GENXPT' | |
637 | C** | |
638 | 600 PV(1,MX7)=0. | |
639 | PV(2,MX7)=0. | |
640 | PV(3,MX7)=0. | |
641 | PV(4,MX7)=0. | |
642 | PV(5,MX7)=0. | |
643 | DO 596 I=1,NT | |
644 | 596 CALL ADD(MX7,I,MX7) | |
645 | * call rannor(ran1,ran2) | |
646 | CALL GRNDM(RNDM,2) | |
647 | RY=RNDM(1) | |
648 | RZ=RNDM(2) | |
649 | RX=6.283185*RZ | |
650 | A1=SQRT(-2.*LOG(RY)) | |
651 | RAN1=A1*SIN(RX) | |
652 | RAN2=A1*COS(RX) | |
653 | PV(1,MX7)=PV(1,MX7)+RAN1*0.020*TARG | |
654 | PV(2,MX7)=PV(2,MX7)+RAN2*0.020*TARG | |
655 | CALL DEFS(MX4,MX7,MX8) | |
656 | PV(1,MX7)=0. | |
657 | PV(2,MX7)=0. | |
658 | PV(3,MX7)=0. | |
659 | PV(4,MX7)=0. | |
660 | PV(5,MX7)=0. | |
661 | DO 595 I=1,NT | |
662 | CALL TRAC(I,MX8,I) | |
663 | 595 CALL ADD(MX7,I,MX7) | |
664 | CALL ANG(MX7,MX4,COST,TETA) | |
665 | IF(NPRT(4)) WRITE(NEWBCD,2003) TETA | |
666 | C** | |
667 | C** ROTATE IN DIRECTION OF PRIMARY PARTICLE | |
668 | C** | |
669 | DEKIN=0. | |
670 | NPIONS=0 | |
671 | EK1=0. | |
672 | DO 25 I=1,NT | |
673 | CALL DEFS1(I,MXGKPV-1,I) | |
674 | IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,10),IPA(I),SIDE(I) | |
675 | IF(ATNO2.LT.1.5) GOTO 25 | |
676 | CALL LENGTX(I,PP) | |
677 | EKIN=PV(4,I)-ABS(PV(5,I)) | |
678 | CALL NORMAL(RAN) | |
679 | EKIN=EKIN-CFA*(1.+0.5*RAN) | |
680 | IF (EKIN .LT. 1.0E-6) EKIN=1.0E-6 | |
681 | CALL STEEQ(XXH,I) | |
682 | DEKIN=DEKIN+EKIN*(1.-XXH) | |
683 | EKIN=EKIN*XXH | |
684 | IF(ABS(IPA(I)).GE.7.AND.ABS(IPA(I)).LE.9) NPIONS=NPIONS+1 | |
685 | IF(ABS(IPA(I)).GE.7.AND.ABS(IPA(I)).LE.9) EK1=EK1+EKIN | |
686 | PP1=SQRT(EKIN*(EKIN+2.*ABS(PV(5,I)))) | |
687 | PV(4,I)=EKIN+ABS(PV(5,I)) | |
688 | C | |
689 | IF (PP .GE. 1.0E-6) GO TO 8004 | |
690 | CALL GRNDM(RNDM,2) | |
691 | RTHNVE=PI*RNDM(1) | |
692 | PHINVE=TWPI*RNDM(2) | |
693 | PV(1,I)=PP1*SIN(RTHNVE)*COS(PHINVE) | |
694 | PV(2,I)=PP1*SIN(RTHNVE)*SIN(PHINVE) | |
695 | PV(3,I)=PP1*COS(RTHNVE) | |
696 | GO TO 8005 | |
697 | 8004 CONTINUE | |
698 | PV(1,I)=PV(1,I)*PP1/PP | |
699 | PV(2,I)=PV(2,I)*PP1/PP | |
700 | PV(3,I)=PV(3,I)*PP1/PP | |
701 | 8005 CONTINUE | |
702 | C | |
703 | 25 CONTINUE | |
704 | IF(EK1.EQ.0.) GOTO 23 | |
705 | IF(NPIONS.LE.0) GOTO 23 | |
706 | DEKIN=1.+DEKIN/EK1 | |
707 | DO 22 I=1,NT | |
708 | IF(ABS(IPA(I)).LT.7.OR.ABS(IPA(I)).GT.9) GOTO 22 | |
709 | CALL LENGTX(I,PP) | |
710 | EKIN=PV(4,I)-ABS(PV(5,I)) | |
711 | EKIN=EKIN*DEKIN | |
712 | IF (EKIN .LT. 1.0E-6) EKIN=1.0E-6 | |
713 | PP1=SQRT(EKIN*(EKIN+2.*ABS(PV(5,I)))) | |
714 | PV(4,I)=EKIN+ABS(PV(5,I)) | |
715 | C | |
716 | IF (PP .GE. 1.0E-6) GO TO 8006 | |
717 | CALL GRNDM(RNDM,2) | |
718 | RTHNVE=PI*RNDM(1) | |
719 | PHINVE=TWPI*RNDM(2) | |
720 | PV(1,I)=PP1*SIN(RTHNVE)*COS(PHINVE) | |
721 | PV(2,I)=PP1*SIN(RTHNVE)*SIN(PHINVE) | |
722 | PV(3,I)=PP1*COS(RTHNVE) | |
723 | GO TO 8007 | |
724 | 8006 CONTINUE | |
725 | PV(1,I)=PV(1,I)*PP1/PP | |
726 | PV(2,I)=PV(2,I)*PP1/PP | |
727 | PV(3,I)=PV(3,I)*PP1/PP | |
728 | 8007 CONTINUE | |
729 | C | |
730 | 22 CONTINUE | |
731 | 23 IF(ATNO2.LT.1.5) GOTO 40 | |
732 | C** | |
733 | C** ADD BLACK TRACK PARTICLES | |
734 | C** | |
735 | CALL HIGHAB(SPROB) | |
736 | CALL GRNDM(RNDM,1) | |
737 | IF(RNDM(1).LT.SPROB) GOTO 40 | |
738 | TEX=ENP(1) | |
739 | SPALL=TARG | |
740 | IF(TEX.LT.0.001) GOTO 445 | |
741 | BLACK=(1.5+1.25*TARG)*ENP(1)/(ENP(1)+ENP(3)) | |
742 | CALL POISSO(BLACK,NBL) | |
743 | IF(NPRT(4)) | |
744 | *WRITE(NEWBCD,3003) NBL,TEX | |
745 | IF(IFIX(TARG)+NBL.GT.ATNO2) NBL=ATNO2-TARG | |
746 | IF(NT+NBL.GT.MXGKPV-2) NBL=MXGKPV-2-NT | |
747 | IF(NBL.LE.0) GOTO 445 | |
748 | EKIN=TEX/NBL | |
749 | EKIN2=0. | |
750 | CALL STEEP(XX) | |
751 | DO 441 I=1,NBL | |
752 | CALL GRNDM(RNDM,1) | |
753 | IF(RNDM(1).LT.SPROB) GOTO 441 | |
754 | IF(NT.EQ.MXGKPV-2) GOTO 441 | |
755 | IF(EKIN2.GT.TEX) GOTO 443 | |
756 | CALL GRNDM(RNDM,1) | |
757 | RAN1=RNDM(1) | |
758 | CALL NORMAL(RAN2) | |
759 | EKIN1=-EKIN*LOG(RAN1)-CFA*(1.+0.5*RAN2) | |
760 | IF(EKIN1.LT.0.0) EKIN1=-0.010*LOG(RAN1) | |
761 | EKIN1=EKIN1*XX | |
762 | EKIN2=EKIN2+EKIN1 | |
763 | IF(EKIN2.GT.TEX) EKIN1=TEX-(EKIN2-EKIN1) | |
764 | IF (EKIN1 .LT. 0.0) EKIN1=1.0E-6 | |
765 | IPA1=16 | |
766 | PNRAT=1.-ZNO2/ATNO2 | |
767 | CALL GRNDM(RNDM,3) | |
768 | IF(RNDM(1).GT.PNRAT) IPA1=14 | |
769 | NT=NT+1 | |
770 | SPALL=SPALL+1. | |
771 | COST=-1.0+RNDM(2)*2.0 | |
772 | DUMNVE=1.0-COST*COST | |
773 | IF (DUMNVE .LT. 0.0) DUMNVE=0.0 | |
774 | SINT=SQRT(DUMNVE) | |
775 | PHI=TWPI*RNDM(3) | |
776 | IPA(NT)=-IPA1 | |
777 | SIDE(NT)=-4. | |
778 | PV(5,NT)=ABS(RMASS(IPA1)) | |
779 | PV(6,NT)=RCHARG(IPA1) | |
780 | PV(7,NT)=1. | |
781 | PV(4,NT)=EKIN1+PV(5,NT) | |
782 | DUMNVE=ABS(PV(4,NT)**2-PV(5,NT)**2) | |
783 | PP=SQRT(DUMNVE) | |
784 | PV(1,NT)=PP*SINT*SIN(PHI) | |
785 | PV(2,NT)=PP*SINT*COS(PHI) | |
786 | PV(3,NT)=PP*COST | |
787 | 441 CONTINUE | |
788 | 443 IF(ATNO2.LT.10.) GOTO 445 | |
789 | IF(EK.GT.2.0) GOTO 445 | |
790 | II=NT+1 | |
791 | KK=0 | |
792 | EKA=EK | |
793 | IF(EKA.GT.1.) EKA=EKA*EKA | |
794 | IF(EKA.LT.0.1) EKA=0.1 | |
795 | IKA=3.6*EXP((ZNO2**2/ATNO2-35.56)/6.45)/EKA | |
796 | IF(IKA.LE.0) GO TO 445 | |
797 | DO 444 I=1,NT | |
798 | II=II-1 | |
799 | IF(IPA(II).NE.-14) GOTO 444 | |
800 | IPA(II)=-16 | |
801 | IPA1 = 16 | |
802 | PV(5,II)=ABS(RMASS(IPA1)) | |
803 | PV(6,II)=RCHARG(IPA1) | |
804 | KK=KK+1 | |
805 | IF(KK.GT.IKA) GOTO 445 | |
806 | 444 CONTINUE | |
807 | 445 TEX=ENP(3) | |
808 | IF(TEX.LT.0.001) GOTO 40 | |
809 | BLACK=(1.5+1.25*TARG)*ENP(3)/(ENP(1)+ENP(3)) | |
810 | CALL POISSO(BLACK,NBL) | |
811 | IF(NT+NBL.GT.MXGKPV-2) NBL=MXGKPV-2-NT | |
812 | IF(NBL.LE.0) GOTO 40 | |
813 | EKIN=TEX/NBL | |
814 | EKIN2=0. | |
815 | CALL STEEP(XX) | |
816 | IF(NPRT(4)) | |
817 | *WRITE(NEWBCD,3004) NBL,TEX | |
818 | DO 442 I=1,NBL | |
819 | CALL GRNDM(RNDM,1) | |
820 | IF(RNDM(1).LT.SPROB) GOTO 442 | |
821 | IF(NT.EQ.MXGKPV-2) GOTO 442 | |
822 | IF(EKIN2.GT.TEX) GOTO 40 | |
823 | CALL GRNDM(RNDM,1) | |
824 | RAN1=RNDM(1) | |
825 | CALL NORMAL(RAN2) | |
826 | EKIN1=-EKIN*LOG(RAN1)-CFA*(1.+0.5*RAN2) | |
827 | IF(EKIN1.LT.0.0) EKIN1=-0.005*LOG(RAN1) | |
828 | EKIN1=EKIN1*XX | |
829 | EKIN2=EKIN2+EKIN1 | |
830 | IF(EKIN2.GT.TEX) EKIN1=TEX-(EKIN2-EKIN1) | |
831 | IF (EKIN1 .LT. 0.0) EKIN1=1.0E-6 | |
832 | CALL GRNDM(RNDM,3) | |
833 | COST=-1.0+RNDM(1)*2.0 | |
834 | DUMNVE=1.0-COST*COST | |
835 | IF (DUMNVE .LT. 0.0) DUMNVE=0.0 | |
836 | SINT=SQRT(DUMNVE) | |
837 | PHI=TWPI*RNDM(2) | |
838 | RAN=RNDM(3) | |
839 | IPA(NT+1)=-30 | |
840 | IF(RAN.GT.0.60) IPA(NT+1)=-31 | |
841 | IF(RAN.GT.0.90) IPA(NT+1)=-32 | |
842 | SIDE(NT+1)=-4. | |
843 | PV(5,NT+1)=(ABS(IPA(NT+1))-28)*MP | |
844 | SPALL=SPALL+PV(5,NT+1)*1.066 | |
845 | IF(SPALL.GT.ATNO2) GOTO 40 | |
846 | NT=NT+1 | |
847 | PV(6,NT)=1. | |
848 | IF(IPA(NT).EQ.-32) PV(6,NT)=2. | |
849 | PV(7,NT)=1. | |
850 | PV(4,NT)=PV(5,NT)+EKIN1 | |
851 | DUMNVE=ABS(PV(4,NT)**2-PV(5,NT)**2) | |
852 | PP=SQRT(DUMNVE) | |
853 | PV(1,NT)=PP*SINT*SIN(PHI) | |
854 | PV(2,NT)=PP*SINT*COS(PHI) | |
855 | PV(3,NT)=PP*COST | |
856 | 442 CONTINUE | |
857 | C** | |
858 | C** STORE ON EVENT COMMON | |
859 | C** | |
860 | 40 CALL GRNDM(RNDM,1) | |
861 | IF(RS.GT.(4.+RNDM(1)*1.)) GOTO 42 | |
862 | DO 41 I=1,NT | |
863 | CALL LENGTX(I,ETB) | |
864 | IF(ETB.LT.P) GOTO 41 | |
865 | ETF=P | |
866 | PV(4,I)=SQRT(PV(5,I)**2+ETF**2) | |
867 | DUMNVE=ETB | |
868 | IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 | |
869 | ETF=ETF/DUMNVE | |
870 | PV(1,I)=PV(1,I)*ETF | |
871 | PV(2,I)=PV(2,I)*ETF | |
872 | PV(3,I)=PV(3,I)*ETF | |
873 | 41 CONTINUE | |
874 | 42 EKIN=PV(4,MXGKPV)-ABS(PV(5,MXGKPV)) | |
875 | EKIN1=PV(4,MXGKPV-1)-ABS(PV(5,MXGKPV-1)) | |
876 | EKIN2=0. | |
877 | CALL TDELAY(TOF1) | |
878 | CALL GRNDM(RNDM,1) | |
879 | RAN=RNDM(1) | |
880 | TOF=TOF-TOF1*LOG(RAN) | |
881 | DO 44 I=1,NT | |
882 | IF(PV(7,I).LT.0.) PV(5,I)=-PV(5,I) | |
883 | PV(7,I)=TOF | |
884 | PV(8,I)=ABS(IPA(I)) | |
885 | PV(9,I)=0. | |
886 | 44 PV(10,I)=0. | |
887 | CALL GHETUN(NT) | |
888 | DO 45 I=1,NT | |
889 | EKIN2=EKIN2+PV(4,I)-ABS(PV(5,I)) | |
890 | 45 CONTINUE | |
891 | EKIN2=(EKIN2-EKIN)/EKIN | |
892 | IF(NPRT(4)) | |
893 | $ WRITE(NEWBCD,2006) NT,EKIN,ENP(1),ENP(3),EKIN1,EKIN2 | |
894 | IF(EKIN2.GT.0.2) GOTO 60 | |
895 | INTCT=INTCT+1. | |
896 | NMODE=3 | |
897 | IF(SPALL.LT.0.5.AND.ATNO2.GT.1.5) NMODE=14 | |
898 | CALL SETCUR(NT) | |
899 | NTK=NTK+1 | |
900 | IF(NT.EQ.1) GOTO 300 | |
901 | DO 50 II=2,NT | |
902 | I=II-1 | |
903 | IF(NTOT.LT.NSIZE/12) GOTO 43 | |
904 | GO TO 9999 | |
905 | 43 CALL SETTRK(I) | |
906 | 50 CONTINUE | |
907 | 300 CONTINUE | |
908 | GO TO 9999 | |
909 | C** | |
910 | C** IT IS NOT POSSIBLE TO PRODUCE A PROPER TWO CLUSTER FINAL STATE. | |
911 | C** CONTINUE WITH QUASI ELASTIC SCATTERING | |
912 | C** | |
913 | 60 IF(NPRT(4)) WRITE(NEWBCD,2005) | |
914 | DO 61 I=3,MXGKCU | |
915 | 61 IPA(I)=0 | |
916 | IPA(1)=IPART | |
917 | IPA(2)=14 | |
918 | IF(NFL.EQ.2) IPA(2)=16 | |
919 | CALL TWOB(IPPP,NFL,AVERN) | |
920 | GO TO 9999 | |
921 | C | |
922 | 2000 FORMAT(' *HIGCLU* CMS PARAMETERS OF FINAL STATE PARTICLES', | |
923 | $ ' AFTER ',I3,' TRIALS') | |
924 | 2001 FORMAT(' *HIGCLU* TRACK',2X,I3,2X,10F8.2,2X,I3,2X,F3.0) | |
925 | 2002 FORMAT(' *HIGCLU* MOMENTUM ',F8.3,' MASSES ',2F8.4,' RS ',F8.4) | |
926 | 2003 FORMAT(' *HIGCLU* TETA,EKIN0,EKIN1,EKIN ',4F10.4) | |
927 | 2004 FORMAT(' *HIGCLU* TECM,NPB,MASSES: ',F10.4,1X,I3,1X,8F10.4/ | |
928 | $ 1H ,26X,15X,8F10.4) | |
929 | 2005 FORMAT(' *HIGCLU* NUMBER OF FINAL STATE PARTICLES', | |
930 | $ ' LESS THAN 2 ==> CONTINUE WITH 2-BODY SCATTERING') | |
931 | 2006 FORMAT(' *HIGCLU* COMP.',1X,I5,1X,5F7.2) | |
932 | 3001 FORMAT(' *HIGCLU* NUCLEAR EXCITATION ',I5,' PARTICLES PRODUCED', | |
933 | $ ' IN ADDITION TO',I5,' NORMAL PARTICLES') | |
934 | 3003 FORMAT(' *HIGCLU* ',I3,' BLACK TRACK PARTICLES PRODUCED', | |
935 | $ ' WITH TOTAL KINETIC ENERGY OF ',F8.3,' GEV') | |
936 | 3004 FORMAT(' *HIGCLU* ',I5,' HEAVY FRAGMENTS WITH TOTAL ENERGY OF ', | |
937 | $ F8.4,' GEV') | |
938 | C | |
939 | 9999 CONTINUE | |
940 | END |