#!/usr/bin/perl
#======================================================================
# T E S T _ V E L B E A M T O B E A M P A I R
# doc: Thu May 21 13:40:27 2009
# dlm: Thu May 21 15:03:47 2009
# (c) 2009 A.M. Thurnherr
# uE-Info: 89 24 NIL 0 0 72 0 2 4 NIL ofnI
#======================================================================
require "RDI_Coords.pl";
$dta{CONVEX_BEAM_PATTERN} = 1;
$dta{BEAM_ANGLE} = 20;
#---------------------------------------
# Case 1: uplooker, bin 3 pointing south
#---------------------------------------
$dta{ENSEMBLE}[0]->{XDUCER_FACING_UP} = 1;
$dta{ENSEMBLE}[0]->{HEADING} = 180;
$dta{ENSEMBLE}[0]->{PITCH} = 0;
$dta{ENSEMBLE}[0]->{ROLL} = 0;
@RDI = velInstrumentToEarth(\%dta,0,velBeamToInstrument(\%dta,2,1,0,0));
@ant = velBeamToBeamPair(\%dta,0,2,1,0,0);
die("1: $RDI[0] $ant[0]\n")
unless (abs($RDI[0]-$ant[0]) < 1e-6);
@RDI = velInstrumentToEarth(\%dta,0,velBeamToInstrument(\%dta,0,0,1,3));
@ant = velBeamToBeamPair(\%dta,0,0,0,1,3);
die("2: $RDI[1] $ant[2]\n")
unless (abs($RDI[1]-$ant[2]) < 1e-6);
$dta{ENSEMBLE}[0]->{PITCH} = 20;
$dta{ENSEMBLE}[0]->{ROLL} = 0;
@RDI = velInstrumentToEarth(\%dta,0,velBeamToInstrument(\%dta,2,1,2,1));
@ant = velBeamToBeamPair(\%dta,0,2,1,2,1);
die("3: $RDI[0] $ant[0]\n")
unless (abs($RDI[0]-$ant[0]) < 1e-6);
die("4: $RDI[1] $ant[2]\n")
unless (abs($RDI[1]-$ant[2]) < 1e-6);
$dta{ENSEMBLE}[0]->{PITCH} = 0;
$dta{ENSEMBLE}[0]->{ROLL} = 15;
@RDI = velInstrumentToEarth(\%dta,0,velBeamToInstrument(\%dta,-2,-0.5,-2,-0.5));
@ant = velBeamToBeamPair(\%dta,0,-2,-0.5,-2,-0.5);
die("5: $RDI[0] $ant[0]\n")
unless (abs($RDI[0]-$ant[0]) < 1e-6);
die("6: $RDI[1] $ant[2]\n")
unless (abs($RDI[1]-$ant[2]) < 1e-6);
#-----------------------------------------
# Case 1: downlooker, bin 3 pointing south
#-----------------------------------------
$dta{ENSEMBLE}[0]->{XDUCER_FACING_UP} = 0;
$dta{ENSEMBLE}[0]->{HEADING} = 180;
$dta{ENSEMBLE}[0]->{PITCH} = 0;
$dta{ENSEMBLE}[0]->{ROLL} = 0;
@RDI = velInstrumentToEarth(\%dta,0,velBeamToInstrument(\%dta,2,1,0,0));
@ant = velBeamToBeamPair(\%dta,0,2,1,0,0);
die("7: $RDI[0] $ant[0]\n")
unless (abs($RDI[0]+$ant[0]) < 1e-6);
@RDI = velInstrumentToEarth(\%dta,0,velBeamToInstrument(\%dta,0,0,1,3));
@ant = velBeamToBeamPair(\%dta,0,0,0,1,3);
die("8: $RDI[1] $ant[2]\n")
unless (abs($RDI[1]-$ant[2]) < 1e-6);
$dta{ENSEMBLE}[0]->{PITCH} = 20;
$dta{ENSEMBLE}[0]->{ROLL} = 0;
@RDI = velInstrumentToEarth(\%dta,0,velBeamToInstrument(\%dta,2,1,2,1));
@ant = velBeamToBeamPair(\%dta,0,2,1,2,1);
die("9: $RDI[0] $ant[0]\n")
unless (abs($RDI[0]+$ant[0]) < 1e-6);
die("10: $RDI[1] $ant[2]\n")
unless (abs($RDI[1]-$ant[2]) < 1e-6);
$dta{ENSEMBLE}[0]->{PITCH} = 0;
$dta{ENSEMBLE}[0]->{ROLL} = 15;
@RDI = velInstrumentToEarth(\%dta,0,velBeamToInstrument(\%dta,-2,-0.5,-2,-0.5));
@ant = velBeamToBeamPair(\%dta,0,-2,-0.5,-2,-0.5);
die("11: $RDI[0] $ant[0]\n")
unless (abs($RDI[0]+$ant[0]) < 1e-6);
die("12: $RDI[1] $ant[2]\n")
unless (abs($RDI[1]-$ant[2]) < 1e-6);
#----------------------------------------------------------------------
print(STDERR "ok\n");