~maddevelopers/mg5amcnlo/3.0.2-alpha0

« back to all changes in this revision

Viewing changes to HELAS/jvtcxx.F

Added Template and HELAS into bzr

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
      subroutine jvtcxx(vc,tc,gt,vmass,vwidth , jvt)
 
2
c-------------------CP3  2009.10-----------------
 
3
c
 
4
c This subroutine computes an off-shell vector current from 
 
5
c the coupling of two gauge bosons and a non-propagating tensor boson.
 
6
c
 
7
c input:
 
8
c       complex vc(6)          : input vector                                                     v
 
9
c       complex tc(18)         : input non-propagating tensor                          T
 
10
c       complex gt            : coupling constant         gt=gs
 
11
c       real    vmass         : mass  of output vector  v'
 
12
c       real    vwidth         :  width of output vector    v'
 
13
c
 
14
c output:
 
15
c       complex jvt(6)         : vector current             j^mu(v':v,T)
 
16
c
 
17
      implicit none
 
18
      double complex vc(6), tc(18), jvt(6)
 
19
      double precision vmass, vwidth,gt
 
20
 
 
21
      double complex ft(6,4)
 
22
      double precision pv2(4), pp2
 
23
 
 
24
      integer i, j
 
25
 
 
26
      double complex cZero
 
27
      double precision rZero, rTwo
 
28
      parameter( rZero = 0.0d0, rTwo = 2.0d0 )
 
29
      parameter( cZero = ( 0.0d0, 0.0d0 ) )
 
30
 
 
31
 
 
32
      ft(1,1) = tc(1)
 
33
      ft(1,2) = tc(2)
 
34
      ft(1,3) = tc(3)
 
35
      ft(1,4) = tc(4)
 
36
      ft(2,1) = tc(5)
 
37
      ft(2,2) = tc(6)
 
38
      ft(2,3) = tc(7)
 
39
      ft(2,4) = tc(8)
 
40
      ft(3,1) = tc(9)
 
41
      ft(3,2) = tc(10)
 
42
      ft(3,3) = tc(11)
 
43
      ft(3,4) = tc(12)
 
44
      ft(4,1) = tc(13)
 
45
      ft(4,2) = tc(14)
 
46
      ft(4,3) = tc(15)
 
47
      ft(4,4) = tc(16)
 
48
      ft(5,1) = tc(17)
 
49
      ft(6,1) = tc(18)
 
50
 
 
51
      jvt(5) = vc(5)+ft(5,1)
 
52
      jvt(6) = vc(6)+ft(6,1)
 
53
      pv2(1) = dreal(jvt(5))
 
54
      pv2(2) = dreal(jvt(6))
 
55
      pv2(3) = dimag(jvt(6))
 
56
      pv2(4) = dimag(jvt(5))
 
57
      pp2 = pv2(1)**2 - pv2(2)**2 - pv2(3)**2 - pv2(4)**2
 
58
 
 
59
 
 
60
        do i=1,4
 
61
            jvt(i)=-(ft(1,i)*vc(1)) + ft(2,i)*vc(2) + ft(3,i)*vc(3) 
 
62
     & + ft(4,i)*vc(4) 
 
63
            jvt(i)=jvt(i)*gt/dcmplx(pp2, 0.0d0)
 
64
         enddo
 
65
 
 
66
         
 
67
 
 
68
      return
 
69
      end