]>
Commit | Line | Data |
---|---|---|
da0e9ce3 | 1 | C-------------------------------------------------------------------------- |
2 | C | |
3 | C Environment: | |
4 | C This software is part of the EvtGen package developed jointly | |
5 | C for the BaBar and CLEO collaborations. If you use all or part | |
6 | C of it, please give an appropriate acknowledgement. | |
7 | C | |
8 | C Copyright Information: See EvtGen/COPYRIGHT | |
9 | C Copyright (C) 1998 Caltech, UCSB | |
10 | C | |
11 | C Module: EvtLi2Spence.F | |
12 | C | |
13 | C Description: | |
14 | C | |
15 | C Modification history: | |
16 | C | |
17 | C DJL/RYD August 11, 1998 Module created | |
18 | C | |
19 | C------------------------------------------------------------------------ | |
20 | C ----------------------------------------------------------------- | |
21 | DOUBLE PRECISION FUNCTION LI2SPENCE(X) | |
22 | C ************************************************************* | |
23 | C REAL SPENCE FUNCTION OBTAINED FROM J. VAN DER BIJ | |
24 | C ************************************************************* | |
25 | IMPLICIT REAL*8 (A-Z) | |
26 | COMPLEX*16 Y,Z,Z2,SP | |
27 | REAL*8 XR,XI,R2 | |
28 | REAL*8 A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,ZETA2 | |
29 | DATA A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,ZETA2/ | |
30 | 1 -0.250000000000000D0, | |
31 | 2 -0.111111111111111D0, | |
32 | 3 -0.010000000000000D0, | |
33 | 4 -0.017006802721088D0, | |
34 | 5 -0.019444444444444D0, | |
35 | 6 -0.020661157024793D0, | |
36 | 7 -0.021417300648069D0, | |
37 | 8 -0.021948866377231D0, | |
38 | 9 -0.022349233811171D0, | |
39 | 1 -0.022663689135191D0, | |
40 | 2 1.644934066848226D0/ | |
41 | ||
42 | LI2SPENCE=0 | |
43 | XR=X | |
44 | XI=0.0D0 | |
45 | R2=XR*XR+XI*XI | |
46 | IF(R2.GT.1.D0.AND.(XR/R2).GT.0.5D0)THEN | |
47 | Y=(X-1.D0)/X | |
48 | Z=-LOG(1.D0-Y) | |
49 | Z2=Z*Z | |
50 | SP=Z*(1.D0+A1*Z*(1.D0+A2*Z*(1.D0+A3*Z2*(1.D0+A4*Z2* | |
51 | 1 (1.D0+A5*Z2*(1.D0+A6*Z2*(1.D0+A7*Z2*(1.D0+A8*Z2*(1.D0+A9*Z2* | |
52 | 2 (1.D0+A10*Z2)))))))))) | |
53 | 3 +ZETA2-LOG(X)*LOG(1.D0-X)+0.5D0*LOG(X)**2 | |
54 | LI=DREAL(SP) | |
55 | RETURN | |
56 | ELSEIF(R2.GT.1.D0.AND.(XR/R2).LE.0.5D0)THEN | |
57 | Y=1.D0/X | |
58 | Z=-LOG(1.D0-Y) | |
59 | Z2=Z*Z | |
60 | SP=-Z*(1.D0+A1*Z*(1.D0+A2*Z*(1.D0+A3*Z2*(1.D0+A4*Z2* | |
61 | 1 (1.D0+A5*Z2*(1.D0+A6*Z2*(1.D0+A7*Z2*(1.D0+A8*Z2*(1.D0+A9*Z2* | |
62 | 2 (1.D0+A10*Z2)))))))))) | |
63 | 3 -ZETA2-0.5D0*LOG(-X)**2 | |
64 | LI=DREAL(SP) | |
65 | RETURN | |
66 | ELSEIF(R2.EQ.1.D0.AND.XI.EQ.0.D0)THEN | |
67 | SP=ZETA2 | |
68 | LI=DREAL(SP) | |
69 | RETURN | |
70 | ELSEIF(R2.LE.1.D0.AND.XR.GT.0.5D0)THEN | |
71 | Y=1.D0-X | |
72 | Z=-LOG(1.D0-Y) | |
73 | Z2=Z*Z | |
74 | SP=-Z*(1.D0+A1*Z*(1.D0+A2*Z*(1.D0+A3*Z2*(1.D0+A4*Z2* | |
75 | 1 (1.D0+A5*Z2*(1.D0+A6*Z2*(1.D0+A7*Z2*(1.D0+A8*Z2*(1.D0+A9*Z2* | |
76 | 2 (1.D0+A10*Z2)))))))))) | |
77 | 3 +ZETA2-LOG(X)*LOG(1.D0-X) | |
78 | LI=DREAL(SP) | |
79 | RETURN | |
80 | ELSEIF(R2.LE.1.D0.AND.XR.LE.0.5D0)THEN | |
81 | Y=X | |
82 | Z=-LOG(1.D0-Y) | |
83 | Z2=Z*Z | |
84 | SP=Z*(1.D0+A1*Z*(1.D0+A2*Z*(1.D0+A3*Z2*(1.D0+A4*Z2* | |
85 | 1 (1.D0+A5*Z2*(1.D0+A6*Z2*(1.D0+A7*Z2*(1.D0+A8*Z2*(1.D0+A9*Z2* | |
86 | 2 (1.D0+A10*Z2)))))))))) | |
87 | LI2SPENCE=DREAL(SP) | |
88 | RETURN | |
89 | ENDIF | |
90 | END | |
91 | C ---------------------------------------------------------------------- | |
92 |