Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4DPMJET2_5Interface.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 QinetiQ Ltd *
22 // * under contract to the European Space Agency (ESA) are the *
23 // * intellectual property of ESA. Rights to use, copy, modify and *
24 // * redistribute this software for general public use are granted *
25 // * in compliance with any licensing, distribution and development *
26 // * policy adopted by the Geant4 Collaboration. This code has been *
27 // * written by QinetiQ Ltd for the European Space Agency, under ESA *
28 // * contract 19770/06/NL/JD (Technology Research Programme). *
29 // * *
30 // * By using, copying, modifying or distributing the software (or *
31 // * any work based on the software) you agree to acknowledge its *
32 // * use in resulting scientific publications, and indicate your *
33 // * acceptance of all terms of the Geant4 Software license. *
34 // ********************************************************************
35 //
36 /// \file hadronic/Hadr02/include/G4DPMJET2_5Interface.hh
37 /// \brief Definition of the G4DPMJET2_5Interface class
38 //
39 // $Id: G4DPMJET2_5Interface.hh 77519 2013-11-25 10:54:57Z gcosmo $
40 //
41 
42 #ifndef G4DPMJET2_5Interface_hh
43 #define G4DPMJET2_5Interface_hh 1
44 
45 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
46 //
47 // MODULE: G4DPMJET2_5Interface.hh
48 //
49 // Version: 0.B
50 // Date: 02/04/08
51 // Author: P R Truscott
52 // Organisation: QinetiQ Ltd, UK
53 // Customer: ESA/ESTEC, NOORDWIJK
54 // Contract: 19770/06/NL/JD
55 //
56 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
57 //
58 // Class Description
59 //
60 //
61 // Class Description - End
62 //
63 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
64 ///////////////////////////////////////////////////////////////////////////////
65 //
66 const int intmd = 252;
67 const int maxpro = 8;
68 const int intmx = 2488;
69 const int mxafbk = 16;
70 const int mxffbk = 6;
71 const int mxnfbk = 10;
72 const int mxzfbk = 9;
73 const int mxpsst = 300;
74 const int mxpsfb = 41000;
75 const int nxafbk = 17; // NXAFBK = MXAFBK + 1
76 const int nxnfbk = 15; // NXNFBK = MXNFBK + MXFFBK / 3
77 const int nxzfbk = 14; // NXZFBK = MXZFBK + MXFFBK / 3
78 const int nmxhkk = 89998;
79 const int neb = 50;
80 //
81 //
82 // This next line is required as the default version of FORTRAN LOGICAL is
83 // four bytes long, whereas storage for G4bool is one byte.
84 //
85 typedef G4int ftnlogical;
86 
88 {
91 };
93 {
95 };
97 {
100 };
102 {
104 };
106 {
107  G4double s; //sometimes called ss
111 };
113 {
115 };
117 {
119 };
121 {
128 };
130 {
133 };
135 {
136  G4int idiqre[7], idvre[3], ivdre[3], idsre[3], isdre[3],
137  idzre[3], izdre[3], idiqrz[7];
138 };
140 {
142 };
144 {
146 };
148 {
149  ftnlogical
151  ipadis, ishmal, lpauli;
152 };
154 {
156 };
158 {
160 };
162 {
164 };
166 {
168 };
170 {
172 };
174 {
176 };
178 {
184  ipsind[2][mxzfbk+1][mxnfbk+1], jpsind[mxafbk+1],
185  ifbind[2][mxzfbk+1][nxnfbk+1], jfbind[nxafbk+1],
187  ifbfrb, nbufbk;
188  ftnlogical
190 };
192 {
194 };
196 {
199 };
201 {
203 };
205 {
207 };
209 {
211 };
212 //struct ccdpm25infore
213 //{
214 // G4int ifrej;
215 //};
217 {
219 };
221 {
223 };
225 {
227 };
229 {
231 };
233 {
235 };
237 {
239 };
241 {
243 };
245 {
246  G4double prmom[248][5], tamom[248][5], prmfep, prmfen, tamfep,
248  taepot[210], prebin, taebin, fermod, etacou;
249 };
251 {
253  ebindp[2], ebindn[2], epot[210][2],
254  etacoo[2];
256 };
258 {
260  ftnlogical
264  ftnlogical
266 };
268 {
270 };
272 {
275 };
277 {
279 };
281 {
286  isea43, isea63, ireja0;
287 };
288 //struct ccdpm25inxdpm
289 //{
290 // G4int intdpm;
291 //};
293 {
295 };
297 {
299 };
301 {
303 };
305 {
307 };
309 {
311 };
313 {
314  G4int mstu[200];
316  G4int mstj[200];
318 };
320 {
322 };
324 {
325  ftnlogical
327 };
329 {
331 };
333 {
335 };
337 {
339 };
341 {
343 };
345 {
347 };
349 {
352 };
354 {
355  char titled[80], projty[8], targty[8];
356 };
358 {
361 };
363 {
364  G4double vxsp[50], vxst[50], vxsap[50], vxsat[50],
365  vxvp[50], vxvt[50], vxdp[50], vxdt[50];
367 };
369 {
371  ssmimq, vvmthr;
372 };
374 {
376 };
378 {
380  anndv, annvd, annds, annsd,
381  annhh, annzz,
382  ptvv, ptss, ptsv, ptvs, ptcc, ptdv, ptvd, ptds, ptsd,
383  pthh, ptzz,
384  eevv, eess, eesv, eevs, eecc, eedv, eevd, eeds, eesd,
385  eehh, eezz,
386  anndi, ptdi, eedi,
387  annzd, anndz, ptzd, ptdz, eezd, eedz;
388 };
389 
391 {
393  bnndv, bnnvd, bnnds, bnnsd,
394  bnnhh, bnnzz,
396  bptvd, bptds, bptsd,
397  bpthh, bptzz,
399  beevd, beeds, beesd,
400  beehh, beezz,
401  bnndi, bptdi, beedi,
403 };
404 
406 {
409  acoudz, acouzd, acoudi,
410  acoudv, acouvd, acoucc;
411 };
412 
414 {
417  bcoudz, bcouzd, bcoudi,
418  bcoudv, bcouvd, bcoucc;
419 };
421 {
423  bsite[200][2];
425 };
427 {
429 };
431 {
432  G4double bsiten[50][24][200], bsitem[50][24][200],
433  rprojj[50], rtagg[50], bstepp[50], bmaxx[50],
434  ntaxx[50], nztaxx[50], nprxx[50], nzprxx[50];
435 };
437 {
442  ijtalu1;
443 };
445 {
446  G4int ipvq[248], ippv1[248], ippv2[248], itvq[248],
447  ittv1[248], ittv2[248], ipsq[intmx], ipsq2[intmx],
450  kkproj[248], kktarg[248];
451 };
453 {
454  char aname[210];
455  G4double aam[210], ga[210], tau[210];
456  G4int iich[210],
457  iibar[210], k1[210], k2[210];
458 };
460 {
462  idbam[nmxhkk], idch[nmxhkk], npoint[10];
463 };
465 {
467  jmohkk[nmxhkk][2], jdahkk[nmxhkk][2];
469  vhkk[nmxhkk][4], whkk[nmxhkk][4];
470 };
472 {
473  G4int ifrovp[248], itovp[248], ifrosp[intmx],
474  ifrovt[248], itovt[248], ifrost[intmx],
475  jsshs[intmx], jtshs[intmx], jhkknp[248],
476  jhkknt[248],
481  mhkkhh[intmx],
482  mhkkdv[248], mhkkvd[248],
484 };
486 {
487  char btype[30][8];
488 };
490 {
492  inter2[intmx];
493 };
495 {
497 };
499 {
501 };
503 {
506 };
508 {
510 };
512 {
515 };
517 {
519  xstot[neb], xsela[neb],
520  xsqep[neb], xsqet[neb],
521  xsqe2[neb], xspro[neb],
522  xetot[neb], xeela[neb],
523  xeqep[neb], xeqet[neb],
524  xeqe2[neb], xepro[neb],
525  bslope, elabb[neb];
526 };
527 
528 extern "C"
529 {
530 
531  extern void parpt_ (int*, double*, double*, int*, int*);
532  extern void csj1mi_ (double*, double*);
533  extern void ddatar_ ();
534  extern void dhadde_ ();
535  extern void dchant_ ();
536  extern void dchanh_ ();
537  extern void defaul_ (double*, double*);
538  extern void defaux_ (double*, double*);
539  extern void lundin_ ();
540  extern void rndmst_ (int*, int*, int*, int*);
541  extern void berttp_ ();
542  extern void incini_ ();
543  extern void distr_ (int*, int*, double*, int*);
544  extern void shmakf_ (int*, int*, int*, int*);
545  extern void shmaki_ (int*, int*, int*, int*, double*, double*, double*);
546  extern void prblm2_ (double*);
547  extern void jtdtu_ (int*);
548  extern void samppt_ (int*, double*);
549  extern void dpmevt_ (double*, int*, int*, int*, int*, int*, int*, int*);
550  extern void kkinc_ (double*, int*, int*, int*, int*, int*, int*, int*, int*, int*);
551  extern double rd2in_ (int*, int*);
552  extern double rd2out_ (int*, int*);
553  extern void xsglau_ (int*, int*, int*, int*);
554 
555  extern void g4dpmjet_initialise_block_data_ ();
556  extern void g4dpmjet_open_nuclear_bin_ (int*, int*, int*, char*);
557  extern void g4dpmjet_close_nuclear_bin_ (int*);
558  extern void g4dpmjet_open_fort6_ (int*, int*, char*);
559  extern void g4dpmjet_close_fort6_ ();
560 
561  extern struct ccdpm25casadi casadi_;
562  extern struct ccdpm25cmhico cmhico_;
563  extern struct ccdpm25cronin cronin_;
564  extern struct ccdpm25colle colle_;
565  extern struct ccdpm25collis collis_;
566  extern struct ccdpm25coulo coulo_;
567  extern struct ccdpm25diffra diffra_;
568  extern struct ccdpm25diqsum diqsum_;
569  extern struct ccdpm25diquax diquax_;
570  extern struct ccdpm25diqrej diqrej_;
571  extern struct ccdpm25dprin dprin_;
572  extern struct ccdpm25dropjj dropjj_;
573  extern struct ccdpm25droppt droppt_;
574  extern struct ccdpm25edens edens_;
575  extern struct ccdpm25evappp evappp_;
576  extern struct ccdpm25ferfor ferfor_;
577  extern struct ccdpm25final final_;
578  extern struct ccdpm25fluctu fluctu_;
579  extern struct ccdpm25secint secint_;
580  extern struct ccdpm25frbkcm frbkcm_;
581  extern struct ccdpm25gluspl gluspl_;
582  extern struct ccdpm25hadthr hadthr_;
583  extern struct ccdpm25hdjase hdjase_;
584  extern struct ccdpm25hettp hettp_;
585  extern struct ccdpm25ifragm ifragm_;
586  //extern struct ccdpm25infore infore_;
587  extern struct ccdpm25inpflg inpflg_;
588  extern struct ccdpm25kglaub kglaub_;
589  extern struct ccdpm25nstari nstari_;
590  extern struct ccdpm25ncshxx ncshxx_;
591  extern struct ccdpm25nncms nncms_;
592  extern struct ccdpm25nucc nucc_;
593  extern struct ccdpm25nuccc nuccc_;
594  extern struct ccdpm25nucimp nucimp_;
595  extern struct ccdpm25nuclea nuclea_;
596  extern struct ccdpm25parevt parevt_;
597  extern struct ccdpm25pomtab pomtab_;
598  extern struct ccdpm25pomtyp pomtyp_;
599  extern struct ccdpm25popcor popcor_;
600  extern struct ccdpm25popcck popcck_;
601  //extern struct ccdpm25inxdpm inxdpm_;
602  extern struct ccdpm25projk projk_;
603  extern struct ccdpm25promu promu_;
604  extern struct ccdpm25pshow pshow_;
605  extern struct ccdpm25ptlarg ptlarg_;
606  extern struct ccdpm25ptsamp ptsamp_;
607  extern struct ccdpm25pydat1 pydat1_;
608  extern struct ccdpm25recom recom_;
609  extern struct ccdpm25seadiq seadiq_;
610  extern struct ccdpm25seaqxx seaqxx_;
611  extern struct ccdpm25seasu3 seasu3_;
612  extern struct ccdpm25sincha sincha_;
613  extern struct ccdpm25stars stars_;
614  extern struct ccdpm25strufu strufu_;
615  extern struct ccdpm25taufo taufo_;
616  extern struct ccdpm25user1 user1_;
617  extern struct ccdpm25user2 user2_;
618  extern struct ccdpm25vxsvd vxsvd_;
619  extern struct ccdpm25xseadi xseadi_;
620  extern struct ccdpm25zentra zentra_;
621  extern struct ccdpm25bufueh bufueh_;
622  extern struct ccdpm25bufues bufues_;
623  extern struct ccdpm25ncouch ncouch_;
624  extern struct ccdpm25ncoucs ncoucs_;
625  extern struct ccdpm25dshm dshm_;
626  extern struct ccdpm25rptshm rptshm_;
627  extern struct ccdpm25dtumat dtumat_;
628  extern struct ccdpm25collap collap_;
629  extern struct ccdpm25diqi diqi_;
630  extern struct ccdpm25dpar dpar_;
631  extern struct ccdpm25extevt extevt_;
632  extern struct ccdpm25hkkevt hkkevt_;
633  extern struct ccdpm25ifroto ifroto_;
634  extern struct ccdpm25paname paname_;
635  extern struct ccdpm25shmakl shmakl_;
636  extern struct ccdpm25sigma sigma_;
637  extern struct ccdpm25xsecpt xsecpt_;
638  extern struct ccdpm25nucros nucros_;
639  extern struct ccdpm25hboo hboo_;
640  extern struct ccdpm25xsecnu xsecnu_;
641  extern struct ccdpm25glaber glaber_;
642 }
643 // NOTE Should there be a semicolon after the close-curly bracket ?? Some
644 // compilers think yes, others no!
645 #endif
G4int ifbcha[mxpsfb][5]
const int intmx
G4int jdahkk[nmxhkk][2]
G4double phkk[nmxhkk][5]
G4double bsite[200][2]
void shmakf_(int *, int *, int *, int *)
G4int ipsaq[intmx]
void distr_(int *, int *, double *, int *)
void shmaki_(int *, int *, int *, int *, double *, double *, double *)
G4int ifbkst[mxpsst]
double rd2in_(int *, int *)
const int mxzfbk
const int mxffbk
G4int jmohkk[nmxhkk][2]
void rndmst_(int *, int *, int *, int *)
G4double eexfbk[mxpsst]
void g4dpmjet_open_nuclear_bin_(int *, int *, int *, char *)
void dchant_()
G4int ifbind[2][mxzfbk+1][nxnfbk+1]
G4int jfbind[nxafbk+1]
G4double ga[210]
void dhadde_()
const int nmxhkk
int G4int
Definition: G4Types.hh:78
double rd2out_(int *, int *)
G4double bsitem[50][24][200]
void g4dpmjet_close_nuclear_bin_(int *)
const int nxafbk
void dpmevt_(double *, int *, int *, int *, int *, int *, int *, int *)
void g4dpmjet_open_fort6_(int *, int *, char *)
const int intmd
void g4dpmjet_close_fort6_()
const int mxpsst
const int nxzfbk
G4double epot[210][2]
G4int ipsq2[intmx]
void prblm2_(double *)
const int mxpsfb
const int neb
void jtdtu_(int *)
G4double taepot[210]
G4double whkk[nmxhkk][4]
G4double exfrbk[mxpsfb]
G4int ftnlogical
G4double amfrbk[mxpsst]
G4double prepot[210]
void incini_()
G4int itsaq[intmx]
G4int ifbksp[mxpsst]
void csj1mi_(double *, double *)
const int mxafbk
const int mxnfbk
G4double bsiten[50][24][200]
const int maxpro
G4int idxres[nmxhkk]
G4double aam[210]
void g4dpmjet_initialise_block_data_()
void parpt_(int *, double *, double *, int *, int *)
G4double prmom[248][5]
G4double tau[210]
void dchanh_()
void kkinc_(double *, int *, int *, int *, int *, int *, int *, int *, int *, int *)
G4double sdmfbk[mxpsfb]
void defaul_(double *, double *)
G4int ifrbkz[mxpsst]
void lundin_()
G4double tamom[248][5]
G4int jpsind[mxafbk+1]
G4int itsaq2[intmx]
void xsglau_(int *, int *, int *, int *)
G4int ifbkpr[mxpsst]
G4double coufbk[mxpsfb]
G4int ifrbkn[mxpsst]
G4int isthkk[nmxhkk]
void ddatar_()
G4double vhkk[nmxhkk][4]
double G4double
Definition: G4Types.hh:76
G4int ipsind[2][mxzfbk+1][mxnfbk+1]
G4int itsq2[intmx]
G4int ipsaq2[intmx]
const int nxnfbk
void defaux_(double *, double *)
void berttp_()
ftnlogical ldiffr[39]
void samppt_(int *, double *)