]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ISAJET/code/strucw.F
More volume overlaps corrected
[u/mrichter/AliRoot.git] / ISAJET / code / strucw.F
CommitLineData
0795afa3 1#include "isajet/pilot.h"
2 FUNCTION STRUCW(XW,IW,IH)
3C
4C LONGITUDINAL W STRUCTURE FUNCTIONS CALCULATED BY CONVOLUTION
5C OF EHLQ STRUCTURE FUNCTIONS AT Q**2=AMW**2 WITH F(W/Q) FROM
6C DAWSON, N.P. B249, 42 (1985).
7C IW = 1 2 3 4
8C GM W+ W- Z0
9C WARNING: DEFAULT VALUES ONLY FOR LAMBDA, SIN2W, ETC.
10C
11#if defined(CERNLIB_DOUBLE)
12 DOUBLE PRECISION X,XLOG
13#endif
14C FOLLOWING CONSTANTS ARE (CV**2+CA**2)/(4*PI**2)
15 DATA CVAW/2.701E-3/,CVAZUU/1.017E-3/,CVAZDD/1.298E-3/
16C
17C STATEMENT FUNCTIONS CALCULATED BY INTEGRATING EACH TERM IN
18C EHLQ PARAMETERIZATION USING SMP 1.5.0.
19C
20C FROM STRUCW2.EX
21 FUVAL(X) = 5.769575427 - 10.13681547*X + 3.042561145*XLOG -
22 $ 0.2798411214*(1./X) - 0.3404284678*(XLOG/X) + 8.296794608*(X**2)
23 $ - 6.017283047*(X**3) + 3.548706099*(X**4) - 1.560232679*(X**5)
24 $ + 0.4342326806*(X**6) - 0.05513649922*(X**7)
25C
26 FDVAL(X) = 2.533753356 - 4.57001915*X + 0.9589133982*XLOG -
27 $ 0.307417692*(1./X) - 0.1793690733*(XLOG/X) + 4.566485508*(X**2)
28 $ - 3.937617129*(X**3) + 2.773480477*(X**4) - 1.540248513*(X**5)
29 $ + 0.6183097947*(X**6) - 0.1542126064*(X**7) +
30 $ 0.0174859553*(X**8)
31C
32 FUSEA(X) = -5.503869566 + 15.20985662*X - 5.166205929*XLOG -
33 $ 1.728208206*(1./X) - 0.4215945253*(XLOG/X) - 18.82164974*(X**2)
34 $ + 24.27679709*(X**3) - 27.22445715*(X**4) + 24.98752188*(X**5)
35 $ - 18.12394891*(X**6) + 10.06144542*(X**7) - 4.106763252*(X**8)
36 $ + 1.15847115*(X**9) - 0.2014529514*(X**10) +
37 $ 0.01625760301*(X**11)
38C
39 FDSEA(X) = -5.478593775 + 15.1097528*X - 5.581750835*XLOG -
40 $ 1.987547927*(1./X) - 0.4944113864*(XLOG/X) - 17.23528157*(X**2)
41 $ + 20.59071315*(X**3) - 21.48775889*(X**4) + 18.40750425*(X**5)
42 $ - 12.46901771*(X**6) + 6.45303238*(X**7) - 2.445316084*(X**8) +
43 $ 0.6363027326*(X**9) - 0.1011660335*(X**10) +
44 $ 0.007376682094*(X**11)
45C
46 GUVAL1(X) = 6.650062246 + 1.480836233*X - 3.536793901*XLOG -
47 $ 5.08758928*(1./X) - 2.458893299*(XLOG/X) -
48 $ 0.4159265541*(XLOG**2/X) - 0.03949356966*(XLOG**3/X) -
49 $ 0.002175877338*(XLOG**4/X) - 6.382577207E-5*(XLOG**5/X) -
50 $ 7.324244818E-7*(XLOG**6/X) + 0.575121435*(X*XLOG) +
51 $ 0.09704190061*(X*XLOG**2) + 791./90953.*(X *XLOG**3)
52 GUVAL2(X) =
53 $ 3.962955366E-4*(X*XLOG**4) + 6.591820335E-6*(X *XLOG**5) -
54 $ 0.07706665525*(X**2*XLOG) - 0.01260088982*(X**2*XLOG**2) -
55 $ 0.001080476729*(X**2*XLOG**3) - 4.647425231E-5*(X**2*XLOG**4) -
56 $ 7.324244829E-7*(X**2*XLOG**5) - 0.2027508558*(X**2) -
57 $ 0.6721633358*(XLOG**2) - 0.07339139987*(XLOG**3) -
58 $ 0.004744695259*(XLOG**4) - 1.651100349E-4*XLOG**5 -
59 $ 2.197273446E-6*XLOG**6
60C
61 GDVAL1(X) = 2.403815112 + 1.359504335*X - 2.144999226*XLOG -
62 $ 2.357471591*(1./X) - 1.13339787*(XLOG/X) -
63 $ 0.2003574358*(XLOG**2/X) - 0.02221455952*(XLOG**3/X) -
64 $ 0.001601991722*(XLOG**4/X) - 6.878677010E-5*(XLOG**5/X) -
65 $ 1.323789434E-6*(XLOG**6/X) + 0.4984901703*(X*XLOG) +
66 $ 0.09080940556*(X*XLOG**2) + 0.01045471879*(X *XLOG**3)
67 GDVAL2(X) =
68 $ 7.339489291E-4*(X*XLOG**4) + 2.382820980E-5*(X *XLOG**5) -
69 $ 0.1348586553*(X**2*XLOG) - 0.02441501092*(X**2*XLOG**2) -
70 $ 0.002734669503*(X**2*XLOG**3) - 1.807502877E-4*(X**2*XLOG**4) -
71 $ 5.295157736E-6*(X**2*XLOG**5) + 0.01826324487*(X**3*XLOG) +
72 $ 0.003291926818*(X**3*XLOG**2) + 3.636001057E-4*(X**3*XLOG**3) +
73 $ 2.342115438E-5*(X**3*XLOG**4) + 6.618947159E-7*(X**3*XLOG**5) -
74 $ 0.3679347826*(X**2) + 0.04985470259*(X**3) -
75 $ 0.3928663839*(XLOG**2) - 0.04732954832*(XLOG**3) -
76 $ 0.003974205548*( XLOG**4) - 2.116051876E-4*XLOG**5 -
77 $ 5.295157736E-6*XLOG**6
78C
79 GUSEA1(X) = -0.8251281831 + 1.555766474*X - 0.476618796*XLOG -
80 $ 0.157877015*(1./X) + 0.3273497735*(XLOG/X) +
81 $ 0.1184829659*(XLOG**2/X) + 0.01147973292*(XLOG**3/X) +
82 $ 0.001370332595*(XLOG**4/X) + 4.084139287E-5*(XLOG**5/X) +
83 $ 2.284079310E-6*(XLOG**6/X) - 1.681676555*(X*XLOG) +
84 $ 0.01771802464*(X*XLOG**2) - 0.04546554244*(X *XLOG**3) -
85 $ 3.454606694E-4*(X*XLOG**4) - 1.438969965E-4*(X *XLOG**5) +
86 $ 0.8875664376*(X**2*XLOG) + 0.04051742981*(X**2 *XLOG**2)
87 GUSEA2(X) =
88 $ 0.0254151271*(X**2*XLOG**3) + 4.583985126E-4*(X**2*XLOG**4) +
89 $ 7.994277584E-5*(X**2*XLOG**5) - 0.4492144518*(X**3*XLOG) -
90 $ 0.02965496152*(X**3*XLOG**2) - 0.01288679853*(X**3*XLOG**3) -
91 $ 2.791634921E-4*(X**3*XLOG**4) - 3.997138792E-5*(X**3*XLOG**5) +
92 $ 0.1638328221*(X**4*XLOG) + 0.01250393016*(X**4*XLOG**2) +
93 $ 0.004685172364*(X**4*XLOG**3) + 1.100919901E-4*(X**4*XLOG**4) +
94 $ 1.438969967E-5*(X**4*XLOG**5) - 0.0367848506*(X**5*XLOG) -
95 $ 0.003035305139*(X**5*XLOG**2) - 0.001048416117*(X**5*XLOG**3) -
96 $ 2.579726667E-5*(X**5*XLOG**4) - 3.197711036E-6*(X**5*XLOG**5) +
97 $ 0.003783780648*(X**6*XLOG) + 3.278296157E-4*(X**6*XLOG**2) +
98 $ 1.075296502E-4*(X**6*XLOG**3) + 2.725601849E-6*(X**6*XLOG**4)
99 GUSEA3(X) =
100 $ 3.262970444E-7*(X**6*XLOG**5) - 0.2259054436*(X**2) +
101 $ 0.003364712414*(X**3) + 0.01992787001*(X**4) - 0.007399430903*
102 $ (X**5) + 9.652150086E-4*X**6 + 0.554652844*(XLOG**2) +
103 $ 0.011217842*(XLOG**3) + 0.007692743973*(XLOG**4) +
104 $ 9.402708800E-5*XLOG**5 + 1.598855517E-5*XLOG**6
105C
106 GDSEA1(X) = -0.9201807217 + 2.243479849*X - 0.899698589*XLOG -
107 $ 0.3970657521*(1./X) + 0.2818290666*(XLOG/X) +
108 $ 0.120664241*(XLOG**2/X) + 0.01043451714 *(XLOG**3/X) +
109 $ 0.001191246128*(XLOG**4/X) + 3.001102810E-5*(XLOG**5/X) +
110 $ 2.039937816E-6*(XLOG**6/X) - 1.787863927*(X*XLOG) +
111 $ 826./63247.*(X*XLOG**2) - 0.04263009293*(X*XLOG**3) +
112 $ 3.087205491E-5*( X*XLOG**4) - 1.285160824E-4*(X*XLOG**5) +
113 $ 0.9517638436*(X**2*XLOG) + 0.04047432532*(X**2*XLOG**2) +
114 $ 0.02332032497*(X**2*XLOG**3) + 2.208416029E-4*(X**2*XLOG**4)
115 GDSEA2(X) =
116 $ 7.139782355E-5*(X**2*XLOG**5) - 0.4816526149*(X**3*XLOG) -
117 $ 0.02893293689*(X**3*XLOG**2) - 0.01172595961*(X**3*XLOG**3) -
118 $ 1.550444419E-4*(X**3*XLOG**4) - 3.569891178E-5*(X**3*XLOG**5) +
119 $ 0.1755025883*(X**4*XLOG) + 0.01209064681*(X**4*XLOG**2) +
120 $ 0.004244259809*(X**4*XLOG**3) + 6.438373778E-5*(X**4*XLOG**4) +
121 $ 1.285160826E-5*(X**4*XLOG**5) - 0.03937044174*(X**5*XLOG) -
122 $ 0.002920614679*(X**5*XLOG**2) - 9.471446970E-4*(X**5*XLOG**3) -
123 $ 1.549746135E-5*(X**5*XLOG**4) - 2.855912944E-6*(X**5*XLOG**5)
124 GDSEA3(X) =
125 $ 0.004046756409*(X**6*XLOG) + 3.144555106E-4*(X**6*XLOG**2) +
126 $ 9.696129739E-5*(X**6*XLOG**3) + 1.664636351E-6*(X**6*XLOG**4) +
127 $ 2.914196881E-7*(X**6*XLOG**5) - 0.5703745807*(X**2) +
128 $ 0.1676594704*(X**3) - 0.03765961644*(X**4) +
129 $ 0.005180399826*(X**5) - 3.032419889E-4*X**6 +
130 $ 0.5916013402*(XLOG**2) + 0.0113078292*(XLOG**3) +
131 $ 0.007094724813*( XLOG**4) + 3.872242009E-5*XLOG**5 +
132 $ 1.427956471E-5*XLOG**6
133C
134 EUVAL(X) = -3.398748694 + 0.6266420937*(1./X)
135 EDVAL(X) = -1.300464877 + 0.2267175031*(1./X)
136 EUSEA(X) = -0.4281951222 + 0.0600001177*(1./X)
137 EDSEA(X) = -0.5744690066 + 0.08143317382*(1./X)
138C
139C ENTRY
140C
141 IF(XW.LE.0..OR.XW.GE.1.) THEN
142 STRUCW=0.
143 RETURN
144 ENDIF
145 X=XW
146 XLOG=LOG(X)
147C
148 IIW=IW
149 IF(IH.EQ.-1120) THEN
150 IF(IW.EQ.2) IIW=3
151 IF(IW.EQ.3) IIW=2
152 ELSEIF(IH.EQ.1220) THEN
153 IF(IW.EQ.2) IIW=3
154 IF(IW.EQ.3) IIW=2
155 ENDIF
156C
157 IF(XW.GT..1) GO TO 1000
158C
159C STRUCW = XW*F(XW) FOR IIW=W+ IN PROTON, XW<.1
160 IF(IIW.EQ.2) THEN
161 G1=GUVAL1(X)
162 G1=G1+GUVAL2(X)
163 G2=GUSEA1(X)
164 G2=G2+GUSEA2(X)
165 G2=G2+GUSEA3(X)
166 G3=GDSEA1(X)
167 G3=G3+GDSEA2(X)
168 G3=G3+GDSEA3(X)
169 SUM=G1+G2+G3+EUVAL(X)+EUSEA(X)+EDSEA(X)
170 STRUCW=X*CVAW*SUM
171C STRUCW = XW*F(XW) FOR IIW=W- IN PROTON, XW<.1
172 ELSEIF(IIW.EQ.3) THEN
173 G1=GDVAL1(X)
174 G1=G1+GDVAL2(X)
175 G2=GDSEA1(X)
176 G2=G2+GDSEA2(X)
177 G2=G2+GDSEA3(X)
178 G3=GUSEA1(X)
179 G3=G3+GUSEA2(X)
180 G3=G3+GUSEA3(X)
181 SUM=G1+G2+G3+EDVAL(X)+EDSEA(X)+EUSEA(X)
182 STRUCW=X*CVAW*SUM
183C STRUCW=XW*F(XW) FOR IIW=Z0 IN PROTON, XW<.1
184 ELSEIF(IIW.EQ.4) THEN
185 G1=GUVAL1(X)
186 G1=G1+GUVAL2(X)
187 G2=GUSEA1(X)
188 G2=G2+GUSEA2(X)
189 G2=G2+GUSEA3(X)
190 SUMU=G1+2.*G2+EUVAL(X)+2.*EUSEA(X)
191 G1=GDVAL1(X)
192 G1=G1+GDVAL2(X)
193 G2=GDSEA1(X)
194 G2=G2+GDSEA2(X)
195 G2=G2+GDSEA3(X)
196 SUMD=G1+2.*G2+EDVAL(X)+2.*EDSEA(X)
197 STRUCW=X*(CVAZUU*SUMU+CVAZDD*SUMD)
198 ENDIF
199 IF(STRUCW.LT.0.) STRUCW=0.
200 RETURN
201C
2021000 CONTINUE
203C
204C STRUCW=XW*F(XW) FOR IIW=W+ IN PROTON, XW>.1
205 IF(IIW.EQ.2) THEN
206 F1=FUVAL(X)
207 F2=FUSEA(X)
208 F3=FDSEA(X)
209 SUM=F1+F2+F3
210 STRUCW=X*CVAW*SUM
211C STRUCW=XW*F(XW) FOR IIW=W- IN PROTON, XW>.1
212 ELSEIF(IIW.EQ.3) THEN
213 F1=FDVAL(X)
214 F2=FDSEA(X)
215 F3=FUSEA(X)
216 SUM=F1+F2+F3
217 STRUCW=X*CVAW*SUM
218C STRUCW=XW*F(XW) FOR IIW=Z0 IN PROTON, XW>.1
219 ELSEIF(IIW.EQ.4) THEN
220 F1=FUVAL(X)
221 F2=FUSEA(X)
222 SUMU=F1+2.*F2
223 F1=FDVAL(X)
224 F2=FDSEA(X)
225 SUMD=F1+2.*F2
226 STRUCW=X*(CVAZUU*SUMU+CVAZDD*SUMD)
227 ENDIF
228 IF(STRUCW.LT.0.) STRUCW=0.
229 RETURN
230 END