4 *CMZ :- -26/04/91 10.18.58 by Bryan Webber
6 *-- Author : Bryan Webber
8 C-----------------------------------------------------------------------
10 SUBROUTINE HWUSTA(NAME)
12 C-----------------------------------------------------------------------
14 C MAKES PARTICLE TYPE 'NAME' STABLE
16 C-----------------------------------------------------------------------
18 INCLUDE 'HERWIG61.INC'
24 CALL HWUIDT(3,IPDG,IWIG,NAME)
26 IF (IWIG.EQ.20) CALL HWWARN('HWUSTA',500,*999)
30 WRITE (6,10) IWIG,NAME
32 10 FORMAT(/10X,'PARTICLE TYPE',I4,'=',A8,' SET STABLE')
38 *CMZ :- -26/04/91 11.11.56 by Bryan Webber
40 *-- Author : Adapted by Bryan Webber
42 C-----------------------------------------------------------------------
44 FUNCTION HWUTAB(F,A,NN,X,MM)
46 C-----------------------------------------------------------------------
48 C MODIFIED CERN INTERPOLATION ROUTINE DIVDIF
50 C-----------------------------------------------------------------------
54 INTEGER NN,MM,MMAX,N,M,MPLUS,IX,IY,MID,NPTS,IP,I,J,L,ISUB
56 DOUBLE PRECISION HWUTAB,SUM,X,F(NN),A(NN),T(20),D(20)
72 IF (A(1).GT.A(N)) GOTO 4
76 IF (X.GE.A(MID)) GOTO 2
84 3 IF (IY-IX.GT.1) GOTO 1
90 IF (X.LE.A(MID)) GOTO 5
98 6 IF (IY-IX.GT.1) GOTO 4
114 IF ((1.LE.ISUB).AND.(ISUB.LE.N)) GOTO 10
126 11 IF (IP.LT.NPTS) GOTO 8
132 IF (.NOT.EXTRA) GOTO 12
136 D(M+2)=(D(M+2)-D(M))/(T(M+2)-T(ISUB))
144 D(I)=(D(I)-D(I-1))/(T(I)-T(ISUB))
154 IF (EXTRA) SUM=0.5*(SUM+D(M+2))
160 SUM=D(J)+(X-T(J))*SUM