100 ! Daily calibration log for Varian and AECL linac ! Modified 2/78 to allow entering date (defaults to date of run) ! Modified 12/80 to check input values - D.R.S. ! Modified April 83 to include AECL factors F.Borger ! Mod Oct 83 to log time, print t-p correction factor F.Borger ! Mod Nov 85 to change to task group 21 F.Borger ! Also as of Nov 85 all victoreen values are strictly ! Empirical comparisons since TG21 ingnores vics F.Borger 150 dim d(10),v(10),v$[6](6),u$[10]v,f(8,6),c(10),r(10,10),r1(10) 160 dim m(10),r2(10),a$[10]v,x$[10]v,t$[5],m$[8](8),b$[1] 170 dim s1$[10]v,s2$[10]v,d1(10) 200 open #4,"CALOG."+SBS$(DAT$(),7,2)+"/UP/AP" 210 x$=dat$(0):t$=tim$(0) 220 ! old victoreen data as of 3/25/77 no longer used 221 ! new victoreen data empirical values for 6MV only. 222 ! old farmer still 5.466*.993 = NX=5.428 223 ! keithley November 85 Madison value of NX=4.702 231 ! 6 mev x - old a,b, new a,b, farmer, keithley (not yet changed) 232 data 1.090,0.934,0.949,0.958,5.048,4.350 233 ! 10 mev x - old a,b, new a,b, farmer, keithley 234 data 0.000,0.000,0.000,0.000,5.519,4.718 235 ! 18 mev x - old a,b, new a,b, farmer, keithley 236 data 0.000,0.000,0.000,0.000,5.776,5.026 237 ! 6 mev e - old a,b, new a,b, farmer, keithley 238 data 0.000,0.000,0.000,0.000,5.004,4.360 239 ! 9 mev e - old a,b, new a,b, farmer, keithley 240 data 0.000,0.000,0.000,0.000,4.883,4.253 241 ! 13 mev e - old a,b, new a,b, farmer, keithley 242 data 0.000,0.000,0.000,0.000,4.814,4.193 243 ! 17 mev e - old a,b, new a,b, farmer, keithley 244 data 0.000,0.000,0.000,0.000,4.725,4.116 245 ! 20 mev e - old a,b, new a,b, farmer, keithley 246 data 0.000,0.000,0.000,0.000,4.649,4.050 270 for i=1 to 8 275 for j=1 to 6 : read f(i,j) : print f(i,j); : next j 276 print 279 next i 280 v$(1)="Old A ":v$(2)="Old B ":v$(3)="New A ":v$(4)="New B ":v$(5)="Farmer":v$(6)="Keith." 282 m$(1)=" 6 MEV X" : m$(2)="10 MEV X" : m$(3)="18 MEV X" 284 m$(4)=" 6 MEV E" : m$(5)=" 9 MEV E" : m$(6)="13 MEV E" : m$(7)="17 MEV E" : m$(8)="20 MEV E" 285 df=1 :! assume calibration is not for today 290 input "Date of calibration (mm/dd/yy) (return means today) ",a$ : if len(a$)=0 then a$=dat$(0) : df=0 : goto 380 else da=dcen(a$) : if da<0 then 360 else a$=dat$(da) : goto 380 360 print "You must enter date as mm/dd/yy (month/day/year) please re-enter" : goto 290 380 print "Calibration calculated for ";a$;" done on ";x$;" at ";t$ 385 if df=1 then let t$="00:00" : ! put in null time if not a "live" calib 390 for jj=1 to 3 : print m$(jj);" (";frmt$(jj,2);") "; 391 print m$(jj+3);" (";frmt$(jj+3,2);")" 392 next jj 393 print " ";m$(7);" ( 7)" 394 print " ";m$(8);" ( 8)" 400 input " ";m0 : if m0<1 or m0>8 then print "Answer out or range";chr$(7) : goto 390 410 print "Number of chambers";tab(45); 420 input n : if n<1 or n>10 then print "Answer out of range";chr$(7) : goto 410 430 print "Atmospheric pressure, room temperature deg C";tab(45); 440 input p,t : if p<700 or p>800 then print "Pressure out of range";chr$(7) : goto 430 else if t<18 or t>30 then print "Temperature out of range";chr$(7) : goto 430 445 pc=p*.00016339*t 446 tp=(t+273)/295*760/(p-pc) 447 print "Corrected pressure = ";frmt$(p-pc,5,1);" T-P factor = ";frmt$(tp,5,3) 450 for i=1 to n 460 print "(Chamber ID =) New A(3),New B(4),Farmer(5),Keith.(6)" 470 print "Chamber I.D.";tab(45); 480 input v(i) : if v(i)<3 or v(i)>6 then print "Answer out of range";chr$(7) : goto 460 490 print "Number of readings, number of counts set";tab(45); 500 input m(i),c(i) : if m(i)<1 or m(i)>10 then print "Number of readings out of range";chr$(7) : goto 490 else if c(i)<=0 or c(i)>400 then print "Number of counts out of range";chr$(7) : goto 490 510 r1(0)=0 520 for j=1 to m(i) 530 print "Scale reading";tab(45); 540 input r(i,j) : if r(i,j)<=0 or r(i,j)>250 then print "Scale reading out of range";chr$(7) : goto 530 550 r1(j)=r1(j-1)+r(i,j) 560 next j 570 r2(i)=r1(j)/m(i) 580 p1=p*.00016339*t 590 d(i)=r2(i)*f(m0,v(i))*((t+273)/295)*(760/(p-p1)) 600 d1(i)=d(i)/c(i) 605 print tab(21);"Calibration factor=";tab(45);f(m0,v(i)) 610 print tab(30);"Rad/count=";tab(45);frmt$(d1(i),6,3) 615 set upper on 620 input "Log this data (Yes) or restart (No) ",b$ : if b$="Y" then 650 else if b$="N" then 290 else print "please answer 'Yes' or 'No'" : goto 620 650 print #4,a$;t$;m$(m0);" ";v$(v(i));p,t,d1(i) 660 next i 670 close 4 680 print "All done" 690 exit