50.9.3
by Johan Alwall
Added Template and HELAS into bzr |
1 |
subroutine t2xxxx(p,tmass,nhel,nst ,ft) |
2 |
c
|
|
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.
|
|
5 |
c
|
|
6 |
c input:
|
|
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
|
|
11 |
c
|
|
12 |
c output:
|
|
13 |
c complex tc(6,4) : tensor wavefunction epsilon^mu^nu(t)
|
|
14 |
c
|
|
15 |
implicit none |
|
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 |
|
19 |
||
20 |
double precision rZero, rOne |
|
21 |
parameter( rZero = 0.0d0, rOne = 1.0d0 ) |
|
22 |
c
|
|
23 |
tc(5,1) = dcmplx(p(0),p(3))*nst |
|
24 |
tc(6,1) = dcmplx(p(1),p(2))*nst |
|
25 |
||
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 ) |
|
30 |
||
31 |
if ( nhel.eq.1 ) then |
|
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 ) |
|
51 |
end if |
|
52 |
||
53 |
do j = 1,4 |
|
54 |
do i = 1,4 |
|
55 |
tc(i,j) = ep(i)*em(j) |
|
56 |
end do |
|
57 |
end do |
|
58 |
c
|
|
59 |
ft(1)=tc(1,1) |
|
60 |
ft(2)=tc(1,2) |
|
61 |
ft(3)=tc(1,3) |
|
62 |
ft(4)=tc(1,4) |
|
63 |
ft(5)=tc(2,1) |
|
64 |
ft(6)=tc(2,2) |
|
65 |
ft(7)=tc(2,3) |
|
66 |
ft(8)=tc(2,4) |
|
67 |
ft(9)=tc(3,1) |
|
68 |
ft(10)=tc(3,2) |
|
69 |
ft(11)=tc(3,3) |
|
70 |
ft(12)=tc(3,4) |
|
71 |
ft(13)=tc(4,1) |
|
72 |
ft(14)=tc(4,2) |
|
73 |
ft(15)=tc(4,3) |
|
74 |
ft(16)=tc(4,4) |
|
75 |
ft(17)=tc(5,1) |
|
76 |
ft(18)=tc(6,1) |
|
77 |
||
78 |
return |
|
79 |
end |