1 #include "isajet/pilot.h"
2 COMPLEX*16 FUNCTION SSF0(XQSQ,XM1,XM2)
3 #if defined(CERNLIB_IMPNONE)
7 DOUBLE PRECISION QSQ,M1,M2,M1SQ,M2SQ,AQSQ,RE,XI,R
8 DOUBLE PRECISION PI,T1,T2,BETA,XL,T
9 DATA PI/3.14159265359D0/
16 IF(AQSQ.LT.1.D-6*(M1SQ+M2SQ)) THEN
17 IF(ABS(M1-M2).LT.1.D-6*M1) THEN
18 IF(M1SQ.LT.1.D-8) THEN
21 RE=LOG(M1SQ)+.5*(M2SQ/M1SQ-1.D0) -QSQ/(6.*M1SQ)
24 IF(M2SQ.LT.1.D-6*M1SQ) THEN
26 ELSE IF(M1SQ.LT.1.D-6*M2SQ) THEN
28 ELSEIF(M1SQ.GE.1.D-9*M2SQ) THEN
29 RE=LOG(M1*M2)+(M1SQ+M2SQ)/(M1SQ-M2SQ)*LOG(M1/M2)-1.D0
30 $ -QSQ*(.5*(M1SQ+M2SQ)-M1SQ*M2SQ*LOG(M2SQ/M1SQ)/(M2SQ-M1SQ))
36 IF(M1SQ.LT.1.D-6*AQSQ.OR.M2SQ.LT.1.D-6*AQSQ.OR.
37 $ M1SQ+M2SQ.LT.1.D-5*AQSQ) THEN
38 IF(M1SQ.LT.1.D-6*AQSQ) THEN
43 IF(ABS(R-1.D0).GT.1.D-6.AND.ABS(R).GT.1.D-6.AND.
44 $ M1SQ+M2SQ.GT.1.D-5*AQSQ) THEN
45 RE=LOG(R*QSQ)-2.D0+(1.D0-R)*LOG(ABS(1.D0-1.D0/R))
49 IF(R.LT.1.D0.AND.R.GT.-1.D-10) THEN
57 BETA=SQRT(ABS((1.D0-T1/QSQ)*(1.D0-T2/QSQ)))
58 IF(QSQ.GT.T2.OR.QSQ.LT.T1) THEN
59 XL=.5*BETA*LOG((QSQ*(1.D0+BETA)-M1SQ-M2SQ)/
60 $ (QSQ*(1.D0-BETA)-M1SQ-M2SQ))
64 XL=BETA*ATAN(QSQ*BETA/T)
65 IF(T.LT.0.D0) XL = XL + PI*BETA
67 RE=LOG(M1*M2)-(M1SQ-M2SQ)/QSQ*LOG(M2/M1)-2.D0+XL
75 SSF0=RE*(1.D0,0.D0)-XI*(0.D0,1.D0)