public class GridWeight
extends java.lang.Object
SlbmInterface.getWeights()
was called.
When SlbmInterface.getWeights()
is called, a map which associates an instance of a
GreatCircle
object with a double weight is initialized. Then every
LayerProfile
on the head wave interface between the source and
receiver is visited and the angular distance, d, that the ray
traveled in the horizontal segment is retreived. If d > 0,
then the neighboring
GridProfile
objects that contributed to the interpolated value of the
LayerProfile
are visited. The product of d * R * C is added to the weight associated with that
GridProfile
object, where R is the radius of the head wave interface for the
LayerProfile
object being evaluated, and C is the interpolation coefficient for the
GridProfile - LayerProfile pair under consideration. Then, all the
GridProfile
objects in the map are visited, the grid node IDs extracted into int array node,
and the weight extracted into double array weight.
Note: Only grid nodes touched by the GreatCircle currently in memory are included in the output. Each grid node is included only once, even though more than one LayerProfile object may have contributed some weight to it. The sum of all the weights will equal the horizontal distance traveled by the ray along the head wave interface, from the source pierce point to the receiver pierce point, in km.
Modifier and Type | Field and Description |
---|---|
int[] |
node
The IDs of the grid nodes that were 'touched' by
the current GreatCircle.
|
double[] |
weight
The weight accumulated by each node.
|
Constructor and Description |
---|
GridWeight() |
Modifier and Type | Method and Description |
---|---|
double |
getSum()
Retrieve the sum of the weights.
|
java.lang.String |
toString()
Retrieve a formatted String representation of the
information in this GridProfile object.
|
public int[] node
public double[] weight
public double getSum()
public java.lang.String toString()
toString
in class java.lang.Object