pro plotiss,sharp,prn,title=title
;
progver = 'PLOTISS Ver 2.3'
;
printer=['lp '] ;print to HPLJ4
;printer=['lpr ','lp ','lp -dmdilj4 '] ;print to: LPS20, LN03 or HPLJ4
if n_elements(prn) eq 0 then prn=0
if NOT keyword_set(title) then title=' '

fqcy=['1 Hz','10 Hz','45 Hz']
frq=[0,1,10,45]
amp=[0,100,400,1000]
opn1=[1,2,5,6]
opn10=[1,13,10,9]
opn45=[1,14,17,18]
opnran=[1,25,22,21]
cls1=[0,3,4,7]
cls10=[0,12,11,8]
cls45=[0,15,16,19]
clsran=[0,24,23,20]

v1 = (sharp(0,cls1)/sharp(0,0))  / (sharp(0,opn1)/sharp(0,1))    
v2 = (sharp(0,cls10)/sharp(0,0)) / (sharp(0,opn10)/sharp(0,1))   
v3 = (sharp(0,cls45)/sharp(0,0)) / (sharp(0,opn45)/sharp(0,1))   
str1 = 'C/O @1000  !c' + string('1: ', v1(3), '10: ', v2(3), '45: ', v3(3), format='(3(1x,a,f5.3))')

!y.style=16
!p.multi=[0,2,2]
mn=min(sharp,max=mx) & mn=mn/sharp(0,0) & mx=mx/sharp(0,1) 

if (prn gt 0) then begin
  print,'Generating & printing "idl.ps"...'
  set_plot,'ps'
  device,/landscape
endif

plot,amp,sharp(0,opn1)/sharp(0,1),tit='SINE-WAVE INPUT; X-sharp.',$
  xtit='Jitter Amplitude (Volt)',ytit='Sharpness Ratio',yran=[mn,mx]
oplot,amp,sharp(0,cls1)/sharp(0,0)
oplot,amp,sharp(0,opn10)/sharp(0,1),linestyle=1
oplot,amp,sharp(0,cls10)/sharp(0,0),linestyle=1
oplot,amp,sharp(0,opn45)/sharp(0,1),linestyle=2
oplot,amp,sharp(0,cls45)/sharp(0,0),linestyle=2
xyouts, 0, !y.crange(1), ' !c ' + str1, /data

v1 = (sharp(1,cls1)/sharp(1,0))  / (sharp(1,opn1)/sharp(1,1))    
v2 = (sharp(1,cls10)/sharp(1,0)) / (sharp(1,opn10)/sharp(1,1))   
v3 = (sharp(1,cls45)/sharp(1,0)) / (sharp(1,opn45)/sharp(1,1))   
str2 = 'C/O @1000  !c' + string('1: ', v1(3), '10: ', v2(3), '45: ', v3(3), format='(3(1x,a,f5.3))')

plot,amp,sharp(1,opn1)/sharp(1,1),tit='SINE-WAVE INPUT; Y-sharp.',$
  xtit='Jitter Amplitude (Volt)',ytit='Sharpness Ratio',yran=[mn,mx]
oplot,amp,sharp(1,cls1)/sharp(1,0)
oplot,amp,sharp(1,opn10)/sharp(1,1),linestyle=1
oplot,amp,sharp(1,cls10)/sharp(1,0),linestyle=1
oplot,amp,sharp(1,opn45)/sharp(1,1),linestyle=2
oplot,amp,sharp(1,cls45)/sharp(1,0),linestyle=2
xyouts, 0, !y.crange(1), ' !c ' + str2, /data

v1 = sharp(0,opnran)/sharp(0,1)
v2 = sharp(0,clsran)/sharp(0,0)
v3 = sharp(1,opnran)/sharp(1,1)
v4 = sharp(1,clsran)/sharp(1,0)
r1 = v2/v1
r2 = v4/v3
str1 = 'C/O @1000  ' + string('Ran: ', r1(3),  format='(a,f5.3)')
str2 = 'C/O @1000  ' + string('Ran: ', r2(3),  format='(a,f5.3)')
;
plot,amp,sharp(0,opnran)/sharp(0,1),tit='RANDOM INPUT (256Hz limited); X-sharp.',$
  xtit='Jitter Amplitude (Volt)',ytit='Sharpness Ratio',yran=[mn,mx]
oplot,amp,sharp(0,clsran)/sharp(0,0)
xyouts, 0, !y.crange(1), ' !c ' + str1, /data

plot,amp,sharp(1,opnran)/sharp(1,1),tit='RANDOM INPUT (256Hz limited); Y-sharp.',$
  xtit='Jitter Amplitude (Volt)',ytit='Sharpness Ratio',yran=[mn,mx]
oplot,amp,sharp(1,clsran)/sharp(1,0)
xyouts, 0, !y.crange(1), ' !c ' + str2, /data

xyouts,/norm,0,1.05,title
for i=0,2 do begin
  plots,/norm,[0+i*0.33,0.1+i*0.33],[-.05,-0.05],linestyle=i
  xyouts,/norm,0.12+i*0.33,-.05,fqcy(i)
endfor

plottime, 0, 0, progver
plottime

if (prn gt 0) then begin
  device,/close
  ;;set_plot,'x'
  ;;spawn,printer(prn-1)+'idl.ps'
  pprint
endif
!p.multi=0

en