Initialization of data members in the default constructor
[u/mrichter/AliRoot.git] / THerwig / HCommon.h
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