! integer mxzgr, mxrgr, mxcel parameter ( mxzgr=5000, mxrgr=100, mxcel=1000 ) ! integer mxxg, mxyg, mxsg parameter ( mxxg=100, mxyg=100, mxsg=500 ) ! integer mxxge, mxyge, mxsge parameter ( mxxge=1, mxyge=1, mxsge=1 ) ! integer mxpar parameter ( mxpar = 300000 ) ! integer mxzcrf, mxrcrf parameter ( mxzcrf=251, mxrcrf=151 ) ! integer mxmul parameter ( mxmul = 2000 ) ! integer mxnbx, mxptshorn parameter ( mxnbx = 100 ) parameter ( mxptshorn = 50 ) ! ! Maximum number of characters in the file pathname integer maxpathnamelen parameter ( maxpathnamelen = 100 ) ! ! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ! ! Variables initialized by command line arguments or ! arguments of ICOOLS common/ARGSCL/pathname character*(maxpathnamelen) pathname ! common/BACKGRN/sbg0,ztotalbkg,hptrkbkg(mxsg),hfldbkg, & zoffbkg,rmaxbkg,zminbkg,zmaxbkg,bfparm(15), & prefbkg,ordtrkbkg,interbkg,bentbkg real*8 sbg0,ztotalbkg,hptrkbkg,hfldbkg real*8 zoffbkg,rmaxbkg,zminbkg,zmaxbkg,bfparm,prefbkg,ordtrkbkg integer interbkg logical bentbkg ! common/BCKGRNC/bftag character*4 bftag ! common/BEAMDAT/fracbt(5), & x1bt(3,5),x2bt(3,5),p1bt(3,5),p2bt(3,5), & corr1(10,5),corr2(10,5),corr3(10,5),psis,dtalt, & nbeamtyp,bmtype(5),bdistyp(5),nbcorr(5),corrtyp(10,5), & bmalt real*8 fracbt,x1bt,x2bt,p1bt,p2bt,corr1,corr2,corr3,psis,dtalt integer nbeamtyp, bmtype, bdistyp, nbcorr, corrtyp logical bmalt ! common/CAV4/rdm4,zcavm4,gm4,delzm4,delrm4, & nzom4,nrom4 real*8 rdm4,zcavm4,gm4,delzm4,delrm4 integer nzom4, nrom4 ! common/COMPOUND/zelcomp(3,4),aelcomp(3,4),ipelcomp(3,4), & felcomp(3,4),nelcomp(4) real*8 zelcomp,aelcomp,ipelcomp,felcomp integer nelcomp ! common/CONST/permfp,cc,ee,pi,twopi,piov2,avagn,relcl,j01, & mass(8),chrg(8) real*8 permfp,cc,ee,pi,twopi,piov2,avagn,relcl,mass,chrg,j01 ! common/CONTROL/bzfldprd,stepmin,stepmax,betaperp, & epsf,epsreq,epsstep, & pzmintrk,timelim,bunchcut,nuthmin,nuthmax,scalestep, & f9dp,prlevel,phasemodel, & prnmax,bgen,dectrk,fsav,goodtrack,ffcr,npskip, & beep,spin,spintrk,varstep,rnseed,neighbor,ntuple, & magconf,mapdef,output1,spinmatter,neutrino,nnudk, & rtuple,rtuplen,fsavset,rfdiag,rfphase,npart,phantom, & izfile,nprnt,nsections,run_env,steprk,termout,forcerp, & summary,diagref real*8 bzfldprd,stepmin,stepmax,nuthmin,nuthmax real*8 betaperp,epsf,epsreq,epsstep,pzmintrk,timelim,bunchcut real*8 scalestep integer magconf, mapdef, neutrino, nnudk integer npart,npskip,izfile, nprnt, nsections integer rfdiag,rfphase,rnseed,prlevel,rtuplen,phasemodel, & prnmax,spintrk,spinmatter,f9dp logical bgen,goodtrack,ffcr,neighbor,ntuple,varstep,fsav, & spin,rtuple,fsavset,dectrk,beep,output1,run_env,steprk, & termout,forcerp,phantom,summary,diagref ! common/COVARS/emit6(100),emit4(100),emitl(100),canang(100), & betper(100),ncovar,icvdes(100) real*8 emit6,emit4,emitl,canang,betper integer ncovar, icvdes ! common/CURRENT/dzelgr(mxcel),zlelgr(mxcel),relgr(mxcel), & r2elgr(mxcel),curelgr(mxcel),fcelgr,nelgr real*8 dzelgr,zlelgr,relgr,r2elgr,curelgr,fcelgr integer nelgr ! common/DENDAT/densfac,adenp,bdenp,cdenp,ddenp,dirdenp real*8 densfac,adenp,bdenp,cdenp,ddenp integer dirdenp ! common/DENDATC/matdens,matdenp character*4 matdens,matdenp ! common/DVARS/var(40) real*8 var ! common/DVARSC/labvar(40) character*3 labvar ! common/EMITS/emitx(100),emity(100),emitz(100), & emevt(100),emevcut(100),sig_cut, & nemit,iemdes(100),ipzcor,sigmacut,pxycorr,discorr,edetail real*8 emitx,emity,emitz,emevt,emevcut,sig_cut integer nemit,iemdes,ipzcor logical sigmacut,pxycorr,discorr,edetail ! common/ENVELOPE/env_pz,env_emit,env_beta,env_alpha, & env_angm,env_N,env_gauss,env_eL,env_decay real*8 env_pz,env_emit,env_beta,env_alpha,env_angm, & env_N,env_gauss,env_eL logical*4 env_decay ! common/FIELDS/efld(3),bfld(3),ncrvfld real*8 efld,bfld integer ncrvfld ! common/FLAG/iflag integer iflag ! common/FLTPNT/dbleps double precision dbleps ! common/HELIXDAT/radiushx,alphahx,phi0hx,rrhx,phihx,sshx real*8 radiushx,alphahx,phi0hx,rrhx,phihx,sshx ! common/HIST/hxmin(20),hdx(20),nhbins(20),ihvar(20),ihdes(20), & lhpnt(20),ihcon(20),ihund(20),ihovf(20),hval(1000), & nhist,hauto,hcprn real*8 hxmin,hdx integer nhbins, ihvar, ihdes, lhpnt, ihcon, ihund, ihovf, nhist integer hval,hcprn logical hauto ! common/HORNDAT/zhorn(mxptshorn,2),rihorn(mxptshorn,2), & rohorn(mxptshorn,2),curhorn(2),nptshorn(2) real*8 zhorn,rihorn,rohorn,curhorn integer nptshorn ! common/INITIAL/xpintpar(3,mxpar),ppintpar(3,mxpar), & tpintpar(mxpar),polinitpar(3,mxpar) real*8 xpintpar,ppintpar,tpintpar,polinitpar ! common/INTDAT/dcute,dcutm,facfms,facmms,pdelev4, & chiccmcs,densat,drnorm,parbunsc,rbeamsc,rwallsc, & wanga,wangb,wangc,wangd,wangpmx,wangfmx,wtmol, & zsmcs,zemcs, & ldedx,lscatter,lbrem,linteract,ldecay,lspace,ldray,lstrag, & lelms,lsamcs, & delev,scatlev,bremlev,intlev,declev,spacelev, & draylev,fastdecay,straglev,elmscor real*8 pdelev4,dcute,dcutm,facfms,facmms real*8 chiccmcs,densat,drnorm,parbunsc,rbeamsc,rwallsc real*8 wanga,wangb,wangc,wangd,wangpmx,wangfmx,wtmol real*8 zsmcs,zemcs logical ldedx,lscatter,lbrem,linteract,ldecay,lspace,ldray, & lstrag,fastdecay,lelms,lsamcs integer delev,scatlev,bremlev,intlev,declev,spacelev, & draylev,straglev,elmscor ! ! common/INTDATC/elmsdir,elmsroot ! character*50 elmsdir,elmsroot ! common/MAGMAPS/z1mc(1000),dzmc(1000),r1mc(1000), & drmc(1000),curdmc(1000), & z1md(100),dzmd(100),drmd(100), & dzcutmd(100),nmagmc,nshmc(1000),nmapmd,nzmd(100),nrmd(100) real*8 z1mc,dzmc,r1mc,drmc,curdmc,z1md,dzmd,drmd,dzcutmd integer nmagmc,nshmc,nmapmd,nzmd,nrmd ! common/MATDATA/matdat(22,19),nmat real*8 matdat integer nmat ! common/MATDATAC/matid(19) character*4 matid ! common/MULTCOF/bsp0,bsp1,bsp2,bsp3,bsp4,bsp5, & b0p0,b0p1,b0p2,b0p3,b0p4,b0p5, & b1p0,b1p1,b1p2,b1p3,b1p4, & b2p0,b2p1,b2p2,b2p3,b3p0,b3p1,b3p2,b4p0,b4p1,b5p0, & a0p0,a0p1,a0p2,a0p3,a0p4,a0p5, & a1p0,a1p1,a1p2,a1p3,a1p4, & a2p0,a2p1,a2p2,a2p3,a3p0,a3p1,a3p2,a4p0,a4p1,a5p0 real*8 bsp0,bsp1,bsp2,bsp3,bsp4,bsp5, & b0p0,b0p1,b0p2,b0p3,b0p4,b0p5, & b1p0,b1p1,b1p2,b1p3,b1p4, & b2p0,b2p1,b2p2,b2p3,b3p0,b3p1,b3p2,b4p0,b4p1,b5p0, & a0p0,a0p1,a0p2,a0p3,a0p4,a0p5, & a1p0,a1p1,a1p2,a1p3,a1p4, & a2p0,a2p1,a2p2,a2p3,a3p0,a3p1,a3p2,a4p0,a4p1,a5p0 ! common/MULTOA/soa(mxmul),hoa(mxmul),bsoa(mxmul), & a0oa(mxmul),b0oa(mxmul), & a1oa(mxmul),b1oa(mxmul),a2oa(mxmul),b2oa(mxmul), & a3oa(mxmul),b3oa(mxmul),a4oa(mxmul),b4oa(mxmul), & a5oa(mxmul),b5oa(mxmul) real*8 soa,hoa,bsoa,a0oa,b0oa,a1oa,b1oa,a2oa,b2oa,a3oa,b3oa, & a4oa,b4oa,a5oa,b5oa ! common/NEIGH/sr0nb(100),fparnb(15,100),i7regnb(100),nregnb real*8 sr0nb,fparnb integer i7regnb,nregnb ! common/NEIGHC/tagnb(100) character*4 tagnb ! common/NDUCT/tinduc(mxnbx),vinduc(mxnbx),tstepnd real*8 tinduc,vinduc,tstepnd ! common/PART/xpar(3,mxpar),ppar(3,mxpar),polpar(3,mxpar), & tpar(mxpar),sarcpar(mxpar),evtwtpar(mxpar),bzfldpar(mxpar), & ievtpar(mxpar), & ipnumpar(mxpar),iptypar(mxpar),ipflgpar(mxpar) real*8 xpar,ppar,polpar,tpar,sarcpar,evtwtpar,bzfldpar integer ievtpar, ipnumpar, iptypar, ipflgpar ! common/POLAR/polx(100),poly(100),polz(100),helic(100) real*8 polx,poly,polz,helic ! common/PSEUDO/rkval(100),rkazm(100),rkphi(100), & val1ps,val2ps,val3ps,val4ps, & fparps(15),nrkval,jrkval,ival1ps,ival2ps,ival3ps real*8 rkval,rkazm,rkphi,val1ps,val2ps,val3ps,val4ps,fparps integer nrkval,jrkval,ival1ps,ival2ps,ival3ps ! common/PSEUDOC/matps,rkmat(100) character*4 matps,rkmat ! common/REFPART/xpref(3),ppref(3),tpref,trefmean,sarcref, & xp2ref(3),pp2ref(3),tp2ref,t2refmean,sarc2ref, & zbref,pbref,tbref,zb2ref,pb2ref,tb2ref,typref, & v1ref,v2ref,v3ref,v1ref2,v2ref2,v3ref2, & z0pmref,pzrefmean, & iptyp2ref,ipflg2ref,ref2par, & iptypref,ipflgref,refpar,phmodref real*8 xpref,ppref,tpref,trefmean,zbref,pbref,tbref,sarcref real*8 zb2ref,pb2ref,tb2ref,sarc2ref real*8 xp2ref,pp2ref,tp2ref,t2refmean real*8 v1ref,v2ref,v3ref,v1ref2,v2ref2,v3ref2 real*8 z0pmref,pzrefmean,typref integer iptyp2ref,ipflg2ref,iptypref,ipflgref integer refpar,phmodref,ref2par ! common/REGNDAT/slen,saccum,zstep, & cellslp,cfparm(15),rlow(4),rhigh(4),fparm(15,4),gparm(10,4), & mparm(10,4),nfparm,ngparm,nregions,nrreg, & cellflip real*8 slen,saccum,zstep,cellslp,cfparm,rlow,rhigh,fparm real*8 gparm,mparm integer nfparm, ngparm, nregions, nrreg logical cellflip ! common/REGNDATC/cftag,ftag(4),mtag(4),mtag2(4),mtag3(4),mgeom(4) character*4 cftag,ftag,mtag,mtag2,mtag3 character*6 mgeom ! common/RFDAT/freqrf,omrf,phase,emagrf,phaserf,ezrf,bphirf, & dphaserf,t0_il,dt_il,tparmean,pzparmean,zparmean, & bphi,firstrf real*8 freqrf,omrf,phase,emagrf,phaserf,ezrf,bphirf,bphi real*8 dphaserf,t0_il,dt_il,tparmean,pzparmean,zparmean logical firstrf ! common/RZRFGRID/ezcrf(mxrcrf,mxzcrf),ercrf(mxrcrf,mxzcrf), & bpcrf(mxrcrf,mxzcrf),zcrf(mxzcrf),rcrf(mxrcrf), & z2crf,rccrf,dzcrf,drcrf,ascrf,sfnrm,nrcrf,nzcrf real*8 ezcrf,ercrf,bpcrf,zcrf,rcrf,z2crf,rccrf,dzcrf,drcrf real*8 ascrf,sfnrm integer nrcrf,nzcrf ! ! Set up for 10 R-histories, 70 points common/RHIST/rhymin(10),rhymax(10),rhyval(70,4,10), & rhauto,rhprin, & nrhist,irhzmax(10),irhyvar(10),irhzmin(10),irhdz(10) real*8 rhymin,rhymax,rhyval logical rhauto,rhprin integer nrhist,irhzmax,irhyvar,irhzmin,irhdz ! common/RZGRID/bzgr(mxzgr,mxrgr,4),brgr(mxzgr,mxrgr,4), & zgr(mxzgr,4),rgr(mxrgr,4),delzgr(4),delrgr(4), & nzgr(4),nrgr(4) real*8 bzgr,brgr,zgr,rgr,delzgr,delrgr integer nzgr, nrgr ! common/SCAT/sxmin(20),symin(20),sdx(20), & sdy(20),nsxbin(20),nsybin(20),isxvar(20),isyvar(20), & isxdes(20),isydes(20),lspnt(20),iscon(20),isxund(20), & isyund(20),isxovf(20),isyovf(20),sauto, & sval(23000),nscat real*8 sxmin,symin,sdx,sdy integer nsxbin, nsybin, isxvar, isyvar, isxdes, isydes integer lspnt, iscon, isxund, isyund, isxovf, isyovf integer*2 sval logical sauto integer nscat ! ! jpar..jsrg increment continuously; kcel,krad are reset common/SIMUL/xp(3),pp(3),pol(3),tp,sarc,evtwt,zlostart, & xpint(3),ppint(3),polinit(3),tpint,axbmt(3),ss0,sc0,sr0, & bzfld,pmass,pcharge,htrk,hptrk,gtrk,gptrk,tortion,dpyedge, & dsffag, & ievt,ipnum,iptyp,ipflg,irnarg,jfieldon,ihwin,ipstart,ngoodp, & jpar,jsec,jcel,jsrg,kcel,jpsr,nfail,nrlines,nplines,isffile, & krad,kbcell,kbbkg,n7records,j7rec,jknt,nbffag, & loutput,ncurved,ncrvreg,ncrvcell,ncrvback, & edge1,edge2,edgekick,refreg2 real*8 xp,pp,pol,tp,sarc,evtwt,xpint,ppint,polinit,tpint real*8 bzfld,axbmt,ss0,sc0,sr0,pmass,pcharge,zlostart real*8 htrk,hptrk,gtrk,gptrk,tortion,dpyedge,dsffag integer ievt,ipnum,iptyp,ipflg,irnarg,jfieldon,ihwin integer jpar,jsec,jcel,jsrg,kcel,jpsr,nfail,ipstart,ngoodp integer krad,kbcell,kbbkg,n7records,j7rec,jknt,nbffag integer nrlines,nplines,isffile integer ncurved,ncrvreg,ncrvcell,ncrvback logical loutput,edge1,edge2,edgekick logical refreg2 ! common/SIMULC/sft,ft,mt,mgt character*4 sft,ft,mt character*6 mgt ! common/SPACE/radsc,slongsc,srbsc,szbsc,frfbunsc real*8 radsc,slongsc,srbsc,szbsc,frfbunsc ! integer kxor,kyor,ksor parameter ( kxor=5, kyor=5, ksor=5 ) ! max spline order integer nxbf,nybf,nsbf parameter ( nxbf=21, nybf=21, nsbf=99 ) ! max # of spline basis functions common/SPLINE/sknotsp(nxbf+nybf+nsbf+kxor+kyor+ksor), & cbxsp(nxbf*nybf*nsbf),cbysp(nxbf*nybf*nsbf), & cbssp(nxbf*nybf*nsbf),nbfsp(3),nordsp(3),msksp,mcbsp real*8 sknotsp,cbxsp,cbysp,cbssp integer nbfsp,nordsp,msksp,mcbsp ! common/STATS/st(7,20),stsp(14,20) real*8 st,stsp ! common/STEP/fixstep,hdid,sdid,hnextf,hnextde,hnextms,hregn, & xp0(3),pp0(3),tp0,pol0(3) real*8 fixstep,hdid,sdid,hnextf,hnextde,hnextms,hregn real*8 xp0,pp0,tp0,pol0 ! common/TAPER/slentap,apertap,freqtap,gradtap,acctap, & uwtap,zwtap,widthtap,heighttap,pertap, & ftap(300),ncelltap,jctap,kdiagtap real*8 slentap,apertap,freqtap,gradtap,acctap,ftap,pertap real*8 uwtap,zwtap,widthtap,heighttap integer ncelltap,jctap,kdiagtap ! common/TIMER/iday0,ihr0,imin0,isec0 integer*2 iday0,ihr0,imin0,isec0 ! common/TRANSPRT/trprt(6,6) real*8 trprt ! common/VERS/version character*16 version ! common/XYSGRID/bxgr(mxxg,mxyg,mxsg),bygr(mxxg,mxyg,mxsg), & bsgr(mxxg,mxyg,mxsg), & exgr(mxxge,mxyge,mxsge),eygr(mxxge,mxyge,mxsge), & esgr(mxxge,mxyge,mxsge) real*8 bxgr,bygr,bsgr,exgr,eygr,esgr ! common/XYSGRID2/xgr(mxxg),ygr(mxyg),sgr(mxsg),htrkgr(mxsg), & gtrkgr(mxsg),xlogr,dxgr,ylogr,dygr,slogr,dsgr,hmap, & nxgr,nygr,nsgr real*8 xgr,ygr,sgr,htrkgr,gtrkgr real*8 xlogr,dxgr,ylogr,dygr,slogr,dsgr,hmap integer nxgr,nygr,nsgr ! ! Set up for 20 z-histories, 10 particles, 70 points common/ZHIS1/zhxmin(20),zhdx(20), & zhymin(20),zhymax(20),zhxcur(0:10,20),zhxmax(20),izhyvar(20), & nzhist,nzhpar(20),nzhxbin(20),izhknt(0:10,20),zhauto,zhprin real*8 zhxmin,zhdx,zhymin,zhymax,zhxcur,zhxmax integer izhyvar, nzhist, nzhpar, nzhxbin, izhknt logical zhauto,zhprin ! common/ZHIS2/zhxval(70,0:10,20),zhyval(70,0:10,20) real*8 zhxval,zhyval ! ! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ! ELMS VARIABLES INTEGER maxmom,maxe,vectorlength ! PARAMETER (maxe=1202) PARAMETER (maxmom = 138) !max number of momenta PARAMETER (vectorlength = 3000001) !Maximum number db entries in core ! ! PARAMETER (maxe=1) ! PARAMETER (maxmom = 1) !max number of momenta ! PARAMETER (vectorlength = 1) !Maximum number db entries in core ! common/myelms/mtmdb,thkdb,colprobperm,eslope,pslope, & map3,meanex,meanp2x,escale,pscale,probarray,factore,factorp, & elmsmass, & elmsde,dptelms,normelms,randvw(2), & firstpoint,lastpoint,pdone,npdone, & calculated ! c actual number of momenta, db-pointers to first/last REAL*8 mtmdb(maxmom), thkdb(maxmom) REAL*8 colprobperm(maxmom), eslope(maxmom),pslope(maxmom) REAL*8 map3(maxe),meanex(maxmom),meanp2x(maxmom) REAL*8 escale(maxe), pscale(maxe), & factore, factorp !indexed dp2, dp values. c database in RAM REAL*8 probarray(vectorlength),elmsmass REAL elmsde(vectorlength),dptelms(vectorlength),normelms(maxmom) real randvw INTEGER firstpoint(maxmom), lastpoint(maxmom) INTEGER npdone, pdone(maxmom) INTEGER calculated(maxmom) ! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +