~maddevelopers/mg5amcnlo/2.5.3

« back to all changes in this revision

Viewing changes to HELAS/t2xxxx.f

  • Committer: olivier-mattelaer
  • Date: 2017-03-08 12:31:17 UTC
  • Revision ID: olivier-mattelaer-20170308123117-h0zkqjyh9sihsc61
empty version to have an effective freeze of the code

Show diffs side-by-side

added added

removed removed

Lines of Context:
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