CTEQ5M added (R. Guernane)
[u/mrichter/AliRoot.git] / THerwig / HCommon.h
CommitLineData
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
8int const NMXHEP = 2000;
9
10struct 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
21struct Hwbeam_t {
22 int IPART1;
23 int IPART2;
24};
25
26struct Hwbmch_t {
27 char PART1[8];
28 char PART2[8];
29};
30
31struct Hwproc_t {
32 double EBEAM1;
33 double EBEAM2;
34 double PBEAM1;
35 double PBEAM2;
36 int IPROC;
37 int MAXEV;
38};
39
40struct 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
126struct Hwprch_t {
127 char AUTPDF[2][20];
128 char BDECAY[4];
129};
130
131int const NMXPAR = 500;
132
133struct 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
144struct Hwparp_t {
145 double DECPAR[NMXPAR][2];
146 double PHIPAR[NMXPAR][2];
147 double RHOPAR[NMXPAR][2];
148 int TMPAR[NMXPAR];
149};
150
151int const MODMAX = 5;
152
153struct 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
163struct Hwparc_t {
164 int JCOPAR[NMXPAR][4];
165};
166
167struct 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
181struct 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
204struct 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
270int const NMXRES = 500;
271
272struct 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
286struct Hwunam_t {
287 char RNAME[NMXRES+1][8];
288 char TXNAME[NMXRES+1][2][37];
289};
290
291int const NMXDKS = 4000;
292int const NMXMOD = 200;
293
294struct 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
310struct 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
319int const NMXCDK = 4000;
320
321struct 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
333struct 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
350int const NMXQDK=20;
351
352struct Hwqdks_t {
353 double VTXQDK[NMXQDK][4];
354 int IMQDK[NMXQDK];
355 int LOCQ[NMXQDK];
356 int NQDK;
357};
358
359int const NMXSUD = 1024;
360
361struct 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
371struct 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
417struct 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
426struct 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
439int const NMXCL = 500;
440
441struct Hwclus_t {
442 double PPCL[NMXCL][5];
443 int IDCL[NMXCL];
444 int NCL;
445};
446
447
448extern "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