Geant4  10.03.p03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4UrQMD1_3Interface.hh
Go to the documentation of this file.
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * *
21 // * Parts of this code which have been developed by Abdel-Waged *
22 // * et al under contract (31-465) to the King Abdul-Aziz City for *
23 // * Science and Technology (KACST), the National Centre of *
24 // * Mathematics and Physics (NCMP), Saudi Arabia. *
25 // * *
26 // * By using, copying, modifying or distributing the software (or *
27 // * any work based on the software) you agree to acknowledge its *
28 // * use in resulting scientific publications, and indicate your *
29 // * acceptance of all terms of the Geant4 Software license. *
30 // ********************************************************************
31 //
34 //
35 // $Id: G4UrQMD1_3Interface.hh 77519 2013-11-25 10:54:57Z gcosmo $
36 //
37 
38 #ifndef G4UrQMD1_3Interface_hh
39 #define G4UrQMD1_3Interface_hh
40 
41 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
42 //
43 // MODULE: G4UrQMD1_3Model.hh
44 //
45 // Version: 0.B
46 // Date: 20/12/12
47 // Author: Kh. Abdel-Waged and Nuha Felemban
48 // Revised by: V.V. Uzhinskii
49 // SPONSERED BY
50 // Customer: KAUST/NCMP
51 // Contract: 31-465
52 //
53 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
54 //
55 //
56 // Class Description
57 //
58 //
59 // Class Description - End
60 //
61 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
63 
64 #include "globals.hh"
65 #include "G4SystemOfUnits.hh"
66 
67 // coms
68 //
69 const G4int nmax = 500;
70 const G4int nspl = 500;
71 const G4int smax = 500;
72 // comres
73 const G4int minnuc=1;
74 const G4int minmes=100;
75 const G4int maxmes=132;
76 const G4int numnuc=16;
77 const G4int numdel=10;
83 const G4int numlam=13;
84 const G4int numsig=9;
85 const G4int numcas=6;
86 const G4int numome=1;
99 const G4int maxbra=11;
100 const G4int maxbrm=25;
101 const G4int maxbrs1=10;
102 const G4int maxbrs2=3;
103 const G4int nsigs = 10;
104 const G4int itblsz= 100;
105 const G4int maxreac = 13;
106 const G4int maxpsig = 12;
107 //
108 //comwid
109 //
110 const G4int widnsp=120;
111 const G4double mintab=0.10;
112 const G4double maxtab1=5.0;
113 const G4double maxtab2=50.0;
114 const G4int tabver=9;
115 //
116 // options
117 //
118 const G4int numcto=400;
119 const G4int numctp=400;
120 const G4int maxstables=20;
121 //
122 // colltab (collision tables)
123 //
124 const G4int ncollmax = 100;
125 //
126 // inputs
127 //
128 const G4int aamax=300;
129 //
130 // newpart (new created particles)
131 //
132 const G4int mprt=200;
133 const G4int oprt=2;
134 //
135 // boxinc
136 //
137 const G4int bptmax=20;
138 //
139 
140 // This next line is required as the default version of FORTRAN LOGICAL is
141 // four bytes long, whereas storage for G4bool is one byte.
142 //
143 // comnorm
144 const G4int n = 400;
145 //
146 // comstr
147 const G4int njspin=8;
148 //
149 //iso
150 const G4int jmax=7;
151 
152 // This next line is required as the default version of FORTRAN LOGICAL is
153 // four bytes long, whereas storage for G4bool is one byte.
154 //
155 
157 
158 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
159 //
160 // Standard common block for UrQMD
161 // Common options for coms.f
162 // 20 commons
163 //
164 //
166 {
170 };
171 
172 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
173 
175 {
179 };
180 
181 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
182 
184 {
186 };
187 
189 {
191 };
192 
193 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
194 
196 {
198 };
199 
200 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
201 
203 {
205 };
206 
207 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
208 
210 {
212 };
213 
214 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
215 
217 {
219  spCby[nspl], outCb[nspl],
220  spYuky[nspl], outYuk[nspl],
221  spSkyy[nspl], outSky[nspl],
222  spdwwy[nspl], outdww[nspl];
223 };
224 
225 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
226 
228 {
229 
231  lstcoll[nmax],
233 };
234 
235 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
236 
238 {
240  p0[nmax], px[nmax], py[nmax], pz[nmax],
242 };
243 
244 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
245 
247 {
249 };
250 
251 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
252 
254 {
256  aipx[nmax], aipy[nmax], aipz[nmax],
257  aorx [4][nmax], aory[4][nmax], aorz[4][nmax],
258  aopx[4][nmax], aopy[4][nmax], aopz[4][nmax];
259 };
260 
261 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
262 
264 {
266  gamYuk, drPau, dpPau, gw, sgw, delr, fdel,
267  dt,da, db,dtimestep;
268 };
269 
270 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
271 
273 {
275  p0s[smax], pxs[smax], pys[smax], pzs[smax],
276  sfmass[smax];
277 };
278 
279 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
280 
282 {
284  suid[smax];
285 };
286 
287 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
288 
290 {
292 };
293 
294 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
295 
297 {
299  fmasstd[nmax][2];
300 };
301 
302 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
303 
305 {
307 };
308 
309 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
310 
312 {
314 };
315 
316 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
317 
319 {
321 };
322 
323 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
324 
326 {
328 };
329 
330 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
331 //
332 // Definition for Collision Term
333 // Commons comres
334 // 4 commons
335 //
336 
338 {
339 char versiontag[45];
340 };
341 
342 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
343 
345 {
346 
353 
356 
361 
371 };
372 
373 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
374 
376 {
379 };
380 
381 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
382 
384 {
386 };
387 
388 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
389 
390 //comwid
392 {
399 
400 };
401 
402 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
403 
405 {
408 };
409 
410 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
411 
413 {
416 };
417 
418 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
419 
421 {
422 char tabname[77];
423 };
424 
425 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
426 //
427 // options
428 //
430 {
433 };
434 
435 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
436 
438 {
439 char ctodc[numcto][2];
440 char ctpdc[numctp][2];
441 };
442 
443 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
444 
446 {
448  bf20;
449 };
450 
451 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
452 
454 {
457 };
458 
459 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
460 //
461 //colltab
462 //
464 {
473 };
474 
475 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
476 //
477 // inputs
478 //
480 {
484 };
485 
486 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
487 
489 {
492 };
493 
494 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
495 
497 {
500 };
501 
502 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
503 
505 {
509  pt_pz[2][aamax];
512 };
513 
514 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
515 
516 // newpart
518 {
522 };
523 
524 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
525 
527 {
529  pold[oprt][5],p0nn,pxnn,pynn,pznn,pnn, mstring[2],
531 };
532 
533 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
534 
536 {
538 };
539 
540 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
541 //
542 // boxinc
543 //
545 {
551 };
552 
553 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
554 
556 {
563 };
564 
565 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
566 // comnorm
568 {
570 G4double y2a[n][4],y2b[n][4], dx;
571 };
572 
573 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
574 // comstr
576 {
578 };
579 
580 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
581 
583 {
585 };
586 
587 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
588 
590 {
592 };
593 
594 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
595 
597 {
599 };
600 
601 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
603 //
605 {
607  frp0[nmax], frpx[nmax], frpy[nmax], frpz[nmax];
608 };
609 
610 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
611 // input
613 {
615 };
616 
617 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
618 // cascinit
620 {
622 };
623 
624 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
625 // iso
627 {
629 };
630 
631 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
633 {
634 G4double cgktab[jmax+1][2*jmax+1][2*jmax+1][jmax+1][jmax+1];
635 };
636 
637 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
638 // UrQMD
639 //
641 {
643 };
644 
645 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
646 // urqmd
647 extern "C"
648 {
649 extern int time_ ();
650 extern void loginit_();
651 extern void sseed_ (int*);
652 extern void uinit_ (int*);
653 extern void urqmd_ ();
654 extern int pdgid_ (int*, int*); //ityp
655 
656 extern void g4urqmdblockdata_ ();
657 
658 // urqmdparams
659 extern struct ccurqmd13urqmdparams urqmdparams_;
660 //coms
661 extern struct ccurqmd13sys sys_;
662 extern struct ccurqmd13rsys rsys_;
663 extern struct ccurqmd13comseed comseed_;
664 extern struct ccurqmd13logic logic_;
665 extern struct ccurqmd13mdprop mdprop_;
666 extern struct ccurqmd13cuts cuts_;
667 extern struct ccurqmd13spdata spdata_;
668 extern struct ccurqmd13isys isys_;
669 extern struct ccurqmd13coor coor_;
670 extern struct ccurqmd13frag frag_;
671 extern struct ccurqmd13aios aios_;
672 extern struct ccurqmd13pots pots_;
673 extern struct ccurqmd13scoor scoor_;
674 extern struct ccurqmd13sisys sisys_;
675 extern struct ccurqmd13ssys ssys_;
676 extern struct ccurqmd13rtdelay rtdelay_;
677 extern struct ccurqmd13itdelay itdelay_;
678 extern struct ccurqmd13svinfo svinfo_;
679 extern struct ccurqmd13ffermi ffermi_;
680 extern struct ccurqmd13peq peq_;
681 //comres
682 extern struct ccurqmd13versioning versioning_;
683 extern struct ccurqmd13resonances resonances_;
684 extern struct ccurqmd13sigtabi sigtabi_;
685 extern struct ccurqmd13sigtabr sigtabr_;
686 
687 //comwid
688 extern struct ccurqmd13decaywidth decaywidth_;
689 extern struct ccurqmd13brwignorm brwignorm_;
690 extern struct ccurqmd13xsections xsections_;
691 extern struct ccurqmd13tabnames tabnames_;
692 //options
693 extern struct ccurqmd13options options_;
694 extern struct ccurqmd13optstrings optstrings_;
695 extern struct ccurqmd13loptions loptions_;
696 extern struct ccurqmd13stables stables_;
697 //colltab
698 extern struct ccurqmd13colltab colltab_;
699 //inputs
700 extern struct ccurqmd13inputs inputs_;
701 extern struct ccurqmd13input2 input2_;
702 extern struct ccurqmd13protarints protarints_;
703 extern struct ccurqmd13protarreals protarreals_;
704 //newpart
705 extern struct ccurqmd13inewpart inewpart_;
706 extern struct ccurqmd13rnewpart rnewpart_;
707 extern struct ccurqmd13fnewpart fnewpart_;
708 //bocinc
709 extern struct ccurqmd13boxic boxic_;
710 extern struct ccurqmd13boxrc boxrc_;
711 // comnorm
713 //comstr
718 // freezeout
720 //urqmd
721 extern struct ccurqmd13energies energies_;
722 //input
723 extern struct ccurqmd13values values_;
724 // cascinit
725 extern struct ccurqmd13ini ini_;
726 //iso
727 extern struct ccurqmd13factorials factorials_;
728 extern struct ccurqmd13cgks cgks_;
729 
730 }
731 
732 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
733 #endif
G4double airy[nmax]
const G4int minbar
G4double pxtd[nmax][2]
const G4int maxres
G4double py[nmax]
const G4int numlam
G4double bwbarnorm[maxbar-minbar+1]
G4double pt_r0[2][aamax]
G4double airx[nmax]
G4double pytd[nmax][2]
G4double pt_fmass[2][aamax]
G4double sigmascal[5][nsigs]
G4int isomes[maxmes-minmes+1]
G4double rz[nmax]
struct ccurqmd13normsplin normsplin_
const G4int numsig
const G4int bptmax
G4double rx[nmax]
G4double aipz[nmax]
G4int bs1type[maxbrs1+1][4]
G4int bptityp[bptmax]
G4double spPauy[nspl]
const G4double maxtab2
const G4int minome
G4double pt_rz[2][aamax]
void loginit_()
G4double branbs2[maxcas-mincas][maxbrs2+1]
struct ccurqmd13ini ini_
G4double ctsigtot[ncollmax]
struct ccurqmd13coparm coparm_
ftnlogical ctvalid[ncollmax]
G4double fbtaby[2][maxbar-minbar+1][widnsp]
const G4int maxcas
G4double widmes[maxmes-minmes+1]
G4double parm[njspin]
const G4int maxmeson
G4double outPau[nspl]
G4double pmix1c[njspin][3]
G4double aopz[4][nmax]
G4double rys[smax]
G4double fmasstd[nmax][2]
G4int bmtype[maxbrm+1][4]
G4double r0s[smax]
int pdgid_(int *, int *)
void uinit_(int *)
G4double massres[maxbar-minbar+1]
G4int lbr[maxdel-minnuc][maxbra+1]
G4double r0[nmax]
void sseed_(int *)
ftnlogical lsct[nmax]
G4double dectime[nmax]
G4double pztd[nmax][2]
G4double pt_py[2][aamax]
const G4int mprt
G4int cti2[ncollmax]
G4double pnew[mprt][5]
struct ccurqmd13values values_
G4double widres[maxbar-minbar+1]
G4double pt_rx[2][aamax]
G4double tform[nmax]
G4int pares[maxbar-minbar+1]
struct ccurqmd13factorials factorials_
int G4int
Definition: G4Types.hh:78
G4int sigmainf[20][nsigs]
G4double aory[4][nmax]
G4double pt_ry[2][aamax]
G4int strres[maxbar-minbar+1]
const G4int smax
const G4int maxmes
G4double airz[nmax]
G4double aorz[4][nmax]
G4double branmes[maxmes-minmes][maxbrm+1]
G4double p0[nmax]
G4double mmesmn[maxmes-minmes+1]
G4double fmass[nmax]
const G4int maxdel
G4double spdwwy[nspl]
G4double aipy[nmax]
G4int bptpart[bptmax]
G4double aopy[4][nmax]
G4double outdww[nspl]
G4double xtotfac[nmax]
const G4int numcas
G4double pmix2s[njspin][3]
G4int bs2type[maxbrs2+1][4]
const G4int maxsig
G4double pt_p0[2][aamax]
G4double pmtaby[maxbrm+1][maxmes-minmes+1][2][widnsp]
const G4double mintab
const G4int nsigs
const G4int numome
G4double outSky[nspl]
G4double spSkyy[nspl]
G4double CTParam[numctp]
const G4double maxtab1
G4int strmes[maxmes-minmes+1]
const G4int minmes
struct ccurqmd13energies energies_
G4int lbs1[maxsig-minlam][maxbrs1+1]
G4double aorx[4][nmax]
G4double ctcolfluc[ncollmax]
G4double massmes[maxmes-minmes+1]
const G4int maxreac
G4int isores[maxbar-minbar+1]
struct ccurqmd13FRGSPA FRGSPA_
const G4int mincas
G4double outYuk[nspl]
G4double pt_pz[2][aamax]
G4double sigmas[itblsz][nsigs]
const G4int mindel
const G4int maxbrm
G4double outCb[nspl]
const G4int offmeson
const G4int nmax
const G4int itblsz
const G4int numdel
const G4int n
G4double xtotfacold[oprt]
const G4int minlam
G4double p0s[smax]
G4double aopx[4][nmax]
struct ccurqmd13const const_
int time_()
const G4int maxnuc
const G4int njspin
G4double pys[smax]
G4double frrtaby[maxdel-1][2][2][widnsp]
G4int ftnlogical
G4double pzs[smax]
G4int jres[maxbar-minbar+1]
G4double rzs[smax]
const G4int jmax
const G4int tabver
G4double px[nmax]
G4double pt_rho[2][aamax]
void g4urqmdblockdata_()
G4double bwmesnorm[maxmes-minmes+1]
G4double pmix2c[njspin][3]
const G4int maxlam
const G4int maxbra
G4int stabvec[maxstables]
const G4int minnuc
G4double bptpmax[bptmax]
G4int lbs2[maxcas-mincas][maxbrs2+1]
G4double tabxnd[widnsp]
G4int brtype[maxbra+1][4]
const G4int maxome
G4double aipx[nmax]
const G4int minsig
const G4int maxstables
const G4int widnsp
const G4int numctp
G4double pbtaby[maxbra+1][maxbar-minbar+1][2][widnsp]
const G4int ncollmax
void urqmd_()
G4int ctsav[ncollmax]
G4double rxs[smax]
G4int pames[maxmes-minmes+1]
G4double branres[maxdel-minnuc][maxbra+1]
struct ccurqmd13frcoor frcoor_
G4int lbm[maxmes-minmes][maxbrm+1]
struct ccurqmd13cgks cgks_
G4double p0td[nmax][2]
G4double pxs[smax]
const G4int maxbrs2
G4double ffermpz[nmax]
const G4int maxpsig
G4double branbs1[maxsig-minlam][maxbrs1+1]
G4double rww[nmax]
G4int jmes[maxmes-minmes+1]
const G4int oprt
G4double spYuky[nspl]
G4double ry[nmax]
G4double pmix1s[njspin][3]
G4double fmtaby[2][maxmes-minmes+1][widnsp]
G4double pt_pmax[2][aamax]
G4double spCby[nspl]
double G4double
Definition: G4Types.hh:76
G4int cti1[ncollmax]
const G4int numnuc
G4double cgktab[jmax+1][2 *jmax+1][2 *jmax+1][jmax+1][jmax+1]
struct ccurqmd13FRGCPA FRGCPA_
G4double ctsqrts[ncollmax]
G4int bptiso3[bptmax]
G4double cttime[ncollmax+1]
G4double pt_px[2][aamax]
const G4int aamax
G4int mlt2it[maxmes-minmes]
const G4int numcto
const G4int minres
G4double pold[oprt][5]
G4int sigmaln[maxreac][2][maxpsig]
const G4int nspl
G4double ffermpx[nmax]
const G4int maxbar
G4double xnew[mprt][4]
G4double pz[nmax]
const G4int maxbrs1
G4double ffermpy[nmax]
G4double sfmass[smax]
G4double pt_dectime[2][aamax]