]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MINICERN/mathlib/gen/g/vavset.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / MINICERN / mathlib / gen / g / vavset.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1996/04/01 15:02:48 mclareni
6* Mathlib gen
7*
8*
9#include "gen/pilot.h"
10 SUBROUTINE VAVSET(RKAPPA,BETA2,MODE)
11
12 COMMON /GXXXC1/ WCM(0:200),AC(0:13),HC(0:8),ITYPE,NPT
13
14 PARAMETER
15 1(BKMNX1 = 0.02, BKMNY1 = 0.05, BKMNX2 = 0.12, BKMNY2 = 0.05,
16 2 BKMNX3 = 0.22, BKMNY3 = 0.05, BKMXX1 = 0.1 , BKMXY1 = 1 ,
17 3 BKMXX2 = 0.2 , BKMXY2 = 1 , BKMXX3 = 0.3 , BKMXY3 = 1 )
18 PARAMETER
19 1(FBKX1 = 2/(BKMXX1-BKMNX1), FBKX2 = 2/(BKMXX2-BKMNX2),
20 2 FBKX3 = 2/(BKMXX3-BKMNX3), FBKY1 = 2/(BKMXY1-BKMNY1),
21 3 FBKY2 = 2/(BKMXY2-BKMNY2), FBKY3 = 2/(BKMXY3-BKMNY3))
22
23 DIMENSION EDGEC(2:7),FNINV(5),DRK(5),DSIGM(5),ALFA(2:5)
24 DIMENSION U1(13),U2(13),U3(13),U4(12),U5(13),U6(13),U7( 8),U8(13)
25 DIMENSION V1(12),V2(12),V3(13),V4(12),V5(13),V6(13),V7(11),V8(11)
26 DIMENSION W1(13),W2(11),W3(13),W4(13),W5(13),W6(13), W8( 8)
27
28 DATA FNINV /1, 0.5, 0.33333333, 0.25, 0.2/
29
30 DATA (EDGEC(J),J=2,7)
31 1/ 0.16666667E+0, 0.41666667E-1, 0.83333333E-2,
32 2 0.13888889E-1, 0.69444444E-2, 0.77160493E-3/
33
34 DATA (U1(K),K=1,13)
35 1/ 0.25850868E+0, 0.32477982E-1, -0.59020496E-2,
36 2 0. , 0.24880692E-1, 0.47404356E-2,
37 3 -0.74445130E-3, 0.73225731E-2, 0. ,
38 4 0.11668284E-2, 0. , -0.15727318E-2,-0.11210142E-2/
39
40 DATA (U2(K),K=1,13)
41 1/ 0.43142611E+0, 0.40797543E-1, -0.91490215E-2,
42 2 0. , 0.42127077E-1, 0.73167928E-2,
43 3 -0.14026047E-2, 0.16195241E-1, 0.24714789E-2,
44 4 0.20751278E-2, 0. , -0.25141668E-2,-0.14064022E-2/
45
46 DATA (U3(K),K=1,13)
47 1/ 0.25225955E+0, 0.64820468E-1, -0.23615759E-1,
48 2 0. , 0.23834176E-1, 0.21624675E-2,
49 3 -0.26865597E-2, -0.54891384E-2, 0.39800522E-2,
50 4 0.48447456E-2, -0.89439554E-2, -0.62756944E-2,-0.24655436E-2/
51
52 DATA (U4(K),K=1,12)
53 1/ 0.12593231E+1, -0.20374501E+0, 0.95055662E-1,
54 2 -0.20771531E-1, -0.46865180E-1, -0.77222986E-2,
55 3 0.32241039E-2, 0.89882920E-2, -0.67167236E-2,
56 4 -0.13049241E-1, 0.18786468E-1, 0.14484097E-1/
57
58 DATA (U5(K),K=1,13)
59 1/-0.24864376E-1, -0.10368495E-2, 0.14330117E-2,
60 2 0.20052730E-3, 0.18751903E-2, 0.12668869E-2,
61 3 0.48736023E-3, 0.34850854E-2, 0. ,
62 4 -0.36597173E-3, 0.19372124E-2, 0.70761825E-3, 0.46898375E-3/
63
64 DATA (U6(K),K=1,13)
65 1/ 0.35855696E-1, -0.27542114E-1, 0.12631023E-1,
66 2 -0.30188807E-2, -0.84479939E-3, 0. ,
67 3 0.45675843E-3, -0.69836141E-2, 0.39876546E-2,
68 4 -0.36055679E-2, 0. , 0.15298434E-2, 0.19247256E-2/
69
70 DATA (U7(K),K=1,8)
71 1/ 0.10234691E+2, -0.35619655E+1, 0.69387764E+0,
72 2 -0.14047599E+0, -0.19952390E+1, -0.45679694E+0,
73 3 0. , 0.50505298E+0/
74
75 DATA (U8(K),K=1,13)
76 1/ 0.21487518E+2, -0.11825253E+2, 0.43133087E+1,
77 2 -0.14500543E+1, -0.34343169E+1, -0.11063164E+1,
78 3 -0.21000819E+0, 0.17891643E+1, -0.89601916E+0,
79 4 0.39120793E+0, 0.73410606E+0, 0. ,-0.32454506E+0/
80
81 DATA (V1(K),K=1,12)
82 1/ 0.27827257E+0, -0.14227603E-2, 0.24848327E-2,
83 2 0. , 0.45091424E-1, 0.80559636E-2,
84 3 -0.38974523E-2, 0. , -0.30634124E-2,
85 4 0.75633702E-3, 0.54730726E-2, 0.19792507E-2/
86
87 DATA (V2(K),K=1,12)
88 1/ 0.41421789E+0, -0.30061649E-1, 0.52249697E-2,
89 2 0. , 0.12693873E+0, 0.22999801E-1,
90 3 -0.86792801E-2, 0.31875584E-1, -0.61757928E-2,
91 4 0. , 0.19716857E-1, 0.32596742E-2/
92
93 DATA (V3(K),K=1,13)
94 1/ 0.20191056E+0, -0.46831422E-1, 0.96777473E-2,
95 2 -0.17995317E-2, 0.53921588E-1, 0.35068740E-2,
96 3 -0.12621494E-1, -0.54996531E-2, -0.90029985E-2,
97 4 0.34958743E-2, 0.18513506E-1, 0.68332334E-2,-0.12940502E-2/
98
99 DATA (V4(K),K=1,12)
100 1/ 0.13206081E+1, 0.10036618E+0, -0.22015201E-1,
101 2 0.61667091E-2, -0.14986093E+0, -0.12720568E-1,
102 3 0.24972042E-1, -0.97751962E-2, 0.26087455E-1,
103 4 -0.11399062E-1, -0.48282515E-1, -0.98552378E-2/
104
105 DATA (V5(K),K=1,13)
106 1/ 0.16435243E-1, 0.36051400E-1, 0.23036520E-2,
107 2 -0.61666343E-3, -0.10775802E-1, 0.51476061E-2,
108 3 0.56856517E-2, -0.13438433E-1, 0. ,
109 4 0. , -0.25421507E-2, 0.20169108E-2,-0.15144931E-2/
110
111 DATA (V6(K),K=1,13)
112 1/ 0.33432405E-1, 0.60583916E-2, -0.23381379E-2,
113 2 0.83846081E-3, -0.13346861E-1, -0.17402116E-2,
114 3 0.21052496E-2, 0.15528195E-2, 0.21900670E-2,
115 4 -0.13202847E-2, -0.45124157E-2, -0.15629454E-2, 0.22499176E-3/
116
117 DATA (V7(K),K=1,11)
118 1/ 0.54529572E+1, -0.90906096E+0, 0.86122438E-1,
119 2 0. , -0.12218009E+1, -0.32324120E+0,
120 3 -0.27373591E-1, 0.12173464E+0, 0. ,
121 4 0. , 0.40917471E-1/
122
123 DATA (V8(K),K=1,11)
124 1/ 0.93841352E+1, -0.16276904E+1, 0.16571423E+0,
125 2 0. , -0.18160479E+1, -0.50919193E+0,
126 3 -0.51384654E-1, 0.21413992E+0, 0. ,
127 4 0. , 0.66596366E-1/
128
129 DATA (W1(K),K=1,13)
130 1/ 0.29712951E+0, 0.97572934E-2, 0. ,
131 2 -0.15291686E-2, 0.35707399E-1, 0.96221631E-2,
132 3 -0.18402821E-2, -0.49821585E-2, 0.18831112E-2,
133 4 0.43541673E-2, 0.20301312E-2, -0.18723311E-2,-0.73403108E-3/
134
135 DATA (W2(K),K=1,11)
136 1/ 0.40882635E+0, 0.14474912E-1, 0.25023704E-2,
137 2 -0.37707379E-2, 0.18719727E+0, 0.56954987E-1,
138 3 0. , 0.23020158E-1, 0.50574313E-2,
139 4 0.94550140E-2, 0.19300232E-1/
140
141 DATA (W3(K),K=1,13)
142 1/ 0.16861629E+0, 0. , 0.36317285E-2,
143 2 -0.43657818E-2, 0.30144338E-1, 0.13891826E-1,
144 3 -0.58030495E-2, -0.38717547E-2, 0.85359607E-2,
145 4 0.14507659E-1, 0.82387775E-2, -0.10116105E-1,-0.55135670E-2/
146
147 DATA (W4(K),K=1,13)
148 1/ 0.13493891E+1, -0.26863185E-2, -0.35216040E-2,
149 2 0.24434909E-1, -0.83447911E-1, -0.48061360E-1,
150 3 0.76473951E-2, 0.24494430E-1, -0.16209200E-1,
151 4 -0.37768479E-1, -0.47890063E-1, 0.17778596E-1, 0.13179324E-1/
152
153 DATA (W5(K),K=1,13)
154 1/ 0.10264945E+0, 0.32738857E-1, 0. ,
155 2 0.43608779E-2, -0.43097757E-1, -0.22647176E-2,
156 3 0.94531290E-2, -0.12442571E-1, -0.32283517E-2,
157 4 -0.75640352E-2, -0.88293329E-2, 0.52537299E-2, 0.13340546E-2/
158
159 DATA (W6(K),K=1,13)
160 1/ 0.29568177E-1, -0.16300060E-2, -0.21119745E-3,
161 2 0.23599053E-2, -0.48515387E-2, -0.40797531E-2,
162 3 0.40403265E-3, 0.18200105E-2, -0.14346306E-2,
163 4 -0.39165276E-2, -0.37432073E-2, 0.19950380E-2, 0.12222675E-2/
164
165 DATA (W8(K),K=1,8)
166 1/ 0.66184645E+1, -0.73866379E+0, 0.44693973E-1,
167 2 0. , -0.14540925E+1, -0.39529833E+0,
168 3 -0.44293243E-1, 0.88741049E-1/
169
170 ITYPE=0
171 IF(RKAPPA .LT. 0.01 .OR. RKAPPA .GT. 12) RETURN
172 IF(RKAPPA .GE. 0.29) THEN
173 ITYPE=1
174 NPT=100
175 WK=1/SQRT(RKAPPA)
176 AC(0)=(-0.032227*BETA2-0.074275)*RKAPPA+
177 1 (0.24533*BETA2+0.070152)*WK+(-0.55610*BETA2-3.1579)
178 AC(8)=(-0.013483*BETA2-0.048801)*RKAPPA+
179 1 (-1.6921*BETA2+8.3656)*WK+(-0.73275*BETA2-3.5226)
180 DRK(1)=WK**2
181 DSIGM(1)=SQRT(RKAPPA/(1-0.5*BETA2))
182 DO 1 J = 1,4
183 DRK(J+1)=DRK(1)*DRK(J)
184 DSIGM(J+1)=DSIGM(1)*DSIGM(J)
185 1 ALFA(J+1)=(FNINV(J)-BETA2*FNINV(J+1))*DRK(J)
186
187 HC(0)=LOG(RKAPPA)+BETA2+0.42278434
188 HC(1)=DSIGM(1)
189 HC(2)=ALFA(3)*DSIGM(3)
190 HC(3)=(3*ALFA(2)**2+ALFA(4))*DSIGM(4)-3
191 HC(4)=(10*ALFA(2)*ALFA(3)+ALFA(5))*DSIGM(5)-10*HC(2)
192 HC(5)=HC(2)**2
193 HC(6)=HC(2)*HC(3)
194 HC(7)=HC(2)*HC(5)
195 DO 2 J = 2,7
196 2 HC(J)=EDGEC(J)*HC(J)
197 HC(8)=0.39894228*HC(1)
198 ELSEIF(RKAPPA .GE. 0.22) THEN
199 ITYPE=2
200 NPT=150
201 X=1+(RKAPPA-BKMXX3)*FBKX3
202 Y=1+(SQRT(BETA2)-BKMXY3)*FBKY3
203 XX=2*X
204 YY=2*Y
205 X2=XX*X-1
206 X3=XX*X2-X
207 Y2=YY*Y-1
208 Y3=YY*Y2-Y
209 XY=X*Y
210 P2=X2*Y
211 P3=X3*Y
212 Q2=Y2*X
213 Q3=Y3*X
214 PQ=X2*Y2
215 AC(1)=W1(1)+W1(2)*X+W1(4)*X3+W1(5)*Y+W1(6)*Y2+W1(7)*Y3+
216 1 W1(8)*XY+W1(9)*P2+W1(10)*P3+W1(11)*Q2+W1(12)*Q3+W1(13)*PQ
217 AC(2)=W2(1)+W2(2)*X+W2(3)*X2+W2(4)*X3+W2(5)*Y+W2(6)*Y2+
218 1 W2(8)*XY+W2(9)*P2+W2(10)*P3+W2(11)*Q2
219 AC(3)=W3(1)+W3(3)*X2+W3(4)*X3+W3(5)*Y+W3(6)*Y2+W3(7)*Y3+
220 1 W3(8)*XY+W3(9)*P2+W3(10)*P3+W3(11)*Q2+W3(12)*Q3+W3(13)*PQ
221 AC(4)=W4(1)+W4(2)*X+W4(3)*X2+W4(4)*X3+W4(5)*Y+W4(6)*Y2+W4(7)*Y3+
222 1 W4(8)*XY+W4(9)*P2+W4(10)*P3+W4(11)*Q2+W4(12)*Q3+W4(13)*PQ
223 AC(5)=W5(1)+W5(2)*X+W5(4)*X3+W5(5)*Y+W5(6)*Y2+W5(7)*Y3+
224 1 W5(8)*XY+W5(9)*P2+W5(10)*P3+W5(11)*Q2+W5(12)*Q3+W5(13)*PQ
225 AC(6)=W6(1)+W6(2)*X+W6(3)*X2+W6(4)*X3+W6(5)*Y+W6(6)*Y2+W6(7)*Y3+
226 1 W6(8)*XY+W6(9)*P2+W6(10)*P3+W6(11)*Q2+W6(12)*Q3+W6(13)*PQ
227 AC(8)=W8(1)+W8(2)*X+W8(3)*X2+W8(5)*Y+W8(6)*Y2+W8(7)*Y3+W8(8)*XY
228 AC(0)=-3.05
229 ELSEIF(RKAPPA .GE. 0.12) THEN
230 ITYPE=3
231 NPT=200
232 X=1+(RKAPPA-BKMXX2)*FBKX2
233 Y=1+(SQRT(BETA2)-BKMXY2)*FBKY2
234 XX=2*X
235 YY=2*Y
236 X2=XX*X-1
237 X3=XX*X2-X
238 Y2=YY*Y-1
239 Y3=YY*Y2-Y
240 XY=X*Y
241 P2=X2*Y
242 P3=X3*Y
243 Q2=Y2*X
244 Q3=Y3*X
245 PQ=X2*Y2
246 AC(1)=V1(1)+V1(2)*X+V1(3)*X2+V1(5)*Y+V1(6)*Y2+V1(7)*Y3+
247 1 V1(9)*P2+V1(10)*P3+V1(11)*Q2+V1(12)*Q3
248 AC(2)=V2(1)+V2(2)*X+V2(3)*X2+V2(5)*Y+V2(6)*Y2+V2(7)*Y3+
249 1 V2(8)*XY+V2(9)*P2+V2(11)*Q2+V2(12)*Q3
250 AC(3)=V3(1)+V3(2)*X+V3(3)*X2+V3(4)*X3+V3(5)*Y+V3(6)*Y2+V3(7)*Y3+
251 1 V3(8)*XY+V3(9)*P2+V3(10)*P3+V3(11)*Q2+V3(12)*Q3+V3(13)*PQ
252 AC(4)=V4(1)+V4(2)*X+V4(3)*X2+V4(4)*X3+V4(5)*Y+V4(6)*Y2+V4(7)*Y3+
253 1 V4(8)*XY+V4(9)*P2+V4(10)*P3+V4(11)*Q2+V4(12)*Q3
254 AC(5)=V5(1)+V5(2)*X+V5(3)*X2+V5(4)*X3+V5(5)*Y+V5(6)*Y2+V5(7)*Y3+
255 1 V5(8)*XY+V5(11)*Q2+V5(12)*Q3+V5(13)*PQ
256 AC(6)=V6(1)+V6(2)*X+V6(3)*X2+V6(4)*X3+V6(5)*Y+V6(6)*Y2+V6(7)*Y3+
257 1 V6(8)*XY+V6(9)*P2+V6(10)*P3+V6(11)*Q2+V6(12)*Q3+V6(13)*PQ
258 AC(7)=V7(1)+V7(2)*X+V7(3)*X2+V7(5)*Y+V7(6)*Y2+V7(7)*Y3+
259 1 V7(8)*XY+V7(11)*Q2
260 AC(8)=V8(1)+V8(2)*X+V8(3)*X2+V8(5)*Y+V8(6)*Y2+V8(7)*Y3+
261 1 V8(8)*XY+V8(11)*Q2
262 AC(0)=-3.04
263 ELSE
264 ITYPE=4
265 IF(RKAPPA .GE. 0.02) ITYPE=3
266 NPT=200
267 X=1+(RKAPPA-BKMXX1)*FBKX1
268 Y=1+(SQRT(BETA2)-BKMXY1)*FBKY1
269 XX=2*X
270 YY=2*Y
271 X2=XX*X-1
272 X3=XX*X2-X
273 Y2=YY*Y-1
274 Y3=YY*Y2-Y
275 XY=X*Y
276 P2=X2*Y
277 P3=X3*Y
278 Q2=Y2*X
279 Q3=Y3*X
280 PQ=X2*Y2
281 IF(ITYPE .EQ. 3) THEN
282 AC(1)=U1(1)+U1(2)*X+U1(3)*X2+U1(5)*Y+U1(6)*Y2+U1(7)*Y3+
283 1 U1(8)*XY+U1(10)*P3+U1(12)*Q3+U1(13)*PQ
284 AC(2)=U2(1)+U2(2)*X+U2(3)*X2+U2(5)*Y+U2(6)*Y2+U2(7)*Y3+
285 1 U2(8)*XY+U2(9)*P2+U2(10)*P3+U2(12)*Q3+U2(13)*PQ
286 AC(3)=U3(1)+U3(2)*X+U3(3)*X2+U3(5)*Y+U3(6)*Y2+U3(7)*Y3+
287 1 U3(8)*XY+U3(9)*P2+U3(10)*P3+U3(11)*Q2+U3(12)*Q3+U3(13)*PQ
288 AC(4)=U4(1)+U4(2)*X+U4(3)*X2+U4(4)*X3+U4(5)*Y+U4(6)*Y2+U4(7)*Y3+
289 1 U4(8)*XY+U4(9)*P2+U4(10)*P3+U4(11)*Q2+U4(12)*Q3
290 AC(5)=U5(1)+U5(2)*X+U5(3)*X2+U5(4)*X3+U5(5)*Y+U5(6)*Y2+U5(7)*Y3+
291 1 U5(8)*XY+U5(10)*P3+U5(11)*Q2+U5(12)*Q3+U5(13)*PQ
292 AC(6)=U6(1)+U6(2)*X+U6(3)*X2+U6(4)*X3+U6(5)*Y+U6(7)*Y3+
293 1 U6(8)*XY+U6(9)*P2+U6(10)*P3+U6(12)*Q3+U6(13)*PQ
294 AC(7)=U7(1)+U7(2)*X+U7(3)*X2+U7(4)*X3+U7(5)*Y+U7(6)*Y2+U7(8)*XY
295 ENDIF
296 AC(8)=U8(1)+U8(2)*X+U8(3)*X2+U8(4)*X3+U8(5)*Y+U8(6)*Y2+U8(7)*Y3+
297 1 U8(8)*XY+U8(9)*P2+U8(10)*P3+U8(11)*Q2+U8(13)*PQ
298 AC(0)=-3.03
299 ENDIF
300 AC(9)=(AC(8)-AC(0))/NPT
301 AC(10)=1/AC(9)
302 IF(ITYPE .EQ. 3) THEN
303 X=(AC(7)-AC(8))/(AC(7)*AC(8))
304 Y=1/LOG(AC(8)/AC(7))
305 P2=AC(7)**2
306 AC(11)=P2*(AC(1)*EXP(-AC(2)*(AC(7)+AC(5)*P2)-
307 1 AC(3)*EXP(-AC(4)*(AC(7)+AC(6)*P2)))-0.045*Y/AC(7))/
308 2 (1+X*Y*AC(7))
309 AC(12)=(0.045+X*AC(11))*Y
310 ENDIF
311 IF(ITYPE .EQ. 4) AC(13)=0.995/DISLAN(AC(8))
312
313 IF(MODE .EQ. 0) RETURN
314 X=AC(0)
315 WCM(0)=0
316 FL=VAVDEN(X)
317 DO 11 K = 1,NPT
318 X=X+AC(9)
319 FU=VAVDEN(X)
320 WCM(K)=WCM(K-1)+FL+FU
321 11 FL=FU
322 X=0.5*AC(9)
323 DO 12 K = 1,NPT
324 12 WCM(K)=X*WCM(K)
325 RETURN
326 END