Package aris.beams

Class ARISBeamData

java.lang.Object
aris.beams.ARISBeamData
Direct Known Subclasses:
ARISBeams_ARIS1800_1200_48, ARISBeams_ARIS1800_96, ARISBeams_ARIS3000_128, ARISBeams_ARIS3000_64

public abstract class ARISBeamData extends Object
info about ARIS beams for a device. These are not coded in the data, so the software needs to find the correct set of beam data for each device. Might need to flip these for compatibility with Tritech data: https://github.com/SoundMetrics/aris-file-sdk/blob/master/docs/understanding-aris-data.md "in ARIS acoustic sample data beam 0 is the right-most beam, and beams are numbered from right-to-left."
Author:
Doug Gillespie
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected abstract void
    Create the beam list.
    protected void
    DEFINE_BEAMWIDTH3(int beam, double centre, double left, double right)
    Add a beam using the same function call as the name of the def in the source header files so it's easy to copy paste the code from the C headers into Java classes.
    double[]
     
    double[]
    Get the beam centres in radians.
    getBeamData(int nBeams)
    Get the right set of beam data based on the number of beams.
    protected void
    From the array list of detail, make a simple double array of the beam centres in degrees and in radians.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ARISBeamData

      public ARISBeamData()
  • Method Details

    • createBeamList

      protected abstract void createBeamList()
      Create the beam list. This is done through repeated calls to DEFINE_BEAMWIDTH3, once for each beam, copying the C code
    • DEFINE_BEAMWIDTH3

      protected void DEFINE_BEAMWIDTH3(int beam, double centre, double left, double right)
      Add a beam using the same function call as the name of the def in the source header files so it's easy to copy paste the code from the C headers into Java classes.
      Parameters:
      beam -
      centre -
      left -
      right -
    • getCentres

      protected void getCentres()
      From the array list of detail, make a simple double array of the beam centres in degrees and in radians.
    • getBeamCentres

      public double[] getBeamCentres()
      Returns:
      the beamCentres in degrees
    • getBeamData

      public static ARISBeamData getBeamData(int nBeams)
      Get the right set of beam data based on the number of beams.
      Parameters:
      nBeams -
      Returns:
    • getBeamCentresRadians

      public double[] getBeamCentresRadians()
      Get the beam centres in radians.
      Returns:
      the beamCentresRadians