pro slicelines, file_out, z_low, z_high, a_low, a_high, d_low, d_high ; Bo Milvang-Jensen, May 21, 1994. if n_params() eq (0) then begin print print, 'Procedure slicelines' print print, 'Usage:' print, 'slicelines, file_out, z_low, z_high, a_low, a_high, d_low, d_high' print print, 'Description:' print, 'This procedure makes a binary file suitable for the Explorer' print, 'module Line2Geo' print print, 'file_out: output file name' print, 'z_low : minimum redshift value' print, 'z_high : maximum redshift value' print, 'a_low : minimum alpha value' print, 'a_high : maximum alpha value' print, 'd_low : mimimum delta value' print, 'd_high : maximum delta value' print return end a = fltarr(8,3) a(0,0) = z_low ; redshift - point 1 a(0,1) = a_low ; alpha a(0,2) = d_low ; delta a(1,0) = z_high ; point 2 a(1,1) = a_low a(1,2) = d_low a(2,0) = z_low ; point 3 a(2,1) = a_high a(2,2) = d_low a(3,0) = z_high ; point 4 a(3,1) = a_high a(3,2) = d_low a(4,0) = z_low ; point 5 a(4,1) = a_low a(4,2) = d_high a(5,0) = z_high ; point 6 a(5,1) = a_low a(5,2) = d_high a(6,0) = z_low ; point 7 a(6,1) = a_high a(6,2) = d_high a(7,0) = z_high ; point 8 a(7,1) = a_high a(7,2) = d_high a(*,1) = (a(*,1)/180)*!pi ; conversion to radians a(*,2) = (a(*,2)/180)*!pi ; conversion to radians a = new_pol_to_cart(a) ; convert to cartesian coordiantes arcl = 6.0 nal = fix((d_high-d_low)/arcl) al = fltarr(2*(2+nal),3) ; arcs with alpha = constant for i=0, nal+1 do begin ; alpha = a_low al(i,0) = z_high al(i,1) = a_low al(i,2) = d_low + (1.0*i/(nal+1)) * (d_high-d_low) endfor for i=0, nal+1 do begin ; alpha = a_high al(i+nal+2,0) = z_high al(i+nal+2,1) = a_high al(i+nal+2,2) = d_low + (1.0*i/(nal+1)) * (d_high-d_low) endfor al(*,1) = (al(*,1)/180)*!pi ; conversion to radians al(*,2) = (al(*,2)/180)*!pi ; conversion to radians al = new_pol_to_cart(al) ; convert to cartesian coordiantes nde = fix((a_high-a_low)/arcl) de = fltarr(2*(2+nde),3) ; arcs with delta = constant for i=0, nde+1 do begin ; delta = d_low de(i,0) = z_high de(i,1) = a_low + (1.0*i/(nde+1)) * (a_high-a_low) de(i,2) = d_low endfor for i=0, nde+1 do begin ; delta = d_high de(i+nde+2,0) = z_high de(i+nde+2,1) = a_low + (1.0*i/(nde+1)) * (a_high-a_low) de(i+nde+2,2) = d_high endfor de(*,1) = (de(*,1)/180)*!pi ; conversion to radians de(*,2) = (de(*,2)/180)*!pi ; conversion to radians de = new_pol_to_cart(de) ; convert to cartesian coordiantes openw, lun, file_out, /get_lun for i=0, 3 do begin writeu, lun, 2L writeu, lun, a(2*i+0,*) ; points 1, 3, 5 and 7 writeu, lun, a(2*i+1,*) ; points 2, 4, 6 and 8 writeu, lun, 0.50 ; R writeu, lun, 0.50 ; G writeu, lun, 0.50 ; B endfor for i=0, 1 do begin writeu, lun, 1L*(nal+2) for j=0, nal+1 do begin writeu, lun, al(i*(nal+2)+j,*) endfor writeu, lun, 0.50 ; R writeu, lun, 0.50 ; G writeu, lun, 0.50 ; B endfor for i=0, 1 do begin writeu, lun, 1L*(nde+2) for j=0, nde+1 do begin writeu, lun, de(i*(nde+2)+j,*) endfor writeu, lun, 0.50 ; R writeu, lun, 0.50 ; G writeu, lun, 0.50 ; B endfor writeu, lun, -1L close, lun free_lun, lun end