Adding extra check for GPU_FORCE_64BIT_PTR env var
[u/mrichter/AliRoot.git] / THerwig / HCommon.h
CommitLineData
455f128d 1#ifndef HerwigCommon
2#define HerwigCommon
3
4#ifndef __CFORTRAN_LOADED
5#include <cfortran.h>
6#endif
7
8extern "C" {
2d8d4543 9// Translation of Fortran commons from the Herwig6
10// f77 program into c++ structures to be used in ROOT
11// and declaration of Fortran functions as extern
12// C functions to be called from the class Herwig6
13// author: j. g. contreras jgcn@moni.mda.cinvestav.mx
14// date: december 22, 2000
15
e2054d85 16struct dcpx {double dr,di;};
17
455f128d 18int const NMXHEP = 4000;
2d8d4543 19
455f128d 20typedef struct {
2d8d4543 21 int NEVHEP;
22 int NHEP;
23 int ISTHEP[NMXHEP];
24 int IDHEP[NMXHEP];
25 int JMOHEP[NMXHEP][2];
26 int JDAHEP[NMXHEP][2];
27 double PHEP[NMXHEP][5];
28 double VHEP[NMXHEP][4];
455f128d 29} HepevtCommon;
30
31#define HEPEVT COMMON_BLOCK(HEPEVT, hepevt)
32 COMMON_BLOCK_DEF(HepevtCommon, HEPEVT);
2d8d4543 33
455f128d 34
35typedef struct {
2d8d4543 36 int IPART1;
37 int IPART2;
455f128d 38} HwbeamCommon;
39
40#define HWBEAM COMMON_BLOCK(HWBEAM, hwbeam)
41 COMMON_BLOCK_DEF(HwbeamCommon, HWBEAM);
2d8d4543 42
455f128d 43typedef struct {
2d8d4543 44 char PART1[8];
45 char PART2[8];
455f128d 46} HwbmchCommon;
47
48#define HWBMCH COMMON_BLOCK(HWBMCH, hwbmch)
49 COMMON_BLOCK_DEF(HwbmchCommon, HWBMCH);
2d8d4543 50
455f128d 51
52typedef struct {
2d8d4543 53 double EBEAM1;
54 double EBEAM2;
55 double PBEAM1;
56 double PBEAM2;
57 int IPROC;
58 int MAXEV;
455f128d 59} HwprocCommon;
60
61#define HWPROC COMMON_BLOCK(HWPROC, hwproc)
62 COMMON_BLOCK_DEF(HwprocCommon, HWPROC);
63
2d8d4543 64
455f128d 65typedef struct {
2d8d4543 66 double AFCH[2][16];
67 double ALPHEM;
68 double B1LIM;
69 double BETAF;
70 double BTCLM;
71 double CAFAC;
72 double CFFAC;
73 double CLMAX;
74 double CLPOW;
75 double CLSMR[2];
76 double CSPEED;
77 double ENSOF;
78 double ETAMIX;
79 double F0MIX;
80 double F1MIX;
81 double F2MIX;
82 double GAMH;
83 double GAMW;
84 double GAMZ;
85 double GAMZP;
86 double GEV2NB;
87 double H1MIX;
88 double PDIQK;
89 double PGSMX;
90 double PGSPL[4];
91 double PHIMIX;
92 double PIFAC;
93 double PRSOF;
94 double PSPLT[2];
95 double PTRMS;
96 double PXRMS;
97 double QCDL3;
98 double QCDL5;
99 double QCDLAM;
100 double QDIQK;
101 double QFCH[16];
102 double QG;
103 double QSPAC;
104 double QV;
105 double SCABI;
106 double SWEIN;
107 double TMTOP;
108 double VFCH[2][16];
109 double VCKM[3][3];
110 double VGCUT;
111 double VQCUT;
112 double VPCUT;
113 double ZBINM;
114 double EFFMIN;
115 double OMHMIX;
116 double ET2MIX;
117 double PH3MIX;
118 double GCUTME;
119 int IOPREM;
120 int IPRINT;
121 int ISPAC;
122 int LRSUD;
123 int LWSUD;
124 int MODPDF[2];
125 int NBTRY;
126 int NCOLO;
127 int NCTRY;
128 int NDTRY;
129 int NETRY;
130 int NFLAV;
131 int NGSPL;
132 int NSTRU;
133 int NSTRY;
134 int NZBIN;
135 int IOP4JT[2];
136 int NPRFMT;
137 int AZSOFT;
138 int AZSPIN;
139 int CLDIR[2];
140 int HARDME;
141 int NOSPAC;
142 int PRNDEC;
143 int PRVTX;
144 int SOFTME;
145 int ZPRIME;
146 int PRNDEF;
147 int PRNTEX;
148 int PRNWEB;
455f128d 149} HwpramCommon;
2d8d4543 150
455f128d 151#define HWPRAM COMMON_BLOCK(HWPRAM, hwpram)
152 COMMON_BLOCK_DEF(HwpramCommon, HWPRAM);
153
154typedef struct {
2d8d4543 155 char AUTPDF[2][20];
156 char BDECAY[4];
455f128d 157} HwprchCommon;
158
159#define HWPRCH COMMON_BLOCK(HWPRCH, hwprch)
160 COMMON_BLOCK_DEF(HwprchCommon, HWPRCH);
2d8d4543 161
162int const NMXPAR = 500;
163
455f128d 164typedef struct {
2d8d4543 165 int NEVPAR;
166 int NPAR;
167 int ISTPAR[NMXPAR];
168 int IDPAR[NMXPAR];
169 int JMOPAR[NMXPAR][2];
170 int JDAPAR[NMXPAR][2];
171 double PPAR[NMXPAR][5];
172 double VPAR[NMXPAR][4];
455f128d 173} HwpartCommon;
174
175#define HWPART COMMON_BLOCK(HWPART, hwpart)
176 COMMON_BLOCK_DEF(HwpartCommon, HWPART);
2d8d4543 177
455f128d 178typedef struct {
2d8d4543 179 double DECPAR[NMXPAR][2];
180 double PHIPAR[NMXPAR][2];
181 double RHOPAR[NMXPAR][2];
182 int TMPAR[NMXPAR];
455f128d 183} HwparpCommon;
184
185#define HWPARP COMMON_BLOCK(HWPARP, hwparp)
186 COMMON_BLOCK_DEF(HwparpCommon, HWPARP);
2d8d4543 187
188int const MODMAX = 5;
189
455f128d 190typedef struct {
2d8d4543 191 double ALPFAC;
192 double BRHIG[12];
193 double ENHANC[12];
194 double GAMMAX;
195 double RHOHEP[NMXHEP][3];
196 int IOPHIG;
197 int MODBOS[MODMAX];
455f128d 198} HwboscCommon;
199
200#define HWBOSC COMMON_BLOCK(HWBOSC, hwbosc)
201 COMMON_BLOCK_DEF(HwboscCommon, HWBOSC);
2d8d4543 202
455f128d 203typedef struct {
2d8d4543 204 int JCOPAR[NMXPAR][4];
455f128d 205} HwparcCommon;
2d8d4543 206
455f128d 207#define HWPARC COMMON_BLOCK(HWPARC, hwparc)
208 COMMON_BLOCK_DEF(HwparcCommon, HWPARC);
209
210typedef struct {
2d8d4543 211 double ANOMSC[2][2];
212 double HARDST;
213 double PTINT[2][3];
214 double XFACT;
215 int INHAD;
216 int JNHAD;
217 int NSPAC[7];
218 int ISLENT;
219 int BREIT;
220 int FROST;
221 int USECMF;
455f128d 222} HwbrchCommon;
223
224#define HWBRCH COMMON_BLOCK(HWBRCH, hwbrch)
225 COMMON_BLOCK_DEF(HwbrchCommon, HWBRCH);
2d8d4543 226
455f128d 227typedef struct {
2d8d4543 228 double AVWGT;
229 double EVWGT;
230 double GAMWT;
231 double TLOUT;
232 double WBIGST;
233 double WGTMAX;
234 double WGTSUM;
235 double WSQSUM;
236 int IDHW[NMXHEP];
237 int IERROR;
238 int ISTAT;
239 int LWEVT;
240 int MAXER;
241 int MAXPR;
242 int NOWGT;
243 int NRN[2];
244 int NUMER;
245 int NUMERU;
246 int NWGTS;
247 int GENSOF;
455f128d 248} HwevntCommon;
2d8d4543 249
455f128d 250#define HWEVNT COMMON_BLOCK(HWEVNT, hwevnt)
251 COMMON_BLOCK_DEF(HwevntCommon, HWEVNT);
252
253typedef struct {
2d8d4543 254 double ASFIXD;
255 double CLQ[6][7];
256 double COSS;
257 double COSTH;
258 double CTMAX;
259 double DISF[2][13];
260 double EMLST;
261 double EMMAX;
262 double EMMIN;
263 double EMPOW;
264 double EMSCA;
265 double EPOLN[3];
266 double GCOEF[7];
267 double GPOLN;
268 double OMEGA0;
269 double PHOMAS;
270 double PPOLN[3];
271 double PTMAX;
272 double PTMIN;
273 double PTPOW;
274 double Q2MAX;
275 double Q2MIN;
276 double Q2POW;
277 double Q2WWMN;
278 double Q2WWMX;
279 double QLIM;
280 double SINS;
281 double THMAX;
282 double Y4JT;
283 double TMNISR;
284 double TQWT;
285 double XX[2];
286 double XLMIN;
287 double XXMIN;
288 double YBMAX;
289 double YBMIN;
290 double YJMAX;
291 double YJMIN;
292 double YWWMAX;
293 double YWWMIN;
294 double WHMIN;
295 double ZJMAX;
296 double ZMXISR;
297 int IAPHIG;
298 int IBRN[2];
299 int IBSH;
300 int ICO[10];
301 int IDCMF;
302 int IDN[10];
303 int IFLMAX;
304 int IFLMIN;
305 int IHPRO;
306 int IPRO;
307 int MAPQ[10];
308 int MAXFL;
309 int BGSHAT;
310 int COLISR;
311 int FSTEVT;
312 int FSTWGT;
313 int GENEV;
314 int HVFCEN;
315 int TPOL;
316 int DURHAM;
455f128d 317} HwhardCommon;
318
319#define HWHARD COMMON_BLOCK(HWHARD, hwhard)
320 COMMON_BLOCK_DEF(HwhardCommon, HWHARD);
2d8d4543 321
322int const NMXRES = 500;
323
455f128d 324typedef struct {
2d8d4543 325 double RLTIM[NMXRES+1];
326 double RMASS[NMXRES+1];
327 double RSPIN[NMXRES+1];
328 int ICHRG[NMXRES+1];
329 int IDPDG[NMXRES+1];
330 int IFLAV[NMXRES+1];
331 int NRES;
332 int VTOCDK[NMXRES+1];
333 int VTORDK[NMXRES+1];
334 int QORQQB[NMXRES+1];
335 int QBORQQ[NMXRES+1];
455f128d 336} HwpropCommon;
337
338#define HWPROP COMMON_BLOCK(HWPROP, hwprop)
339 COMMON_BLOCK_DEF(HwpropCommon, HWPROP);
2d8d4543 340
455f128d 341typedef struct {
2d8d4543 342 char RNAME[NMXRES+1][8];
343 char TXNAME[NMXRES+1][2][37];
455f128d 344} HwunamCommon;
345
346#define HWUNAM COMMON_BLOCK(HWUNAM, hwunam)
347 COMMON_BLOCK_DEF(HwunamCommon, HWUNAM);
2d8d4543 348
349int const NMXDKS = 4000;
350int const NMXMOD = 200;
351
455f128d 352typedef struct {
2d8d4543 353 double BRFRAC[NMXDKS];
354 double CMMOM[NMXDKS];
355 double DKLTM[NMXRES];
356 int IDK[NMXDKS];
357 int IDKPRD[NMXDKS][5];
358 int LNEXT[NMXDKS];
359 int LSTRT[NMXRES];
360 int NDKYS;
361 int NME[NMXDKS];
362 int NMODES[NMXRES];
363 int NPRODS[NMXDKS];
364 int DKPSET;
365 int RSTAB[NMXRES+1];
455f128d 366} HwupdtCommon;
367
368#define HWUPDT COMMON_BLOCK(HWUPDT, hwupdt)
369 COMMON_BLOCK_DEF(HwupdtCommon, HWUPDT);
370
2d8d4543 371
455f128d 372typedef struct {
2d8d4543 373 double REPWT[5][4][4];
374 double SNGWT;
375 double DECWT;
376 double QWT[3];
377 double PWT[12];
378 double SWTEF[NMXRES];
455f128d 379} HwuwtsCommon;
380
381#define HWUWTS COMMON_BLOCK(HWUWTS, hwuwts)
382 COMMON_BLOCK_DEF(HwuwtsCommon, HWUWTS);
383
2d8d4543 384
385int const NMXCDK = 4000;
386
455f128d 387typedef struct {
2d8d4543 388 double CLDKWT[NMXCDK];
389 double CTHRPW[12][12];
390 double PRECO;
391 double RESN[12][12];
392 double RMIN[12][12];
393 int LOCN[12][12];
394 int NCLDK[NMXCDK];
395 int NRECO;
396 int CLRECO;
455f128d 397} HwucluCommon;
398
399#define HWUCLU COMMON_BLOCK(HWUCLU, hwuclu)
400 COMMON_BLOCK_DEF(HwucluCommon, HWUCLU);
2d8d4543 401
455f128d 402
403typedef struct {
2d8d4543 404 double EXAG;
405 double GEV2MM;
406 double HBAR;
407 double PLTCUT;
408 double VMIN2;
409 double VTXPIP[4];
410 double XMIX[2];
411 double XMRCT[2];
412 double YMIX[2];
413 double YMRCT[2];
414 int IOPDKL;
415 int MAXDKL;
416 int MIXING;
417 int PIPSMR;
455f128d 418} HwdistCommon;
419
420#define HWDIST COMMON_BLOCK(HWDIST, hwdist)
421 COMMON_BLOCK_DEF(HwdistCommon, HWDIST);
2d8d4543 422
423int const NMXQDK=20;
424
455f128d 425typedef struct {
2d8d4543 426 double VTXQDK[NMXQDK][4];
427 int IMQDK[NMXQDK];
428 int LOCQ[NMXQDK];
429 int NQDK;
455f128d 430} HwqdksCommon;
431
432#define HWQDKS COMMON_BLOCK(HWQDKS, hwqdks)
433 COMMON_BLOCK_DEF(HwqdksCommon, HWQDKS);
2d8d4543 434
435int const NMXSUD = 1024;
436
455f128d 437typedef struct {
2d8d4543 438 double ACCUR;
439 double QEV[6][NMXSUD];
440 double SUD[6][NMXSUD];
441 int INTER;
442 int NQEV;
443 int NSUD;
444 int SUDORD;
455f128d 445} HwusudCommon;
446
447#define HWUSUD COMMON_BLOCK(HWUSUD, hwusud)
448 COMMON_BLOCK_DEF(HwusudCommon, HWUSUD);
2d8d4543 449
455f128d 450typedef struct {
2d8d4543 451 double TANB;
452 double ALPHAH;
453 double COSBPA;
454 double SINBPA;
455 double COSBMA;
456 double SINBMA;
457 double COSA;
458 double SINA;
459 double COSB;
460 double SINB;
461 double COTB;
462 double ZMIXSS[4][4];
463 double ZMXNSS[4][4];
464 double ZSGNSS[4];
465 double LFCH[16];
466 double RFCH[16];
467 double SLFCH[4][16];
468 double SRFCH[4][16];
469 double WMXUSS[2][2];
470 double WMXVSS[2][2];
471 double WSGNSS[2];
472 double QMIXSS[2][2][6];
473 double LMIXSS[2][2][6];
474 double THETAT;
475 double THETAB;
476 double THETAL;
477 double ATSS;
478 double ABSS;
479 double ALSS;
480 double MUSS;
481 double FACTSS;
482 double GHWWSS[3];
483 double GHZZSS[3];
484 double GHDDSS[4];
485 double GHUUSS[4];
486 double GHWHSS[3];
487 double GHSQSS[2][2][6][4];
488 double XLMNSS;
489 double RMMNSS;
490 double IMSSM;
491 double SENHNC[24];
492 double SSPARITY;
493 int SUSYIN;
455f128d 494} HwsusyCommon;
2d8d4543 495
455f128d 496#define HWSUSY COMMON_BLOCK(HWSUSY, hwsusy)
497 COMMON_BLOCK_DEF(HwsusyCommon, HWSUSY);
498
499typedef struct {
2d8d4543 500 double LAMDA1[3][3][3];
501 double LAMDA2[3][3][3];
502 double LAMDA3[3][3][3];
503 int HRDCOL[5][2];
504 int RPARTY;
505 int COLUPD;
455f128d 506} HwrparCommon;
507
508#define HWRPAR COMMON_BLOCK(HWRPAR, hwrpar)
509 COMMON_BLOCK_DEF(HwrparCommon, HWRPAR);
2d8d4543 510
455f128d 511typedef struct {
2d8d4543 512 double PMBN1;
513 double PMBN2;
514 double PMBN3;
515 double PMBK1;
516 double PMBK2;
517 double PMBM1;
518 double PMBM2;
519 double PMBP1;
520 double PMBP2;
521 double PMBP3;
455f128d 522} HwminbCommon;
523
524#define HWMINB COMMON_BLOCK(HWMINB, hwminb)
525 COMMON_BLOCK_DEF(HwminbCommon, HWMINB);
2d8d4543 526
527int const NMXCL = 500;
528
455f128d 529typedef struct {
2d8d4543 530 double PPCL[NMXCL][5];
531 int IDCL[NMXCL];
532 int NCL;
455f128d 533} HwclusCommon;
534
535#define HWCLUS COMMON_BLOCK(HWCLUS, hwclus)
536 COMMON_BLOCK_DEF(HwclusCommon, HWCLUS);
2d8d4543 537
e2054d85 538// herwig 6.507
539
455f128d 540typedef struct Hwgrav_t {
e2054d85 541 double GRVLAM;
542 double EMGRV;
543 double GAMGRV;
455f128d 544} HwgravCommon;
545
546#define HWGRAV COMMON_BLOCK(HWGRAV, hwgrav)
547 COMMON_BLOCK_DEF(HwgravCommon, HWGRAV);
e2054d85 548
455f128d 549typedef struct {
e2054d85 550 double VIPWID[3];
551 double DXRCYL;
552 double DXZMAX;
553 double DXRSPH;
554 int WZRFR;
555 int FIX4JT;
556 int IMSSM;
557 int IHIGGS;
558 int PARITY;
559 int LRSUSY;
455f128d 560} Hw6202Common;
561
562#define HW6202 COMMON_BLOCK(HW6202, hw6202)
563 COMMON_BLOCK_DEF(Hw6202Common, HW6202);
e2054d85 564
455f128d 565typedef struct {
e2054d85 566 double ABWGT;
567 double ABWSUM;
568 double AVABW;
569 int NNEGWT;
570 int NNEGEV;
571 int NEGWTS;
455f128d 572} Hw6203Common;
573
574#define HW6203 COMMON_BLOCK(HW6203, hw6203)
575 COMMON_BLOCK_DEF(Hw6203Common, HW6203);
e2054d85 576
577int const IMAXCH = 20;
578
455f128d 579typedef struct {
e2054d85 580 double MJJMIN;
581 double CHNPRB[IMAXCH];
582 int IOPSTP;
583 int IOPSH;
584 int OPTM;
585 int CHON[IMAXCH];
455f128d 586} Hw6300Common;
e2054d85 587
455f128d 588#define HW6300 COMMON_BLOCK(HW6300, hw6300)
589 COMMON_BLOCK_DEF(Hw6300Common, HW6300);
e2054d85 590
591int const NXMRS = 49;
592int const NQMRS = 37;
593int const NPMRS = 8;
594
455f128d 595typedef struct {
e2054d85 596 double FMRS[NQMRS+1][NXMRS][NPMRS][3];
455f128d 597} HwpmrsCommon;
598
599#define HWPMRS COMMON_BLOCK(HWPMRS, hwpmrs)
600 COMMON_BLOCK_DEF(HwpmrsCommon, HWPMRS);
e2054d85 601
455f128d 602typedef struct {
e2054d85 603 int CIRCOP;
604 int CIRCAC;
605 int CIRCVR;
606 int CIRCRV;
607 int CIRCCH;
455f128d 608} HwcircCommon;
609
610#define HWCIRC COMMON_BLOCK(HWCIRC, hwcirc)
611 COMMON_BLOCK_DEF(HwcircCommon, HWCIRC);
e2054d85 612
613int const NCFMAX = 3;
614int const NMODE2 = 500;
615int const NMODE3 = 500;
616int const NDIAGR = 8;
617int const NMODEB = 50;
618int const NMODE4 = 4;
619
455f128d 620typedef struct {
e2054d85 621 double ABMODE[NMODEB][2];
622 double BBMODE[NMODEB][12][2];
623 double PBMODE[NMODEB][12];
624 double WTBMAX[NMODEB][12];
625 int IDBPRT[NMODEB];
626 int IBDRTP[NMODEB];
627 int IBMODE[NMODEB];
628 int NBMODE;
455f128d 629} HwdspbCommon;
e2054d85 630
455f128d 631#define HWDSPB COMMON_BLOCK(HWDSPB, hwdspb)
632 COMMON_BLOCK_DEF(HwdspbCommon, HWDSPB);
633
634typedef struct {
e2054d85 635 double A2MODE[NMODE2][2];
636 double P2MODE[NMODE2];
637 double WT2MAX[NMODE2];
638 int ID2PRT[NMODE2];
639 int I2DRTP[NMODE2];
640 int N2MODE;
455f128d 641} Hwdsp2Common;
642
643#define HWDSP2 COMMON_BLOCK(HWDSP2, hwdsp2)
644 COMMON_BLOCK_DEF(Hwdsp2Common, HWDSP2);
e2054d85 645
455f128d 646typedef struct {
e2054d85 647 double A3MODE[NMODE3][NDIAGR][2];
648 double B3MODE[NMODE3][NDIAGR][2];
649 double P3MODE[NMODE3];
650 double WT3MAX[NMODE3];
651 double SPN3CF[NMODE3][NCFMAX][NCFMAX];
652 int ID3PRT[NMODE3];
653 int I3MODE[NMODE3][NDIAGR];
654 int I3DRTP[NMODE3][NDIAGR];
655 int N3MODE;
656 int NDI3BY[NMODE3];
657 int N3NCFL[NMODE3];
658 int I3DRCF[NMODE3][NDIAGR];
455f128d 659} Hwdsp3Common;
660
661#define HWDSP3 COMMON_BLOCK(HWDSP3, hwdsp3)
662 COMMON_BLOCK_DEF(Hwdsp3Common, HWDSP3);
e2054d85 663
455f128d 664typedef struct {
e2054d85 665 double A4MODE[NMODE4][12][2];
666 double B4MODE[NMODE4][12][2];
667 double P4MODE[NMODE4][12][12];
668 double WT4MAX[NMODE4][12][12];
669 int ID4PRT[NMODE4];
670 int I4MODE[NMODE4][2];
671 int N4MODE;
455f128d 672} Hwdsp4Common;
e2054d85 673
455f128d 674#define HWDSP4 COMMON_BLOCK(HWDSP4, hwdsp4)
675 COMMON_BLOCK_DEF(Hwdsp4Common, HWDSP4);
676
677typedef struct {
e2054d85 678 int NDECSY;
679 int NSEARCH;
680 int LRDEC;
681 int LWDEC;
682 int SYSPIN;
683 int THREEB;
684 int FOURB;
685 char TAUDEC[6];
455f128d 686} HwdspnCommon;
687
688#define HWDSPN COMMON_BLOCK(HWDSPN, hwdspn)
689 COMMON_BLOCK_DEF(HwdspnCommon, HWDSPN);
e2054d85 690
691int const NMXSPN = 50;
692
455f128d 693typedef struct {
e2054d85 694 dcpx MESPN[NMXSPN][NCFMAX][2][2][2][2];
695 dcpx RHOSPN[NMXSPN][2][2];
696 double SPNCFC[NMXSPN][NCFMAX][NCFMAX];
697 int IDSPN[NMXSPN];
698 int JMOSPN[NMXSPN];
699 int JDASPN[NMXSPN][2];
700 int NSPN;
701 int ISNHEP[NMXHEP];
702 int NSNTRY;
703 int DECSPN[NMXSPN];
704 int NCFL[NMXSPN];
705 int SPCOPT;
455f128d 706} HwspinCommon;
707
708#define HWSPIN COMMON_BLOCK(HWSPIN, hwspin)
709 COMMON_BLOCK_DEF(HwspinCommon, HWSPIN);
e2054d85 710
455f128d 711typedef struct {
e2054d85 712 int JAK1;
713 int JAK2;
714 int ITDKRC;
715 int IFPHOT;
455f128d 716} HwstauCommon;
717
718#define HWSTAU COMMON_BLOCK(HWSTAU, hwstau)
719 COMMON_BLOCK_DEF(HwstauCommon, HWSTAU);
e2054d85 720
721int const MAXHRP = 100;
722
455f128d 723typedef struct {
e2054d85 724 double LHWGT[MAXHRP];
725 double LHWGTS[MAXHRP];
726 double LHXSCT[MAXHRP];
727 double LHXERR[MAXHRP];
728 double LHXMAX[MAXHRP];
729 double LHMXSM;
730 int LHIWGT[MAXHRP];
731 int LHNEVT[MAXHRP];
732 int ITYPLH;
733 int LHSOFT;
734 int LHGLSF;
455f128d 735} HwguprCommon;
736
737#define HWGUPR COMMON_BLOCK(HWGUPR, hwgupr)
738 COMMON_BLOCK_DEF(HwguprCommon, HWGUPR);
e2054d85 739
455f128d 740typedef struct {
e2054d85 741 int PRESPL;
455f128d 742} Hw6500Common;
743
744#define HW6500 COMMON_BLOCK(HW6500, hw6500)
745 COMMON_BLOCK_DEF(Hw6500Common, HW6500);
e2054d85 746
455f128d 747typedef struct {
e2054d85 748 int ITOPRD;
455f128d 749} Hw6504Common;
e2054d85 750
455f128d 751#define HW6504 COMMON_BLOCK(HW6504, hw6504)
752 COMMON_BLOCK_DEF(Hw6504Common, HW6504);
753
754typedef struct {
e2054d85 755 double PDFX0;
756 double PDFPOW;
455f128d 757} Hw6506Common;
e2054d85 758
455f128d 759#define HW6506 COMMON_BLOCK(HW6506, hw6506)
760 COMMON_BLOCK_DEF(Hw6506Common, HW6506);
e2054d85 761
455f128d 762}
2d8d4543 763
764extern "C" {
455f128d 765 void hwuepr_();
766 void hwigin_();
767 void hwuinc_();
768 void hweini_();
769 void hwuine_();
770 void hwepro_();
771 void hwbgen_();
772 void hwdhob_();
773 void hwcfor_();
774 void hwcdec_();
775 void hwdhad_();
776 void hwdhvy_();
777 void hwmevt_();
778 void hwufne_();
779 void hwefin_();
780 void hwusta_(const char * name, int);
781 void hwiodk_(int);
2d8d4543 782}
783
7677b281 784// subroutines to be call by JIMMY
785
786extern "C" {
787 void jminit_();
788 void jimmin_();
789 void jmefin_();
790}
791
455f128d 792#endif
2d8d4543 793
794
795
796