org.wdssii.core
Class Radial

java.lang.Object
  extended by org.wdssii.core.Radial

public class Radial
extends Object

Author:
lakshman

Field Summary
private  float azimuthalSpacing
           
private  float beamWidth
           
private  float gateWidth
           
private  float nyquist
           
private  float startAzimuth
           
private  CVector unitVector
           
private  float[] values
           
 
Constructor Summary
Radial(float startAz, float beamWidth, float azimuthalSpacing, float gateWidth, float nyquist, float[] values)
          in degrees and kilometers.
Radial(Radial master)
          Creates a completely separate copy of the data so that the master can change without affecting this value.
 
Method Summary
 boolean contains(float az)
           
 float getAzimuthalSpacing()
           
 float getBeamWidth()
          always positive
 float[] getClonedValues()
          returns a completely separate copy of the array.
 float getEndAzimuth()
          the end azimuth is not normalized in range [0,360) -- the rule instead is that the azimuth will be greater than the start azimuth.
 float getGateWidthKms()
          in meters
 CPoint getLocation(float elevation, int gateno, CPoint radar, CVector ux, CVector uy, CVector uz)
           
 float getMidAzimuth()
          the mid azimuth is not normalized in range [0,360) -- the rule instead is that the azimuth will be greater than the start azimuth.
 int getNumGates()
           
 float getNyquist()
          in m/s
 double getRawValue(double range)
          range in kilometers.
 float getStartAzimuth()
          may not be normalized
 CVector getUnitVector(float elevation)
          get the unit vector along the direction of this radial.
 float getValue(int index)
           
 float[] getValues()
           
static float normalizeAzimuth(float az)
          puts the given angle in the range [0,360)
 String toStringDB()
          debugging output
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

values

private float[] values

startAzimuth

private final float startAzimuth

beamWidth

private final float beamWidth

azimuthalSpacing

private final float azimuthalSpacing

nyquist

private final float nyquist

gateWidth

private final float gateWidth

unitVector

private CVector unitVector
Constructor Detail

Radial

public Radial(float startAz,
              float beamWidth,
              float azimuthalSpacing,
              float gateWidth,
              float nyquist,
              float[] values)
in degrees and kilometers. Does not copy array

Parameters:
ny -
-

Radial

public Radial(Radial master)
Creates a completely separate copy of the data so that the master can change without affecting this value.

Parameters:
radial -
Method Detail

normalizeAzimuth

public static float normalizeAzimuth(float az)
puts the given angle in the range [0,360)


contains

public boolean contains(float az)

getValues

public float[] getValues()

getClonedValues

public float[] getClonedValues()
returns a completely separate copy of the array.


getStartAzimuth

public float getStartAzimuth()
may not be normalized


getEndAzimuth

public float getEndAzimuth()
the end azimuth is not normalized in range [0,360) -- the rule instead is that the azimuth will be greater than the start azimuth.


getMidAzimuth

public float getMidAzimuth()
the mid azimuth is not normalized in range [0,360) -- the rule instead is that the azimuth will be greater than the start azimuth.


getBeamWidth

public float getBeamWidth()
always positive


getAzimuthalSpacing

public float getAzimuthalSpacing()

getGateWidthKms

public float getGateWidthKms()
in meters


getValue

public float getValue(int index)

getNumGates

public int getNumGates()

getNyquist

public float getNyquist()
in m/s


getRawValue

public double getRawValue(double range)
range in kilometers.


getUnitVector

public CVector getUnitVector(float elevation)
get the unit vector along the direction of this radial. This method will do the computation only on the first call, and return old values after that, so the elevation is not used after that.


getLocation

public CPoint getLocation(float elevation,
                          int gateno,
                          CPoint radar,
                          CVector ux,
                          CVector uy,
                          CVector uz)

toStringDB

public String toStringDB()
debugging output