DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦d6261114b⟧ TextFile

    Length: 4608 (0x1200)
    Types: TextFile
    Names: »plotdectxt«

Derivation

└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ.
    └─⟦4334b4c0b⟧ 
        └─⟦97b7ffb00⟧ »ryplot« 
            └─⟦this⟧ 

TextFile

;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◀