5 * Revision 1.1.1.1 1995/10/24 10:22:03 cernlib
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/02 28/03/94 01.30.59 by S.Giani
12 #if defined(CERNLIB_HPUX)
18 *=== prepre ===========================================================*
20 SUBROUTINE PREPRE ( WEE, NNEUT, NPROT, NHOLE, ICYCL )
22 #include "geant321/dblprc.inc"
23 #include "geant321/dimpar.inc"
24 #include "geant321/iounit.inc"
26 *----------------------------------------------------------------------*
27 *----------------------------------------------------------------------*
29 #include "geant321/balanc.inc"
30 #include "geant321/eva0.inc"
31 #include "geant321/fheavy.inc"
32 #include "geant321/finuc.inc"
33 #include "geant321/nucdat.inc"
34 #include "geant321/nucgeo.inc"
35 #include "geant321/parevt.inc"
36 #include "geant321/parnuc.inc"
37 #include "geant321/part.inc"
38 #include "geant321/resnuc.inc"
41 COMMON / FKCOSP / C1ST (3), C2ND (3), LEMISS
43 COMMON / FKCMCY / NPCYCL (20,2), IEVT, LOUT
44 COMMON / FKPLOC / IABCOU
46 DIMENSION ERNCM (2), EPSMX (2), AMMAFT (2), AMNAFT (2),
47 & ZAFTR (2), EEXMNM (2), EEXDLT (2), EEXANW (2),
48 & EPSEEX (2), EPSDLT (2), EPSANY (2), EPSFIX (29),
49 & C (3), UMULEG (0:2), ACOLEG (0:2), NPART (2),
51 LOGICAL LSPREJ, LNUCTS
57 NHOLE = NHOLE - NHLFIX
59 DO 50 IHOLE = 1, NHLFIX
60 EHLFIX = EHLFIX + HOLEXP (IHOLE)
62 IF ( NHOLE .GT. 0 ) THEN
63 RHOIMP = ( RHOIMP * ( NHOLE + NHLFIX ) - RHOEXP ) / NHOLE
64 EKFIMP = ( EKFIMP * ( NHOLE + NHLFIX ) - EKFEXP ) / NHOLE
74 IF ( PTRES .LT. ANGLGB ) THEN
86 CALL RACO ( CXAXCM, CYAXCM, CZAXCM )
88 UMO2 = ( ERES - PTRES ) * ( ERES + PTRES )
96 ETAPCM = ETAX * PXORI + ETAY * PYORI + ETAZ * PZORI
97 PHELP = EKORI + AM (KPORI) - ETAPCM / ( GAMCM + 1.D+00 )
98 PCMSX = PXORI - ETAX * PHELP
99 PCMSY = PYORI - ETAY * PHELP
100 PCMSZ = PZORI - ETAZ * PHELP
101 PCMORI = SQRT ( PCMSX**2 + PCMSY**2 + PCMSZ**2 )
102 CXAXCM = PCMSX / PCMORI
103 CYAXCM = PCMSY / PCMORI
104 CZAXCM = PCMSZ / PCMORI
109 EHLFIX = MIN ( TVCMS, EHLFIX )
110 TVEFF = TVCMS - EHLFIX
111 IF ( TVEFF .LE. 0.D+00 ) GO TO 7000
112 TEMNU = SQRT ( TVCMS / ANOW * ALEVEL )
113 NEXMX = SQRT ( 2.D+00 * ANOW * TVCMS / ALEVEL )
114 NPTOT = NPART (1) + NPART (2)
115 IF ( NHOLE + NPTOT + NHLFIX .GE. NEXMX .OR.
116 & NPTOT .GT. NINT (0.5D+00 * ANOW) ) GO TO 7000
120 AVEBIN = ( ( BBTAR - ZZTAR - ACOLL + ZCOLL ) * BNENRG (2)
121 & + ( ZZTAR - ZCOLL ) * BNENRG (1) ) / ( BBTAR - ACOLL )
126 AMMAFT(1) = AAFTR * AMUAMU + 1.D-03 * FKENER (AAFTR,ZAFTR(1))
127 AMNAFT(1) = AMMAFT (1) - ZAFTR (1) * AMELEC + ELBNDE (IZAFT)
128 CALL EEXLVL ( IAAFT, IZAFT, EEXDLT (1), EEXMNM (1), EEXDUM )
130 EPSMX (1) = UMO - AMNRES - BNDGAV - EHLFIX
131 EPSDLT (1) = UMO - AMNRES - BNDGAV - EEXDLT (1)
132 EPSEEX (1) = UMO - AMNRES - BNDGAV - EEXMNM (1)
135 AMMAFT(2) = AAFTR * AMUAMU + 1.D-03 * FKENER (AAFTR,ZAFTR(2))
136 AMNAFT(2) = AMMAFT (2) - ZAFTR (2) * AMELEC + ELBNDE (IZAFT)
137 CALL EEXLVL ( IAAFT, IZAFT, EEXDLT (2), EEXMNM (2), EEXDUM )
139 EPSMX (2) = UMO - AMNRES - BNDGAV - EHLFIX
140 IF ( EPSMX (1) + EPSMX (2) .LT. 2.D+00 * TEMNU ) GO TO 7000
141 EPSDLT (2) = UMO - AMNRES - BNDGAV - EEXDLT (2)
142 EPSEEX (2) = UMO - AMNRES - BNDGAV - EEXMNM (2)
143 IF ( NP .LE. NP0 ) THEN
144 IF ( KPORI .EQ. 8 ) THEN
145 EEXANW (1) = EEXDLT (1)
146 EPSANY (1) = MIN ( EPSDLT (1), EPSMX (1) )
148 EPSANY (2) = EPSMX (2)
149 ELSE IF ( KPORI .EQ. 1 ) THEN
151 EPSANY (1) = EPSMX (1)
152 EEXANW (2) = EEXDLT (2)
153 EPSANY (2) = MIN ( EPSDLT (2), EPSMX (2) )
156 EPSANY (1) = EPSMX (1)
158 EPSANY (2) = EPSMX (2)
162 EPSANY (1) = EPSMX (1)
164 EPSANY (2) = EPSMX (2)
166 SIGIN0 = PI * ( R0SIGK * RMASS (IBRES-1) )**2
174 IF ( .NOT. LEMISS ) ICYCL = ICYCL + 1
175 IF ( NPTOT .LE. 0 ) GO TO 4600
176 IF ( NNUCTS .GT. MNUCTS ) THEN
178 JNUCTS = INUCTS (MNUCTS)
179 JEMIS0 = 2 - ABS (KPNUCL(JNUCTS)) / 8
184 TMPRHO = 0.001D+00 * RHOAVE
185 RHOIMP = MAX ( RHNUCL (JNUCTS), TMPRHO )
186 TMPEKF = 0.001D+00 * EKFAVE
187 EKFIMP = MAX ( EKFNUC (JNUCTS), TMPEKF )
192 IF ( RNDM (1) .LT. ANNEUT / ANPTOT ) THEN
202 NEXTOT = NPTOT + NHOLE
203 RHORED = ACOLL / BBTAR
205 EKFCNN = ( ZNOW * EKFCEN (1) + ( ANOW - ZNOW ) * EKFCEN (2)
212 ELSE IF ( NPTOT .LE. 2 .AND. ICYCL .EQ. 1 ) THEN
213 AHLTOT = MAX ( NHOLE, 1 )
214 WEIGH1 = NHINI / AHLTOT
215 WEIGH2 = 1.D+00 - WEIGH1
216 AEFREF = WEIGH1 * EKFIMP + WEIGH2 * EKFAVE
217 RHONUC = WEIGH1 * RHOIMP + WEIGH2 * RHOAVE
218 AEFRAV = WEIGH1 * EKFIMP + WEIGH2 * EKFAVE
219 RHONUC = RHORED * ( ( AHLTOT + 1.D+00 - RHOWEI )
220 & * RHONUC + RHOWEI * RHOAVE ) / ( AHLTOT + 1.D+00 )
221 AEFRAV = ( AHLTOT * AEFRAV + EKFAVE )
222 & / ( AHLTOT + 1.D+00 )
224 AHLTOT = MAX ( NHOLE, 1 )
225 WEIGH1 = NHINI / AHLTOT
226 WEIGH2 = 1.D+00 - WEIGH1
227 AEFREF = WEIGH1 * EKFIMP + WEIGH2 * EKFAVE
228 RHONUC = WEIGH1 * RHOIMP + WEIGH2 * RHOAVE
229 AEFRAV = WEIGH1 * EKFIMP + WEIGH2 * EKFAVE
230 RHONUC = RHORED * ( ( AHLTOT + 1.D+00 - RHOWEI )
231 & * RHONUC + RHOWEI * RHOAVE ) / ( AHLTOT + 1.D+00 )
232 AEFRAV = ( AHLTOT * AEFRAV + EKFAVE )
233 & / ( AHLTOT + 1.D+00 )
238 AEFREF = 0.5D+00 * AEFRMX
240 RHONUC = 0.5D+00**1.5D+00 * RHONU0
243 DO 4500 JEMISS = JEMIS0, JEMIS1, JDEMIS
244 IF ( NPART (JEMISS) .LE. 0 ) GO TO 4500
246 RATEC0 = 2.D+00 * AMNUCL (IEMISS) / PLABRC**3 / PISQ
247 BNDGEN = AMNAFT (JEMISS) + AMNUCL (IEMISS) - AMNRES
248 IF ( .NOT. LNUCTS .AND. EPRFIX .GT. ANGLGB ) THEN
249 TVEFF = TVEFF - EPRFIX
250 NPTOT = NPTOT - NPRFIX (1) - NPRFIX (2)
251 NPART (1) = NPART (1) - NPRFIX (1)
252 NPART (2) = NPART (2) - NPRFIX (2)
254 ERNCM0 = ERNCM (JEMISS)
255 EPSMX0 = EPSMX (JEMISS)
256 BNDGAV = BNENRG (IEMISS)
257 EPSMX (JEMISS) = UMO - AMNRES - BNDGAV - EHLFIX - EPRFIX
261 BNDGAV = BNENRG (IEMISS)
262 EPSMIN = BNDGEN - BNDGAV
263 BNDHLP = BNENRG (IEMISS)
264 IF ( EPSMX (JEMISS) - EPSMIN .LT. TEMNU ) GO TO 4500
265 IF ( EHLFIX + EPRFIX .LE. 0.5D+00 * EEXANW (JEMISS) ) THEN
266 UUMIN = TVEFF - 0.5D+00 * ( EPSANY (JEMISS)
267 & + EPSMX (JEMISS) ) - BNDGAV
269 UUMIN = TVEFF - EPSMX (JEMISS) - BNDGAV
271 UUMAX = TVEFF - BNDGEN
272 BNDUSE = BNENRG (IEMISS)
274 EKNNUC = ENNUC (JNUCTS) - AMNUCL (IEMISS) + BNDGEN
276 EPSHLP = BNDHLP - BNDGEN + EPSMIN
277 EKNNUC = EKNNUC + EPSHLP
278 IF ( EKNNUC .LE. EPSMIN ) THEN
280 ELSE IF ( EKNNUC .LE. 0.D+00 ) THEN
281 DELTAE = 0.5D+00 * ( - EPSMIN - EKNNUC )
282 EKNNUC = EKNNUC + DELTAE
286 ENNUC (JNUCTS) = EKNNUC + AMNUCL (IEMISS)
287 PNUCCO = SQRT ( EKNNUC * ( EKNNUC + 2.D+00
288 & * AMNUCL (IEMISS) ) )
289 PHELP = PNUCCO / PNUCL (JNUCTS)
290 PCMSX = PXNUCL (JNUCTS) * PHELP
291 PCMSY = PYNUCL (JNUCTS) * PHELP
292 PCMSZ = PZNUCL (JNUCTS) * PHELP
293 ETAPCM = ETAX * PCMSX + ETAY * PCMSY + ETAZ * PCMSZ
294 PHELP = ENNUC (JNUCTS) - ETAPCM / ( GAMCM + 1.D+00 )
295 PCMSX = PCMSX - ETAX * PHELP
296 PCMSY = PCMSY - ETAY * PHELP
297 PCMSZ = PCMSZ - ETAZ * PHELP
298 PCMST = SQRT ( PCMSX**2 + PCMSY**2 + PCMSZ**2 )
299 EPS = GAMCM * ENNUC (JNUCTS) - ETAPCM - AMNUCL (IEMISS)
300 IF ( EPS .LE. EPSMIN ) THEN
302 ELSE IF ( EPS .LT. ANGLGB * ENNUC (JNUCTS) ) THEN
306 C (1) = PCMSX / PCMST
307 C (2) = PCMSY / PCMST
308 C (3) = PCMSZ / PCMST
309 EPS = MIN ( EPS, HLFHLF * ( EPSMX (JEMISS)
310 & + EPSANY (JEMISS) ) )
311 IF ( JEMISS .EQ. 2 ) THEN
312 FLKCOU = DOST ( 1, ZAFTR (JEMISS) )
313 CCOUL = DOST ( 3, ZAFTR (JEMISS) )
314 ETHRES = FLKCOU * COULBH * ( ZNOW - 1.D+00 )
323 IF ( UUMIN .GE. UUMAX ) GO TO 4500
324 EPSINV = 0.5D+00 * ( UMO2 - ( AMNUCL (IEMISS)
325 & + AMNAFT (JEMISS) )**2 ) / AMNAFT (JEMISS)
326 EPSWLL = EPSINV + AEFRAV + BNDUSE + AMNUCL (IEMISS)
327 BETWLL = SQRT ( 1.D+00 - AMNUSQ (IEMISS) / EPSWLL**2 )
328 EKEWLL = EPSWLL - AMNUCL (IEMISS)
329 IF ( JEMISS .EQ. 1 ) THEN
330 AALPHA = 0.76D+00 + 2.2D+00 / RMASS (IBRES-1)
331 BBETAA = ( 2.22D+00 / RMASS (IBRES-1)**2 - 0.05D+00 )
334 EPSEFF = MIN ( EPSINV, TMP07 )
335 SIGINV = 0.1D+00 * XINNEU ( EPSEFF, ZAFTR (JEMISS),
338 GSNGLV = 1.5D+00 * ( ANOW - ZNOW ) / EKFCEN (IEMISS)
339 IF ( EKEWLL .LE. 0.04D+00 ) THEN
340 SIGMAP = 3.D+03 * PI / ( 1.206D+03 * EKEWLL + (
341 & -1.86D+00 + 0.09415D+03 * EKEWLL
342 & + 0.0001306D+06 * EKEWLL**2 )**2 ) + 1.D+03
343 & * PI / ( 1.206D+03 * EKEWLL + ( 0.4223D+00
344 & + 0.13D+03 * EKEWLL )**2 )
345 IF ( EKEWLL .LT. 0.02D+00 ) THEN
346 SIGMAN = 0.3333333333333333D+00 * SIGMAP
348 SIGMAN = 10.63D+00 / BETWLL**2 - 29.92D+00 / BETWLL
352 SIGMAP = 34.10D+00 / BETWLL**2 - 82.2D+00 / BETWLL
354 SIGMAN = 10.63D+00 / BETWLL**2 - 29.92D+00 / BETWLL
357 SIGMAP = 0.1D+00 * SIGMAP
358 SIGMAN = 0.1D+00 * SIGMAN
359 SGNUNU = ( ( ANOW - ZNOW - ANNEUT ) * SIGMAN
360 & + ( ZNOW - ANPROT ) * SIGMAP )
361 & / ( ANOW - ANPTOT )
363 EPSCOU = UMO - AMNAFT (JEMISS) - AMNUCL (IEMISS)
364 FLKCOU = DOST ( 1, ZAFTR (JEMISS) )
365 CCOUL = DOST ( 3, ZAFTR (JEMISS) )
366 ETHRES = FLKCOU * COULBH * ( ZNOW - 1.D+00 )
369 EPSEFF = MIN ( EPSINV, TMP07 )
370 SIGINV = 1.D-01 * XINPRO ( EPSEFF, ZAFTR (JEMISS),
373 GSNGLV = 1.5D+00 * ZNOW / EKFCEN (IEMISS)
374 IF ( EKEWLL .LE. 0.04D+00 ) THEN
375 SIGMAN = 3.D+03 * PI / ( 1.206D+03 * EKEWLL + (
376 & -1.86D+00 + 0.09415D+03 * EKEWLL
377 & + 0.0001306D+06 * EKEWLL**2 )**2 ) + 1.D+03
378 & * PI / ( 1.206D+03 * EKEWLL + ( 0.4223D+00
379 & + 0.13D+03 * EKEWLL )**2 )
380 IF ( EKEWLL .LT. 0.02D+00 ) THEN
381 SIGMAP = 0.3333333333333333D+00 * SIGMAN
383 SIGMAP = 10.63D+00 / BETWLL**2 - 29.92D+00 / BETWLL
387 SIGMAN = 34.10D+00 / BETWLL**2 - 82.2D+00 / BETWLL
389 SIGMAP = 10.63D+00 / BETWLL**2 - 29.92D+00 / BETWLL
392 SIGMAP = 0.1D+00 * SIGMAP
393 SIGMAN = 0.1D+00 * SIGMAN
394 SGNUNU = ( ( ANOW - ZNOW - ANNEUT ) * SIGMAN
395 & + ( ZNOW - ANPROT ) * SIGMAP )
396 & / ( ANOW - ANPTOT )
398 ZITA = AEFRAV / EKEWLL
399 IF ( ZITA .LE. 0.5D+00 ) THEN
400 PZITA = 1.D+00 - 1.4D+00 * ZITA
402 PZITA = 1.D+00 - 1.4D+00 * ZITA + 0.4D+00 * ZITA
403 & * ( 2.D+00 - 1.D+00 / ZITA )**2.5D+00
405 RATEC = SIGINV * RATEC0 * EPSINV / GSNGLV
406 IF ( RATEC .LE. 0.D+00 ) GO TO 4500
407 ALAMDC = BETWLL / RATEC
408 ALAMDI = 1.D+00 / ( SGNUNU * RHONUC * PZITA ) + MAX (TWOTWO
409 & * PI * PLABRC * BETWLL * EPSWLL / AMNUSQ (IEMISS),
411 AMUTOT = 1.D+00 / ALAMDI + 1.D+00 / ALAMDC
412 RATEI = BETWLL / ALAMDI
413 FLAMMX = SFTYMX * RATEC / ( RATEC + CLAMDI * RATEI )
414 IF ( FLAMMX .LT. 0.D+00 ) THEN
417 LSPREJ = .NOT. ( NHOLE .GT. 2 .OR. NPTOT .GT. 4 )
419 IF ( NPTOT .EQ. 1 ) THEN
420 IF ( NHOLE .EQ. 0 ) THEN
427 ELSE IF ( NHOLE .EQ. 1 ) THEN
429 ELSE IF ( NHOLE .EQ. 2 ) THEN
434 ELSE IF ( NPTOT .EQ. 2 ) THEN
435 IF ( NHOLE .EQ. 0 ) THEN
437 ELSE IF ( NHOLE .EQ. 1 ) THEN
439 ELSE IF ( NHOLE .EQ. 2 ) THEN
444 ELSE IF ( NPTOT .EQ. 3 ) THEN
445 IF ( NHOLE .EQ. 0 ) THEN
447 ELSE IF ( NHOLE .EQ. 1 ) THEN
449 ELSE IF ( NHOLE .EQ. 2 ) THEN
460 GO TO ( 2100, 2200, 2300, 2400, 2500, 2600, 2700 ), ISAMPL
464 UUMAX = MIN ( AEFRPA, UUMAX )
465 AITOT = ( AEFRPA**3 - ( AEFRPA + UUMIN - UUMAX )**3 )
467 IF ( UUMAX .GT. TVEFF ) THEN
468 AIPRO = MIN ( AITOT, ONEONE ) * FLAMMX
469 AITOT = AITOT * FLAMMX
471 AITOT = AITOT * FLAMMX
478 UUMAX = MIN ( TWOTWO * AEFRPA, UUMAX )
479 IF ( TVEFF .LE. AEFRPA ) THEN
480 EDENOM = TVEFF**2 * 0.5D+00
481 ELSE IF ( TVEFF .LE. 2.D+00 * AEFRPA ) THEN
482 EDENOM = ( TVEFF**2 - 2.D+00 * ( TVEFF - AEFRPA )**2 )
488 IF ( UUMAX .GT. AEFRPA ) THEN
491 AIPR1 = 0.5D+00 * UUDV2
492 AIPR2 = 0.5D+00 * ( UUMAX - UUDIV ) * ( 3.D+00 * UUDIV
494 IF ( UUMIN .LE. UUDIV ) THEN
495 AITO1 = 0.5D+00 * ( UUDV2 - UUMN2 )
500 AIHLP = 0.5D+00 * ( UUMIN - UUDIV ) * ( 3.D+00
502 AITO2 = AIPR2 - AIHLP
507 AIPR1 = 0.5D+00 * UUDV2
508 AITO1 = 0.5D+00 * ( UUDV2 - UUMN2 )
512 AITOT = AITO1 + AITO2
513 AITO1 = AITO1 / AITOT
514 AITO2 = AITO2 / AITOT
515 AITOT = AITOT * FLAMMX / EDENOM
516 IF ( UUMAX .GT. TVEFF ) THEN
517 AIPRO = MIN ( ( AIPR1 + AIPR2 ) / EDENOM, ONEONE )
520 AIPRO = ( AIPR1 + AIPR2 ) * FLAMMX / EDENOM
526 IF ( TVEFF .LE. AEFRPA ) THEN
527 EDENOM = 0.25D+00 * TVEFF * TVEFF
529 EDENOM = 0.25D+00 * AEFRPA * ( 2.D+00 * TVEFF
532 FCHLP = 0.25D+00 * NPART (JEMISS)
533 IF ( UUMAX .LE. AEFRPA ) THEN
535 AIPR1 = FCHLP * UUDIV**2
536 AITO1 = AIPR1 - FCHLP * UUMIN**2
541 AIPR1 = FCHLP * UUDIV**2
542 AIPR2 = FCHLP * ( UUMAX - UUDIV ) * UUDIV
543 IF ( UUMIN .GT. UUDIV ) THEN
545 AIHLP = FCHLP * ( UUMIN - UUDIV ) * UUDIV
546 AITO2 = AIPR2 - AIHLP
549 AITO1 = AIPR1 - FCHLP * UUMIN**2
553 AITOT = AITO1 + AITO2
554 AITO1 = AITO1 / AITOT
555 AITO2 = AITO2 / AITOT
556 IF ( UUMAX .GT. TVEFF ) THEN
557 DDNPAR = NPART(JEMISS)
558 AIPRO = MIN ( ( AIPR1 + AIPR2 ) / EDENOM,
561 AIPRO = ( AIPR1 + AIPR2 ) * FLAMMX / EDENOM
567 IF ( TVEFF .LE. AEFRPA ) THEN
571 ELSE IF ( TVEFF .LE. 2.D+00 * AEFRPA ) THEN
572 FEMAX = TVEFF**3 / ( TVEFF**3 - 2.D+00 * ( TVEFF
575 FEMAX = 0.1666666666666667D+00 * TVEFF**3
576 & / ( AEFRPA**2 * ( TVEFF - AEFRPA ) )
578 UUMNR = ( UUMIN / TVEFF )**(NEXTOT-1)
579 UUMXR = ( UUMAX / TVEFF )**(NEXTOT-1)
580 AITOT = NPART (JEMISS) * FLAMMX * ( UUMXR - UUMNR )
582 AIPRO = NPART (JEMISS) * FLAMMX * UUMXR * FEMAX
587 IF ( TVEFF .LE. AEFRPA ) THEN
588 EDENOM = TVEFF**3 / 36.D+00
590 EDENOM = ( TVEFF**3 - ( TVEFF - AEFRPA )**3 )
593 IF ( UUMAX .GT. AEFRPA ) THEN
597 FCHLP = NPART(JEMISS) / 36.D+00
598 AIPR1 = FCHLP * UUDV3
599 AIPR2 = 3.D+00 * FCHLP * UUMAX * UUDIV * ( UUMAX
601 IF ( UUMIN .LE. UUDIV ) THEN
602 AITO1 = AIPR1 - FCHLP * UUMN3
607 AIHLP = 3.D+00 * FCHLP * UUMIN * UUDIV * ( UUMIN
609 AITO2 = AIPR2 - AIHLP
615 FCHLP = NPART(JEMISS) / 36.D+00
616 AIPR1 = FCHLP * UUDV3
617 AITO1 = AIPR1 - FCHLP * UUMN3
621 AITOT = AITO1 + AITO2
622 AITO1 = AITO1 / AITOT
623 AITO2 = AITO2 / AITOT
624 AITOT = AITOT * FLAMMX / EDENOM
625 IF ( UUMAX .GT. TVEFF ) THEN
626 DDNPAR = NPART(JEMISS)
627 AIPRO = MIN ( ( AIPR1 + AIPR2 ) / EDENOM,
630 AIPRO = ( AIPR1 + AIPR2 ) * FLAMMX / EDENOM
635 IF ( TVEFF .LE. AEFRPA ) THEN
636 EDENOM = TVEFF**4 / 288.D+00
637 ELSE IF ( TVEFF .LE. 2.D+00 * AEFRPA ) THEN
638 EDENOM = ( TVEFF**4 - 2.D+00 * ( TVEFF - AEFRPA )**4 )
641 EDENOM = AEFRPA**2 * ( 0.5D+00 * TVEFF**2 - TVEFF
642 & * AEFRPA + 7.D+00 / 12.D+00 * AEFRPA**2 )
645 FCHLP = NPART (JEMISS) / 288.D+00
646 IF ( UUMAX .GT. 2.D+00 * AEFRPA ) THEN
649 UUDI2 = 2.D+00 * AEFRPA
653 AIPR1 = FCHLP * UUDV4
654 AIPR2 = FCHLP * ( UUD24 - UUDV4 )
655 AIPR3 = 12.D+00 * FCHLP * AEFRPA**2 * UUMAX
656 & * ( UUMAX - UUDI2 )
657 IF ( UUMIN .LE. UUDIV ) THEN
658 AITO1 = AIPR1 - FCHLP * UUMN4
663 ELSE IF ( UUMIN .LE. UUDI2 ) THEN
665 AIHLP = FCHLP * ( UUMN4 - UUDV4 )
666 AITO2 = AIPR2 - AIHLP
672 AIHL2 = 12.D+00 * FCHLP * AEFRPA**2 * UUMIN
673 & * ( UUMIN - UUDI2 )
674 AITO3 = AIPR3 - AIHL2
676 ELSE IF ( UUMAX .GT. AEFRPA ) THEN
683 AIPR1 = FCHLP * UUDV4
684 AIPR2 = FCHLP * ( UUD24 - UUDV4 )
685 IF ( UUMIN .LE. UUDIV ) THEN
686 AITO1 = AIPR1 - FCHLP * UUMN4
691 AIHLP = FCHLP * ( UUMN4 - UUDV4 )
692 AITO2 = AIPR2 - AIHLP
702 AIPR1 = FCHLP * UUDV4
703 AITO1 = AIPR1 - FCHLP * UUMN4
709 AITOT = AITO1 + AITO2 + AITO3
710 AITO1 = AITO1 / AITOT
711 AITO2 = AITO2 / AITOT
712 AITO3 = AITO3 / AITOT
713 AITOT = AITOT * FLAMMX / EDENOM
714 AIPRO = ( AIPR1 + AIPR2 + AIPR3 ) * FLAMMX / EDENOM
722 UULMXR = (LOG(UUMAX)-TVLEFF)*(NEXTOT-1)
724 IF(UULMXR.LT.-88) THEN
732 UULMNR = (LOG(UUMIN)-TVLEFF)*(NEXTOT-1)
734 IF(UULMNR.LT.-88) THEN
740 AITOT = NPART (JEMISS) * FLAMMX * ( UUMXR - UUMNR )
741 AIPRO = NPART (JEMISS) * FLAMMX * MIN ( UUMXR, ONEONE )
746 IF ( RNTENT .LT. AIPRO - NTENT ) NTENT = NTENT + 1
749 DO 4100 IT = 1, NTENT
750 GO TO ( 3100, 3200, 3300, 3400, 3500, 3600, 3700 ),
755 UURND = AEFRPA * ( 1.D+00 - AITOT / FLAMMX
756 & * RNDM (1) )**0.3333333333333333D+00
757 UURND = AEFRPA - UURND + UUMIN
762 IF ( RNDEPS .LT. AITO1 ) THEN
763 RNDEPS = RNDEPS / AITO1
764 UURND = SQRT ( RNDEPS * ( UUDV2 - UUMN2 ) + UUMN2)
766 RNDEPS = RNDEPS - AITO1
767 RNDEPS = AIHLP + RNDEPS * AITOT * EDENOM / FLAMMX
768 UURND = 2.D+00 * UUDIV - SQRT ( UUDIV**2
769 & - 2.D+00 * RNDEPS )
775 IF ( RNDEPS .LT. AITO1 ) THEN
776 RNDEPS = RNDEPS * AITOT
777 UURND = RNDEPS / FCHLP + UUMIN**2
780 RNDEPS = ( RNDEPS - AITO1 ) * AITOT + AIHLP
781 UURND = RNDEPS / FCHLP / UUDIV + UUDIV
786 UURND = TVEFF * ( RNDM (1) * AITOT / FLAMMX
787 & / FEMAX / NPART(JEMISS) + UUMNR )**
788 & ( 1.D+00 / (NEXTOT-1) )
789 IF ( UURND .LE. AEFRPA ) THEN
792 ELSE IF ( UURND .LE. 2.D+00 * AEFRPA ) THEN
793 FREJE = ( UURND**2 - 2.D+00 * ( UURND - AEFRPA )
796 FREJE = 2.D+00 * AEFRPA**2 / UURND**2
802 IF ( RNDEPS .LT. AITO1 ) THEN
803 RNDEPS = RNDEPS / AITO1
804 UURND = RNDEPS * ( UUDV3 - UUMN3 ) + UUMN3
805 UURND = UURND**0.333333333333333D+00
807 ELSE IF ( RNDEPS .LT. AITO1 + AITO2 ) THEN
808 RNDEPS = RNDEPS - AITO1
809 RNDEPS = RNDEPS * AITOT * EDENOM / FLAMMX + AIHLP
810 UURND = 0.5D+00 * ( UUDIV + SQRT ( UUDIV**2
811 & + 1.333333333333333D+00 * RNDEPS / FCHLP
819 IF ( RNDEPS .LT. AITO1 ) THEN
820 RNDEPS = RNDEPS / AITO1
821 UURND = RNDEPS * ( UUDV4 - UUMN4 ) + UUMN4
822 UURND = UURND**0.25D+00
824 ELSE IF ( RNDEPS .LT. AITO1 + AITO2 ) THEN
825 RNDEPS = RNDEPS - AITO1
826 RNDEPS = RNDEPS * AITOT * EDENOM / FLAMMX + AIHLP
827 UURND = RNDEPS / FCHLP + UUDV4
828 UURND = UURND**0.25D+00
830 FREJE = 1.D+00 - 2.D+00 * ( 1.D+00 - UUDIV / UURND
833 RNDEPS = RNDEPS - AITO1 - AITO2
834 RNDEPS = RNDEPS * AITOT * EDENOM / FLAMMX + AIHL2
835 UURND = AEFRPA + SQRT ( AEFRPA**2 + RNDEPS /
836 & ( 12.D+00 * FCHLP * AEFRPA**2 ) )
842 UURND = TVEFF * ( RNDM (1) * AITOT / FLAMMX
843 & / NPART(JEMISS) + UUMNR )**
844 & ( 1.D+00 / (NEXTOT-1) )
848 IF ( RNDM (1) .GE. FREJE ) GO TO 4100
850 EPS = TVEFF - UURND - BNDGAV
854 EPSFIX (ITACC) = EPS - EPSMIN + BNDGEN
856 DEPSEX = EPS - EPSEEX (JEMISS)
857 IF ( DEPSEX .GT. 0.D+00 ) THEN
858 IF ( EEXDLT (JEMISS) .LT. EEXMNM (JEMISS) .AND.
859 & DEPSEX .GT. 0.5D+00 * ( EPSDLT (JEMISS) - EPSEEX
861 DEPSEX = EPS - EPSDLT (JEMISS)
862 IF ( DEPSEX .GT. 0.5D+00 * ( EPSDLT (JEMISS)
863 & - EPSANY (JEMISS) ) ) THEN
864 EPS = EPSANY (JEMISS)
866 EPS = EPSDLT (JEMISS)
869 EPS = EPSEEX (JEMISS)
871 IF ( EPS .LE. EPSMIN ) GO TO 4100
873 AMNHLP = UMO - EPS + EPSMIN - AMNUCL (IEMISS)
874 ERNCM (JEMISS) = 0.5D+00 * ( UMO2 + AMNHLP**2
875 & - AMNUSQ (IEMISS) ) / UMO
876 EPS = UMO - ERNCM (JEMISS) - AMNUCL (IEMISS)
877 EPSINV = 0.5D+00 * ( UMO2 - ( AMNUCL (IEMISS)
878 & + AMNHLP )**2 ) / AMNHLP
879 EPSWLL = EPSINV + AEFRAV + BNDUSE + AMNUCL (IEMISS)
880 BETWLL = SQRT ( 1.D+00 - AMNUSQ (IEMISS) / EPSWLL**2 )
881 EKEWLL = EPSWLL - AMNUCL (IEMISS)
882 EPSCOU = UMO - AMNHLP - AMNUCL (IEMISS)
883 IF ( JEMISS .EQ. 1 ) THEN
884 GSNGLV = 1.5D+00 * ( ANOW - ZNOW ) * SQRT ( ( EKEWLL
885 & + EKFCEN (IEMISS) - AEFRAV ) / EKFCEN (IEMISS))
887 AALPHA = 0.76D+00 + 2.2D+00 / RMASS (IBRES-1)
888 BBETAA = ( 2.22D+00 / RMASS (IBRES-1)**2 - 0.05D+00 )
890 SIGINV = 0.1D+00 * XINNEU ( EPSINV, ZAFTR (JEMISS),
892 IF ( EKEWLL .LE. 0.04D+00 ) THEN
893 SIGMAP = 3.D+03 * PI / ( 1.206D+03 * EKEWLL + (
894 & -1.86D+00 + 0.09415D+03 * EKEWLL
895 & + 0.0001306D+06 * EKEWLL**2 )**2 ) + 1.D+03
896 & * PI / ( 1.206D+03 * EKEWLL + ( 0.4223D+00
897 & + 0.13D+03 * EKEWLL )**2 )
898 IF ( EKEWLL .LT. 0.02D+00 ) THEN
899 SIGMAN = 0.3333333333333333D+00 * SIGMAP
901 SIGMAN = 10.63D+00 / BETWLL**2 - 29.92D+00
902 & / BETWLL + 42.9D+00
905 SIGMAP = 34.10D+00 / BETWLL**2 - 82.2D+00 / BETWLL
907 SIGMAN = 10.63D+00 / BETWLL**2 - 29.92D+00 / BETWLL
910 SIGMAP = 0.1D+00 * SIGMAP
911 SIGMAN = 0.1D+00 * SIGMAN
912 SGNUNU = ( ( ANOW - ZNOW - ANNEUT ) * SIGMAN
913 & + ( ZNOW - ANPROT ) * SIGMAP )
914 & / ( ANOW - ANPTOT )
916 GSNGLV = 1.5D+00 * ZNOW * SQRT ( ( EKEWLL
917 & + EKFCEN (IEMISS) - AEFRAV ) / EKFCEN (IEMISS))
919 SIGINV = 1.D-01 * XINPRO ( EPSINV, ZAFTR (JEMISS),
921 IF ( EKEWLL .LE. 0.04D+00 ) THEN
922 SIGMAN = 3.D+03 * PI / ( 1.206D+03 * EKEWLL + (
923 & -1.86D+00 + 0.09415D+03 * EKEWLL
924 & + 0.0001306D+06 * EKEWLL**2 )**2 ) + 1.D+03
925 & * PI / ( 1.206D+03 * EKEWLL + ( 0.4223D+00
926 & + 0.13D+03 * EKEWLL )**2 )
927 IF ( EKEWLL .LT. 0.02D+00 ) THEN
928 SIGMAP = 0.3333333333333333D+00 * SIGMAN
930 SIGMAP = 10.63D+00 / BETWLL**2 - 29.92D+00
931 & / BETWLL + 42.9D+00
934 SIGMAN = 34.10D+00 / BETWLL**2 - 82.2D+00 / BETWLL
936 SIGMAP = 10.63D+00 / BETWLL**2 - 29.92D+00 / BETWLL
939 SIGMAP = 0.1D+00 * SIGMAP
940 SIGMAN = 0.1D+00 * SIGMAN
941 SGNUNU = ( ( ANOW - ZNOW - ANNEUT ) * SIGMAN
942 & + ( ZNOW - ANPROT ) * SIGMAP )
943 & / ( ANOW - ANPTOT )
945 ZITA = AEFRAV / EKEWLL
946 IF ( ZITA .LE. 0.5D+00 ) THEN
947 PZITA = 1.D+00 - 1.4D+00 * ZITA
949 PZITA = 1.D+00 - 1.4D+00 * ZITA + 0.4D+00 * ZITA
950 & * ( 2.D+00 - 1.D+00 / ZITA )**2.5D+00
952 RATEC = SIGINV * RATEC0 * EPSINV / GSNGLV
953 IF ( RATEC .LE. 0.D+00 ) GO TO 4100
954 ALAMDC = BETWLL / RATEC
955 ALAMDI = 1.D+00 / ( SGNUNU * RHONUC * PZITA ) + MAX (
956 & TWOTWO * PI * PLABRC * BETWLL * EPSWLL
957 & / AMNUSQ (IEMISS), RZNUCL )
958 AMUTOT = 1.D+00 / ALAMDI + 1.D+00 / ALAMDC
959 RATEI = BETWLL / ALAMDI
960 FLAMDA = RATEC / ( RATEC + CLAMDI * RATEI ) / FLAMMX
962 IF ( RNDM (1) .LT. FLAMDA ) GO TO 4200
964 IF ( JEMISS .EQ. JEMIS1 ) GO TO 4500
965 IF ( ITACC .LE. NPART (JEMISS) ) THEN
966 NPRFIX (JEMISS) = NPRFIX (JEMISS) + ITACC
967 DO 4150 IT = 1, ITACC
968 EPRFIX = EPRFIX + EPSFIX (IT)
971 NPRFIX (JEMISS) = NPART (JEMISS)
973 DO 4160 IT = 1, ITACC
974 PRACC = ( NPART (JEMISS) - ACCEP )
975 & / ( ITACC - IT + 1 )
977 IF ( RNDM (1) .LT. PRACC ) THEN
978 EPRFIX = EPRFIX + EPSFIX (IT)
979 ACCEP = ACCEP + 1.D+00
985 ZNOW = ZAFTR (JEMISS)
988 ICRES = ICRES - JEMISS + 1
989 AMMRES = AMMAFT (JEMISS)
990 AMNRES = AMNAFT (JEMISS)
991 EEPCM = EPS + AMNUCL (IEMISS)
994 ELSE IF ( ICYCL .EQ. 1 .AND. LEMISS ) THEN
998 ELSE IF ( ICYCL .LE. 1 .AND. PCMORI .LE. ANGLGB ) THEN
1002 ELSE IF ( ICYCL .LE. 1 ) THEN
1003 PCMSXT = - AMNUCL (IEMISS) * ETAX
1004 PCMSYT = - AMNUCL (IEMISS) * ETAY
1005 PCMSZT = - AMNUCL (IEMISS) * ETAZ
1006 APSHAR = MAX ( ANPTOT + NEMISS - 1, ONEONE )
1007 PCMSX = ( CXAXCM * PCMORI + PCMSXT ) / APSHAR - PCMSXT
1008 PCMSY = ( CYAXCM * PCMORI + PCMSYT ) / APSHAR - PCMSYT
1009 PCMSZ = ( CZAXCM * PCMORI + PCMSZT ) / APSHAR - PCMSZT
1011 PCMSTT = PCMSXT**2 + PCMSYT**2 + PCMSZT**2
1012 PCMSPT = PCMSX**2 + PCMSY**2 + PCMSZ**2
1013 ECMSTT = SQRT ( AMNUSQ (IEMISS) + PCMSTT )
1014 ECMSPT = SQRT ( AMNUSQ (IEMISS) + PCMSPT )
1016 UMMO2 = 2.D+00 * AMNUSQ (IEMISS) + 2.D+00 * ECMSTT
1017 & * ECMSPT - 2.D+00 * ( PCMSXT * PCMSX + PCMSYT
1018 & * PCMSY + PCMSZT * PCMSZ )
1019 UMMO = SQRT ( UMMO2 )
1020 GAMCCM = ( ECMSTT + ECMSPT ) / UMMO
1021 ETAXM = ( PCMSX + PCMSXT ) / UMMO
1022 ETAYM = ( PCMSY + PCMSYT ) / UMMO
1023 ETAZM = ( PCMSZ + PCMSZT ) / UMMO
1024 ETAPCM = ETAXM * PCMSX + ETAYM * PCMSY + ETAZM * PCMSZ
1025 PHELP = ECMSPT - ETAPCM / ( GAMCCM + 1.D+00 )
1026 PCCMSX = PCMSX - ETAXM * PHELP
1027 PCCMSY = PCMSY - ETAYM * PHELP
1028 PCCMSZ = PCMSZ - ETAZM * PHELP
1029 PCCMSP = SQRT ( PCCMSX**2 + PCCMSY**2 + PCCMSZ**2 )
1030 CALL RACO (C(1),C(2),C(3))
1031 SCAPRO = PCCMSX * C (1) + PCCMSY * C (2) + PCCMSZ * C (3)
1032 IF ( SCAPRO .LT. 0.D+00 ) THEN
1037 PCCMSX = C(1) * PCCMSP
1038 PCCMSY = C(2) * PCCMSP
1039 PCCMSZ = C(3) * PCCMSP
1040 ETAPCM = ETAXM * PCCMSX + ETAYM * PCCMSY + ETAZM * PCCMSZ
1041 PHELP = 0.5D+00 * UMMO + ETAPCM / ( GAMCCM + 1.D+00 )
1042 PCMSX = PCCMSX + ETAXM * PHELP
1043 PCMSY = PCCMSY + ETAYM * PHELP
1044 PCMSZ = PCCMSZ + ETAZM * PHELP
1045 PCMSPT = SQRT ( PCMSX**2 + PCMSY**2 + PCMSZ**2 )
1046 C (1) = PCMSX / PCMSPT
1047 C (2) = PCMSY / PCMSPT
1048 C (3) = PCMSZ / PCMSPT
1050 PHELP = 0.5D+00 * UMMO + ETAPCM / ( GAMCCM + 1.D+00 )
1051 PCMSX = - PCCMSX + ETAXM * PHELP
1052 PCMSY = - PCCMSY + ETAYM * PHELP
1053 PCMSZ = - PCCMSZ + ETAZM * PHELP
1054 PCMSPT = SQRT ( PCMSX**2 + PCMSY**2 + PCMSZ**2 )
1055 C2ND (1) = PCMSX / PCMSPT
1056 C2ND (2) = PCMSY / PCMSPT
1057 C2ND (3) = PCMSZ / PCMSPT
1059 UMULEG (0) = 1.0D+00
1060 UMULEG (1) = 0.6666666666666667D+00
1061 UMULEG (2) = 0.25D+00
1062 ACOLEG (0) = 0.5D+00
1063 ACOLEG (1) = 1.5D+00 * UMULEG (1)**ICYCL
1064 ACOLEG (2) = 2.5D+00 * UMULEG (2)**ICYCL
1065 COSTHE = COSLEG ( ACOLEG )
1066 SINTHE = SQRT ( ( 1.D+00 - COSTHE ) * ( 1.D+00 + COSTHE )
1070 RPHI1 = 2.D+00 * RNDM (1) - 1.D+00
1071 RPHI2 = 2.D+00 * RNDM (2) - 1.D+00
1072 RPHI12 = RPHI1 * RPHI1
1073 RPHI22 = RPHI2 * RPHI2
1074 RSQ = RPHI12 + RPHI22
1075 IF ( RSQ .GT. 1.D+00 ) GO TO 4300
1076 SINPHI = 2.D+00 * RPHI1 * RPHI2 / RSQ
1077 COSPHI = ( RPHI12 - RPHI22 ) / RSQ
1078 SINT02 = ( 1.D+00 - CZAXCM ) * ( 1.D+00 + CZAXCM )
1079 IF ( SINT02 .LT. ANGLSQ ) THEN
1080 C (1) = COSPHI * SINTHE
1081 C (2) = SINPHI * SINTHE
1082 C (3) = CZAXCM * COSTHE
1084 SINTH0 = SQRT ( SINT02 )
1085 UPRIME = SINTHE * COSPHI
1086 VPRIME = SINTHE * SINPHI
1087 COSPH0 = CXAXCM / SINTH0
1088 SINPH0 = CYAXCM / SINTH0
1089 C (1) = UPRIME * COSPH0 * CZAXCM - VPRIME * SINPH0
1091 C (2) = UPRIME * SINPH0 * CZAXCM + VPRIME * COSPH0
1093 C (3) = - UPRIME * SINTH0 + COSTHE * CZAXCM
1096 PCMS = SQRT ( ( EEPCM - AMNUCL (IEMISS) ) * ( EEPCM
1097 & + AMNUCL (IEMISS) ) )
1098 UMO2 = ( ERESCM - PCMS ) * ( ERESCM + PCMS )
1100 PCMSX = PCMS * C (1)
1101 PCMSY = PCMS * C (2)
1102 PCMSZ = PCMS * C (3)
1103 ETAPCM = PCMSX * ETAX + PCMSY * ETAY + PCMSZ * ETAZ
1105 KPART (NP) = 1 - 7 * ( JEMISS - 2 )
1106 TKI (NP) = GAMCM * EEPCM + ETAPCM - AMNUCL (IEMISS)
1107 PHELP = ETAPCM / ( GAMCM + 1.D+00 ) + EEPCM
1109 PLBPX = PCMSX + ETAX * PHELP
1110 PLBPY = PCMSY + ETAY * PHELP
1111 PLBPZ = PCMSZ + ETAZ * PHELP
1112 PHELP = SQRT ( PLBPX * PLBPX + PLBPY * PLBPY
1114 CXR (NP) = PLBPX / PHELP
1115 CYR (NP) = PLBPY / PHELP
1116 CZR (NP) = PLBPZ / PHELP
1118 IGREYP = IGREYP + JEMISS - 1
1119 IGREYN = IGREYN + 2 - JEMISS
1120 IF ( JEMISS .EQ. 1 ) THEN
1126 NPCYCL (ISTORE,JEMISS) = -ICYCL
1128 NPCYCL (ISTORE,JEMISS) = ICYCL
1130 EINTR = EINTR + TKI (NP) + AMNUCL (IEMISS)
1131 PXINTR = PXINTR + CXR (NP) * PLR (NP)
1132 PYINTR = PYINTR + CYR (NP) * PLR (NP)
1133 PZINTR = PZINTR + CZR (NP) * PLR (NP)
1134 IBINTR = IBINTR + IBAR ( KPART (NP) )
1135 ICINTR = ICINTR + ICH ( KPART (NP) )
1136 ERES = GAMCM * ERESCM - ETAPCM
1138 PHELP = - ETAPCM / ( GAMCM + 1.D+00 ) + ERESCM
1139 PXRES = - PCMSX + ETAX * PHELP
1140 PYRES = - PCMSY + ETAY * PHELP
1141 PZRES = - PCMSZ + ETAZ * PHELP
1142 PTRES2= PXRES * PXRES + PYRES * PYRES + PZRES * PZRES
1143 PTRES = SQRT (PTRES2)
1144 TVCMS = UMO - AMNRES
1145 IF ( TVCMS .LT. 0.D+00 ) THEN
1146 IF ( TVCMS .LT. - GAMMIN ) THEN
1147 WRITE (LUNOUT,*)' PREPRE: TVCMS',TVCMS
1148 WRITE (LUNERR,*)' PREPRE: TVCMS',TVCMS
1149 WRITE (77,*)' ^^^ PREPRE: TVCMS',TVCMS
1153 EHLFIX = MIN ( TVCMS, EHLFIX )
1154 TVEFF = TVCMS - EHLFIX
1155 IF ( TVEFF .LE. 0.D+00 ) GO TO 7000
1161 ETAPCM = ETAX * PXORI + ETAY * PYORI + ETAZ * PZORI
1162 PHELP = EKORI + AM (KPORI) - ETAPCM / ( GAMCM + 1.D+00 )
1163 PCMSX = PXORI - ETAX * PHELP
1164 PCMSY = PYORI - ETAY * PHELP
1165 PCMSZ = PZORI - ETAZ * PHELP
1166 PCMORI = PCMSX**2 + PCMSY**2 + PCMSZ**2
1167 IF ( PCMORI .LE. ANGLGB ) THEN
1169 CALL RACO ( CXAXCM, CYAXCM, CZAXCM )
1171 PCMORI = SQRT ( PCMORI )
1172 CXAXCM = PCMSX / PCMORI
1173 CYAXCM = PCMSY / PCMORI
1174 CZAXCM = PCMSZ / PCMORI
1180 AMMAFT(1) = AAFTR * AMUAMU + 1.D-03
1181 & * FKENER (AAFTR,ZAFTR(1))
1182 AMNAFT(1) = AMMAFT (1) - ZAFTR (1) * AMELEC
1184 CALL EEXLVL ( IAAFT, IZAFT, EEXDLT (1), EEXMNM (1), EEXDUM )
1186 EPSMX (1) = UMO - AMNRES - BNDGAV - EHLFIX
1187 EPSDLT (1) = UMO - AMNRES - BNDGAV - EEXDLT (1)
1188 EPSEEX (1) = UMO - AMNRES - BNDGAV - EEXMNM (1)
1191 AMMAFT(2) = AAFTR * AMUAMU + 1.D-03
1192 & * FKENER (AAFTR,ZAFTR(2))
1193 AMNAFT(2) = AMMAFT (2) - ZAFTR (2) * AMELEC
1195 CALL EEXLVL ( IAAFT, IZAFT, EEXDLT (2), EEXMNM (2), EEXDUM )
1197 EPSMX (2) = UMO - AMNRES - BNDGAV - EHLFIX
1198 EPSDLT (2) = UMO - AMNRES - BNDGAV - EEXDLT (2)
1199 EPSEEX (2) = UMO - AMNRES - BNDGAV - EEXMNM (2)
1201 EPSANY (1) = EPSMX (1)
1203 EPSANY (2) = EPSMX (2)
1204 NPART (JEMISS) = NPART (JEMISS) - 1
1205 IF ( JEMFIX .GT. 0 ) THEN
1206 NPART (1) = NPART (1) + NPRFIX (1)
1207 NPART (2) = NPART (2) + NPRFIX (2)
1211 TEMNU = SQRT ( TVCMS / ANOW * ALEVEL )
1212 IF ( EPSMX (1) + EPSMX (2) .LT. 2.D+00 * TEMNU )
1214 SIGIN0 = PI * ( R0SIGK * RMASS (IBRES-1) )**2
1215 NEXMX = SQRT ( 2.D+00 * ANOW * TVCMS / ALEVEL )
1218 NPTOT = NPART (1) + NPART (2)
1228 NPART (1) = NPART (1) + NPRFIX (1)
1229 NPART (2) = NPART (2) + NPRFIX (2)
1230 IF ( JEMFIX .GT. 0 ) THEN
1231 TVEFF = TVCMS - EHLFIX
1232 EPSMX (JEMFIX) = EPSMX0
1233 ERNCM (JEMFIX) = ERNCM0
1239 IF ( NPTOT .GT. 0 ) THEN
1240 PNPROT = ( ZNOW - ANPROT ) * ( 3.D+00 * ANNEUT + ANPROT )
1241 & / ( ANPROT * ( ZNOW - ANPROT + 3.D+00 * ( ANOW
1242 & - ANNEUT - ZNOW ) ) + ANNEUT * ( 3.D+00 * ( ZNOW
1243 & - ANPROT ) + ANOW - ANNEUT - ZNOW ) )
1245 PNPROT = ZNOW / ANOW
1248 IF ( RNDM (1) .LT. PNPROT ) THEN
1249 NPART (2) = NPART (2) + 1
1250 ZCOLL = ZCOLL - 1.D+00
1252 NPART (1) = NPART (1) + 1
1254 NPTOT = NPART (1) + NPART (2)
1257 ACOLL = ACOLL - 1.D+00
1258 AVEBIN = ( ( BBTAR - ZZTAR - ACOLL + ZCOLL ) * BNENRG (2)
1259 & + ( ZZTAR - ZCOLL ) * BNENRG (1) ) / ( BBTAR - ACOLL )
1265 IF ( NHOLE + NHLFIX + NPTOT .LT. NEXMX .AND.
1266 & NPTOT .LE. NINT (0.5D+00 * ANOW) ) GO TO 1000
1268 *=== End of subroutine prepre =========================================*
1271 #if defined(CERNLIB_HPUX)