37 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
40 parameter(conv=.38935d0)
41 parameter(pi=3.141592654d0,
45 parameter(thousa = 1000.d0)
48 COMMON /outlev/ioutpo,ioutpa,iouxev,ioucol
51 COMMON /pomtyp/ipim,icon,isig,lmax,mmax,
nmax,difel,difnu
52 common/pompar/alfa,alfap,
a,c,ak
53 COMMON /sigma/sigsof,bs,zsof,sighar,bh,zhar,sigtrp,bt,ztrp,
57 CHARACTER*8 projty,targty
60 COMMON /user1/
title,projty,targty
61 COMMON /user2/cmener,sdfrac,ptlar,istruf,isingd,idubld
63 COMMON /strufu/istrum,istrut
65 common/collis/
s,ijproj,ijtar,ptthr,ptthr2,iophrd,ijprlu,ijtalu
66 COMMON /haqqap/ aqqal,aqqpd,nqqal,nqqpd
70 dimension xsqsj(21),xxhhj4(21)
75 DATA xsqsj/0.005,0.01,0.02,0.035,0.053,
76 * 0.1,0.2,0.35,0.54,1.,2.,5.,
77 *10.,20.,40.,100.,200.,400.,1000.,2000.,4000./
80 DATA sqs/1.,2.,3.,4.,5.,10.,20.,30.,40.,100.,200.,500.,1000./
89 go to(10,20,30,40,50,60,70,80,90,100),isig
92 WRITE(6,*)
' This value of ISIG no longer available ISIG=',isig
98 WRITE(6,*)
' This value of ISIG no longer available ISIG=',isig
103 WRITE(6,*)
' This value of ISIG no longer available ISIG=',isig
110 WRITE(6,*)
' This value of ISIG no longer available ISIG=',isig
117 WRITE(6,*)
' This value of ISIG no longer available ISIG=',isig
124 WRITE(6,*)
' This value of ISIG no longer available ISIG=',isig
131 WRITE(6,*)
' This value of ISIG no longer available ISIG=',isig
136 WRITE(6,*)
' This value of ISIG no longer available ISIG=',isig
140 WRITE(6,*)
' This value of ISIG no longer available ISIG=',isig
169 IF(abs(ptthr-three).LT.eps)
THEN
170 WRITE(6,*)
' PTTHR=3. not available in dpmjet25'
171 WRITE(6,*)
' WARNING: no model parameter set available'
172 WRITE(6,*)
' for this combination of PTCUT and ISTRUF'
173 WRITE(6,*)
' (initialization using default values)'
184 IF(abs(ptthr-two).LT.eps)
THEN
185 WRITE(6,*)
' PTTHR=2. not available in dpmjet25'
186 WRITE(6,*)
' WARNING: no model parameter set available'
187 WRITE(6,*)
' for this combination of PTCUT and ISTRUF'
188 WRITE(6,*)
' (initialization using default values)'
205 WRITE(6,*)
' ISTRUT=1 (PTTHR=2.1+0.15*(LOG10(ECM/50.))**3)',
206 *
'not available in dpmjet25'
207 ptthr=2.1+0.15*(log10(ecm/50.))**3
209 WRITE(6,*)
' WARNING: no model parameter set available'
210 WRITE(6,*)
' for this combination of PTCUT and ISTRUF'
211 WRITE(6,*)
' (initialization using default values)'
231 ptthr=2.5+0.12*(log10(ecm/50.))**3
233 IF( istruf.EQ.9 )
THEN
234 WRITE(6,*)
' ISTRUT=2 (PTTHR=2.5+0.12*(LOG10(ECM/50.))**3)',
235 *
'and ISTRUF= ',istruf ,
' not available in dpmjet25'
237 ELSEIF( istruf.EQ.10 )
THEN
238 WRITE(6,*)
' ISTRUT=2 (PTTHR=2.5+0.12*(LOG10(ECM/50.))**3)',
239 *
'and ISTRUF= ',istruf ,
' not available in dpmjet25'
241 ELSEIF( istruf.EQ.11 )
THEN
242 WRITE(6,*)
' ISTRUT=2 (PTTHR=2.5+0.12*(LOG10(ECM/50.))**3)',
243 *
'and ISTRUF= ',istruf ,
' not available in dpmjet25'
245 ELSEIF( istruf.EQ.12 )
THEN
246 WRITE(6,*)
' ISTRUT=2 (PTTHR=2.5+0.12*(LOG10(ECM/50.))**3)',
247 *
'and ISTRUF= ',istruf ,
' not available in dpmjet25'
249 ELSEIF( istruf.EQ.13 )
THEN
250 WRITE(6,*)
' ISTRUT=2 (PTTHR=2.5+0.12*(LOG10(ECM/50.))**3)',
251 *
'and ISTRUF= ',istruf ,
' not available in dpmjet25'
253 ELSEIF( istruf.EQ.14 )
THEN
254 WRITE(6,*)
' ISTRUT=2 (PTTHR=2.5+0.12*(LOG10(ECM/50.))**3)',
255 *
'and ISTRUF= ',istruf ,
' not available in dpmjet25'
257 ELSEIF( istruf.EQ.15 )
THEN
258 WRITE(6,*)
' ISTRUT=2 (PTTHR=2.5+0.12*(LOG10(ECM/50.))**3)',
259 *
'and ISTRUF= ',istruf ,
' not available in dpmjet25'
262 ELSEIF( istruf.EQ.16 )
THEN
263 WRITE(6,*)
' ISTRUT=2 (PTTHR=2.5+0.12*(LOG10(ECM/50.))**3)',
264 *
'and ISTRUF= ',istruf ,
' not available in dpmjet25'
267 ELSEIF( istruf.EQ.17 )
THEN
268 WRITE(6,*)
' ISTRUT=2 (PTTHR=2.5+0.12*(LOG10(ECM/50.))**3)',
269 *
'and ISTRUF= ',istruf ,
' not available in dpmjet25'
271 ELSEIF( istruf.EQ.18 )
THEN
272 WRITE(6,*)
' ISTRUT=2 (PTTHR=2.5+0.12*(LOG10(ECM/50.))**3)',
273 *
'and ISTRUF= ',istruf ,
' not available in dpmjet25'
275 ELSEIF( istruf.EQ.19 )
THEN
276 WRITE(6,*)
' ISTRUT=2 (PTTHR=2.5+0.12*(LOG10(ECM/50.))**3)',
277 *
'and ISTRUF= ',istruf ,
' not available in dpmjet25'
279 ELSEIF( istruf.EQ.20 )
THEN
280 WRITE(6,*)
' ISTRUT=2 (PTTHR=2.5+0.12*(LOG10(ECM/50.))**3)',
281 *
'and ISTRUF= ',istruf ,
' not available in dpmjet25'
284 ELSEIF( istruf.EQ.21 )
THEN
293 ELSEIF( istruf.EQ.22 )
THEN
302 ELSEIF( istruf.EQ.23 )
THEN
312 WRITE(6,*)
' WARNING: no model parameter set available'
313 WRITE(6,*)
' for this combination of PTCUT and ISTRUF'
314 WRITE(6,*)
' (initialization using default values)'
344 sigsof=
a*
s**(alfa-1.)
350 IF(istruf.EQ.21)ak=2.
353 * sighar=ak*0.1*(
s-2450.)**0.35
354 IF(ecm.GE.thousa*xsqsj(2))
THEN
357 IF(ecm.LT.xsqsj(iii)*thousa.AND.
358 * ecm.GE.thousa*xsqsj(i))
THEN
359 dsq=ecm-thousa*xsqsj(i)
360 ddsq=thousa*(xsqsj(iii)-xsqsj(i))
361 dhs=(xxhhj4(iii)-xxhhj4(i))
362 sighar=ak*(xxhhj4(i)+dhs*dsq/ddsq)*0.5
378 bsdca=bsdoca+2.*alsca*alns
379 sigtrp=g3ca*gaca*
log(
s/10.)/(8.*3.14*bsdca)
380 IF (sigtrp.LT.0.d0)sigtrp=0.01
383 alo1sq=(
log(
s/400.))**2
384 alo2sq=(
log(25./
s))**2
385 alo3sq=(
log(5./20.))**2
386 sigloo=
a*gaca**2*(alo1sq+alo2sq-2.*alo3sq)/(32.*3.14*bddca)
393 WRITE(6,
'(2(/1X,A))')
'SELECTED PARAMETERS:',
394 &
'===================='
395 WRITE(6,
'(1X,A,E12.3)')
' ALFA ',alfa
396 WRITE(6,
'(1X,A,E12.3)')
' ALFAP ',alfap
397 WRITE(6,
'(1X,A,E12.3)')
' A ',
a
398 WRITE(6,
'(1X,A,2E12.3)')
' BS,BSOO',bs,bsoo*conv
399 WRITE(6,
'(1X,A,2E12.3)')
' BH,BHOO',bh,bhoo*conv
400 WRITE(6,
'(1X,A,E12.3)')
' GACA ',gaca
401 WRITE(6,
'(1X,A,E12.3,/)')
' AK ',ak
426 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
429 CHARACTER*8 projty,targty
432 COMMON /user1/
title,projty,targty
433 COMMON /user2/cmener,sdfrac,ptlar,istruf,isingd,idubld
435 common/collis/
s,ijproj,ijtar,ptthr,ptthr2,iophrd,ijprlu,ijtalu
436 COMMON /strufu/istrum,istrut
441 parameter(epsil=1.
d-4,
446 & 0.000000
e+00,0.137854
e-04, .02, .13, .37, 1.32,
447 & 3.88, 8.02, 13.15, 24.32, 43.43, 79.69, 113.13,
448 & 147.5, 180.47, 221.01, 250.37,
449 & 279.4, 320.1, 349.6, 381.6,
451 & .000000
e+00, .494767
e-05, .02, .14, .41,
452 & 1.48, 4.17, 7.92, 11.90, 19.03, 28.59, 42.36,
453 & 52.78, 62.86, 72.65, 85.61, 95.97,
454 & 96., 96., 96., 96.,
457 & 0.517461
e-05, .02, .14, .42, 1.49, 4.14,
458 & 7.87, 11.93, 19.58, 30.67, 48.39, 63.08,
459 & 78.1, 93.28, 114.33, 132.24,
460 & 133., 133., 133., 133.,
463 & 0.717097
e-05, .03, .19, .54, 1.91, 5.33, 10.11,
464 & 16.16, 24.21, 36.41, 54.21, 67.92, 81.44,
465 & 94.81,112.9, 127.63,
466 & 128., 128., 128., 128.,
469 & 0.761464
e-05, .02, .17, .47, 1.56, 4.19,
470 & 7.76, 11.48, 18.11, 26.97, 39.82, 49.86, 59.35,
471 & 68.88, 81.65, 91.94,
472 & 92., 92., 92., 92.,
475 & .620779
e-05, .02, .12, .34, 1.19, 3.27,
476 & 6.16, 9.27, 14.99, 23.2, 36.85, 49.45,
477 & 64.43, 82.38, 112.06, 140.36,
478 & 141., 141., 141., 141.,
481 & .620779
e-05, .01, .05, .14, 0.55, 1.87,
482 & 4.29, 7.49, 14.81, 27.8, 55.99, 77.49,
483 & 105.98,138.48, 189.33, 236.37,
484 & 294., 395., 496., 629.,
487 & .620779
e-05, .01, .10, .31, 1.16, 3.76,
488 & 8.31, 14.16, 27.11, 49.3, 90.93,129.77,
489 & 174.16,223.83, 300.20, 370.00,
490 & 455., 600., 746., 936.,
493 & .620779
e-05, .01, .08, .27, 1.17, 4.15,
494 & 9.60, 16.75, 32.88, 61.1,125.98,169.87,
495 & 233.75,308.22, 426.95, 537.90,
496 & 673., 898., 1112., 1379./
499 IF( abs(ptthr-three).LT.epsil )
THEN
500 WRITE(6,*)
' ERROR RDXSEC: invalid pdf No. ',istruf
502 ELSEIF( abs(ptthr-two).LT.epsil )
THEN
503 WRITE(6,*)
' ERROR RDXSEC: invalid pdf No. ',istruf
505 ELSEIF( istrut.EQ.1 )
THEN
506 WRITE(6,*)
' ERROR RDXSEC: invalid pdf No. ',istruf
508 ELSEIF( istrut.EQ.2 )
THEN
509 IF( (istruf.GE.9).AND.(istruf.LE.20) )
THEN
510 WRITE(6,*)
' ERROR RDXSEC: invalid pdf No. ',istruf
512 ELSEIF( (istruf.GE.21).AND.(istruf.LE.23) )
THEN
514 nxs = 21*(istruf-15)+i
518 WRITE(6,*)
' ERROR RDXSEC: invalid pdf No. ',istruf
522 WRITE(6,*)
' ERROR RDXSEC: PTCUT ',ptthr,
' not supported ***'
550 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
552 parameter(
zero=0.d0,
one=1.d0)
553 parameter(conv=0.38935d0)
554 parameter(pi=3.141592654d0)
555 parameter(mxpa25=30,mxpa26=mxpa25+1,mxpa13=13)
557 parameter(mxpa50=250,mxpa51=mxpa50+1)
564 parameter(mxlmn=5,lsqrt=.true.)
565 DOUBLE PRECISION dtiny
569 parameter(tiny=1.2
d-38,dtiny=1.
d-70,tin=1.
d-22,tinexp=-700.d0)
572 parameter(tinyex = -48.d0)
575 COMMON /polmn/plmn(0:mxpa25,0:mxpa50,0:mxpa13),
576 * plmncu(0:mxpa25,0:mxpa50,0:mxpa13)
577 COMMON /polmn0/pdifr,phard,psoft,alfah,betah,
578 * sigtot,sigqel,sigel,sigine,sighin,sigd,sigdd
581 COMMON /pomtyp/ipim,icon,isig,lmax,mmax,
nmax,difel,difnu
582 COMMON /sigma/sigsof,bs,zsof,sighar,bh,zhar,sigtrp,bt,ztrp,
584 common/pompar/alfa,alfap,
a,c,ak
585 COMMON /singdi/silmsd,sigdi
587 COMMON /outlev/ioutpo,ioutpa,iouxev,ioucol
590 CHARACTER*8 projty,targty
593 COMMON /user1/
title,projty,targty
594 COMMON /user2/cmener,sdfrac,ptlar,istruf,isingd,idubld
596 DOUBLE PRECISION sig,sigp,sigm,sign,sigo
597 dimension sig(0:mxpa25,0:mxpa50,0:mxpa13),
598 &sigp(0:mxpa25,0:mxpa50,0:mxpa13),sigm(0:mxpa25,0:mxpa50,0:mxpa13),
599 &sign(0:mxpa25,0:mxpa50,0:mxpa13),sigo(0:mxpa25,0:mxpa50,0:mxpa13)
600 dimension xpnt(mxpa96),wght(mxpa96),
601 &ssoft(0:mxpa25),shard(0:mxpa50),strpl(0:mxpa25)
603 dimension fak(0:mxpa13),cmbin(0:mxpa13,0:mxpa13)
605 & expsop,expsoh,exmsop,exmsoh,exnsop,exnsoh,exosop,exosoh,
606 & exphap,exphah,exmhap,exmhah,exnhap,exnhah,exohap,exohah,
607 & exptrp,exptrh,exmtrp,exmtrh,exntrp,exntrh,exotrp,exotrh,
608 & explop,exploh,exmlop,exmloh,exnlop,exnloh,exolop,exoloh,
609 & expexh,exmexh,exnexh,exoexh,expexp,exmexp,exnexp,exoexp
610 DOUBLE PRECISION fapsof,famsof,fansof,faosof,
611 & faphar,famhar,fanhar,faohar,
612 & faptrp,famtrp,fantrp,faotrp,
613 & faploo,famloo,fanloo,faoloo
614 DOUBLE PRECISION denom,denomi,xpntk,wghtk,rmxlmn
615 & ,sigsum,siginl,sighri
620 IF(icon/10.EQ.4)
nmax=2
621 IF(icon/10.EQ.5)
nmax=1
624 IF(
nmax.GT.mxpa13)
THEN
625 WRITE(6,*)
' arrays limit NMAX set to' , mxpa13
628 IF( mmax.GT.mxpa50)
THEN
629 WRITE(6,*)
' arrays limit MMAX set to' , mxpa50
632 IF( lmax.GT.mxpa25)
THEN
633 WRITE(6,*)
' arrays limit LMAX set to' , mxpa25
641 nnmaxi=(mxpa13-nmaxi)/(1+nmaxi)
644 ELSEIF(
nmax.EQ.2)
THEN
648 ELSEIF(
nmax.EQ.1)
THEN
652 ELSEIF(
nmax.LE.0)
THEN
671 IF(icon/10.EQ.4)
nmax=2
672 IF(icon/10.EQ.5)
nmax=1
725 IF(alalam.LE.1.
d-2)
THEN
734 IF(ecm.LT.2000.d0)
THEN
744 IF(ioutpo.GE.0)
WRITE (6,*)
' ALAM,REDU= ',alam,redu
750 zharp=(1.+alam)**2*zhar
751 zsofp=(1.+alam)**2*zsof
752 zloop=(1.+alam)**2*zloo * redu
753 zharm=(1.-alam)**2*zhar
754 zsofm=(1.-alam)**2*zsof
755 zloom=(1.-alam)**2*zloo * redu
756 zharn=(1.-alam**2)*zhar
757 zsofn=(1.-alam**2)*zsof
758 zloon=(1.-alam**2)*zloo * redu
759 zharo=(1.-alam**2)*zhar
760 zsofo=(1.-alam**2)*zsof
761 zlooo=(1.-alam**2)*zloo * redu
763 ztrpp=(1.+alam)**3*ztrp * redu
764 ztrpm=(1.-alam)**3*ztrp * redu
765 ztrpn=(1.-alam**2)*(1.+alam)*ztrp * redu
766 ztrpo=(1.-alam**2)*(1.-alam)*ztrp * redu
777 fapsof=fapsof*
sqrt( zsofp/float(l))
778 famsof=famsof*
sqrt( zsofm/float(l))
779 fansof=fansof*
sqrt( zsofn/float(l))
780 faosof=faosof*
sqrt( zsofo/float(l))
781 IF ( fapsof .LT.dtiny ) fapsof=0.
782 IF ( famsof .LT.dtiny ) famsof=0.
783 IF ( fansof .LT.dtiny ) fansof=0.
784 IF ( faosof .LT.dtiny ) faosof=0.
785 ELSEIF(.NOT.lsqrt)
THEN
786 fapsof=fapsof*zsofp/float(l)
787 famsof=famsof*zsofm/float(l)
788 fansof=fansof*zsofn/float(l)
789 faosof=faosof*zsofo/float(l)
790 IF (fapsof.LT.dtiny ) fapsof=0.
791 IF (famsof.LT.dtiny ) famsof=0.
792 IF (fansof.LT.dtiny ) fansof=0.
793 IF (faosof.LT.dtiny ) faosof=0.
803 faphar=faphar*
sqrt( zharp/float(m) )
804 famhar=famhar*
sqrt( zharm/float(m) )
805 fanhar=fanhar*
sqrt( zharn/float(m) )
806 faohar=faohar*
sqrt( zharo/float(m) )
807 IF ( fapsof*faphar .LT.dtiny ) faphar=0.
808 IF ( famsof*famhar .LT.dtiny ) famhar=0.
809 IF ( fansof*fanhar .LT.dtiny ) fanhar=0.
810 IF ( faosof*faohar .LT.dtiny ) faohar=0.
811 ELSEIF(.NOT.lsqrt)
THEN
812 faphar=faphar*zharp/float(m)
813 famhar=famhar*zharm/float(m)
814 fanhar=fanhar*zharn/float(m)
815 faohar=faohar*zharo/float(m)
816 IF (fapsof*faphar.LT.dtiny ) faphar=0.
817 IF (famsof*famhar.LT.dtiny ) famhar=0.
818 IF (fansof*fanhar.LT.dtiny ) fanhar=0.
819 IF (faosof*faohar.LT.dtiny ) faohar=0.
828 faptrp=-faptrp*
sqrt( ztrpp/float(
n) )
829 famtrp=-famtrp*
sqrt( ztrpm/float(
n) )
830 fantrp=-fantrp*
sqrt( ztrpn/float(
n) )
831 faotrp=-faotrp*
sqrt( ztrpo/float(
n) )
832 IF (abs(faptrp*fapsof*faphar).LT.dtiny ) faptrp=0.
833 IF (abs(famtrp*famsof*famhar).LT.dtiny ) famtrp=0.
834 IF (abs(fantrp*fansof*fanhar).LT.dtiny ) fantrp=0.
835 IF (abs(faotrp*faosof*faohar).LT.dtiny ) faotrp=0.
836 ELSEIF(.NOT.lsqrt)
THEN
837 faptrp=-faptrp*ztrpp/float(
n)
838 famtrp=-famtrp*ztrpm/float(
n)
839 fantrp=-fantrp*ztrpn/float(
n)
840 faotrp=-faotrp*ztrpo/float(
n)
841 IF (abs(faptrp*fapsof*faphar).LT.dtiny ) faptrp=0.
842 IF (abs(famtrp*famsof*famhar).LT.dtiny ) famtrp=0.
843 IF (abs(fantrp*fansof*fanhar).LT.dtiny ) fantrp=0.
844 IF (abs(faotrp*faosof*faohar).LT.dtiny ) faotrp=0.
850 IF(
nmax.LE.2 .AND.
n.EQ.1 .AND. nn.EQ.1 ) go to 750
857 faploo=-faploo*
sqrt( zloop/float(nn))
858 famloo=-famloo*
sqrt( zloom/float(nn))
859 fanloo=-fanloo*
sqrt( zloon/float(nn))
860 faoloo=-faoloo*
sqrt( zlooo/float(nn))
861 IF(abs(faploo*faptrp*fapsof*faphar).LT.dtiny )faploo=0.
862 IF(abs(famloo*famtrp*famsof*famhar).LT.dtiny )famloo=0.
863 IF(abs(fanloo*fantrp*fansof*fanhar).LT.dtiny )fanloo=0.
864 IF(abs(faoloo*faotrp*faosof*faohar).LT.dtiny )faoloo=0.
865 ELSEIF(.NOT.lsqrt)
THEN
866 faploo=-faploo*zloop/float(nn)
867 famloo=-famloo*zloom/float(nn)
868 fanloo=-fanloo*zloon/float(nn)
869 faoloo=-faoloo*zlooo/float(nn)
870 IF(abs(faploo*faptrp*fapsof*faphar).LT.dtiny )faploo=0.
871 IF(abs(famloo*famtrp*famsof*famhar).LT.dtiny )famloo=0.
872 IF(abs(fanloo*fantrp*fansof*fanhar).LT.dtiny )fanloo=0.
873 IF(abs(faoloo*faotrp*faosof*faohar).LT.dtiny )faoloo=0.
877 IF(l.EQ.0.AND.m.EQ.0.AND.
n.EQ.0.AND.nn.EQ.0) go to 750
879 denom=dble(m)/dble(bh)+dble(l)/dble(bs)+dble(
n)/dble(bt)
885 IF ( (m+l+
n+nn) .LE. mxlmn )
THEN
890 rmxlmn = dble(m+l+
n+nn) /dble(mxlmn)
892 wghtk= dble(wght(k)) * xpntk**(rmxlmn-1.)
893 denomi= denom / rmxlmn
896 exposp=-zsofp*xpntk**(1./(denomi*dble(bs)))
897 exposm=-zsofm*xpntk**(1./(denomi*dble(bs)))
898 exposn=-zsofn*xpntk**(1./(denomi*dble(bs)))
899 exposo=-zsofo*xpntk**(1./(denomi*dble(bs)))
901 expohp=-zharp*xpntk**(1./(denomi*dble(bh)))
902 expohm=-zharm*xpntk**(1./(denomi*dble(bh)))
903 expohn=-zharn*xpntk**(1./(denomi*dble(bh)))
904 expoho=-zharo*xpntk**(1./(denomi*dble(bh)))
906 expotp=+ztrpp*xpntk**(1./(denomi*dble(bt)))
907 expotm=+ztrpm*xpntk**(1./(denomi*dble(bt)))
908 expotn=+ztrpn*xpntk**(1./(denomi*dble(bt)))
909 expoto=+ztrpo*xpntk**(1./(denomi*dble(bt)))
911 expolp=+zloop*xpntk**(1./(denomi*dble(bt)))
912 expolm=+zloom*xpntk**(1./(denomi*dble(bt)))
913 expoln=+zloon*xpntk**(1./(denomi*dble(bt)))
914 expolo=+zlooo*xpntk**(1./(denomi*dble(bt)))
918 *
' K=',k,
' EXPOS/H=',exposp,expohp,
' DENOMI/BH=',denomi,bh
920 *
' K=',k,
' EXPOS/H=',exposm,expohm,
' DENOMI/BH=',denomi,bh
922 *
' K=',k,
' EXPOS/H=',exposn,expohn,
' DENOMI/BH=',denomi,bh
924 *
' K=',k,
'XPNT=',xpntk,
'WGHT=',wghtk,
'DENO=',denomi
930 IF( exposp .GT. tinexp)
THEN
931 expsoh=
exp(0.5d00*exposp)
932 exmsoh=
exp(0.5d00*exposm)
933 exnsoh=
exp(0.5d00*exposn)
934 exosoh=
exp(0.5d00*exposo)
946 IF( expohp .GT. tinexp)
THEN
947 exphah=
exp(0.5d00*expohp)
948 exmhah=
exp(0.5d00*expohm)
949 exnhah=
exp(0.5d00*expohn)
950 exohah=
exp(0.5d00*expoho)
963 IF( expotp .GT. tinexp)
THEN
964 exptrh=
exp(0.5d00*expotp)
965 exmtrh=
exp(0.5d00*expotm)
966 exntrh=
exp(0.5d00*expotn)
967 exotrh=
exp(0.5d00*expoto)
978 ELSEIF(
nmax.LE.2)
THEN
979 exptrh= 1 + 0.5*expotp
980 exmtrh= 1 + 0.5*expotm
981 exntrh= 1 + 0.5*expotn
982 exotrh= 1 + 0.5*expoto
990 IF( expolp .GT. tinexp)
THEN
991 exploh=
exp(0.5d00*expolp)
992 exmloh=
exp(0.5d00*expolm)
993 exnloh=
exp(0.5d00*expoln)
994 exoloh=
exp(0.5d00*expolo)
1005 ELSEIF(
nmax.EQ.2 )
THEN
1006 exploh= 1 + 0.5*expolp
1007 exmloh= 1 + 0.5*expolm
1008 exnloh= 1 + 0.5*expoln
1009 exoloh= 1 + 0.5*expolo
1014 ELSEIF(
nmax.LE.1 )
THEN
1025 expexh = expsoh *exphah *exptrh *exploh
1026 exmexh = exmsoh *exmhah *exmtrh *exmloh
1027 exnexh = exnsoh *exnhah *exntrh *exnloh
1028 exoexh = exosoh *exohah *exotrh *exoloh
1029 expexp = expsop *exphap *exptrp *explop
1030 exmexp = exmsop *exmhap *exmtrp *exmlop
1031 exnexp = exnsop *exnhap *exntrp *exnlop
1032 exoexp = exosop *exohap *exotrp *exolop
1034 IF( (
nmax.LE.2 .AND.
n.EQ.1 ) .OR.
1035 * (
nmax.EQ.2 .AND. nn.EQ.1 ) .OR.
1037 sigp(l,m,nnn)=sigp(l,m,nnn)+expsop *exphap *wghtk
1038 sigm(l,m,nnn)=sigm(l,m,nnn)+exmsop *exmhap *wghtk
1039 sign(l,m,nnn)=sign(l,m,nnn)+exnsop *exnhap *wghtk
1040 sigo(l,m,nnn)=sigo(l,m,nnn)+exosop *exohap *wghtk
1042 sigp(l,m,nnn)=sigp(l,m,nnn)+expexp*wghtk
1043 sigm(l,m,nnn)=sigm(l,m,nnn)+exmexp*wghtk
1044 sign(l,m,nnn)=sign(l,m,nnn)+exnexp*wghtk
1045 sigo(l,m,nnn)=sigo(l,m,nnn)+exoexp*wghtk
1050 IF(l.EQ.1.AND.m.EQ.0.AND.
n.EQ.0.AND.nn.EQ.0)
THEN
1052 IF ( (m+l+
n+nn) .GT. mxlmn )
THEN
1053 WRITE(6,*)
' MXLMN too low ' , mxlmn,m,l,
n,nn
1056 wghfac = wghtk/xpntk *pi4/denomi
1057 IF (
nmax.GE.3 )
THEN
1058 sigele = sigele + wghfac *
1059 * 0.0625*( 1.-expexh + 1.-exmexh
1060 * +1.-exnexh + 1.-exoexh )**2
1062 silmsd = silmsd + wghfac *
1063 * 0.125*(expexh -exmexh)**2
1064 silmdd = silmdd + wghfac *
1065 * 0.0625*(expexh+exmexh-exnexh-exoexh)**2
1066 ELSEIF(
nmax.LE.2 )
THEN
1067 sigele = sigele + wghfac *
1068 * 0.0625*( ( 1.-expexh + 1.-exmexh
1069 * +1.-exnexh + 1.-exoexh
1072 * +(1.-exptrh)*(1-exploh) *expsoh *exphah
1073 * +(1.-exmtrh)*(1-exmloh) *exmsoh *exmhah
1074 * +(1.-exntrh)*(1-exnloh) *exnsoh *exnhah
1075 * +(1.-exotrh)*(1-exoloh) *exosoh *exohah)**2
1077 * - ( (2.-exptrh-exploh) *expsoh *exphah
1078 * +(2.-exmtrh-exmloh) *exmsoh *exmhah
1079 * +(2.-exntrh-exnloh) *exnsoh *exnhah
1080 * +(2.-exotrh-exoloh) *exosoh *exohah ) **2)
1082 silmsd = silmsd + wghfac *
1083 * 0.125*( ( expexh -exmexh
1085 * -(1.-exptrh)*(1-exploh) *expsoh*exphah
1086 * +(1.-exmtrh)*(1-exmloh) *exmsoh*exmhah )**2
1088 * -( (2.-exptrh-exploh) *expsoh *exphah
1089 * -(2.-exmtrh-exmloh) *exmsoh*exmhah ) **2)
1090 silmdd = silmdd + wghfac *
1091 * 0.0625*( (expexh+exmexh-exnexh-exoexh
1093 * -(1.-exptrh)*(1-exploh) *expsoh *exphah
1094 * -(1.-exmtrh)*(1-exmloh) *exmsoh *exmhah
1095 * +(1.-exntrh)*(1-exnloh) *exnsoh *exnhah
1096 * +(1.-exotrh)*(1-exoloh) *exosoh *exohah)**2
1098 * - ( (2.-exptrh-exploh) *expsoh *exphah
1099 * +(2.-exmtrh-exmloh) *exmsoh *exmhah
1100 * -(2.-exntrh-exnloh) *exnsoh *exnhah
1101 * -(2.-exotrh-exoloh) *exosoh *exohah ) **2)
1103 IF(
nmax.NE.2 )
THEN
1104 sigtot=sigtot+2.*wghfac*
1105 * 0.25*( 1.-expexh + 1.-exmexh +
1106 * 1.-exnexh + 1.-exoexh )
1107 sigine = sigine + wghfac *
1108 * 0.25*( 1.-expexp + 1.-exmexp +
1109 * 1.-exnexp + 1.-exoexp )
1111 sigsin=sigsin+ wghfac *
1112 * 0.25*( (exphap-expexp)
1115 * +(exohap-exoexp) )
1117 sighin=sighin+ wghfac*
1118 * 0.25*( 1.-exphap + 1.-exmhap +
1119 * 1.-exnhap + 1.-exohap )
1120 ELSEIF(
nmax.EQ.2 )
THEN
1121 sigtot=sigtot+2.*wghfac*
1122 * 0.25*( 1.-expexh + 1.-exmexh +
1123 * 1.-exnexh + 1.-exoexh
1126 * +(1.-exptrh)*(1-exploh) *expsoh *exphah
1127 * +(1.-exmtrh)*(1-exmloh) *exmsoh *exmhah
1128 * +(1.-exntrh)*(1-exnloh) *exnsoh *exnhah
1129 * +(1.-exotrh)*(1-exoloh) *exosoh *exohah )
1130 sigine = sigine + wghfac *
1131 * 0.25*( 1.-expexp + 1.-exmexp +
1132 * 1.-exnexp + 1.-exoexp
1135 * +(1.-exptrp)*(1-explop) *expsop *exphap
1136 * +(1.-exmtrp)*(1-exmlop) *exmsop *exmhap
1137 * +(1.-exntrp)*(1-exnlop) *exnsop *exnhap
1138 * +(1.-exotrp)*(1-exolop) *exosop *exohap )
1140 sigsin=sigsin+ wghfac *
1141 * 0.25*( (exphap-expexp)
1146 * +(1.-exptrp)*(1-explop) *expsop *exphap
1147 * +(1.-exmtrp)*(1-exmlop) *exmsop *exmhap
1148 * +(1.-exntrp)*(1-exnlop) *exnsop *exnhap
1149 * +(1.-exotrp)*(1-exolop) *exosop *exohap)
1151 sighin=sighin+ wghfac*
1152 * 0.25*( 1.-exphap + 1.-exmhap +
1153 * 1.-exnhap + 1.-exohap )
1157 IF(
nmax.GE.3 )
THEN
1158 sighmd=sighmd + wghfac *
1159 * 0.25*( (exptrp-1.)*expexp
1160 * +(exmtrp-1.)*exmexp
1161 * +(exntrp-1.)*exnexp
1162 * +(exotrp-1.)*exoexp)
1164 sighmd=sighmd + wghfac *
1165 * 0.25*( expotp * expsop*exphap
1166 * +expotm * exmsop*exmhap
1167 * +expotn * exnsop*exnhap
1168 * +expoto * exosop*exohap )
1170 IF(
nmax.GE.3 )
THEN
1171 sihmdd=sihmdd + wghfac *
1172 * 0.25*( (explop-1.)*expexp
1173 * +(exmlop-1.)*exmexp
1174 * +(exnlop-1.)*exnexp
1175 * +(exolop-1.)*exoexp)
1176 ELSEIF (
nmax.EQ.2 )
THEN
1177 sihmdd=sihmdd + wghfac *
1178 * 0.25*( expolp * expsop*exphap
1179 * +expolm * exmsop*exmhap
1180 * +expoln * exnsop*exnhap
1181 * +expolo * exosop*exohap )
1196 IF(abs(faphar*fapsof*faptrp*faploo*sigp(l,m,nnn)).LT.dtiny)
1200 sigp(l,m,nnn)=faphar*fapsof*faptrp*faploo*sigp(l,m,nnn)
1201 * * abs(faphar*fapsof*faptrp*faploo)/denomi*pi4
1202 ELSEIF(.NOT.lsqrt)
THEN
1203 sigp(l,m,nnn)=faphar*fapsof*faptrp*faploo*sigp(l,m,nnn)
1206 IF(abs(famhar*famsof*famtrp*famloo*sigm(l,m,nnn)).LT.dtiny)
1210 sigm(l,m,nnn)=famhar*famsof*famtrp*famloo*sigm(l,m,nnn)
1211 * * abs( famhar*famsof*famtrp*famloo)/denomi*pi4
1212 ELSEIF(.NOT.lsqrt)
THEN
1213 sigm(l,m,nnn)=famhar*famsof*famtrp*famloo*sigm(l,m,nnn)
1216 IF(abs(fanhar*fansof*fantrp*fanloo*sign(l,m,nnn)).LT.dtiny)
1220 sign(l,m,nnn)=fanhar*fansof*fantrp*fanloo*sign(l,m,nnn)
1221 * * abs( fanhar*fansof*fantrp*fanloo)/denomi*pi4
1222 ELSEIF(.NOT.lsqrt)
THEN
1223 sign(l,m,nnn)=fanhar*fansof*fantrp*fanloo*sign(l,m,nnn)
1226 IF(abs(faohar*faosof*faotrp*faoloo*sigo(l,m,nnn)).LT.dtiny)
1230 sigo(l,m,nnn)=faohar*faosof*faotrp*faoloo*sigo(l,m,nnn)
1231 * * abs( faohar*faosof*faotrp*faoloo/denomi)*pi4
1232 ELSEIF(.NOT.lsqrt)
THEN
1233 sigo(l,m,nnn)=faohar*faosof*faotrp*faoloo*sigo(l,m,nnn)
1244 nnnmax=nmaxi+(nmaxi+1)*nnmaxi
1248 sig(l,m,nnn)=(sigp(l,m,nnn)+sigm(l,m,nnn)+
1249 * sign(l,m,nnn)+sigo(l,m,nnn) )/4.
1260 IF(
nmax.LE.2 .AND.
n.EQ.1 .AND. nn.EQ.1 ) go to 4
1262 sigsum=sigsum + sig(l,m,nnn)
1264 IF(m.EQ.0.OR.l.GE.1) sigsme=sigsme + sig(l,m,nnn)
1265 shard(m)=shard(m)+sig(l,m,nnn)
1266 ssoft(l)=ssoft(l)+sig(l,m,nnn)
1267 strpl(
n)=strpl(
n)+sig(l,m,nnn)
1268 siginl = siginl + sig(l,m,nnn)
1269 IF(m.GE.1) sighri = sighri + sig(l,m,nnn)
1270 IF(l.EQ.0.AND.m.EQ.0.AND.nn.EQ.0.AND.
n.GE.1)
THEN
1271 sigdi = sigdi + (-1)**
n*sig(l,m,nnn)
1272 ELSEIF(l.EQ.0.AND.m.EQ.0.AND.
n.EQ.0.AND.nn.GE.1)
THEN
1273 sigddi= sigddi + (-1)**nn*sig(l,m,nnn)
1279 siglmd=silmsd+silmdd
1280 sithmd=sighmd+sihmdd
1281 sigd = siglmd + sithmd
1282 slhmdd =
sqrt(abs(silmdd*sihmdd))
1283 sigdd= silmdd + sihmdd + slhmdd
1289 IF(lentry.EQ.1.AND.ioutpo.LE.1)
RETURN
1292 WRITE(6,*)
' --- properties of events ---'
1294 WRITE(6,*)
' Energy=',ecm
1296 WRITE(6,*)
' max.contributing soft/hard/diffr./doubl.diffr. cuts'
1297 WRITE(6,*)
' LMAXI= MMAXI= NMAXI= NNMAXI='
1298 WRITE(6,
'(15X,4I9)') lmaxi,mmaxi,nmaxi,nnmaxi
1299 WRITE(6,*)
' methode used: '
1300 WRITE(6,*)
' ISIG= ICON= IPIM= '
1301 WRITE(6,
'(15X,3I9)') isig,icon,ipim
1303 WRITE(6,*)
' --- bare cross section and eikonal constants ---'
1307 WRITE(6,*)
' ALFA =',alfa,
' ALFAP =',alfap,
' A =',
a
1308 WRITE(6,*)
' C =',c,
' AK =',ak
1309 WRITE(6,*)
' ALALAM =',alalam
1311 WRITE(6,*)
' SIGSOF=',sigsof,
' BS=',bs,
' ZSOF=',zsof
1312 WRITE(6,*)
' SIGHAR=',sighar,
' BH=',bh,
' ZHAR=',zhar
1313 WRITE(6,*)
' SIGTRP=',sigtrp,
' BT=',bt,
' ZTRP=',ztrp
1314 WRITE(6,*)
' SIGLOO=',sigloo,
' BT=',bt,
' ZLOO=',zloo
1316 WRITE(6,*)
' --- observable cross sections ---'
1318 WRITE(6,*)
' TOTAL X-SECTION = ',sigtot
1319 WRITE(6,*)
' ELASTIC X-SECTION = ',sigele
1320 WRITE(6,*)
' INELASTIC X-SECTION-LMD = ',sigine
1321 WRITE(6,*)
' INELASTIC X-SECTION = ',sigin
1322 WRITE(6,*)
' HARD INEL. X-SECTION = ',sighin
1324 WRITE(6,*)
' LOW MASS SING./DOUB.DIFFR.X-SECTION= ',silmsd,silmdd
1325 WRITE(6,*)
' => LOW MASS TOTAL DIFFRACTIV.X-SECTION= ',siglmd
1326 WRITE(6,*)
' HIGH MASS SING./DOUB.DIFFR.X-SECTION= ',sigdi,sigddi
1327 WRITE(6,*)
' => HIGH MASS TOTAL DIFFRACTIV.X-SECTION= ',sithmd
1328 WRITE(6,*)
' ESTIMAT.MIXED (LM+HM) DOUBL.DIFFRAC.X.SEC.= ',slhmdd
1330 WRITE(6,*)
' DIFFRACTIVE X-SECTION = ',sigd
1331 WRITE(6,*)
' DOUBLY DIFFRACTIVE X-SECT. =',sigdd
1334 IF(ioutpo.GE.0)
THEN
1335 WRITE(6,*)
' --- observ. x-sections, altern. calculated ---'
1336 WRITE(6,*)
' ELASTIC X-SECTION = ',sigel
1337 WRITE(6,*)
' INELASTIC X-SECTION-LMD = ',siginl
1338 WRITE(6,*)
' HARD INEL. X-SECTION= ',sighri
1339 WRITE(6,*)
' HIGH MASS SING./DOUB.DIFFR.X-SECT.=',sighmd,sihmdd
1340 WRITE(6,*)
' X-SECTION FOR (L,M,N,NN)= 1000 0100 0010 0001'
1341 WRITE(6,*)
' ',sig(1,0,0),sig(0,1,0)
1342 * ,sig(0,0,1),sig(0,0,2)
1346 IF(ioutpo.GE.2)
THEN
1349 IF( nmaxi.LT.2)nnmaxp=1
1353 48
WRITE(6,101)(sig(l,m,
n),m=0,7)
1356 50
WRITE(6,101)(sig(l,m,
n),m=8,15)
1359 &
' # CUT-POMERON SSOFT X-SECT. SHARD X-SECT.'
1361 58
WRITE (6,103)l,ssoft(l),shard(l)
1379 cmbin(i,j)=fak(i)/(fak(j)*fak(i-j))
1385 IF(icon.EQ.44.OR.icon.EQ.46.OR.icon.EQ.48.
1386 * or.icon.EQ.54)
THEN
1389 plmntm=sig(l,m,0)/(sigsum+tin)
1390 plmn(l,m,0) = plmntm + plmn(l,m,0)
1393 plmntm=sig(l,m,1)/(sigsum+tin)
1395 IF(l+2.LE.lmaxi)
THEN
1396 plmn(l+2,m,0) = (-2.)* plmntm + plmn(l+2,m,0)
1397 plmn(l+1,m,0) = 4. * plmntm + plmn(l+1,m,0)
1399 plmn(lmaxi,m,0) = (-2.)* plmntm + plmn(lmaxi,m,0)
1400 plmn(lmaxi,m,0) = 4. * plmntm + plmn(lmaxi,m,0)
1402 IF(l.EQ.0 .AND. m.EQ.0)
THEN
1403 plmn(l ,m,1) = (-1.)* plmntm + plmn(l ,m,1)
1405 plmn(l ,m,0) = (-1.)* plmntm + plmn(l ,m,0)
1408 plmntm=sig(l,m,2)/(sigsum+tin)
1410 IF(l+2.LE.lmaxi)
THEN
1411 plmn(l+2,m,0) = (-2.)* plmntm + plmn(l+2,m,0)
1412 plmn(l+1,m,0) = 4. * plmntm + plmn(l+1,m,0)
1414 plmn(lmaxi,m,0) = (-2.)* plmntm + plmn(lmaxi,m,0)
1415 plmn(lmaxi,m,0) = 4. * plmntm + plmn(lmaxi,m,0)
1417 IF(l.EQ.0 .AND. m.EQ.0)
THEN
1418 plmn(l ,m,2) = (-1.)* plmntm + plmn(l ,m,2)
1420 plmn(l ,m,0) = (-1.)* plmntm + plmn(l ,m,0)
1426 IF(
nmax.LE.2 .AND.
n.EQ.1 .AND. nn.EQ.1) go to 51
1430 plmntm=sig(l,m,nnn)/(sigsum+tin)
1435 DO 511 n1cut=0,
n-n0cut
1439 cmb1=cmbin(
n-n2cut,n1cut)
1443 DO 511 nn1cut=0,nn-nn0cut
1444 nn2cut=nn-nn0cut-nn1cut
1446 cmbn0=cmbin(nn,nn2cut)
1447 cmbn1=cmbin(nn-nn2cut,nn1cut)
1458 l2str=l2str + n1cut + nn1cut + n2cut + nn2cut
1461 nl2str= n2cut + nn2cut
1462 ELSEIF(
nmax.GE.3)
THEN
1464 l2str=l2str+n2cut+nn2cut
1466 IF((icon.EQ.26.OR.icon.EQ.36.OR.icon.EQ.46.OR.icon.EQ.56)
1467 & .AND. (l2str.GE.1.OR.m2str.GE.1))
THEN
1468 l2str=l2str + nl2str
1475 IF(l2str.GT.lmaxi) l2str=lmaxi
1476 IF(m2str.GT.lmaxi) m2str=lmaxi
1477 nnnstr =n2str +(nmaxi+1)*nn2str
1478 * +(nnmaxi+1)*(nmaxi+1)*nl2str
1479 IF(nnnstr.GT.mxpa13) nnnstr=mxpa13
1482 plmn(l2str,m2str,nnnstr) = plmntm
1483 * *cmb0*cmb1 * (-2)**n2cut * (4)**n1cut * (-1)**n0cut
1484 * *cmbn0*cmbn1*(-2)**nn2cut* (4)**nn1cut* (-1)**nn0cut
1485 & + plmn(l2str,m2str,nnnstr)
1492 IF(abs(tmmp-1.d0).GT..03d0)
THEN
1494 &
' NORMALISATION ERROR SUM PLM before LMD reatribution=',tmmp
1501 plmfac= (sigsum+tin) / (sigsum+tin +siglmd)
1502 plmn(0,0,1)= plmn(0,0,1) +
1503 & ( silmsd - slhmdd ) / (sigsum+tin)
1504 plmn(0,0,2)= plmn(0,0,2) +
1505 & ( silmdd + slhmdd ) / (sigsum+tin)
1523 IF(
nmax.LE.2 .AND.
n+nn+nl.GE.2) go to 6
1524 nnn =
n +(nmaxi+1)*nn +(nnmaxi+1)*(nmaxi+1)* nl
1527 IF(nl.EQ.0)tmmp1 = tmmp1 + sig(l,m,nnn)
1528 tmmp = tmmp + sig(l,m,nnn)
1529 plmn(l,m,nnn)=plmn(l,m,nnn) * plmfac
1530 tmp = tmp + plmn(l,m,nnn)
1532 IF(plmn(l,m,nnn).LT.-.000005d0)
1533 &
WRITE(6,*)
' 0>PLMN',plmn(l,m,nnn),l,m,
n,nn,nl
1534 avsofn=avsofn+plmn(l,m,nnn)*l
1535 avharn=avharn+plmn(l,m,nnn)*m
1536 avdifn=avdifn+plmn(l,m,nnn)*
n
1537 avddfn=avddfn+plmn(l,m,nnn)*nn
1538 avdlfn=avdlfn+plmn(l,m,nnn)*nl
1539 IF (m.EQ.0)psoft=psoft+plmn(l,m,nnn)
1542 IF(abs(tmp-1.d0).GT..01d0)
THEN
1544 &
' NORMALISATION ERROR SUM PLM before M reatribution=',tmp
1548 IF(abs(tmmp-1.d0).GT..01d0 .OR.abs(tmmp1-1.d0).GT..01d0)
THEN
1550 &
' NORMALISATION ERROR TMMP,TMMP1=',tmmp,tmmp1
1560 IF(
nmax.LE.2 .AND.
n+nn+nl.GE.2) go to 61
1561 nnn =
n +(nmaxi+1)*nn +(nnmaxi+1)*(nmaxi+1)* nl
1568 IF (l.EQ.0.AND.m.GE.1)
THEN
1569 plmn(1,m,nnn)=plmn(1,m,nnn)+plmn(0,m,nnn)
1573 temp = temp + plmn(l,m,nnn)
1574 plmncu(l,m,nnn)=temp
1577 IF(ioutpo.GE.3)
WRITE (6,*)
' M,(L,PLMN(L,M,N),L=0,LMAX)'
1578 IF(ioutpo.GE.3)
WRITE (6,106) m,(l,plmn(l,m,
n),l=0,lmaxi)
1579 IF(ioutpo.GE.2)
WRITE (6,*)
' M,(L,PLMNCU(L,M,N),L=0,LMAX/2)'
1580 IF(ioutpo.GE.2)
WRITE (6,106) m,(l,plmncu(l,m,
n),l=0,lmaxi/2)
1581 106
FORMAT (i3,9(i3,e11.2))
1586 IF(abs(temp-1.d0).GT..01d0)
THEN
1587 WRITE(6,*)
' NORMALISATION ERROR SUM PLM=',temp
1588 plmfac=1./(temp+tin)
1592 IF(ioutpo.GE.1)
WRITE (6,*)
1593 &
'(((L,M,N,PLMN(L,M,N),N=0,2),M=0,5),L=0,7)'
1594 IF(ioutpo.GE.1)
WRITE (6,1106)
1595 & (((l,m,
n,plmn(l,m,
n),
n=0,2),m=0,5),l=0,7)
1596 IF(ioutpo.GE.1)
WRITE (6,*)
1597 &
'(((L,M,N,SIG(L,M,N),N=0,2),M=0,5),L=0,7)'
1598 IF(ioutpo.GE.1)
WRITE (6,1106)
1599 & (((l,m,
n,sig(l,m,
n),
n=0,2),m=0,5),l=0,7)
1600 1106
FORMAT (1x,3(i5,i5,i5,g12.5))
1603 alfah=sighin/(sigine+0.00001)
1605 WRITE(6,116)avsofn,avharn,avdifn,avddfn,avdlfn,
1606 & phard,psoft,alfah,betah
1607 116
FORMAT(/
'--- various averages:'/
1608 & /
' AVSOFN= AVHARN= AVDIFN= AVDDFN= AVDLFN='
1610 & /
' PHARD= PSOFT= ALFAH= BETAH= '
1612 IF(ioutpo.GE.1)
WRITE(6,*)
'SIGSUM=SIGINL-LMD',sigsum
1614 IF(ioutpo.GE.1)
WRITE(6,610) sigtot,sigine,sigd,sigdd,sighin
1615 610
FORMAT (
' SIGTOT,SIGINE,SIGD,SIGDD,SIGHIN= '/
' ',5e18.6)
1617 101
FORMAT(
' ',10e10.3)
1619 103
FORMAT(
' ',5x,i4,5x,2e15.3)
1628 SUBROUTINE samplx(L2STR,M2STR,N2STR,NN2STR,NL2STR)
1637 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
1639 parameter(mxpa25=30,mxpa26=mxpa25+1,mxpa13=13)
1641 parameter(mxpa50=250,mxpa51=mxpa50+1)
1645 COMMON /outlev/ioutpo,ioutpa,iouxev,ioucol
1646 COMMON /pomtyp/ipim,icon,isig,lmax,mmax,
nmax,difel,difnu
1648 COMMON /polmn/plmn(0:mxpa25,0:mxpa50,0:mxpa13),
1649 * plmncu(0:mxpa25,0:mxpa50,0:mxpa13)
1650 COMMON /polmn0/pdifr,phard,psoft,alfah,betah,
1651 * sigtot,sigqel,sigel,sigine,sighin,sigd,sigdd
1653 parameter(pi=3.141592654d0)
1663 ELSEIF(ipim.EQ.2)
THEN
1666 nnmaxi=(13-nmaxi)/(1+nmaxi)
1669 ELSEIF(
nmax.EQ.2)
THEN
1673 ELSEIF(
nmax.EQ.1)
THEN
1683 IF (x.LE.plmncu(0,0,0) .AND. nprint.LT.100)
THEN
1684 WRITE(6,*)
' No generator of elastic events '
1685 WRITE(6,*)
' PLMNCU (0,0,0) =!= 0 = ',plmncu(0,0,0)
1693 nnn =
n +(nmaxi+1)*nn +(nnmaxi+1)*(nmaxi+1)* nl
1697 IF (x.LE.plmncu(l,m,nnn))
THEN
1711 IF(nprint.LT.100)
WRITE(6,*)
' RAR.IN SAMPLM,PLMNCU,RND=',
1712 & plmncu(lmax, mmax,nnn),x,nprint
1713 IF( plmncu(lmax,mmax,nnn) .GT. 0.1d0 )
RETURN
1714 IF( plmncu(lmax,0,0) .GT. 0.1d0 )
RETURN
1715 WRITE(6,*)
' RAR.IN SAMPLM- PROBLEM SEEMS BAD, DECIDE TO STOP'
1731 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
1734 COMMON /outlev/ioutpo,ioutpa,iouxev,ioucol
1735 COMMON /pomtyp/ipim,icon,isig,lmax,mmax,
nmax,difel,difnu
1737 parameter(mxpa25=30,mxpa26=mxpa25+1,mxpa13=13)
1739 parameter(mxpa50=250,mxpa51=mxpa50+1)
1742 COMMON /polmn/plmn(0:mxpa25,0:mxpa50,0:mxpa13),
1743 * plmncu(0:mxpa25,0:mxpa50,0:mxpa13)
1744 COMMON /polmn0/pdifr,phard,psoft,alfah,betah,
1745 * sigtot,sigqel,sigel,sigine,sighin,sigd,sigdd
1747 parameter(pi=3.141592654d0)
1752 IF (x.LE.plmncu(0,0,0))
THEN
1753 WRITE(6,*)
' No generator of elastic events '
1754 WRITE(6,*)
' PLMNCU (0,0,0) =!= 0 = ',plmncu(0,0,0)
1763 IF (x.LE.plmncu(l,m,
n))
THEN
1774 WRITE(6,*)
' RAR.IN SAMPLM,PLMNCU,RND=',plmncu(lmax,mmax,
nmax),x
1775 IF( plmncu(lmax,mmax,
nmax) .GT. 0.1d0 )
RETURN
1776 IF( plmncu(lmax,0,0) .GT. 0.1d0 )
RETURN
1777 WRITE(6,*)
' RAR.IN SAMPLM- PROBLEM SEEMS BAD, DECIDE TO STOP'
1845 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
1849 parameter(mxpa25=30,mxpa26=mxpa25+1,mxpa13=13)
1851 parameter(mxpa50=250,mxpa51=mxpa50+1)
1854 COMMON /polmn/plmn(0:mxpa25,0:mxpa50,0:mxpa13),
1855 * plmncu(0:mxpa25,0:mxpa50,0:mxpa13)
1856 COMMON /polmn0/pdifr,phard,psoft,alfah,betah,
1857 * sigtot,sigqel,sigel,sigine,sighin,sigd,sigdd
1860 COMMON /histoo/as(50,9),aecm(50,9),asig(50,9),alos(50,9),
1861 * aloecm(50,9),ndislm(0:mxpa25,0:mxpa50,0:mxpa13)
1863 COMMON /outlev/ioutpo,ioutpa,iouxev,ioucol
1868 common/pompar/alfa,alfap,
a,c,ak
1873 COMMON /sigma/sigsof,bs,zsof,sighar,bh,zhar,sigtrp,bt,ztrp,
1878 COMMON /pomtyp/ipim,icon,isig,lmax,mmax,
nmax,difel,difnu
1879 COMMON /alala/alalam
1880 common/collis/ss,ijproj,ijtar,ptthr,ptthr2,iophrd,ijprlu,ijtalu
1883 parameter(pi=3.141592654d0)
1899 *
' ------ testing the energy dependence of x-sections ----------'
1901 IF(ioutpo.GT.-1)
WRITE(6,*)
1902 *
' (as function of ALAM i.e.a low mass diffr.parameter)'
1903 WRITE(6,*)
' -----------------------------------------------'
1907 IF(ioutpo.GT.-1 .OR. iijj.EQ.6)
THEN
1911 IF(ioutpo.GT.-1)
WRITE(6,1008)alalam
1912 1008
FORMAT (
' ALAM= ',f10.3)
1934 nnmaxi=(13-nmaxi)/(1+nmaxi)
1937 ELSEIF(
nmax.EQ.2)
THEN
1941 ELSEIF(
nmax.EQ.1)
THEN
1948 IF(ipim.LT.1.AND.ipim.GT.9)
THEN
1949 WRITE(6,*)
'RETURN caused by IPIM=',ipim
1958 * (
'--- sample distribution for L soft and M hard inelastic'
1959 * ,
' pomerons (string pairs)--- '
1960 * / 20x,
'at ECM = ',f10.2,
' S = ',f12.1)
1968 IF(icon.EQ.12)go to 100
1971 CALL
samplx(l2str,m2str,n2str,nn2str,nl2str)
1972 nnnstr =n2str +(nmaxi+1)*nn2str
1973 * +(nnmaxi+1)*(nmaxi+1)*nl2str
1974 ndislm(l2str,m2str,nnnstr)=ndislm(l2str,m2str,nnnstr)+1
1976 CALL
samplm(l2str,m2str,n2str)
1977 ndislm(l2str,m2str,n2str)=ndislm(l2str,m2str,n2str)+1
1982 *
' with no diffractive contribution'
1985 *
' ....... vertical: NSTR, horizontal MSTR .........'
1986 DO 3344 l=0,min(20,lmaxi)
1987 3344
WRITE(6,34)l,(ndislm(l,m,0),m=0,20)
1992 WRITE(6,*)
' WITH NSTR=',
n
1993 DO 334 l=0,min(20,lmaxi)
1994 WRITE(6,34)l,(ndislm(l,m,
n),m=0,20)
1998 jmpa50 =
int(mxpa50/25)
2000 WRITE(6,*)
'WIDE PLOT 0<L<',mxpa25,
' 0<M<'
2001 & ,mxpa50,
' IN STEPS OF ',jmpa50
2004 WRITE(6,35)l,(ndislm(l,m,
n),m=0,mxpa50,jmpa50)
2009 34
FORMAT (i5,
':',21i4)
2032 IMPLICIT DOUBLE PRECISION(
a-h,o-
z)
2036 COMMON /outlev/ioutpo,ioutpa,iouxev,ioucol
2038 parameter(mxpa25=30,mxpa26=mxpa25+1,mxpa13=13)
2039 parameter(
zero=0.d0,
one=1.d0)
2041 parameter(mxpa50=250,mxpa51=mxpa50+1)
2044 COMMON /polmn/plmn(0:mxpa25,0:mxpa50,0:mxpa13),
2045 * plmncu(0:mxpa25,0:mxpa50,0:mxpa13)
2046 COMMON /polmn0/pdifr,phard,psoft,alfah,betah,
2047 * sigtot,sigqel,sigel,sigine,sighin,sigd,sigdd
2050 COMMON /pomtyp/ipim,icon,isig,lmax,mmax,
nmax,difel,difnu
2051 common/pompar/alfa,alfap,
a,c,ak
2052 COMMON /sigma/sigsof,bs,zsof,sighar,bh,zhar,sigtrp,bt,ztrp,
2055 COMMON /topdr/itopd,idumtp
2058 COMMON /histoo/as(50,9),aecm(50,9),asig(50,9),alos(50,9),
2059 * aloecm(50,9),ndislm(0:mxpa25,0:mxpa50,0:mxpa13)
2061 parameter(pi=3.141592654d0)
2068 IF(ioutpo.GT.-1)istep=7
2079 alos(i,iii)=log10(
s)
2080 aloecm(i,iii)=log10(ecm)
2088 IF(i.EQ.1 .AND. ioutpo.GE.0 )
WRITE(6,*)
2089 &
' s-dep. by integr.with Y,PHI,LMD'
2092 IF(i.EQ.1 .AND. ioutpo.GE.0 )
WRITE(6,*)
2093 &
' s-dep. by integr.with Y,PHI,LMD (DEFAULT)'
2105 asig(i,7)=sigtot-sigine
2106 asig(i,8)=sigine-sighin
2108 WRITE (6,1007)ecm,sigtot,sigine,sigel,sigd
2109 1007
FORMAT (
' ECM,SIGTOT,SIGINE,SIGEL,SIGD',f10.1,4e14.3)
2117 991
FORMAT (//
' shown as line printer plott'/
' with'/
2119 1
' (*) SIGTOT total x-section',
2120 2
' (2) SIGINE inelastic x-section'/
2121 3
' (3) SIGHIN hard inelastic cross section, one or more jets',
2122 4
' (4) SIGSOF input soft x-section'/
2123 5
' (5) SIGHAR input hard x-sections',
2124 6
' (6) SIGTRP input diffractive x-section (triple pomeron)'/
2125 7
' (7) SIGTOT-SIGINE elastic x-section',
2126 8
' (8) SIGINE-SIGHIN non-hard inelastic x-section, (no jets)'/
2127 9
' (9) SIGD diffractive xross section '/
2128 *
' are plotted against LOG(10)of(CMENERGY)' //)
2134 IF (itopd.EQ.1)
THEN
2136 95
FORMAT(
' NEW FRAME'/
' SET FONT DUPLEX'/
' SET SCALE X LOG'/
2137 *
' SET LIMITS X FROM 1.0 TO 1E5 Y FROM 0. TO 200'/
2138 *
' TITLE TOP < TOTAL,INEL. AND HARD (MINIJET) CROSS SECT.<'/
2139 *
' TITLE BOTTOM <C.M.ENERGY [GEV]<'/
2140 *
' TITLE < DUAL UNITARIZATION OF SOFT AND HARD CROSS SECTIONS<'/
2141 *
' TITLE LEFT LINES=-1 <CROSS SECTION [MB]<'/
2142 *
' TITLE 3 8.5 < SOLID = TOTAL X.S. <'/
2143 *
' TITLE < DASHED= INELASTIC X.S. <'/
2144 *
' TITLE < DOTTED= HARD X.S.<'/
2145 *
' TITLE < DOT-DASH= HARD INPUT X.S. <'/
2146 *
' TITLE < DOT-DASH= ELASTIC X.S. <')
2149 IF (iuu.EQ.4)go to 94
2150 IF (iuu.EQ.6)go to 94
2151 IF (iuu.EQ.1)
WRITE(7,97)
2152 97
FORMAT (
' SET TEXTURE SOLID')
2153 IF (iuu.EQ.2)
WRITE(7,98)
2154 98
FORMAT (
' SET TEXTURE DASHES')
2155 IF (iuu.EQ.3)
WRITE(7,99)
2156 99
FORMAT (
' SET TEXTURE DOTS')
2157 IF (iuu.EQ.5)
WRITE(7,197)
2158 197
FORMAT (
' SET TEXTURE DOTDASH')
2160 WRITE(7,92)aecm(iu,iuu),asig(iu,iuu)
subroutine gset(AX, BX, NX, Z, W)
typedef int(XMLCALL *XML_NotStandaloneHandler)(void *userData)
subroutine samplm(L2STR, M2STR, N2STR)
subroutine samplx(L2STR, M2STR, N2STR, NN2STR, NL2STR)
subroutine plot(X, Y, N, M, MM, XO, DX, YO, DY)
double precision function rndm(RDUMMY)
subroutine title(NA, NB, NCA, NCB)
static c2_log_p< float_type > & log()
make a *new object
static c2_sqrt_p< float_type > & sqrt()
make a *new object
static c2_exp_p< float_type > & exp()
make a *new object