|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 4608 (0x1200) Types: TextFile Names: »plotdectxt«
└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ. └─⟦4334b4c0b⟧ └─⟦97b7ffb00⟧ »ryplot« └─⟦this⟧
;ali time 5 0 lines.2500 (mode list.yes lookup plotdectxt clear plotdec plotdec=set 210 permanent plotdec.13 lookup rydrun if ok.yes mode 10.yes lookup rydlist if ok.yes mode 15.yes clear rydlist rydgtest plotdec=hcalg mode 10.no 15.no list.no) plotdec 1979-04-15 begin boolean plot,continue,printc; integer L,n,l,J,no,i,pmm,max,curve,curvemin,curvemax,maxy; real t,tau,dt,delt,maxval,beta,Mev,slitw,tauf; array pname(1:3),data(1:250); algol list.on copy.plotstate; algol list.off copy.rydseg; algol list.off copy.ryproc; algol list.off copy.alutproc; algol list.off copy.rydstruct; boolean procedure readdecaycurve(data,points,max,L,n,l,J,pmm,tau); integer points,max,L,n,l,J,pmm; real tau; array data; begin integer c,char,j; real maxv; array a(1:10); readstring(in,a,1); readstate(in,L,n,l,J); read(in,pmm,tau); char:=j:=max:=0; maxv:=0; for j:=j+1 while char<>25 and char<>101 and char<>115 do begin read(in,data(j)); if maxv<data(j) then begin maxv:=data(j); max:=j; end; repeatchar(in); for c:=readchar(in,char) while c<>2 and char<>25 and char<>101 and char<>115 do; repeatchar(in); points:=j; end; readdecaycurve:=char=101 or char=25; end readdecaycurve; algol copy.ryglobal; survey:=true; finestruct:=true; readbfp(<:finestruct:>,finestruct); if -,readrfp(<:tauf:>,tauf) then tauf:=1; maxy:=7; list:=false; readbfp(<:list:>,list); readbfp(<:survey:>,survey); survey:=list or survey; if readsfp(<:plotter:>,pname) then setplotname(string inc(pname),0); if -,readbfp(<:plot:>,plot) then plot:=false; list:=list or -,plot; curvemin:=1; curvemax:=maxinteger; if readifp(<:curve:>,curve) then curvemin:=curvemax:=curve; readatsym(in,S,atno,Z); read(in,Mev,slitw); continue:=true; curve:=0; for n:=n while continue do begin curve:=curve+1; printc:=curve>=curvemin; if printc then begin write(out,nl,3); writeatsym(out,S,atno,Z); write(out,sp,2); end; continue:=-,readdecaycurve(data,no,max,L,n,l,J,pmm,tau) and curve<curvemax; tau:=tau*tauf; if printc then begin writestate(out,L,n,l,J); write(out,sp,2); beta:=13.9*sqrt(Mev/atomicmass(atno)); delt:=slitw/beta; dt:=1/beta/pmm/tau; maxval:=data(max); write(out, nl,1,<:Mev = :>,Mev, nl,1,<:points/mm=:>,pmm, nl,1,<:slitwith= :>,slitw, nl,1,<:dt(slit)= :>,delt, <*ns*> nl,1,<:amu = :>,atomicmass(atno), nl,1,<:points = :>,no, nl,1,<:tau ns = :>,<< ddd.dd>,tau, nl,1,<:v mm/ns = :>,<< d.dddddd>,beta, nl,1,<:dt (tau)= :>,<< d.dddd>,dt); if plot then begin plotform(0,25,18); setmargin(0.4,plotyform-2*linediff); writeplot(ff,1); writeatsym(plotz,-1,atno,Z); setposition(plotz,0,0); writeplot(sp,2); plotstate(n,l,S,l,J); setposition(plotz,0,0); writeplot(sp,2,<:<14>t<15>(NCA) = :>,<<ddd.ddd>,tau); plotmove(plotxform-1,plotyform-1); writeplot(<<d>,curve); plotsubform(0,plotxform,0,plotyform-4,false); plotadmini(0,no*dt,0,maxy,0); plotline(max*dt,maxy,max*dt+maxy,0); end plot; for i:=1 step 1 until no do begin t:=i*dt; if data(i)>0 then begin if list then write(out,nl,1,t,ln(data(i)/maxval),data(i)); if plot then plotpoint(t,ln(data(i)/maxval)+maxy,1); end; end; if list then outend(10); end; end; end; mode list.no 15.no ▶EOF◀