Package Array

Class Streamer

java.lang.Object
Array.Streamer
All Implemented Interfaces:
Serializable, Cloneable, ManagedParameters

public class Streamer extends Object implements Serializable, Cloneable, ManagedParameters
Contains information on an individual streamer -a Streamer is loosely defined as a group of hydrophones who's positions are fixed relative to the streamer. Streamers can have positions, headings, pitch and roll and an offset from their referene position, which will generally be 0,0,-depth for a static system and 0,-hydLengh,-depth for a towing system. Each hydrophone element will belong to one streamer.
Author:
Doug Gillespie
See Also:
  • Field Details

    • serialVersionUID

      public static final long serialVersionUID
      See Also:
    • REF_SHIP_GPS

      public static final int REF_SHIP_GPS
      The streamer doesn't need to hold the reference to the locator though That's held within the MasterLocator - still need to work out how to serialise that with the array settings.
      See Also:
    • REF_BUOY

      public static final int REF_BUOY
      See Also:
  • Constructor Details

    • Streamer

      public Streamer(int streamerIndex, double x, double y, double z, double dx, double dy, double dz)
      Parameters:
      x - x coordinate of streamer (m)
      dx - estimated error on x location of streamer (m)
      dy - estimated error on y location of streamer (m)
      dz - estimated error on z location of streamer (m)
    • Streamer

      public Streamer(int streamerIndex)
    • Streamer

      public Streamer(Streamer firstStreamer, int streamerIndex, String streamerName)
  • Method Details

    • clone

      public Streamer clone()
    • setCoordinates

      public void setCoordinates(double[] coordinates)
    • setCoordinate

      public void setCoordinate(int iCoordinate, double coordinate)
    • getCoordinates

      public double[] getCoordinates()
    • getCoordinate

      public double getCoordinate(int iCoordinate)
    • getCoordinateError

      public double[] getCoordinateError()
    • getCoordinateError

      public double getCoordinateError(int iCoordinate)
    • setCoordinateErrors

      public void setCoordinateErrors(double[] coordinateErrors)
    • setCoordinateError

      public void setCoordinateError(int iCoordinate, double error)
    • getCoordinateVector

      public PamVector getCoordinateVector()
    • getErrorVector

      public PamVector getErrorVector()
    • setX

      public void setX(double x)
    • setY

      public void setY(double x)
    • setZ

      public void setZ(double x)
    • setDx

      public void setDx(double dx)
    • setDy

      public void setDy(double dy)
    • setDz

      public void setDz(double dz)
    • getX

      public double getX()
    • getY

      public double getY()
    • getZ

      public double getZ()
    • getDx

      public double getDx()
    • getDy

      public double getDy()
    • getDz

      public double getDz()
    • getStreamerName

      public String getStreamerName()
    • setStreamerName

      public void setStreamerName(String streamerName)
    • getHydrophoneLocator

      public HydrophoneLocator getHydrophoneLocator()
      Returns:
      the hydrophoneLocator
    • setHydrophoneLocator

      public void setHydrophoneLocator(HydrophoneLocator hydrophoneLocator)
      Parameters:
      hydrophoneLocator - the hydrophoneLocator to set
    • getLocatorSettings

      public LocatorSettings getLocatorSettings()
      Get the settings for the currently set locator method.
      Returns:
      settings for the current locator method.
    • getLocatorSettings

      public LocatorSettings getLocatorSettings(Class locatorClass)
      Get the locator settings for the currently selected hydrophone locator method
      Parameters:
      locatorClass - class for the current locator method
      Returns:
      settings for the specified locator method.
    • setLocatorSettings

      public void setLocatorSettings(LocatorSettings locatorSettings)
      Set the locator settings. Streamer actually holds a list of locator settings for all the different available locators, so will check that list and remove any ones that have the same locator class before adding this to the list.
      Parameters:
      locatorSettings - new locator settings.
    • setOriginSettings

      public void setOriginSettings(OriginSettings originSettings)
      Set the origin settings. Streamer actually holds a list of origin settings for all the different origin types, so will check there aren't any for that type and remove them from the master list before adding these.
      Parameters:
      originSettings - new origin settings to store.
    • getOriginSettings

      public OriginSettings getOriginSettings()
      Get the hydrophone origin settings for the currently selected origin method.
      Returns:
      origin settings for current method
    • getOriginSettings

      public OriginSettings getOriginSettings(Class originClass)
      Get the hydrophone origin settings for a specific origin method class.
      Parameters:
      originClass - origin method class.
      Returns:
      origin settings for that class (or null if there are none).
    • setupLocator

      public void setupLocator(PamArray pamArray)
      Set up the hydrophone locator. Note that only the locatorSettings are serialised in psf files, to it's necessary to construct the actual locator and it's corresponding hydrophone origin system.

      Some locators (such as static, are also no longer used, since they are superseded by a fixed hydrophone origin and a rigid locator.

      Parameters:
      pamArray -
    • getHydrophoneOrigin

      public HydrophoneOriginMethod getHydrophoneOrigin()
      Returns:
      the hydrophoneOrigin
    • setHydrophoneOrigin

      public void setHydrophoneOrigin(HydrophoneOriginMethod hydrophoneOrigin)
      Parameters:
      hydrophoneOrigin - the hydrophoneOrigin to set
    • notifyModelChanged

      public void notifyModelChanged(int changeType, boolean initComplete)
    • makeStreamerDataUnit

      public void makeStreamerDataUnit()
      Make a streamer data unit and add it to the data block.
    • getHeading

      public Double getHeading()
      Returns:
      the heading
    • setHeading

      public void setHeading(Double heading)
      Parameters:
      heading - the heading to set
    • setMagneticHeading

      public void setMagneticHeading(Double heading)
      Set magnetic heading. Will automatically correct to true using geomag stuff.
      Parameters:
      heading - the magnetic heading to set
    • getPitch

      public Double getPitch()
      Returns:
      the pitch in degrees
    • setPitch

      public void setPitch(Double pitch)
      Parameters:
      pitch - the pitch to set in degrees
    • getRoll

      public Double getRoll()
      Returns:
      the roll in degrees
    • setRoll

      public void setRoll(Double roll)
      Parameters:
      roll - the roll to set (degrees)
    • getStreamerIndex

      public int getStreamerIndex()
      Returns:
      the streamerIndex
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getAverage

      public static Streamer getAverage(Streamer sd1, Streamer sd2)
    • weightedAverage

      public static Streamer weightedAverage(Streamer sd1, Streamer sd2, double w1, double w2)
      get a weighted average of two streamer datas. Used when interpolating.
      Parameters:
      sd1 -
      sd2 -
      w1 -
      w2 -
      Returns:
    • getStreamerHydrophones

      public int getStreamerHydrophones()
      Get a list of hydrophones that go with this streamer.
      Returns:
    • equals

      public boolean equals(Streamer s2)
      Check if two streamers have identical values for all parameters
      Parameters:
      s2 -
      Returns:
    • getParameterSet

      public PamParameterSet getParameterSet()
      Description copied from interface: ManagedParameters
      Get a set of data that describes all of the parameters in a class
      Specified by:
      getParameterSet in interface ManagedParameters
      Returns:
      description of the parameters in a class.
    • getOrientationTypes

      public ArrayParameterType getOrientationTypes(ArraySensorFieldType sensorType)
      Parameters:
      sensorType - type of sensor: HEAD, PITCH, ROLL, HEIGHT
      Returns:
      the type of data, which is one of FIXED, DEFAULT or SENSOR
    • setOrientationTypes

      public void setOrientationTypes(ArraySensorFieldType sensorType, ArrayParameterType orientationType)
      Parameters:
      sensorType - type of sensor: HEAD, PITCH, ROLL, HEIGHT
      orientationType - the type of data, which is one of FIXED, DEFAULT or SENSOR
    • getSensorDataBlocks

      public String getSensorDataBlocks(ArraySensorFieldType sensorType)
      Returns:
      the sensorDataBlocks
    • getSensorField

      public Double getSensorField(ArraySensorFieldType sensorType)
      Get a value for one of the four orientation fields.
      Parameters:
      sensorType -
      Returns:
    • setSensorField

      public void setSensorField(ArraySensorFieldType sensorType, Double value)
      Set a value for one of the four orientation fields.
      Parameters:
      sensorType -
    • setSensorDataBlocks

      public void setSensorDataBlocks(ArraySensorFieldType sensorType, String sensorDataBlock)
      Parameters:
      sensorDataBlocks - the sensorDataBlocks to set
    • getSensorManager

      public StreamerSensorManager getSensorManager()
      Get the streamer sensor manager
      Returns: