Fixes to remove compilation warnings
[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
e2054d85 8struct dcpx {double dr,di;};
9
2d8d4543 10int const NMXHEP = 2000;
11
12struct Hepevt_t {
13 int NEVHEP;
14 int NHEP;
15 int ISTHEP[NMXHEP];
16 int IDHEP[NMXHEP];
17 int JMOHEP[NMXHEP][2];
18 int JDAHEP[NMXHEP][2];
19 double PHEP[NMXHEP][5];
20 double VHEP[NMXHEP][4];
21};
22
23struct Hwbeam_t {
24 int IPART1;
25 int IPART2;
26};
27
28struct Hwbmch_t {
29 char PART1[8];
30 char PART2[8];
31};
32
33struct Hwproc_t {
34 double EBEAM1;
35 double EBEAM2;
36 double PBEAM1;
37 double PBEAM2;
38 int IPROC;
39 int MAXEV;
40};
41
42struct Hwpram_t {
43 double AFCH[2][16];
44 double ALPHEM;
45 double B1LIM;
46 double BETAF;
47 double BTCLM;
48 double CAFAC;
49 double CFFAC;
50 double CLMAX;
51 double CLPOW;
52 double CLSMR[2];
53 double CSPEED;
54 double ENSOF;
55 double ETAMIX;
56 double F0MIX;
57 double F1MIX;
58 double F2MIX;
59 double GAMH;
60 double GAMW;
61 double GAMZ;
62 double GAMZP;
63 double GEV2NB;
64 double H1MIX;
65 double PDIQK;
66 double PGSMX;
67 double PGSPL[4];
68 double PHIMIX;
69 double PIFAC;
70 double PRSOF;
71 double PSPLT[2];
72 double PTRMS;
73 double PXRMS;
74 double QCDL3;
75 double QCDL5;
76 double QCDLAM;
77 double QDIQK;
78 double QFCH[16];
79 double QG;
80 double QSPAC;
81 double QV;
82 double SCABI;
83 double SWEIN;
84 double TMTOP;
85 double VFCH[2][16];
86 double VCKM[3][3];
87 double VGCUT;
88 double VQCUT;
89 double VPCUT;
90 double ZBINM;
91 double EFFMIN;
92 double OMHMIX;
93 double ET2MIX;
94 double PH3MIX;
95 double GCUTME;
96 int IOPREM;
97 int IPRINT;
98 int ISPAC;
99 int LRSUD;
100 int LWSUD;
101 int MODPDF[2];
102 int NBTRY;
103 int NCOLO;
104 int NCTRY;
105 int NDTRY;
106 int NETRY;
107 int NFLAV;
108 int NGSPL;
109 int NSTRU;
110 int NSTRY;
111 int NZBIN;
112 int IOP4JT[2];
113 int NPRFMT;
114 int AZSOFT;
115 int AZSPIN;
116 int CLDIR[2];
117 int HARDME;
118 int NOSPAC;
119 int PRNDEC;
120 int PRVTX;
121 int SOFTME;
122 int ZPRIME;
123 int PRNDEF;
124 int PRNTEX;
125 int PRNWEB;
126};
127
128struct Hwprch_t {
129 char AUTPDF[2][20];
130 char BDECAY[4];
131};
132
133int const NMXPAR = 500;
134
135struct Hwpart_t {
136 int NEVPAR;
137 int NPAR;
138 int ISTPAR[NMXPAR];
139 int IDPAR[NMXPAR];
140 int JMOPAR[NMXPAR][2];
141 int JDAPAR[NMXPAR][2];
142 double PPAR[NMXPAR][5];
143 double VPAR[NMXPAR][4];
144};
145
146struct Hwparp_t {
147 double DECPAR[NMXPAR][2];
148 double PHIPAR[NMXPAR][2];
149 double RHOPAR[NMXPAR][2];
150 int TMPAR[NMXPAR];
151};
152
153int const MODMAX = 5;
154
155struct Hwbosc_t {
156 double ALPFAC;
157 double BRHIG[12];
158 double ENHANC[12];
159 double GAMMAX;
160 double RHOHEP[NMXHEP][3];
161 int IOPHIG;
162 int MODBOS[MODMAX];
163};
164
165struct Hwparc_t {
166 int JCOPAR[NMXPAR][4];
167};
168
169struct Hwbrch_t {
170 double ANOMSC[2][2];
171 double HARDST;
172 double PTINT[2][3];
173 double XFACT;
174 int INHAD;
175 int JNHAD;
176 int NSPAC[7];
177 int ISLENT;
178 int BREIT;
179 int FROST;
180 int USECMF;
181};
182
183struct Hwevnt_t {
184 double AVWGT;
185 double EVWGT;
186 double GAMWT;
187 double TLOUT;
188 double WBIGST;
189 double WGTMAX;
190 double WGTSUM;
191 double WSQSUM;
192 int IDHW[NMXHEP];
193 int IERROR;
194 int ISTAT;
195 int LWEVT;
196 int MAXER;
197 int MAXPR;
198 int NOWGT;
199 int NRN[2];
200 int NUMER;
201 int NUMERU;
202 int NWGTS;
203 int GENSOF;
204};
205
206struct Hwhard_t {
207 double ASFIXD;
208 double CLQ[6][7];
209 double COSS;
210 double COSTH;
211 double CTMAX;
212 double DISF[2][13];
213 double EMLST;
214 double EMMAX;
215 double EMMIN;
216 double EMPOW;
217 double EMSCA;
218 double EPOLN[3];
219 double GCOEF[7];
220 double GPOLN;
221 double OMEGA0;
222 double PHOMAS;
223 double PPOLN[3];
224 double PTMAX;
225 double PTMIN;
226 double PTPOW;
227 double Q2MAX;
228 double Q2MIN;
229 double Q2POW;
230 double Q2WWMN;
231 double Q2WWMX;
232 double QLIM;
233 double SINS;
234 double THMAX;
235 double Y4JT;
236 double TMNISR;
237 double TQWT;
238 double XX[2];
239 double XLMIN;
240 double XXMIN;
241 double YBMAX;
242 double YBMIN;
243 double YJMAX;
244 double YJMIN;
245 double YWWMAX;
246 double YWWMIN;
247 double WHMIN;
248 double ZJMAX;
249 double ZMXISR;
250 int IAPHIG;
251 int IBRN[2];
252 int IBSH;
253 int ICO[10];
254 int IDCMF;
255 int IDN[10];
256 int IFLMAX;
257 int IFLMIN;
258 int IHPRO;
259 int IPRO;
260 int MAPQ[10];
261 int MAXFL;
262 int BGSHAT;
263 int COLISR;
264 int FSTEVT;
265 int FSTWGT;
266 int GENEV;
267 int HVFCEN;
268 int TPOL;
269 int DURHAM;
270};
271
272int const NMXRES = 500;
273
274struct Hwprop_t {
275 double RLTIM[NMXRES+1];
276 double RMASS[NMXRES+1];
277 double RSPIN[NMXRES+1];
278 int ICHRG[NMXRES+1];
279 int IDPDG[NMXRES+1];
280 int IFLAV[NMXRES+1];
281 int NRES;
282 int VTOCDK[NMXRES+1];
283 int VTORDK[NMXRES+1];
284 int QORQQB[NMXRES+1];
285 int QBORQQ[NMXRES+1];
286};
287
288struct Hwunam_t {
289 char RNAME[NMXRES+1][8];
290 char TXNAME[NMXRES+1][2][37];
291};
292
293int const NMXDKS = 4000;
294int const NMXMOD = 200;
295
296struct Hwupdt_t {
297 double BRFRAC[NMXDKS];
298 double CMMOM[NMXDKS];
299 double DKLTM[NMXRES];
300 int IDK[NMXDKS];
301 int IDKPRD[NMXDKS][5];
302 int LNEXT[NMXDKS];
303 int LSTRT[NMXRES];
304 int NDKYS;
305 int NME[NMXDKS];
306 int NMODES[NMXRES];
307 int NPRODS[NMXDKS];
308 int DKPSET;
309 int RSTAB[NMXRES+1];
310};
311
312struct Hwuwts_t {
313 double REPWT[5][4][4];
314 double SNGWT;
315 double DECWT;
316 double QWT[3];
317 double PWT[12];
318 double SWTEF[NMXRES];
319};
320
321int const NMXCDK = 4000;
322
323struct Hwuclu_t {
324 double CLDKWT[NMXCDK];
325 double CTHRPW[12][12];
326 double PRECO;
327 double RESN[12][12];
328 double RMIN[12][12];
329 int LOCN[12][12];
330 int NCLDK[NMXCDK];
331 int NRECO;
332 int CLRECO;
333};
334
335struct Hwdist_t {
336 double EXAG;
337 double GEV2MM;
338 double HBAR;
339 double PLTCUT;
340 double VMIN2;
341 double VTXPIP[4];
342 double XMIX[2];
343 double XMRCT[2];
344 double YMIX[2];
345 double YMRCT[2];
346 int IOPDKL;
347 int MAXDKL;
348 int MIXING;
349 int PIPSMR;
350};
351
352int const NMXQDK=20;
353
354struct Hwqdks_t {
355 double VTXQDK[NMXQDK][4];
356 int IMQDK[NMXQDK];
357 int LOCQ[NMXQDK];
358 int NQDK;
359};
360
361int const NMXSUD = 1024;
362
363struct Hwusud_t {
364 double ACCUR;
365 double QEV[6][NMXSUD];
366 double SUD[6][NMXSUD];
367 int INTER;
368 int NQEV;
369 int NSUD;
370 int SUDORD;
371};
372
373struct Hwsusy_t {
374 double TANB;
375 double ALPHAH;
376 double COSBPA;
377 double SINBPA;
378 double COSBMA;
379 double SINBMA;
380 double COSA;
381 double SINA;
382 double COSB;
383 double SINB;
384 double COTB;
385 double ZMIXSS[4][4];
386 double ZMXNSS[4][4];
387 double ZSGNSS[4];
388 double LFCH[16];
389 double RFCH[16];
390 double SLFCH[4][16];
391 double SRFCH[4][16];
392 double WMXUSS[2][2];
393 double WMXVSS[2][2];
394 double WSGNSS[2];
395 double QMIXSS[2][2][6];
396 double LMIXSS[2][2][6];
397 double THETAT;
398 double THETAB;
399 double THETAL;
400 double ATSS;
401 double ABSS;
402 double ALSS;
403 double MUSS;
404 double FACTSS;
405 double GHWWSS[3];
406 double GHZZSS[3];
407 double GHDDSS[4];
408 double GHUUSS[4];
409 double GHWHSS[3];
410 double GHSQSS[2][2][6][4];
411 double XLMNSS;
412 double RMMNSS;
413 double IMSSM;
414 double SENHNC[24];
415 double SSPARITY;
416 int SUSYIN;
417};
418
419struct Hwrpar_t {
420 double LAMDA1[3][3][3];
421 double LAMDA2[3][3][3];
422 double LAMDA3[3][3][3];
423 int HRDCOL[5][2];
424 int RPARTY;
425 int COLUPD;
426};
427
428struct Hwminb_t {
429 double PMBN1;
430 double PMBN2;
431 double PMBN3;
432 double PMBK1;
433 double PMBK2;
434 double PMBM1;
435 double PMBM2;
436 double PMBP1;
437 double PMBP2;
438 double PMBP3;
439};
440
441int const NMXCL = 500;
442
443struct Hwclus_t {
444 double PPCL[NMXCL][5];
445 int IDCL[NMXCL];
446 int NCL;
447};
448
e2054d85 449// herwig 6.507
450
451struct Hwgrav_t {
452 double GRVLAM;
453 double EMGRV;
454 double GAMGRV;
455};
456
457struct Hw6202_t {
458 double VIPWID[3];
459 double DXRCYL;
460 double DXZMAX;
461 double DXRSPH;
462 int WZRFR;
463 int FIX4JT;
464 int IMSSM;
465 int IHIGGS;
466 int PARITY;
467 int LRSUSY;
468};
469
470struct Hw6203_t {
471 double ABWGT;
472 double ABWSUM;
473 double AVABW;
474 int NNEGWT;
475 int NNEGEV;
476 int NEGWTS;
477};
478
479int const IMAXCH = 20;
480
481struct Hw6300_t {
482 double MJJMIN;
483 double CHNPRB[IMAXCH];
484 int IOPSTP;
485 int IOPSH;
486 int OPTM;
487 int CHON[IMAXCH];
488};
489
490
491int const NXMRS = 49;
492int const NQMRS = 37;
493int const NPMRS = 8;
494
495struct Hwpmrs_t {
496 double FMRS[NQMRS+1][NXMRS][NPMRS][3];
497};
498
499struct Hwcirc_t {
500 int CIRCOP;
501 int CIRCAC;
502 int CIRCVR;
503 int CIRCRV;
504 int CIRCCH;
505};
506
507int const NCFMAX = 3;
508int const NMODE2 = 500;
509int const NMODE3 = 500;
510int const NDIAGR = 8;
511int const NMODEB = 50;
512int const NMODE4 = 4;
513
514struct Hwdspb_t {
515 double ABMODE[NMODEB][2];
516 double BBMODE[NMODEB][12][2];
517 double PBMODE[NMODEB][12];
518 double WTBMAX[NMODEB][12];
519 int IDBPRT[NMODEB];
520 int IBDRTP[NMODEB];
521 int IBMODE[NMODEB];
522 int NBMODE;
523};
524
525struct Hwdsp2_t {
526 double A2MODE[NMODE2][2];
527 double P2MODE[NMODE2];
528 double WT2MAX[NMODE2];
529 int ID2PRT[NMODE2];
530 int I2DRTP[NMODE2];
531 int N2MODE;
532};
533
534struct Hwdsp3_t {
535 double A3MODE[NMODE3][NDIAGR][2];
536 double B3MODE[NMODE3][NDIAGR][2];
537 double P3MODE[NMODE3];
538 double WT3MAX[NMODE3];
539 double SPN3CF[NMODE3][NCFMAX][NCFMAX];
540 int ID3PRT[NMODE3];
541 int I3MODE[NMODE3][NDIAGR];
542 int I3DRTP[NMODE3][NDIAGR];
543 int N3MODE;
544 int NDI3BY[NMODE3];
545 int N3NCFL[NMODE3];
546 int I3DRCF[NMODE3][NDIAGR];
547};
548
549struct Hwdsp4_t {
550 double A4MODE[NMODE4][12][2];
551 double B4MODE[NMODE4][12][2];
552 double P4MODE[NMODE4][12][12];
553 double WT4MAX[NMODE4][12][12];
554 int ID4PRT[NMODE4];
555 int I4MODE[NMODE4][2];
556 int N4MODE;
557};
558
559struct Hwdspn_t {
560 int NDECSY;
561 int NSEARCH;
562 int LRDEC;
563 int LWDEC;
564 int SYSPIN;
565 int THREEB;
566 int FOURB;
567 char TAUDEC[6];
568};
569
570int const NMXSPN = 50;
571
572struct Hwspin_t {
573 dcpx MESPN[NMXSPN][NCFMAX][2][2][2][2];
574 dcpx RHOSPN[NMXSPN][2][2];
575 double SPNCFC[NMXSPN][NCFMAX][NCFMAX];
576 int IDSPN[NMXSPN];
577 int JMOSPN[NMXSPN];
578 int JDASPN[NMXSPN][2];
579 int NSPN;
580 int ISNHEP[NMXHEP];
581 int NSNTRY;
582 int DECSPN[NMXSPN];
583 int NCFL[NMXSPN];
584 int SPCOPT;
585};
586
587struct Hwstau_t {
588 int JAK1;
589 int JAK2;
590 int ITDKRC;
591 int IFPHOT;
592};
593
594int const MAXHRP = 100;
595
596struct Hwgupr_t {
597 double LHWGT[MAXHRP];
598 double LHWGTS[MAXHRP];
599 double LHXSCT[MAXHRP];
600 double LHXERR[MAXHRP];
601 double LHXMAX[MAXHRP];
602 double LHMXSM;
603 int LHIWGT[MAXHRP];
604 int LHNEVT[MAXHRP];
605 int ITYPLH;
606 int LHSOFT;
607 int LHGLSF;
608};
609
610struct Hw6500_t {
611 int PRESPL;
612};
613
614struct Hw6504_t {
615 int ITOPRD;
616};
617
618struct Hw6506_t {
619 double PDFX0;
620 double PDFPOW;
621};
622
623
2d8d4543 624
625extern "C" {
626 void hwigin_();
627 void hwuinc_();
628 void hwusta_(char * name, int);
629 void hweini_();
630 void hwuine_();
631 void hwepro_();
632 void hwbgen_();
633 void hwdhob_();
634 void hwcfor_();
635 void hwcdec_();
636 void hwdhad_();
637 void hwdhvy_();
638 void hwmevt_();
639 void hwufne_();
640 void hwefin_();
641}
642
7677b281 643// subroutines to be call by JIMMY
644
645extern "C" {
646 void jminit_();
647 void jimmin_();
648 void jmefin_();
649}
650
651
2d8d4543 652
653
654
655