]>
Commit | Line | Data |
---|---|---|
9ef1c2d9 | 1 | |
2 | parameter (mmrye=1,mmryk=1) !memory saving factor | |
3 | ||
4 | parameter (kollmx=15000/mmrye,npommx=80) | |
5 | parameter (mamx=210/mmryk,ngrmx=1,ntymi=0,ntymx=2) | |
6 | ||
7 | !---------------------------------------------------------------------- | |
8 | ! POMERON | |
9 | !---------------------------------------------------------------------- | |
10 | ||
11 | double precision om1int,om1intc | |
12 | * ,atilde,btildep,btildepp | |
13 | common/comega/om1int(kollmx),om1intc(kollmx) | |
14 | common/comtilde/atilde(ntymi:ntymx,kollmx) | |
15 | *,btildep(ntymi:ntymx,kollmx),btildepp(ntymi:ntymx,kollmx) | |
16 | *,ntymin | |
17 | ||
18 | !---------------------------------------------------------------------- | |
19 | ! POMERON CONFIGURATION | |
20 | !---------------------------------------------------------------------- | |
21 | ||
22 | common/col/koll,iproj(kollmx),itarg(kollmx),coord(4,kollmx) | |
23 | common/col1/kremn(mamx,mamx,2),lremn(mamx,2) | |
24 | dimension kproj(mamx,mamx),ktarg(mamx,mamx) | |
25 | *,lproj(mamx),ltarg(mamx) | |
26 | equivalence (kproj(1,1),kremn(1,1,1)),(ktarg(1,1),kremn(1,1,2)) | |
27 | equivalence (lproj(1),lremn(1,1)),(ltarg(1),lremn(1,2)) | |
28 | double precision gammaV | |
29 | common/col6/kproj3(mamx,mamx),ktarg3(mamx,mamx) | |
30 | *,lproj3(mamx),ltarg3(mamx) | |
31 | *,epsilongp(kollmx,0:1),epsilongt(kollmx,0:1) | |
32 | *,epsilongs(kollmx,0:1),gammaV(kollmx) | |
33 | *,epsilongf(kollmx),epsilongb(kollmx) | |
34 | common/col4/bk(kollmx),bhpr(npommx,kollmx),bkx(kollmx) | |
35 | *,bky(kollmx) | |
36 | common/col7/zparremn(kollmx,2) | |
37 | real zparpro(kollmx),zpartar(kollmx) | |
38 | equivalence (zparpro(1),zparremn(1,1)),(zpartar(1),zparremn(1,2)) | |
39 | ||
40 | !---------------------------------------------------------------------- | |
41 | ! koll: number of relevant pairs | |
42 | ! iproj(k): projectile index for k-th pair | |
43 | ! itarg(k): target index for k-th pair | |
44 | ! lproj(ip): number of pairs linked to projectile ip | |
45 | ! kproj(ip,l): corresponding pair index of the l-th pair | |
46 | ! ltarg(it): number of pairs linked to target it | |
47 | ! ktarg(it,l): corresponding pair index of the l-th pair | |
48 | ! bk(k): b value of the k-th pair (=sqrt(bx**2.+by**2.)) | |
49 | ! bkx(k): bx value of the k-th pair | |
50 | ! bky(k): by value of the k-th pair | |
51 | ! lproj3(ip): number of pairs linked to projectile ip (no diffraction) | |
52 | ! kproj3(ip,l): corresponding pair index of the l-th pair (no diffraction) | |
53 | ! ltarg3(it): number of pairs linked to target it (no diffraction) | |
54 | ! ktarg3(it,l): corresponding pair index of the l-th pair (no diffraction) | |
55 | !---------------------------------------------------------------------- | |
56 | ||
57 | common/cems3/nprt(kollmx),npr(0:3,kollmx) | |
58 | common/cems4/nprmx(kollmx) | |
59 | ||
60 | !---------------------------------------------------------------------- | |
61 | ! nprt(k): number of pomerons of collision k | |
62 | ! npr(id,k): number of pomerons of type id of collision k | |
63 | ! (id: 0=zero, 1=soft, 2=reggeon, 3=hard) | |
64 | ! nprmx(k): maximum number of pomerons of collision k | |
65 | !---------------------------------------------------------------------- | |
66 | ||
67 | common/cems2/itpr(kollmx),idpr(npommx,kollmx),ivpr(npommx,kollmx) | |
68 | *,idfpr(npommx,kollmx) | |
69 | *,nvpr(npommx,kollmx),nbkpr(npommx,kollmx) | |
70 | ||
71 | !---------------------------------------------------------------------- | |
72 | ! itpr(k): interaction type of collision k | |
73 | ! (0=nothing, 1=inelastic, 2=diffractive) | |
74 | ! idpr(n,k): type of pomeron (n,k) | |
75 | ! (0=zero, 1=soft, 2=reggeon, 3=hard) | |
76 | ! ivpr(n,k): status of pomeron (n,k) (0=virtual, 1=real, 2=backup) | |
77 | ! nbkpr(n,k): position of the backup pomeron | |
78 | ! nvpr(n,k): position of the pomeron for this backup pomeron | |
79 | ! idfpr(n,k): link of pomeron (n,k) (0=no, 1=pro&tar, 2=pro, 3=tar) | |
80 | ! idfpr=-1 means backup pomeron | |
81 | !---------------------------------------------------------------------- | |
82 | ||
83 | double precision xpr,ypr,xppr,xmpr,xpprbor,xmprbor | |
84 | common/cems1/xpr(npommx,kollmx),ypr(npommx,kollmx) | |
85 | common/cems1c/xppr(npommx,kollmx),xmpr(npommx,kollmx) | |
86 | common/cems1d/xpprbor(npommx,kollmx),xmprbor(npommx,kollmx) | |
87 | common/cems1e/nemispr(2,npommx,kollmx),ptprboo(2,npommx,kollmx) | |
88 | ||
89 | !---------------------------------------------------------------------- | |
90 | ! xpr(n,k): x=x+x- of pomeron (n,k) | |
91 | ! ypr(n,k): rapidity of pomeron (n,k) | |
92 | ! xpprbor(n,k): x+ of in Born parton of pomeron (n,k) | |
93 | ! xmprbor(n,k): x- of in Born parton of pomeron (n,k) | |
94 | ! nemispr(i,n,k): number of up (i=1) and down (i=2) emissions | |
95 | !---------------------------------------------------------------------- | |
96 | ||
97 | double precision xp1pr,xp2pr,xm1pr,xm2pr,xxp1pr,xyp1pr | |
98 | * ,xxp2pr,xyp2pr,xxm1pr,xym1pr,xxm2pr,xym2pr | |
99 | common/cems7/xp1pr(npommx,kollmx),xp2pr(npommx,kollmx) | |
100 | * ,xm1pr(npommx,kollmx),xm2pr(npommx,kollmx) | |
101 | * ,idp1pr(npommx,kollmx),idp2pr(npommx,kollmx) | |
102 | * ,idm1pr(npommx,kollmx),idm2pr(npommx,kollmx) | |
103 | common/cems8/xxp1pr(npommx,kollmx),xyp1pr(npommx,kollmx) | |
104 | * ,xxp2pr(npommx,kollmx),xyp2pr(npommx,kollmx) | |
105 | * ,xxm1pr(npommx,kollmx),xym1pr(npommx,kollmx) | |
106 | * ,xxm2pr(npommx,kollmx),xym2pr(npommx,kollmx) | |
107 | ||
108 | !---------------------------------------------------------------------- | |
109 | ! xp1pr(n,k): x of string end p1 p1 p2 | |
110 | ! xp2pr(n,k): x of string end p2 \ / | |
111 | ! xm1pr(n,k): x of string end m1 \ / | |
112 | ! xm2pr(n,k): x of string end m2 \/ | |
113 | ! idp1pr(n,k): id of string end p1 ( 0=0 ) /\ | |
114 | ! idp2pr(n,k): id of string end p2 ( 1=s 2=v ) / \ | |
115 | ! idm1pr(n,k): id of string end m1 ( 4=ss 5=vv ) / \ | |
116 | ! idm2pr(n,k): id of string end m2 ( 8=f ) m1 m2 | |
117 | ! xxp1pr(n,k),xyp1pr(n,k): px,py of string end p1 | |
118 | ! xxp2pr(n,k),xyp2pr(n,k): px,py of string end p2 | |
119 | ! xxm1pr(n,k),xym1pr(n,k): px,py of string end m1 | |
120 | ! xxm2pr(n,k),xym2pr(n,k): px,py of string end m2 | |
121 | !---------------------------------------------------------------------- | |
122 | ||
123 | double precision xme | |
124 | common/cems11/xme(mamx) | |
125 | ||
126 | !---------------------------------------------------------------------- | |
127 | ! xme(j): x- exchange for nucleon j | |
128 | !---------------------------------------------------------------------- | |
129 | ||
130 | common/cems22/idhpr(npommx,kollmx),idrpr(npommx,kollmx) | |
131 | * ,idsppr(npommx,kollmx),idstpr(npommx,kollmx) | |
132 | ||
133 | !---------------------------------------------------------------------- | |
134 | ! idhpr(n,k): flav hard Pom (n,k) (0=gg,1=qg,2=gq,3=qq) | |
135 | ! idrpr(n,k): flav Regg (n,k) (0=ss,1=0va0,2=v00a,3=0as0,4=s00a,5=0sv0,6=v00s) | |
136 | ! idsppr(n,k): flav soft P (n,k) (proj) (0=ss,1=vs,2=sa,3=va,4=dd,5=svv,6=aas) | |
137 | ! idstpr(n,k): flav soft P (n,k) (targ) (0=ss,1=vs,2=sa,3=va,4=dd,5=svv,6=aas) | |
138 | !---------------------------------------------------------------------- | |
139 | ||
140 | ||
141 | !---------------------------------------------------------------------- | |
142 | ! REMNANT CONFIGURATION | |
143 | !---------------------------------------------------------------------- | |
144 | ||
145 | common/remn2/zzremn(mamx,2) | |
146 | common/remn/icremn(2,mamx,2) | |
147 | dimension icproj(2,mamx),ictarg(2,mamx) | |
148 | double precision xpp,xmp,xpt,xmt,xxp,xyp,xxt,xyt | |
149 | double precision xpz,xmz,xxz,xyz | |
150 | common/cemsr/xpz(mamx,2),xmz(mamx,2) | |
151 | * ,xxz(mamx,2),xyz(mamx,2) | |
152 | * ,idz(mamx,2),ivz(mamx,2) | |
153 | * ,isz(mamx,2),iaz(mamx,2) | |
154 | dimension xpp(mamx),xmp(mamx),xpt(mamx),xmt(mamx) | |
155 | * ,xxp(mamx),xyp(mamx),xxt(mamx),xyt(mamx) | |
156 | * ,idp(mamx),ivp(mamx),ivt(mamx),idt(mamx) | |
157 | * ,isp(mamx),iap(mamx),ist(mamx),iat(mamx) | |
158 | ||
159 | equivalence (icproj(1,1),icremn(1,1,1)) | |
160 | * ,(ictarg(1,1),icremn(1,1,2)) | |
161 | equivalence (xpp(1),xpz(1,1)),(xmt(1),xpz(1,2)) | |
162 | * ,(xmp(1),xmz(1,1)),(xpt(1),xmz(1,2)) | |
163 | * ,(xxp(1),xxz(1,1)),(xxt(1),xxz(1,2)) | |
164 | * ,(xyp(1),xyz(1,1)),(xyt(1),xyz(1,2)) | |
165 | * ,(idp(1),idz(1,1)),(idt(1),idz(1,2)) | |
166 | * ,(ivp(1),ivz(1,1)),(ivt(1),ivz(1,2)) | |
167 | * ,(isp(1),isz(1,1)),(ist(1),isz(1,2)) | |
168 | * ,(iap(1),iaz(1,1)),(iat(1),iaz(1,2)) | |
169 | ||
170 | !---------------------------------------------------------------------- | |
171 | ! xpp(ip),xmp(ip),xpt(it),xmt(it): x+,x- of projectile ip / target it | |
172 | ! xxp(ip),xyp(ip),xxt(it),xyt(it): px,py of projectile ip / target it | |
173 | ! idp(ip),idt(it): diquark counter | |
174 | ! ivp(ip),ivt(it): valenve quark counter | |
175 | ! isp(ip),ist(it): sea quark counter | |
176 | ! iap(ip),iat(it): anti valence quark counter | |
177 | !---------------------------------------------------------------------- | |
178 | ||
179 | double precision xpmn,xtmn,xpmx,xtmx,xppmx,xptmx,xmpmx,xmtmx | |
180 | * ,xppmn ,xptmn,xmpmn,xmtmn,xpos,xtos | |
181 | double precision xzmn,xzmx,xpzmx,xmzmx | |
182 | * ,xpzmn ,xmzmn,xzos | |
183 | common/cemsr1/xzmn(mamx,2),xzmx(mamx,2) | |
184 | * ,xpzmx(mamx,2) | |
185 | * ,xmzmx(mamx,2) | |
186 | * ,xpzmn(mamx,2) | |
187 | * ,xmzmn(mamx,2) | |
188 | * ,xzos(mamx,2) | |
189 | dimension xpmn(mamx),xtmn(mamx),xpmx(mamx),xtmx(mamx) | |
190 | * ,xppmx(mamx),xptmx(mamx) | |
191 | * ,xmpmx(mamx),xmtmx(mamx) | |
192 | * ,xppmn(mamx),xptmn(mamx) | |
193 | * ,xmpmn(mamx),xmtmn(mamx) | |
194 | * ,xpos(mamx),xtos(mamx) | |
195 | ||
196 | equivalence ( xpmn(1), xzmn(1,1)),( xtmn(1), xzmn(1,2)) | |
197 | * ,( xpmx(1), xzmx(1,1)),( xtmx(1), xzmx(1,2)) | |
198 | * ,(xppmx(1),xpzmx(1,1)),(xptmx(1),xpzmx(1,2)) | |
199 | * ,(xmpmx(1),xmzmx(1,1)),(xmtmx(1),xmzmx(1,2)) | |
200 | * ,(xppmn(1),xpzmn(1,1)),(xptmn(1),xpzmn(1,2)) | |
201 | * ,(xmpmn(1),xmzmn(1,1)),(xmtmn(1),xmzmn(1,2)) | |
202 | * ,( xpos(1), xzos(1,1)),( xtos(1), xzos(1,2)) | |
203 | ||
204 | !---------------------------------------------------------------------- | |
205 | ! xpmn(ip),xtmn(it),xpmx(ip),xtmx(it): x proj/targ minimum/maximum | |
206 | ! xppmx(ip),xptmx(it),xmpmx(ip),xmtmx(it): x+/x- proj/targ maximum | |
207 | ! xppmn(ip),xptmn(it),xmpmn(ip),xmtmn(it): x+/x- proj/targ minimum | |
208 | ! xpos(ip),xtos(it): x value for on shell condition proj/targ | |
209 | !---------------------------------------------------------------------- | |
210 | ||
211 | common/cemsr3/kolp(mamx),kolt(mamx),npp(mamx),npt(mamx) | |
212 | common/cemsr4/iez(mamx,2),ifz(mamx,2) | |
213 | dimension iep(mamx),iet(mamx),ifp(mamx),ift(mamx) | |
214 | equivalence (iep(1),iez(1,1)),(iet(1),iez(1,2)) | |
215 | * ,(ifp(1),ifz(1,1)),(ift(1),ifz(1,2)) | |
216 | ||
217 | !---------------------------------------------------------------------- | |
218 | ! kolp(ip),kolt(it): number of cut Pomerons of proj ip / targ it | |
219 | ! iep(ip),iet(it): excitation type of proj ip / targ it | |
220 | ! (0=none,1=inelastic,2=diffractive) | |
221 | ! ifp(ip),ift(it): remnant flip flag proj/targ (0=no,1=yes) | |
222 | ! if3dp(ip), if3dp(it): triple pomeron diffraction (if 1) | |
223 | !---------------------------------------------------------------------- | |
224 | ||
225 | ||
226 | !---------------------------------------------------------------------- | |
227 | ! transfer from emsini | |
228 | !---------------------------------------------------------------------- | |
229 | ||
230 | double precision amzmn,ampmn,amtmn,ammn,amemn,amemx,amprmn,xis | |
231 | &,delxi,ddelx,r3pompi,r3pommi,r3pompi3,r3pommi3 | |
232 | parameter (ntypmx=19) | |
233 | common/cems12/ammn(0:ntypmx),amprmn(0:ntypmx) | |
234 | common/cemsr6/amzmn(0:1,2),amemn(0:1,0:6),amemx(0:2) | |
235 | dimension ampmn(0:1),amtmn(0:1) | |
236 | equivalence (ampmn(0),amzmn(0,1)), (amtmn(0),amzmn(0,2)) | |
237 | common/cemsr13/xis,delxi,ddelx,r3pompi,r3pommi | |
238 | &,r3pompi3,r3pommi3,ucfpro,ucftar | |
239 | ||
240 | !---------------------------------------------------------------------- | |
241 | ! STORAGE | |
242 | !---------------------------------------------------------------------- | |
243 | ||
244 | double precision | |
245 | *xxpr,xxpr0,yx,yx0,xxppr,xxmpr,xxppr0,xxmpr0 | |
246 | *,xmtx,xmtx0,xmtlx,xmtlx0 | |
247 | *,xppx,xppx0,xpplx,xpplx0 | |
248 | *,xppst,xmpst,xposst,xpest,xppstx0,xmpstx0,xppstx,xmpstx | |
249 | *,xmtst,xptst,xtosst,xmest,xmtstx0,xptstx0,xmtstx,xptstx | |
250 | dimension nprx(0:3),nprx0(0:3) | |
251 | *,xppst(mamx),xmpst(mamx),xposst(mamx),xpest(mamx) | |
252 | *,xmtst(mamx),xptst(mamx),xtosst(mamx),xmest(mamx) | |
253 | ||
254 | ||
255 | common/emsstore/ | |
256 | *xxpr,xxpr0,yx,yx0,xxppr,xxmpr,xxppr0,xxmpr0 | |
257 | *,xmtx,xmtx0,xmtlx,xmtlx0 | |
258 | *,xppx,xppx0,xpplx,xpplx0 | |
259 | *,itx,itx0,idx,idx0 | |
260 | *,npplx0,nptlx0,npplx,nptlx | |
261 | *,nppx,nppx0,nptx,nptx0,nprx,nprx0,nprtx,nprtx0 | |
262 | *,xppst,xmpst,xposst,xpest,xppstx0,xmpstx0,xppstx,xmpstx | |
263 | *,xmtst,xptst,xtosst,xmest,xmtstx0,xptstx0,xmtstx,xptstx | |
264 | ||
265 | ||
266 | !---------------------------------------------------------------------- | |
267 | ! utilities | |
268 | !---------------------------------------------------------------------- | |
269 | ||
270 | double precision facto,fctrl | |
271 | common/factori/facto(0:npommx),fctrl(0:npommx), nfctrl | |
272 | ||
273 | ||
274 | ||
275 | ||
276 |