~maddevelopers/mg5amcnlo/3.0.2-alpha0

« back to all changes in this revision

Viewing changes to HELAS/jvtaxx.F

Added Template and HELAS into bzr

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
      subroutine jvtaxx(ga,tc,g,xm1,xw,jw)
 
2
c
 
3
c- by RF - Feb. 2006
 
4
c
 
5
c This subroutine computes the off-shell vector current
 
6
c in terms of the vector w1 and tensor jt 
 
7
c
 
8
c     input:
 
9
c         complex ga                  : incoming vector boson
 
10
c         complex tc                  : incoming tensor particle
 
11
c         real    g                   : coupling constant
 
12
c
 
13
c     output:
 
14
c         complex jw                  : outgoing vector current
 
15
c
 
16
c     not used:
 
17
c         real xm1, xw
 
18
c
 
19
 
 
20
      implicit none
 
21
 
 
22
c dimension of the current set to arbitrary length
 
23
c      integer DIM
 
24
c      parameter (DIM=18)
 
25
      include "dimension.inc"
 
26
      double complex ga(DIM),jw(DIM),tc(DIM)
 
27
      double complex gt1(4), gt2(4)
 
28
      double precision q(0:3),g,q2,dv
 
29
      double precision xm1,xw
 
30
      double precision sqrTwo
 
31
      parameter( sqrTwo = 1.41421356237309514547462185873882845044d0 )
 
32
 
 
33
      jw(5) = ga(5) + tc(17)
 
34
      jw(6) = ga(6) + tc(18)
 
35
 
 
36
      q(0) = - dble( jw(5))
 
37
      q(1) = - dble( jw(6))
 
38
      q(2) = - dimag(jw(6))
 
39
      q(3) = - dimag(jw(5))
 
40
 
 
41
      q2 = q(0)**2 -q(1)**2 -q(2)**2 -q(3)**2
 
42
 
 
43
 
 
44
 
 
45
c Gluon propagator:
 
46
 
 
47
      dv = - g /sqrTwo / q2
 
48
 
 
49
 
 
50
c First take the inner product of the incoming vector with the
 
51
c second index of the tensor
 
52
 
 
53
      gt2(1) = ga(1)*tc( 1) - ga(2)*tc( 2) - ga(3)*tc( 3) - ga(4)*tc( 4)
 
54
      gt2(2) = ga(1)*tc( 5) - ga(2)*tc( 6) - ga(3)*tc( 7) - ga(4)*tc( 8)
 
55
      gt2(3) = ga(1)*tc( 9) - ga(2)*tc(10) - ga(3)*tc(11) - ga(4)*tc(12)
 
56
      gt2(4) = ga(1)*tc(13) - ga(2)*tc(14) - ga(3)*tc(15) - ga(4)*tc(16)
 
57
 
 
58
c and with the first index of the tensor
 
59
 
 
60
      gt1(1) = ga(1)*tc( 1) - ga(2)*tc( 5) - ga(3)*tc( 9) - ga(4)*tc(13)
 
61
      gt1(2) = ga(1)*tc( 2) - ga(2)*tc( 6) - ga(3)*tc(10) - ga(4)*tc(14)
 
62
      gt1(3) = ga(1)*tc( 3) - ga(2)*tc( 7) - ga(3)*tc(11) - ga(4)*tc(15)
 
63
      gt1(4) = ga(1)*tc( 4) - ga(2)*tc( 8) - ga(3)*tc(12) - ga(4)*tc(16)
 
64
 
 
65
c The current is the difference of gt1 and gt2 with the remaining
 
66
c tensor indices the indices of the outgoing vector current
 
67
 
 
68
      jw(1) = dv * (gt1(1) - gt2(1))
 
69
      jw(2) = dv * (gt1(2) - gt2(2))
 
70
      jw(3) = dv * (gt1(3) - gt2(3))
 
71
      jw(4) = dv * (gt1(4) - gt2(4))
 
72
 
 
73
      return
 
74
      end
 
75