Added new test for de_branch issue, changed az_branch test name to allow for both tests.
Update 11.5.2013 0942

Modified files in an attempt to correct the DE branch point issue.
DE branch points now only produce one eigenray but they are drastically erroneous and therefore need to be corrected.
Moving to another branch until the new issue #43 is resolved as #36 is a dependent.
Update 11.7.2013 1057

With the introduction of looping around the azimuthal boundaries within the spreading_hybrid_gaussian and thus accumulating all possible ray contributions on the first instance of creating an eigenray, it no longer became necessary to search for more eigenrays for the specific target at that instant in time and azimuthal angle, and therefore could break out of the search loop and go to the next target.

This assumption is based that only one eigenray can be created for any given combination of azimuthal angle, time, and target. It present it does as required.
Removed bool to break loop once and eigenray is found as thi was a faulty assumption. It appears that with the looping around the az boundary resolves the production of multiple rays at the branch point appropriately with out this faulty boolean.
Pulled in correct az branch point logic into this branch to continue with de branch point issue.
demo_gui version 2.0 as been added with all necessary m files.
Still investigating the issues with the de branch points and the antisymmetry seen in the computations that are not expected.
Merged updated changes from branch development0.04
Update 12.10.2013 1142

When a target is directly above the source, the assumed corrections for left-handedness fall apart and need further corrections to be taken into account. With the new checks within the spreading_hyrbid logic and is_closest_ray, the wavefront now properly produces a single eigenray when apporiate and at the appropriate time with reasonable values. These new logic introductions show no sign of interference with the az_branch logic or the absence of both logics, aka during beam forming.
Update 12.16.2013

After beginning initial round of testing for integration into development0.04, the usml regression test suite was run. There were 7 failed regression tests. Among these was the eigenray_basic. This test showed that the transmission losses that were produced by the model, were exceeding the accepted variance of 0.1 dB. After further investigation of this anomoly, it was found that the transmission losses were not transitioning smoothly around a bounded azimuthal rayfan (there were discontinuities in the TL plots). This required changes to the way the intensity was calculated.

1) widths in the azimuthal direction now only loop if the az+1 is greater then size of source_az minus one, instead of greater then or equal. This fix prevents the widths for azimuthal contributions from looping prematurely, as the final azimuthal angle is still valid for calculating the correct distance between azimuths.

2) although the corrects added at the start of this branch resolved all issues with az boundary conditions, it failed to address non-bondary conditions, or treated them as the same as boundary conditions. Therefore, it was required that we add additional checks to prohibit the intensity contributions in the azimuthal direction to no longer loop. Doing so, brought the transmission loss calculations back into alignment with the preceived values.

3) two tests were repurposed. The eigenray_de/az_branch_pt tests were redefined to address the two conditions above. This allowed us to investigate in great detail and resolve the issues. The two new tests are eigenray_tl_az and eigenray_tl_grid. Although, eigenray_tl_grid contains in itself a copy of the eigenray_tl_az run, to lesson the time of small azimuthal analysis, an alternate, smaller test was created.

4) after prior assessment, it was determined that the logic in is_closest_ray should only check to see if a point on the wavefront is closer to the target when not on the central depression angle. The reason for this, is that when checking to the left or the right of the central point, it is possible that either the left or right of the purposed CPA could be closer, but on_edge. Since we cannot use on_edge rays for CPAs, it would fail to find the eigenray.

5) finally, in wave_queue.cc, the looping conditions for azimuthal boundaries was not sufficient. Therefore, additional checks were added to ensure that the boundary condition would only be meet when the azimuthal angles really did come full circle.
Update 12.16.2013 1744

Added new matlab routine for the eigenray_tl_grid/az tests
Updated reflection and refraction tests to produce correct tests
Changed dialog for de_branch on wave_queue.h
Added small debugs to reflection_model.cc
Added clear() to constructor of wvector

NOTE: Need to add default values to constructors. If not, it can cause errors like overflow or underflow, because the memory is allocated for the constructors and the values in the memory are always bogus (ie 2.20958892e-218).
Modified matlab code for better interaction with user.
Update 1.7.2014 1033

Added new modified files for pre-release of developement 0.04. Merging changes from developement 0.04 before finalizing branch.
Update 1.7.2014 1056

Merged all changes from development 0.04 and reran tests. All tests complete and pass. With this completion of branch de_branch_pt, issues #43, #42, #36 are now resolved.
Update 1.7.2014 1152

Indented all debug statements for style compliance and corrected namespace implementations.
Removed speed_test studies as it is no longer needed.
Merge branch 'development0.04' of https://github.com/campreilly/UnderSeaModelingLibrary into de_branch_pt
Removed speed_test from the CMake file.
Corrected @return for doxygen generation.
Merge branch 'development0.04' of https://github.com/campreilly/UnderSeaModelingLibrary into de_branch_pt