2
c ----------------------------------------------------------------------
4
subroutine fsocxx(foc,sc,gc,fmass,fwidth , fsoc)
6
c this subroutine computes an off-shell antifermion wavefunction from a
7
c flowing-out external antifermion and a vector boson.
10
c complex foc(6) : flow-out fermion <foc|
11
c complex sc(6) : input scalar s
12
c complex gc(2) : coupling constants gchf
13
c real fmass : mass of output antifermion fc'
14
c real fwidth : width of output antifermion fc'
17
c complex fsoc(6) : off-shell fermion <fo,s,fc'|
20
double complex foc(6),sc(6),fsoc(6),gc(2),sl1,sl2,sr1,sr2,ds
21
double precision pf(0:3),fmass,fwidth,pf2,p0p3,p0m3
23
fsoc(5) = foc(5)+sc(2)
24
fsoc(6) = foc(6)+sc(3)
26
pf(0) = dble( fsoc(5))
27
pf(1) = dble( fsoc(6))
28
pf(2) = dimag(fsoc(6))
29
pf(3) = dimag(fsoc(5))
30
pf2 = pf(0)**2-(pf(1)**2+pf(2)**2+pf(3)**2)
32
ds = -sc(1)/dcmplx( pf2-fmass**2, fmass*fwidth )
35
sl1 = gc(2)*(p0p3*foc(3) +fsoc(6) *foc(4))
36
sl2 = gc(2)*(p0m3*foc(4)+dconjg(fsoc(6))*foc(3))
37
sr1 = gc(1)*(p0m3*foc(1) -fsoc(6) *foc(2))
38
sr2 = gc(1)*(p0p3*foc(2)-dconjg(fsoc(6))*foc(1))
40
fsoc(1) = ( gc(1)*fmass*foc(1) + sl1 )*ds
41
fsoc(2) = ( gc(1)*fmass*foc(2) + sl2 )*ds
42
fsoc(3) = ( gc(2)*fmass*foc(3) + sr1 )*ds
43
fsoc(4) = ( gc(2)*fmass*foc(4) + sr2 )*ds