16 #define _USE_GEANT3_MOLIERE_CHC_
34 #define _RETURN_(ret, message) { if (message) printf(message); return(ret); }
35 #define _TERMINATE_(ret, message) { printf(message); exit (ret); }
43 #define DSINV(N,A,IDIM,IFAIL) \
44 CCALLSFSUB4(DSINV,dsinv,INT,DOUBLEV,INT,PINT,N,A,IDIM,IFAIL)
45 #define DINV(N, A, IDIM, IR, IFAIL) \
46 CCALLSFSUB5(DINV, dinv, INT, DOUBLEV, INT, INTV, PINT, N, A, IDIM, IR, IFAIL)
49 #define PROB(X,N) CCALLSFFUN2(PROB,prob_htc,FLOAT,INT,X,N)
53 #define _CMD_LINE_VARIABLE_NUM_MAX_ 10
95 double *
value,
double scale);
103 #define G3ZEBRA(P1) CCALLSFSUB1(G3ZEBRA, g3zebra, INT, P1)
106 #define G3INIT() CCALLSFSUB0(G3INIT, g3init)
108 #define G3ZINIT() CCALLSFSUB0(G3ZINIT, g3zinit)
110 #define G3PHYSI() CCALLSFSUB0(G3PHYSI, g3physi)
113 #define G3DRELX(A,Z,DENS,T,HMASS,DEDX) \
114 CCALLSFSUB6(G3DRELX,g3drelx,FLOAT,FLOAT,FLOAT,FLOAT,FLOAT,PFLOAT,A,Z,DENS,T,HMASS,DEDX)
117 #define G3PROBI(NLMAT,WMAT,AAA,ZZZ,DENS,POTL,FAC,C,X0,X1,AA) \
118 CCALLSFSUB11(G3PROBI,g3probi,INT,FLOATV,FLOATV,FLOATV,FLOAT, \
119 PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,NLMAT,WMAT,AAA,ZZZ,DENS,POTL,FAC,C,X0,X1,AA)
121 PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE)
123 #define G3MOLI(P1, P2, P3, P4, P5, P6, P7) \
124 CCALLSFSUB7(G3MOLI, g3moli, FLOATV, FLOATV, FLOATV, INT, FLOAT, PFLOAT, PFLOAT, \
125 P1, P2, P3, P4, P5, P6, P7)
129 #define GZEBRA(P1) CCALLSFSUB1(GZEBRA, gzebra, INT, P1)
130 #define GINIT() CCALLSFSUB0(GINIT, ginit)
131 #define GZINIT() CCALLSFSUB0(GZINIT, gzinit)
132 #define GPART() CCALLSFSUB0(GPART, gpart)
133 #define GPHYSI() CCALLSFSUB0(GPHYSI, gphysi)
135 #define GMOLI(P1, P2, P3, P4, P5, P6, P7) \
136 CCALLSFSUB7(GMOLI, gmoli, FLOATV, FLOATV, FLOATV, INT, FLOAT, PFLOAT, PFLOAT, \
137 P1, P2, P3, P4, P5, P6, P7)
139 #define GDRELX(A,Z,DENS,T,HMASS,DEDX) \
140 CCALLSFSUB6(GDRELX,gdrelx,FLOAT,FLOAT,FLOAT,FLOAT,FLOAT,PFLOAT,A,Z,DENS,T,HMASS,DEDX)
141 #define G3DRELX(A,Z,DENS,T,HMASS,DEDX) \
142 CCALLSFSUB6(G3DRELX,g3drelx,FLOAT,FLOAT,FLOAT,FLOAT,FLOAT,PFLOAT,A,Z,DENS,T,HMASS,DEDX)
143 #define GDRELP(A,Z,DENS,T,DEDX) \
144 CCALLSFSUB5(GDRELP,gdrelp,FLOAT,FLOAT,FLOAT,FLOAT,PFLOAT,A,Z,DENS,T,DEDX)
149 #define GDRELE(EEL,CHARGE,POTL,FAC,C,X0,X1,AA,DEDX) \
150 CCALLSFSUB9(GDRELE,gdrele,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,PDOUBLE, \
151 EEL,CHARGE,POTL,FAC,C,X0,X1,AA,DEDX)
152 #define GPROBI(NLMAT,WMAT,AAA,ZZZ,DENS,POTL,FAC,C,X0,X1,AA) \
153 CCALLSFSUB11(GPROBI,gprobi,INT,FLOATV,FLOATV,FLOATV,FLOAT, \
154 PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,NLMAT,WMAT,AAA,ZZZ,DENS,POTL,FAC,C,X0,X1,AA)
156 #define GBRELA(NLMAT,WMAT,AAA,ZZZ,AAVG,ZAVG,DENS,EEL,CHARGE,DEDX) \
157 CCALLSFSUB10(GBRELA,gbrela,INT,FLOATV,FLOATV,FLOATV,FLOAT,FLOAT,FLOAT,DOUBLE,DOUBLE,PDOUBLE, \
158 NLMAT,WMAT,AAA,ZZZ,AAVG,ZAVG,DENS,EEL,CHARGE,DEDX)
164 PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE)
167 PROTOCCALLSFFUN9(INT,GDRELE,gdrele,
DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,PDOUBLE)
168 PROTOCCALLSFFUN10(INT,GBRELA,gbrela,INT,FLOATV,FLOATV,FLOATV,FLOAT,FLOAT,FLOAT,DOUBLE,DOUBLE,PDOUBLE)
187 #define _DEDX_HADRON_ 0
188 #define _DEDX_ELECTRON_ 1
234 #define _RK_ORDER_2_ 0
235 #define _RK_ORDER_4_ 1
236 #define _RK_ORDER_5_ 2
246 #define _FIELD_AREA_NUM_MAX_ 3
251 #define _RK_SMALL_STEP_DEFAULT_ (2.0)
254 #define _LIGHT_SPEED_ (299792458E2)
271 #define _INTERPOLATION_PREFIX_ "interpolation="
273 #define _RK_HERMES_ 0
274 #define _RK_HERA_B_ 1