! @ P_BEAM &1 BEAM_AZ &2 BEAM_EL ! Plots clean-beam for &1 and &2 ! define character var_ante*3 let var_ante 'exist(beam_az)' if (var_ante.eq."NO") then var ante endif if (beam_az.eq.0) then if (var_ante.eq."NO") then var ante off endif return endif define real box[4] user[4] poly[4,2] let box[1] box_xmin let box[2] box_ymin let box[3] box_xmax let box[4] box_ymax g\set box box[1] box[1]+0.2*(box[3]-box[1]) box[2] box[2]+0.2*(box[4]-box[2]) ! let user[1] user_xmin let user[2] user_ymin let user[3] user_xmax let user[4] user_ymax limit user[1] user[1]+0.2*(user[3]-user[1]) user[2] - user[2]+0.2*(user[4]-user[2]) let poly user_xmin user_xmax user_xmax user_xmin - user_ymin user_ymin user_ymax user_ymax polygon poly /variable polygon /fill 7 ! ! RN - 1991 ! ! Call Ellipse with strip-filler by: ! ! @ p_beam 'major' 'minor' ! double double ! def dou a b c mi ma no s u1[2] v1[2] u2[2] v2[2] ca sa u0 v0 angle def int strip let ma beam_az*sec|2 let mi beam_el*sec|2 let strip 3 let u0 user[1]+0.1*(user[3]-user[1]) let v0 user[2]+0.1*(user[4]-user[2]) for i -2*strip to 2*strip let no i*ma|strip let a 1+(mi|ma)**2 let b 2*no let c no*no-mi*mi let s b*b-4*a*c if (s.gt.0) then let s sqrt(s) let u1[1] (-b+s)|(2*a) let u1[2] (-b-s)|(2*a) let v1 u1+no let u2 u1+u0 let v2 v1+v0 conn u2 v2 endif next ellipse mi ma 90 /box abs(box[3]-box[1])*0.1 abs(box[4]-box[2])*0.1 ! box n n n g\set box box[1] box[3] box[2] box[4] limits user[1] user[3] user[2] user[4] ! if (var_ante.eq."NO") then var ante off endif