Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/extended/hadronic/Hadr02/include/G4UrQMD1_3Interface.hh

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /examples/extended/hadronic/Hadr02/include/G4UrQMD1_3Interface.hh (Version 11.3.0) and /examples/extended/hadronic/Hadr02/include/G4UrQMD1_3Interface.hh (Version 9.1.p3)


  1 //                                                  1 
  2 // *******************************************    
  3 // * License and Disclaimer                       
  4 // *                                              
  5 // * The  Geant4 software  is  copyright of th    
  6 // * the Geant4 Collaboration.  It is provided    
  7 // * conditions of the Geant4 Software License    
  8 // * LICENSE and available at  http://cern.ch/    
  9 // * include a list of copyright holders.         
 10 // *                                              
 11 // * Neither the authors of this software syst    
 12 // * institutes,nor the agencies providing fin    
 13 // * work  make  any representation or  warran    
 14 // * regarding  this  software system or assum    
 15 // * use.  Please see the license in the file     
 16 // * for the full disclaimer and the limitatio    
 17 // *                                              
 18 // * This  code  implementation is the result     
 19 // * technical work of the GEANT4 collaboratio    
 20 // *                                              
 21 // * Parts of this code which have been  devel    
 22 // * et al under contract (31-465) to the King    
 23 // * Science and Technology (KACST), the Natio    
 24 // * Mathematics and Physics (NCMP), Saudi Ara    
 25 // *                                              
 26 // * By using,  copying,  modifying or  distri    
 27 // * any work based  on the software)  you  ag    
 28 // * use  in  resulting  scientific  publicati    
 29 // * acceptance of all terms of the Geant4 Sof    
 30 // *******************************************    
 31 //                                                
 32 /// \file hadronic/Hadr02/include/G4UrQMD1_3In    
 33 /// \brief Definition of the G4UrQMD1_3Interfa    
 34 //                                                
 35 //                                                
 36                                                   
 37 #ifndef G4UrQMD1_3Interface_hh                    
 38 #define G4UrQMD1_3Interface_hh                    
 39                                                   
 40 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    
 41 //                                                
 42 // MODULE:           G4UrQMD1_3Model.hh           
 43 //                                                
 44 // Version:          0.B                          
 45 // Date:             20/12/12                     
 46 // Author:           Kh. Abdel-Waged and Nuha     
 47 // Revised by:       V.V. Uzhinskii               
 48 //                   SPONSERED BY                 
 49 // Customer:         KAUST/NCMP                   
 50 // Contract:         31-465                       
 51 //                                                
 52 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    
 53 //                                                
 54 //                                                
 55 // Class Description                              
 56 //                                                
 57 //                                                
 58 // Class Description - End                        
 59 //                                                
 60 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    
 61 //////////////////////////////////////////////    
 62                                                   
 63 #include "G4SystemOfUnits.hh"                     
 64 #include "globals.hh"                             
 65                                                   
 66 //  coms                                          
 67 //                                                
 68 const G4int nmax = 500;                           
 69 const G4int nspl = 500;                           
 70 const G4int smax = 500;                           
 71 //  comres                                        
 72 const G4int minnuc = 1;                           
 73 const G4int minmes = 100;                         
 74 const G4int maxmes = 132;                         
 75 const G4int numnuc = 16;                          
 76 const G4int numdel = 10;                          
 77 const G4int maxnuc = minnuc + numnuc - 1;         
 78 const G4int mindel = minnuc + maxnuc;             
 79 const G4int maxdel = mindel + numdel - 1;         
 80 const G4int minres = minnuc + 1;                  
 81 const G4int maxres = maxdel;                      
 82 const G4int numlam = 13;                          
 83 const G4int numsig = 9;                           
 84 const G4int numcas = 6;                           
 85 const G4int numome = 1;                           
 86 const G4int minlam = mindel + numdel;             
 87 const G4int maxlam = minlam + numlam - 1;         
 88 const G4int minsig = minlam + numlam;             
 89 const G4int maxsig = minsig + numsig - 1;         
 90 const G4int mincas = minsig + numsig;             
 91 const G4int maxcas = mincas + numcas - 1;         
 92 const G4int minome = mincas + numcas;             
 93 const G4int maxome = minome + numome - 1;         
 94 const G4int minbar = minnuc;                      
 95 const G4int maxbar = maxome;                      
 96 const G4int offmeson = minmes;                    
 97 const G4int maxmeson = maxmes;                    
 98 const G4int maxbra = 11;                          
 99 const G4int maxbrm = 25;                          
100 const G4int maxbrs1 = 10;                         
101 const G4int maxbrs2 = 3;                          
102 const G4int nsigs = 10;                           
103 const G4int itblsz = 100;                         
104 const G4int maxreac = 13;                         
105 const G4int maxpsig = 12;                         
106 //                                                
107 // comwid                                         
108 //                                                
109 const G4int widnsp = 120;                         
110 const G4double mintab = 0.10;                     
111 const G4double maxtab1 = 5.0;                     
112 const G4double maxtab2 = 50.0;                    
113 const G4int tabver = 9;                           
114 //                                                
115 // options                                        
116 //                                                
117 const G4int numcto = 400;                         
118 const G4int numctp = 400;                         
119 const G4int maxstables = 20;                      
120 //                                                
121 // colltab (collision tables)                     
122 //                                                
123 const G4int ncollmax = 100;                       
124 //                                                
125 // inputs                                         
126 //                                                
127 const G4int aamax = 300;                          
128 //                                                
129 // newpart (new created particles)                
130 //                                                
131 const G4int mprt = 200;                           
132 const G4int oprt = 2;                             
133 //                                                
134 // boxinc                                         
135 //                                                
136 const G4int bptmax = 20;                          
137 //                                                
138                                                   
139 // This next line is required as the default v    
140 // four bytes long, whereas storage for G4bool    
141 //                                                
142 // comnorm                                        
143 const G4int n = 400;                              
144 //                                                
145 // comstr                                         
146 const G4int njspin = 8;                           
147 //                                                
148 // iso                                            
149 const G4int jmax = 7;                             
150                                                   
151 // This next line is required as the default v    
152 // four bytes long, whereas storage for G4bool    
153 //                                                
154                                                   
155 typedef G4int ftnlogical;                         
156                                                   
157 //....oooOO0OOooo........oooOO0OOooo........oo    
158 //                                                
159 // Standard common block for UrQMD                
160 // Common options for coms.f                      
161 //  20 commons                                    
162 //                                                
163 //                                                
164 struct ccurqmd13urqmdparams                       
165 {                                                 
166     G4int u_at, u_zt, u_ap, u_zp;                 
167     G4double u_elab, u_imp;                       
168     G4int u_sptar, u_spproj;                      
169 };                                                
170                                                   
171 //....oooOO0OOooo........oooOO0OOooo........oo    
172                                                   
173 struct ccurqmd13sys                               
174 {                                                 
175     G4int npart, nbar, nmes, ctag, nsteps, uid    
176       nhardres, nsoftres, ndecres, nelcoll, nb    
177 };                                                
178                                                   
179 //....oooOO0OOooo........oooOO0OOooo........oo    
180                                                   
181 struct ccurqmd13rsys                              
182 {                                                 
183     G4double time, acttime, bdist, bimp, bmin,    
184 };                                                
185                                                   
186 struct ccurqmd13comseed                           
187 {                                                 
188     ftnlogical firstseed;                         
189 };                                                
190                                                   
191 //....oooOO0OOooo........oooOO0OOooo........oo    
192                                                   
193 struct ccurqmd13logic                             
194 {                                                 
195     ftnlogical lsct[nmax], logSky, logYuk, log    
196 };                                                
197                                                   
198 //....oooOO0OOooo........oooOO0OOooo........oo    
199                                                   
200 struct ccurqmd13mdprop                            
201 {                                                 
202     G4double r0_t[nmax], rx_t[nmax], ry_t[nmax    
203 };                                                
204                                                   
205 //....oooOO0OOooo........oooOO0OOooo........oo    
206                                                   
207 struct ccurqmd13cuts                              
208 {                                                 
209     G4double cutmax, cutPau, cutCb, cutYuk, cu    
210 };                                                
211                                                   
212 //....oooOO0OOooo........oooOO0OOooo........oo    
213                                                   
214 struct ccurqmd13spdata                            
215 {                                                 
216     G4double spx[nspl], spPauy[nspl], outPau[n    
217       outYuk[nspl], spSkyy[nspl], outSky[nspl]    
218 };                                                
219                                                   
220 //....oooOO0OOooo........oooOO0OOooo........oo    
221                                                   
222 struct ccurqmd13isys                              
223 {                                                 
224     G4int spin[nmax], ncoll[nmax], charge[nmax    
225       origin[nmax], strid[nmax], uid[nmax];       
226 };                                                
227                                                   
228 //....oooOO0OOooo........oooOO0OOooo........oo    
229                                                   
230 struct ccurqmd13coor                              
231 {                                                 
232     G4double r0[nmax], rx[nmax], ry[nmax], rz[    
233       fmass[nmax], rww[nmax], dectime[nmax];      
234 };                                                
235                                                   
236 //....oooOO0OOooo........oooOO0OOooo........oo    
237                                                   
238 struct ccurqmd13frag                              
239 {                                                 
240     G4double tform[nmax], xtotfac[nmax];          
241 };                                                
242                                                   
243 //....oooOO0OOooo........oooOO0OOooo........oo    
244                                                   
245 struct ccurqmd13aios                              
246 {                                                 
247     G4double airx[nmax], airy[nmax], airz[nmax    
248       aory[4][nmax], aorz[4][nmax], aopx[4][nm    
249 };                                                
250                                                   
251 //....oooOO0OOooo........oooOO0OOooo........oo    
252                                                   
253 struct ccurqmd13pots                              
254 {                                                 
255     G4double Cb0, Yuk0, Pau0, Sky20, Sky30, ga    
256       da, db, dtimestep;                          
257 };                                                
258                                                   
259 //....oooOO0OOooo........oooOO0OOooo........oo    
260                                                   
261 struct ccurqmd13scoor                             
262 {                                                 
263     G4double r0s[smax], rxs[smax], rys[smax],     
264       sfmass[smax];                               
265 };                                                
266                                                   
267 //....oooOO0OOooo........oooOO0OOooo........oo    
268                                                   
269 struct ccurqmd13sisys                             
270 {                                                 
271     G4int sspin[smax], scharge[smax], sityp[sm    
272 };                                                
273                                                   
274 //....oooOO0OOooo........oooOO0OOooo........oo    
275                                                   
276 struct ccurqmd13ssys                              
277 {                                                 
278     G4int nspec;                                  
279 };                                                
280                                                   
281 //....oooOO0OOooo........oooOO0OOooo........oo    
282                                                   
283 struct ccurqmd13rtdelay                           
284 {                                                 
285     G4double p0td[nmax][2], pxtd[nmax][2], pyt    
286 };                                                
287                                                   
288 //....oooOO0OOooo........oooOO0OOooo........oo    
289                                                   
290 struct ccurqmd13itdelay                           
291 {                                                 
292     G4int ityptd[nmax][2], iso3td[nmax][2];       
293 };                                                
294                                                   
295 //....oooOO0OOooo........oooOO0OOooo........oo    
296                                                   
297 struct ccurqmd13svinfo                            
298 {                                                 
299     G4int itypt[2], uidt[2], origint[2], iso3t    
300 };                                                
301                                                   
302 //....oooOO0OOooo........oooOO0OOooo........oo    
303                                                   
304 struct ccurqmd13ffermi                            
305 {                                                 
306     G4double ffermpx[nmax], ffermpy[nmax], ffe    
307 };                                                
308                                                   
309 //....oooOO0OOooo........oooOO0OOooo........oo    
310                                                   
311 struct ccurqmd13peq                               
312 {                                                 
313     G4double peq1, peq2;                          
314 };                                                
315                                                   
316 //....oooOO0OOooo........oooOO0OOooo........oo    
317 //                                                
318 // Definition for Collision Term                  
319 // Commons  comres                                
320 // 4 commons                                      
321 //                                                
322                                                   
323 struct ccurqmd13versioning                        
324 {                                                 
325     char versiontag[45];                          
326 };                                                
327                                                   
328 //....oooOO0OOooo........oooOO0OOooo........oo    
329                                                   
330 struct ccurqmd13resonances                        
331 {                                                 
332     G4double massres[maxbar - minbar + 1], wid    
333     G4double massmes[maxmes - minmes + 1];        
334     G4double widmes[maxmes - minmes + 1];         
335     G4double mmesmn[maxmes - minmes + 1];         
336     G4double branres[maxdel - minnuc][maxbra +    
337     G4double branmes[maxmes - minmes][maxbrm +    
338                                                   
339     G4double branbs1[maxsig - minlam][maxbrs1     
340     G4double branbs2[maxcas - mincas][maxbrs2     
341                                                   
342     G4int bs1type[maxbrs1 + 1][4], bs2type[max    
343     G4int lbs1[maxsig - minlam][maxbrs1 + 1];     
344     G4int lbs2[maxcas - mincas][maxbrs2 + 1];     
345     G4int lbm[maxmes - minmes][maxbrm + 1];       
346                                                   
347     G4int jres[maxbar - minbar + 1];              
348     G4int jmes[maxmes - minmes + 1];              
349     G4int lbr[maxdel - minnuc][maxbra + 1];       
350     G4int brtype[maxbra + 1][4];                  
351     G4int pares[maxbar - minbar + 1], pames[ma    
352     G4int bmtype[maxbrm + 1][4];                  
353     G4int isores[maxbar - minbar + 1], isomes[    
354     G4int strres[maxbar - minbar + 1], strmes[    
355     G4int mlt2it[maxmes - minmes];                
356 };                                                
357                                                   
358 //....oooOO0OOooo........oooOO0OOooo........oo    
359                                                   
360 struct ccurqmd13sigtabi                           
361 {                                                 
362     G4int sigmaln[maxreac][2][maxpsig];           
363     G4int sigmainf[20][nsigs];                    
364 };                                                
365                                                   
366 //....oooOO0OOooo........oooOO0OOooo........oo    
367                                                   
368 struct ccurqmd13sigtabr                           
369 {                                                 
370     G4double sigmas[itblsz][nsigs], sigmascal[    
371 };                                                
372                                                   
373 //....oooOO0OOooo........oooOO0OOooo........oo    
374                                                   
375 // comwid                                         
376 struct ccurqmd13decaywidth                        
377 {                                                 
378     G4double tabx[widnsp];                        
379     G4double fbtaby[2][maxbar - minbar + 1][wi    
380     G4double pbtaby[maxbra + 1][maxbar - minba    
381     G4double fmtaby[2][maxmes - minmes + 1][wi    
382     G4double pmtaby[maxbrm + 1][maxmes - minme    
383     G4int wtabflg;                                
384 };                                                
385                                                   
386 //....oooOO0OOooo........oooOO0OOooo........oo    
387                                                   
388 struct ccurqmd13brwignorm                         
389 {                                                 
390     G4double bwbarnorm[maxbar - minbar + 1];      
391     G4double bwmesnorm[maxmes - minmes + 1];      
392 };                                                
393                                                   
394 //....oooOO0OOooo........oooOO0OOooo........oo    
395                                                   
396 struct ccurqmd13xsections                         
397 {                                                 
398     G4double tabxnd[widnsp];                      
399     G4double frrtaby[maxdel - 1][2][2][widnsp]    
400 };                                                
401                                                   
402 //....oooOO0OOooo........oooOO0OOooo........oo    
403                                                   
404 struct ccurqmd13tabnames                          
405 {                                                 
406     char tabname[77];                             
407 };                                                
408                                                   
409 //....oooOO0OOooo........oooOO0OOooo........oo    
410 //                                                
411 // options                                        
412 //                                                
413 struct ccurqmd13options                           
414 {                                                 
415     G4int CTOption[numcto];                       
416     G4double CTParam[numctp];                     
417 };                                                
418                                                   
419 //....oooOO0OOooo........oooOO0OOooo........oo    
420                                                   
421 struct ccurqmd13optstrings                        
422 {                                                 
423     char ctodc[numcto][2];                        
424     char ctpdc[numctp][2];                        
425 };                                                
426                                                   
427 //....oooOO0OOooo........oooOO0OOooo........oo    
428                                                   
429 struct ccurqmd13loptions                          
430 {                                                 
431     ftnlogical fixedseed, bf13, bf14, bf15, bf    
432 };                                                
433                                                   
434 //....oooOO0OOooo........oooOO0OOooo........oo    
435                                                   
436 struct ccurqmd13stables                           
437 {                                                 
438     G4int nstable;                                
439     G4int stabvec[maxstables];                    
440 };                                                
441                                                   
442 //....oooOO0OOooo........oooOO0OOooo........oo    
443 //                                                
444 // colltab                                        
445 //                                                
446 struct ccurqmd13colltab                           
447 {                                                 
448     G4double cttime[ncollmax + 1], ctsqrts[nco    
449     G4int cti1[ncollmax], cti2[ncollmax];         
450     G4int nct, actcol;                            
451     ftnlogical ctvalid[ncollmax];                 
452     G4int ctsav[ncollmax];                        
453     G4int nsav, apt;                              
454     G4double ctcolfluc[ncollmax];                 
455 };                                                
456                                                   
457 //....oooOO0OOooo........oooOO0OOooo........oo    
458 //                                                
459 // inputs                                         
460 //                                                
461 struct ccurqmd13inputs                            
462 {                                                 
463     G4int nevents, spityp[2], prspflg;            
464     G4int trspflg, spiso3[2], outsteps, bflag,    
465     G4int nsrt, firstev, npb;                     
466 };                                                
467                                                   
468 //....oooOO0OOooo........oooOO0OOooo........oo    
469                                                   
470 struct ccurqmd13input2                            
471 {                                                 
472     G4double srtmin, srtmax, pbeam, betann, be    
473     G4double pbmin, pbmax;                        
474 };                                                
475                                                   
476 //....oooOO0OOooo........oooOO0OOooo........oo    
477                                                   
478 struct ccurqmd13protarints                        
479 {                                                 
480     G4int pt_iso3[2][aamax], pt_ityp[2][aamax]    
481     G4int pt_charge[2][aamax], pt_aa[2], pt_ui    
482 };                                                
483                                                   
484 //....oooOO0OOooo........oooOO0OOooo........oo    
485                                                   
486 struct ccurqmd13protarreals                       
487 {                                                 
488     G4double pt_r0[2][aamax], pt_rx[2][aamax],    
489       pt_dectime[2][aamax];                       
490     G4double pt_p0[2][aamax], pt_px[2][aamax],    
491     G4double pt_rho[2][aamax];                    
492     G4double pt_pmax[2][aamax];                   
493 };                                                
494                                                   
495 //....oooOO0OOooo........oooOO0OOooo........oo    
496                                                   
497 // newpart                                        
498 struct ccurqmd13inewpart                          
499 {                                                 
500     G4int itypnew[mprt], i3new[mprt], itot[mpr    
501     G4int iline, strcount, pslot[oprt], nstrin    
502       iso3old[oprt];                              
503 };                                                
504                                                   
505 //....oooOO0OOooo........oooOO0OOooo........oo    
506                                                   
507 struct ccurqmd13rnewpart                          
508 {                                                 
509     G4double pnew[mprt][5], xnew[mprt][4], bet    
510       pznn, pnn, mstring[2], pnnout, xtotfacol    
511 };                                                
512                                                   
513 //....oooOO0OOooo........oooOO0OOooo........oo    
514                                                   
515 struct ccurqmd13fnewpart                          
516 {                                                 
517     G4double leadfac[mprt];                       
518 };                                                
519                                                   
520 //....oooOO0OOooo........oooOO0OOooo........oo    
521 //                                                
522 // boxinc                                         
523 //                                                
524 struct ccurqmd13boxic                             
525 {                                                 
526     G4int cbox;                                   
527     G4int boxflag;                                
528     G4int mbox;                                   
529     G4int bptityp[bptmax], bptiso3[bptmax], bp    
530     G4int edensflag, para, solid, mbflag, mtes    
531 };                                                
532                                                   
533 //....oooOO0OOooo........oooOO0OOooo........oo    
534                                                   
535 struct ccurqmd13boxrc                             
536 {                                                 
537     G4double bptpmax[bptmax];                     
538     G4double edens;                               
539     G4double lbox;                                
540     G4double lboxhalbe;                           
541     G4double lboxd;                               
542     G4double mbp0, mbpx, mbpy, mbpz;              
543 };                                                
544                                                   
545 //....oooOO0OOooo........oooOO0OOooo........oo    
546 // comnorm                                        
547 struct ccurqmd13normsplin                         
548 {                                                 
549     G4double x_norm[n][4], y_norm[n][4];          
550     G4double y2a[n][4], y2b[n][4], dx;            
551 };                                                
552                                                   
553 //....oooOO0OOooo........oooOO0OOooo........oo    
554 // comstr                                         
555 struct ccurqmd13FRGSPA                            
556 {                                                 
557     G4double pjspns, pmix1s[njspin][3], pmix2s    
558 };                                                
559                                                   
560 //....oooOO0OOooo........oooOO0OOooo........oo    
561                                                   
562 struct ccurqmd13FRGCPA                            
563 {                                                 
564     G4double pjspnc, pmix1c[njspin][3], pmix2c    
565 };                                                
566                                                   
567 //....oooOO0OOooo........oooOO0OOooo........oo    
568                                                   
569 struct ccurqmd13coparm                            
570 {                                                 
571     G4double parm[njspin];                        
572 };                                                
573                                                   
574 //....oooOO0OOooo........oooOO0OOooo........oo    
575                                                   
576 struct ccurqmd13const                             
577 {                                                 
578     G4double pi;                                  
579 };                                                
580                                                   
581 //....oooOO0OOooo........oooOO0OOooo........oo    
582 //// freezeout                                    
583 //                                                
584 struct ccurqmd13frcoor                            
585 {                                                 
586     G4double frr0[nmax], frrx[nmax], frry[nmax    
587       frpz[nmax];                                 
588 };                                                
589                                                   
590 //....oooOO0OOooo........oooOO0OOooo........oo    
591 //  input                                         
592 struct ccurqmd13values                            
593 {                                                 
594     G4double valint[1];                           
595 };                                                
596                                                   
597 //....oooOO0OOooo........oooOO0OOooo........oo    
598 // cascinit                                       
599 struct ccurqmd13ini                               
600 {                                                 
601     ftnlogical bcorr;                             
602 };                                                
603                                                   
604 //....oooOO0OOooo........oooOO0OOooo........oo    
605 // iso                                            
606 struct ccurqmd13factorials                        
607 {                                                 
608     G4double logfak[101];                         
609 };                                                
610                                                   
611 //....oooOO0OOooo........oooOO0OOooo........oo    
612 struct ccurqmd13cgks                              
613 {                                                 
614     G4double cgktab[jmax + 1][2 * jmax + 1][2     
615 };                                                
616                                                   
617 //....oooOO0OOooo........oooOO0OOooo........oo    
618 // UrQMD                                          
619 //                                                
620 struct ccurqmd13energies                          
621 {                                                 
622     G4double ekinbar, ekinmes, esky2, esky3, e    
623 };                                                
624                                                   
625 //....oooOO0OOooo........oooOO0OOooo........oo    
626 // urqmd                                          
627 extern "C"                                        
628 {                                                 
629   extern int time_();                             
630   extern void loginit_();                         
631   extern void sseed_(int*);                       
632   extern void uinit_(int*);                       
633   extern void urqmd_();                           
634   extern int pdgid_(int*, int*);  // ityp         
635                                                   
636   extern void g4urqmdblockdata_();                
637                                                   
638   // urqmdparams                                  
639   extern struct ccurqmd13urqmdparams urqmdpara    
640   // coms                                         
641   extern struct ccurqmd13sys sys_;                
642   extern struct ccurqmd13rsys rsys_;              
643   extern struct ccurqmd13comseed comseed_;        
644   extern struct ccurqmd13logic logic_;            
645   extern struct ccurqmd13mdprop mdprop_;          
646   extern struct ccurqmd13cuts cuts_;              
647   extern struct ccurqmd13spdata spdata_;          
648   extern struct ccurqmd13isys isys_;              
649   extern struct ccurqmd13coor coor_;              
650   extern struct ccurqmd13frag frag_;              
651   extern struct ccurqmd13aios aios_;              
652   extern struct ccurqmd13pots pots_;              
653   extern struct ccurqmd13scoor scoor_;            
654   extern struct ccurqmd13sisys sisys_;            
655   extern struct ccurqmd13ssys ssys_;              
656   extern struct ccurqmd13rtdelay rtdelay_;        
657   extern struct ccurqmd13itdelay itdelay_;        
658   extern struct ccurqmd13svinfo svinfo_;          
659   extern struct ccurqmd13ffermi ffermi_;          
660   extern struct ccurqmd13peq peq_;                
661   // comres                                       
662   extern struct ccurqmd13versioning versioning    
663   extern struct ccurqmd13resonances resonances    
664   extern struct ccurqmd13sigtabi sigtabi_;        
665   extern struct ccurqmd13sigtabr sigtabr_;        
666                                                   
667   // comwid                                       
668   extern struct ccurqmd13decaywidth decaywidth    
669   extern struct ccurqmd13brwignorm brwignorm_;    
670   extern struct ccurqmd13xsections xsections_;    
671   extern struct ccurqmd13tabnames tabnames_;      
672   // options                                      
673   extern struct ccurqmd13options options_;        
674   extern struct ccurqmd13optstrings optstrings    
675   extern struct ccurqmd13loptions loptions_;      
676   extern struct ccurqmd13stables stables_;        
677   // colltab                                      
678   extern struct ccurqmd13colltab colltab_;        
679   // inputs                                       
680   extern struct ccurqmd13inputs inputs_;          
681   extern struct ccurqmd13input2 input2_;          
682   extern struct ccurqmd13protarints protarints    
683   extern struct ccurqmd13protarreals protarrea    
684   // newpart                                      
685   extern struct ccurqmd13inewpart inewpart_;      
686   extern struct ccurqmd13rnewpart rnewpart_;      
687   extern struct ccurqmd13fnewpart fnewpart_;      
688   // bocinc                                       
689   extern struct ccurqmd13boxic boxic_;            
690   extern struct ccurqmd13boxrc boxrc_;            
691   // comnorm                                      
692   struct ccurqmd13normsplin normsplin_;           
693   // comstr                                       
694   struct ccurqmd13FRGSPA FRGSPA_;                 
695   struct ccurqmd13FRGCPA FRGCPA_;                 
696   struct ccurqmd13coparm coparm_;                 
697   struct ccurqmd13const const_;                   
698   // freezeout                                    
699   struct ccurqmd13frcoor frcoor_;                 
700   // urqmd                                        
701   extern struct ccurqmd13energies energies_;      
702   // input                                        
703   extern struct ccurqmd13values values_;          
704   // cascinit                                     
705   extern struct ccurqmd13ini ini_;                
706   // iso                                          
707   extern struct ccurqmd13factorials factorials    
708   extern struct ccurqmd13cgks cgks_;              
709 }                                                 
710                                                   
711 //....oooOO0OOooo........oooOO0OOooo........oo    
712 #endif                                            
713