Flushing the buffer for debug purposes (R. Preghenella)
[u/mrichter/AliRoot.git] / THerwig / HCommon.h
1 #ifndef HerwigCommon
2 #define HerwigCommon
3
4 #ifndef __CFORTRAN_LOADED
5 #include <cfortran.h>
6 #endif
7
8 extern "C" {
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
16 struct dcpx {double dr,di;};
17
18 int const NMXHEP = 4000;
19
20 typedef struct {
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];
29 } HepevtCommon;
30
31 #define HEPEVT COMMON_BLOCK(HEPEVT, hepevt)
32   COMMON_BLOCK_DEF(HepevtCommon, HEPEVT);
33
34
35 typedef struct {
36   int IPART1;
37   int IPART2;
38 } HwbeamCommon;
39
40 #define HWBEAM COMMON_BLOCK(HWBEAM, hwbeam)
41   COMMON_BLOCK_DEF(HwbeamCommon, HWBEAM);
42
43 typedef struct {
44   char PART1[8];
45   char PART2[8];
46 } HwbmchCommon;
47
48 #define HWBMCH COMMON_BLOCK(HWBMCH, hwbmch)
49   COMMON_BLOCK_DEF(HwbmchCommon, HWBMCH);
50
51
52 typedef struct {
53   double EBEAM1;
54   double EBEAM2;
55   double PBEAM1;
56   double PBEAM2;
57   int    IPROC;
58   int    MAXEV;
59 } HwprocCommon;
60
61 #define HWPROC COMMON_BLOCK(HWPROC, hwproc)
62   COMMON_BLOCK_DEF(HwprocCommon, HWPROC);
63
64
65 typedef struct {
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;
149 } HwpramCommon;
150
151 #define HWPRAM COMMON_BLOCK(HWPRAM, hwpram)
152   COMMON_BLOCK_DEF(HwpramCommon, HWPRAM);
153
154 typedef struct {
155   char AUTPDF[2][20];
156   char BDECAY[4];
157 } HwprchCommon;
158
159 #define HWPRCH COMMON_BLOCK(HWPRCH, hwprch)
160   COMMON_BLOCK_DEF(HwprchCommon, HWPRCH);
161
162 int const NMXPAR = 500;
163
164 typedef struct {
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];
173 } HwpartCommon;
174
175 #define HWPART COMMON_BLOCK(HWPART, hwpart)
176   COMMON_BLOCK_DEF(HwpartCommon, HWPART);
177
178 typedef struct {
179   double DECPAR[NMXPAR][2];
180   double PHIPAR[NMXPAR][2];
181   double RHOPAR[NMXPAR][2];
182   int TMPAR[NMXPAR];
183 } HwparpCommon;
184
185 #define HWPARP COMMON_BLOCK(HWPARP, hwparp)
186   COMMON_BLOCK_DEF(HwparpCommon, HWPARP);
187
188 int const MODMAX = 50;
189
190 typedef struct {
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];
198 } HwboscCommon;
199
200 #define HWBOSC COMMON_BLOCK(HWBOSC, hwbosc)
201   COMMON_BLOCK_DEF(HwboscCommon, HWBOSC);
202
203 typedef struct {
204   int     JCOPAR[NMXPAR][4];
205 } HwparcCommon;
206
207 #define HWPARC COMMON_BLOCK(HWPARC, hwparc)
208   COMMON_BLOCK_DEF(HwparcCommon, HWPARC);
209
210 typedef struct {
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;
222 } HwbrchCommon;
223
224 #define HWBRCH COMMON_BLOCK(HWBRCH, hwbrch)
225   COMMON_BLOCK_DEF(HwbrchCommon, HWBRCH);
226
227 typedef struct {
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;
248 } HwevntCommon;
249
250 #define HWEVNT COMMON_BLOCK(HWEVNT, hwevnt)
251   COMMON_BLOCK_DEF(HwevntCommon, HWEVNT);
252
253 typedef struct {
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[6];
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;
317 } HwhardCommon;
318
319 #define HWHARD COMMON_BLOCK(HWHARD, hwhard)
320   COMMON_BLOCK_DEF(HwhardCommon, HWHARD);
321
322 int const NMXRES = 500;
323
324 typedef struct {
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];
336 } HwpropCommon;
337
338 #define HWPROP COMMON_BLOCK(HWPROP, hwprop)
339   COMMON_BLOCK_DEF(HwpropCommon, HWPROP);
340
341 typedef struct {
342   char RNAME[NMXRES+1][8];
343   char TXNAME[NMXRES+1][2][37];
344 } HwunamCommon;
345
346 #define HWUNAM COMMON_BLOCK(HWUNAM, hwunam)
347   COMMON_BLOCK_DEF(HwunamCommon, HWUNAM);
348
349 int const NMXDKS = 4000;
350 int const NMXMOD = 200;
351
352 typedef struct {
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];
366 } HwupdtCommon;
367
368 #define HWUPDT COMMON_BLOCK(HWUPDT, hwupdt)
369   COMMON_BLOCK_DEF(HwupdtCommon, HWUPDT);
370
371
372 typedef struct {
373   double REPWT[5][5][4];
374   double SNGWT;
375   double DECWT;
376   double QWT[3];
377   double PWT[12];
378   double SWTEF[NMXRES];
379 } HwuwtsCommon;
380
381 #define HWUWTS COMMON_BLOCK(HWUWTS, hwuwts)
382   COMMON_BLOCK_DEF(HwuwtsCommon, HWUWTS);
383
384
385 int const NMXCDK = 4000;
386
387 typedef struct {
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;
397 } HwucluCommon;
398
399 #define HWUCLU COMMON_BLOCK(HWUCLU, hwuclu)
400   COMMON_BLOCK_DEF(HwucluCommon, HWUCLU);
401
402
403 typedef struct {
404   double EXAG;
405   double GEV2MM;
406   double HBAR;
407   double PLTCUT;
408   double VMIN2;
409   double VTXPIP[5];
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;
418 } HwdistCommon;
419
420 #define HWDIST COMMON_BLOCK(HWDIST, hwdist)
421   COMMON_BLOCK_DEF(HwdistCommon, HWDIST);
422
423 int const NMXQDK=20;
424
425 typedef struct {
426   double VTXQDK[NMXQDK][4];
427   int    IMQDK[NMXQDK];
428   int    LOCQ[NMXQDK];
429   int    NQDK;
430 } HwqdksCommon;
431
432 #define HWQDKS COMMON_BLOCK(HWQDKS, hwqdks)
433   COMMON_BLOCK_DEF(HwqdksCommon, HWQDKS);
434
435 int const NMXSUD = 1024;
436
437 typedef struct {
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;
445 } HwusudCommon;
446
447 #define HWUSUD COMMON_BLOCK(HWUSUD, hwusud)
448   COMMON_BLOCK_DEF(HwusudCommon, HWUSUD);
449
450 typedef struct {
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 DMSSM;
491   double SENHNC[24];
492   double SSPARITY;
493   int    SUSYIN;
494 } HwsusyCommon;
495
496 #define HWSUSY COMMON_BLOCK(HWSUSY, hwsusy)
497   COMMON_BLOCK_DEF(HwsusyCommon, HWSUSY);
498
499 typedef struct {
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;
506 } HwrparCommon;
507
508 #define HWRPAR COMMON_BLOCK(HWRPAR, hwrpar)
509   COMMON_BLOCK_DEF(HwrparCommon, HWRPAR);
510
511 typedef struct {
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;
522 } HwminbCommon;
523
524 #define HWMINB COMMON_BLOCK(HWMINB, hwminb)
525   COMMON_BLOCK_DEF(HwminbCommon, HWMINB);
526
527 int const NMXCL = 500;
528
529 typedef struct {
530   double PPCL[NMXCL][5];
531   int    IDCL[NMXCL];
532   int    NCL;
533 } HwclusCommon;
534
535 #define HWCLUS COMMON_BLOCK(HWCLUS, hwclus)
536   COMMON_BLOCK_DEF(HwclusCommon, HWCLUS);
537
538 // herwig 6.507
539
540 typedef struct Hwgrav_t {
541   double GRVLAM;
542   double EMGRV;
543   double GAMGRV;
544 } HwgravCommon;
545
546 #define HWGRAV COMMON_BLOCK(HWGRAV, hwgrav)
547   COMMON_BLOCK_DEF(HwgravCommon, HWGRAV);
548
549 typedef struct {
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;
560 } Hw6202Common;
561
562 #define HW6202 COMMON_BLOCK(HW6202, hw6202)
563   COMMON_BLOCK_DEF(Hw6202Common, HW6202);
564
565 typedef struct {
566   double ABWGT;
567   double ABWSUM;
568   double AVABW;
569   int    NNEGWT;
570   int    NNEGEV;
571   int    NEGWTS;
572 } Hw6203Common;
573
574 #define HW6203 COMMON_BLOCK(HW6203, hw6203)
575   COMMON_BLOCK_DEF(Hw6203Common, HW6203);
576
577 int const IMAXCH = 20;
578
579 typedef struct {
580   double MJJMIN;
581   double CHNPRB[IMAXCH];
582   int    IOPSTP;
583   int    IOPSH;
584   int    OPTM;
585   int    CHON[IMAXCH];
586 } Hw6300Common;
587
588 #define HW6300 COMMON_BLOCK(HW6300, hw6300)
589   COMMON_BLOCK_DEF(Hw6300Common, HW6300);
590
591 int const NXMRS = 49;
592 int const NQMRS = 37;
593 int const NPMRS = 8;
594
595 typedef struct {
596   double FMRS[NQMRS+1][NXMRS][NPMRS][3];
597 } HwpmrsCommon;
598
599 #define HWPMRS COMMON_BLOCK(HWPMRS, hwpmrs)
600   COMMON_BLOCK_DEF(HwpmrsCommon, HWPMRS);
601
602 typedef struct {
603   int    CIRCOP;
604   int    CIRCAC;
605   int    CIRCVR;
606   int    CIRCRV;
607   int    CIRCCH;
608 } HwcircCommon;
609
610 #define HWCIRC COMMON_BLOCK(HWCIRC, hwcirc)
611   COMMON_BLOCK_DEF(HwcircCommon, HWCIRC);
612
613 int const NCFMAX = 3;
614 int const NMODE2 = 500;
615 int const NMODE3 = 500;
616 int const NDIAGR = 8;
617 int const NMODEB = 50;
618 int const NMODE4 = 4;
619
620 typedef struct {
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;
629 } HwdspbCommon;
630
631 #define HWDSPB COMMON_BLOCK(HWDSPB, hwdspb)
632   COMMON_BLOCK_DEF(HwdspbCommon, HWDSPB);
633
634 typedef struct {
635   double A2MODE[NMODE2][2];
636   double P2MODE[NMODE2];
637   double WT2MAX[NMODE2];
638   int    ID2PRT[NMODE2];
639   int    I2DRTP[NMODE2];
640   int    N2MODE;
641 } Hwdsp2Common;
642
643 #define HWDSP2 COMMON_BLOCK(HWDSP2, hwdsp2)
644   COMMON_BLOCK_DEF(Hwdsp2Common, HWDSP2);
645
646 typedef struct {
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];
659 } Hwdsp3Common;
660
661 #define HWDSP3 COMMON_BLOCK(HWDSP3, hwdsp3)
662   COMMON_BLOCK_DEF(Hwdsp3Common, HWDSP3);
663
664 typedef struct {
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;
672 } Hwdsp4Common;
673
674 #define HWDSP4 COMMON_BLOCK(HWDSP4, hwdsp4)
675   COMMON_BLOCK_DEF(Hwdsp4Common, HWDSP4);
676
677 typedef struct {
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];
686 } HwdspnCommon;
687
688 #define HWDSPN COMMON_BLOCK(HWDSPN, hwdspn)
689   COMMON_BLOCK_DEF(HwdspnCommon, HWDSPN);
690
691 int const NMXSPN = 50;
692
693 typedef struct {
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;
706 } HwspinCommon;
707
708 #define HWSPIN COMMON_BLOCK(HWSPIN, hwspin)
709   COMMON_BLOCK_DEF(HwspinCommon, HWSPIN);
710
711 typedef struct {
712   int    JAK1;
713   int    JAK2;
714   int    ITDKRC;
715   int    IFPHOT;
716 } HwstauCommon;
717
718 #define HWSTAU COMMON_BLOCK(HWSTAU, hwstau)
719   COMMON_BLOCK_DEF(HwstauCommon, HWSTAU);
720
721 int const MAXHRP = 100;
722
723 typedef struct {
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;    
735 } HwguprCommon;
736
737 #define HWGUPR COMMON_BLOCK(HWGUPR, hwgupr)
738   COMMON_BLOCK_DEF(HwguprCommon, HWGUPR);
739
740 typedef struct {
741   int    PRESPL;
742 } Hw6500Common;
743
744 #define HW6500 COMMON_BLOCK(HW6500, hw6500)
745   COMMON_BLOCK_DEF(Hw6500Common, HW6500);
746
747 typedef struct {
748   int    ITOPRD;
749 } Hw6504Common;
750
751 #define HW6504 COMMON_BLOCK(HW6504, hw6504)
752   COMMON_BLOCK_DEF(Hw6504Common, HW6504);
753
754 typedef struct {
755   double PDFX0;
756   double PDFPOW;
757 } Hw6506Common;
758
759 #define HW6506 COMMON_BLOCK(HW6506, hw6506)
760   COMMON_BLOCK_DEF(Hw6506Common, HW6506);
761
762 }
763
764 extern "C" {
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);
782 }
783
784 // subroutines to be call by JIMMY
785
786 extern "C" {
787   void  jminit_();
788   void  jimmin_();
789   void  jmefin_();
790 }
791
792 #endif
793
794
795
796