pro stack_vis,sc,vis_in

;make stacked modulation and visibility profile plots for poster
;sc: subcollimator or uv circle user wants to plot

;for plot legends
det = string(sc,format='("Subcollimator",1x,1i)')
uv = string(sc,format='("UV Circle",1x,1i)')
det = strcompress(det)
uv = strcompress(uv)
circle = string(sc)
circle = strcompress(circle,/rem)
name = 'profiles_jun17_uv'+circle+'.ps'

;RHESSI data/arrays are zero offset, as is mem_map.pro
sc = sc - 1

;make visibilities and fetch object
vis_in = hsi_vis_usershell(ocbe=ocbe)
stack = ocbe -> getdata()
profile = *stack(sc,0)
counts = profile.count

;weed out the visibilities for selected uv circle/subcollimator
mem_map,vis_in,vis,u,v,image,[sc,sc],2,svis

x = (findgen(288)-144)*(360./288)

;Roll Angle = Position Angle - grid orientation
params = hsi_grid_parameters()
oa = params[sc].orient * !radeg ;orientation angle

;shift to make the counts correspond to the amplitudes plot
;counts = shift(counts,-amp_shift)

;calculate position angle
theta = atan(v,u)*!radeg
temp = sort(theta)
theta = theta(temp)

;calculate Roll Angle
;vis = shift(vis,amp_shift)
roll = shift(theta,-oa)
temp = sort(roll)
roll = roll(temp)

xt = 'Roll Angle (Degrees)'

set_plot,'ps
;device,filename='aug25_mod_prof.ps',xsize=16,ysize=8
device,filename=name,xsize=16,ysize=16
!p.multi = [0,1,2,0,0]
plot,x,counts,xr=[-180,180],xtitle=xt,ytitle='Counts',title='June 17, 2003 Stacked Modulation Profile',/xst
legend,[det,'22:53:10-22:53:40'],box=0
;device,/close

;device,filename='aug25_vis_prof.ps',xsize=16,ysize=8
plot,roll,abs(vis),xr=[-180,180],xtitle=xt,ytitle='Visibility Amplitude',title='June 17, 2003 Amplitudes',psym=-5,/xst
legend,[uv,'22:53:10-22:53:40'],box=0
device,/close
set_plot,'x'
!p.multi = 0

return
end
