|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.ObjectArray.PamArray
public class PamArray
Contains information on the hydrophone array. Individual hydrophones ar not given channel numbers - channel numbers are the position of the hydrophone in the arraylist.
This class should eventually be extended so that Hydrophones positions can be updated dynamically and functions added to give distances / angles between them, interpolate the hydrophones position based on the ships track, etc.
Hydrophone,
PamArray,
Serialized Form| Field Summary | |
|---|---|
static int |
ARRAY_TYPE_STATIC
|
static int |
ARRAY_TYPE_TOWED
|
private java.lang.String |
arrayFile
|
private int |
arrayLocator
|
private java.lang.String |
arrayName
|
private int |
arrayType
|
private LatLong |
fixedLatLong
|
private GpsDataUnit |
fixedPointDataUnit
|
private PamDataBlock<GpsDataUnit> |
fixedPointReferenceBlock
|
static int |
HEADING_TYPE_MAGNETIC
|
static int |
HEADING_TYPE_NONE
|
static int |
HEADING_TYPE_SHIP
|
static int |
HEADING_TYPE_TRUE
|
private int |
headingType
|
private java.util.ArrayList<Hydrophone> |
hydrophoneArray
|
private HydrophoneLocator |
hydrophoneLocator
|
static long |
serialVersionUID
|
private double |
speedOfSound
|
private double |
speedOfSoundError
|
private java.util.ArrayList<Streamer> |
streamers
|
static int |
TILT_TYPE_NONE
|
static int |
TILT_TYPE_UPDOWN
|
private int |
tiltType
|
| Constructor Summary | |
|---|---|
PamArray(java.lang.String arrayName,
int arrayType)
|
|
| Method Summary | |
|---|---|
int |
addHydrophone(Hydrophone hydrophone)
|
void |
addStreamer(Streamer streamer)
|
private void |
checkDefStreamer()
|
void |
checkHydrophoneIds()
Ensures that hydrophone numbering in in sequential order |
void |
clearArray()
|
PamArray |
clone()
|
static PamArray |
createSimpleArray(java.lang.String arrayName,
double y0,
double depth,
double separation,
int nElements,
double sensitivity,
double gain,
double[] bandwidth)
Create a simple linear array. |
PamVector |
getAbsHydrophoneVector(int iPhone)
Get the true location vector for a hydrophone element which is the phone vector + the array vector. |
java.lang.String |
getArrayFile()
|
java.lang.String |
getArrayFileName()
|
int |
getArrayLocator()
|
java.lang.String |
getArrayName()
|
int |
getArrayType()
|
double[][] |
getDimensionLimits()
Get the limits of the dimensions of the entire array. |
LatLong |
getFixedLatLong()
|
PamDataBlock<GpsDataUnit> |
getFixedPointReferenceBlock()
|
int |
getHeadingType()
|
Hydrophone |
getHydrophone(int channel)
|
java.util.ArrayList<Hydrophone> |
getHydrophoneArray()
|
int |
getHydrophoneCount()
Gets the size of the hydrophone array which is implicitly the hydrophone count. |
HydrophoneLocator |
getHydrophoneLocator()
|
double[][] |
getLocalGeometry(LatLong referenceLatLong,
long timeMilliseconds)
Gets a local array geometry in metres, based on the reference location and on the locator. |
double[][] |
getLocalGeometry(long timeMilliseconds)
Gets a local array geometry in metres, based on the reference location and on the locator. |
(package private) int |
getNumStreamers()
|
double |
getSeparation(int a1,
int a2)
|
double |
getSeparationError(int a1,
int a2)
Get the error in the separation between two hydrophones along the axis joining the two phones |
double |
getSeparationError(int a1,
int a2,
PamVector direction)
Get the separation error in a given direction |
PamVector |
getSeparationErrorVector(int a1,
int a2)
Gets the error of the separation between two hydrophones as a vector. |
double |
getSeparationInSeconds(int channelMap)
Get the separation of two hydrophones - hopefully, channelMap will contain just two set bits ! |
double |
getSeparationInSeconds(int a1,
int a2)
|
double |
getSpeedOfSound()
|
double |
getSpeedOfSoundError()
|
Streamer |
getStreamer(int row)
|
int |
getStreamerHydrophoneCount(int iStreamer)
|
int |
getTiltType()
|
void |
notifyModelChanged(int changeType)
|
boolean |
removeHydrophone(Hydrophone hydrophone)
|
void |
removeStreamer(int row)
|
void |
setArrayFile(java.lang.String arrayFile)
|
void |
setArrayLocator(int arrayLocator)
|
void |
setArrayName(java.lang.String arrayName)
|
void |
setArrayType(int arrayType)
|
void |
setFixedLatLong(LatLong fixedLatLong)
|
void |
setHeadingType(int headingType)
|
void |
setSpeedOfSound(double speedOfSound)
|
void |
setSpeedOfSoundError(double speedOfSoundError)
|
private void |
setStaticMasterReference()
|
void |
setTiltType(int tiltType)
|
void |
setupFixedPointReferenceBlock()
|
java.lang.String |
toString()
|
int |
updateHydrophone(int oldIndex,
Hydrophone hydrophone)
|
void |
updateStreamer(int iStreamer,
Streamer newStreamer)
|
| Methods inherited from class java.lang.Object |
|---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final int ARRAY_TYPE_TOWED
public static final int ARRAY_TYPE_STATIC
public static final int HEADING_TYPE_NONE
public static final int HEADING_TYPE_TRUE
public static final int HEADING_TYPE_MAGNETIC
public static final int HEADING_TYPE_SHIP
public static final int TILT_TYPE_NONE
public static final int TILT_TYPE_UPDOWN
public static final long serialVersionUID
private java.util.ArrayList<Streamer> streamers
private java.util.ArrayList<Hydrophone> hydrophoneArray
private double speedOfSound
private double speedOfSoundError
private java.lang.String arrayName
private java.lang.String arrayFile
private LatLong fixedLatLong
private int tiltType
private int headingType
private int arrayType
private int arrayLocator
private transient PamDataBlock<GpsDataUnit> fixedPointReferenceBlock
private transient GpsDataUnit fixedPointDataUnit
private transient HydrophoneLocator hydrophoneLocator
| Constructor Detail |
|---|
public PamArray(java.lang.String arrayName,
int arrayType)
| Method Detail |
|---|
public void notifyModelChanged(int changeType)
public int addHydrophone(Hydrophone hydrophone)
public boolean removeHydrophone(Hydrophone hydrophone)
public int updateHydrophone(int oldIndex,
Hydrophone hydrophone)
public Hydrophone getHydrophone(int channel)
public void clearArray()
public java.util.ArrayList<Hydrophone> getHydrophoneArray()
public int getHydrophoneCount()
public int getStreamerHydrophoneCount(int iStreamer)
iStreamer - streamer Id
public void checkHydrophoneIds()
public double getSeparation(int a1,
int a2)
a1 - phone 1a2 - phone 2
public PamVector getAbsHydrophoneVector(int iPhone)
iPhone - hydrophone number
public double getSeparationInSeconds(int channelMap)
channelMap -
public double getSeparationInSeconds(int a1,
int a2)
a1 - phone 1a2 - phone 2
public double getSeparationError(int a1,
int a2)
a1 - phone 1a2 - phone 1
public double getSeparationError(int a1,
int a2,
PamVector direction)
a1 - phone 1a2 - phone 2direction - direction of interest.
public PamVector getSeparationErrorVector(int a1,
int a2)
If the hydrophones are in the same streamer, then the error is the error on the coordinate of each phone added in quadrature, and the streamer error are ignored.
If the hydrophones are in different streamers, then the streamer errors are also incorporated.
a1 - phone number 1a2 - phone number 2
public static PamArray createSimpleArray(java.lang.String arrayName,
double y0,
double depth,
double separation,
int nElements,
double sensitivity,
double gain,
double[] bandwidth)
arrayName - namey0 - y position of first hydrophonedepth - depthseparation - separation between each elementnElements - number of eleemntssensitivity - hydrophone sensitivitygain - preamp gainbandwidth - preamp bandwidth
public double getSpeedOfSound()
public void setSpeedOfSound(double speedOfSound)
speedOfSound - speed of sound in m/spublic double getSpeedOfSoundError()
public void setSpeedOfSoundError(double speedOfSoundError)
public java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.String getArrayFileName()
public PamArray clone()
clone in class java.lang.Objectpublic java.lang.String getArrayFile()
public void setArrayFile(java.lang.String arrayFile)
arrayFile - The arrayFile to set.public LatLong getFixedLatLong()
public void setFixedLatLong(LatLong fixedLatLong)
fixedLatLong - The fixedLatLong to set.private void setStaticMasterReference()
public java.lang.String getArrayName()
public void setArrayName(java.lang.String arrayName)
arrayName - The arrayName to set.public int getArrayType()
public void setArrayType(int arrayType)
arrayType - The arrayType to set.public int getHeadingType()
public void setHeadingType(int headingType)
headingType - The headingType to set.public int getTiltType()
public void setTiltType(int tiltType)
tiltType - The tiltType to set.public PamDataBlock<GpsDataUnit> getFixedPointReferenceBlock()
public void setupFixedPointReferenceBlock()
public HydrophoneLocator getHydrophoneLocator()
public int getArrayLocator()
public void setArrayLocator(int arrayLocator)
public double[][] getLocalGeometry(long timeMilliseconds)
The coordinate system is referenced to the reference latLong of the array locator at timeMilliseconds.
timeMilliseconds - time geometry required for
public double[][] getLocalGeometry(LatLong referenceLatLong,
long timeMilliseconds)
If the array is static, it will generally just return the geometry set in the array dialog
If the array is towed, then it will work out the latlongs of the hydrophones bases on the arraylocator type, it will then convert these back into geometric coordinates relative to the given reference position.
referenceLatLong - reference position for x,y systemtimeMilliseconds - time geometry required for
int getNumStreamers()
private void checkDefStreamer()
public Streamer getStreamer(int row)
public double[][] getDimensionLimits()
public void addStreamer(Streamer streamer)
public void updateStreamer(int iStreamer,
Streamer newStreamer)
public void removeStreamer(int row)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||