test_velBeamToBeamPair
changeset 0 229a0d72d2ab
new file mode 100755
--- /dev/null
+++ b/test_velBeamToBeamPair
@@ -0,0 +1,97 @@
+#!/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");