pro barrel_sp_make_drm, ss, altitude=altitude, angledist=angledist, whichone=whichone
if not keyword_set(angledist) then angledist=1
case angledist of
1: pitch='iso'
2: pitch='mir'
else: message,'invalid value for angular distribution index.'
endcase
if keyword_set(altitude) then ss.altitude=altitude else altitude=ss.altitude
if altitude eq -1. then message,'altitude undefined.'
if not keyword_set(whichone) then whichone=1
if whichone ne 1 and whichone ne 2 then message,'bad response matrix ID number.'
ctbins = ss.ebins
elebins = ss.elebins
nct = n_elements(ctbins)
nel = n_elements(elebins)
edge_products,ctbins,mean=ctmean,width=ctwidth
edge_products,elebins,mean=elmean,width=elwidth
drm = fltarr(nel-1,nct-1)
for i=0, nel-2 do begin
row = barrel_sp_drm_row(altitude,elmean[i],ctbins,pitch=pitch)
drm[i,*] = row
endfor
ss.elebins = elebins
if whichone eq 1 then begin
ss.drm = drm
ss.drmtype = angledist
endif else begin
ss.drm2 = drm
ss.drm2type = angledist
endelse
end