]>
Commit | Line | Data |
---|---|---|
0795afa3 | 1 | #include "isajet/pilot.h" |
2 | SUBROUTINE SIGINT(F,Z,A1S,B1S,A2S,B2S) | |
3 | C | |
4 | C F(N+1) = INT(-Z,Z)(DX X**N/((A1+B1*X)*A2+B2*X))) | |
5 | C F(8) = F(9) = 0 (DUMMY VALUES) | |
6 | C | |
7 | DIMENSION F(9) | |
8 | #if defined(CERNLIB_DOUBLE) | |
9 | DOUBLE PRECISION A1,B1,A2,B2,A,B,C,Z,F,A1S,B1S,A2S,B2S | |
10 | #endif | |
11 | C | |
12 | A1=A1S | |
13 | B1=B1S | |
14 | A2=A2S | |
15 | B2=B2S | |
16 | F(8)=0. | |
17 | F(9)=0. | |
18 | C | |
19 | C SPECIAL CASE: X**N/(A1*A2) | |
20 | IF(B1.EQ.0..AND.B2.EQ.0.) THEN | |
21 | F(1)=2.*Z/(A1*A2) | |
22 | F(2)=0. | |
23 | F(3)=2.*Z**3/(3.*A1*A2) | |
24 | F(4)=0. | |
25 | F(5)=2.*Z**5/(5.*A1*A2) | |
26 | F(6)=0. | |
27 | F(7)=2.*Z**7/(7.*A1*A2) | |
28 | RETURN | |
29 | ENDIF | |
30 | C | |
31 | C SPECIAL CASE: X**N/(A+BX) | |
32 | IF(B1.EQ.0..OR.B2.EQ.0.) THEN | |
33 | IF(B1.EQ.0.) THEN | |
34 | A=A2/B2 | |
35 | C=1./(A1*B2) | |
36 | ELSE | |
37 | A=A1/B1 | |
38 | C=1./(A2*B1) | |
39 | ENDIF | |
40 | F(1)=LOG((A+Z)/(A-Z)) | |
41 | F(1)=F(1)*C | |
42 | F(2)=-A*LOG((A+Z)/(A-Z))+2.*Z | |
43 | F(2)=F(2)*C | |
44 | F(3)=A**2*LOG((A+Z)/(A-Z))-2.*A*Z | |
45 | F(3)=F(3)*C | |
46 | F(4)=-A**3*LOG((A+Z)/(A-Z))+2.*A**2*Z+2.*Z**3/3. | |
47 | F(4)=F(4)*C | |
48 | F(5)=A**4*LOG((A+Z)/(A-Z))-2.*A**3*Z-2.*A*Z**3/3. | |
49 | F(5)=F(5)*C | |
50 | F(6)=-A**5*LOG((A+Z)/(A-Z))+2.*A**4*Z+2.*A**2*Z**3/3.+2.*Z**5/5. | |
51 | F(6)=F(6)*C | |
52 | F(7)=A**6*LOG((A+Z)/(A-Z))-2.*A**5*Z-2.*A**3*Z**3/3. | |
53 | $ -2.*A*Z**5/5. | |
54 | F(7)=F(7)*C | |
55 | RETURN | |
56 | ENDIF | |
57 | C | |
58 | C B1 AND B2 NONZERO | |
59 | A1=A1/B1 | |
60 | A2=A2/B2 | |
61 | C=1./(B1*B2) | |
62 | C | |
63 | C SPECIAL CASE: X**N/(A+B*X)**2 | |
64 | IF(A1.EQ.A2) THEN | |
65 | A=A1 | |
66 | F(1)=2.*Z/(A**2-Z**2) | |
67 | F(1)=F(1)*C | |
68 | F(2)=-2.*A*Z/(A**2-Z**2)+LOG((A+Z)/(A-Z)) | |
69 | F(2)=F(2)*C | |
70 | F(3)=(4.*A**2*Z-2.*Z**3)/(A**2-Z**2)-2.*A*LOG((A+Z)/(A-Z)) | |
71 | F(3)=F(3)*C | |
72 | F(4)=(4.*A*Z**3-6.*A**3*Z)/(A**2-Z**2)+3.*A**2*LOG((A+Z)/(A-Z)) | |
73 | F(4)=F(4)*C | |
74 | F(5)=(-16.*A**2*Z**3/3.+8.*A**4*Z-2.*Z**5/3.)/(A**2-Z**2) | |
75 | $ -4.*A**3*LOG((A+Z)/(A-Z)) | |
76 | F(5)=F(5)*C | |
77 | F(6)=(4.*A*Z**5/3.+20.*A**3*Z**3/3.-10.*A**5*Z)/(A**2-Z**2) | |
78 | $ +5*A**4*LOG((A+Z)/(A-Z)) | |
79 | F(6)=F(6)*C | |
80 | F(7)=(-8.*A**2*Z**5/5.-8.*A**4*Z**3+12.*A**6*Z-2.*Z**7/5.) | |
81 | $ /(A**2-Z**2)-6.*A**5*LOG((A+Z)/(A-Z)) | |
82 | F(7)=F(7)*C | |
83 | RETURN | |
84 | ENDIF | |
85 | C | |
86 | C GENERAL CASE | |
87 | F(1)=(-LOG((A1+Z)/(A1-Z))+LOG((A2+Z)/(A2-Z)))/(A1-A2) | |
88 | F(1)=F(1)*C | |
89 | F(2)=(A1*LOG((A1+Z)/(A1-Z))-A2*LOG((A2+Z)/(A2-Z)))/(A1-A2) | |
90 | F(2)=F(2)*C | |
91 | F(3)=(-A1**2*LOG((A1+Z)/(A1-Z))+A2**2*LOG((A2+Z)/(A2-Z)))/(A1-A2) | |
92 | $+2.*Z | |
93 | F(3)=F(3)*C | |
94 | F(4)=(A1**3*LOG((A1+Z)/(A1-Z))-A2**3*LOG((A2+Z)/(A2-Z)))/(A1-A2) | |
95 | $+2.*Z*(-A1-A2) | |
96 | F(4)=F(4)*C | |
97 | F(5)=(-A1**4*LOG((A1+Z)/(A1-Z))+A2**4*LOG((A2+Z)/(A2-Z)))/(A1-A2) | |
98 | $+2.*Z*(A1*A2+A1**2+A2**2)+2.*Z**3/3. | |
99 | F(5)=F(5)*C | |
100 | F(6)=(A1**5*LOG((A1+Z)/(A1-Z))-A2**5*LOG((A2+Z)/(A2-Z)))/(A1-A2) | |
101 | $+2.*Z*(-A1*A2**2-A1**2*A2-A1**3-A2**3)+2.*Z**3/3.*(-A1-A2) | |
102 | F(6)=F(6)*C | |
103 | F(7)=(-A1**6*LOG((A1+Z)/(A1-Z))+A2**6*LOG((A2+Z)/(A2-Z)))/(A1-A2) | |
104 | $+2.*Z*(A1*A2**3+A1**2*A2**2+A1**3*A2+A1**4+A2**4) | |
105 | $+2.*Z**3/3.*(A1*A2+A1**2+A2**2)+2.*Z**5/5. | |
106 | F(7)=F(7)*C | |
107 | RETURN | |
108 | END |