]>
Commit | Line | Data |
---|---|---|
0795afa3 | 1 | #include "isajet/pilot.h" |
2 | SUBROUTINE SSME3(KTYP,AM,ZI,ZF) | |
3 | C | |
4 | C Give matrix element data for mode most recently saved by | |
5 | C SSSAVE. Call this once for each pole in the matrix element, | |
6 | C giving the pole type, mass, and couplings. See /DKYSS3/ | |
7 | C for more comments. | |
8 | C | |
9 | C Assumes SUSY decay product is always FIRST. | |
10 | C | |
11 | #if defined(CERNLIB_IMPNONE) | |
12 | IMPLICIT NONE | |
13 | #endif | |
14 | C | |
15 | #include "isajet/sslun.inc" | |
16 | #include "isajet/ssmode.inc" | |
17 | #include "isajet/dkyss3.inc" | |
18 | C | |
19 | INTEGER KTYP,I | |
20 | REAL AM | |
21 | COMPLEX ZI(2),ZF(2) | |
22 | C | |
23 | C If last SSSAVE failed, then skip the matrix element | |
24 | C | |
25 | IF(.NOT.LSSMOD) RETURN | |
26 | C | |
27 | C If MSSMOD(NSSMOD)=0, have not booked any poles yet for | |
28 | C last mode saved. Increment mode counter, and set initial and | |
29 | C final poles to next one. | |
30 | C | |
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 | |
42 | C | |
43 | C Add pole to list and set second counter to last pole | |
44 | C | |
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) | |
55 | 100 CONTINUE | |
56 | J2SS3(NMSS3)=NPSS3 | |
57 | C | |
58 | RETURN | |
59 | END |