]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ISAJET/utils/cern_lib/ddilog.F
added the delete of EMCAL object posted in the folder when new file is opened
[u/mrichter/AliRoot.git] / ISAJET / utils / cern_lib / ddilog.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.9  2000/07/25 14:53:05  mclareni
6 * Version 7.51 from author
7 *
8 *
9 *#include "sys/CERNLIB_machine.h"
10 #include "isajet/pilot.h"
11 #if defined(CERNLIB_NOCERN)
12       DOUBLE PRECISION FUNCTION DDILOG(X)
13 C
14 C          FROM CERN PROGRAM LIBRARY
15 C
16 #if defined(CERNLIB_IMPNONE)
17       IMPLICIT NONE
18 #endif
19       DOUBLE PRECISION X,Y,T,S,A,PI3,PI6,ZERO,ONE,HALF,MALF,MONE,MTWO
20       DOUBLE PRECISION C(0:18),H,ALFA,B0,B1,B2
21       INTEGER I
22 C
23       DATA ZERO /0.0D0/, ONE /1.0D0/
24       DATA HALF /0.5D0/, MALF /-0.5D0/, MONE /-1.0D0/, MTWO /-2.0D0/
25       DATA PI3 /3.28986 81336 96453D0/, PI6 /1.64493 40668 48226D0/
26 C
27       DATA C( 0) / 0.42996 69356 08137 0D0/
28       DATA C( 1) / 0.40975 98753 30771 1D0/
29       DATA C( 2) /-0.01858 84366 50146 0D0/
30       DATA C( 3) / 0.00145 75108 40622 7D0/
31       DATA C( 4) /-0.00014 30418 44423 4D0/
32       DATA C( 5) / 0.00001 58841 55418 8D0/
33       DATA C( 6) /-0.00000 19078 49593 9D0/
34       DATA C( 7) / 0.00000 02419 51808 5D0/
35       DATA C( 8) /-0.00000 00319 33412 7D0/
36       DATA C( 9) / 0.00000 00043 45450 6D0/
37       DATA C(10) /-0.00000 00006 05784 8D0/
38       DATA C(11) / 0.00000 00000 86121 0D0/
39       DATA C(12) /-0.00000 00000 12443 3D0/
40       DATA C(13) / 0.00000 00000 01822 6D0/
41       DATA C(14) /-0.00000 00000 00270 1D0/
42       DATA C(15) / 0.00000 00000 00040 4D0/
43       DATA C(16) /-0.00000 00000 00006 1D0/
44       DATA C(17) / 0.00000 00000 00000 9D0/
45       DATA C(18) /-0.00000 00000 00000 1D0/
46
47       IF(X .EQ. ONE) THEN
48        DDILOG=PI6
49        RETURN
50       ELSE IF(X .EQ. MONE) THEN
51        DDILOG=MALF*PI6
52        RETURN
53       END IF
54       T=-X
55       IF(T .LE. MTWO) THEN
56        Y=MONE/(ONE+T)
57        S=ONE
58        A=-PI3+HALF*(LOG(-T)**2-LOG(ONE+ONE/T)**2)
59       ELSE IF(T .LT. MONE) THEN
60        Y=MONE-T
61        S=MONE
62        A=LOG(-T)
63        A=-PI6+A*(A+LOG(ONE+ONE/T))
64       ELSE IF(T .LE. MALF) THEN
65        Y=(MONE-T)/T
66        S=ONE
67        A=LOG(-T)
68        A=-PI6+A*(MALF*A+LOG(ONE+T))
69       ELSE IF(T .LT. ZERO) THEN
70        Y=-T/(ONE+T)
71        S=MONE
72        A=HALF*LOG(ONE+T)**2
73       ELSE IF(T .LE. ONE) THEN
74        Y=T
75        S=ONE
76        A=ZERO
77       ELSE
78        Y=ONE/T
79        S=MONE
80        A=PI6+HALF*LOG(T)**2
81       END IF
82 C
83       H=Y+Y-ONE
84       ALFA=H+H
85       B1=ZERO
86       B2=ZERO
87       DO 1 I = 18,0,-1
88       B0=C(I)+ALFA*B1-B2
89       B2=B1
90     1 B1=B0
91       DDILOG=-(S*(B0-H*B2)+A)
92       RETURN
93       END
94 #endif
95
96
97
98
99
100