subroutine output(ne,nbuffer,outcor,nsize,mt) c------------------------------------------------------------------------ save c include 'param_sz.h' include 'constcom.h' include 'coordcom.h' include 'ncordscom.h' include 'outcom.h' include 'syscom.h' include 'tstepcom.h' include 'ucom.h' c common/back/bmax,byz0,byzs,pzowmin,pzowmax,iback common/cout7/corout7(6,imaa),bgs,nelal,nbufl,iout7 common/ct/var,rp,dzmin,dzmax,wrm,dwbm,xrmsbg,yrmsbg, 1xsmax,xpsmax,ysmax,ypsmax,istat,nebm dimension outcor(8,nsize) c-------------------------------------------------------------------------- c* data iflagb/0/ if(ne.gt.0) then print *,' element of ref. part. is ',ne endif if (iflagb.ne.0)go to 9 iflagb=1 write(nnout,*)' ' write(nnout, 5) 5 format(' ne np ref phase zr zr-zmin zmax-zr' * , ' Wr Wmin Wmax') write(nnout,6) 6 format(' deg cm deg deg ' * , ' MeV MeV MeV') 9 continue c for snap-shot if(cord(7,1).le.5.) then do 3 i=1,ngood write(nsnap) wt,(cord(j,i),j=1,6,2) 3 continue endif if (ne.ne.0) go to 20 rp=wt prm=amod(wt,360.) np=ngood zr=cord(5,1) zmin=zr zmax=zr bgmax=cord(6,1) bgmin=bgmax xsmin=cord(1,1) xsmax=xsmin xpsmin=cord(2,1) xpsmax=xpsmin ysmin=cord(3,1) ysmax=ysmin ypsmin=cord(4,1) ypsmax=ypsmin do 15 n=1,ngood if(cord(1,n).lt.xsmin)xsmin=cord(1,n) if(cord(1,n).gt.xsmax)xsmax=cord(1,n) if(cord(2,n).lt.xpsmin)xpsmin=cord(2,n) if(cord(2,n).gt.xpsmax)xpsmax=cord(2,n) if(cord(3,n).lt.ysmin)ysmin=cord(3,n) if(cord(3,n).gt.ysmax)ysmax=cord(3,n) if(cord(4,n).lt.ypsmin)ypsmin=cord(4,n) if(cord(5,n).lt.ypsmax)ypsmax=cord(4,n) if(cord(5,n).lt.zmin)zmin=cord(5,n) if(cord(5,n).gt.zmax)zmax=cord(5,n) if(cord(6,n).lt.bgmin)bgmin=cord(6,n) if(cord(6,n).gt.bgmax)bgmax=cord(6,n) 15 continue wrm=(sqrt(1.+cord(6,1)**2)-1.)*erest wmin=(sqrt(1.+bgmin**2)-1.)*erest wmax=(sqrt(1.+bgmax**2)-1.)*erest dzmin=zr-zmin dzmax=zmax-zr go to 30 20 continue np=nbuffer rp=pr(ne) prm=amod(rp,360.) zr=zloc(ne) zmin=rp zmax=rp wrm=wr(ne) wmin=wrm wmax=wrm xsmin=outcor(1,1) xsmax=xsmin xpsmin=outcor(2,1) xpsmax=xpsmin ysmin=outcor(3,1) ysmax=ysmin ypsmin=outcor(4,1) ypsmax=ypsmin if(nbuffer.gt.nsize)then write(ndiag,*)'nbuf greater than nsize in output',nbuffer,nsize nbuffer=nsize endif do 25 n=1,nbuffer if(outcor(1,n).lt.xsmin)xsmin=outcor(1,n) if(outcor(1,n).gt.xsmax)xsmax=outcor(1,n) if(outcor(2,n).lt.xpsmin)xpsmin=outcor(2,n) if(outcor(2,n).gt.xpsmax)xpsmax=outcor(2,n) if(outcor(3,n).lt.ysmin)ysmin=outcor(2,n) if(outcor(3,n).gt.ysmax)ysmax=outcor(3,n) if(outcor(4,n).lt.ypsmin)ypsmin=outcor(4,n) if(outcor(5,n).lt.zmin)zmin=outcor(5,n) if(outcor(5,n).gt.zmax)zmax=outcor(5,n) if(outcor(6,n).lt.wmin)wmin=outcor(6,n) if(outcor(6,n).gt.wmax)wmax=outcor(6,n) 25 continue dzmin=rp-zmin dzmax=zmax-rp 30 continue dwbm=wmax-wmin nebm=ne write(nnout, 35)ne,np,rp,prm,zr,dzmin,dzmax,wrm,wmin,wmax 35 format(i4,i5,f8.1,'(',f4.0,')',3f8.1,3f8.3) do 5994 ii=1,nbuffer do 5995 iii=1,6 if(ne.eq.0) then corout7(iii,ii)=cord(iii,ii) else corout7(iii,ii)=outcor(iii,ii) endif 5995 continue 5994 continue bgs=sqrt(wrm/erest*(2.+wrm/erest)) nbufl=nbuffer nelal=ne if(ne.gt.0) then iout7=iout7+1 call outlaldp ! output iout7=iout7+1 else endif nsub=optcon(1) if(nsub.eq.1)call out1(ne,nbuffer,outcor,nsize) if(nsub.eq.2)call out2(ne,nbuffer,outcor,nsize) if(nsub.eq.3)call out3(ne,nbuffer,outcor,nsize) if(nsub.eq.4)call out4(ne,nbuffer,outcor,nsize) if(nsub.eq.5)call out5(ne,nbuffer,outcor,nsize) if(nsub.eq.6)call out6dp(1,1) return end c++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*