1
subroutine t2xxxx(p,tmass,nhel,nst ,ft)
3
c This subroutine computes k^mu*e^nu where e is delta(i,nhel).
4
c It is used to test for gauge invariance of the tensor routines.
7
c real p(0:3) : four-momentum of tensor boson
8
c real tmass : mass of tensor boson
9
c integer nhel = =-2..2 : construction of e^nu
10
c integer nst = -1 or 1 : +1 for final, -1 for initial
13
c complex tc(6,4) : tensor wavefunction epsilon^mu^nu(t)
16
double complex ft(18),tc(6,4), ep(4), em(4)
17
double precision p(0:3), tmass
18
integer nhel, nst, i, j
20
double precision rZero, rOne
21
parameter( rZero = 0.0d0, rOne = 1.0d0 )
23
tc(5,1) = dcmplx(p(0),p(3))*nst
24
tc(6,1) = dcmplx(p(1),p(2))*nst
26
ep(1) = dcmplx( p(0), rZero )
27
ep(2) = dcmplx( p(1), rZero )
28
ep(3) = dcmplx( p(2), rZero )
29
ep(4) = dcmplx( p(3), rZero )
32
em(1) = dcmplx( rOne , rZero )
33
em(2) = dcmplx( rZero, rZero )
34
em(3) = dcmplx( rZero, rZero )
35
em(4) = dcmplx( rZero, rZero )
36
else if ( nhel.eq.-1 ) then
37
em(1) = dcmplx( rZero, rZero )
38
em(2) = dcmplx( rOne , rZero )
39
em(3) = dcmplx( rZero, rZero )
40
em(4) = dcmplx( rZero, rZero )
41
else if ( nhel.eq.2 ) then
42
em(1) = dcmplx( rZero, rZero )
43
em(2) = dcmplx( rZero, rZero )
44
em(3) = dcmplx( rOne , rZero )
45
em(4) = dcmplx( rZero, rZero )
46
else if ( nhel.eq.-2.or.nhel.eq.0 ) then
47
em(1) = dcmplx( rZero, rZero )
48
em(2) = dcmplx( rZero, rZero )
49
em(3) = dcmplx( rZero, rZero )
50
em(4) = dcmplx( rOne , rZero )