~maddevelopers/mg5amcnlo/3.0.2-alpha0

« back to all changes in this revision

Viewing changes to HELAS/httaxx.F

Added Template and HELAS into bzr

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
      subroutine httaxx(tc1,tc2,gc,mass,width,jsc)
 
2
c
 
3
c- by RF - Mar. 2006 
 
4
c
 
5
c This subroutine computes an off-shell scalar from the tts coupling.
 
6
c
 
7
c     input:
 
8
c          complex tc1(18)           : Incoming tensor particle
 
9
c          complex tc2(18)           : Incoming tensor particle
 
10
c          complex gc(2)             : coupling constant: gt(1) scalar
 
11
c                                                         gt(2) not used
 
12
c          real    mass              : mass of the outgoing scalar
 
13
c          real    width             : width of the outgoing scalar
 
14
c
 
15
c     output:
 
16
c          complex sc(3)             : Incoming scalar particle
 
17
c
 
18
c
 
19
 
 
20
      implicit none
 
21
c--   dimension of the current set to arbitrary length
 
22
c      INTEGER DIM
 
23
c      PARAMETER(DIM=18)
 
24
      include "dimension.inc"
 
25
      double complex tc1(DIM),tc2(DIM),jsc(DIM)
 
26
      double complex vertex,dj,gc(2)
 
27
      double precision mass,width,q2,q(4)
 
28
 
 
29
c Take the inner product between the tensor particles. The 
 
30
c Note that the tensor particle is antisymmetric, thus all diagonal terms
 
31
c are zero.
 
32
 
 
33
      jsc(2)=tc1(17)+tc2(17)
 
34
      jsc(3)=tc1(18)+tc2(18)
 
35
 
 
36
      if (gc(1).NE.(0D0,0D0)) then
 
37
 
 
38
      q(1) = -dble( jsc(2))
 
39
      q(2) = -dble( jsc(3))
 
40
      q(3) = -dimag(jsc(3))
 
41
      q(4) = -dimag(jsc(2))
 
42
 
 
43
      q2 = q(1)**2 - q(2)**2 - q(3)**2 - q(4)**2
 
44
 
 
45
      dj = gc(1) /dcmplx( q2-mass**2, mass*width )
 
46
 
 
47
      jsc(1) = dj* (
 
48
c     &                       + tc1( 1) * tc2( 1)
 
49
     &                       - tc1( 2) * tc2( 2)
 
50
     &                       - tc1( 3) * tc2( 3)
 
51
     &                       - tc1( 4) * tc2( 4)
 
52
 
 
53
     &                       - tc1( 5) * tc2( 5)
 
54
c     &                       + tc1( 6) * tc2( 6)
 
55
     &                       + tc1( 7) * tc2( 7)
 
56
     &                       + tc1( 8) * tc2( 8)
 
57
 
 
58
     &                       - tc1( 9) * tc2( 9)
 
59
     &                       + tc1(10) * tc2(10)
 
60
c     &                       + tc1(11) * tc2(11)
 
61
     &                       + tc1(12) * tc2(12)
 
62
 
 
63
     &                       - tc1(13) * tc2(13)
 
64
     &                       + tc1(14) * tc2(14)
 
65
     &                       + tc1(15) * tc2(15)
 
66
c     &                       + tc1(16) * tc2(16)
 
67
     &                                           )
 
68
 
 
69
      else
 
70
         jsc( 1)=(0D0,0D0)
 
71
      endif
 
72
 
 
73
      return
 
74
      end