bugfix: correct range of DDL for specified detector
[u/mrichter/AliRoot.git] / PYTHIA6 / pythia6_common_address.c
1 #include "string.h"
2
3 #ifndef WIN32
4 # define pyjets pyjets_
5 # define pydat1 pydat1_
6 # define pydat2 pydat2_
7 # define pydat3 pydat3_
8 # define pydat4 pydat4_
9 # define pydatr pydatr_
10 # define pysubs pysubs_
11 # define pypars pypars_
12 # define pyint1 pyint1_
13 # define pyint2 pyint2_
14 # define pyint3 pyint3_
15 # define pyint4 pyint4_
16 # define pyint5 pyint5_
17 # define pyint6 pyint6_
18 # define pyint7 pyint7_
19 # define pyint8 pyint8_
20 # define pyint9 pyint9_
21 # define pymssm pymssm_
22 # define pyssmt pyssmt_
23 # define pyints pyints_
24 # define pybins pybins_
25 #else
26 # define pyjets PYJETS
27 # define pydat1 PYDAT1
28 # define pydat2 PYDAT2
29 # define pydat3 PYDAT3
30 # define pydat4 PYDAT4
31 # define pydatr PYDATR
32 # define pysubs PYSUBS
33 # define pypars PYPARS
34 # define pyint1 PYINT1
35 # define pyint2 PYINT2
36 # define pyint3 PYINT3
37 # define pyint4 PYINT4
38 # define pyint5 PYINT5
39 # define pyint6 PYINT6
40 # define pyint7 PYINT7
41 # define pyint8 PYINT8
42 # define pyint9 PYINT9
43 # define pymssm PYMSSM
44 # define pyssmt PYSSMT
45 # define pyints PYINTS
46 # define pybins PYBINS
47 #endif
48
49 extern int pyjets[2+5*4000+2*2*5*4000];
50 extern int pydat1[200+2*200+200+2*200];
51 extern int pydat2[4*500+2*4*500+2*2000+2*4*4];
52 extern int pydat3[3*500+2*8000+2*8000+5*8000];  /* KNDCAY=8000 */
53 extern char pydat4[2*500*16];
54 extern int pydatr[6+2*100];
55 extern int pysubs[2+500+81*2+2*200];
56 extern int pypars[200+2*200+200+2*200];
57 extern int pyint1[400+2*400];
58 extern int pyint2[500+2*500+2*20*500+2*4*40];
59 extern int pyint3[2*81*2+3*1000+2*1000];
60 extern int pyint4[500+2*5*500];
61 extern int pyint5[1+3*501+2*3*501];
62 extern char pyint6[501*28];
63 extern int pyint7[2*6*7*7];
64 extern int pyint8[2*5*13];
65 extern int pyint9[2*4*13];
66 extern int pymssm[100+2*100];
67 extern int pyssmt[2*4*4+2*2*2+2*2*2+2*4+2*2+2*4*16];
68 extern int pyints[2*20];
69 extern int pybins[4+1000+2*20000];
70
71
72 void *pythia6_common_address(const char* name) {
73    if      (!strcmp(name,"PYJETS")) return pyjets;
74    else if (!strcmp(name,"PYDAT1")) return pydat1;
75    else if (!strcmp(name,"PYDAT2")) return pydat2;
76    else if (!strcmp(name,"PYDAT3")) return pydat3;
77    else if (!strcmp(name,"PYDAT4")) return pydat4;
78    else if (!strcmp(name,"PYDATR")) return pydatr;
79    else if (!strcmp(name,"PYSUBS")) return pysubs;
80    else if (!strcmp(name,"PYPARS")) return pypars;
81    else if (!strcmp(name,"PYINT1")) return pyint1;
82    else if (!strcmp(name,"PYINT2")) return pyint2;
83    else if (!strcmp(name,"PYINT3")) return pyint3;
84    else if (!strcmp(name,"PYINT4")) return pyint4;
85    else if (!strcmp(name,"PYINT5")) return pyint5;
86    else if (!strcmp(name,"PYINT6")) return pyint6;
87    else if (!strcmp(name,"PYINT7")) return pyint7;
88    else if (!strcmp(name,"PYINT8")) return pyint8;
89    else if (!strcmp(name,"PYINT9")) return pyint9;
90    else if (!strcmp(name,"PYMSSM")) return pymssm;
91    else if (!strcmp(name,"PYSSMT")) return pyssmt;
92    else if (!strcmp(name,"PYINTS")) return pyints;
93    else if (!strcmp(name,"PYBINS")) return pybins;
94    return 0;
95 }
96
97 #if defined(CERNLIB_WINNT)
98 #  define pythia6_addressc PYTHIA^_ADDRESSC
99 #  define pythia6_addressf PYTHIA^_ADDRESSF
100 #  define pythia6_addressi PYTHIA^_ADDRESSI
101 #  define pythia6_addressd PYTHIA^_ADDRESSD
102 #  define type_of_call _stdcall
103 #else
104 #  define pythia6_addressc pythia6_addressc_
105 #  define pythia6_addressf pythia6_addressf_
106 #  define pythia6_addressi pythia6_addressi_
107 #  define pythia6_addressd pythia6_addressd_
108 #  define type_of_call
109 #endif
110
111 char* type_of_call pythia6_addressc(char *arg)
112 {
113   return arg;
114 }
115 int*  type_of_call pythia6_addressi(int  *arg)
116 {
117   return arg;
118 }
119 float* type_of_call pythia6_addressf(float *arg)
120 {
121   return arg;
122 }
123 double* type_of_call pythia6_addressd(double *arg)
124 {
125   return arg;
126 }
127
128
129
130