StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
UrQMD.h
1 #ifndef __UrQMD3_3_1__
2 #define __UrQMD3_3_1__
3 
4 #include "StarCallf77.h"
5 #include <string>
6 using namespace std;
7 
8 #include "TObject.h"
9 
10 //
11 // Interface to common Blocks
12 //
13 
14 #define energies F77_NAME(energies,ENERGIES)
15 struct ENERGIES_t {
16  /*real*8 Ekinbar, Ekinmes, ESky2, ESky3, EYuk, ECb, EPau
17  common /energies/ Ekinbar, Ekinmes, ESky2, ESky3, EYuk, ECb, EPau*/
18  Double_t Ekinbar;
19  Double_t Ekinmes;
20  Double_t ESky2;
21  Double_t ESky3;
22  Double_t EYuk;
23  Double_t ECb;
24  Double_t EPau;
25 };
26 extern "C" ENERGIES_t *address_of_energies();
27 
28 #define sys F77_NAME(sys,SYS)
29 struct SYS_t {
30  /*INTEGER npart, nbar, nmew, ctag, nsteps, uid_cnt, ranseed,
31  & event, Ap, At, Zp, Zt, eos, dectag, NHardRes, NSoftRes,
32  & NDecRes, NElColl, NBlColl
33  common /sys/ npart, nbar, nmes, ctag,nsteps,uid_cnt,
34  & ranseed,event,Ap,At,Zp,Zt,eos,dectag,
35  & NHardRes,NSoftRes,NDecRes,NElColl,NBlColl*/
36  Int_t npart;
37  Int_t nbar;
38  Int_t nmew;
39  Int_t ctag;
40  Int_t nspteps;
41  Int_t uid_cnt;
42  Int_t ranseed;
43  Int_t event;
44  Int_t Ap;
45  Int_t At;
46  Int_t Zp;
47  Int_t Zt;
48  Int_t eos;
49  Int_t dectag;
50  Int_t NHardRes;
51  Int_t NSoftRes;
52  Int_t NDecRes;
53  Int_t NElColl;
54  Int_t NBlColl;
55 };
56 extern "C" SYS_t *address_of_sys();
57 
58 #define rsys F77_NAME(rsys,RSYS)
59 struct RSYS_t {
60  /*real*8 time, acttime, bdist, ebeam, bimp, bmin, ecm
61  common /rsys/ time,acttime,bdist,bimp,bmin,ebeam,ecm*/
62  Double_t time;
63  Double_t acttime;
64  Double_t bdist;
65  Double_t ebeam;
66  Double_t bimp;
67  Double_t bmin;
68  Double_t ecm;
69 };
70 extern "C" RSYS_t *address_of_rsys();
71 
72 #define cuts F77_NAME(cuts,CUTS)
73 struct CUTS_t {
74  /*real*8 cutmax, cutPau, cutCb, cutYuk, cutSky, cutdww
75  common /cuts/ cutmax, cutPau, cutCb, cutYuk, cutSky, cutdww*/
76  Double_t cutmax;
77  Double_t cutPau;
78  Double_t cutCb;
79  Double_t cutYuk;
80  Double_t cutSky;
81  Double_t cutdww;
82 };
83 extern "C" CUTS_t *address_of_cuts();
84 
85 #define spdata F77_NAME(spdata,SPDATA)
86 struct SPDATA_t {
87  /* parameter (nspl = 500) ! dimension of spline arrays
88  real*8 spx(nspl), spPauy(nspl), outPau(nspl),
89  & spCby(nspl), outCb(nspl),
90  & spYuky(nspl), outYuk(nspl),
91  & spSkyy(nspl), outSky(nspl),
92  & spdwwy(nspl), outdww(nspl)
93  common /spdata/ spx, spPauy, outPau, spCby, outCb,
94  & spYuky, outYuk, spSkyy, outSky,
95  & spdwwy, outdww*/
96  Double_t _spx[500];
97  Double_t _spPauy[500];
98  Double_t _outPau[500];
99  Double_t _spCby[500];
100  Double_t _outCby[500];
101  Double_t _spYuky[500];
102  Double_t _outYuk[500];
103  Double_t _spSkyy[500];
104  Double_t _outSky[500];
105  Double_t _spdwwy[500];
106  Double_t _outdww[500];
107  Double_t &spx( Int_t i ){return _spx[i-1]; }
108  Double_t &spPauy( Int_t i ){return _spPauy[i-1]; }
109  Double_t &outPau( Int_t i ){return _outPau[i-1]; }
110  Double_t &spCby( Int_t i ){return _spCby[i-1]; }
111  Double_t &outCby( Int_t i ){return _outCby[i-1]; }
112  Double_t &spYuky( Int_t i ){return _spYuky[i-1]; }
113  Double_t &outYuk( Int_t i ){return _outYuk[i-1]; }
114  Double_t &spSkyy( Int_t i ){return _spSkyy[i-1]; }
115  Double_t &outSky( Int_t i ){return _outSky[i-1]; }
116  Double_t &spdwwy( Int_t i ){return _spdwwy[i-1]; }
117  Double_t &outdww( Int_t i ){return _outdww[i-1]; }
118 };
119 extern "C" SPDATA_t *address_of_spdata();
120 
121 #define isys F77_NAME(isys,ISYS)
122 struct ISYS_t {
123  /* parameter (nmax = 40000) ! maximum number of particles
124  integer spin(nmax),ncoll(nmax),charge(nmax),strid(nmax),
125  & ityp(nmax),lstcoll(nmax),iso3(nmax),origin(nmax),uid(nmax)
126  common/isys/spin,ncoll,charge,ityp,lstcoll,iso3,origin,strid,
127  & uid*/
128  Int_t _spin[40000];
129  Int_t _ncoll[40000];
130  Int_t _charge[40000];
131  Int_t _ityp[40000];
132  Int_t _lstcoll[40000];
133  Int_t _iso3[40000];
134  Int_t _origin[40000];
135  Int_t _strid[40000];
136  Int_t _uid[40000];
137  Int_t &spin( Int_t i ){return _spin[i-1]; }
138  Int_t &ncoll( Int_t i ){return _ncoll[i-1]; }
139  Int_t &ityp( Int_t i ){return _ityp[i-1]; }
140  Int_t &lstcoll( Int_t i ){return _lstcoll[i-1]; }
141  Int_t &iso3( Int_t i ){return _iso3[i-1]; }
142  Int_t &origin( Int_t i ){return _origin[i-1]; }
143  Int_t &strid( Int_t i ){return _strid[i-1]; }
144  Int_t &uid( Int_t i ){return _uid[i-1]; }
145 };
146 extern "C" ISYS_t *address_of_isys();
147 
148 #define coor F77_NAME(coor,COOR)
149 struct COOR_t {
150  /* parameter (nmax = 40000) ! maximum number of particles
151  real*8
152  & r0(nmax), rx(nmax), ry(nmax), rz(nmax),
153  & p0(nmax), px(nmax), py(nmax), pz(nmax),
154  & fmass(nmax), rww(nmax), dectime(nmax)
155  common /coor/ r0, rx, ry, rz, p0, px, py, pz, fmass, rww, dectime*/
156  Double_t _r0[40000];
157  Double_t _rx[40000];
158  Double_t _ry[40000];
159  Double_t _rz[40000];
160  Double_t _p0[40000];
161  Double_t _px[40000];
162  Double_t _py[40000];
163  Double_t _pz[40000];
164  Double_t _fmass[40000];
165  Double_t _dectime[40000];
166  Double_t &r0( Int_t i ){return _r0[i-1]; }
167  Double_t &rx( Int_t i ){return _rx[i-1]; }
168  Double_t &ry( Int_t i ){return _ry[i-1]; }
169  Double_t &rz( Int_t i ){return _rz[i-1]; }
170  Double_t &p0( Int_t i ){return _p0[i-1]; }
171  Double_t &px( Int_t i ){return _px[i-1]; }
172  Double_t &py( Int_t i ){return _py[i-1]; }
173  Double_t &pz( Int_t i ){return _pz[i-1]; }
174  Double_t &fmass( Int_t i ){return _fmass[i-1]; }
175  Double_t &dectime( Int_t i ){return _dectime[i-1]; }
176 };
177 extern "C" COOR_t *address_of_coor();
178 
179 #define frag F77_NAME(frag,FRAG)
180 struct FRAG_t {
181  /* parameter (nmax = 40000) ! maximum number of particles
182  real*8 tform(nmax), xtotfac(nmax)
183  common /frag/ tform, xtotfac*/
184  Double_t _tform[40000];
185  Double_t _xtotfrac[40000];
186  Double_t &tform( Int_t i ){return _tform[i-1]; }
187  Double_t &xtotfrac( Int_t i ){return _xtotfrac[i-1]; }
188 };
189 extern "C" FRAG_t *address_of_frag();
190 
191 #define aios F77_NAME(aios,AIOS)
192 struct AIOS_t {
193  /* parameter (nmax = 40000) ! maximum number of particles
194  real*8 airx(nmax), airy(nmax), airz(nmax),
195  & aipx(nmax), aipy(nmax), aipz(nmax),
196  & aorx(nmax,4), aory(nmax,4), aorz(nmax,4),
197  & aopx(nmax,4), aopy(nmax,4), aopz(nmax,4)
198  common /aios/ airx, airy, airz, aipx, aipy, aipz,
199  & aorx, aory, aorz, aopx, aopy, aopz*/
200  Double_t _airx[40000];
201  Double_t _airy[40000];
202  Double_t _airz[40000];
203  Double_t _aipx[40000];
204  Double_t _aipy[40000];
205  Double_t _aipz[40000];
206  Double_t _aorx[4][40000];
207  Double_t _aory[4][40000];
208  Double_t _aorz[4][40000];
209  Double_t _aopx[4][40000];
210  Double_t _aopy[4][40000];
211  Double_t _aopz[4][40000];
212  Double_t &airx( Int_t i ){return _airx[i-1]; }
213  Double_t &airy( Int_t i ){return _airy[i-1]; }
214  Double_t &airz( Int_t i ){return _airz[i-1]; }
215  Double_t &aipx( Int_t i ){return _aipx[i-1]; }
216  Double_t &aipy( Int_t i ){return _aipy[i-1]; }
217  Double_t &aipz( Int_t i ){return _aipz[i-1]; }
218  Double_t &aorx( Int_t i, Int_t j ){return _aorx[j-1][i-1]; }
219  Double_t &aory( Int_t i, Int_t j ){return _aory[j-1][i-1]; }
220  Double_t &aorz( Int_t i, Int_t j ){return _aorz[j-1][i-1]; }
221  Double_t &aopx( Int_t i, Int_t j ){return _aopx[j-1][i-1]; }
222  Double_t &aopy( Int_t i, Int_t j ){return _aopy[j-1][i-1]; }
223  Double_t &aopz( Int_t i, Int_t j ){return _aopz[j-1][i-1]; }
224 };
225 extern "C" AIOS_t *address_of_aios();
226 
227 #define pots F77_NAME(pots,POTS)
228 struct POTS_t {
229  /*real*8
230  & gw, sgw, delr, fdel, dt,da, db, Cb0, Yuk0, Pau0, Sky20,
231  & Sky30, gamSky, gamYuk, drPau, dpPau, dtimestep
232  common /pots/ Cb0, Yuk0, Pau0, Sky20, Sky30, gamSky,
233  & gamYuk, drPau, dpPau, gw, sgw, delr, fdel,
234  & dt,da, db,dtimestep*/
235  Double_t Cb0;
236  Double_t Yuk0;
237  Double_t Pau0;
238  Double_t Sky20;
239  Double_t Sky30;
240  Double_t gamSky;
241  Double_t gamYuk;
242  Double_t drPau;
243  Double_t dpPau;
244  Double_t gw;
245  Double_t sgw;
246  Double_t delr;
247  Double_t fdel;
248  Double_t dt;
249  Double_t da;
250  Double_t db;
251  Double_t dtimestep;
252 };
253 extern "C" POTS_t *address_of_pots();
254 
255 #define scoor F77_NAME(scoor,SCOOR)
256 struct SCOOR_t {
257  /* parameter(smax=500) ! maximum number of spectators
258  real*8 r0s(smax), rxs(smax), rys(smax), rzs(smax),
259  & p0s(smax), pxs(smax), pys(smax), pzs(smax),
260  & sfmass(smax)
261  common /scoor/ r0s, rxs, rys, rzs, p0s, pxs ,pys, pzs, sfmass*/
262  Double_t _r0s[500];
263  Double_t _rxs[500];
264  Double_t _rys[500];
265  Double_t _rzs[500];
266  Double_t _p0s[500];
267  Double_t _pxs[500];
268  Double_t _pys[500];
269  Double_t _pzs[500];
270  Double_t _sfmass[500];
271  Double_t &r0s( Int_t i ){return _r0s[i-1]; }
272  Double_t &rxs( Int_t i ){return _rxs[i-1]; }
273  Double_t &rys( Int_t i ){return _rys[i-1]; }
274  Double_t &rzs( Int_t i ){return _rzs[i-1]; }
275  Double_t &p0s( Int_t i ){return _p0s[i-1]; }
276  Double_t &pxs( Int_t i ){return _pxs[i-1]; }
277  Double_t &pys( Int_t i ){return _pys[i-1]; }
278  Double_t &pzs( Int_t i ){return _pzs[i-1]; }
279  Double_t &sfmass( Int_t i ){return _sfmass[i-1]; }
280 };
281 extern "C" SCOOR_t *address_of_scoor();
282 
283 #define sisys F77_NAME(sisys,SISYS)
284 struct SISYS_t {
285  /* parameter(smax=500) ! maximum number of spectators
286  integer sspin(smax), scharge(smax), sityp(smax), siso3(smax),
287  & suid(smax)
288  common /sisys/ sspin, scharge, sityp, siso3, suid*/
289  Int_t _sspin[500];
290  Int_t _scharge[500];
291  Int_t _sityp[500];
292  Int_t _siso3[500];
293  Int_t _suid[500];
294  Int_t &sspin( Int_t i ){return _sspin[i-1]; }
295  Int_t &scharge( Int_t i ){return _scharge[i-1]; }
296  Int_t &sityp( Int_t i ){return _sityp[i-1]; }
297  Int_t &siso3( Int_t i ){return _siso3[i-1]; }
298  Int_t &suid( Int_t i ){return _suid[i-1]; }
299 };
300 extern "C" SISYS_t *address_of_sisys();
301 
302 #define ssys F77_NAME(ssys,SSYS)
303 struct SSYS_t {
304  /*integer nspec
305  common /ssys/ nspec*/
306  Int_t npsec;
307 };
308 extern "C" SSYS_t *address_of_ssys();
309 
310 #define rtdelay F77_NAME(rtdelay,RTDELAY)
311 struct RTDELAY_t {
312  /* parameter (nmax = 40000) ! maximum number of particles
313  real*8 p0td(2,nmax),pxtd(2,nmax),pytd(2,nmax),pztd(2,nmax),
314  & fmasstd(2,nmax)
315  common /rtdelay/p0td,pxtd,pytd,pztd,fmasstd*/
316  Double_t _p0td[40000][2];
317  Double_t _pxtd[40000][2];
318  Double_t _pytd[40000][2];
319  Double_t _pztd[40000][2];
320  Double_t _fmasstd[40000][2];
321  Double_t &p0td( Int_t i, Int_t j ){return _p0td[j-1][i-1]; }
322  Double_t &pxtd( Int_t i, Int_t j ){return _pxtd[j-1][i-1]; }
323  Double_t &pytd( Int_t i, Int_t j ){return _pytd[j-1][i-1]; }
324  Double_t &pztd( Int_t i, Int_t j ){return _pztd[j-1][i-1]; }
325  Double_t &fmasstd( Int_t i, Int_t j ){return _fmasstd[j-1][i-1]; }
326 };
327 extern "C" RTDELAY_t *address_of_rtdelay();
328 
329 #define itdelay F77_NAME(itdelay,ITDELAY)
330 struct ITDELAY_t {
331  /* parameter (nmax = 40000) ! maximum number of particles
332  integer ityptd(2,nmax),iso3td(2,nmax)
333  common /itdelay/ityptd,iso3td*/
334  Int_t _ityptd[40000][2];
335  Int_t _iso3td[40000][2];
336  Int_t &ityptd( Int_t i, Int_t j ){return _ityptd[j-1][i-1]; }
337  Int_t &iso3td( Int_t i, Int_t j ){return _iso3td[j-1][i-1]; }
338 };
339 extern "C" ITDELAY_t *address_of_itdelay();
340 
341 #define svinfo F77_NAME(svinfo,SVINFO)
342 struct SVINFO_t {
343  /*integer itypt(2),uidt(2),origint(2),iso3t(2)
344  common /svinfo/itypt,uidt,origint,iso3t*/
345  Int_t _itypt[2];
346  Int_t _uidt[2];
347  Int_t _origint[2];
348  Int_t _iso3t[2];
349  Int_t &itypt( Int_t i ){return _itypt[i-1]; }
350  Int_t &uidt( Int_t i ){return _uidt[i-1]; }
351  Int_t &origint( Int_t i ){return _origint[i-1]; }
352  Int_t &iso3t( Int_t i ){return _iso3t[i-1]; }
353 };
354 extern "C" SVINFO_t *address_of_svinfo();
355 
356 #define ffermi F77_NAME(ffermi,FFERMI)
357 struct FFERMI_t {
358  /* parameter (nmax = 40000) ! maximum number of particles
359  real*8 ffermpx(nmax), ffermpy(nmax), ffermpz(nmax)
360  common /ffermi/ ffermpx, ffermpy, ffermpz*/
361  Double_t _ffermpx[40000];
362  Double_t _ffermpy[40000];
363  Double_t _ffermpz[40000];
364  Double_t &ffermpx( Int_t i ){return _ffermpx[i-1]; }
365  Double_t &ffermpy( Int_t i ){return _ffermpy[i-1]; }
366  Double_t &ffermpz( Int_t i ){return _ffermpz[i-1]; }
367 };
368 extern "C" FFERMI_t *address_of_ffermi();
369 
370 #define peq F77_NAME(peq,PEQ)
371 struct PEQ_t {
372  /*real*8 peq1, peq2
373  common /peq/ peq1,peq2*/
374  Double_t peq1;
375  Double_t peq2;
376 };
377 extern "C" PEQ_t *address_of_peq();
378 
379 void iurqmd( void );
380 void genevt( void );
381 
384 /*std::vector< vector <string> > InputParameters;
385 map<TString,Int_t> InputParametersInt;
386 map<TString,Double_t> InputParametersDouble;
387 map<TString,TString> InputParametersString;*/
388 
389 #endif
Definition: UrQMD.h:29
Definition: UrQMD.h:73
Definition: UrQMD.h:59
Definition: UrQMD.h:371
Definition: UrQMD.h:180
Definition: UrQMD.h:192
Definition: UrQMD.h:303
Definition: UrQMD.h:256
Definition: UrQMD.h:284
Definition: UrQMD.h:86
Definition: UrQMD.h:149
Definition: UrQMD.h:122
Definition: UrQMD.h:228