]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ISAJET/isasusy/ssme3.F
First commit.
[u/mrichter/AliRoot.git] / ISAJET / isasusy / ssme3.F
CommitLineData
0795afa3 1#include "isajet/pilot.h"
2 SUBROUTINE SSME3(KTYP,AM,ZI,ZF)
3C
4C Give matrix element data for mode most recently saved by
5C SSSAVE. Call this once for each pole in the matrix element,
6C giving the pole type, mass, and couplings. See /DKYSS3/
7C for more comments.
8C
9C Assumes SUSY decay product is always FIRST.
10C
11#if defined(CERNLIB_IMPNONE)
12 IMPLICIT NONE
13#endif
14C
15#include "isajet/sslun.inc"
16#include "isajet/ssmode.inc"
17#include "isajet/dkyss3.inc"
18C
19 INTEGER KTYP,I
20 REAL AM
21 COMPLEX ZI(2),ZF(2)
22C
23C If last SSSAVE failed, then skip the matrix element
24C
25 IF(.NOT.LSSMOD) RETURN
26C
27C If MSSMOD(NSSMOD)=0, have not booked any poles yet for
28C last mode saved. Increment mode counter, and set initial and
29C final poles to next one.
30C
31 IF(MSSMOD(NSSMOD).EQ.0) THEN
32 NMSS3=NMSS3+1
33 IF(NMSS3.GT.MXMSS3) THEN
34 WRITE(LOUT,*) 'ERROR IN SSME3...TOO MANY MODES=',NMSS3
35 STOP99
36 ENDIF
37 MSSMOD(NSSMOD)=-NMSS3
38 J1SS3(NMSS3)=NPSS3+1
39 J2SS3(NMSS3)=NPSS3+1
40 WTSS3(NMSS3)=0
41 ENDIF
42C
43C Add pole to list and set second counter to last pole
44C
45 NPSS3=NPSS3+1
46 IF(NPSS3.GT.MXPSS3) THEN
47 WRITE(LOUT,*) 'ERROR IN SSME3...TOO MANY POLES=',NPSS3
48 STOP99
49 ENDIF
50 KSS3(NPSS3)=KTYP
51 AMSS3(NPSS3)=AM
52 DO 100 I=1,2
53 ZISS3(I,NPSS3)=ZI(I)
54 ZFSS3(I,NPSS3)=ZF(I)
55100 CONTINUE
56 J2SS3(NMSS3)=NPSS3
57C
58 RETURN
59 END