194 dimension scip(300,300),rnip(300,300),sjip(300,300),jtp(3),
195 & ipcol(90000),itcol(90000)
199 common/hijcrdn/
yp(3,300),
yt(3,300)
201 common/hijglbr/nelt,nint,nelp,ninp
218 common/himain2/
katt(130000,4),
patt(130000,4),
vatt(130000,4)
222 common/histrng/
nfp(300,15),
pp(300,15),
nft(300,15),
pt(300,15)
224 common/hijjet1/
npj(300),
kfpj(300,500),
pjpx(300,500),
247 common/lujets/
n,
k(9000,5),
p(9000,5),
v(9000,5)
249 common/ludat1/mstu(200),paru(200),mstj(200),parj(200)
276 if(
ihnt2(1).EQ.2)
then
280 r=-0.5*(
log(rnd1)*4.38/2.0+
log(rnd2)*0.85/2.0
281 & +4.38*0.85*
log(rnd3)/(4.38+0.85))
295 dnbp1=(
yp(1,kp)-
yp(1,kp2))**2
296 dnbp2=(
yp(2,kp)-
yp(2,kp2))**2
297 dnbp3=(
yp(3,kp)-
yp(3,kp2))**2
298 dnbp=dnbp1+dnbp2+dnbp3
305 if(
ihnt2(1).EQ.2)
then
333 if(
ihnt2(3).EQ.2)
then
337 r=-0.5*(
log(rnd1)*4.38/2.0+
log(rnd2)*0.85/2.0
338 & +4.38*0.85*
log(rnd3)/(4.38+0.85))
355 dnbt=dnbt1+dnbt2+dnbt3
362 if(
ihnt2(3).EQ.2)
then
386 WRITE(6,*)
'infinite loop happened in HIJING'
423 b2=(
yp(1,jp)+bbx-
yt(1,jt))**2+(
yp(2,jp)+bby-
yt(2,jt))**2
426 rrb1=min((
yp(1,jp)**2+
yp(2,jp)**2)
427 & /1.2**2/
REAL(
ihnt2(1))**0.6666667,1.0)
428 rrb2=min((
yt(1,jt)**2+
yt(2,jt)**2)
429 & /1.2**2/
REAL(
ihnt2(3))**0.6666667,1.0)
430 aphx1=
hipr1(6)*4.0/3.0*(
ihnt2(1)**0.3333333-1.0)
432 aphx2=
hipr1(6)*4.0/3.0*(
ihnt2(3)**0.3333333-1.0)
436 IF(
ihpr2(14).EQ.0.OR.
440 IF(rantot.GT.gs)
go to 70
447 gstot=2.0*(1.0-sqrt(1.0-gs))
449 IF(rantot.GT.gstot)
go to 70
450 IF(rantot.GT.gs)
THEN
457 sjip(jp,jt)=
hint1(18)
474 IF(
ihpr2(3).NE.0)
THEN
476 nhard=min(nhard,ncolt)
481 IF(
ihpr2(9).EQ.1)
THEN
483 nmini=min(nmini,ncolt)
492 IF(scip(jp,jt).EQ.-1.0)
go to 200
495 IF(
nfp(jp,5).LE.1 .AND.
nft(jt,5).GT.1)
THEN
498 ELSE IF(
nfp(jp,5).GT.1 .AND.
nft(jt,5).LE.1)
THEN
501 ELSE IF(
nfp(jp,5).LE.1 .AND.
nft(jt,5).LE.1)
THEN
505 ELSE IF(
nfp(jp,5).GT.1 .AND.
nft(jt,5).GT.1)
THEN
515 IF(
nfp(jp,6).LT.0 .OR.
nft(jt,6).LT.0)
go to 160
520 hint1(18)=sjip(jp,jt)
524 IF(
ihpr2(3).NE.0 .AND. jp.EQ.jphard .AND. jt.EQ.jthard)
THEN
526 CALL
hijhrd(jp,jt,0,jflg,0)
548 rrb1=min((
yp(1,jp)**2+
yp(2,jp)**2)/1.2**2
549 & /
REAL(
ihnt2(1))**0.6666667,1.0)
550 rrb2=min((
yt(1,jt)**2+
yt(2,jt)**2)/1.2**2
551 & /
REAL(
ihnt2(3))**0.6666667,1.0)
552 aphx1=
hipr1(6)*4.0/3.0*(
ihnt2(1)**0.3333333-1.0)
554 aphx2=
hipr1(6)*4.0/3.0*(
ihnt2(3)**0.3333333-1.0)
566 IF(xr1.LT.ttrig)
go to 106
570 IF(xr.LT.tt-ttrig)
go to 107
576 IF(
ihpr2(9).EQ.1.AND.jp.EQ.jpmini.AND.jt.EQ.jtmini)
go to 110
580 IF(
ihpr2(8).GT.0 .AND.rnip(jp,jt).LT.exp(-tt)*
581 & (1.0-exp(-tts)))
go to 160
586 IF(xr.LT.tt)
go to 111
587 112 njet=min(njet,
ihpr2(8))
593 CALL
hijhrd(jp,jt,jout,jflg,1)
600 IF(jflg.EQ.0)
go to 160
602 IF(
ihpr2(10).NE.0)
WRITE(6,*)
'error occured in HIJHRD'
613 CALL
hijsft(jp,jt,jout,ierror)
615 IF(
ihpr2(10).NE.0)
WRITE(6,*)
'error occured in HIJSFT'
627 IF(
nfp(jp,5).GT.2)
THEN
629 ELSE IF(
nfp(jp,5).EQ.2.OR.
nfp(jp,5).EQ.1)
THEN
634 IF(
nft(jt,5).GT.2)
THEN
636 ELSE IF(
nft(jt,5).EQ.2.OR.
nft(jt,5).EQ.1)
THEN
666 IF(
ihpr2(20).NE.0)
THEN
669 IF(mstu(24).NE.0 .OR.ierror.GT.0)
THEN
672 IF(
ihpr2(10).NE.0)
THEN
674 WRITE(6,*)
'error occured, repeat the event'
684 CALL hijfst(
n,9000,
k,
p,
v)
699 IF(
ihpr2(21).EQ.0)
THEN
707 ELSE IF (
n .GT. 1)
THEN
717 if (n_st .GT.
n)
then
722 IF(
k(n_st,2).LT.91.OR.
k(n_st,2).GT.93)
go to 351
727 IF(frame.EQ.
'LAB')
THEN
734 IF(
k(
i,2).EQ.idstr)
THEN
736 IF (
k(
i,3) .LT. n_st)
THEN
750 if (
natt .GT. 130000)
THEN
761 &
k(
i,3).LT.n_st .OR.
762 & (
k(
k(
i,3),2) .EQ. idstr .AND.
763 &
k(
k(
i,3),3) .LT. n_st))
THEN
780 IF ((abs(
vatt(
natt,3)) .GT. 0.00001) .and.
787 if (kparent .ne. 0)
then
791 rparent = sqrt(
vatt(kparent,1)**2 +
792 &
vatt(kparent,2)**2 +
793 &
vatt(kparent,3)**2)
794 IF (
r/rparent .LT. 0.85)
THEN
808 DO 400 j_jtp=1,jtp(ntp)
809 CALL
hijfrg(j_jtp,ntp,ierror)
810 IF(mstu(24).NE.0 .OR. ierror.GT.0)
THEN
813 IF(
ihpr2(10).NE.0)
THEN
815 WRITE(6,*)
'error occured, repeat the event'
824 CALL hijfst(
n,9000,
k,
p,
v)
831 IF(
ihpr2(21).EQ.0)
THEN
839 ELSE IF (
n .GT. 1)
THEN
848 if (n_st .GT.
n)
then
849 print *,
'inconsistency, n = ',
n,
', n_st = ', n_st
854 IF(
k(n_st,2).LT.91.OR.
k(n_st,2).GT.93)
go to 381
859 IF(frame.EQ.
'LAB')
THEN
865 IF(ntp.EQ.2) nftp=10+
nft(j_jtp,5)
868 IF(
k(
i,2).EQ.idstr)
THEN
870 IF (
k(
i,3) .LT. n_st)
THEN
884 if (
natt .GT. 130000)
THEN
895 &
k(
i,3).LT.n_st .OR.
896 & (
k(
k(
i,3),2) .EQ. idstr .AND.
897 &
k(
k(
i,3),3) .LT. n_st))
THEN
914 if ((abs(
vatt(
natt,3)) .gt. 0.00001) .and.
921 if (kparent .ne. 0)
then
925 rparent = sqrt(
vatt(kparent,1)**2 +
926 &
vatt(kparent,2)**2 +
927 &
vatt(kparent,3)**2)
928 IF (
r/rparent .LT. 0.85)
THEN
948 if (
natt .GT. 130000)
THEN
971 & .AND.
ihpr2(21).EQ.0)
THEN
972 IF(
ihpr2(10).NE.0)
WRITE(6,*)
'Energy not conserved, repeat event'