~madteam/mg5amcnlo/series2.0

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