Package difar.trackedGroups
Class TrackedGroupProcess
java.lang.Object
PamguardMVC.PamProcess
difar.trackedGroups.TrackedGroupProcess
- All Implemented Interfaces:
 PamObserver,ProcessAnnotator
Subscribe to DifarDataBlocks and assign new bearings to groups of whales
- Author:
 - Brian Miller
 
- 
Field Summary
Fields inherited from class PamguardMVC.PamProcess
outputDataBlocks, processName, sampleRate - 
Constructor Summary
ConstructorsConstructorDescriptionTrackedGroupProcess(DifarControl difarControl, PamDataBlock parentDataBlock, String processName)  - 
Method Summary
Modifier and TypeMethodDescriptiongetDifarRangeInfo(TrackedGroupDataUnit trackedGroupDataUnit) Called just before a difar unit is stored.voidnewData(PamObservable o, PamDataUnit dataUnit) Check if a group already exists, and if so add the data to that group.voidpamStart()Called for each process to tell it to start (may not be necessary for processes which are listening for data anyway).voidpamStop()Stops the process.Methods inherited from class PamguardMVC.PamProcess
absMillisecondsToSamples, absSamplesToMilliseconds, addData, addMultiPlexDataBlock, addOutputDataBlock, changedThreading, clearOldData, createAnnotations, destroyProcess, dumpBufferStatus, flushDataBlockBuffers, getAncestorDataBlock, getAnnotation, getChainPosition, getCompatibleDataUnits, getCpuPercent, getFrequencyRange, getLastSourceNotificationObject, getLastSourceNotificationType, getMuiltiplexDataBlock, getNumAnnotations, getNumMuiltiplexDataBlocks, getNumOutputDataBlocks, getObserverName, getObserverObject, getOfflineData, getOfflineData, getOutputDataBlock, getOutputDataBlocks, getPamControlledUnit, getParentDataBlock, getParentDataBlocks, getParentProcess, getProcessCheck, getProcessName, getRawSourceDataBlock, getRawSourceDataBlock, getRequiredDataHistory, getSampleRate, getSourceDataBlock, getSourceProcess, hasOutputDatablock, isCanMultiThread, isExternalProcess, isMultiplex, makePamProcess, masterClockUpdate, noteNewSettings, notifyModelChanged, prepareProcess, prepareProcessOK, processNewBuoyData, receiveSourceNotification, relMillisecondsToSamples, relSamplesToMilliseconds, removeAllDataBlocks, removeAllMultiPlexDataBlocks, removeMultiPlexDataBlock, removeObservable, removeOutputDatablock, resetDataBlocks, saveViewerData, setCanMultiThread, setExternalProcess, setMultiplex, setParentDataBlock, setParentDataBlock, setProcessCheck, setProcessName, setSampleRate, setupProcess, toString, updateData 
- 
Constructor Details
- 
TrackedGroupProcess
public TrackedGroupProcess(DifarControl difarControl, PamDataBlock parentDataBlock, String processName)  
 - 
 - 
Method Details
- 
pamStart
public void pamStart()Description copied from class:PamProcessCalled for each process to tell it to start (may not be necessary for processes which are listening for data anyway).- Specified by:
 pamStartin classPamProcess
 - 
pamStop
public void pamStop()Description copied from class:PamProcessStops the process.- Specified by:
 pamStopin classPamProcess
 - 
getTrackedGroups
 - 
newData
Check if a group already exists, and if so add the data to that group. Otherwise create a new group.- Overrides:
 newDatain classPamProcess
 - 
getDifarRangeInfo
Called just before a difar unit is stored. Looks at other channels that have recently had a data unit stored and decides whether or not they are likely to be the same vocalisation. If they are, calculate a crossed bearing to them both. If > 2 channels do some kind of optimised fit.- Parameters:
 trackedGroupDataUnit-- Returns:
 - information about the range (will already have been put into affected units)
 
 
 -