SLBM: slbm::QueryProfile Class Reference

SLBM 3.0 Regional Seismic Travel Time

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions | Private Attributes | Static Private Attributes | List of all members
slbm::QueryProfile Class Reference

An InterpolatedProfile object that also has information about the the P and S wave velocity as a function of depth for all layers, and the velocity gradient in the mantle. More...

`#include <QueryProfile.h>`

Inherits slbm::InterpolatedProfile.

## Public Member Functions
| QueryProfile (Grid &grid, Location &location)
| Parameterized constructor. More...
| QueryProfile (const QueryProfile &QueryProfile)
| Copy constructor. More...
| ~QueryProfile ()
QueryProfile & | operator= (const QueryProfile &other)
| Equal operator. More...
bool | operator== (const QueryProfile &other)
| Equality operator. More...
bool | operator!= (const QueryProfile &other)
| Inequality operator. More...
int | nIntervals ()
| Retrieve the number of intervals associated with this Profile. More...
void | getData (int *nodeIds, double *coefficients, int &nNeighbors, double *depths, double *pvelocities, double *svelocities, double &pgradient, double &sgradient)
| Retrieve all the interval depth and velocity information contained in this QueryProfile object. More...
vector< int > & | getNodeIds ()
double * | getDepth ()
| Retrieve the depth of the top of the k'th interval, in km. More...
double * | getVelocity (const int &waveType)
| Retrieve the P or S wave velocity of the k'th interval, in km/sec. More...
double * | getMantleGradient ()
| Retrieve the P or S wave velocity gradient, in 1/sec. More...
string | toString ()
| Returns a formatted string containing detailed information about this Profile. More...
Public Member Functions inherited from slbm::InterpolatedProfile
| InterpolatedProfile ()
| Default constructor. More...
| InterpolatedProfile (Grid &grid, Location &location)
| Parameterized constructor. More...
| InterpolatedProfile (const InterpolatedProfile &other)
| Copy constructor. More...
virtual | ~InterpolatedProfile ()
| Destructor. More...
InterpolatedProfile & | operator= (const InterpolatedProfile &other)
| Equal operator. More...
bool | operator== (const InterpolatedProfile &other)
| Equality operator. More...
bool | operator!= (const InterpolatedProfile &other)
| Inequality operator. More...
int | getNCoefficients ()
vector< GridProfile * > & | getNodes ()
| Retrieve a list of pointers to the GridProfile objects upon which this InterpolatedProfile is dependent. More...
GridProfile * | getNode (const int &i)
vector< int > & | getNodeIds ()
int | getNodeId (const int &i)
vector< double > & | getCoefficients ()
| Retrieve the interpolation coefficients that define the dependency of this InterpolatedProfile on its neighbors. More...
double | getCoefficient (const int &i)
void | getNodeIds (int *nodeIds, int &size)
| Retrieve the ID numbers of the GridProfiles that contributed to the interpolated values at this InterpolatedProfile object. More...
void | getCoefficients (double *coeff, int &size)
| Retrieve the interpolation coefficients that were applied to the neighboring GridProfiles that contributed to the interpolated values at this InterpolatedProfile object. More...
void | getWeights (int *nodeIds, double *coeff, int &size)
void | interpRadius (const int &k, double &radius)
| Calculate a single radius value based on the neighboring GridProfile objects and the interpolation coefficients. More...
void | interpDepth (const int &k, double &depth)
| Calculate a single depth value based on the neighboring GridProfile objects and the interpolation coefficients. More...
void | interpVelocity (const int &type, const int &k, double &velocity)
| Calculate a single velocity value based on the neighboring GridProfile objects and the interpolation coefficients. More...
void | interpGradient (const int &type, double &gradient)
| Calculate a single gradient value based on the neighboring GridProfile objects and the interpolation coefficients. More...
bool | isActiveProfile ()
| Returns true if all of the neighboring GridProfile objects. More...
virtual size_t | memSize ()

## Static Public Member Functions
static int | getClassCount ()
Static Public Member Functions inherited from slbm::InterpolatedProfile
static int | getClassCount ()

## Private Attributes
Location | location
vector< int > | nodeIds
double | depth [NLAYERS]
| Depth of the top of each interval, in km. More...
double | pvelocity [NLAYERS]
| The P velocity of each interval, in km/sec. More...
double | svelocity [NLAYERS]
| The S velocity of each interval, in km/sec. More...
double | gradient [2]
| The P and S velocity gradients in the mantle, in 1/sec. More...

## Static Private Attributes
static int | queryProfileClassCount

## Additional Inherited Members
Protected Attributes inherited from slbm::InterpolatedProfile
vector< GridProfile * > | nodes
| An array of pointers to the GridProfile objects upon which this InterpolatedProfile is dependent. More...
vector< int > | nodeIds
| An array of pointers to the GridProfile objects upon which this InterpolatedProfile is dependent. More...
vector< double > | coefficients
| The interpolation coefficients which should be applied to this InterpolatedProfile's neighbors in order to compute interpolated quantities. More...
Static Protected Attributes inherited from slbm::InterpolatedProfile
static int | interpolatedProfileClassCount

## Detailed Description

The QueryProfile class represents a Profile based on depth, velocity and gradient values interpolated from values of nearby GridProfile objects. The simplest way to obtain a QueryProfile object is to call Grid::getQueryProfile().

## Constructor & Destructor Documentation

slbm::QueryProfile::QueryProfile | ( | Grid & | grid,
|  | Location & | location
| ) |  |

Parameterized constructor that builds a QueryProfile object based on values interpolated from nearby GridProfile objects.

Parameters

  grid | a reference to the Grid object. Grid::findProfile() will be called to retrieve the neighbors and interpolation coefficients.
  location | the Location of the query position.

slbm::QueryProfile::QueryProfile | ( | const QueryProfile & | QueryProfile | ) |

Copy constructor.

slbm::QueryProfile::~QueryProfile | ( |  | ) |

## Member Function Documentation

static int slbm::QueryProfile::getClassCount | ( |  | ) |
| static

void slbm::QueryProfile::getData | ( | int * | nodeIds,
|  | double * | coefficients,
|  | int & | nNeighbors,
|  | double * | depths,
|  | double * | pvelocities,
|  | double * | svelocities,
|  | double & | pgradient,
|  | double & | sgradient
| ) |  |
| inline

Retrieve all the interval depth and velocity information contained in this QueryProfile object.

double* slbm::QueryProfile::getDepth | ( |  | ) |
| inline

Retrieve the depth of the top of the k'th interval, in km.

double* slbm::QueryProfile::getMantleGradient | ( |  | ) |
| inline

Retrieve the P or S wave velocity gradient, in 1/sec.

vector<int>& slbm::QueryProfile::getNodeIds | ( |  | ) |
| inline

double* slbm::QueryProfile::getVelocity | ( | const int & | waveType | ) |
| inline

Retrieve the P or S wave velocity of the k'th interval, in km/sec.

int slbm::QueryProfile::nIntervals | ( |  | ) |
| inline

Retrieve the number of intervals associated with this Profile.

bool slbm::QueryProfile::operator!= | ( | const QueryProfile & | other | ) |
| inline

Inequality operator.

QueryProfile& slbm::QueryProfile::operator= | ( | const QueryProfile & | other | ) |

Equal operator.

bool slbm::QueryProfile::operator== | ( | const QueryProfile & | other | ) |

Equality operator.

string slbm::QueryProfile::toString | ( |  | ) |

Returns a formatted string containing detailed information about this Profile.

## Member Data Documentation

double slbm::QueryProfile::depth[NLAYERS]
| private

Depth of the top of each interval, in km.

double slbm::QueryProfile::gradient[2]
| private

The P and S velocity gradients in the mantle, in 1/sec.

Location slbm::QueryProfile::location
| private

vector<int> slbm::QueryProfile::nodeIds
| private

double slbm::QueryProfile::pvelocity[NLAYERS]
| private

The P velocity of each interval, in km/sec.

int slbm::QueryProfile::queryProfileClassCount
| staticprivate

double slbm::QueryProfile::svelocity[NLAYERS]
| private

The S velocity of each interval, in km/sec.

The documentation for this class was generated from the following file:

- /nfs/tonto2/devlpool/sballar/RSTT/SLBM_Root.3.0.5/install/SLBM_Root.3.0.5.Linux/SLBM/include/QueryProfile.h