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

⟦d0d196c75⟧ TextFile

    Length: 3840 (0xf00)
    Types: TextFile
    Names: »tplotdec«

Derivation

└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ.  Detaljer om "HC8000" projekt.
    └─⟦0364f57e3⟧ 
        └─⟦b050de23d⟧ »csim« 
└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ.
    └─⟦b2ec5d50f⟧ 
        └─⟦b050de23d⟧ »csim« 
            └─⟦this⟧ 

TextFile

;ali time 5 0 lines.2500

(mode list.yes
lookup rydlist
if ok.yes
mode 15.yes
plotdec=algol
scope day plotdec
finisb
mode 10.no 15.no list.no)
plotdec
1981-03-16
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,xmax,ymax,tmax,
     unit;
array pname(1:3),datax,datay(1:250);
algol list.off 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(datax,datay,points,max,L,n,l,J,pmm,tau);
integer points,max,L,n,l,J,pmm;
real tau;
array datax,datay;
begin
integer c,char,j;
real maxv;
array a(1:10);
  readstring(in,a,1);
  readstate(in,L,n,l,J);
  read(in,pmm);
  unit:=1;
  repeatchar(in);
  readchar(in,char);
  if char='/' then read(in,unit);
  read(in,tau);
  char:=j:=max:=0;
  maxv:=0;
  for j:=j+1 while char<>'em' and char<>'e' and char<>'s' do
  begin
    if pmm=0 then
    begin
      read(in,datax(j),datay(j));
    end else
    begin
      read(in,datay(j));
     end;
    if maxv<datay(j) then
    begin
     maxv:=datay(j);
     max:=j;
    end;
    repeatchar(in);
    for c:=readchar(in,char) while c<>2 and char<>25 and char<>'e'
      and char<>'s' do;
    repeatchar(in);
    points:=j;
  end;
readdecaycurve:=char='e' or char='em';
end readdecaycurve;
algol copy.ryglobal;
readbfp(<:finestruct:>,finestruct,false);
readrfp(<:tauf:>,tauf,1);
maxy:=7;
readbfp(<:list:>,list,false);
readbfp(<:survey:>,survey,true);
survey:=list or survey;
readsfp(<:plotter:>,pname,<:houstona:>);
setplotname(string inc(pname),0);
readbfp(<:plot:>,plot,false);
list:=list or -,plot;
curvemin:=1;
curvemax:=maxinteger;
readrfp(<:tmax:>,tmax,1000);
if readifp(<:curve:>,curve,1) then curvemin:=curvemax:=curve;

readatsym(in,S,atno,Z);
read(in,Mev,slitw);
  continue:=true;
  curve:=0;
  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(datax,datay,
             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*unit;
    maxval:=datay(max);
    write(out,
    "nl",1,<:Mev     = :>,Mev,
    "nl",1,<:points/mm=:>,pmm/unit,
    "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 pmm<>0 then
begin
  for i:=1 step 1 until no do datax(i):=i*dt;
end;
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,
     <: d<14>t<15> = :>,dt);
plotmove(plotxform-1,plotyform-1);
writeplot(<<d>,curve);
plotsubform(0,plotxform,0,plotyform-4,false);
plotadmini(0,if tmax<datax(no) then tmax else datax(no),0,maxy,0);
plotline(datax(max),maxy,datax(max)+maxy,0);
end plot;
for i:=1 step 1 until no do
  begin
  t:=datax(i);
  if datay(i)>0 and t<plotxmax then
  begin
    if list then write(out,"nl",1,t,ln(datay(i)/maxval),datay(i));
    if plot then plotpoint(t,ln(datay(i)/maxval)+maxy,1);
  end;
  end;
if list then outendcur(10);
if plot then plotclose;
end;
  end;
end;
▶EOF◀