public abstract class HydrophoneLocator
extends java.lang.Object
implements java.io.Serializable, java.lang.Cloneable
The set positions for each hydrophone from the array dialog
The movement of the vessel (e.g. the hydrophone may thread behind the vessel
Any sensor information available, e.g. depth, Terella, etc.
Modifier and Type | Field and Description |
---|---|
static int |
ANGLE_RE_ARRAY |
static int |
ANGLE_RE_NORTH |
static int |
ANGLE_RE_SHIP |
Constructor and Description |
---|
HydrophoneLocator(PamArray pamArray,
Streamer streamer) |
Modifier and Type | Method and Description |
---|---|
abstract java.lang.Double |
getArrayHeading(GpsData gpsData)
Return the heading in degrees of the hydrophone array
|
abstract double |
getArrayHeading(long timeMilliseconds,
int phoneNo)
Get the heading of the array at the given time.
|
abstract LocatorSettings |
getDefaultSettings() |
abstract double[] |
getHydrophoneCoordinateErrors(int iHydrophone,
long timeMilliseconds)
Get the hydrophone coordinate errors as a three element (x,y,z) vector.
|
abstract double[] |
getHydrophoneCoordinates(int iHydrophone,
long timeMilliseconds)
Get the hydrophone coordinates as a three element (x,y,z) vector
referenced to the nominal array position (GPS for towed systems, a fixed point, etc.)
|
abstract LocatorSettings |
getLocatorSettings() |
abstract java.lang.String |
getName() |
abstract double |
getPairAngle(long timeMilliseconds,
int phone1,
int phone2,
int angleType)
Get's the angle between a pair of hydrophones
|
abstract double |
getPairSeparation(long timeMilliseconds,
int phone1,
int phone2)
Gets the distance between a pair of hydrophones in metres.
|
abstract double |
getPhoneHeight(long timeMilliseconds,
int phoneNo)
Get's the depth of a specific hydrophone at a given time.
|
abstract GpsData |
getPhoneLatLong(long timeMilliseconds,
int phoneNo)
Get's the LatLong of a specific hydrophone at a given time.
|
abstract double |
getPhoneTilt(long timeMilliseconds,
int phoneNo)
Get's the tilt of a specific hydrophone at a given time.
|
abstract GpsData |
getReferenceLatLong(long timeMilliseconds)
Gets a reference LatLong for the locator at a given time.
|
abstract boolean |
isChangeable()
Note- changeable refers to the array positions changing relative to each other.
|
abstract boolean |
isStatic() |
abstract void |
notifyModelChanged(int changeType,
boolean initComplete) |
abstract boolean |
setLocatorSettings(LocatorSettings locatorSettings) |
public static final int ANGLE_RE_NORTH
public static final int ANGLE_RE_SHIP
public static final int ANGLE_RE_ARRAY
public abstract LocatorSettings getDefaultSettings()
public abstract java.lang.String getName()
public abstract GpsData getReferenceLatLong(long timeMilliseconds)
timeMilliseconds
- time reference needed forpublic abstract GpsData getPhoneLatLong(long timeMilliseconds, int phoneNo)
timeMilliseconds
- time position needed forphoneNo
- Hydrophone numberpublic abstract double getPhoneHeight(long timeMilliseconds, int phoneNo)
timeMilliseconds
- time depth needed forphoneNo
- Hydrophone numberpublic abstract double getPhoneTilt(long timeMilliseconds, int phoneNo)
timeMilliseconds
- time tilt needed forphoneNo
- Hydrophone numberpublic abstract double getPairAngle(long timeMilliseconds, int phone1, int phone2, int angleType)
timeMilliseconds
- time angle is needed forphone1
- First hydrophonephone2
- Second HydrophoneangleType
- Type of angle - ANGLE_RE_NORTH; ANGLE_RE_SHIP; ANGLE_RE_ARRAY;public abstract double getPairSeparation(long timeMilliseconds, int phone1, int phone2)
timeMilliseconds
- time angle is needed forphone1
- First hydrophonephone2
- Second Hydrophonepublic abstract void notifyModelChanged(int changeType, boolean initComplete)
public abstract double[] getHydrophoneCoordinates(int iHydrophone, long timeMilliseconds)
Hydrophone locators which want to vary location as a function of time should override this function and use the timeMilliseconds parameter to get the true location of the hydrophones in their own way.
iHydrophone
- hydrophone numbertimeMilliseconds
- time of locationpublic abstract double[] getHydrophoneCoordinateErrors(int iHydrophone, long timeMilliseconds)
Hydrophone locators which want to vary this error as a function of time should override this function and use the timeMilliseconds parameter to get the true errors in their own way.
iHydrophone
- hydrophone numbertimeMilliseconds
- time of locationpublic abstract java.lang.Double getArrayHeading(GpsData gpsData)
gpsData
- public abstract double getArrayHeading(long timeMilliseconds, int phoneNo)
timeMillieseconds
- time in milliseconds.phoneNo
- Hydrophone number (the array may be heading in different directions at different places !)public abstract boolean isStatic()
public abstract boolean isChangeable()
public abstract LocatorSettings getLocatorSettings()
public abstract boolean setLocatorSettings(LocatorSettings locatorSettings)