# Class QueryProfile

java.lang.Object
gov.sandia.gnem.slbmjni.QueryProfile

public class QueryProfile extends Object
Stores information related to an interpolated profile through the Earth model. The information is retrieved from a C++ QueryProfile object via a call to `SlbmInterface.getInterpolatedPoint(double, double)`. Information includes: the geographic latitude and longitude of the point in the Earth model where the information was interpolated, the depths of all model interfaces beneath the point of interpolation, the P and S velocities of each model interval, and the P and S velocity gradients in the mantle. Also includes the node IDs and interpolation coefficients used to interpolate the information from the grid nodes.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `double[]`
  `coefficient`
  The interpolation coefficients that were applied to the the depth, velocity and gradient values of the grid nodes identified by nodeId to compute the corresponding data values of this QueryProfile.
  `double[]`
  `depth`
  The depth of each interface in the model, in km.
  `double[]`
  `gradient`
  A 2 element array containing the P and S mantle velocity gradients in 1/sec.
  `double`
  `lat`
  The geographic latitude of the grid node, in radians.
  `double`
  `lon`
  The geographic longitude of the grid node, in radians.
  `int[]`
  `nodeId`
  The IDs of the grid nodes that were used to interpolate the depth, velocity and gradient values of this QueryProfile.
  `double[][]`
  `velocity`
  A 2 x nLayers array containing the P and S velocities of each layer in the model, in km/sec.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `QueryProfile()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `getNCoefficients()`
  Retrieve the number of Grid nodes involved in the interpolation of the information stored by this QueryProfile object.
  `int`
  `getNIntervals()`
  Retrieve the number of model intervals intersected by this QueryProfile, including zero thickness intervals.
  `String`
  `toString()`
  Retrieve a formatted String representation of the information in this QueryProfile object.

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### lat

    public double lat
    The geographic latitude of the grid node, in radians.

  - ### lon

    public double lon
    The geographic longitude of the grid node, in radians.

  - ### depth

    public double[] depth
    The depth of each interface in the model, in km.

  - ### velocity

    public double[][] velocity
    A 2 x nLayers array containing the P and S velocities of each layer in the model, in km/sec. For the first index, element 0 refers to P velocities and element 1 refers to S velocities.

  - ### gradient

    public double[] gradient
    A 2 element array containing the P and S mantle velocity gradients in 1/sec. Element 0 refers to the P gradient and element 1 refers to the S gradient.

  - ### nodeId

    public int[] nodeId
    The IDs of the grid nodes that were used to interpolate the depth, velocity and gradient values of this QueryProfile.

  - ### coefficient

    public double[] coefficient
    The interpolation coefficients that were applied to the the depth, velocity and gradient values of the grid nodes identified by nodeId to compute the corresponding data values of this QueryProfile.

- ## Constructor Details

  - ### QueryProfile

    public QueryProfile()

- ## Method Details

  - ### getNIntervals

    public int getNIntervals()
    Retrieve the number of model intervals intersected by this QueryProfile, including zero thickness intervals. This is the same as the number of layers in the Earth model.
    Returns:
      int the number of model intervals intersected by this QueryProfile

  - ### getNCoefficients

    public int getNCoefficients()
    Retrieve the number of Grid nodes involved in the interpolation of the information stored by this QueryProfile object.
    Returns:
      int the number of Grid nodes involved in the interpolation of the information stored by this QueryProfile object.

  - ### toString

    public String toString()
    Retrieve a formatted String representation of the information in this QueryProfile object.
    Overrides:
      `toString` in class `Object`
    Returns:
      String a formatted String representation of the information in this QueryProfile object.