00001       subroutine had1_init
00002       implicit real*8 (a-h,o-z)
00003       dimension p1(4),p2(4)
00004 
00005       common /had_par/ gam1,gam2,coupl,a1m,a1g,rhom,rhog,rho1m,rho1g
00006      1                ,rho2m,rho2g,omm,omg,aa,bb1,bb2,f0m,f0g,pim,sgo
00007       common /input/ su,su2,qq2,p1,p2,ngen,iseed,mode,iww,nhit
00008       common /param/ pi,alpha,f_max
00009       common /cbwgrho/ rhom2,rho1m2,rho2m2,omm2,rhomg,rho1mg,rho2mg
00010      1                ,ommg
00011       common /cbwga1/ a1m2,con 
00012       common /anom/amrop,gamrop,sig,amrop_2,amropg
00013       common /cbwgrho_t/ rho1m2_t,rho1mg_t,beta
00014 
00015       pi     = 3.141592653589793238d0
00016       alpha  = 1.d0/137.0359895d0
00017 
00018       gam1  = 0.38d0
00019       gam2  = 0.38d0
00020       fpi   = 0.0933d0
00021 
00022       coupl = sqrt(6.d0)/fpi**2  
00023       a1m   = 1.251d0
00024       a1g   = 0.599d0
00025       rhom  = 0.773d0
00026       rhog  = 0.145d0
00027       rho1m = 1.35d0
00028       rho1g = 0.3d0
00029       rho2m = 1.7d0
00030       rho2g = 0.235d0
00031       omm   = 0.782d0
00032       omg   = 0.0085d0
00033       aa    = 0.d0    
00034       bb1   = 0.08d0
00035       bb2   = -0.0075d0
00036       f0m   = 1.3d0
00037       f0g   = 0.6d0
00038       pim   = 0.14d0
00039 
00040 
00041 
00042       sgo   = 1.55d0/sqrt(2.d0)  
00043 
00044 
00045        rhom2  = rhom**2
00046        rho1m2 = rho1m**2
00047        rho2m2 = rho2m**2
00048        omm2   = omm**2
00049        rhomg  = rhom*rhog
00050        rho1mg = rho1m*rho1g 
00051        rho2mg = rho2m*rho2g
00052        ommg   = omm*omg
00053 
00054         a1m2 = a1m**2
00055         con  = a1g*a1m/gfun8(a1m2)
00056 
00057         amrop  = 1.7d0
00058         gamrop = 0.26d0
00059         sig    = -0.1d0
00060         amrop_2 = amrop**2
00061         amropg  = amrop*gamrop
00062 
00063       beta  = -0.145d0
00064       rho1m_t = 1.37d0
00065       rho1g_t = 0.51d0 
00066 
00067        rho1m2_t = rho1m_t**2
00068        rho1mg_t = rho1m_t*rho1g_t
00069 
00070       return
00071       end
00072 
00073       complex*16 function anom_bwg(q1_2,q2_2)
00074       implicit real*8 (a-h,o-z)
00075 
00076       common /had_par/ gam1,gam2,coupl,a1m,a1g,rhom,rhog,rho1m,rho1g
00077      1                ,rho2m,rho2g,omm,omg,aa,bb1,bb2,f0m,f0g,pim,sgo
00078       common /cbwgrho/ rhom2,rho1m2,rho2m2,omm2,rhomg,rho1mg,rho2mg
00079      1                ,ommg
00080       common /anom/amrop,gamrop,sig,amrop_2,amropg
00081 
00082       anom_bwg = (dcmplx(1.d0,0.d0)/dcmplx(rhom2-q1_2,-rhomg)
00083      1         + dcmplx(sig,0.d0)/dcmplx(amrop_2-q1_2,-amropg) )
00084      2     * dcmplx(1.d0,0.d0)/dcmplx(omm2-q2_2,-ommg)
00085       return
00086       end
00087 
00088       complex*16 function bwga1(q1_2)
00089       implicit real*8 (a-h,o-z)
00090 
00091       common /cbwga1/ a1m2,con 
00092 
00093       ggm = gfun8(q1_2)*con 
00094       bwga1 = dcmplx(a1m2,0.d0)/dcmplx(a1m2-q1_2,-ggm)     
00095 
00096       return
00097       end
00098 
00099       real*8 function gfun8(q1_2)
00100       implicit real*8 (a-h,o-z)
00101 
00102       common /had_par/ gam1,gam2,coupl,a1m,a1g,rhom,rhog,rho1m,rho1g
00103      1                ,rho2m,rho2g,omm,omg,aa,bb1,bb2,f0m,f0g,pim,sgo
00104 
00105       if(q1_2.gt.((rhom+pim)**2))then
00106         gfun8 = q1_2*1.623d0 + 10.38d0 - 9.32d0/q1_2 + 0.65d0/q1_2**2
00107       else
00108         c1   = q1_2 - 9.d0*pim**2
00109         gfun8 = 4.1d0 *c1**3 *(1.d0 - 3.3d0*c1 + 5.8d0*c1**2)
00110       endif
00111 
00112       return
00113       end
00114 
00115       complex*16 function bwgrho(q1_2)
00116       implicit real*8 (a-h,o-z)
00117 
00118       complex*16 cbw,cbw1,cbw2,cbwo
00119 
00120       common /had_par/ gam1,gam2,coupl,a1m,a1g,rhom,rhog,rho1m,rho1g
00121      1                ,rho2m,rho2g,omm,omg,aa,bb1,bb2,f0m,f0g,pim,sgo
00122       common /cbwgrho/ rhom2,rho1m2,rho2m2,omm2,rhomg,rho1mg,rho2mg,ommg
00123 
00124       c2     = 4.d0*pim**2/q1_2
00125       if(c2.lt.1.d0)then
00126 
00127       c1     = rhom2/q1_2
00128       gamrho  = rhomg*sqrt(c1*((1.d0-c2)/(c1-c2))**3)
00129       c1      = rho1m2/q1_2
00130       gamrho1 = rho1mg*sqrt(c1*((1.d0-c2)/(c1-c2))**3)
00131       c1      = rho2m2/q1_2
00132       gamrho2 = rho2mg*sqrt(c1*((1.d0-c2)/(c1-c2))**3)
00133       c1      = omm2/q1_2
00134       gamom   = ommg*sqrt(c1*((1.d0-c2)/(c1-c2))**3)
00135       else 
00136        gamrho =0.d0
00137        gamrho1=0.d0
00138        gamrho2=0.d0
00139        gamom  =0.d0
00140       endif
00141 
00142       cbw   = dcmplx(rhom2,0.d0)/dcmplx(rhom2-q1_2,-gamrho)
00143       cbw1  = dcmplx(rho1m2,0.d0)/dcmplx(rho1m2-q1_2,-gamrho1)
00144       cbw2  = dcmplx(rho2m2,0.d0)/dcmplx(rho2m2-q1_2,-gamrho2)
00145       cbwo  = dcmplx(omm2,0.d0)/dcmplx(omm2-q1_2,-gamom)
00146       bwgrho = ( cbw *(1.d0+aa*cbwo)/(1.d0+aa)
00147      1          + bb1*cbw1+bb2*cbw2)/(1.d0+bb1+bb2)
00148 
00149       return
00150       end
00151 
00152       complex*16 function bwgrho_t(q1_2)
00153       implicit real*8 (a-h,o-z)
00154 
00155       complex*16 cbw,cbw1,cbw2,cbwo
00156 
00157       common /had_par/ gam1,gam2,coupl,a1m,a1g,rhom,rhog,rho1m,rho1g
00158      1                ,rho2m,rho2g,omm,omg,aa,bb1,bb2,f0m,f0g,pim,sgo
00159       common /cbwgrho/ rhom2,rho1m2,rho2m2,omm2,rhomg,rho1mg,rho2mg
00160      1                ,ommg
00161       common /cbwgrho_t/ rho1m2_t,rho1mg_t,beta
00162 
00163       c2     = 4.d0*pim**2/q1_2
00164 
00165       c1     = rhom2/q1_2
00166       if(c2.gt.1.d0)then
00167         gamrho = 0.d0
00168       else
00169        gamrho  = rhomg*sqrt(c1*((1.d0-c2)/(c1-c2))**3)
00170       endif
00171       c1     = rho1m2_t/q1_2
00172       if(c2.gt.1.d0)then
00173        gamrho1 =0
00174       else
00175        gamrho1  = rho1mg_t*sqrt(c1*((1.d0-c2)/(c1-c2))**3)
00176       endif
00177 
00178       cbw    = dcmplx(rhom2,0.d0)/dcmplx(rhom2-q1_2,-gamrho)
00179       cbw1   = dcmplx(rho1m2,0.d0)/dcmplx(rho1m2-q1_2,-gamrho1)
00180 
00181       bwgrho_t = (cbw+beta*cbw1)/(1.d0+beta) 
00182 
00183       return
00184       end
00185 
00186       complex*16 function bwgf0(q1_2)
00187       implicit real*8 (a-h,o-z)
00188 
00189       common /had_par/ gam1,gam2,coupl,a1m,a1g,rhom,rhog,rho1m,rho1g
00190      1                ,rho2m,rho2g,omm,omg,aa,bb1,bb2,f0m,f0g,pim,sgo
00191 
00192       f0m2  = f0m**2
00193       f0mg  = f0m*f0g
00194       bwgf0 = dcmplx(f0m2,-f0mg)/dcmplx(f0m2-q1_2,-f0mg)     
00195 
00196       return
00197       end
00198 
00199 
00200 
00201 
00202 
00203 
00204 
00205 
00206 
00207 
00208 
00209 
00210 
00211 
00212       subroutine had1(qq2,q1,q2,q3,q4,hadr)
00213       implicit real*8 (a-h,o-z)
00214 
00215       complex*16 hadr(4),hadr1(4),hadr2(4),hadr3(4),hadr4(4)
00216       dimension q1(4),q2(4),q3(4),q4(4)
00217 
00218       call had2(qq2,q1,q2,q3,q4,hadr1)
00219       call had2(qq2,q4,q2,q3,q1,hadr2)
00220       call had2(qq2,q1,q3,q2,q4,hadr3)
00221       call had2(qq2,q4,q3,q2,q1,hadr4)
00222 
00223       do i=1,4
00224        hadr(i) = hadr1(i)+hadr2(i)+hadr3(i)+hadr4(i)
00225       enddo  
00226 
00227       return
00228       end
00229 
00230 
00231 
00232 
00233 
00234 
00235 
00236       subroutine had3(qq2,q1,q2,q3,q4,hadr)
00237       implicit real*8 (a-h,o-z)
00238 
00239       complex*16 hadr(4),hadr1(4),hadr2(4),hadr3(4)
00240       dimension q1(4),q2(4),q3(4),q4(4)
00241 
00242       call had2(qq2,q1,q2,q3,q4,hadr1)
00243       call had2(qq2,q1,q3,q2,q4,hadr2)
00244       call had2(qq2,q3,q2,q1,q4,hadr3)
00245 
00246       do i=1,4
00247        hadr(i) = (hadr1(i)+hadr2(i)+hadr3(i))*sqrt(2.d0)
00248       enddo  
00249 
00250       return
00251       end
00252 
00253 
00254 
00255 
00256 
00257 
00258 
00259 
00260       subroutine had4(qq2,q1,q2,q3,q4,hadr)
00261 
00262       implicit real*8 (a-h,o-z)
00263 
00264       complex*16 hadr(4),hadr1(4),hadr2(4)
00265       dimension q1(4),q2(4),q3(4),q4(4)
00266 
00267       call had2(qq2,q3,q1,q2,q4,hadr1)
00268       call had2(qq2,q3,q2,q1,q4,hadr2)
00269 
00270       do i=1,4
00271        hadr(i) = (hadr1(i)+hadr2(i))*sqrt(2.d0)
00272       enddo  
00273 
00274       return
00275       end
00276 
00277 
00278 
00279 
00280 
00281 
00282 
00283 
00284 
00285 
00286 
00287 
00288       subroutine had2(qq2,q1,q2,q3,q4,hadr)
00289       implicit real*8 (a-h,o-z)
00290 
00291       complex*16 hadr(4),cfac(4),tt(4,4,4),ss(4,4,4,4)
00292       complex*16 bwga1,bwgrho,bwgrho_t,bwgf0,c0,c5,c6
00293       complex*16 c1_t,c2_t,c3_t,c4_t,anom_bwg
00294       dimension q1(4),q2(4),q3(4),q4(4),q2m4(4),q3m1(4),q4m1(4),q3m2(4)
00295       dimension q123(4),q124(4),qq(4),q3m4(4),q134(4),q234(4)
00296       dimension q2p4(4),q1p3(4),q2p3(4),q1p4(4),q1p2(4),q3p4(4)
00297 
00298       common /had_par/ gam1,gam2,coupl,a1m,a1g,rhom,rhog,rho1m,rho1g
00299      1                ,rho2m,rho2g,omm,omg,aa,bb1,bb2,f0m,f0g,pim,sgo
00300 
00301 
00302 
00303       do i=1,4
00304         q2m4(i) = q2(i)-q4(i)
00305         q3m1(i) = q3(i)-q1(i)
00306         q3m4(i) = q3(i)-q4(i)
00307         q4m1(i) = q4(i)-q1(i)
00308         q3m2(i) = q3(i)-q2(i)
00309         q2p4(i) = q2(i)+q4(i)
00310         q1p3(i) = q1(i)+q3(i)
00311         q1p2(i) = q1(i)+q2(i)
00312         q2p3(i) = q2(i)+q3(i)
00313         q1p4(i) = q1(i)+q4(i)
00314         q3p4(i) = q3(i)+q4(i)
00315         q123(i) = q2p3(i)+q1(i)
00316         q124(i) = q2p4(i)+q1(i)
00317         qq(i)   = q123(i) + q4(i)
00318       enddo
00319       q1_2m4 = q1(1)*q2m4(1)-q1(2)*q2m4(2)-q1(3)*q2m4(3)-q1(4)*q2m4(4)      
00320       q1_3m2 = q1(1)*q3m2(1)-q1(2)*q3m2(2)-q1(3)*q3m2(3)-q1(4)*q3m2(4)      
00321       q3_2m4 = q3(1)*q2m4(1)-q3(2)*q2m4(2)-q3(3)*q2m4(3)-q3(4)*q2m4(4)      
00322       q2_3m1 = q2(1)*q3m1(1)-q2(2)*q3m1(2)-q2(3)*q3m1(3)-q2(4)*q3m1(4)      
00323       q2_4m1 = q2(1)*q4m1(1)-q2(2)*q4m1(2)-q2(3)*q4m1(3)-q2(4)*q4m1(4)      
00324       q3_4m1 = q3(1)*q4m1(1)-q3(2)*q4m1(2)-q3(3)*q4m1(3)-q3(4)*q4m1(4)      
00325       q4_3m1 = q4(1)*q3m1(1)-q4(2)*q3m1(2)-q4(3)*q3m1(3)-q4(4)*q3m1(4)      
00326       q4_3m2 = q4(1)*q3m2(1)-q4(2)*q3m2(2)-q4(3)*q3m2(3)-q4(4)*q3m2(4)      
00327       qmq3_2 = q124(1)**2 -q124(2)**2 -q124(3)**2 -q124(4)**2
00328       qmq4_2 = q123(1)**2 -q123(2)**2 -q123(3)**2 -q123(4)**2
00329       q_q3   = qq(1)*q3(1)-qq(2)*q3(2)-qq(3)*q3(3)-qq(4)*q3(4)
00330       q_q4   = qq(1)*q4(1)-qq(2)*q4(2)-qq(3)*q4(3)-qq(4)*q4(4)
00331       q2p4_2 = q2p4(1)**2 - q2p4(2)**2 - q2p4(3)**2 - q2p4(4)**2
00332       q3p4_2 = q3p4(1)**2 - q3p4(2)**2 - q3p4(3)**2 - q3p4(4)**2
00333       q1p3_2 = q1p3(1)**2 - q1p3(2)**2 - q1p3(3)**2 - q1p3(4)**2
00334       q1p2_2 = q1p2(1)**2 - q1p2(2)**2 - q1p2(3)**2 - q1p2(4)**2
00335       q2p3_2 = q2p3(1)**2 - q2p3(2)**2 - q2p3(3)**2 - q2p3(4)**2
00336       q1p4_2 = q1p4(1)**2 - q1p4(2)**2 - q1p4(3)**2 - q1p4(4)**2
00337       q1p2_3m4 = q1p2(1)*q3m4(1)
00338      1          -q1p2(2)*q3m4(2)-q1p2(3)*q3m4(3)-q1p2(4)*q3m4(4)
00339       q1p3_2m4 = q1_2m4 + q3_2m4
00340       q1p4_3m2 = q1_3m2 + q4_3m2 
00341       q2p4_3m1 = q2_3m1 + q4_3m1
00342       q2p3_4m1 = q2_4m1 + q3_4m1 
00343 
00344       c0 = bwgrho(qq2)*coupl
00345 
00346 
00347       c1_t = bwgrho_t(q2p4_2)
00348       c2_t = bwgrho_t(q1p3_2)
00349       c3_t = bwgrho_t(q2p3_2)
00350       c4_t = bwgrho_t(q1p4_2)
00351 
00352       c5 = bwga1(qmq3_2)
00353       c6 = bwga1(qmq4_2)
00354 
00355       tt(1,2,4) = c5*c1_t*gam1
00356       tt(2,1,4) = c5*c4_t*gam1
00357       tt(2,3,1) = c6*c2_t*gam1
00358       tt(1,2,3) = c6*c3_t*gam1
00359 
00360       ss(3,4,1,2) = bwgrho(q3p4_2)*bwgf0(q1p2_2)*gam2
00361 
00362       cfac(1) =  tt(1,2,3) * (-1.d0 - q1_3m2/qmq4_2 )
00363      1         + tt(1,2,4) * ( 1.d0 - q1_2m4/qmq3_2 )
00364      2         + tt(2,1,4) * ( 3.d0 + q2_4m1/qmq3_2 )
00365      3         + tt(2,3,1) * (-3.d0 - q2_3m1/qmq4_2 )
00366 
00367       cfac(2) =  tt(1,2,3) * (-3.d0 - q1_3m2/qmq4_2 )
00368      1         + tt(1,2,4) * ( 3.d0 - q1_2m4/qmq3_2 )
00369      2         + tt(2,1,4) * ( 1.d0 + q2_4m1/qmq3_2 )
00370      3         + tt(2,3,1) * (-1.d0 - q2_3m1/qmq4_2 )
00371 
00372       cfac(3) =  tt(1,2,3) * ( 1.d0 - q1_3m2/qmq4_2 )
00373      1         + tt(1,2,4) * ( 1.d0 + q1_2m4/qmq3_2 )
00374      2         + tt(2,1,4) * ( 1.d0 - q2_4m1/qmq3_2 )
00375      3         + tt(2,3,1) * ( 1.d0 - q2_3m1/qmq4_2 )
00376      4      -3.d0*ss(3,4,1,2)
00377 
00378       cfac(4) =  tt(1,2,3) 
00379      1 *(1.d0 -2.d0/qq2*(q_q4*q1_3m2/qmq4_2 +q1p4_3m2) +q1_3m2/qmq4_2 )
00380      2         + tt(1,2,4) 
00381      3 *(-1.d0-2.d0/qq2*(q1_2m4/qmq3_2*q_q3 +q1p3_2m4) +q1_2m4/qmq3_2 )
00382      4         + tt(2,1,4) 
00383      5 *(-1.d0+2.d0/qq2*(q_q3*q2_4m1/qmq3_2 +q2p3_4m1) -q2_4m1/qmq3_2 )
00384      6         + tt(2,3,1)
00385      7 *(1.d0 -2.d0/qq2*(q2_3m1/qmq4_2*q_q4 +q2p4_3m1) +q2_3m1/qmq4_2 )
00386      8   +3.d0*ss(3,4,1,2)/qq2*q1p2_3m4
00387 
00388       do i=1,4
00389         cfac(i) = cfac(i)*c0
00390       enddo
00391 
00392       do i=1,4
00393         hadr(i) =  q1(i)  *cfac(1) + q2(i)*cfac(2) 
00394      1           + q3m4(i)*cfac(3) + qq(i)*cfac(4)
00395       enddo
00396 
00397 
00398 
00399       fac3 = sgo * 1475.98d0*12.924d0 * 0.266d0 *rhom**2
00400 
00401 
00402 
00403       do i=1,4
00404         q134(i) = q1p3(i)+q4(i)
00405         q234(i) = q2p4(i)+q3(i)
00406       enddo
00407 
00408       q1_134 = q1(1)*q134(1)-q1(2)*q134(2)-q1(3)*q134(3)-q1(4)*q134(4)      
00409       q3_134 = q3(1)*q134(1)-q3(2)*q134(2)-q3(3)*q134(3)-q3(4)*q134(4)      
00410       q4_134 = q4(1)*q134(1)-q4(2)*q134(2)-q4(3)*q134(3)-q4(4)*q134(4)      
00411       q2_234 = q2(1)*q234(1)-q2(2)*q234(2)-q2(3)*q234(3)-q2(4)*q234(4)      
00412       q3_234 = q3(1)*q234(1)-q3(2)*q234(2)-q3(3)*q234(3)-q3(4)*q234(4)      
00413       q4_234 = q4(1)*q234(1)-q4(2)*q234(2)-q4(3)*q234(3)-q4(4)*q234(4)      
00414       q12    = q1(1)*q2(1)  - q1(2)*q2(2) - q1(3)*q2(3) - q1(4)*q2(4)
00415       q13    = q1(1)*q3(1)  - q1(2)*q3(2) - q1(3)*q3(3) - q1(4)*q3(4)
00416       q14    = q1(1)*q4(1)  - q1(2)*q4(2) - q1(3)*q4(3) - q1(4)*q4(4)
00417       q23    = q2(1)*q3(1)  - q2(2)*q3(2) - q2(3)*q3(3) - q2(4)*q3(4)
00418       q24    = q2(1)*q4(1)  - q2(2)*q4(2) - q2(3)*q4(3) - q2(4)*q4(4)
00419       q34    = q3(1)*q4(1)  - q3(2)*q4(2) - q3(3)*q4(3) - q3(4)*q4(4)
00420       q234_2 = q234(1)**2-q234(2)**2-q234(3)**2-q234(4)**2      
00421       q134_2 = q134(1)**2-q134(2)**2-q134(3)**2-q134(4)**2      
00422 
00423       cfac(1) = anom_bwg(qq2,q134_2) *(q3_134*q24 -q4_134*q23)
00424       cfac(2) = anom_bwg(qq2,q234_2) *(q3_234*q14 -q4_234*q13)
00425       cfac(3) = anom_bwg(qq2,q134_2) *(q4_134*q12 -q1_134*q24)
00426      1        + anom_bwg(qq2,q234_2) *(q4_234*q12 -q2_234*q14)
00427       cfac(4) = anom_bwg(qq2,q134_2) *(q1_134*q23 -q3_134*q12)
00428      1        + anom_bwg(qq2,q234_2) *(q2_234*q13 -q3_234*q12)
00429 
00430       do i =1,4
00431         hadr(i) = hadr(i) + fac3* (q1(i)*cfac(1) + q2(i)*cfac(2)
00432      1                            + q3(i)*cfac(3) + q4(i)*cfac(4) )
00433       enddo
00434 
00435       return
00436       end
00437 
00438 
00439 
00440 
00441 
00442 
00443 
00444 
00445 
00446 
00447 
00448       subroutine had2_om(qq2,q1,q2,q3,q4,hadr)
00449       implicit real*8 (a-h,o-z)
00450 
00451       complex*16 hadr(4),cfac(4),tt(4,4,4),ss(4,4,4,4)
00452       complex*16 bwga1,bwgrho,bwgrho_t,bwgf0,c0,c5,c6
00453       complex*16 c1_t,c2_t,c3_t,c4_t,anom_bwg
00454       dimension q1(4),q2(4),q3(4),q4(4),q2m4(4),q3m1(4),q4m1(4),q3m2(4)
00455       dimension q123(4),q124(4),qq(4),q3m4(4),q134(4),q234(4)
00456       dimension q2p4(4),q1p3(4),q2p3(4),q1p4(4),q1p2(4),q3p4(4)
00457 
00458       common /had_par/ gam1,gam2,coupl,a1m,a1g,rhom,rhog,rho1m,rho1g
00459      1                ,rho2m,rho2g,omm,omg,aa,bb1,bb2,f0m,f0g,pim,sgo
00460 
00461 
00462 
00463       do i=1,4
00464         q2m4(i) = q2(i)-q4(i)
00465         q3m1(i) = q3(i)-q1(i)
00466         q3m4(i) = q3(i)-q4(i)
00467         q4m1(i) = q4(i)-q1(i)
00468         q3m2(i) = q3(i)-q2(i)
00469         q2p4(i) = q2(i)+q4(i)
00470         q1p3(i) = q1(i)+q3(i)
00471         q1p2(i) = q1(i)+q2(i)
00472         q2p3(i) = q2(i)+q3(i)
00473         q1p4(i) = q1(i)+q4(i)
00474         q3p4(i) = q3(i)+q4(i)
00475         q123(i) = q2p3(i)+q1(i)
00476         q124(i) = q2p4(i)+q1(i)
00477         qq(i)   = q123(i) + q4(i)
00478       enddo
00479       q1_2m4 = q1(1)*q2m4(1)-q1(2)*q2m4(2)-q1(3)*q2m4(3)-q1(4)*q2m4(4)      
00480       q1_3m2 = q1(1)*q3m2(1)-q1(2)*q3m2(2)-q1(3)*q3m2(3)-q1(4)*q3m2(4)      
00481       q3_2m4 = q3(1)*q2m4(1)-q3(2)*q2m4(2)-q3(3)*q2m4(3)-q3(4)*q2m4(4)      
00482       q2_3m1 = q2(1)*q3m1(1)-q2(2)*q3m1(2)-q2(3)*q3m1(3)-q2(4)*q3m1(4)      
00483       q2_4m1 = q2(1)*q4m1(1)-q2(2)*q4m1(2)-q2(3)*q4m1(3)-q2(4)*q4m1(4)      
00484       q3_4m1 = q3(1)*q4m1(1)-q3(2)*q4m1(2)-q3(3)*q4m1(3)-q3(4)*q4m1(4)      
00485       q4_3m1 = q4(1)*q3m1(1)-q4(2)*q3m1(2)-q4(3)*q3m1(3)-q4(4)*q3m1(4)      
00486       q4_3m2 = q4(1)*q3m2(1)-q4(2)*q3m2(2)-q4(3)*q3m2(3)-q4(4)*q3m2(4)      
00487       qmq3_2 = q124(1)**2 -q124(2)**2 -q124(3)**2 -q124(4)**2
00488       qmq4_2 = q123(1)**2 -q123(2)**2 -q123(3)**2 -q123(4)**2
00489       q_q3   = qq(1)*q3(1)-qq(2)*q3(2)-qq(3)*q3(3)-qq(4)*q3(4)
00490       q_q4   = qq(1)*q4(1)-qq(2)*q4(2)-qq(3)*q4(3)-qq(4)*q4(4)
00491       q2p4_2 = q2p4(1)**2 - q2p4(2)**2 - q2p4(3)**2 - q2p4(4)**2
00492       q3p4_2 = q3p4(1)**2 - q3p4(2)**2 - q3p4(3)**2 - q3p4(4)**2
00493       q1p3_2 = q1p3(1)**2 - q1p3(2)**2 - q1p3(3)**2 - q1p3(4)**2
00494       q1p2_2 = q1p2(1)**2 - q1p2(2)**2 - q1p2(3)**2 - q1p2(4)**2
00495       q2p3_2 = q2p3(1)**2 - q2p3(2)**2 - q2p3(3)**2 - q2p3(4)**2
00496       q1p4_2 = q1p4(1)**2 - q1p4(2)**2 - q1p4(3)**2 - q1p4(4)**2
00497       q1p2_3m4 = q1p2(1)*q3m4(1)
00498      1          -q1p2(2)*q3m4(2)-q1p2(3)*q3m4(3)-q1p2(4)*q3m4(4)
00499       q1p3_2m4 = q1_2m4 + q3_2m4
00500       q1p4_3m2 = q1_3m2 + q4_3m2 
00501       q2p4_3m1 = q2_3m1 + q4_3m1
00502       q2p3_4m1 = q2_4m1 + q3_4m1 
00503 
00504 
00505 
00506 
00507       fac3 = sgo * 1475.98d0*12.924d0 * 0.266d0 *rhom**2
00508 
00509 
00510 
00511       do i=1,4
00512         q134(i) = q1p3(i)+q4(i)
00513         q234(i) = q2p4(i)+q3(i)
00514       enddo
00515 
00516       q1_134 = q1(1)*q134(1)-q1(2)*q134(2)-q1(3)*q134(3)-q1(4)*q134(4)      
00517       q3_134 = q3(1)*q134(1)-q3(2)*q134(2)-q3(3)*q134(3)-q3(4)*q134(4)      
00518       q4_134 = q4(1)*q134(1)-q4(2)*q134(2)-q4(3)*q134(3)-q4(4)*q134(4)      
00519       q2_234 = q2(1)*q234(1)-q2(2)*q234(2)-q2(3)*q234(3)-q2(4)*q234(4)      
00520       q3_234 = q3(1)*q234(1)-q3(2)*q234(2)-q3(3)*q234(3)-q3(4)*q234(4)      
00521       q4_234 = q4(1)*q234(1)-q4(2)*q234(2)-q4(3)*q234(3)-q4(4)*q234(4)      
00522       q12    = q1(1)*q2(1)  - q1(2)*q2(2) - q1(3)*q2(3) - q1(4)*q2(4)
00523       q13    = q1(1)*q3(1)  - q1(2)*q3(2) - q1(3)*q3(3) - q1(4)*q3(4)
00524       q14    = q1(1)*q4(1)  - q1(2)*q4(2) - q1(3)*q4(3) - q1(4)*q4(4)
00525       q23    = q2(1)*q3(1)  - q2(2)*q3(2) - q2(3)*q3(3) - q2(4)*q3(4)
00526       q24    = q2(1)*q4(1)  - q2(2)*q4(2) - q2(3)*q4(3) - q2(4)*q4(4)
00527       q34    = q3(1)*q4(1)  - q3(2)*q4(2) - q3(3)*q4(3) - q3(4)*q4(4)
00528       q234_2 = q234(1)**2-q234(2)**2-q234(3)**2-q234(4)**2      
00529       q134_2 = q134(1)**2-q134(2)**2-q134(3)**2-q134(4)**2      
00530 
00531       cfac(1) = anom_bwg(qq2,q134_2) *(q3_134*q24 -q4_134*q23)
00532       cfac(2) = anom_bwg(qq2,q234_2) *(q3_234*q14 -q4_234*q13)
00533       cfac(3) = anom_bwg(qq2,q134_2) *(q4_134*q12 -q1_134*q24)
00534      1        + anom_bwg(qq2,q234_2) *(q4_234*q12 -q2_234*q14)
00535       cfac(4) = anom_bwg(qq2,q134_2) *(q1_134*q23 -q3_134*q12)
00536      1        + anom_bwg(qq2,q234_2) *(q2_234*q13 -q3_234*q12)
00537 
00538       do i =1,4
00539         hadr(i) =  fac3* (q1(i)*cfac(1) + q2(i)*cfac(2)
00540      1                            + q3(i)*cfac(3) + q4(i)*cfac(4) )
00541       enddo
00542 
00543       return
00544       end
00545 
00546 
00547 
00548 
00549