5 SUBROUTINE kkinc(EPN,NTMASS,NTCHAR,NPMASS,NPCHAR,IDP,KKMAT,
15 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
17 parameter(lout=6,llook=9)
18 parameter(
zero=0.0d0,
one=1.0d0,tiny5=1.0
d-5,
19 & tiny2=1.0
d-2,tiny3=1.0
d-3)
24 COMMON /hkkevt/ nhkk,nevhkk,isthkk(
nmxhkk),idhkk(
nmxhkk),
30 COMMON /dpar/ aname(210),aam(210),ga(210),
tau(210),
31 & iich(210),iibar(210),k1(210),k2(210)
33 COMMON /nucc/ it,itz,ip,ipz,ijproj,ibproj,ijtarg,ibtarg
35 COMMON /nuccms/ gacms,bgcms,galab,bglab,blab,umo,pcm,eproj,pproj
39 COMMON /dprin/ ipri,ipev,ippa,ipco,
init,iphkk,itopd,ipaupr
40 COMMON /chabai/chargi,barnui
41 COMMON /nomije/ ptmije(10),nnmije(10)
42 COMMON /nncms/ gamcm,bgcm,umol,pcml,eprojl,pprojl
46 common/
pyjets/nlu,npad,
klu(4000,5),
plu(4000,5),vlu(4000,5)
47 COMMON /felire/amrecd,kjpro
48 COMMON /neutyy/neutyp,neudec
49 COMMON /taufo/ taufor,ktauge,itauve,incmod
56 IF((taucou.EQ.0).AND.((it.EQ.1).AND.(ip.EQ.1)))
THEN
61 WRITE(6,*)
'kkinc EPN,NTMASS,NTCHAR,NPMASS,NPCHAR,IDP,KKMAT',
63 * epn,ntmass,ntchar,npmass,npchar,idp,kkmat,
73 IF(ipri.GE.1)
WRITE(6,
'(A,I10)')
' KKINC: KKCOUN=',kkcoun
74 IF(ipri.GE.1)
WRITE(6,
'(A,E20.8)')
' KKINC: EPN=',epn
77 IF(kkcoun.EQ.-721.OR.kkcoun.EQ.-821)
THEN
93 IF(kkcoun.EQ.-39.OR.kkcoun.EQ.-822)
THEN
114 WRITE(6,
'(A)')
' Rejection after 40 trials'
126 IF(neudec.GE.10)ijproj=5
127 IF(nstart.EQ.4.OR.nstart.EQ.2)ijproj=5
129 ibproj = iibar(ijproj)
130 ibtarg = iibar(ijtarg)
140 chargi=chargi+iich(ijproj)
144 IF(ipev.GE.1)
WRITE(6,*)
' before EVTINI call'
145 CALL
evtini(ijproj,ip,it,epn,ppn,ecm,nhkkh1,1)
146 IF(ipev.GE.1)
WRITE(6,*)
' after EVTINI call EPN',epn
150 IF(ipev.GE.1)
WRITE(6,*)
' before NCLPOT call'
151 IF(ip.GT.1.OR.it.GT.1)
THEN
154 IF(ipev.GE.1)
WRITE(6,*)
' after NCLPOT call'
158 IF(ipev.GE.1)
WRITE(6,*)
' before RESNCL call'
159 IF(ip.GT.1.OR.it.GT.1)
THEN
162 IF(ipev.GE.1)
WRITE(6,*)
' after RESNCL call EPN',epn
167 IF(ipri.GE.1)
WRITE(6,
'(A,2E20.8,2I5)')
' KKINC call KKEVT: ',
168 * eproj,pproj,kkmat,irej1
172 CALL
kkevt(nhkkh1,eproj,pproj,kkmat,irej1)
173 ELSEIF(nstart.EQ.2)
THEN
175 CALL
kkevnu(nhkkh1,eproj,pproj,kkmat,irej1,ecm)
176 ELSEIF(nstart.EQ.3)
THEN
178 CALL
kkevdi(nhkkh1,eproj,pproj,kkmat,irej1)
179 ELSEIF(nstart.EQ.4)
THEN
181 CALL
kkevle(nhkkh1,eproj,pproj,kkmat,irej1)
184 IF(ipri.GE.1)
WRITE(6,
'(A,2E20.8,2I5)')
' KKINC after KKEVT: ',
185 * eproj,pproj,kkmat,irej1
188 WRITE(6,
'(A,I5)')
' KKEVT Rejection KKCOUN ',kkcoun
193 IF(ipev.GE.1)
WRITE(6,*)
' before RESNCL call'
194 IF(ip .GT.1.OR.it.GT.1)
THEN
197 IF(ipev.GE.1)
WRITE(6,*)
' after RESNCL call EPN',epn
214 IF(ieden.EQ.0)CALL
dechkk(nhkkh1)
216 WRITE(6,
'(A)')
' from KKINC after DECHKK'
218 WRITE(6,1000) ihkk, isthkk(ihkk),idhkk(ihkk),jmohkk(1,ihkk),
219 + jmohkk(2,ihkk), jdahkk(1,ihkk),jdahkk(2,ihkk),(phkk
220 + (khkk,ihkk),khkk=1,5), (vhkk(khkk,ihkk),khkk=1,4)
225 IF(ipev.GE.1)
WRITE(6,*)
' before EVTINI call'
226 CALL
evtini(ijproj,ip,it,epn,ppn,ecm,nhkkh1,2)
227 IF(ipev.GE.1)
WRITE(6,*)
' after EVTINI call'
231 IF(ipev.GE.1)
WRITE(6,*)
' before FOZOCA call'
232 IF(ip .GT.1.OR.it.GT.1)
THEN
235 IF(ipev.GE.1)
WRITE(6,*)
' after fozoca LFZC,IREJ1',lfzc,irej1
236 IF(ipev.GE.1)
WRITE(6,*)
' after FOZOCA call'
238 WRITE(6,
'(A)')
' FOZOCA Rejection'
244 IF(ipev.GE.1)
WRITE(6,*)
' before SCN4BA call'
245 IF(ip .GT.1.OR.it.GT.1)
THEN
248 IF(ipev.GE.1)
WRITE(6,*)
' after SCN4BA call'
255 IF(ipev.GE.1)
WRITE(6,*)
' before RESNCL call'
256 IF(ip .GT.1.OR.it.GT.1)
THEN
259 IF(ipev.GE.1)
WRITE(6,*)
' after RESNCL call'
264 IF ((lfzc).AND.(ifinal.EQ.0))
THEN
266 WRITE(6,
'(A)')
' from KKINC before FICONF'
268 WRITE(6,1005) ihkk, isthkk(ihkk),idhkk(ihkk),jmohkk(1,ihkk),
269 + jmohkk(2,ihkk), jdahkk(1,ihkk),jdahkk(2,ihkk),(phkk
270 + (khkk,ihkk),khkk=1,5), (vhkk(khkk,ihkk),khkk=1,4)
271 + ,idres(ihkk),idxres(ihkk),nobam(ihkk),
272 & idbam(ihkk),idch(ihkk)
273 1005
FORMAT (i6,i4,5i6,9(1pe10.2)/5i6)
276 IF(ipev.GE.1)
WRITE(6,*)
' before FICONF call'
277 IF(ip .GT.1.OR.it.GT.1)
THEN
278 CALL
ficonf(ijproj,ip,ipz,it,itz,irej1)
280 IF(ipev.GE.1)
WRITE(6,*)
' after FICONF call IREJ1',irej1
284 IF (irej1.EQ.0.AND.nstart.EQ.2)
THEN
287 IF(neudec.EQ.10.OR.neudec.EQ.11)
THEN
290 IF(
klu(1,2).EQ.16.OR.
klu(1,2).EQ.-16)
THEN
291 IF(neudec.EQ.1.OR.neudec.EQ.2)
THEN
296 IF(
klu(iii,1).EQ.1.OR.iii.LE.2)
THEN
298 WRITE(29,
'(3I6,5F10.3)')iiii,
klu(iii,1),
klu(iii,2),
299 * (
plu(iii,kk),kk=1,5)
308 IF(ficoun.LE.20)
WRITE(6,
'(A)')
' FICONF Rejection'
314 ELSEIF(kform.EQ.2)
THEN
316 READ(29,
'(1X,I5)')krepa
317 READ(29,
'(1X,I5)')krepa
318 READ(29,
'(1X,I5)')krepa
320 READ(29,
'(1X,I5)')krepa
322 READ(29,
'(1X,A)')a109
334 DO 7501 ihkk=1,nhkkh1
335 IF(idhkk(ihkk).EQ.88888)
THEN
342 IF(phkk(5,ihkk).LE.1.
d-10)
THEN
344 WRITE(6,*)
'M=0 IHKK,IDHKK(IHKK),PHKK(4,IHKK),PHKK(5,IHKK) ',
345 * ihkk,isthkk(ihkk),idhkk(ihkk),phkk(4,ihkk),phkk(5,ihkk)
347 IF(jmohkk(1,ihkk).GE.ihkk)
THEN
349 WRITE(6,*)
'MO=0 IHKK,IDHKK(IHKK),PHKK(4,IHKK),PHKK(5,IHKK) ',
350 * ihkk,isthkk(ihkk),idhkk(ihkk),jmohkk(1,ihkk),
351 * phkk(4,ihkk),phkk(5,ihkk)
355 DO 501 ihkk=nhkkh1,nhkk
356 IF(isthkk(ihkk).EQ.1)
THEN
357 pptt=phkk(1,ihkk)**2+phkk(2,ihkk)**2
358 IF(pptt.LE.1.
d-18)
THEN
360 WRITE(6,*)
' pt=0 IHKK,PHKK(1,IHKK),PHKK(2,IHKK) ',
361 * ihkk,phkk(1,ihkk),phkk(2,ihkk)
363 IF(jmohkk(1,ihkk).GT.ihkk)
THEN
365 WRITE(6,*)
'MO=0 IHKK,IDHKK(IHKK),PHKK(4,IHKK),PHKK(5,IHKK) ',
366 * ihkk,isthkk(ihkk),idhkk(ihkk),jmohkk(1,ihkk),
367 * phkk(4,ihkk),phkk(5,ihkk)
369 IF(idhkk(ihkk).EQ.14.OR.idhkk(ihkk).EQ.-14)
THEN
371 WRITE(6,*)
'14-14IHKK,IDHKK(IHKK),PHKK(4,IHKK),PHKK(5,IHKK) ',
372 * ihkk,isthkk(ihkk),idhkk(ihkk),jmohkk(1,ihkk),
373 * phkk(4,ihkk),phkk(5,ihkk)
377 IF (iphihi.GE.1)
THEN
378 WRITE(6,
'(/A/)')
' KKINC: One particle with pt=0. !!!!'
379 IF (iphkk.GE.-1)
THEN
381 WRITE(6,1000) ihkk,isthkk(ihkk),idhkk(ihkk),jmohkk(1,ihkk),
382 + jmohkk(2,ihkk), jdahkk(1,ihkk),jdahkk(2,ihkk),(phkk
383 + (khkk,ihkk),khkk=1,5), (vhkk(khkk,ihkk),khkk=1,4)
388 WRITE(6,
'(/A/)')
' KKINC: FINAL LIST OF ENTRIES TO /HKKEVT/'
390 WRITE(6,1000) ihkk,isthkk(ihkk),idhkk(ihkk),jmohkk(1,ihkk),
391 + jmohkk(2,ihkk), jdahkk(1,ihkk),jdahkk(2,ihkk),(phkk
392 + (khkk,ihkk),khkk=1,5), (vhkk(khkk,ihkk),khkk=1,4)
393 1000
FORMAT (i6,i4,5i6,9(1pe10.2))
401 WRITE(6,
'(A,2F15.5)')
' GACMS,BGCMS',gacms,bgcms
410 IF(kkcoun.LE.-50)
THEN
411 WRITE(6,*)
' Event from dpmjet (only final particles):'
412 WRITE(6,*)
' before transf. into lab frame '
414 IF((isthkk(ihkk).EQ.-1).OR.
415 * (isthkk(ihkk).EQ.1).OR.
416 * (isthkk(ihkk).EQ.1001))
THEN
417 WRITE(6,1055) ihkk, isthkk(ihkk),idhkk(ihkk),jmohkk(1,ihkk),
418 + jmohkk(2,ihkk), jdahkk(1,ihkk),jdahkk(2,ihkk),(phkk
419 + (khkk,ihkk),khkk=1,5), (vhkk(khkk,ihkk),khkk=1,4)
420 + , (whkk(khkk,ihkk),khkk=1,4)
421 + ,idres(ihkk),idxres(ihkk),nobam(ihkk),
422 & idbam(ihkk),idch(ihkk)
426 IF(ipev.GE.1)
WRITE(6,*)
' before transf. into lab frame '
427 DO 20 i=nhkkh1+1,nhkk
432 IF (cmhis.EQ.0.d0)
THEN
433 IF(isthkk(i).NE.16.AND.isthkk(i).NE.15)
THEN
434 phkk(3,i) = gacms*pznn + bgcms*enn
435 phkk(4,i) = gacms*enn + bgcms*pznn
440 IF(cmhis.GE.1.d0)
THEN
441 vhkk(3,i) = gacms*zzzz - bgcms*tttt
442 vhkk(4,i) = gacms*tttt - bgcms*zzzz
446 ehecc=
sqrt(phkk(1,i)** 2+ phkk(2,i)** 2+ phkk(3,i)** 2+ phkk
448 IF (abs(ehecc-phkk(4,i)).GT.0.001)
THEN
456 IF(ipev.GE.1)
WRITE(6,*)
' after transf. into lab frame '
459 IF(ipev.GE.1)
WRITE(6,
'(A)')
' before CHECKF'
461 WRITE(6,1055) ihkk, isthkk(ihkk),idhkk(ihkk),jmohkk(1,ihkk),
462 + jmohkk(2,ihkk), jdahkk(1,ihkk),jdahkk(2,ihkk),(phkk
463 + (khkk,ihkk),khkk=1,5), (vhkk(khkk,ihkk),khkk=1,4)
464 + , (whkk(khkk,ihkk),khkk=1,4)
465 + ,idres(ihkk),idxres(ihkk),nobam(ihkk),
466 & idbam(ihkk),idch(ihkk)
467 1055
FORMAT (i6,i4,5i6/7(1pe11.3)/6(1pe11.3)/5i6)
471 IF(ip.LE.208.AND.nstart.EQ.1)
THEN
472 IF ((lfzc).AND.(ifinal.EQ.0))
THEN
473 IF(ipev.GE.1)
WRITE(6,
'(A)')
' before CHECKF'
475 + CALL
checkf(eproj,pproj,irej,1)
478 + CALL
checko(eproj,pproj,irej,1)
490 IF(kkcoun.LE.1000)
THEN
492 7734
FORMAT(
' KKCOUN=',i10)
494 IF(ipev.GE.1)
WRITE(6,
'(A)')
' after CHECKF'
497 WRITE(6,1055) ihkk, isthkk(ihkk),idhkk(ihkk),jmohkk(1,ihkk),
498 + jmohkk(2,ihkk), jdahkk(1,ihkk),jdahkk(2,ihkk),(phkk
499 + (khkk,ihkk),khkk=1,5), (vhkk(khkk,ihkk),khkk=1,4)
500 + , (whkk(khkk,ihkk),khkk=1,4)
501 + ,idres(ihkk),idxres(ihkk),nobam(ihkk),
502 & idbam(ihkk),idch(ihkk)
506 IF(kkcoun.LE.500)
THEN
507 IF ((lfzc).AND.(ifinal.EQ.0))
THEN
508 WRITE(6,
'(A)')
' CHECKF Rejection'
510 WRITE(6,
'(A)')
' CHECKO Rejection'
515 IF(nstart.EQ.4.OR.nstart.EQ.2)
THEN
516 IF(ipev.GE.1)
WRITE(6,
'(A)')
' before CHECKN'
517 IF ((cmhis.EQ.0.d0).AND.neudec.NE.20)
518 + CALL
checkn(eproj,pproj,irej,1)
519 IF(kkcoun.LE.500)
THEN
520 IF(irej.EQ.1)
WRITE(6,
'(A)')
' CHECKN Rejection'
528 IF(nstart.EQ.3.AND.irej.EQ.0)
THEN
532 ELSEIF(kform.EQ.2.AND.irej.EQ.0)
THEN
533 WRITE(33,
'(I6,E12.4)')kjpro,amrecd
535 READ(29,
'(1X,I5,4E18.10)')imist,xxx1,xxx2,xxx3,xxx4
536 WRITE(33,
'(1X,I5,4E18.10)')imist,xxx1,xxx2,xxx3,xxx4
537 READ(29,
'(1X,I5,4E18.10)')imist,xxx1,xxx2,xxx3,xxx4
538 READ(29,
'(1X,I5,4E18.10)')imist,xxx1,xxx2,xxx3,xxx4
540 READ(29,
'(1X,I5)')krepa
541 WRITE(33,
'(1X,I5)')krepa
543 READ(29,
'(1X,A)')a109
544 WRITE(33,
'(1X,A)')a109
547 WRITE(33,*)
' Event from dpmjet (only final particles):',
548 *
'in Nucleus rest frame'
550 IF((isthkk(ihkk).EQ.-1).OR.
551 * (isthkk(ihkk).EQ.1).OR.
552 * (isthkk(ihkk).EQ.1001))
THEN
553 WRITE(33,
'(2I6,5E18.10,2I6)') isthkk(ihkk),idhkk(ihkk),
554 + (phkk(khkk,ihkk),khkk=1,5)
555 + ,idres(ihkk),idxres(ihkk)
561 IF(ipev.GE.1)
WRITE(6,
'(A)')
' before CHEBCH '
562 IF ((cmhis.EQ.0.d0))
THEN
563 IF(ip.NE.it.AND.it.GT.1) CALL
chebch(irej,nhkkh1)
567 WRITE(6,
'(A)')
' CHEBCH Rejection'
568 WRITE(6,
'(A,I10)')
' KKINC: KKCOUN=',kkcoun
573 IF(ipev.GE.1)
WRITE(6,
'(A)')
'after CHEBCH before histograms'
579 IF(kkcoun.LE.50.AND.nstart.GE.2)
THEN
580 WRITE(6,*)
' Event from dpmjet (only final particles):'
582 IF((isthkk(ihkk).EQ.-1).OR.
583 * (isthkk(ihkk).EQ.1).OR.
584 * (isthkk(ihkk).EQ.1001))
THEN
585 supx=supx+phkk(1,ihkk)
586 supy=supy+phkk(2,ihkk)
587 supz=supz+phkk(3,ihkk)
588 WRITE(6,1055) ihkk, isthkk(ihkk),idhkk(ihkk),jmohkk(1,ihkk),
589 + jmohkk(2,ihkk), jdahkk(1,ihkk),jdahkk(2,ihkk),(phkk
590 + (khkk,ihkk),khkk=1,5), (vhkk(khkk,ihkk),khkk=1,4)
591 + , (whkk(khkk,ihkk),khkk=1,4)
592 + ,idres(ihkk),idxres(ihkk),nobam(ihkk),
593 & idbam(ihkk),idch(ihkk)
596 WRITE(6,*)
' SUPX,SUPY,SUPZ ',supx,supy,supz
602 WRITE(6,*)
' KKINC ', nhkk
604 IF(isthkk(jgb).EQ.1001)
THEN
605 WRITE(6,*)jgb, isthkk(jgb),idhkk(jgb),
606 * jmohkk(1,jgb),jmohkk(2,jgb),jdahkk(1,jgb),jdahkk(2,jgb),
607 * phkk(1,jgb),phkk(2,jgb)
608 * ,phkk(3,jgb),phkk(4,jgb),phkk(5,jgb)
609 + ,idres(jgb),idxres(jgb),nobam(jgb),idbam(jgb),idch(jgb)
621 phkk(1,jgb)=xxee*cfee-yyee*sfee
622 phkk(2,jgb)=xxee*sfee+yyee*cfee
627 IF (cmhis.EQ.0.d0) CALL
distr(2,nhkkh1,ppn,ktauac)
628 IF (cmhis.EQ.1.d0) CALL
distrc(2,nhkkh1,ppn,ktauac)
629 IF (cmhis.EQ.2.d0) CALL
distco(2,nhkkh1,ppn,ktauac)
648 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
650 parameter(
zero=0.0d0,
one=1.0d0)
652 COMMON /nuclea/ pfermp(2),pfermn(2),fermod,
653 & ebindp(2),ebindn(2),epot(2,210),
655 LOGICAL lemcck,lhadro,lseadi
656 COMMON /flags/ ifrag(2),iresco,imshl,iresrj,
657 & lemcck,lhadro(0:9),lseadi
659 DATA potmes /0.002d0/
702 SUBROUTINE nclpot(IPZ,IP,ITZ,IT,AFERP,AFERT,MODE)
715 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
717 parameter(lout=6,llook=9)
718 parameter(
zero=0.0d0,
one=1.0d0,tiny3=1.0
d-3,tiny2=1.0
d-2,
724 COMMON /dpar/ aname(210),aam(210),ga(210),
tau(210),
725 & iich(210),iibar(210),k1(210),k2(210)
728 LOGICAL intpt,fermp,ihadss,ihadsv,ihadvs,ihadvv,ihada, ipadis,
730 COMMON /droppt/ intpt,fermp,ihadss,ihadsv,ihadvs,ihadvv,ihada,
731 & ipadis,ishmal,lpauli
733 COMMON /nuclea/ pfermp(2),pfermn(2),fermod,
734 & ebindp(2),ebindn(2),epot(2,210),
737 COMMON /nucimp/ prmom(5,248),tamom(5,248), prmfep,prmfen,tamfep,
738 +tamfen, prefep,prefen,taefep,taefen, prepot(210),taepot(210),
739 +prebin,taebin,ferfac,ecou
744 DATA idxpot / 2, 9, 17, 18, 20, 21, 22, 97, 98, 99,
746 & 100, 101, 102, 103/
763 IF (aferp.LE.
zero) fermip = fermod
765 IF (afert.LE.
zero) fermit = fermod
768 IF ((ip.GT.1).AND.(fermp))
THEN
777 pfermp(1) = fermip*an*(aipz/aip)**0.333333d0
778 pfermn(1) = fermip*an*((aip-aipz)/aip)**0.33333d0
786 epot(1,1) =
sqrt(pfermp(1)**2+aam(1)**2) -aam(1) + ebindp(1)
787 epot(1,8) =
sqrt(pfermn(1)**2+aam(8)**2) -aam(8) + ebindn(1)
790 IF ((it.GT.1).AND.(fermp))
THEN
799 pfermp(2) = fermit*an*(aitz/ait)**0.333333d0
800 pfermn(2) = fermit*an*((ait-aitz)/ait)**0.33333d0
808 epot(2,1) =
sqrt(pfermp(2)**2+aam(1)**2) -aam(1) + ebindp(2)
809 epot(2,8) =
sqrt(pfermn(2)**2+aam(8)**2) -aam(8) + ebindn(2)
812 epot(1,idxpot(i)) = epot(1,8)
813 epot(2,idxpot(i)) = epot(2,8)
821 & etacou(1) = 0.001116d0*aipz/(1.0d0+aip**0.333d0)
823 & etacou(2) = 0.001116d0*aitz/(1.0d0+ait**0.333d0)
827 WRITE(lout,1000) ip,ipz,it,itz,ebindp,ebindn,
828 & epot(1,1)-ebindp(1),epot(2,1)-ebindp(2),
829 & epot(1,8)-ebindn(1),epot(2,8)-ebindn(2),
831 1000
FORMAT(/,/,1
x,
'NCLPOT: quantities for inclusion of nuclear'
832 & ,
' effects',/,12
x,
'---------------------------',
833 &
'----------------',/,/,38
x,
'projectile',
834 &
' target',/,/,1
x,
'Mass number / charge',
835 & 17
x,i3,
' /',i3,6
x,i3,
' /',i3,/,1
x,
'Binding energy -',
836 &
' proton (GeV) ',2e14.4,/,17
x,
'- neutron (GeV)'
837 & ,1
x,2e14.4,/,1
x,
'Fermi-potential - proton (GeV)',
838 & 1
x,2e14.4,/,17
x,
'- neutron (GeV) ',2e14.4,/,/,
839 & 1
x,
'Scale factor for Fermi-momentum ',
f4.2,/,
840 & /,1
x,
'Coulomb-energy ',2(e14.4,
' GeV '),/,/)
849 IF ((ip.GT.1).AND.(fermp))
THEN
855 prefen = prmfen**2/(2.*aam(8))
856 prefep = prmfep**2/(2.*aam(1))
857 prepot(1) = prefep + prebpn
858 prepot(8) = prefen + prebnn
863 IF ((it.GT.1).AND.(fermp))
THEN
869 taefep = tamfep**2/(2.*aam(1))
870 taefen = tamfen**2/(2.*aam(8))
871 taepot(1) = taefep + taebpn
872 taepot(8) = taefen + taebnn
874 taepot(idxpot(i)) = taepot(8)
894 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
896 parameter(lout=6,llook=9)
897 parameter(
zero=0.0d0,
one=1.0d0,tiny3=1.0
d-3,tiny2=1.0
d-2,
898 & tiny1=1.0
d-1,tiny4=1.0
d-4,tiny10=1.0
d-10)
899 parameter(amuamu=0.93149432d0)
903 COMMON /hkkevt/ nhkk,nevhkk,isthkk(
nmxhkk),idhkk(
nmxhkk),
909 COMMON /dpar/ aname(210),aam(210),ga(210),
tau(210),
910 & iich(210),iibar(210),k1(210),k2(210)
912 LOGICAL lemcck,lhadro,lseadi
913 COMMON /flags/ ifrag(2),iresco,imshl,iresrj,
914 & lemcck,lhadro(0:9),lseadi
915 COMMON /nuclea/ pfermp(2),pfermn(2),fermod,
916 & ebindp(2),ebindn(2),epot(2,210),
919 LOGICAL intpt,fermp,ihadss,ihadsv,ihadvs,ihadvv,ihada, ipadis,
921 COMMON /droppt/ intpt,fermp,ihadss,ihadsv,ihadvs,ihadvv,ihada,
922 & ipadis,ishmal,lpauli
924 COMMON /nucc/ it,itz,ip,ipz,ijproj,ibproj,ijtarg,ibtarg
925 COMMON /nuccms/ gacms,bgcms,galab,bglab,blab,umo,pcm,eproj,pproj
926 COMMON /wndncl/ npw,npw0,npcw,ntw,ntw0,ntcw
927 LOGICAL lrclpr,lrclta
928 COMMON /finsta/ pinipr(5),pinita(5),prclpr(5),prclta(5)
930 COMMON /nstari/nstart
931 COMMON /neutyy/neutyp,neudec
932 dimension pfsp(4),psec(4),psec0(4)
953 pinipr(4) = aip*umo/2.0d0
954 pinipr(5) = aip*amuamu+1.0
d-3*
energy(aip,aipz)
955 IF (ip.LE.1) pinipr(5) = aam(ijproj)
956 pinipr(3) =
sqrt((pinipr(4)-pinipr(5))*(pinipr(4)+pinipr(5)))
961 pinita(4) = ait*umo/2.0d0
962 pinita(5) = ait*amuamu+1.0
d-3*
energy(ait,aitz)
964 IF(pinita(4).LE.pinita(5))
THEN
965 pinita(4)=gacms*pinita(5)
969 pinita(4)=gacms*pinita(5)
972 IF (it.LE.1) pinita(5) = aam(ijtarg)
973 pinita(3) = -
sqrt((pinita(4)-pinita(5))*(pinita(4)+pinita(5)))
978 IF ((ip.EQ.1).AND.(it.GT.1).AND.(fermp))
THEN
982 IF (iich(ijproj).EQ.1)
THEN
983 thresh = etacou(2)+aam(ijproj)
984 IF (epni.LE.thresh)
THEN
986 1000
FORMAT(/,1
x,
'KKINC: WARNING! projectile energy',
987 &
' below Coulomb threshold - event rejected',/)
992 ELSEIF (iich(ijproj).EQ.-1)
THEN
993 epni = epni+etacou(2)
998 IF ((ijproj.NE.1).AND.(abs(epot(2,ijproj)).GT.5.0
d-3))
1000 epni = epni+abs(ebipot)
1004 IF(nstart.NE.2.AND.neudec.GE.20)
1005 & CALL
ltini(ijproj,epni,dum1,dum2)
1019 DO 20 i=npoint(4),nhkk
1026 IF (isthkk(i).EQ.1)
THEN
1029 IF(idsec.EQ.7) go to 23
1037 IF (phkk(3,i).GE.
zero)
THEN
1039 IF ((ip.LE.1).OR.((ip-npw).LE.1))
THEN
1041 IF (ip.GT.1) iother = 1
1042 IF ((it.LE.1).OR.((it-ntw).LE.1)) goto 23
1046 IF ((it.LE.1).OR.((it-ntw).LE.1))
THEN
1048 IF (it.GT.1) iother = 1
1049 IF ((ip.LE.1).OR.((ip-npw).LE.1)) goto 23
1055 CALL
ltrans(phkk(1,i),phkk(2,i),phkk(3,i),phkk(4,i),
1056 & psec(1),psec(2),psec(3),psec(4),idsec,imode)
1057 pseco =
sqrt(psec(1)**2+psec(2)**2+psec(3)**2)
1058 amsec =
sqrt(abs((psec(4)-pseco)*(psec(4)+pseco)))
1061 IF ((eproj.GE.1.0d4).AND.(idsec.EQ.7)) chklev = tiny1
1062 IF (eproj.GE.2.0d6) chklev = 1.0d0
1063 IF (abs(amsec-aam(idsec)).GT.chklev)
THEN
1065 2000
FORMAT(1
x,
'RESNCL: inconsistent mass of particle',
1066 &
' at entry ',i5,
' (evt.',i8,
')',/,
' IDSEC: ',
1067 & i4,
' AMSEC: ',e12.3,
' AAM(IDSEC): ',e12.3,/)
1079 IF ((idsec.EQ.1).OR.(idsec.EQ.8))
THEN
1081 IF ((jpw.GT.0).AND.(iother.EQ.0))
THEN
1083 psec(4) = psec(4)-epot(ipot,idsec)
1088 IF ((nobam(i).NE.1).AND.(nobam(i).LT.3))
1089 & psec(4) = psec(4)-epot(ipot,idsec)
1091 ELSEIF (ipot.EQ.2)
THEN
1092 IF ((jtw.GT.0).AND.(iother.EQ.0))
THEN
1094 psec(4) = psec(4)-epot(ipot,idsec)
1098 IF ((nobam(i).NE.2).AND.(nobam(i).LT.3))
1099 & psec(4) = psec(4)-epot(ipot,idsec)
1103 IF ((nobam(i).NE.ipot).AND.(nobam(i).LT.3))
1104 & psec(4) = psec(4)-epot(ipot,idsec)
1110 IF (idsec.EQ.1)
THEN
1111 IF ((ipot.EQ.1).AND.(jpcw.GT.0))
THEN
1113 ELSEIF ((ipot.EQ.2).AND.(jtcw.GT.0))
THEN
1116 IF ((nobam(i).EQ.ipot).OR.(nobam(i).EQ.3)) goto 25
1119 IF ((nobam(i).EQ.ipot).OR.(nobam(i).EQ.3)) goto 25
1121 IF (iich(idsec).EQ.1)
THEN
1123 IF (psec(4).LT.amsec+etacou(ipot))
THEN
1125 IF (isthkk(i).EQ.15)
THEN
1127 phkk(k,i) = psec0(k)
1128 prclpr(k) = prclpr(k)+psec0(k)
1130 IF ((idsec.EQ.1).OR.(idsec.EQ.8)) npw = npw-1
1131 IF (idsec.EQ.1) npcw = npcw-1
1132 ELSEIF (isthkk(i).EQ.16)
THEN
1134 phkk(k,i) = psec0(k)
1135 prclta(k) = prclta(k)+psec0(k)
1138 IF ((idsec.EQ.1).OR.(idsec.EQ.8)) ntw = ntw-1
1139 IF (idsec.EQ.1) ntcw = ntcw-1
1143 ELSEIF (iich(idsec).EQ.-1)
THEN
1145 psec(4) = psec(4)-etacou(ipot)
1150 IF (psec(4).LT.amsec)
THEN
1152 2001
FORMAT(1
x,
'KKINC: particle at HKKEVT-pos. ',i5,
1153 &
' is not allowed to escape nucleus',/,
1154 & 8
x,
'id : ',i3,
' reduced energy: ',e15.4,
1157 IF (isthkk(i).EQ.15)
THEN
1159 phkk(k,i) = psec0(k)
1160 prclpr(k) = prclpr(k)+psec0(k)
1162 IF ((idsec.EQ.1).OR.(idsec.EQ.8)) npw = npw-1
1163 IF (idsec.EQ.1) npcw = npcw-1
1164 ELSEIF (isthkk(i).EQ.16)
THEN
1166 phkk(k,i) = psec0(k)
1167 prclta(k) = prclta(k)+psec0(k)
1170 IF ((idsec.EQ.1).OR.(idsec.EQ.8)) ntw = ntw-1
1171 IF (idsec.EQ.1) ntcw = ntcw-1
1176 psecn =
sqrt( (psec(4)-amsec)*(psec(4)+amsec) )
1179 psec(k) = psec(k)*psecn/pseco
1185 prclpr(k) = prclpr(k)+psec0(k)-psec(k)
1186 ELSEIF (ipot.EQ.2)
THEN
1187 prclta(k) = prclta(k)+psec0(k)-psec(k)
1194 CALL
ltrans(psec(1),psec(2),psec(3),psec(4),
1195 & phkk(1,i),phkk(2,i),phkk(3,i),phkk(4,i),
1202 pfsp(k) = pfsp(k)+phkk(k,i)
1210 IF ((ip.EQ.10001).AND.(it.GT.1).AND.(fermp))
THEN
1215 prclta(k) = pinipr(k)+pinita(k)-pfsp(k)
1226 CALL
ltnuc(pzi,pei,prclpr(3),prclpr(4),2)
1229 CALL
ltnuc(pzi,pei,prclta(3),prclta(4),3)
1231 prclpr(3) = prclpr(3)+pinipr(3)
1232 prclpr(4) = prclpr(4)+pinipr(4)
1239 prclta(3) = prclta(3)+pinita(3)
1242 prclta(4) = prclta(4)+pinita(4)
1250 CALL
evtemc(-pinipr(1),-pinipr(2),-pinipr(3),-pinipr(4),
1252 CALL
evtemc(-pinita(1),-pinita(2),-pinita(3),-pinita(4),
1254 CALL
evtemc(prclpr(1),prclpr(2),prclpr(3),prclpr(4),
1256 CALL
evtemc(prclta(1),prclta(2),prclta(3),prclta(4),
1258 CALL
evtemc(pfsp(1),pfsp(2),pfsp(3),pfsp(4),2,idum,idum)
1260 CALL
evtemc(dum,dum,dum,chklev,-1,501,irej1)
1261 IF (irej1.GT.0)
RETURN
1277 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
1279 parameter(lout=6,llook=9)
1280 parameter(
zero=0.0d0,
one=1.0d0,tiny3=1.0
d-3,tiny2=1.0
d-2,
1284 COMMON /hkkevt/ nhkk,nevhkk,isthkk(
nmxhkk),idhkk(
nmxhkk),
1290 COMMON /dpar/ aname(210),aam(210),ga(210),
tau(210),
1291 & iich(210),iibar(210),k1(210),k2(210)
1293 COMMON /nucc/ it,itz,ip,ipz,ijproj,ibproj,ijtarg,ibtarg
1294 COMMON /nuclea/ pfermp(2),pfermn(2),fermod,
1295 & ebindp(2),ebindn(2),epot(2,210),
1297 COMMON /wndncl/ npw,npw0,npcw,ntw,ntw0,ntcw
1298 LOGICAL lrclpr,lrclta
1299 COMMON /finsta/ pinipr(5),pinita(5),prclpr(5),prclta(5),
1302 dimension plab(2,5),pcms(4)
1324 IF ((isthkk(i).EQ.11).OR.(isthkk(i).EQ.17))
THEN
1327 IF (idhkk(i).EQ.2212) npcw = npcw+1
1328 IF (isthkk(i).EQ.11) npw0 = npw0+1
1331 prclpr(k) = prclpr(k)-phkk(k,i)
1335 ELSEIF ((isthkk(i).EQ.12).OR.(isthkk(i).EQ.18))
THEN
1338 IF (idhkk(i).EQ.2212) ntcw = ntcw+1
1339 IF (isthkk(i).EQ.12) ntw0 = ntw0+1
1342 prclta(k) = prclta(k)-phkk(k,i)
1346 ELSEIF (isthkk(i).EQ.13)
THEN
1348 ELSEIF (isthkk(i).EQ.14)
THEN
1353 DO 11 i=npoint(4),nhkk
1355 IF (isthkk(i).EQ.15)
THEN
1358 IF (iibar(idbam(i)).NE.0)
THEN
1360 IF (iich(idbam(i)).GT.0) npcw = npcw-1
1363 prclpr(k) = prclpr(k)+phkk(k,i)
1366 ELSEIF (isthkk(i).EQ.16)
THEN
1369 IF (iibar(idbam(i)).NE.0)
THEN
1371 IF (iich(idbam(i)).GT.0) ntcw = ntcw-1
1374 prclta(k) = prclta(k)+phkk(k,i)
1386 IF (iresp.EQ.1)
THEN
1388 ist = isthkk(isglpr)
1389 CALL
ltrans(phkk(1,isglpr),phkk(2,isglpr),
1390 & phkk(3,isglpr),phkk(4,isglpr),
1391 & pcms(1),pcms(2),pcms(3),pcms(4),id,2)
1397 CALL
evtput(1,idhkk(isglpr),isglpr,0,
1398 & pcms(1),pcms(2),pcms(3),pcms(4),
1399 & idres(isglpr),idxres(isglpr),idch(isglpr))
1400 nobam(nhkk) = nobam(isglpr)
1401 jdahkk(1,isglpr) = nhkk
1403 prclpr(k) = prclpr(k)-phkk(k,isglpr)
1406 IF (irest.EQ.1)
THEN
1408 ist = isthkk(isglta)
1409 CALL
ltrans(phkk(1,isglta),phkk(2,isglta),
1410 & phkk(3,isglta),phkk(4,isglta),
1411 & pcms(1),pcms(2),pcms(3),pcms(4),id,3)
1417 CALL
evtput(1,idhkk(isglta),isglta,0,
1418 & pcms(1),pcms(2),pcms(3),pcms(4),
1419 & idres(isglta),idxres(isglta),idch(isglta))
1420 nobam(nhkk) = nobam(isglta)
1421 jdahkk(1,isglta) = nhkk
1423 prclta(k) = prclta(k)-phkk(k,isglta)
1437 DO 3 i=npoint(4),nhkk
1438 IF (isthkk(i).EQ.1)
THEN
1440 IF ( ((id.EQ.1).OR.(id.EQ.8)).AND.(nobam(i).NE.3) )
THEN
1444 IF ( (ip.GT.1) .AND.(iresp.GT.1).AND.
1445 & (nobam(i).NE.1).AND.(npw.GT.0) )
THEN
1447 CALL
ltrans(phkk(1,i),phkk(2,i),phkk(3,i),phkk(4,i),
1448 & plab(1,1),plab(1,2),plab(1,3),plab(1,4),
1450 plabt =
sqrt(plab(1,1)**2+plab(1,2)**2+plab(1,3)**2)
1451 plab(1,5) =
sqrt(abs( (plab(1,4)-plabt)*
1452 & (plab(1,4)+plabt) ))
1453 ekin = plab(1,4)-plab(1,5)
1454 IF (
ekin.LE.epot(1,id)) npotp = 15
1455 IF ((id.EQ.1).AND.(npcw.LE.0)) npotp = 1
1457 IF ( (it.GT.1) .AND.(irest.GT.1).AND.
1458 & (nobam(i).NE.2).AND.(ntw.GT.0) )
THEN
1460 CALL
ltrans(phkk(1,i),phkk(2,i),phkk(3,i),phkk(4,i),
1461 & plab(2,1),plab(2,2),plab(2,3),plab(2,4),
1463 plabt =
sqrt(plab(2,1)**2+plab(2,2)**2+plab(2,3)**2)
1464 plab(2,5) =
sqrt(abs( (plab(2,4)-plabt)*
1465 & (plab(2,4)+plabt) ))
1466 ekin = plab(2,4)-plab(2,5)
1467 IF (
ekin.LE.epot(2,id)) npott = 16
1468 IF ((id.EQ.1).AND.(ntcw.LE.0)) npott = 1
1470 IF (phkk(3,i).GE.
zero)
THEN
1472 IF (npotp.NE.1) isthkk(i) = npotp
1475 IF (npott.NE.1) isthkk(i) = npott
1477 IF (isthkk(i).NE.1)
THEN
1480 phkk(k,i) = plab(j,k)
1482 IF (isthkk(i).EQ.15)
THEN
1484 IF (id.EQ.1) npcw = npcw-1
1486 prclpr(k) = prclpr(k)+phkk(k,i)
1489 ELSEIF (isthkk(i).EQ.16)
THEN
1491 IF (id.EQ.1) ntcw = ntcw-1
1493 prclta(k) = prclta(k)+phkk(k,i)
1507 aferp = fermod+0.1d0
1508 afert = fermod+0.1d0
1509 CALL
nclpot(ipzrcl,iprcl,itzrcl,itrcl,aferp,afert,1)
1528 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
1530 parameter(lout=6,llook=9)
1531 parameter(
zero=0.0d0,
one=1.0d0,tiny3=1.0
d-3,tiny10=1.0
d-10)
1534 COMMON /hkkevt/ nhkk,nevhkk,isthkk(
nmxhkk),idhkk(
nmxhkk),
1539 COMMON /rjcoun/ irpt,irhha,irres(2),lomres,lobres,
1540 & irchki(2),irfrag,ircron(3),irevt,
1541 & irexci(3),irdiff(2),irinc
1542 COMMON /zentra/ icentr
1543 COMMON /outlev/ioutpo,ioutpa,iouxev,ioucol
1544 COMMON /dprin/ ipri,ipev,ippa,ipco,
init,iphkk,itopd,ipaupr
1546 COMMON /dpar/ aname(210),aam(210),ga(210),
tau(210),
1547 & iich(210),iibar(210),k1(210),k2(210)
1548 LOGICAL lrclpr,lrclta
1549 COMMON /finsta/ pinipr(5),pinita(5),prclpr(5),prclta(5),
1551 COMMON /excita/ amrcl0(2),eexc(2),eexcfi(2),
1552 & ntot(2),npro(2),nn(2),nh(2),nhpos(2),nq(2),
1553 & ntotfi(2),nprofi(2)
1554 COMMON /stfico/ excdpm(4),exceva(2),
1555 & nincge,nincco(2,3),ninchr(2,2),nincwo(2),
1556 & nincst(2,4),nincev(2),
1557 & nresto(2),nrespr(2),nresnu(2),nresba(2),
1558 & nrespb(2),nresch(2),nresev(4),
1559 & neva(2,6),nevaga(2),nevaht(2),nevahy(2,2,240),
1562 parameter(anglgb=5.0
d-16)
1563 parameter(amuamu=0.93149432d0,amelec=0.51099906
d-3)
1565 COMMON /finuc/ cxr(mxp), cyr(mxp), czr(mxp), tki(mxp),
1566 & plr(mxp), wei(mxp), tv, tvcms, tvrecl, tvheav,
1567 & tvbind, np0, np, kpart(mxp)
1568 LOGICAL lrnfss, lfragm
1569 COMMON /resnuc/ amntar, ammtar, amnzm1, ammzm1, amnnm1, ammnm1,
1570 & anow, znow, ancoll, zncoll, ammlft, amnlft,
1571 & eres, ekres, amnres, ammres, ptres, pxres,
1572 & pyres, pzres, ptres2, ktarp, ktarn, igreyp,
1573 & igreyn, icres, ibres, istres, ievapl, ievaph,
1574 & ievneu, ievpro, ievdeu, ievtri, iev3he, iev4he,
1575 & ideexg, ibtar, ichtar, ibleft, icleft, iother,
1577 COMMON /nucdat/ av0wel, apfrmx, aefrmx, aefrma,
1578 & rdsnuc, v0well(2), pfrmmx(2), efrmmx(2),
1579 & efrmav(2), amnucl(2), amnusq(2), ebndng(2),
1580 & veffnu(2), eslope(2), pkmnnu(2), ekmnnu(2),
1581 & pkmxnu(2), ekmxnu(2), ekmnav(2), ekinav(2),
1582 & exmnav(2), ekupnu(2), exmnnu(2), exupnu(2),
1583 & erclav(2), eswell(2), fincup(2), amrcav ,
1584 & amrcsq , ato1o3 , zto1o3 , elbnde(0:100)
1585 LOGICAL ldiffr, linctv, levprt, lheavy, ldeexg, lgdhpr, lpreex,
1586 & lhlfix, lprfix, lparwv, lpower, lsngch, llvmod, lschdf
1587 parameter( nallwp = 39 )
1588 COMMON / parevt / dpower, fsprd0, fshpfn, rn1gsc, rn2gsc,
1589 & ldiffr(nallwp),lpower, linctv, levprt, lheavy,
1590 & ldeexg, lgdhpr, lpreex, lhlfix, lprfix, lparwv,
1591 & ilvmod, jlvmod, llvmod, lsngch, lschdf
1593 dimension inuc(2),idxpar(2),idpar(2),aif(2),aizf(2),amrcl(2),
1594 & prcl(2,4),mo1(2),mo2(2),vrcl(2,4),wrcl(2,4),
1595 & p1in(4),p2in(4),p1out(4),p2out(4)
1596 common/rejfbk/irejfr
1597 COMMON /neutyy/neutyp,neudec
1599 dimension expnuc(2),exc(2,210),nexc(2,210)
1600 DATA exc,nexc /420*
zero,420*0/
1601 DATA expnuc /4.0
d-3,4.0
d-3/
1611 IF(ipev.GE.1)
WRITE(6,*)
' FICONF: LEVPRT ICENTR',levprt,icentr
1614 IF ((.NOT.levprt))
RETURN
1642 IF (abs(isthkk(i)).EQ.1)
THEN
1649 IF ((isthkk(i).EQ.13).OR.(isthkk(i).EQ.15)) kf = 1
1650 IF ((isthkk(i).EQ.14).OR.(isthkk(i).EQ.16)) kf = 2
1652 IF (mo1(kf).EQ.0) mo1(kf) = i
1656 vrcl(kf,k) = vrcl(kf,k)+vhkk(k,i)
1657 wrcl(kf,k) = wrcl(kf,k)+whkk(k,i)
1660 ntot(kf) = ntot(kf)+1
1664 nq(kf) = nq(kf)+iich(idtmp)
1666 IF (idhkk(i).EQ.2212)
THEN
1667 npro(kf) = npro(kf)+1
1669 ELSEIF (idhkk(i).EQ.2112)
THEN
1673 IF (iibar(idtmp).EQ.1)
THEN
1675 IF (iich(idtmp).EQ.1) nhpos(kf) = nhpos(kf)+1
1679 IF(iniwa.LE.20)
WRITE(lout,1002) kf,idtmp
1680 1002
FORMAT(1
x,
'FICONF: residual nucleus ',i2,
1681 &
' containing meson ',i4,
', status set to 1')
1685 ntot(kf) = ntot(kf)-1
1694 IF ((ip.EQ.1).AND.(nfsp.EQ.1).AND.(idfsp.EQ.ijproj))
THEN
1696 1009
FORMAT(1
x,
'FICONF: ct elastic events ')
1697 irexci(3) = irexci(3)+1
1720 vrcl(i,k) = vrcl(i,k)/max(ntot(i),1)
1721 wrcl(i,k) = wrcl(i,k)/max(ntot(i),1)
1722 IF (i.EQ.1) prcl(1,k) = prclpr(k)
1723 IF (i.EQ.2) prcl(2,k) = prclta(k)
1725 IF(ipev.GE.1)
WRITE(6,*)prcl,
'PRCL(2,4)'
1726 IF(ipev.GE.1)
WRITE(6,*)prclta,
'PRCLTA'
1728 aif(i) = dble(ntot(i))
1729 aizf(i) = dble(npro(i)+nhpos(i))
1730 IF(ipev.GE.1)
WRITE(6,*)
'I,Ntot(i)',i,ntot(i),aif(i),aizf(i)
1731 IF (ntot(i).GT.1)
THEN
1733 amrcl0(i) = aif(i)*amuamu+1.0
d-3*
energy(aif(i),aizf(i))
1735 ptorcl =
sqrt(prcl(i,1)**2+prcl(i,2)**2+prcl(i,3)**2)
1736 amrcl(i) = (prcl(i,4)-ptorcl)*(prcl(i,4)+ptorcl)
1737 IF (amrcl(i).GT.
zero) amrcl(i) =
sqrt(amrcl(i))
1738 IF(ipev.GE.1)
WRITE(6,*)amrcl(i),
'AMRCL(',i,
')'
1740 IF ((amrcl(i).LT.amrcl0(i)).AND.(neudec.EQ.20))
1741 & amrcl(i)=amrcl0(i)+0.025d0
1742 IF (amrcl(i).LE.
zero)
THEN
1745 &
WRITE(lout,1000) i,prcl(i,1),prcl(i,2),prcl(i,3),
1746 & prcl(i,4),amrcl(i),ntot
1747 1000
FORMAT(1
x,
'warning! negative excitation energy',/,
1752 ELSEIF ((amrcl(i).GT.
zero).AND.(amrcl(i).LT.amrcl0(i)))
1754 eexc(i) = amrcl(i)-amrcl0(i)
1758 m = min(ntot(i),210)
1759 IF (nexc(i,m).GT.0)
THEN
1760 amrcl(i) = amrcl0(i)+exc(i,m)/dble(nexc(i,m))
1764 IF (m.GE.inuc(i))
THEN
1765 amrcl(i) = amrcl0(i)+expnuc(i)*dble(ntot(i))
1767 IF (nexc(i,m).GT.0)
THEN
1768 amrcl(i) = amrcl0(i)+exc(i,m)/dble(nexc(i,m))
1775 eexc(i) = amrcl(i)-amrcl0(i)
1777 WRITE(6,*)i,eexc(i),amrcl(i),amrcl0(i),
'EEXC(I)1'
1779 IF ((amrcl(i).GT.
zero).AND.(amrcl(i).LT.amrcl0(i)))
1784 expnuc(i) = eexc(i)/max(1,inuc(i)-ntot(i))
1786 m = min(ntot(i),210)
1787 exc(i,m) = exc(i,m)+eexc(i)
1788 nexc(i,m) = nexc(i,m)+1
1792 eexc(i) = amrcl(i)-amrcl0(i)
1794 WRITE(6,*)i,eexc(i),amrcl(i),amrcl0(i),
'EEXC(I)2'
1796 expnuc(i) = eexc(i)/max(1,inuc(i)-ntot(i))
1798 m = min(ntot(i),210)
1799 exc(i,m) = exc(i,m)+eexc(i)
1800 nexc(i,m) = nexc(i,m)+1
1803 ELSEIF (ntot(i).EQ.1)
THEN
1805 1003
FORMAT(1
x,
'FICONF: warning! NTOT(I)=1? (I=',i3,
')')
1812 IF(ipev.GE.1)
WRITE(6,*)
' INORCL,I',inorcl,i
1815 WRITE (6,
'(A,I10,3F10.3)')
' I,AIF,AIZF,EEXC:'
1816 *,i,aif(i),aizf(i),eexc(i)
1820 prclpr(5) = amrcl(1)
1821 prclta(5) = amrcl(2)
1822 IF(ipev.GE.1)
WRITE(6,*)
' ICOR,INORCL ',icor,inorcl
1824 IF (inorcl.EQ.0)
THEN
1833 CALL
mashel(p1in,p2in,xm1,xm2,p1out,p2out,irej1)
1835 WRITE(6,
'(A)')
' FICONF MASHEL rejection'
1839 prcl(1,k) = p1out(k)
1840 prcl(2,k) = p2out(k)
1841 prclpr(k) = p1out(k)
1842 prclta(k) = p2out(k)
1844 prclpr(5) = amrcl(1)
1845 prclta(5) = amrcl(2)
1849 WRITE(6,
'(A)')
' from FICONF'
1851 WRITE(6,1005) ihkk, isthkk(ihkk),idhkk(ihkk),jmohkk(1,ihkk),
1852 + jmohkk(2,ihkk), jdahkk(1,ihkk),jdahkk(2,ihkk),(phkk
1853 + (khkk,ihkk),khkk=1,5), (vhkk(khkk,ihkk),khkk=1,4)
1854 + ,idres(ihkk),idxres(ihkk),nobam(ihkk),
1855 & idbam(ihkk),idch(ihkk)
1856 1005
FORMAT (i6,i4,5i6,9(1pe10.2)/5i6)
1860 WRITE(lout,1001) nevhkk,
int(aif(1)),
int(aizf(1)),
1861 &
int(aif(2)),
int(aizf(2)),amrcl0(1),
1862 & amrcl(1),amrcl(1)-amrcl0(1),amrcl0(2),
1863 & amrcl(2),amrcl(2)-amrcl0(2)
1864 1001
FORMAT(1
x,
'FICONF: warning! no residual nucleus for',
1865 &
' correction',/,11
x,
'at event',i6,
1866 &
', nucleon config. 1:',2i4,
' 2:',2i4,
1874 IF (nresev(1).NE.nevhkk)
THEN
1876 nresev(2) = nresev(2)+1
1879 excdpm(i) = excdpm(i)+eexc(i)
1880 excdpm(i+2) = excdpm(i+2)+(eexc(i)/max(ntot(i),1))
1881 nresto(i) = nresto(i)+ntot(i)
1882 nrespr(i) = nrespr(i)+npro(i)
1883 nresnu(i) = nresnu(i)+nn(i)
1884 nresba(i) = nresba(i)+nh(i)
1885 nrespb(i) = nrespb(i)+nhpos(i)
1886 nresch(i) = nresch(i)+nq(i)
1895 IF ((inuc(i).GT.1).AND.(aif(i).GT.
one).AND.
1896 & (eexc(i).GT.
zero))
THEN
1899 jmass =
int( aif(i))
1900 jchar =
int(aizf(i))
1901 CALL
evtput(1000,idrcl,mo1(i),mo2(i),prcl(i,1),
1902 & prcl(i,2),prcl(i,3),prcl(i,4),jmass,jchar,0)
1903 IF(ipev.GE.1)
WRITE(6,*)prcl,
'PRCL(2,4),EVTPUT'
1905 vhkk(j,nhkk) = vrcl(i,j)
1906 whkk(j,nhkk) = wrcl(i,j)
1916 ibres = npro(i)+nn(i)+nh(i)
1917 icres = npro(i)+nhpos(i)
1920 ptres =
sqrt(pxres**2+pyres**2+pzres**2)
1921 IF(ipev.GE.1)
WRITE(6,*)pxres,pyres,pzres,eres,
'FICONF1'
1924 amnres = ammres-znow*amelec+elbnde(icres)
1928 tvrecl = prcl(i,4)-amrcl(i)
1938 ptres =
sqrt(tvrecl*(tvrecl+2.0d0*(ammres+tvcms)))
1939 IF (ptold.LT.anglgb)
THEN
1940 CALL
raco(pxres,pyres,pzres)
1941 IF(ipev.GE.1)
WRITE(6,*)pxres,pyres,pzres,eres,
'FICONF2'
1944 pxres = pxres*ptres/ptold
1945 pyres = pyres*ptres/ptold
1946 pzres = pzres*ptres/ptold
1947 IF(ipev.GE.1)
WRITE(6,*)ptres,ptold,
'FICONF3'
1948 IF(ipev.GE.1)
WRITE(6,*)pxres,pyres,pzres,eres,
'FICONF3'
1962 WRITE(6,
'(A,2F10.2,2I5)')
' FRMBRK rej.',
1963 * anoww,znoww,ibress,icress
1968 IF(ipev.GE.1)
WRITE(6,*)excitf,
'EXITF before EVA2HE'
1969 CALL
eva2he(mo,excitf,i,irej1)
1970 IF(ipev.GE.1)
WRITE(6,*)excitf,
'EXITF after EVA2HE'
1971 IF(irej1.GE.1)
WRITE(6,
'(A)')
' FICONF EVA2HE '
1973 exceva(i) = exceva(i)+excitf
1977 IF(ipev.GE.1)
WRITE(6,
'(A,I5)')
' FICONF RETURN IREJ ',irej
1981 9998 irexci(1) = irexci(1)+1
1986 IF(ipev.GE.1)
WRITE(6,
'(A,I5)')
' FICONF rej. IREJ ',irej
2004 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
2006 parameter(lout=6,llook=9)
2007 parameter(tiny10=1.0
d-10,tiny3=1.0
d-3)
2010 COMMON /hkkevt/ nhkk,nevhkk,isthkk(
nmxhkk),idhkk(
nmxhkk),
2018 COMMON /dpar/ aname(210),aam(210),ga(210),
tau(210),
2019 & iich(210),iibar(210),k1(210),k2(210)
2020 LOGICAL lemcck,lhadro,lseadi
2021 COMMON /flags/ ifrag(2),iresco,imshl,iresrj,
2022 & lemcck,lhadro(0:9),lseadi
2023 COMMON /stfico/ excdpm(4),exceva(2),
2024 & nincge,nincco(2,3),ninchr(2,2),nincwo(2),
2025 & nincst(2,4),nincev(2),
2026 & nresto(2),nrespr(2),nresnu(2),nresba(2),
2027 & nrespb(2),nresch(2),nresev(4),
2028 & neva(2,6),nevaga(2),nevaht(2),nevahy(2,2,240),
2030 COMMON /excita/ amrcl0(2),eexc(2),eexcfi(2),
2031 & ntot(2),npro(2),nn(2),nh(2),nhpos(2),nq(2),
2032 & ntotfi(2),nprofi(2)
2035 COMMON / finuc / cxr(mxp), cyr(mxp), czr(mxp), tki(mxp),
2036 & plr(mxp), wei(mxp), tv, tvcms, tvrecl, tvheav,
2037 & tvbind, np0, np, kpart(mxp)
2040 parameter( mxheav = 100 )
2042 COMMON / fheavy / cxheav(mxheav), cyheav(mxheav),
2043 & czheav(mxheav), tkheav(mxheav),
2044 & pheavy(mxheav), wheavy(mxheav),
2045 & amheav( 12 ) , amnhea( 12 ) ,
2046 & kheavy(mxheav), icheav( 12 ) ,
2047 & ibheav( 12 ) , npheav
2048 COMMON / fheavc / anheav( 12 )
2049 LOGICAL lrnfss, lfragm
2050 COMMON /resnuc/ amntar, ammtar, amnzm1, ammzm1, amnnm1, ammnm1,
2051 & anow, znow, ancoll, zncoll, ammlft, amnlft,
2052 & eres, ekres, amnres, ammres, ptres, pxres,
2053 & pyres, pzres, ptres2, ktarp, ktarn, igreyp,
2054 & igreyn, icres, ibres, istres, ievapl, ievaph,
2055 & ievneu, ievpro, ievdeu, ievtri, iev3he, iev4he,
2056 & ideexg, ibtar, ichtar, ibleft, icleft, iother,
2059 dimension iptokp(39)
2060 DATA iptokp / 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
2061 & 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 99,
2062 & 100, 101, 97, 102, 98, 103, 109, 115 /
2067 IF (nresev(3).NE.nevhkk)
THEN
2069 nresev(4) = nresev(4)+1
2073 & CALL
evtemc(phkk(1,mo),phkk(2,mo),phkk(3,mo),phkk(4,mo),1,
2078 IF(ipri.GE.1)
WRITE(6,*)
' resnuc IBTOT,IZTOT ',ibtot,iztot
2084 id = iptokp(kpart(i))
2086 am = ((plr(i)+tki(i))*(plr(i)-tki(i)))/
2087 & (2.0d0*max(tki(i),tiny10))
2088 IF (abs(am-aam(id)).GT.tiny3)
THEN
2089 WRITE(lout,1000) id,am,aam(id)
2090 1000
FORMAT(1
x,
'EVA2HE: inconsistent mass of evap. ',
2091 &
'particle',i3,2e10.3)
2094 CALL
evtput(-1,idpdg,mo,0,
px,
py,
pz,pe,0,0,0)
2097 ibtot = ibtot-iibar(id)
2098 iztot = iztot-iich(id)
2103 px = cxheav(i)*pheavy(i)
2104 py = cyheav(i)*pheavy(i)
2105 pz = czheav(i)*pheavy(i)
2107 am = ((pheavy(i)+tkheav(i))*(pheavy(i)-tkheav(i)))/
2108 & (2.0d0*max(tkheav(i),tiny10))
2111 & ibheav(kheavy(i)),icheav(kheavy(i)),0)
2114 ibtot = ibtot-ibheav(kheavy(i))
2115 iztot = iztot-icheav(kheavy(i))
2118 IF (ibres.GT.0)
THEN
2121 CALL
evtput(1001,idnuc,mo,0,pxres,pyres,pzres,eres,
2127 ntotfi(ircl) = ibres
2128 nprofi(ircl) = icres
2129 IF (lemcck) CALL
evtemc(-pxres,-pyres,-pzres,-eres,2,idum,idum)
2134 nevafi(1,ircl) = nevafi(1,ircl)+1
2135 IF (lrnfss) nevafi(2,ircl) = nevafi(2,ircl)+1
2138 IF (lemcck) CALL
evtemc(dum,dum,dum,dum,4,40,irej)
2140 IF (ibtot+iztot.NE.0)
THEN
2141 WRITE(lout,1001) nevhkk,ibtot,iztot
2142 1001
FORMAT(1
x,
'EVA2HE: baryon-number/charge conservation ',
2143 &
'failure at event ',i6,
' : IBTOT,IZTOT = ',2i3)
2162 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
2164 parameter(lout=6,llook=9)
2165 parameter(dlarge=1.0d10,ohalf=0.5d0,
zero=0.0d0)
2166 parameter(fm2mm=1.0
d-12,rnucle = 1.12d0)
2168 LOGICAL lstart,lcas,lfzc
2171 COMMON /hkkevt/ nhkk,nevhkk,isthkk(
nmxhkk),idhkk(
nmxhkk),
2176 COMMON /rjcoun/ irpt,irhha,irres(2),lomres,lobres,
2177 & irchki(2),irfrag,ircron(3),irevt,
2178 & irexci(3),irdiff(2),irinc
2180 COMMON /nucc/ it,itz,ip,ipz,ijproj,ibproj,ijtarg,ibtarg
2181 COMMON /rptshm/ rproj,rtarg,bimpac
2182 COMMON /dprin/ ipri,ipev,ippa,ipco,
init,iphkk,itopd,ipaupr
2183 LOGICAL lemcck,lhadro,lseadi
2184 COMMON /flags/ ifrag(2),iresco,imshl,iresrj,
2185 & lemcck,lhadro(0:9),lseadi
2186 COMMON /pauli/ ewound(2,300),nwound(2),idxinc(2000),noinc
2188 COMMON /taufo/ taufor,ktauge,itauve,incmod
2190 LOGICAL intpt,fermp,ihadss,ihadsv,ihadvs,ihadvv,ihada, ipadis,
2192 COMMON /droppt/ intpt,fermp,ihadss,ihadsv,ihadvs,ihadvv,ihada,
2193 & ipadis,ishmal,lpauli
2196 DATA lstart /.true./
2204 IF (((ip.EQ.1).AND.(it.EQ.1)).OR.(ktauge.LT.1)) goto 9999
2206 IF(ipev.GE.1)
WRITE(6,*)lhadro
2208 IF (.NOT.(lhadro(i))) goto 9999
2212 WRITE(6,1000) ktauge,taufor,incmod
2215 WRITE(lout,1000) ktauge,taufor,incmod
2216 1000
FORMAT(/,1
x,
'FOZOCA: intranuclear cascade treated for a ',
2217 &
'maximum of',i4,
' generations',/,10
x,
'formation time ',
2218 &
'parameter:',f5.1,
' fm/c',9
x,
'modus:',i2)
2219 IF (itauve.EQ.1)
WRITE(lout,1001)
2220 IF (itauve.EQ.2)
WRITE(lout,1002)
2221 1001
FORMAT(10
x,
'p_t dependent formation zone',/)
2222 1002
FORMAT(10
x,
'constant formation zone',/)
2230 DO 9 i=1,npoint(1)-1
2242 IF (isthkk(j).EQ.10+i)
THEN
2243 nwound(i) = nwound(i)+1
2244 ewound(i,nwound(i)) = phkk(4,j)
2245 IF (idhkk(j).EQ.2212) ncwoun(i) = ncwoun(i)+1
2251 iprcl = ip -nwound(1)
2252 ipzrcl = ipz-ncwoun(1)
2253 itrcl = it -nwound(2)
2254 itzrcl = itz-ncwoun(2)
2263 IF ((abs(isthkk(i)).EQ.1).AND.(idch(i).LT.ktauge))
THEN
2268 IF ((incmod.EQ.1).OR.(idch(i).GT.0))
THEN
2269 IF (
rndm(v).GT.ohalf) ncas = -ncas
2271 ELSEIF (incmod.EQ.2)
THEN
2274 ELSEIF (ip.EQ.it)
THEN
2275 IF (
rndm(v).GT.ohalf) ncas = -ncas
2279 ELSEIF (incmod.EQ.3)
THEN
2280 ncas =
int(sign(1.0d0,phkk(3,i)))
2283 IF (((ncas.EQ. 1).AND.(ip.LE.1)).OR.
2284 & ((ncas.EQ.-1).AND.(it.LE.1))) ncas = -ncas
2288 CALL
inucas(it,ip,i,lcas,ncas,irej1)
2295 IF (((ncas.EQ. 1).AND.(ip.GT.1)).OR.
2296 & ((ncas.EQ.-1).AND.(it.GT.1)))
THEN
2297 IF (lcas) CALL
inucas(it,ip,i,lcas,ncas,irej1)
2309 IF (nstart.LE.nend) goto 7
2334 SUBROUTINE inucas(IT,IP,IDXCAS,LCAS,NCAS,IREJ)
2346 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
2348 parameter(lout=6,llook=9)
2350 parameter(tiny10=1.0
d-10,tiny2=1.0
d-2,
zero=0.0d0,dlarge=1.0d10,
2351 & ohalf=0.5d0,
one=1.0d0)
2352 parameter(fm2mm=1.0
d-12,rnucle = 1.12d0)
2353 parameter(twopi=6.283185307179586454
d+00)
2354 parameter(elowh=0.01d0,ehih=9.0d0)
2359 COMMON /hkkevt/ nhkk,nevhkk,isthkk(
nmxhkk),idhkk(
nmxhkk),
2364 parameter(maxfsp=10)
2365 COMMON /fistat/ pfsp(5,maxfsp),idfsp(maxfsp),nfsp
2368 LOGICAL lemcck,lhadro,lseadi
2369 COMMON /flags/ ifrag(2),iresco,imshl,iresrj,
2370 & lemcck,lhadro(0:9),lseadi
2372 COMMON /dpar/ aname(210),aam(210),ga(210),
tau(210),
2373 & iich(210),iibar(210),k1(210),k2(210)
2375 COMMON /rptshm/ rproj,rtarg,bimpac
2376 COMMON /nuclea/ pfermp(2),pfermn(2),fermod,
2377 & ebindp(2),ebindn(2),epot(2,210),
2379 COMMON /taufo/ taufor,ktauge,itauve,incmod
2380 COMMON /pauli/ ewound(2,300),nwound(2),idxinc(2000),noinc
2382 LOGICAL intpt,fermp,ihadss,ihadsv,ihadvs,ihadvv,ihada, ipadis,
2384 COMMON /droppt/ intpt,fermp,ihadss,ihadsv,ihadvs,ihadvv,ihada,
2385 & ipadis,ishmal,lpauli
2387 COMMON /stfico/ excdpm(4),exceva(2),
2388 & nincge,nincco(2,3),ninchr(2,2),nincwo(2),
2389 & nincst(2,4),nincev(2),
2390 & nresto(2),nrespr(2),nresnu(2),nresba(2),
2391 & nrespb(2),nresch(2),nresev(4),
2392 & neva(2,6),nevaga(2),nevaht(2),nevahy(2,2,240),
2395 dimension pcas(2,5),ptocas(2),coscas(2,3),vtxcas(2,4),vtxca1(2,4),
2396 & pcas1(5),pnuc(5),bgta(4),
2397 & bgcas(2),gacas(2),becas(2),
2398 & rnuc(2),bimpc(2),vtxdst(3),idxspe(2),idspe(2),nwtmp(2)
2405 IF (nincev(1).NE.nevhkk)
THEN
2407 nincev(2) = nincev(2)+1
2411 idcas = idbam(idxcas)
2412 IF (
mchad(idcas).EQ.-1)
RETURN
2415 IF (aam(idcas).LT.tiny2)
RETURN
2419 CALL
ltrans(phkk(1,idxcas),phkk(2,idxcas),phkk(3,idxcas),
2420 & phkk(4,idxcas),pcas(1,1),pcas(1,2),pcas(1,3),
2421 & pcas(1,4),idcas,-2)
2422 ptocas(1) =
sqrt(pcas(1,1)**2+pcas(1,2)**2+pcas(1,3)**2)
2423 pcas(1,5) = (pcas(1,4)-ptocas(1))*(pcas(1,4)+ptocas(1))
2424 IF (pcas(1,5).GT.
zero)
THEN
2425 pcas(1,5) =
sqrt(pcas(1,5))
2427 pcas(1,5) = aam(idcas)
2430 coscas(1,k) = pcas(1,k)/max(ptocas(1),tiny10)
2434 bgcas(1) = ptocas(1)/max(pcas(1,5),tiny10)
2435 gacas(1) = pcas(1,4)/max(pcas(1,5),tiny10)
2436 becas(1) = bgcas(1)/gacas(1)
2440 IF (k.LE.3) coscas(1,k) =
zero
2449 CALL
ltrans(phkk(1,idxcas),phkk(2,idxcas),phkk(3,idxcas),
2450 & phkk(4,idxcas),pcas(2,1),pcas(2,2),pcas(2,3),
2451 & pcas(2,4),idcas,-3)
2452 ptocas(2) =
sqrt(pcas(2,1)**2+pcas(2,2)**2+pcas(2,3)**2)
2453 pcas(2,5) = (pcas(2,4)-ptocas(2))*(pcas(2,4)+ptocas(2))
2454 IF (pcas(2,5).GT.
zero)
THEN
2455 pcas(2,5) =
sqrt(pcas(2,5))
2457 pcas(2,5) = aam(idcas)
2460 coscas(2,k) = pcas(2,k)/max(ptocas(2),tiny10)
2464 bgcas(2) = ptocas(2)/max(pcas(2,5),tiny10)
2465 gacas(2) = pcas(2,4)/max(pcas(2,5),tiny10)
2466 becas(2) = bgcas(2)/gacas(2)
2470 IF (k.LE.3) coscas(2,k) =
zero
2480 rnuc(1) = (rproj+4.605d0*pdif)*fm2mm
2481 rnuc(2) = (rtarg+4.605d0*pdif)*fm2mm
2484 bimpc(2) = bimpac*fm2mm
2488 vtxcas(1,k) = whkk(k,idxcas)
2489 vtxcas(2,k) = vhkk(k,idxcas)
2494 IF (ncas.EQ.-1)
THEN
2499 IF (ptocas(icas).LT.tiny10)
THEN
2500 WRITE(lout,1000) ptocas
2501 1000
FORMAT(1
x,
'INUCAS: warning! zero momentum of initial',
2502 &
' hadron ',/,20
x,2e12.4)
2517 del0 = taufor*bgcas(icas)
2518 IF (itauve.EQ.1)
THEN
2519 amt = pcas(icas,1)**2+pcas(icas,2)**2+pcas(icas,5)**2
2520 del0 = del0*pcas(icas,5)**2/amt
2524 del1 = -del0*
log(max(
rndm(v),tiny10))
2526 tausa1 = del1/bgcas(icas)
2527 rel1 = tausa1*bgcas(i2)
2530 tausam = del/bgcas(icas)
2531 rel = tausam*bgcas(i2)
2536 IF ((iich(idcas).EQ.-1).AND.(idcas.LT.20))
THEN
2539 ethr = aam(idcas)+epot(icas,idcas)+etacou(icas)
2540 IF (pcas(icas,4).LT.ethr)
THEN
2542 pcas1(k) = pcas(icas,k)
2545 CALL
absorp(idcas,pcas1,ncas,nspe,idspe,idxspe,0,irej1)
2546 IF (irej1.NE.0) goto 9999
2547 IF (nspe.GE.1) labsor = .true.
2553 IF (.NOT.labsor)
THEN
2559 dtime = dstep/becas(icas)
2561 IF ((ip.GT.1).AND.(it.GT.1))
THEN
2562 rtime = rstep/becas(i2)
2568 dtime1 = dstep1/becas(icas)
2570 IF ((ip.GT.1).AND.(it.GT.1))
THEN
2571 rtime1 = rstep1/becas(i2)
2577 vtxca1(icas,k) = vtxcas(icas,k)+dstep1*coscas(icas,k)
2578 vtxca1(i2,k) = vtxcas(i2,k) +rstep1*coscas(i2,k)
2579 vtxcas(icas,k) = vtxcas(icas,k)+dstep*coscas(icas,k)
2580 vtxcas(i2,k) = vtxcas(i2,k) +rstep*coscas(i2,k)
2582 vtxca1(icas,4) = vtxcas(icas,4)+dtime1
2583 vtxca1(i2,4) = vtxcas(i2,4) +rtime1
2584 vtxcas(icas,4) = vtxcas(icas,4)+dtime
2585 vtxcas(i2,4) = vtxcas(i2,4) +rtime
2587 IF ((ip.GT.1).AND.(it.GT.1))
THEN
2588 xcas = vtxcas(icas,1)
2589 ycas = vtxcas(icas,2)
2590 xnclta = bimpac*fm2mm
2591 rnclpr = (rproj+rnucle)*fm2mm
2592 rnclta = (rtarg+rnucle)*fm2mm
2593 rcaspr =
sqrt( xcas**2 +ycas**2)
2594 rcasta =
sqrt((xcas-xnclta)**2+ycas**2)
2595 IF ((rcaspr.LT.rnclpr).AND.(rcasta.LT.rnclta))
THEN
2596 IF (idch(idxcas).EQ.0) nobam(idxcas) = 3
2601 rdist =
sqrt((vtxcas(icas,1)-bimpc(icas))**2+
2602 & vtxcas(icas,2)**2+vtxcas(icas,3)**2)
2603 IF (rdist.GE.rnuc(icas))
THEN
2608 IF ((idch(idxcas).EQ.0).AND.(nobam(idxcas).LT.3))
2609 & nobam(idxcas) = nobam(idxcas)+icas
2620 ninchr(icas,1) = ninchr(icas,1)+1
2621 IF ((ptocas(icas).LE.elowh).OR.(ptocas(icas).GE.ehih))
THEN
2622 ninchr(icas,2) = ninchr(icas,2)+1
2634 IF ((isthkk(i).EQ.12+icas).OR.(isthkk(i).EQ.14+icas))
THEN
2637 vtxdst(k) = whkk(k,i)-vtxcas(1,k)
2638 ELSEIF (icas.EQ.2)
THEN
2639 vtxdst(k) = vhkk(k,i)-vtxcas(2,k)
2642 posnuc = vtxdst(1)*coscas(icas,1)+
2643 & vtxdst(2)*coscas(icas,2)+
2644 & vtxdst(3)*coscas(icas,3)
2646 IF (posnuc.GT.
zero)
THEN
2648 distnu =
sqrt(vtxdst(1)**2+vtxdst(2)**2+
2651 bimnu2 = distnu**2-posnuc**2
2652 IF (bimnu2.LT.
zero)
THEN
2653 WRITE(lout,1001) distnu,posnuc,bimnu2
2654 1001
FORMAT(1
x,
'INUCAS: warning! inconsistent impact',
2655 &
' parameter ',/,20
x,3e12.4)
2658 bimnu =
sqrt(bimnu2)
2661 idnuc1 =
mchad(idnuc)
2662 idcas1 =
mchad(idcas)
2664 pcas1(k) = pcas(icas,k)
2669 bgta(k) = pnuc(k)/max(pnuc(5),tiny10)
2672 CALL
daltra(bgta(4),-bgta(1),-bgta(2),-bgta(3),
2673 & pcas1(1),pcas1(2),pcas1(3),pcas1(4),
2675 CALL
sihnin(idcas1,idnuc1,pptot,sigin)
2676 CALL
sihnel(idcas1,idnuc1,pptot,sigel)
2677 CALL
sihnab(idcas1,idnuc1,pptot,sigab)
2678 sigtot = sigin+sigel+sigab
2679 bimmax =
sqrt(sigtot/(5.0d0*twopi))*fm2mm
2681 IF (bimnu.LE.bimmax)
THEN
2684 IF (distnu.LT.dist)
THEN
2687 IF (idnuc.NE.idspe(1))
THEN
2689 idxspe(2) = idxspe(1)
2709 distnu =
sqrt(vtxdst(1)**2+vtxdst(2)**2+
2712 IF (idnuc.EQ.1)
THEN
2713 IF (distnu.LT.distp)
THEN
2718 ELSEIF (idnuc.EQ.8)
THEN
2719 IF (distnu.LT.distn)
THEN
2729 IF (nspe.EQ.0) goto 9997
2731 IF (idxspe(2).EQ.0)
THEN
2732 IF ((idspe(1).EQ.1).AND.(idxn.GT.0))
THEN
2735 ELSEIF ((idspe(1).EQ.8).AND.(idxp.GT.0))
THEN
2744 IF (rr.LT.sela/stot)
THEN
2746 ELSEIF ((rr.GE.sela/stot).AND.(rr.LT.(sela+sabs)/stot))
THEN
2753 pcas1(k) = pcas(icas,k)
2754 pnuc(k) = phkk(k,idxspe(1))
2756 IF (iproc.EQ.3)
THEN
2759 CALL
absorp(idcas,pcas1,ncas,nspe,idspe,idxspe,1,irej1)
2760 IF (irej1.NE.0) goto 9999
2761 IF (nspe.GE.1) labsor = .true.
2764 idnuc = idbam(idxspe(1))
2766 CALL
hadri1(idcas,pcas1,idnuc,pnuc,iproc,irej1)
2779 IF (nwound(icas).LE.299)
THEN
2780 nwound(icas) = nwound(icas)+1
2781 ewound(icas,nwound(icas)) = phkk(4,idxspe(i))
2787 & CALL
evtemc(pcas(icas,1),pcas(icas,2),pcas(icas,3),
2788 & pcas(icas,4),1,idum,idum)
2794 nwtmp(1) = nwound(1)
2795 nwtmp(2) = nwound(2)
2799 IF (((ncas.EQ. 1).AND.(it.LE.1)).OR.
2800 & ((ncas.EQ.-1).AND.(ip.LE.1))) j1 = 1
2802 IF ((npauli.NE.0).AND.(j.EQ.2)) goto 117
2809 IF (idx.EQ.1) mode = -1
2810 CALL
ltnuc(pfsp(3,i),pfsp(4,i),
pz,pe,mode)
2814 IF ((.NOT.labsor).AND.lpauli.AND.((idfsp(i).EQ.1).OR.
2815 & (idfsp(i).EQ.8)))
THEN
2817 pot = epot(idx,idfsp(i))+aam(idfsp(i))
2818 IF (idfsp(i).EQ.1)
THEN
2819 potlow = pot-ebindp(idx)
2821 potlow = pot-ebindn(idx)
2824 IF (pe.LE.potlow)
THEN
2826 IF ((nwound(idx).GE.1).AND.(pe.GE.
2827 & ewound(idx,nwound(idx))))
THEN
2829 nwound(idx) = nwound(idx)-1
2832 nwound(1) = nwtmp(1)
2833 nwound(2) = nwtmp(2)
2842 nwound(1) = nwtmp(1)
2843 nwound(2) = nwtmp(2)
2847 ist = isthkk(idxcas)
2851 IF (((ncas.EQ. 1).AND.(it.LE.1)).OR.
2852 & ((ncas.EQ.-1).AND.(ip.LE.1))) j1 = 1
2854 IF ((npauli.NE.0).AND.(j.EQ.2)) goto 17
2859 CALL
ltnuc(pfsp(3,i),pfsp(4,i),
pz,pe,ncas)
2863 IF ((.NOT.labsor).AND.lpauli.AND.((idfsp(i).EQ.1).OR.
2864 & (idfsp(i).EQ.8)))
THEN
2866 pot = epot(idx,idfsp(i))+aam(idfsp(i))
2867 IF (idfsp(i).EQ.1)
THEN
2868 potlow = pot-ebindp(idx)
2870 potlow = pot-ebindn(idx)
2873 IF (pe.LE.potlow)
THEN
2875 IF ((nwound(idx).GE.1).AND.(pe.GE.
2876 & ewound(idx,nwound(idx))))
THEN
2877 nwound(idx) = nwound(idx)-1
2882 nwound(1) = nwtmp(1)
2883 nwound(2) = nwtmp(2)
2898 IF (lemcck) CALL
evtemc(-pfsp(1,i),-pfsp(2,i),-pfsp(3,i),
2899 & -pfsp(4,i),2,idum,idum)
2905 IF (abs(ist).EQ.1)
THEN
2908 CALL
ltrans(
px,
py,
pz,pe,pfsp(1,i),pfsp(2,i),pfsp(3,i),
2909 & pfsp(4,i),idfsp(i),imode)
2910 ELSEIF ((icas.EQ.2).AND.(ist.EQ.15))
THEN
2913 CALL
ltrans(
px,
py,
pz,pe,pfsp(1,i),pfsp(2,i),pfsp(3,i),
2914 & pfsp(4,i),idfsp(i),-1)
2915 ELSEIF ((icas.EQ.1).AND.(ist.EQ.16))
THEN
2918 CALL
ltrans(
px,
py,
pz,pe,pfsp(1,i),pfsp(2,i),pfsp(3,i),
2919 & pfsp(4,i),idfsp(i),1)
2923 igen = idch(idxcas)+1
2926 IF (labsor) ixr = 99
2927 CALL
evtput(ist,id,idxcas,idxspe(1),pfsp(1,i),
2928 & pfsp(2,i),pfsp(3,i),pfsp(4,i),0,ixr,igen)
2931 IF ((ist.EQ.15).OR.(ist.EQ.16))
THEN
2933 idxinc(noinc) = nhkk
2941 whkk(k,nhkk) = whkk(k,idxcas)
2942 vhkk(k,nhkk) = vhkk(k,idxcas)
2950 ddistl =
sqrt(dist**2-bint**2)
2951 dtime = ddistl/becas(icas)
2952 dtimel = ddistl/bgcas(icas)
2953 rdistl = dtimel*bgcas(i2)
2954 IF ((ip.GT.1).AND.(it.GT.1))
THEN
2955 rtime = rdistl/becas(i2)
2962 vtxca1(icas,k) = vtxcas(icas,k)+coscas(icas,k)*ddistl
2963 vtxca1(i2,k) = vtxcas(i2,k) +coscas(i2,k) *rdistl
2965 vtxca1(icas,4) = vtxcas(icas,4)+dtime
2966 vtxca1(i2,4) = vtxcas(i2,4) +rtime
2970 whkk(k,nhkk) = ohalf*(vtxca1(1,k)+whkk(k,idxspe(1)))
2971 vhkk(k,nhkk) = ohalf*(vtxca1(2,k)+vhkk(k,idxspe(1)))
2974 whkk(4,nhkk) = vtxca1(1,4)
2975 vhkk(4,nhkk) = vtxca1(2,4)
2983 IF (labsor) isthkk(idxcas) = 19
2984 IF (.NOT.labsor)
THEN
2986 whkk(k,idxcas) = vtxca1(1,k)
2987 vhkk(k,idxcas) = vtxca1(2,k)
2995 & CALL
evtemc(phkk(1,is),phkk(2,is),phkk(3,is),phkk(4,is),
2998 IF (isthkk(is).EQ.12+icas) isthkk(is)=16+icas
2999 IF (isthkk(is).EQ.14+icas) isthkk(is)=2
3001 jdahkk(1,is) = jdahkk(1,idxspe(1))
3002 jdahkk(2,is) = jdahkk(2,idxspe(1))
3008 CALL
evtemc(dum,dum,dum,dum,4,500,irej1)
3009 IF (irej1.NE.0) goto 9999
3014 nincco(icas,1) = nincco(icas,1)+1
3016 IF (iproc.EQ.1) nincco(icas,2) = nincco(icas,2)+1
3017 IF (iproc.EQ.2) nincco(icas,3) = nincco(icas,3)+1
3030 whkk(k,idxcas) = vtxca1(1,k)
3031 vhkk(k,idxcas) = vtxca1(2,k)
3049 SUBROUTINE absorp(IDCAS,PCAS,NCAS,NSPE,IDSPE,IDXSPE,MODE,IREJ)
3069 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
3071 parameter(lout=6,llook=9)
3072 parameter(tiny10=1.0
d-10,tiny5=1.0
d-5,
one=1.0d0,
3073 & onethi=0.3333d0,twothi=0.6666d0)
3076 COMMON /hkkevt/ nhkk,nevhkk,isthkk(
nmxhkk),idhkk(
nmxhkk),
3081 LOGICAL lemcck,lhadro,lseadi
3083 COMMON /flags/ ifrag(2),iresco,imshl,iresrj,
3084 & lemcck,lhadro(0:9),lseadi
3085 parameter(maxfsp=10)
3086 COMMON /fistat/ pfsp(5,maxfsp),idfsp(maxfsp),nfsp
3089 COMMON /dpar/ aname(210),aam(210),ga(210),
tau(210),
3090 & iich(210),iibar(210),k1(210),k2(210)
3092 dimension pcas(5),idxspe(2),idspe(2),pspe(2,5),pspe1(5),
3093 & ptot3p(4),bg3p(4),
3094 & ecmf(2),pcmf(2),codf(2),coff(2),siff(2)
3100 IF ((mode.EQ.0).AND.
3101 & (idcas.NE.2).AND.(idcas.NE.14).AND.(idcas.NE.16))
RETURN
3103 IF ((mode.EQ.1).AND.(idcas.NE.13).AND.
3104 &(idcas.NE.23).AND.(idcas.NE.14))
RETURN
3107 IF (nucas.EQ.-1) nucas = 2
3115 IF ((isthkk(i).EQ.12+nucas).OR.(isthkk(i).EQ.14+nucas))
THEN
3118 idspe(nspe) = idbam(i)
3119 IF ((nspe.EQ.1).AND.(idcas.EQ.2)) goto 2
3121 IF ((idcas.EQ.14).AND.(idspe(1).EQ.8).AND.
3122 & (idspe(2).EQ.8))
THEN
3138 pspe(i,k) = phkk(k,idxspe(i))
3143 IF ((idcas.EQ.2).AND.(nspe.GE.1))
THEN
3145 pspe1(k) = pspe(1,k)
3148 CALL
hadri1(idcas,pcas,idspe(1),pspe1,1,irej1)
3149 IF (irej1.NE.0) goto 9999
3152 ELSEIF (((idcas.EQ.13).OR.(idcas.EQ.14).OR.
3153 &(idcas.EQ.23).OR.(idcas.EQ.16))
3154 & .AND.(nspe.GE.2))
THEN
3155 IF (idcas.EQ.14)
THEN
3159 IF ((idspe(1).EQ.1).AND.(idspe(2).EQ.1)) idfsp(2) = 1
3160 ELSEIF (idcas.EQ.13)
THEN
3164 IF ((idspe(1).EQ.8).AND.(idspe(2).EQ.8)) idfsp(2) = 8
3165 ELSEIF (idcas.EQ.23)
THEN
3169 ELSEIF (idcas.EQ.16)
THEN
3172 IF ((idspe(1).EQ.1).AND.(idspe(2).EQ.1))
THEN
3173 IF (
r.LT.onethi)
THEN
3176 ELSEIF (
r.LT.twothi)
THEN
3183 ELSEIF ((idspe(1).EQ.8).AND.(idspe(2).EQ.8))
THEN
3187 IF (
r.LT.onethi)
THEN
3190 ELSEIF (
r.LT.twothi)
THEN
3201 CALL
evtemc(pcas(1),pcas(2),pcas(3),pcas(4),1,idum,idum)
3202 CALL
evtemc(pspe(1,1),pspe(1,2),pspe(1,3),pspe(1,4),2,
3204 CALL
evtemc(pspe(2,1),pspe(2,2),pspe(2,3),pspe(2,4),2,
3209 ptot3p(k) = pcas(k)+pspe(1,k)+pspe(2,k)
3211 p3p =
sqrt(ptot3p(1)**2+ptot3p(2)**2+ptot3p(3)**2)
3212 am3p =
sqrt( (ptot3p(4)-p3p)*(ptot3p(4)+p3p) )
3214 bg3p(k) = ptot3p(k)/max(am3p,tiny10)
3217 CALL
dtwopd(am3p,ecmf(1),ecmf(2),pcmf(1),pcmf(2),
3218 & codf(1),coff(1),siff(1),codf(2),coff(2),siff(2),
3219 & aam(idfsp(1)),aam(idfsp(2)))
3222 px = pcmf(i)*coff(i)*sdf
3223 py = pcmf(i)*siff(i)*sdf
3224 pz = pcmf(i)*codf(i)
3226 & ecmf(i),ptofsp,pfsp(1,i),pfsp(2,i),pfsp(3,i),
3228 pfsp(5,i) =
sqrt( (pfsp(4,i)-ptofsp)*(pfsp(4,i)+ptofsp) )
3230 IF (abs(aam(idfsp(i))-pfsp(5,i)).GT.tiny5)
THEN
3231 WRITE(lout,1001) idfsp(i),aam(idfsp(i)),pfsp(5,i)
3232 1001
FORMAT(1
x,
'ABSORP: warning! inconsistent',
3233 &
' tree-particle kinematics',/,20
x,
'id: ',i3,
3234 &
' AAM = ',e10.4,
' MFSP = ',e10.4)
3237 IF (lemcck) CALL
evtemc(-pfsp(1,i),-pfsp(2,i),
3238 & -pfsp(3,i),-pfsp(4,i),2,idum,idum)
3242 CALL
evtemc(dum,dum,dum,dum,3,100,irej1)
3243 IF (irej1.NE.0)
THEN
3244 WRITE(lout,*)
'ABSORB: EMC ',aam(idfsp(1)),aam(idfsp(2)),
3251 1000
FORMAT(1
x,
'ABSORP: warning! absorption for particle ',i3,
3252 &
' impossible',/,20
x,
'too few spectators (',i2,
')')
3267 SUBROUTINE hadri1(IDPR,PPR,IDTA,PTA,MODE,IREJ)
3280 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
3282 parameter(lout=6,llook=9)
3283 parameter(
zero=0.0d0,tiny10=1.0
d-10,tiny5=1.0
d-5,tiny3=1.0
d-3,
3284 & tiny2=1.0
d-2,tiny1=1.0
d-1,
one=1.0d0)
3287 LOGICAL lemcck,lhadro,lseadi
3288 COMMON /flags/ ifrag(2),iresco,imshl,iresrj,
3289 & lemcck,lhadro(0:9),lseadi
3290 parameter(maxfsp=10)
3291 COMMON /fistat/ pfsp(5,maxfsp),idfsp(maxfsp),nfsp
3294 COMMON /dpar/ aname(210),aam(210),ga(210),
tau(210),
3295 & iich(210),iibar(210),k1(210),k2(210)
3298 parameter(maxfin=10)
3299 COMMON /dfinls/ itrh(maxfin),cxrh(maxfin),cyrh(maxfin),
3300 & czrh(maxfin),elrh(maxfin),plrh(maxfin),irh
3302 dimension ppr(5),ppr1(5),pta(5),bgta(4),
3303 & p1in(4),p2in(4),p1out(4),p2out(4),imcorr(2)
3316 CALL
evtemc(ppr(1),ppr(2),ppr(3),ppr(4),1,idum,idum)
3317 CALL
evtemc(pta(1),pta(2),pta(3),pta(4),2,idum,idum)
3320 amp2 = ppr(4)**2-ppr(1)**2-ppr(2)**2-ppr(3)**2
3321 amt2 = pta(4)**2-pta(1)**2-pta(2)**2-pta(3)**2
3322 IF ((amp2.LT.
zero).OR.(amt2.LT.
zero).OR.
3323 & (abs(amp2-aam(idpr)**2).GT.tiny5).OR.
3324 & (abs(amt2-aam(idta)**2).GT.tiny5))
THEN
3326 &
WRITE(lout,1000) amp2,aam(idpr)**2,amt2,aam(idta)**2
3327 1000
FORMAT(1
x,
'HADRIN: warning! inconsistent projectile/target',
3328 &
' mass',/,20
x,
'AMP2 = ',e15.7,
', AAM(IDPR)**2 = ',
3329 & e15.7,/,20
x,
'AMT2 = ',e15.7,
', AAM(IDTA)**2 = ',e15.7)
3338 IF ((idhpr.LE.0).OR.(idhpr.GE.111).OR.(lcorr))
THEN
3339 IF ((idhpr.LE.0).OR.(idhpr.GE.111)) idhpr = 1
3346 CALL
mashel(p1in,p2in,xm1,xm2,p1out,p2out,irej1)
3347 IF (irej1.GT.0)
THEN
3355 ppr(5) =
sqrt(ppr(4)**2-ppr(1)**2-ppr(2)**2-ppr(3)**2)
3356 pta(5) =
sqrt(pta(4)**2-pta(1)**2-pta(2)**2-pta(3)**2)
3361 bgta(k) = pta(k)/pta(5)
3364 CALL
daltra(bgta(4),-bgta(1),-bgta(2),-bgta(3),ppr(1),ppr(2),
3365 & ppr(3),ppr(4),pprto1,ppr1(1),ppr1(2),ppr1(3),
3375 CALL
dhadri(idhpr,pprto1,ppr1(4),cx,cy,cz,idhta)
3381 ELSEIF (mode.EQ.2)
THEN
3382 CALL
elhain(idhpr,pprto1,ppr1(4),cx,cy,cz,idhta,irej1)
3383 IF (irej1.NE.0)
THEN
3387 IF (irh.EQ.1) goto 9998
3389 WRITE(lout,1001) mode,inthad
3390 1001
FORMAT(1
x,
'HADRIN: warning! inconsistent interaction mode',
3391 & i4,
' (INTHAD =',i4,
')')
3398 px = cxrh(i)*plrh(i)
3399 py = cyrh(i)*plrh(i)
3400 pz = czrh(i)*plrh(i)
3401 CALL
daltra(bgta(4),bgta(1),bgta(2),bgta(3),
px,
py,
pz,elrh(i),
3402 & ptofsp,pfsp(1,nfsp),pfsp(2,nfsp),pfsp(3,nfsp),
3404 idfsp(nfsp) = itrh(i)
3405 amfsp2 = pfsp(4,nfsp)**2-pfsp(1,nfsp)**2-pfsp(2,nfsp)**2-
3407 IF (amfsp2.LT.-tiny3)
THEN
3408 WRITE(lout,1002) idfsp(nfsp),pfsp(1,nfsp),pfsp(2,nfsp),
3409 & pfsp(3,nfsp),pfsp(4,nfsp),amfsp2
3410 1002
FORMAT(1
x,
'HADRIN: warning! final state particle (id = ',
3411 & i2,
') with negative mass^2',/,1
x,5e12.4)
3414 pfsp(5,nfsp) =
sqrt(abs(amfsp2))
3415 IF (abs(pfsp(5,nfsp)-aam(idfsp(nfsp))).GT.tiny1)
THEN
3418 1003
FORMAT(1
x,
'HADRIN: warning! final state particle',
3419 &
' (id = ',i2,
') with inconsistent mass',/,1
x,
3422 IF (kcorr.GT.2) goto 9999
3423 imcorr(kcorr) = nfsp
3427 IF (lemcck) CALL
evtemc(-pfsp(1,i),-pfsp(2,i),
3428 & -pfsp(3,i),-pfsp(4,i),2,idum,idum)
3433 IF (kcorr.GT.0)
THEN
3434 IF (kcorr.EQ.2)
THEN
3438 IF (imcorr(1).EQ.1)
THEN
3446 IF (lemcck) CALL
evtemc(pfsp(1,i1),pfsp(2,i1),
3447 & pfsp(3,i1),pfsp(4,i1),2,idum,idum)
3448 IF (lemcck) CALL
evtemc(pfsp(1,i2),pfsp(2,i2),
3449 & pfsp(3,i2),pfsp(4,i2),2,idum,idum)
3451 p1in(k) = pfsp(k,i1)
3452 p2in(k) = pfsp(k,i2)
3454 xm1 = aam(idfsp(i1))
3455 xm2 = aam(idfsp(i2))
3456 CALL
mashel(p1in,p2in,xm1,xm2,p1out,p2out,irej1)
3457 IF (irej1.GT.0)
THEN
3462 pfsp(k,i1) = p1out(k)
3463 pfsp(k,i2) = p2out(k)
3465 pfsp(5,i1) =
sqrt(pfsp(4,i1)**2-pfsp(1,i1)**2
3466 & -pfsp(2,i1)**2-pfsp(3,i1)**2)
3467 pfsp(5,i2) =
sqrt(pfsp(4,i2)**2-pfsp(1,i2)**2
3468 & -pfsp(2,i2)**2-pfsp(3,i2)**2)
3470 IF (lemcck) CALL
evtemc(-pfsp(1,i1),-pfsp(2,i1),
3471 & -pfsp(3,i1),-pfsp(4,i1),2,idum,idum)
3472 IF (lemcck) CALL
evtemc(-pfsp(1,i2),-pfsp(2,i2),
3473 & -pfsp(3,i2),-pfsp(4,i2),2,idum,idum)
3478 CALL
evtemc(dum,dum,dum,dum,4,102,irej1)
3498 SUBROUTINE evtput(IST,ID,M1,M2,PX,PY,PZ,E,IDR,IDXR,IDC)
3500 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
3502 parameter(lout=6,llook=9)
3503 parameter(tiny10=1.0
d-10,tiny4=1.0
d-4,tiny3=1.0
d-3,
3504 & tiny2=1.0
d-2,sqtinf=1.0
d+15,
zero=0.d0)
3507 COMMON /hkkevt/ nhkk,nevhkk,isthkk(
nmxhkk),idhkk(
nmxhkk),
3513 COMMON /nuccms/ gacms,bgcms,galab,bglab,blab,umo,pcm,eproj,pproj
3515 COMMON /dpar/ aname(210),aam(210),ga(210),
tau(210),
3516 & iich(210),iibar(210),k1(210),k2(210)
3532 WRITE(lout,1000) nhkk
3533 1000
FORMAT(1
x,
'EVTPUT: NHKK exeeds NMXHKK = ',i7,
3534 &
'! program execution stopped..')
3537 IF (m1.LT.0) mo1 = nhkk+m1
3538 IF (m2.LT.0) mo2 = nhkk+m2
3541 jmohkk(1,nhkk) = mo1
3542 jmohkk(2,nhkk) = mo2
3548 IF (id.EQ.88888.OR.id.EQ.88887.OR.id.EQ.88889)
THEN
3549 idmo1 = abs(idhkk(mo1))
3550 idmo2 = abs(idhkk(mo2))
3551 IF ((idmo1.LT.100).AND.(idmo2.LT.100)) nobam(nhkk) = 3
3552 IF ((idmo1.LT.100).AND.(idmo2.GT.100)) nobam(nhkk) = 4
3553 IF ((idmo1.GT.100).AND.(idmo2.GT.100)) nobam(nhkk) = 5
3554 IF ((idmo1.GT.100).AND.(idmo2.LT.100)) nobam(nhkk) = 6
3560 IF (jdahkk(1,mo1).NE.0)
THEN
3561 jdahkk(2,mo1) = nhkk
3563 jdahkk(1,mo1) = nhkk
3567 IF (jdahkk(1,mo2).NE.0)
THEN
3568 jdahkk(2,mo2) = nhkk
3570 jdahkk(1,mo2) = nhkk
3574 IF(idbam(nhkk).EQ.410)idbam(nhkk)=210
3575 IF (idbam(nhkk).GT.0)
THEN
3577 am0 =
sqrt(abs( (
e-ptot)*(
e+ptot) ))
3578 amrq = aam(idbam(nhkk))
3579 amdif2 = (am0-amrq)*(am0+amrq)
3580 IF ((abs(amdif2).GT.tiny3).AND.(
e.LT.sqtinf).AND.
3581 & (ptot.GT.
zero))
THEN
3582 delta = -amdif2/(2.0d0*(
e+ptot))
3596 phkk(5,nhkk) = (phkk(4,nhkk)-ptot)*(phkk(4,nhkk)+ptot)
3600 phkk(5,nhkk) =
sqrt(abs(phkk(5,nhkk)))
3602 IF (id.EQ.88888.OR.id.EQ.88887.OR.id.EQ.88889)
THEN
3609 vhkk(1,nhkk) = vhkk(1,mo2)
3610 vhkk(2,nhkk) = vhkk(2,mo2)
3611 vhkk(3,nhkk) = vhkk(3,mo2)
3612 vhkk(4,nhkk) = vhkk(3,mo2)/blab-vhkk(3,mo1)/bglab
3615 whkk(1,nhkk) = whkk(1,mo1)
3616 whkk(2,nhkk) = whkk(2,mo1)
3617 whkk(3,nhkk) = whkk(3,mo1)
3618 whkk(4,nhkk) = -whkk(3,mo1)/blab+whkk(3,mo2)/bglab
3621 vhkk(i,nhkk) = vhkk(i,mo1)
3622 whkk(i,nhkk) = whkk(i,mo1)
3631 SUBROUTINE mashel(PA1,PA2,XM1,XM2,P1,P2,IREJ)
3646 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
3648 parameter(lout=6,llook=9)
3649 parameter(tiny10=1.0
d-10,
one=1.0d0,
zero=0.0d0)
3651 dimension pa1(4),pa2(4),
p1(4),
p2(4)
3661 xms = (ee-xptot)*(ee+xptot)
3662 IF(xms.LT.(xm1+xm2)**2)
THEN
3671 CALL
daltra(gam,-bgx,-bgy,-bgz,pa1(1),pa1(2),pa1(3),
3672 & pa1(4),ptot1,
p1(1),
p1(2),
p1(3),
p1(4))
3678 IF(ptot1*sid.GT.tiny10)
THEN
3679 cof =
p1(1)/(sid*ptot1)
3680 sif =
p1(2)/(sid*ptot1)
3681 anorf =
sqrt(cof*cof+sif*sif)
3689 pcmp =
ylamb(ss,xm12,xm22)/(2.d0*xms)
3690 ee1 =
sqrt(xm12+pcmp**2)
3694 CALL
mytran(mode,
zero,
zero,pcmp,cod,sid,cof,sif,
xx,
yy,
zz)
3701 IF (abs(
px-
p1(1)-
p2(1)).GT.del)
THEN
3703 ELSEIF (abs(
py-
p1(2)-
p2(2)).GT.del)
THEN
3705 ELSEIF (abs(
pz-
p1(3)-
p2(3)).GT.del)
THEN
3707 ELSEIF (abs(ee-
p1(4)-
p2(4)).GT.del)
THEN
3713 WRITE(lout,
'(/1X,A,I3)')
3714 &
'MASHEL: inconsistent transformation',idev
3715 WRITE(lout,
'(1X,A)')
'MASHEL: input momenta/masses:'
3716 WRITE(lout,
'(1X,5E12.5)') (pa1(k),k=1,4),xm1
3717 WRITE(lout,
'(1X,5E12.5)') (pa2(k),k=1,4),xm2
3718 WRITE(lout,
'(1X,A)')
'MASHEL: output momenta:'
3719 WRITE(lout,
'(5X,4E12.5)') (
p1(k),k=1,4)
3720 WRITE(lout,
'(5X,4E12.5)') (
p2(k),k=1,4)
3731 SUBROUTINE mytran(IMODE,XO,YO,ZO,CDE,SDE,CFE,SFE,X,Y,Z)
3747 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
3749 parameter(lout=6,llook=9)
3751 IF (imode.EQ.1)
THEN
3752 x= cde*cfe*xo-sfe*yo+sde*cfe*zo
3753 y= cde*sfe*xo+cfe*yo+sde*sfe*zo
3756 x= cde*cfe*xo+cde*sfe*yo-sde*zo
3758 z= sde*cfe*xo+sde*sfe*yo+cde*zo
3776 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
3781 IF (xlam.LE.0.d0) xlam = abs(xlam)
3789 SUBROUTINE evtemc(PXIO,PYIO,PZIO,EIO,IMODE,IPOS,IREJ)
3795 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
3797 parameter(lout=6,llook=9)
3798 parameter(tiny1=1.0
d-1,tiny2=1.0
d-2,tiny4=1.0
d-4,tiny10=1.0
d-10,
3799 &
zero=0.0d0,tiny11=300.d0)
3802 COMMON /hkkevt/ nhkk,nevhkk,isthkk(
nmxhkk),idhkk(
nmxhkk),
3805 LOGICAL lemcck,lhadro,lseadi
3806 COMMON /flags/ ifrag(2),iresco,imshl,iresrj,
3807 & lemcck,lhadro(0:9),lseadi
3809 COMMON /nucc/ it,itz,ip,ipz,ijproj,ibproj,ijtarg,ibtarg
3820 ELSEIF (mode.EQ.5)
THEN
3823 ELSEIF (mode.EQ.-1)
THEN
3837 IF (abs(mode).EQ.3)
THEN
3842 IF ((ifrag(1).EQ.2).AND.(chklev.LT.tiny4)) chklev = tiny4
3844 IF ( it.GE.200.AND.ip.GE.200)go to 9998
3845 IF ((abs(pxdev).GT.chklxv).OR.(abs(pydev).GT.chklxv).OR.
3846 & (abs(pzdev).GT.chklxv).OR.(abs(edev).GT.chklxv))
THEN
3850 WRITE(lout,
'(1X,A,I4,A,I6,A,/,4G10.3)')
3851 &
'EVTEMC: energy-momentum cons. failure at pos. ',ipos,
3853 &
' ! ',pxdev,pydev,pzdev,edev
3855 WRITE(6,
'(A/4E12.3,3I5)')
3856 *
' Input values (PXIO,PYIO,PZIO,EIO,IMODE,IPOS,IREJ)',
3857 * pxio,pyio,pzio,eio,imode,ipos,irej
3858 WRITE(6,
'(A/4E12.3)')
3859 *
' Input values in /TMPEMC/ (PX,PY,PZ,E)',
3898 SUBROUTINE ltrans(PXI,PYI,PZI,PEI,PXO,PYO,PZO,PEO,ID,MODE)
3908 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
3910 parameter(lout=6,llook=9)
3911 parameter(tiny3=1.0
d-3,
zero=0.0d0,two=2.0d0)
3913 parameter(sqtinf=1.0
d+15)
3916 COMMON /dpar/ aname(210),aam(210),ga(210),
tau(210),
3917 & iich(210),iibar(210),k1(210),k2(210)
3921 CALL
ltnuc(pzi,pei,pzo,peo,mode)
3924 po =
sqrt(pxo**2+pyo**2+pzo**2)
3925 amo2 = (peo-po)*(peo+po)
3927 amdif2 = abs(amo2-amorq2)
3928 IF ((amdif2.GT.tiny3).AND.(peo.LT.sqtinf).AND.(po.GT.
zero))
THEN
3929 delta = (amorq2-amo2)/(two*(peo+po))
3942 SUBROUTINE ltnuc(PIN,EIN,POUT,EOUT,MODE)
3956 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
3958 parameter(lout=6,llook=9)
3959 parameter(
zero=0.0d0)
3961 COMMON /nuccms/ gacms,bgcms,galab,bglab,blab,ecm,pcm,eproj,pproj
3963 IF (abs(mode).EQ.1)
THEN
3964 bg = -sign(bglab,dble(mode))
3966 & dum,dum,dum,pout,eout)
3967 ELSEIF (abs(mode).EQ.2)
THEN
3968 bg = sign(bgcms,dble(mode))
3970 & dum,dum,dum,pout,eout)
3971 ELSEIF (abs(mode).EQ.3)
THEN
3972 bg = -sign(bgcms,dble(mode))
3974 & dum,dum,dum,pout,eout)
3976 WRITE(lout,1000) mode
3977 1000
FORMAT(1
x,
'LTNUC: not supported mode (MODE = ',i3,
')')
3988 SUBROUTINE evtini(ID,IP,IT,EPN,PPN,ECM,NHKKH1,MODE)
3995 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
3997 parameter(lout=6,llook=9)
4000 COMMON /hkkevt/ nhkk,nevhkk,isthkk(
nmxhkk),idhkk(
nmxhkk),
4005 COMMON /nstari/nstart
4017 CALL
ltini(id,epn,ppn,ecm)
4026 idbam(i) =
mcihad(idhkk(i))
4029 npoint(4) = nhkkh1+1
4044 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
4046 parameter(lout=6,llook=9)
4047 parameter(tiny3=1.0
d-3,
zero=0.0d0,
one=1.0d0,two=2.0d0)
4049 COMMON /nuccms/ gacms,bgcms,galab,bglab,blab,umo,pcm,eproj,pproj
4051 COMMON /trafop/ gamp,bgamp,betp
4054 COMMON /dpar/ aname(210),aam(210),ga(210),
tau(210),
4055 & iich(210),iibar(210),k1(210),k2(210)
4061 IF (ecm.GT.
zero)
THEN
4062 epn = (ecm**2-aam(idp)**2-aam(1)**2)/(2.0d0*aam(1))
4063 ppn =
sqrt((epn-aam(idp))*(epn+aam(idp)))
4065 IF ((epn.NE.
zero).AND.(ppn.EQ.
zero))
THEN
4066 IF (epn.LT.
zero) epn = abs(epn)+aam(idp)
4067 ppn =
sqrt((epn-aam(idp))*(epn+aam(idp)))
4068 ELSEIF ((ppn.GT.
zero).AND.(epn.EQ.
zero))
THEN
4069 epn = ppn*
sqrt(
one+(aam(idp)/ppn)**2)
4071 ecm =
sqrt(aam(idp)**2+aam(1)**2+2.0d0*aam(1)*epn)
4077 IF(aam(idp).GT.0.d0)
THEN
4078 galab = eproj/aam(idp)
4079 bglab = pproj/aam(idp)
4081 galab = eproj/(aam(idp)+0.0001d0)
4082 bglab = pproj/(aam(idp)+0.0001d0)
4086 gacms = (eproj+aam(1))/umo
4088 pcm = gacms*pproj-bgcms*eproj
4110 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
4112 parameter( kalgnm = 2 )
4113 parameter( anglgb = 5.0
d-16 )
4114 parameter( anglsq = 2.5
d-31 )
4115 parameter( axcssv = 0.2
d+16 )
4116 parameter( andrfl = 1.0
d-38 )
4117 parameter( avrflw = 1.0
d+38 )
4118 parameter( ainfnt = 1.0
d+30 )
4119 parameter( azrzrz = 1.0
d-30 )
4120 parameter( einfnt = +69.07755278982137
d+00 )
4121 parameter( ezrzrz = -69.07755278982137
d+00 )
4122 parameter( onemns = 0.999999999999999
d+00 )
4123 parameter( onepls = 1.000000000000001
d+00 )
4124 parameter( csnnrm = 2.0
d-15 )
4125 parameter( dmxtrn = 1.0
d+08 )
4126 parameter( zerzer = 0.
d+00 )
4127 parameter( oneone = 1.
d+00 )
4128 parameter( twotwo = 2.
d+00 )
4129 parameter( thrthr = 3.
d+00 )
4130 parameter( foufou = 4.
d+00 )
4131 parameter( fivfiv = 5.
d+00 )
4132 parameter( sixsix = 6.
d+00 )
4133 parameter( sevsev = 7.
d+00 )
4134 parameter( eigeig = 8.
d+00 )
4135 parameter( aninen = 9.
d+00 )
4136 parameter( tenten = 10.
d+00 )
4137 parameter( hlfhlf = 0.5
d+00 )
4138 parameter( onethi = oneone / thrthr )
4139 parameter( twothi = twotwo / thrthr )
4140 parameter( onefou = oneone / foufou )
4141 parameter( thrtwo = thrthr / twotwo )
4142 parameter( pipipi = 3.141592653589793238462643383279
d+00 )
4143 parameter( twopip = 6.283185307179586476925286766559
d+00 )
4144 parameter( pip5o2 = 7.853981633974483096156608458199
d+00 )
4145 parameter( pipisq = 9.869604401089358618834490999876
d+00 )
4146 parameter( pihalf = 1.570796326794896619231321691640
d+00 )
4147 parameter( erfa00 = 0.886226925452758013649083741671
d+00 )
4148 parameter( eneper = 2.718281828459045235360287471353
d+00 )
4149 parameter( sqrent = 1.648721270700128146848650787814
d+00 )
4150 parameter( sqrsix = 2.449489742783178098197284074706
d+00 )
4151 parameter( sqrsev = 2.645751311064590590501615753639
d+00 )
4152 parameter( sqrt12 = 3.464101615137754587054892683012
d+00 )
4153 parameter( clight = 2.99792458
d+10 )
4154 parameter( avogad = 6.0221367
d+23 )
4155 parameter( boltzm = 1.380658
d-23 )
4156 parameter( amelgr = 9.1093897
d-28 )
4157 parameter( plckbr = 1.05457266
d-27 )
4158 parameter( elccgs = 4.8032068
d-10 )
4159 parameter( elcmks = 1.60217733
d-19 )
4160 parameter( amugrm = 1.6605402
d-24 )
4161 parameter( ammumu = 0.113428913
d+00 )
4162 parameter( amprmu = 1.007276470
d+00 )
4163 parameter( amnemu = 1.008664904
d+00 )
4164 parameter( alpfsc = 7.2973530791728595
d-03 )
4165 parameter( fscto2 = 5.3251361962113614
d-05 )
4166 parameter( fscto3 = 3.8859399018437826
d-07 )
4167 parameter( fscto4 = 2.8357075508200407
d-09 )
4168 parameter( plabrc = 0.197327053
d+00 )
4169 parameter( amelct = 0.51099906
d-03 )
4170 parameter( amugev = 0.93149432
d+00 )
4171 parameter( ammuon = 0.105658389
d+00 )
4172 parameter( amprtn = 0.93827231
d+00 )
4173 parameter( amntrn = 0.93956563
d+00 )
4174 parameter( amdeut = 1.87561339
d+00 )
4175 parameter( cougfm = elccgs * elccgs / elcmks * 1.
d-07 * 1.
d+13
4177 parameter( rclsel = 2.8179409183694872
d-13 )
4178 parameter( bltzmn = 8.617385
d-14 )
4179 parameter( gevmev = 1.0
d+03 )
4180 parameter( emvgev = 1.0
d-03 )
4181 parameter( algvmv = 6.90775527898214
d+00 )
4182 parameter( raddeg = 180.
d+00 / pipipi )
4183 parameter( degrad = pipipi / 180.
d+00 )
4184 LOGICAL lgbias, lgbana
4185 COMMON / global / lgbias, lgbana
4188 parameter( mxxrgn = 5000 )
4189 parameter( mxxmdf = 56 )
4190 parameter( mxxmde = 50 )
4191 parameter( mfstck = 1000 )
4192 parameter( mestck = 100 )
4193 parameter( nallwp = 39 )
4194 parameter( mpdpdx = 8 )
4195 parameter( icomax = 180 )
4196 parameter( nstbis = 304 )
4197 parameter( idmaxp = 210 )
4198 parameter( idmxdc = 620 )
4199 parameter( mkbmx1 = 1 )
4200 parameter( mkbmx2 = 1 )
4203 parameter( lunin = 5 )
4204 parameter( lunout = 6 )
4205 parameter( lunerr = 15 )
4206 parameter( lunber = 14 )
4207 parameter( lunech = 8 )
4208 parameter( lunflu = 13 )
4209 parameter( lungeo = 16 )
4210 parameter( lunpgs = 12 )
4211 parameter( lunran = 2 )
4212 parameter( lunxsc = 9 )
4213 parameter( lundet = 17 )
4214 parameter( lunray = 10 )
4215 parameter( lunrdb = 1 )
4236 parameter( kafree = 4 )
4239 parameter( kapuns = 12 )
4241 parameter( depuns = 0.5
d+00 )
4245 COMMON / eva0 / y0, b0, p0(1001),
p1(1001),
p2(1001),
4246 * fla(6), flz(6),
rho(6), omega(6), exmass(6),
4247 * cam2(130), cam3(200), cam4(130), cam5(200),
4248 *
t(4,7), rmass(297), alph(297), bet(297),
4249 * aprime(250), ia(6),
iz(6)
4252 parameter( namsmx = 270 )
4253 parameter( nzgvax = 15 )
4254 parameter( nismmx = 574 )
4255 COMMON / isotop / waps(namsmx,nzgvax), t12nuc(namsmx,nzgvax),
4256 & wapism(nismmx), t12ism(nismmx),
4257 & abuiso(nstbis), astlin(2,100), zstlin(2,260),
4258 & amssst(100) , isomnm(nstbis), isondx(2,100),
4259 & jspnuc(namsmx,nzgvax), jptnuc(namsmx,nzgvax),
4260 & inwaps(namsmx), jspism(nismmx),
4261 & jptism(nismmx), izwism(nismmx),
4265 DATA ka0, kz0, iz0 / -1, -1, -1 /
4272 IF (
n .LE. 0 )
THEN
4273 IF ( ka0 .NE. 1 )
THEN
4274 IF (
n .LT. 0 )
THEN
4276 &
' FLUKA stopped in energy: mass number =< atomic number !!',
4279 &
' FLUKA stopped in energy: mass number =< atomic number !!',
4282 &
' ^^^FLUKA stopped in energy: mass number =< atomic number !!',
4284 stop
'ENERGY:KA0-KZ0'
4300 IF ( ka0 .GT. namsmx )
THEN
4310 IF ( kz0 .LT. izz )
THEN
4313 IF ( ka0 .LE. kafree )
THEN
4314 energy = (
a -
z ) * waps(1,1) +
z * waps(1,2)
4318 ELSE IF ( ka0 .LE. kapuns )
THEN
4320 jzz = inwaps( ka0 - 1 )
4321 lzz = inwaps( ka0 - 2 )
4324 IF ( kz0 .GE. jzz .AND. kz0 .LE. jzz + nzgvax - 1 )
THEN
4331 ELSE IF ( kz0 .GE. lzz .AND. kz0 .LE. lzz + nzgvax - 1 )
THEN
4334 & ( waps(1,1) + depuns ) )
4358 ELSE IF ( kz0 .GT. izz + nzgvax - 1 )
THEN
4361 IF ( ka0 .LE. kafree )
THEN
4362 energy = (
a -
z ) * waps(1,1) +
z * waps(1,2)
4366 ELSE IF ( ka0 .LE. kapuns )
THEN
4368 jzz = inwaps( ka0 - 1 )
4369 lzz = inwaps( ka0 - 2 )
4372 IF ( kz0-1 .GE. jzz .AND. kz0-1 .LE. jzz + nzgvax - 1 )
THEN
4373 iz0 = kz0 - 1 - jzz + 1
4379 ELSE IF ( kz0-2 .GE. lzz .AND. kz0-2 .LE. lzz + nzgvax - 1 )
4381 iz0 = kz0 - 2 - lzz + 1
4383 & ( waps(1,2) + depuns ) )
4409 energy = waps( ka0, iz0 )
4412 IF ( abs(
energy) .LT. anglgb .AND. (ka0 .NE. 12 .OR. kz0
4431 DOUBLE PRECISION FUNCTION enrg(A,Z)
4435 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
4437 parameter( kalgnm = 2 )
4438 parameter( anglgb = 5.0
d-16 )
4439 parameter( anglsq = 2.5
d-31 )
4440 parameter( axcssv = 0.2
d+16 )
4441 parameter( andrfl = 1.0
d-38 )
4442 parameter( avrflw = 1.0
d+38 )
4443 parameter( ainfnt = 1.0
d+30 )
4444 parameter( azrzrz = 1.0
d-30 )
4445 parameter( einfnt = +69.07755278982137
d+00 )
4446 parameter( ezrzrz = -69.07755278982137
d+00 )
4447 parameter( onemns = 0.999999999999999
d+00 )
4448 parameter( onepls = 1.000000000000001
d+00 )
4449 parameter( csnnrm = 2.0
d-15 )
4450 parameter( dmxtrn = 1.0
d+08 )
4451 parameter( zerzer = 0.
d+00 )
4452 parameter( oneone = 1.
d+00 )
4453 parameter( twotwo = 2.
d+00 )
4454 parameter( thrthr = 3.
d+00 )
4455 parameter( foufou = 4.
d+00 )
4456 parameter( fivfiv = 5.
d+00 )
4457 parameter( sixsix = 6.
d+00 )
4458 parameter( sevsev = 7.
d+00 )
4459 parameter( eigeig = 8.
d+00 )
4460 parameter( aninen = 9.
d+00 )
4461 parameter( tenten = 10.
d+00 )
4462 parameter( hlfhlf = 0.5
d+00 )
4463 parameter( onethi = oneone / thrthr )
4464 parameter( twothi = twotwo / thrthr )
4465 parameter( onefou = oneone / foufou )
4466 parameter( thrtwo = thrthr / twotwo )
4467 parameter( pipipi = 3.141592653589793238462643383279
d+00 )
4468 parameter( twopip = 6.283185307179586476925286766559
d+00 )
4469 parameter( pip5o2 = 7.853981633974483096156608458199
d+00 )
4470 parameter( pipisq = 9.869604401089358618834490999876
d+00 )
4471 parameter( pihalf = 1.570796326794896619231321691640
d+00 )
4472 parameter( erfa00 = 0.886226925452758013649083741671
d+00 )
4473 parameter( eneper = 2.718281828459045235360287471353
d+00 )
4474 parameter( sqrent = 1.648721270700128146848650787814
d+00 )
4475 parameter( sqrsix = 2.449489742783178098197284074706
d+00 )
4476 parameter( sqrsev = 2.645751311064590590501615753639
d+00 )
4477 parameter( sqrt12 = 3.464101615137754587054892683012
d+00 )
4478 parameter( clight = 2.99792458
d+10 )
4479 parameter( avogad = 6.0221367
d+23 )
4480 parameter( boltzm = 1.380658
d-23 )
4481 parameter( amelgr = 9.1093897
d-28 )
4482 parameter( plckbr = 1.05457266
d-27 )
4483 parameter( elccgs = 4.8032068
d-10 )
4484 parameter( elcmks = 1.60217733
d-19 )
4485 parameter( amugrm = 1.6605402
d-24 )
4486 parameter( ammumu = 0.113428913
d+00 )
4487 parameter( amprmu = 1.007276470
d+00 )
4488 parameter( amnemu = 1.008664904
d+00 )
4489 parameter( alpfsc = 7.2973530791728595
d-03 )
4490 parameter( fscto2 = 5.3251361962113614
d-05 )
4491 parameter( fscto3 = 3.8859399018437826
d-07 )
4492 parameter( fscto4 = 2.8357075508200407
d-09 )
4493 parameter( plabrc = 0.197327053
d+00 )
4494 parameter( amelct = 0.51099906
d-03 )
4495 parameter( amugev = 0.93149432
d+00 )
4496 parameter( ammuon = 0.105658389
d+00 )
4497 parameter( amprtn = 0.93827231
d+00 )
4498 parameter( amntrn = 0.93956563
d+00 )
4499 parameter( amdeut = 1.87561339
d+00 )
4500 parameter( cougfm = elccgs * elccgs / elcmks * 1.
d-07 * 1.
d+13
4502 parameter( rclsel = 2.8179409183694872
d-13 )
4503 parameter( bltzmn = 8.617385
d-14 )
4504 parameter( gevmev = 1.0
d+03 )
4505 parameter( emvgev = 1.0
d-03 )
4506 parameter( algvmv = 6.90775527898214
d+00 )
4507 parameter( raddeg = 180.
d+00 / pipipi )
4508 parameter( degrad = pipipi / 180.
d+00 )
4509 LOGICAL lgbias, lgbana
4510 COMMON / global / lgbias, lgbana
4513 parameter( mxxrgn = 5000 )
4514 parameter( mxxmdf = 56 )
4515 parameter( mxxmde = 50 )
4516 parameter( mfstck = 1000 )
4517 parameter( mestck = 100 )
4518 parameter( nallwp = 39 )
4519 parameter( mpdpdx = 8 )
4520 parameter( icomax = 180 )
4521 parameter( nstbis = 304 )
4522 parameter( idmaxp = 210 )
4523 parameter( idmxdc = 620 )
4524 parameter( mkbmx1 = 1 )
4525 parameter( mkbmx2 = 1 )
4528 parameter( lunin = 5 )
4529 parameter( lunout = 6 )
4530 parameter( lunerr = 15 )
4531 parameter( lunber = 14 )
4532 parameter( lunech = 8 )
4533 parameter( lunflu = 13 )
4534 parameter( lungeo = 16 )
4535 parameter( lunpgs = 12 )
4536 parameter( lunran = 2 )
4537 parameter( lunxsc = 9 )
4538 parameter( lundet = 17 )
4539 parameter( lunray = 10 )
4540 parameter( lunrdb = 1 )
4558 parameter( o16old = 931.145
d+00 )
4559 parameter( o16new = 931.19826
d+00 )
4560 parameter( o16rat = o16new / o16old )
4561 parameter( c12new = 931.49432
d+00 )
4562 parameter( adjust = -8.322737768178909
d-02 )
4565 COMMON / eva0 / y0, b0, p0(1001),
p1(1001),
p2(1001),
4566 * fla(6), flz(6),
rho(6), omega(6), exmass(6),
4567 * cam2(130), cam3(200), cam4(130), cam5(200),
4568 *
t(4,7), rmass(297), alph(297), bet(297),
4569 * aprime(250), ia(6),
iz(6)
4571 SAVE lfirst, exhydr, exneut
4572 DATA lfirst / .true. /
4577 exhydr =
energy( oneone, oneone )
4578 exneut =
energy( oneone, zerzer )
4581 IF ( iz0 .LE. 0 )
THEN
4585 IF (
a .EQ. 0.d0)
THEN
4586 WRITE (6,
'(A)')
' ENRG A=0.'
4591 IF (
n .LE. 0 )
THEN
4596 am2zoa=am2zoa*am2zoa
4597 a13 = rmass(
nint(
a))
4599 IF(a13 .EQ. 0.d0)
THEN
4601 IF(nerg1.LE.50)
WRITE (6,
'(A)')
' ENRG A13=0.'
4606 ev=-17.0354
d+00*(1.
d+00 -1.84619
d+00*am2zoa)*
a
4607 es= 25.8357
d+00*(1.
d+00 -1.712185
d+00*am2zoa)*
4608 & (1.
d+00 -0.62025
d+00*am13*am13)*
4609 & (a13*a13 -.62025
d+00)
4610 ec= 0.799
d+00*
z*(
z-1.
d+00)*am13*(((1.5772
d+00*am13 +1.2273
d+00)*
4612 & am13*am13 +1.
d+00)
4613 eex= -0.4323
d+00*am13*
z**1.3333333
d+00*
4614 & (((0.49597
d+00*am13 -0.14518
d+00)*am13 -0.57811
d+00) * am13
4616 enrg =8.367
d+00*
a -0.783
d+00*
z +ev +es +ec +eex+cam2(iz0)+cam3(
n)
4617 enrg = (
enrg +
a * o16old ) * o16rat -
a * ( c12new - adjust )
4618 enrg = min(
enrg,
z * exhydr + (
a -
z ) * exneut )
4630 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
4632 parameter( kalgnm = 2 )
4633 parameter( anglgb = 5.0
d-16 )
4634 parameter( anglsq = 2.5
d-31 )
4635 parameter( axcssv = 0.2
d+16 )
4636 parameter( andrfl = 1.0
d-38 )
4637 parameter( avrflw = 1.0
d+38 )
4638 parameter( ainfnt = 1.0
d+30 )
4639 parameter( azrzrz = 1.0
d-30 )
4640 parameter( einfnt = +69.07755278982137
d+00 )
4641 parameter( ezrzrz = -69.07755278982137
d+00 )
4642 parameter( onemns = 0.999999999999999
d+00 )
4643 parameter( onepls = 1.000000000000001
d+00 )
4644 parameter( csnnrm = 2.0
d-15 )
4645 parameter( dmxtrn = 1.0
d+08 )
4646 parameter( zerzer = 0.
d+00 )
4647 parameter( oneone = 1.
d+00 )
4648 parameter( twotwo = 2.
d+00 )
4649 parameter( thrthr = 3.
d+00 )
4650 parameter( foufou = 4.
d+00 )
4651 parameter( fivfiv = 5.
d+00 )
4652 parameter( sixsix = 6.
d+00 )
4653 parameter( sevsev = 7.
d+00 )
4654 parameter( eigeig = 8.
d+00 )
4655 parameter( aninen = 9.
d+00 )
4656 parameter( tenten = 10.
d+00 )
4657 parameter( hlfhlf = 0.5
d+00 )
4658 parameter( onethi = oneone / thrthr )
4659 parameter( twothi = twotwo / thrthr )
4660 parameter( onefou = oneone / foufou )
4661 parameter( thrtwo = thrthr / twotwo )
4662 parameter( pipipi = 3.141592653589793238462643383279
d+00 )
4663 parameter( twopip = 6.283185307179586476925286766559
d+00 )
4664 parameter( pip5o2 = 7.853981633974483096156608458199
d+00 )
4665 parameter( pipisq = 9.869604401089358618834490999876
d+00 )
4666 parameter( pihalf = 1.570796326794896619231321691640
d+00 )
4667 parameter( erfa00 = 0.886226925452758013649083741671
d+00 )
4668 parameter( eneper = 2.718281828459045235360287471353
d+00 )
4669 parameter( sqrent = 1.648721270700128146848650787814
d+00 )
4670 parameter( sqrsix = 2.449489742783178098197284074706
d+00 )
4671 parameter( sqrsev = 2.645751311064590590501615753639
d+00 )
4672 parameter( sqrt12 = 3.464101615137754587054892683012
d+00 )
4673 parameter( clight = 2.99792458
d+10 )
4674 parameter( avogad = 6.0221367
d+23 )
4675 parameter( boltzm = 1.380658
d-23 )
4676 parameter( amelgr = 9.1093897
d-28 )
4677 parameter( plckbr = 1.05457266
d-27 )
4678 parameter( elccgs = 4.8032068
d-10 )
4679 parameter( elcmks = 1.60217733
d-19 )
4680 parameter( amugrm = 1.6605402
d-24 )
4681 parameter( ammumu = 0.113428913
d+00 )
4682 parameter( amprmu = 1.007276470
d+00 )
4683 parameter( amnemu = 1.008664904
d+00 )
4684 parameter( alpfsc = 7.2973530791728595
d-03 )
4685 parameter( fscto2 = 5.3251361962113614
d-05 )
4686 parameter( fscto3 = 3.8859399018437826
d-07 )
4687 parameter( fscto4 = 2.8357075508200407
d-09 )
4688 parameter( plabrc = 0.197327053
d+00 )
4689 parameter( amelct = 0.51099906
d-03 )
4690 parameter( amugev = 0.93149432
d+00 )
4691 parameter( ammuon = 0.105658389
d+00 )
4692 parameter( amprtn = 0.93827231
d+00 )
4693 parameter( amntrn = 0.93956563
d+00 )
4694 parameter( amdeut = 1.87561339
d+00 )
4695 parameter( cougfm = elccgs * elccgs / elcmks * 1.
d-07 * 1.
d+13
4697 parameter( rclsel = 2.8179409183694872
d-13 )
4698 parameter( bltzmn = 8.617385
d-14 )
4699 parameter( gevmev = 1.0
d+03 )
4700 parameter( emvgev = 1.0
d-03 )
4701 parameter( algvmv = 6.90775527898214
d+00 )
4702 parameter( raddeg = 180.
d+00 / pipipi )
4703 parameter( degrad = pipipi / 180.
d+00 )
4704 LOGICAL lgbias, lgbana
4705 COMMON / global / lgbias, lgbana
4708 parameter( mxxrgn = 5000 )
4709 parameter( mxxmdf = 56 )
4710 parameter( mxxmde = 50 )
4711 parameter( mfstck = 1000 )
4712 parameter( mestck = 100 )
4713 parameter( nallwp = 39 )
4714 parameter( mpdpdx = 8 )
4715 parameter( icomax = 180 )
4716 parameter( nstbis = 304 )
4717 parameter( idmaxp = 210 )
4718 parameter( idmxdc = 620 )
4719 parameter( mkbmx1 = 1 )
4720 parameter( mkbmx2 = 1 )
4723 parameter( lunin = 5 )
4724 parameter( lunout = 6 )
4725 parameter( lunerr = 15 )
4726 parameter( lunber = 14 )
4727 parameter( lunech = 8 )
4728 parameter( lunflu = 13 )
4729 parameter( lungeo = 16 )
4730 parameter( lunpgs = 12 )
4731 parameter( lunran = 2 )
4732 parameter( lunxsc = 9 )
4733 parameter( lundet = 17 )
4734 parameter( lunray = 10 )
4735 parameter( lunrdb = 1 )
4746 parameter( asmtog = sixsix / pipipi**2 )
4747 LOGICAL ldefoz, ldefon
4748 parameter( incook = 150, izcook = 98 )
4749 COMMON / cookcm / alpign, betign, gamign, powign,
4750 & szcook(izcook), sncook(incook), pzcook(izcook),
4751 & pncook(incook), ldefoz(izcook), ldefon(incook)
4754 COMMON / eva0 / y0, b0, p0(1001),
p1(1001),
p2(1001),
4755 * fla(6), flz(6),
rho(6), omega(6), exmass(6),
4756 * cam2(130), cam3(200), cam4(130), cam5(200),
4757 *
t(4,7), rmass(297), alph(297), bet(297),
4758 * aprime(250), ia(6),
iz(6)
4768 parameter(
mxpsst = 300 )
4769 parameter(
mxpsfb = 41000 )
4770 LOGICAL lfrmbk, lncmss
4771 COMMON / frbkcm / amufbk, eexfbk(
mxpsst), amfrbk(
mxpsst),
4773 & exmxfb, r0frbk, r0cfbk, c1cfbk, c2cfbk,
4778 & ifbcha(5,
mxpsfb), iposst, iposfb, ifbstf,
4779 & ifbfrb, nbufbk, lfrmbk, lncmss
4782 COMMON /hettp/ nhstp,nbertp,iosub,insrs
4785 COMMON /inpflg/ iang,ifiss,ib0,igeom,istrag,keydk
4788 parameter( namsmx = 270 )
4789 parameter( nzgvax = 15 )
4790 parameter( nismmx = 574 )
4791 COMMON / isotop / waps(namsmx,nzgvax), t12nuc(namsmx,nzgvax),
4792 & wapism(nismmx), t12ism(nismmx),
4793 & abuiso(nstbis), astlin(2,100), zstlin(2,260),
4794 & amssst(100) , isomnm(nstbis), isondx(2,100),
4795 & jspnuc(namsmx,nzgvax), jptnuc(namsmx,nzgvax),
4796 & inwaps(namsmx), jspism(nismmx),
4797 & jptism(nismmx), izwism(nismmx),
4801 parameter( pi = pipipi )
4802 parameter( pisq = pipisq )
4803 parameter( sktohl = 0.5456645846610345
d+00 )
4804 parameter( rznucl = 1.12
d+00 )
4805 parameter( rmspro = 0.8
d+00 )
4806 parameter( r0prot = rmspro / sqrt12 )
4807 parameter( arhpro = 1.
d+00 / 8.
d+00 / pi / r0prot / r0prot
4809 parameter( rlle04 = rznucl )
4810 parameter( rlle16 = rznucl )
4811 parameter( rlgt16 = rznucl )
4812 parameter( rcle04 = 0.75
d+00 / pi / rlle04 / rlle04 / rlle04 )
4813 parameter( rcle16 = 0.75
d+00 / pi / rlle16 / rlle16 / rlle16 )
4814 parameter( rcgt16 = 0.75
d+00 / pi / rlgt16 / rlgt16 / rlgt16 )
4815 parameter( skle04 = 1.4
d+00 )
4816 parameter( skle16 = 1.9
d+00 )
4817 parameter( skgt16 = 2.4
d+00 )
4818 parameter( hlle04 = sktohl * skle04 )
4819 parameter( hlle16 = sktohl * skle16 )
4820 parameter( hlgt16 = sktohl * skgt16 )
4821 parameter( alpha0 = 0.1
d+00 )
4822 parameter( omalh0 = 1.
d+00 - alpha0 )
4823 parameter( gamsk0 = 0.9
d+00 )
4824 parameter( omgas0 = 1.
d+00 - gamsk0 )
4825 parameter( potme0 = 0.6666666666666667
d+00 )
4826 parameter( potba0 = 1.
d+00 )
4827 parameter( pnfrat = 1.533
d+00 )
4828 parameter( radpim = 0.035
d+00 )
4829 parameter( rdpmhl = 14.
d+00 )
4830 parameter( apmrst = 4.
d+00 / 44.
d+00 )
4831 parameter( apmpro = 1.
d+00 / 6.
d+00 )
4832 parameter( apppro = 5.
d+00 / 6.
d+00 )
4833 parameter( ap0pfs = 0.5
d+00 )
4834 parameter( ap0pfp = 1.
d+00 / 3.
d+00 )
4835 parameter( ap0nfp = 2.
d+00 / 3.
d+00 )
4836 parameter( xpauco = 1.88495407241652
d+00 )
4837 parameter( mxscin = 50 )
4838 LOGICAL labrst, lelstc, linels, lchexc, labsrp, labsth, lpreeq,
4839 & lnphtc, lnwrad, lpnrho
4840 COMMON / nucgid / rhotab(2:260), rhatab(2:260), alptab(2:260),
4841 & radtab(2:260), skitab(2:260), haltab(2:260),
4842 & sk3tab(2:260), sk4tab(2:260), habtab(2:260),
4843 & cwstab(2:260), ekatab(2:260), pfatab(2:260),
4845 COMMON / nucgeo / radtot, radiu1, radiu0, rad1o2, skindp, halodp,
4846 & alphal, omalhl, radskn, skneff, cparws, radpro,
4847 & radcor, radco2, radmax, bimptr, rimptr, ximptr,
4848 & yimptr, zimptr, rhoimt, ekfpro, pfrpro, rhocen,
4849 & rhocor, rhoskn, ekfcen(2), pfrcen(2), ekfbim,
4850 & pfrbim, rhoimp, ekfimp, pfrimp, rhoim2, ekfim2,
4851 & pfrim2, rhoim3, ekfim3, pfrim3, vprwll, rimpct,
4852 & bimpct, ximpct, yimpct, zimpct, rimpc2, ximpc2,
4853 & yimpc2, zimpc2, rimpc3, ximpc3, yimpc3, zimpc3,
4854 & xbimpc, ybimpc, zbimpc, cximpc, cyimpc, czimpc,
4855 & sqrimp, sigmap, sigman, sigmaa, rhored, r0traj,
4856 & r1traj, sbused, sbtot , sbres , rhoave, ekfave,
4857 & pfrave, avebin, acoll , zcoll , radsig, opacty,
4858 & ekecon, pnucco, ekewll, pprwll, pxproj, pyproj,
4859 & pzproj, ekferm, pnfrmi, pxferm, pyferm, pzferm,
4860 & ekfer2, pnfrm2, pxfer2, pyfer2, pzfer2, ekfer3,
4861 & pnfrm3, pxfer3, pyfer3, pzfer3, rhomem, ekfmem,
4862 & bimmem, wllred, vprbim, potinc, potout, eexmin
4863 COMMON / nucge2 / rdttnc(2), rhoncp(2), rhonc2(2), rhonc3(2),
4864 & rhonct(2), amothr, ekothr, amcrea, ekncln,
4865 & eexdel, eexany, clmbbr, rdclmb, bfclmb, bfceff,
4866 & bnproj, bndnuc, debrlm, sk4par, ubimpc, vbimpc,
4867 & wbimpc, bndpot, sigmat, sigabp, sigabn, wllres,
4868 & potbar, potmes, agepri, opnopa,
4869 & bnenrg(3), defnuc(2), sigmpr(4), sigmnu(4),
4870 & sigpab(3), signab(3), hhlp(2), fortot(2),
4871 & ipwell, itncmx, kprin , ntargt, knucim, knuci2,
4872 & knuci3, ievpre, isfcol, isftar, isfta2, isfta3,
4873 & npothr, icothr, ibothr, npumfn, istncl, itaucm,
4874 & iadflg, igsflg, ialflg, icbflg, lpreeq, lnphtc,
4876 COMMON / nucpwi / almbar, bimmax, siggeo, lllmax, lllact
4877 COMMON / nucgii / holexp(2*mxscin), xexpin(3,mxscin),
4878 & yexpin(3,mxscin), zexpin(3,mxscin),
4879 & agexin(mxscin), rhoexp(2), ekfexp, ehlfix,
4880 & nhlexp, nhlfix, iprtyp, nncexi(mxscin),
4881 & ncexpi(3,mxscin), isexin(3,mxscin),
4882 & isctyp(mxscin), nuscin, nexpem,
4883 & labrst, lelstc, linels, lchexc, labsrp, labsth
4884 dimension awstab(2:260), sigmab(3)
4885 equivalence( defpro, defnuc(1) )
4886 equivalence( defneu, defnuc(2) )
4887 equivalence( rhoipp, rhoncp(1) )
4888 equivalence( rhoinp, rhoncp(2) )
4889 equivalence( rhoip2, rhonc2(1) )
4890 equivalence( rhoin2, rhonc2(2) )
4891 equivalence( rhoip3, rhonc3(1) )
4892 equivalence( rhoin3, rhonc3(2) )
4893 equivalence( rhoipt, rhonct(1) )
4894 equivalence( rhoint, rhonct(2) )
4895 equivalence( omalhl, sk3par )
4896 equivalence( alphal, habpar )
4897 equivalence( alptab(2), awstab(2) )
4898 equivalence( sigmpe, sigmpr(1) )
4899 equivalence( sigmpc, sigmpr(2) )
4900 equivalence( sigmpi, sigmpr(3) )
4901 equivalence( sigmpa, sigmpr(4) )
4902 equivalence( sigmne, sigmnu(1) )
4903 equivalence( sigmnc, sigmnu(2) )
4904 equivalence( sigmni, sigmnu(3) )
4905 equivalence( sigmna, sigmnu(4) )
4906 equivalence( sigma2, sigpab(1) )
4907 equivalence( sigma3, sigpab(2) )
4908 equivalence(
sigmas, sigpab(3) )
4909 equivalence( sigpab(1), sigmab(1) )
4913 COMMON / nuclev / paenuc(200,2), shenuc(200,2), defrmi(2),
4914 & defmag(2), ennclv(160,2), ranclv(160,2),
4915 & cumrad(0:160,2), rusnuc(2),
4916 & enplvl(114), ennlvl(164), jusnuc(160,2),
4917 & ntanuc(2), navnuc(2), nlsnuc(2), nconuc(2),
4918 & nsknuc(2), nhanuc(2), nusnuc(2), jmxnuc(2),
4919 & iprnuc(3), jprnuc(3), magnum(8), magnuc(2),
4920 & mgsnuc(8,2), mgssnc(25,2), nsbshl(2),
4921 & nprnuc, inuclv, lclvsl
4922 dimension juspro(160), jusneu(160), mgspro(8), mgsneu(8),
4923 & mgsspr(19) , mgssne(25)
4924 equivalence( rusnuc(1), ruspro )
4925 equivalence( rusnuc(2), rusneu )
4926 equivalence( jusnuc(1,1), juspro(1) )
4927 equivalence( jusnuc(1,2), jusneu(1) )
4928 equivalence( mgsnuc(1,1), mgspro(1) )
4929 equivalence( mgsnuc(1,2), mgsneu(1) )
4930 equivalence( mgssnc(1,1), mgsspr(1) )
4931 equivalence( mgssnc(1,2), mgssne(1) )
4932 equivalence( ntanuc(1), ntapro )
4933 equivalence( ntanuc(2), ntaneu )
4934 equivalence( navnuc(1), navpro )
4935 equivalence( navnuc(2), navneu )
4936 equivalence( nlsnuc(1), nlspro )
4937 equivalence( nlsnuc(2), nlsneu )
4938 equivalence( nconuc(1), ncopro )
4939 equivalence( nconuc(2), nconeu )
4940 equivalence( nsknuc(1), nskpro )
4941 equivalence( nsknuc(2), nskneu )
4942 equivalence( nhanuc(1), nhapro )
4943 equivalence( nhanuc(2), nhaneu )
4944 equivalence( nusnuc(1), nuspro )
4945 equivalence( nusnuc(2), nusneu )
4946 equivalence( jmxnuc(1), jmxpro )
4947 equivalence( jmxnuc(2), jmxneu )
4948 equivalence( magnuc(1), magpro )
4949 equivalence( magnuc(2), magneu )
4952 parameter( frdiff = 0.2
d+00 )
4953 parameter( ethsea = 1.0
d+00 )
4955 LOGICAL ldiffr, linctv, levprt, lheavy, ldeexg, lgdhpr, lpreex,
4956 & lhlfix, lprfix, lparwv, lpower, lsngch, llvmod, lschdf
4957 COMMON / parevt / dpower, fsprd0, fshpfn, rn1gsc, rn2gsc,
4958 & ldiffr(nallwp),lpower, linctv, levprt, lheavy,
4959 & ldeexg, lgdhpr, lpreex, lhlfix, lprfix, lparwv,
4960 & ilvmod, jlvmod, llvmod, lsngch, lschdf
4963 COMMON / xsepar / aanxse(100), bbnxse(100), ccnxse(100),
4964 & ddnxse(100), eenxse(100), zznxse(100),
4965 & emnxse(100), xmnxse(100),
4966 & aapxse(100), bbpxse(100), ccpxse(100),
4967 & ddpxse(100), eepxse(100), ffpxse(100),
4968 & zzpxse(100), empxse(100), xmpxse(100)
4972 WRITE( lunout,
'(A,I2)')
4973 &
' *** Reading evaporation and nuclear data from unit: ', nbertp
4976 READ (nbertp) isondx
4977 READ (nbertp) isomnm
4978 READ (nbertp) abuiso
4988 READ (nbertp) (p0(i),
p1(i),
p2(i),i=1,1001)
4994 READ (nbertp)
rho,omega
4995 READ (nbertp) exmass
5000 READ (nbertp) ((
t(i,j),j=1,7),i=1,3)
5007 READ (nbertp) inwaps
5009 READ (nbertp) t12nuc
5010 READ (nbertp) jspnuc
5011 READ (nbertp) jptnuc
5012 READ (nbertp) inwism
5013 READ (nbertp) izwism
5014 READ (nbertp) wapism
5015 READ (nbertp) t12ism
5016 READ (nbertp) jspism
5017 READ (nbertp) jptism
5018 READ (nbertp) aprime
5019 WRITE( lunout,
'(A)' )
' *** Evaporation: using 1977 Waps data ***'
5020 READ (nbertp) ahelp , bhelp , lrmsch, lrd1o2, ltrasp
5021 IF ( abs(ahelp-alpha0) .GT. csnnrm * alpha0 .OR.
5022 & abs(bhelp-gamsk0) .GT. csnnrm * gamsk0 )
THEN
5024 &
' *** Inconsistent Nuclear Geometry data on file ***'
5027 READ (nbertp) rhotab, rhatab, alptab, radtab, skitab, haltab,
5028 & ekatab, pfatab, pfrtab
5029 READ (nbertp) aanxse, bbnxse, ccnxse, ddnxse, eenxse, zznxse,
5031 READ (nbertp) aapxse, bbpxse, ccpxse, ddpxse, eepxse, ffpxse,
5032 & zzpxse, empxse, xmpxse
5034 READ (nbertp) iposst, mxpdum, mxadum, mxndum, mxzdum, ifbstf
5035 IF ( mxadum .NE.
mxafbk .OR. mxndum .NE.
mxnfbk .OR. mxzdum .NE.
5037 WRITE (lunout,*)
' *** Inconsistent Fermi BreakUp data',
5038 &
' in the Nuclear Data file ***'
5039 stop
'STOP:BERTTP-INCONS-FERMI-BREAKUP-DATA'
5041 READ (nbertp) ifrbkn
5042 READ (nbertp) ifrbkz
5043 READ (nbertp) ifbksp
5044 READ (nbertp) ifbkst
5045 READ (nbertp) eexfbk
5048 shenuc( jz, 1 ) = emvgev * ( cam2(jz) + cam4(jz) )
5051 shenuc( ja, 2 ) = emvgev * ( cam3(ja) + cam5(ja) )
5054 IF ( ilvmod .LE. 0 )
THEN
5060 DO 300 jz = 1, izcook
5061 cam4(jz) = pzcook(jz)
5063 DO 400 jn = 1, incook
5064 cam5(jn) = pncook(jz)
5068 IF ( ilvmod .EQ. 1 )
THEN
5070 &
' **** Standard EVAP T=0 level density used ****'
5071 ELSE IF ( ilvmod .EQ. 2 )
THEN
5073 &
' **** Gilbert & Cameron T=0 N,Z-dep. level density used ****'
5074 ELSE IF ( ilvmod .EQ. 3 )
THEN
5076 &
' **** Julich A-dependent level density used ****'
5077 ELSE IF ( ilvmod .EQ. 4 )
THEN
5079 &
' **** Brancazio & Cameron T=0 N,Z-dep. level density used ****'
5082 &
' **** Unknown T=0 level density option requested ****',ilvmod
5083 stop
'BERTTP-ILVMOD'
5085 IF ( jlvmod .LE. 0 )
THEN
5088 &
' **** No Excitation en. dependence for level densities ****'
5089 ELSE IF ( jlvmod .EQ. 1 )
THEN
5091 &
' **** Ignyatuk (1975, 1st) level density en. dep. used ****'
5093 &
' **** with Ignyatuk (1975, 1st) set of parameters for T=oo ****'
5098 ELSE IF ( jlvmod .EQ. 2 )
THEN
5100 &
' **** Ignyatuk (1975, 1st) level density en. dep. used ****'
5102 &
' **** with UNKNOWN set of parameters for T=oo ****'
5103 stop
'BERTTP-JLVMOD'
5104 ELSE IF ( jlvmod .EQ. 3 )
THEN
5106 &
' **** Ignyatuk (1975, 1st) level density en. dep. used ****'
5108 &
' **** with UNKNOWN set of parameters for T=oo ****'
5109 stop
'BERTTP-JLVMOD'
5110 ELSE IF ( jlvmod .EQ. 4 )
THEN
5112 &
' **** Ignyatuk (1975, 2nd) level density en. dep. used ****'
5114 &
' **** with Ignyatuk (1975, 2nd) set of parameters for T=oo ****'
5119 ELSE IF ( jlvmod .EQ. 5 )
THEN
5121 &
' **** Ignyatuk (1975, 2nd) level density en. dep. used ****'
5123 &
' **** with Iljinov & Mebel 1st set of parameters for T=oo ****'
5128 ELSE IF ( jlvmod .EQ. 6 )
THEN
5130 &
' **** Ignyatuk (1975, 2nd) level density en. dep. used ****'
5132 &
' **** with Iljinov & Mebel 2nd set of parameters for T=oo ****'
5137 ELSE IF ( jlvmod .EQ. 7 )
THEN
5139 &
' **** Ignyatuk (1975, 2nd) level density en. dep. used ****'
5141 &
' **** with Iljinov & Mebel 3rd set of parameters for T=oo ****'
5146 ELSE IF ( jlvmod .EQ. 8 )
THEN
5148 &
' **** Ignyatuk (1975, 2nd) level density en. dep. used ****'
5150 &
' **** with Iljinov & Mebel 4th set of parameters for T=oo ****'
5157 &
' **** Unknown T=oo level density option requested ****'
5158 stop
'BERTTP-JLVMOD'
5162 &
' **** Cook''s modified pairing energy used ****'
5165 &
' **** Original Gilbert/Cameron pairing energy used ****'
5169 paenuc( jz, 1 ) = emvgev * cam4(jz)
5172 paenuc( ja, 2 ) = emvgev * cam5(ja)
5187 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
5189 parameter( kalgnm = 2 )
5190 parameter( anglgb = 5.0
d-16 )
5191 parameter( anglsq = 2.5
d-31 )
5192 parameter( axcssv = 0.2
d+16 )
5193 parameter( andrfl = 1.0
d-38 )
5194 parameter( avrflw = 1.0
d+38 )
5195 parameter( ainfnt = 1.0
d+30 )
5196 parameter( azrzrz = 1.0
d-30 )
5197 parameter( einfnt = +69.07755278982137
d+00 )
5198 parameter( ezrzrz = -69.07755278982137
d+00 )
5199 parameter( onemns = 0.999999999999999
d+00 )
5200 parameter( onepls = 1.000000000000001
d+00 )
5201 parameter( csnnrm = 2.0
d-15 )
5202 parameter( dmxtrn = 1.0
d+08 )
5203 parameter( zerzer = 0.
d+00 )
5204 parameter( oneone = 1.
d+00 )
5205 parameter( twotwo = 2.
d+00 )
5206 parameter( thrthr = 3.
d+00 )
5207 parameter( foufou = 4.
d+00 )
5208 parameter( fivfiv = 5.
d+00 )
5209 parameter( sixsix = 6.
d+00 )
5210 parameter( sevsev = 7.
d+00 )
5211 parameter( eigeig = 8.
d+00 )
5212 parameter( aninen = 9.
d+00 )
5213 parameter( tenten = 10.
d+00 )
5214 parameter( hlfhlf = 0.5
d+00 )
5215 parameter( onethi = oneone / thrthr )
5216 parameter( twothi = twotwo / thrthr )
5217 parameter( onefou = oneone / foufou )
5218 parameter( thrtwo = thrthr / twotwo )
5219 parameter( pipipi = 3.141592653589793238462643383279
d+00 )
5220 parameter( twopip = 6.283185307179586476925286766559
d+00 )
5221 parameter( pip5o2 = 7.853981633974483096156608458199
d+00 )
5222 parameter( pipisq = 9.869604401089358618834490999876
d+00 )
5223 parameter( pihalf = 1.570796326794896619231321691640
d+00 )
5224 parameter( erfa00 = 0.886226925452758013649083741671
d+00 )
5225 parameter( eneper = 2.718281828459045235360287471353
d+00 )
5226 parameter( sqrent = 1.648721270700128146848650787814
d+00 )
5227 parameter( sqrsix = 2.449489742783178098197284074706
d+00 )
5228 parameter( sqrsev = 2.645751311064590590501615753639
d+00 )
5229 parameter( sqrt12 = 3.464101615137754587054892683012
d+00 )
5230 parameter( clight = 2.99792458
d+10 )
5231 parameter( avogad = 6.0221367
d+23 )
5232 parameter( boltzm = 1.380658
d-23 )
5233 parameter( amelgr = 9.1093897
d-28 )
5234 parameter( plckbr = 1.05457266
d-27 )
5235 parameter( elccgs = 4.8032068
d-10 )
5236 parameter( elcmks = 1.60217733
d-19 )
5237 parameter( amugrm = 1.6605402
d-24 )
5238 parameter( ammumu = 0.113428913
d+00 )
5239 parameter( amprmu = 1.007276470
d+00 )
5240 parameter( amnemu = 1.008664904
d+00 )
5241 parameter( alpfsc = 7.2973530791728595
d-03 )
5242 parameter( fscto2 = 5.3251361962113614
d-05 )
5243 parameter( fscto3 = 3.8859399018437826
d-07 )
5244 parameter( fscto4 = 2.8357075508200407
d-09 )
5245 parameter( plabrc = 0.197327053
d+00 )
5246 parameter( amelct = 0.51099906
d-03 )
5247 parameter( amugev = 0.93149432
d+00 )
5248 parameter( ammuon = 0.105658389
d+00 )
5249 parameter( amprtn = 0.93827231
d+00 )
5250 parameter( amntrn = 0.93956563
d+00 )
5251 parameter( amdeut = 1.87561339
d+00 )
5252 parameter( cougfm = elccgs * elccgs / elcmks * 1.
d-07 * 1.
d+13
5254 parameter( rclsel = 2.8179409183694872
d-13 )
5255 parameter( bltzmn = 8.617385
d-14 )
5256 parameter( gevmev = 1.0
d+03 )
5257 parameter( emvgev = 1.0
d-03 )
5258 parameter( algvmv = 6.90775527898214
d+00 )
5259 parameter( raddeg = 180.
d+00 / pipipi )
5260 parameter( degrad = pipipi / 180.
d+00 )
5261 LOGICAL lgbias, lgbana
5262 COMMON / global / lgbias, lgbana
5265 parameter( mxxrgn = 5000 )
5266 parameter( mxxmdf = 56 )
5267 parameter( mxxmde = 50 )
5268 parameter( mfstck = 1000 )
5269 parameter( mestck = 100 )
5270 parameter( nallwp = 39 )
5271 parameter( mpdpdx = 8 )
5272 parameter( icomax = 180 )
5273 parameter( nstbis = 304 )
5274 parameter( idmaxp = 210 )
5275 parameter( idmxdc = 620 )
5276 parameter( mkbmx1 = 1 )
5277 parameter( mkbmx2 = 1 )
5280 parameter( lunin = 5 )
5281 parameter( lunout = 6 )
5282 parameter( lunerr = 15 )
5283 parameter( lunber = 14 )
5284 parameter( lunech = 8 )
5285 parameter( lunflu = 13 )
5286 parameter( lungeo = 16 )
5287 parameter( lunpgs = 12 )
5288 parameter( lunran = 2 )
5289 parameter( lunxsc = 9 )
5290 parameter( lundet = 17 )
5291 parameter( lunray = 10 )
5292 parameter( lunrdb = 1 )
5306 parameter( mxheav = 100 )
5308 COMMON / fheavy / cxheav(mxheav), cyheav(mxheav),
5309 & czheav(mxheav), tkheav(mxheav),
5310 & pheavy(mxheav), wheavy(mxheav),
5311 & amheav( 12 ) , amnhea( 12 ) ,
5312 & kheavy(mxheav), icheav( 12 ) ,
5313 & ibheav( 12 ) , npheav
5314 COMMON / fheavc / anheav( 12 )
5317 COMMON /inpflg/ iang,ifiss,ib0,igeom,istrag,keydk
5327 parameter(
mxpsst = 300 )
5328 parameter(
mxpsfb = 41000 )
5329 LOGICAL lfrmbk, lncmss
5330 COMMON / frbkcm / amufbk, eexfbk(
mxpsst), amfrbk(
mxpsst),
5332 & exmxfb, r0frbk, r0cfbk, c1cfbk, c2cfbk,
5337 & ifbcha(5,
mxpsfb), iposst, iposfb, ifbstf,
5338 & ifbfrb, nbufbk, lfrmbk, lncmss
5341 parameter( amuamu = amugev )
5342 parameter( amprot = amprtn )
5343 parameter( amneut = amntrn )
5344 parameter( amelec = amelct )
5345 parameter( r0nucl = 1.12
d+00 )
5346 parameter( rccoul = 1.7
d+00 )
5347 parameter( coulpr = cougfm )
5348 parameter( fertho = 14.33
d-09 )
5349 parameter( expebn = 2.39
d+00 )
5350 parameter( bexc12 = fertho * 72.40715579499394
d+00 )
5351 parameter( amuc12 = amugev - hlfhlf * amelct + bexc12 / 12.
d+00 )
5352 parameter( amhydr = amprtn + amelct )
5353 parameter( amhton = amhydr - amntrn )
5354 parameter( amntou = amntrn - amuc12 )
5355 parameter( amucsq = amuc12 * amuc12 )
5356 parameter( ebndav = hlfhlf * (amprtn + amntrn) - amuc12 )
5357 parameter( gammin = 1.0
d-06 )
5358 parameter( gamnsq = 2.0
d+00 * gammin * gammin )
5359 parameter( tvepsi = gammin / 100.
d+00 )
5360 COMMON /nucdat/ av0wel, apfrmx, aefrmx, aefrma,
5361 & rdsnuc, v0well(2), pfrmmx(2), efrmmx(2),
5362 & efrmav(2), amnucl(2), amnusq(2), ebndng(2),
5363 & veffnu(2), eslope(2), pkmnnu(2), ekmnnu(2),
5364 & pkmxnu(2), ekmxnu(2), ekmnav(2), ekinav(2),
5365 & exmnav(2), ekupnu(2), exmnnu(2), exupnu(2),
5366 & erclav(2), eswell(2), fincup(2), amrcav ,
5367 & amrcsq , ato1o3 , zto1o3 , elbnde(0:100)
5370 parameter( frdiff = 0.2
d+00 )
5371 parameter( ethsea = 1.0
d+00 )
5373 LOGICAL ldiffr, linctv, levprt, lheavy, ldeexg, lgdhpr, lpreex,
5374 & lhlfix, lprfix, lparwv, lpower, lsngch, llvmod, lschdf
5375 COMMON / parevt / dpower, fsprd0, fshpfn, rn1gsc, rn2gsc,
5376 & ldiffr(nallwp),lpower, linctv, levprt, lheavy,
5377 & ldeexg, lgdhpr, lpreex, lhlfix, lprfix, lparwv,
5378 & ilvmod, jlvmod, llvmod, lsngch, lschdf
5379 COMMON / nucold / help(2), hhlp(2), ftvth(2), fincx(2),
5380 & ekpold(2), bbold, zzold, sqrold, aseasq,
5386 apfrmx = plabrc * ( aninen * pipipi / eigeig )**onethi / r0nucl
5389 amnusq(1) = amprot * amprot
5390 amnusq(2) = amneut * amneut
5391 amnhlp = hlfhlf * ( amnucl(1) + amnucl(2) )
5394 aefrmx =
sqrt( asqhlp + apfrmx**2 ) - amnhlp
5395 aefrma = 0.3
d+00 * apfrmx**2 / amnhlp * ( oneone - apfrmx**2 /
5396 & ( 5.6
d+00 * asqhlp ) )
5397 av0wel = aefrmx + ebndav
5400 aexc12 = emvgev *
energy( 12.
d+00, 6.
d+00 )
5401 cexc12 = emvgev *
enrg( 12.
d+00, 6.
d+00 )
5402 ammc12 = 12.
d+00 * amugev + aexc12
5403 amnc12 = ammc12 - 6.
d+00 * amelct + fertho * 6.
d+00**expebn
5404 aexo16 = emvgev *
energy( 16.
d+00, 8.
d+00 )
5405 cexo16 = emvgev *
enrg( 16.
d+00, 8.
d+00 )
5406 ammo16 = 16.
d+00 * amugev + aexo16
5407 amno16 = ammo16 - 8.
d+00 * amelct + fertho * 8.
d+00**expebn
5408 aexs28 = emvgev *
energy( 28.
d+00, 14.
d+00 )
5409 cexs28 = emvgev *
enrg( 28.
d+00, 14.
d+00 )
5410 amms28 = 28.
d+00 * amugev + aexs28
5411 amns28 = amms28 - 14.
d+00 * amelct + fertho * 14.
d+00**expebn
5412 aexc40 = emvgev *
energy( 40.
d+00, 20.
d+00 )
5413 cexc40 = emvgev *
enrg( 40.
d+00, 20.
d+00 )
5414 ammc40 = 40.
d+00 * amugev + aexc40
5415 amnc40 = ammc40 - 20.
d+00 * amelct + fertho * 20.
d+00**expebn
5416 aexf56 = emvgev *
energy( 56.
d+00, 26.
d+00 )
5417 cexf56 = emvgev *
enrg( 56.
d+00, 26.
d+00 )
5418 ammf56 = 56.
d+00 * amugev + aexf56
5419 amnf56 = ammf56 - 26.
d+00 * amelct + fertho * 26.
d+00**expebn
5420 aex107 = emvgev *
energy( 107.
d+00, 47.
d+00 )
5421 cex107 = emvgev *
enrg( 107.
d+00, 47.
d+00 )
5422 amm107 = 107.
d+00 * amugev + aex107
5423 amn107 = amm107 - 47.
d+00 * amelct + fertho * 47.
d+00**expebn
5424 aex132 = emvgev *
energy( 132.
d+00, 54.
d+00 )
5425 cex132 = emvgev *
enrg( 132.
d+00, 54.
d+00 )
5426 amm132 = 132.
d+00 * amugev + aex132
5427 amn132 = amm132 - 54.
d+00 * amelct + fertho * 54.
d+00**expebn
5428 aex181 = emvgev *
energy( 181.
d+00, 73.
d+00 )
5429 cex181 = emvgev *
enrg( 181.
d+00, 73.
d+00 )
5430 amm181 = 181.
d+00 * amugev + aex181
5431 amn181 = amm181 - 73.
d+00 * amelct + fertho * 73.
d+00**expebn
5432 aex208 = emvgev *
energy( 208.
d+00, 82.
d+00 )
5433 cex208 = emvgev *
enrg( 208.
d+00, 82.
d+00 )
5434 amm208 = 208.
d+00 * amugev + aex208
5435 amn208 = amm208 - 82.
d+00 * amelct + fertho * 82.
d+00**expebn
5436 aex238 = emvgev *
energy( 238.
d+00, 92.
d+00 )
5437 cex238 = emvgev *
enrg( 238.
d+00, 92.
d+00 )
5438 amm238 = 238.
d+00 * amugev + aex238
5439 amn238 = amm238 - 92.
d+00 * amelct + fertho * 92.
d+00**expebn
5442 WRITE ( lunout,* )
' **** Maximum Fermi momentum : ',sngl(apfrmx),
5445 WRITE ( lunout,* )
' **** Maximum Fermi energy : ',sngl(aefrmx),
5448 WRITE ( lunout,* )
' **** Average Fermi energy : ',sngl(aefrma),
5451 WRITE ( lunout,* )
' **** Average binding energy : ',sngl(ebndav),
5454 WRITE ( lunout,* )
' **** Nuclear well depth : ',sngl(av0wel),
5457 WRITE ( lunout,* )
' **** Excess mass for 12-C : ',sngl(aexc12),
5460 WRITE ( lunout,* )
' **** Cameron E. m. for 12-C : ',sngl(cexc12),
5463 WRITE ( lunout,* )
' **** Atomic mass for 12-C : ',sngl(ammc12),
5466 WRITE ( lunout,* )
' **** Nuclear mass for 12-C : ',sngl(amnc12),
5469 WRITE ( lunout,* )
' **** Excess mass for 16-O : ',sngl(aexo16),
5472 WRITE ( lunout,* )
' **** Cameron E. m. for 16-O : ',sngl(cexo16),
5475 WRITE ( lunout,* )
' **** Atomic mass for 16-O : ',sngl(ammo16),
5478 WRITE ( lunout,* )
' **** Nuclear mass for 16-O : ',sngl(amno16),
5481 WRITE ( lunout,* )
' **** Excess mass for 40-Ca : ',sngl(aexc40),
5484 WRITE ( lunout,* )
' **** Cameron E. m. for 40-Ca : ',sngl(cexc40),
5487 WRITE ( lunout,* )
' **** Atomic mass for 40-Ca : ',sngl(ammc40),
5490 WRITE ( lunout,* )
' **** Nuclear mass for 40-Ca : ',sngl(amnc40),
5493 WRITE ( lunout,* )
' **** Excess mass for 56-Fe : ',sngl(aexf56),
5496 WRITE ( lunout,* )
' **** Cameron E. m. for 56-Fe : ',sngl(cexf56),
5499 WRITE ( lunout,* )
' **** Atomic mass for 56-Fe : ',sngl(ammf56),
5502 WRITE ( lunout,* )
' **** Nuclear mass for 56-Fe : ',sngl(amnf56),
5505 WRITE ( lunout,* )
' **** Excess mass for 107-Ag: ',sngl(aex107),
5508 WRITE ( lunout,* )
' **** Cameron E. m. for 107-Ag: ',sngl(cex107),
5511 WRITE ( lunout,* )
' **** Atomic mass for 107-Ag: ',sngl(amm107),
5514 WRITE ( lunout,* )
' **** Nuclear mass for 107-Ag: ',sngl(amn107),
5517 WRITE ( lunout,* )
' **** Excess mass for 132-Xe: ',sngl(aex132),
5520 WRITE ( lunout,* )
' **** Cameron E. m. for 132-Xe: ',sngl(cex132),
5523 WRITE ( lunout,* )
' **** Atomic mass for 132-Xe: ',sngl(amm132),
5526 WRITE ( lunout,* )
' **** Nuclear mass for 132-Xe: ',sngl(amn132),
5529 WRITE ( lunout,* )
' **** Excess mass for 181-Ta: ',sngl(aex181),
5532 WRITE ( lunout,* )
' **** Cameron E. m. for 181-Ta: ',sngl(cex181),
5535 WRITE ( lunout,* )
' **** Atomic mass for 181-Ta: ',sngl(amm181),
5538 WRITE ( lunout,* )
' **** Nuclear mass for 181-Ta: ',sngl(amn181),
5541 WRITE ( lunout,* )
' **** Excess mass for 208-Pb: ',sngl(aex208),
5544 WRITE ( lunout,* )
' **** Cameron E. m. for 208-Pb: ',sngl(cex208),
5547 WRITE ( lunout,* )
' **** Atomic mass for 208-Pb: ',sngl(amm208),
5550 WRITE ( lunout,* )
' **** Nuclear mass for 208-Pb: ',sngl(amn208),
5553 WRITE ( lunout,* )
' **** Excess mass for 238-U : ',sngl(aex238),
5556 WRITE ( lunout,* )
' **** Cameron E. m. for 238-U : ',sngl(cex238),
5559 WRITE ( lunout,* )
' **** Atomic mass for 238-U : ',sngl(amm238),
5562 WRITE ( lunout,* )
' **** Nuclear mass for 238-U : ',sngl(amn238),
5565 amheav(1) = amugev + emvgev *
energy( oneone, zerzer )
5566 amheav(2) = amugev + emvgev *
energy( oneone, oneone )
5567 amheav(3) = twotwo * amugev + emvgev *
energy( twotwo, oneone )
5568 amheav(4) = thrthr * amugev + emvgev *
energy( thrthr, oneone )
5569 amheav(5) = thrthr * amugev + emvgev *
energy( thrthr, twotwo )
5570 amheav(6) = foufou * amugev + emvgev *
energy( foufou, twotwo )
5572 elbnde(1) = 13.6
d-09
5574 elbnde(
iz ) = fertho * dble(
iz )**expebn
5576 amnhea(1) = amheav(1) + elbnde(0)
5577 amnhea(2) = amheav(2) - amelct + elbnde(1)
5578 amnhea(3) = amheav(3) - amelct + elbnde(1)
5579 amnhea(4) = amheav(4) - amelct + elbnde(1)
5580 amnhea(5) = amheav(5) - twotwo * amelct + elbnde(2)
5581 amnhea(6) = amheav(6) - twotwo * amelct + elbnde(2)
5583 WRITE ( lunout, * )
' **** Evaporation from residual nucleus',
5584 &
' activated **** '
5585 IF ( ldeexg )
WRITE ( lunout, * )
' **** Deexcitation gamma',
5586 &
' production activated **** '
5587 IF ( lheavy )
WRITE ( lunout, * )
' **** Evaporated "heavies"',
5588 &
' transport activated **** '
5590 &
WRITE ( lunout, * )
' **** High Energy fission ',
5591 &
' requested & activated **** '
5593 &
WRITE ( lunout, * )
' **** Fermi Break Up ',
5594 &
' requested & activated **** '
5595 IF ( lfrmbk ) CALL
frbkin(.false.,.false.)
5608 SUBROUTINE decays(PIN,IDXIN,POUT,IDXOUT,NSEC,IREJ)
5622 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
5624 parameter(lout=6,llook=9)
5625 parameter(tiny17=1.0
d-17)
5627 parameter(idmax9=602)
5628 CHARACTER*8 aname,zkname
5629 COMMON /ddecac/ zkname(idmax9),wt(idmax9),nzk(idmax9,3)
5630 COMMON /dpar/ aname(210),aam(210),ga(210),
tau(210),
5631 & iich(210),iibar(210),k1(210),k2(210)
5633 LOGICAL lemcck,lhadro,lseadi
5634 COMMON /flags/ ifrag(2),iresco,imshl,iresrj,
5635 & lemcck,lhadro(0:9),lseadi
5643 dimension pin(4),pi(20,4),pout(20,4),idxout(20),
5644 & ef(3),pf(3),pff(3),idxstk(20),idx(3),
5645 & codf(3),coff(3),siff(3),dcos(3),dcosf(3)
5651 idxstk(nstk) = idxin
5657 IF (lemcck) CALL
evtemc(pi(nstk,1),pi(nstk,2),pi(nstk,3),
5658 & pi(nstk,4),1,idum,idum)
5664 IF (istab.EQ.1)
THEN
5665 IF ((idxi.EQ.135).OR. (idxi.EQ.136)) goto 10
5666 IF ((idxi.GE. 1).AND.(idxi.LE. 7)) goto 10
5667 ELSEIF (istab.EQ.2)
THEN
5668 IF ((idxi.GE. 1).AND.(idxi.LE. 30)) goto 10
5669 IF ((idxi.GE. 97).AND.(idxi.LE.103)) goto 10
5670 IF ((idxi.GE.115).AND.(idxi.LE.122)) goto 10
5671 IF ((idxi.GE.131).AND.(idxi.LE.136)) goto 10
5672 IF ( idxi.EQ.109) goto 10
5673 IF ((idxi.GE.137).AND.(idxi.LE.160)) goto 10
5674 ELSEIF (istab.EQ.3)
THEN
5675 IF ((idxi.GE. 1).AND.(idxi.LE. 23)) goto 10
5676 IF ((idxi.GE. 97).AND.(idxi.LE.103)) goto 10
5677 IF ((idxi.GE.109).AND.(idxi.LE.115)) goto 10
5678 IF ((idxi.GE.133).AND.(idxi.LE.136)) goto 10
5682 ptot =
sqrt(pi(nstk,1)**2+pi(nstk,2)**2+pi(nstk,3)**2)
5683 ptot = max(ptot,tiny17)
5685 dcos(i) = pi(nstk,i)/ptot
5687 gam = pi(nstk,4)/aam(idxi)
5688 bgam = ptot/aam(idxi)
5694 IF ((
rndm(v)-tiny17).GT.wt(kchan)) goto 2
5697 idx(1) = nzk(kchan,1)
5698 idx(2) = nzk(kchan,2)
5699 IF (idx(2).LT.1) goto 9999
5700 idx(3) = nzk(kchan,3)
5703 IF (idx(3).EQ.0)
THEN
5706 CALL
dtwopd(aam(idxi),ef(1),ef(2),pf(1),pf(2),
5707 & codf(1),coff(1),siff(1),codf(2),coff(2),siff(2),
5708 & aam(idx(1)),aam(idx(2)))
5712 CALL
dthrep(aam(idxi),ef(1),ef(2),ef(3),pf(1),pf(2),pf(3),
5713 & codf(1),coff(1),siff(1),codf(2),coff(2),siff(2),
5714 & codf(3),coff(3),siff(3),
5715 & aam(idx(1)),aam(idx(2)),aam(idx(3)))
5722 CALL
dtrafo(gam,bgam,dcos(1),dcos(2),dcos(3),
5723 & codf(i),coff(i),siff(i),pf(i),ef(i),
5724 & pff(i),dcosf(1),dcosf(2),dcosf(3),pi(nstk,4))
5726 idxstk(nstk) = idx(i)
5728 pi(nstk,j) = dcosf(j)*pff(i)
5737 pout(nsec,i) = pi(nstk,i)
5739 idxout(nsec) = idxstk(nstk)
5742 &CALL
evtemc(-pout(nsec,1),-pout(nsec,2),-pout(nsec,3),
5743 & -pout(nsec,4),2,idum,idum)
5745 IF (nstk.GT.0) goto 100
5749 CALL
evtemc(dum,dum,dum,dum,3,5,irej1)
5750 IF (irej1.NE.0) goto 9999
5769 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
5771 parameter(lout=6,llook=9)
5774 COMMON /hkkevt/ nhkk,nevhkk,isthkk(
nmxhkk),idhkk(
nmxhkk),
5780 dimension pin(4),pout(10,4),idxout(10)
5798 CALL
decays(pin,idxin,pout,idxout,nsec,irej)
5802 CALL
evtput(1,idhad,i,0,pout(
n,1),pout(
n,2),
5803 & pout(
n,3),pout(
n,4),0,0,0)
5831 IMPLICIT DOUBLE PRECISION (
a-h,o-
z)
5833 parameter(
zero=0.0d0,
one=1.0d0,two=2.0d0,tiny3=1.0
d-3)
5834 parameter(ampr = 938.0d0,
5844 IF (((idp.NE.13).AND.(idp.NE.14).AND.(idp.NE.23))
5845 & .OR.((idt.NE.1).AND.(idt.NE.8)))
5849 IF ((
ekin.LT.tiny3).OR.(
ekin.GT.400.0d0))
RETURN
5850 ecm =
sqrt( (ampi+amde)**2+two*
ekin*amde )
5851 sigabs =
a+b/
sqrt(
ekin)+c*1.0d4/((ecm-er)**2+
d)
5853 sigabs = sigabs/0.40d0
5854 IF(idp.EQ.23) sigabs = 0.5d0*sigabs
subroutine checkn(EPN, PPN, IREJ, IORIG)
subroutine evtput(IST, ID, M1, M2, PX, PY, PZ, E, IDR, IDXR, IDC)
subroutine decays(PIN, IDXIN, POUT, IDXOUT, NSEC, IREJ)
subroutine dhadri(N, PLAB, ELAB, CX, CY, CZ, ITTA)
G4int nint(G4double number)
DOUBLE PRECISION function rndm(RDUMMY)
typedef int(XMLCALL *XML_NotStandaloneHandler)(void *userData)
subroutine dtwopd(UMO, ECM1, ECM2, PCM1, PCM2, COD1, COF1, SIF1, COD2, COF2, SIF2, AM1, AM2)
subroutine hadri1(IDPR, PPR, IDTA, PTA, MODE, IREJ)
BasicVector3D< T > unit() const
subroutine dtrafo(GAM, BGAM, CX, CY, CZ, COD, COF, SIF, P, ECM, PL, CXL, CYL, CZL, EL)
G4double ekin(const G4LorentzVector &p) const
subroutine kkevnu(NHKKH1, EPN, PPN, KKMAT, IREJ, ECM)
subroutine ltrans(PXI, PYI, PZI, PEI, PXO, PYO, PZO, PEO, ID, MODE)
subroutine absorp(IDCAS, PCAS, NCAS, NSPE, IDSPE, IDXSPE, MODE, IREJ)
subroutine inucas(IT, IP, IDXCAS, LCAS, NCAS, IREJ)
subroutine resncl(EPN, MODE)
subroutine ltini(IDP, EPN, PPN, ECM)
subroutine ltnuc(PIN, EIN, POUT, EOUT, MODE)
subroutine fozoca(LFZC, IREJ)
subroutine sihnin(IPROJ, ITAR, PO, SIIN)
subroutine nclpot(IPZ, IP, ITZ, IT, AFERP, AFERT, MODE)
subroutine distrc(IOP, NHKKH1, PO, IGENER)
DOUBLE PRECISION function enrg(A, Z)
subroutine mytran(IMODE, XO, YO, ZO, CDE, SDE, CFE, SFE, X, Y, Z)
subroutine ficonf(IJPROJ, IP, IPZ, IT, ITZ, IREJ)
subroutine sihnab(IDP, IDT, PLAB, SIGABS)
subroutine checkf(EPN, PPN, IREJ, IORIG)
subroutine daltra(GA, BGX, BGY, BGZ, PCX, PCY, PCZ, EC, P, PX, PY, PZ, E)
subroutine kkevle(NHKKH1, EPN, PPN, KKMAT, IREJ)
subroutine distco(IOP, IJPROJ, PPN, IDUMMY)
subroutine dechkk(NHKKH1)
subroutine elhain(IP, PLA, ELAB, CX, CY, CZ, IT, IREJ)
subroutine kkevt(NHKKH1, EPN, PPN, KKMAT, IREJ)
subroutine kkinc(EPN, NTMASS, NTCHAR, NPMASS, NPCHAR, IDP, KKMAT, IDT, NHKKH1, IREJ)
subroutine dsfecf(SFE, CFE)
subroutine kkevdi(NHKKH1, EPN, PPN, KKMAT, IREJ)
subroutine eva2he(MO, EEXCF, IRCL, IREJ)
static c2_log_p< float_type > & log()
make a *new object
subroutine checko(EPN, PPN, IREJ, IORIG)
subroutine chebch(IREJ, NHKKH1)
G4double tau(G4double bet, G4double homega, G4double ef, G4double t)
static c2_sqrt_p< float_type > & sqrt()
make a *new object
subroutine mashel(PA1, PA2, XM1, XM2, P1, P2, IREJ)
DOUBLE PRECISION function ylamb(X, Y, Z)
subroutine distr(IOP, NHKKH1, PO, IGENER)
subroutine dthrep(UMO, ECM1, ECM2, ECM3, PCM1, PCM2, PCM3, COD1, COF1, SIF1, COD2, COF2, SIF2, COD3, COF3, SIF3, AM1, AM2, AM3)
subroutine defaux(EPN, PPN)
subroutine evtemc(PXIO, PYIO, PZIO, EIO, IMODE, IPOS, IREJ)
subroutine evtini(ID, IP, IT, EPN, PPN, ECM, NHKKH1, MODE)
subroutine raco(WX, WY, WZ)
subroutine sihnel(IPROJ, ITAR, POO, SIEL)