File indexing completed on 2024-04-06 12:13:36
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 double precision function dotup(ip,jp)
0012 implicit double precision (a-h,o-z)
0013 implicit integer (i-n)
0014
0015 double complex colmat,bundamp
0016 common/upcom/ecm,pmbc,pmb,pmc,fbcc,pmomup(5,8),
0017 & colmat(10,64),bundamp(4),pmomzero(5,8)
0018
0019 dotup=pmomup(4,ip)*pmomup(4,jp)-pmomup(1,ip)*pmomup(1,jp)-
0020 & pmomup(2,ip)*pmomup(2,jp)-pmomup(3,ip)*pmomup(3,jp)
0021
0022 return
0023 end
0024
0025
0026
0027
0028
0029 double complex function polsppup(ip)
0030 implicit double precision (a-h,o-z)
0031 implicit integer (i-n)
0032 double complex colmat,bundamp,piv,pjv,ephase,pkv
0033 common/upcom/ecm,pmbc,pmb,pmc,fbcc,pmomup(5,8),
0034 & colmat(10,64),bundamp(4),pmomzero(5,8)
0035 common/pol/polar(4,3)
0036
0037 pia=polar(4,ip)+polar(3,ip)
0038 pip=polar(4,ip)-polar(3,ip)
0039 piv=dcmplx(polar(1,ip),polar(2,ip))
0040
0041 pja=pmomup(4,8)+pmomup(3,8)
0042 pjp=pmomup(4,8)-pmomup(3,8)
0043 pjv=dcmplx(pmomup(1,8),pmomup(2,8))
0044
0045 pka=pmomzero(4,3)+pmomzero(3,3)
0046 pkp=pmomzero(4,3)-pmomzero(3,3)
0047 pkv=dcmplx(pmomzero(1,3),pmomzero(2,3))
0048
0049 if (pja .gt. 1.0d-16 .and. pjp .gt. 1.0d-16) then
0050 ephase=dconjg(pjv)/dsqrt(pja*pjp)
0051 else
0052 ephase=dcmplx(1.0d0)
0053 end if
0054
0055 polsppup=pka*pip*dconjg(pjv)-dconjg(pkv)*pja*pip-pka*piv*pjp
0056 & *ephase**2+piv*dconjg(pkv)*dconjg(pjv)-pkv*dconjg(piv)*
0057 & dconjg(pjv)+pja*dconjg(piv)*pkp+pia*pkv*pjp*ephase**2-
0058 & pia*pkp*dconjg(pjv)
0059
0060 return
0061 end
0062
0063
0064
0065
0066 double complex function inpup(ip,jp)
0067 implicit double precision (a-h,o-z)
0068 implicit integer (i-n)
0069
0070 double complex colmat,piv,pjv,bundamp
0071 common/upcom/ecm,pmbc,pmb,pmc,fbcc,pmomup(5,8),
0072 & colmat(10,64),bundamp(4),pmomzero(5,8)
0073
0074
0075 inpup = 0.
0076
0077
0078 pia=pmomzero(4,ip)+pmomzero(3,ip)
0079 pip=pmomzero(4,ip)-pmomzero(3,ip)
0080 piv=dcmplx(pmomzero(1,ip),pmomzero(2,ip))
0081
0082 pja=pmomzero(4,jp)+pmomzero(3,jp)
0083 pjp=pmomzero(4,jp)-pmomzero(3,jp)
0084 pjv=dcmplx(pmomzero(1,jp),pmomzero(2,jp))
0085
0086 if (pia .gt. 1.0d-16 .and. pja .gt. 1.0d-16) then
0087 inpup=piv*dsqrt(pja/pia)-pjv*dsqrt(pia/pja)
0088 end if
0089 if (pia .lt. 1.0d-16 .and. pja .gt. 1.0d-16) then
0090 inpup=dsqrt(pip*pja)
0091 end if
0092 if (pia .gt. 1.0d-16 .and. pja .lt. 1.0d-16) then
0093 inpup=-dsqrt(pia*pjp)
0094 end if
0095 if (pia .lt. 1.0d-16 .and. pja .lt. 1.0d-16) then
0096 inpup=0.0d0
0097 end if
0098
0099 return
0100 end
0101
0102
0103
0104
0105 double complex function sppup(ip,kp,jp)
0106 implicit double precision (a-h,o-z)
0107 implicit integer(i-n)
0108 double complex colmat,inpup,bundamp
0109 common/upcom/ecm,pmbc,pmb,pmc,fbcc,pmomup(5,8),
0110 & colmat(10,64),bundamp(4),pmomzero(5,8)
0111
0112 sppup=dconjg(inpup(kp,ip))*inpup(kp,jp)
0113
0114 return
0115 end
0116