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