2d8d4543 |
1 | // Translation of Fortran commons from the Herwig6 |
2 | // f77 program into c++ structures to be used in ROOT |
3 | // and declaration of Fortran functions as extern |
4 | // C functions to be called from the class Herwig6 |
5 | // author: j. g. contreras jgcn@moni.mda.cinvestav.mx |
6 | // date: december 22, 2000 |
7 | |
8 | int const NMXHEP = 2000; |
9 | |
10 | struct Hepevt_t { |
11 | int NEVHEP; |
12 | int NHEP; |
13 | int ISTHEP[NMXHEP]; |
14 | int IDHEP[NMXHEP]; |
15 | int JMOHEP[NMXHEP][2]; |
16 | int JDAHEP[NMXHEP][2]; |
17 | double PHEP[NMXHEP][5]; |
18 | double VHEP[NMXHEP][4]; |
19 | }; |
20 | |
21 | struct Hwbeam_t { |
22 | int IPART1; |
23 | int IPART2; |
24 | }; |
25 | |
26 | struct Hwbmch_t { |
27 | char PART1[8]; |
28 | char PART2[8]; |
29 | }; |
30 | |
31 | struct Hwproc_t { |
32 | double EBEAM1; |
33 | double EBEAM2; |
34 | double PBEAM1; |
35 | double PBEAM2; |
36 | int IPROC; |
37 | int MAXEV; |
38 | }; |
39 | |
40 | struct Hwpram_t { |
41 | double AFCH[2][16]; |
42 | double ALPHEM; |
43 | double B1LIM; |
44 | double BETAF; |
45 | double BTCLM; |
46 | double CAFAC; |
47 | double CFFAC; |
48 | double CLMAX; |
49 | double CLPOW; |
50 | double CLSMR[2]; |
51 | double CSPEED; |
52 | double ENSOF; |
53 | double ETAMIX; |
54 | double F0MIX; |
55 | double F1MIX; |
56 | double F2MIX; |
57 | double GAMH; |
58 | double GAMW; |
59 | double GAMZ; |
60 | double GAMZP; |
61 | double GEV2NB; |
62 | double H1MIX; |
63 | double PDIQK; |
64 | double PGSMX; |
65 | double PGSPL[4]; |
66 | double PHIMIX; |
67 | double PIFAC; |
68 | double PRSOF; |
69 | double PSPLT[2]; |
70 | double PTRMS; |
71 | double PXRMS; |
72 | double QCDL3; |
73 | double QCDL5; |
74 | double QCDLAM; |
75 | double QDIQK; |
76 | double QFCH[16]; |
77 | double QG; |
78 | double QSPAC; |
79 | double QV; |
80 | double SCABI; |
81 | double SWEIN; |
82 | double TMTOP; |
83 | double VFCH[2][16]; |
84 | double VCKM[3][3]; |
85 | double VGCUT; |
86 | double VQCUT; |
87 | double VPCUT; |
88 | double ZBINM; |
89 | double EFFMIN; |
90 | double OMHMIX; |
91 | double ET2MIX; |
92 | double PH3MIX; |
93 | double GCUTME; |
94 | int IOPREM; |
95 | int IPRINT; |
96 | int ISPAC; |
97 | int LRSUD; |
98 | int LWSUD; |
99 | int MODPDF[2]; |
100 | int NBTRY; |
101 | int NCOLO; |
102 | int NCTRY; |
103 | int NDTRY; |
104 | int NETRY; |
105 | int NFLAV; |
106 | int NGSPL; |
107 | int NSTRU; |
108 | int NSTRY; |
109 | int NZBIN; |
110 | int IOP4JT[2]; |
111 | int NPRFMT; |
112 | int AZSOFT; |
113 | int AZSPIN; |
114 | int CLDIR[2]; |
115 | int HARDME; |
116 | int NOSPAC; |
117 | int PRNDEC; |
118 | int PRVTX; |
119 | int SOFTME; |
120 | int ZPRIME; |
121 | int PRNDEF; |
122 | int PRNTEX; |
123 | int PRNWEB; |
124 | }; |
125 | |
126 | struct Hwprch_t { |
127 | char AUTPDF[2][20]; |
128 | char BDECAY[4]; |
129 | }; |
130 | |
131 | int const NMXPAR = 500; |
132 | |
133 | struct Hwpart_t { |
134 | int NEVPAR; |
135 | int NPAR; |
136 | int ISTPAR[NMXPAR]; |
137 | int IDPAR[NMXPAR]; |
138 | int JMOPAR[NMXPAR][2]; |
139 | int JDAPAR[NMXPAR][2]; |
140 | double PPAR[NMXPAR][5]; |
141 | double VPAR[NMXPAR][4]; |
142 | }; |
143 | |
144 | struct Hwparp_t { |
145 | double DECPAR[NMXPAR][2]; |
146 | double PHIPAR[NMXPAR][2]; |
147 | double RHOPAR[NMXPAR][2]; |
148 | int TMPAR[NMXPAR]; |
149 | }; |
150 | |
151 | int const MODMAX = 5; |
152 | |
153 | struct Hwbosc_t { |
154 | double ALPFAC; |
155 | double BRHIG[12]; |
156 | double ENHANC[12]; |
157 | double GAMMAX; |
158 | double RHOHEP[NMXHEP][3]; |
159 | int IOPHIG; |
160 | int MODBOS[MODMAX]; |
161 | }; |
162 | |
163 | struct Hwparc_t { |
164 | int JCOPAR[NMXPAR][4]; |
165 | }; |
166 | |
167 | struct Hwbrch_t { |
168 | double ANOMSC[2][2]; |
169 | double HARDST; |
170 | double PTINT[2][3]; |
171 | double XFACT; |
172 | int INHAD; |
173 | int JNHAD; |
174 | int NSPAC[7]; |
175 | int ISLENT; |
176 | int BREIT; |
177 | int FROST; |
178 | int USECMF; |
179 | }; |
180 | |
181 | struct Hwevnt_t { |
182 | double AVWGT; |
183 | double EVWGT; |
184 | double GAMWT; |
185 | double TLOUT; |
186 | double WBIGST; |
187 | double WGTMAX; |
188 | double WGTSUM; |
189 | double WSQSUM; |
190 | int IDHW[NMXHEP]; |
191 | int IERROR; |
192 | int ISTAT; |
193 | int LWEVT; |
194 | int MAXER; |
195 | int MAXPR; |
196 | int NOWGT; |
197 | int NRN[2]; |
198 | int NUMER; |
199 | int NUMERU; |
200 | int NWGTS; |
201 | int GENSOF; |
202 | }; |
203 | |
204 | struct Hwhard_t { |
205 | double ASFIXD; |
206 | double CLQ[6][7]; |
207 | double COSS; |
208 | double COSTH; |
209 | double CTMAX; |
210 | double DISF[2][13]; |
211 | double EMLST; |
212 | double EMMAX; |
213 | double EMMIN; |
214 | double EMPOW; |
215 | double EMSCA; |
216 | double EPOLN[3]; |
217 | double GCOEF[7]; |
218 | double GPOLN; |
219 | double OMEGA0; |
220 | double PHOMAS; |
221 | double PPOLN[3]; |
222 | double PTMAX; |
223 | double PTMIN; |
224 | double PTPOW; |
225 | double Q2MAX; |
226 | double Q2MIN; |
227 | double Q2POW; |
228 | double Q2WWMN; |
229 | double Q2WWMX; |
230 | double QLIM; |
231 | double SINS; |
232 | double THMAX; |
233 | double Y4JT; |
234 | double TMNISR; |
235 | double TQWT; |
236 | double XX[2]; |
237 | double XLMIN; |
238 | double XXMIN; |
239 | double YBMAX; |
240 | double YBMIN; |
241 | double YJMAX; |
242 | double YJMIN; |
243 | double YWWMAX; |
244 | double YWWMIN; |
245 | double WHMIN; |
246 | double ZJMAX; |
247 | double ZMXISR; |
248 | int IAPHIG; |
249 | int IBRN[2]; |
250 | int IBSH; |
251 | int ICO[10]; |
252 | int IDCMF; |
253 | int IDN[10]; |
254 | int IFLMAX; |
255 | int IFLMIN; |
256 | int IHPRO; |
257 | int IPRO; |
258 | int MAPQ[10]; |
259 | int MAXFL; |
260 | int BGSHAT; |
261 | int COLISR; |
262 | int FSTEVT; |
263 | int FSTWGT; |
264 | int GENEV; |
265 | int HVFCEN; |
266 | int TPOL; |
267 | int DURHAM; |
268 | }; |
269 | |
270 | int const NMXRES = 500; |
271 | |
272 | struct Hwprop_t { |
273 | double RLTIM[NMXRES+1]; |
274 | double RMASS[NMXRES+1]; |
275 | double RSPIN[NMXRES+1]; |
276 | int ICHRG[NMXRES+1]; |
277 | int IDPDG[NMXRES+1]; |
278 | int IFLAV[NMXRES+1]; |
279 | int NRES; |
280 | int VTOCDK[NMXRES+1]; |
281 | int VTORDK[NMXRES+1]; |
282 | int QORQQB[NMXRES+1]; |
283 | int QBORQQ[NMXRES+1]; |
284 | }; |
285 | |
286 | struct Hwunam_t { |
287 | char RNAME[NMXRES+1][8]; |
288 | char TXNAME[NMXRES+1][2][37]; |
289 | }; |
290 | |
291 | int const NMXDKS = 4000; |
292 | int const NMXMOD = 200; |
293 | |
294 | struct Hwupdt_t { |
295 | double BRFRAC[NMXDKS]; |
296 | double CMMOM[NMXDKS]; |
297 | double DKLTM[NMXRES]; |
298 | int IDK[NMXDKS]; |
299 | int IDKPRD[NMXDKS][5]; |
300 | int LNEXT[NMXDKS]; |
301 | int LSTRT[NMXRES]; |
302 | int NDKYS; |
303 | int NME[NMXDKS]; |
304 | int NMODES[NMXRES]; |
305 | int NPRODS[NMXDKS]; |
306 | int DKPSET; |
307 | int RSTAB[NMXRES+1]; |
308 | }; |
309 | |
310 | struct Hwuwts_t { |
311 | double REPWT[5][4][4]; |
312 | double SNGWT; |
313 | double DECWT; |
314 | double QWT[3]; |
315 | double PWT[12]; |
316 | double SWTEF[NMXRES]; |
317 | }; |
318 | |
319 | int const NMXCDK = 4000; |
320 | |
321 | struct Hwuclu_t { |
322 | double CLDKWT[NMXCDK]; |
323 | double CTHRPW[12][12]; |
324 | double PRECO; |
325 | double RESN[12][12]; |
326 | double RMIN[12][12]; |
327 | int LOCN[12][12]; |
328 | int NCLDK[NMXCDK]; |
329 | int NRECO; |
330 | int CLRECO; |
331 | }; |
332 | |
333 | struct Hwdist_t { |
334 | double EXAG; |
335 | double GEV2MM; |
336 | double HBAR; |
337 | double PLTCUT; |
338 | double VMIN2; |
339 | double VTXPIP[4]; |
340 | double XMIX[2]; |
341 | double XMRCT[2]; |
342 | double YMIX[2]; |
343 | double YMRCT[2]; |
344 | int IOPDKL; |
345 | int MAXDKL; |
346 | int MIXING; |
347 | int PIPSMR; |
348 | }; |
349 | |
350 | int const NMXQDK=20; |
351 | |
352 | struct Hwqdks_t { |
353 | double VTXQDK[NMXQDK][4]; |
354 | int IMQDK[NMXQDK]; |
355 | int LOCQ[NMXQDK]; |
356 | int NQDK; |
357 | }; |
358 | |
359 | int const NMXSUD = 1024; |
360 | |
361 | struct Hwusud_t { |
362 | double ACCUR; |
363 | double QEV[6][NMXSUD]; |
364 | double SUD[6][NMXSUD]; |
365 | int INTER; |
366 | int NQEV; |
367 | int NSUD; |
368 | int SUDORD; |
369 | }; |
370 | |
371 | struct Hwsusy_t { |
372 | double TANB; |
373 | double ALPHAH; |
374 | double COSBPA; |
375 | double SINBPA; |
376 | double COSBMA; |
377 | double SINBMA; |
378 | double COSA; |
379 | double SINA; |
380 | double COSB; |
381 | double SINB; |
382 | double COTB; |
383 | double ZMIXSS[4][4]; |
384 | double ZMXNSS[4][4]; |
385 | double ZSGNSS[4]; |
386 | double LFCH[16]; |
387 | double RFCH[16]; |
388 | double SLFCH[4][16]; |
389 | double SRFCH[4][16]; |
390 | double WMXUSS[2][2]; |
391 | double WMXVSS[2][2]; |
392 | double WSGNSS[2]; |
393 | double QMIXSS[2][2][6]; |
394 | double LMIXSS[2][2][6]; |
395 | double THETAT; |
396 | double THETAB; |
397 | double THETAL; |
398 | double ATSS; |
399 | double ABSS; |
400 | double ALSS; |
401 | double MUSS; |
402 | double FACTSS; |
403 | double GHWWSS[3]; |
404 | double GHZZSS[3]; |
405 | double GHDDSS[4]; |
406 | double GHUUSS[4]; |
407 | double GHWHSS[3]; |
408 | double GHSQSS[2][2][6][4]; |
409 | double XLMNSS; |
410 | double RMMNSS; |
411 | double IMSSM; |
412 | double SENHNC[24]; |
413 | double SSPARITY; |
414 | int SUSYIN; |
415 | }; |
416 | |
417 | struct Hwrpar_t { |
418 | double LAMDA1[3][3][3]; |
419 | double LAMDA2[3][3][3]; |
420 | double LAMDA3[3][3][3]; |
421 | int HRDCOL[5][2]; |
422 | int RPARTY; |
423 | int COLUPD; |
424 | }; |
425 | |
426 | struct Hwminb_t { |
427 | double PMBN1; |
428 | double PMBN2; |
429 | double PMBN3; |
430 | double PMBK1; |
431 | double PMBK2; |
432 | double PMBM1; |
433 | double PMBM2; |
434 | double PMBP1; |
435 | double PMBP2; |
436 | double PMBP3; |
437 | }; |
438 | |
439 | int const NMXCL = 500; |
440 | |
441 | struct Hwclus_t { |
442 | double PPCL[NMXCL][5]; |
443 | int IDCL[NMXCL]; |
444 | int NCL; |
445 | }; |
446 | |
447 | |
448 | extern "C" { |
449 | void hwigin_(); |
450 | void hwuinc_(); |
451 | void hwusta_(char * name, int); |
452 | void hweini_(); |
453 | void hwuine_(); |
454 | void hwepro_(); |
455 | void hwbgen_(); |
456 | void hwdhob_(); |
457 | void hwcfor_(); |
458 | void hwcdec_(); |
459 | void hwdhad_(); |
460 | void hwdhvy_(); |
461 | void hwmevt_(); |
462 | void hwufne_(); |
463 | void hwefin_(); |
464 | } |
465 | |
466 | |
467 | |
468 | |
469 | |