1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
subroutine v2xxxx(p,vmass,nhel,nsv , vc)
c
c This subroutine computes a VECTOR wavefunction.
c
c input:
c real p(0:3) : four-momentum of vector boson
c real vmass : mass of vector boson
c integer nhel = -1, 0, 1: helicity of vector boson
c (0 is forbidden if vmass=0.0)
c integer nsv = -1 or 1 : +1 for final, -1 for initial
c
c output:
c complex vc(6) : vector wavefunction epsilon^mu(v)
c
implicit none
double complex vc(6)
double precision p(0:3),vmass,hel,hel0,pt,pt2,pp,pzpt,emp,sqh
integer nhel,nsv,nsvahl
double precision rZero, rHalf, rOne, rTwo
parameter( rZero = 0.0d0, rHalf = 0.5d0 )
parameter( rOne = 1.0d0, rTwo = 2.0d0 )
vc(5) = dcmplx(p(0),p(3))*nsv
vc(6) = dcmplx(p(1),p(2))*nsv
if( vmass.eq.rZero ) then
vc(1) = rOne
vc(2) = p(1)/p(0)
vc(3) = p(2)/p(0)
vc(4) = p(3)/p(0)
else
vc(1) = p(0)/vmass
vc(2) = p(1)/vmass
vc(3) = p(2)/vmass
vc(4) = p(3)/vmass
endif
return
end
|