|
SLBM
3.0
Regional Seismic Travel Time
|
Manages all information related to a single node in a Grid object. More...
#include <GeoStack.h>
Public Member Functions | |
| GeoStack () | |
| Default constructor. More... | |
| GeoStack (const int &index, double *depths, double *pvelocities, double *svelocities, double *gradients) | |
| ~GeoStack () | |
| Destructor. More... | |
| GeoStack (const GeoStack &GeoStack) | |
| Copy constructor. More... | |
| GeoStack & | operator= (const GeoStack &other) |
| Equal operator. More... | |
| bool | operator== (const GeoStack &other) |
| Equality operator. More... | |
| bool | operator!= (const GeoStack &other) |
| Inequality operator. More... | |
| int | getRefCount () |
| void | incRefCount () |
| void | decRefCount () |
| void | setRefCount (const int &count) |
| int | getIndex () |
| void | setIndex (const int &idx) |
| void | getData (double *depths, double *pvelocity, double *svelocity, double *gradient) |
| Retrieve all the data associated with this Profile. More... | |
| void | setData (double *depths, double *pvelocities, double *svelocities, double *gradients) |
| Set the P and S velocities and gradients associated with this GeoStack object to specified values. More... | |
| void | setDepth (const vector< double > &z) |
| Set the layer depths to specified values. More... | |
| void | setVelocity (const int &waveType, const vector< double > &velocity) |
| Set the P or S velocity to specified values. More... | |
| void | setGradient (const vector< double > &gradient) |
| Set the P and S velocity gradients to specified values. More... | |
| double | getDepth (const int &k) |
| Retrieve the depth of the k'th interval, in km. More... | |
| double * | getDepth () |
| double | getVelocity (const int &waveType, const int &k) |
| Retrieve the P or S velocity of the k'th interval, in km/sec. More... | |
| double | getMantleGradient (const int &waveType) |
| Retrieve the P or S velocity gradient in the mantle, in 1/sec. More... | |
| void | getVelocity (const int &waveType, double *velocity) |
| Retrieve the P or S velocities of all intervals, in km/sec. More... | |
| void | getMantleGradient (double *g) |
| Retrieve the P and S velocity gradients in the mantle, in 1/sec. More... | |
| bool | hasLowVelocityZone () |
| Return true if (1) any finite thickness layer above the middle crust has a velocity that exceeds the Pg/Lg velocity of the middle crust or (2) any finite thickness crustal layer has a velocity that exceeds the mantle velocity. More... | |
| string | toString () |
| Return the information content of this GeoStack formatted in small text table. More... | |
| bool | thicknessTest () |
Static Public Member Functions | |
| static int | getClassCount () |
Protected Attributes | |
| int | index |
| int | refCount |
| double | depth [NLAYERS] |
| depth of the top of each interval, in km. More... | |
| double | pvelocity [NLAYERS] |
| The P and S velocity of each layer, in km/sec. More... | |
| double | svelocity [NLAYERS] |
| double | gradient [2] |
| P and S velocity gradients in the mantle, in 1/sec. More... | |
Static Protected Attributes | |
| static int | geoStackClassCount |
Manages all information related to a single node in a Grid object including: the depths of all model interfaces, the P and S velocities of each model interval, and the P and S velocity gradients in the mantle.
GeoStack objects are created in Grid::loadVelocityModel() and deleted in Grid::~Grid.
| slbm::GeoStack::GeoStack | ( | ) |
Default constructor.
| slbm::GeoStack::GeoStack | ( | const int & | index, |
| double * | depths, | ||
| double * | pvelocities, | ||
| double * | svelocities, | ||
| double * | gradients | ||
| ) |
| slbm::GeoStack::~GeoStack | ( | ) |
Destructor.
| slbm::GeoStack::GeoStack | ( | const GeoStack & | GeoStack | ) |
Copy constructor.
|
inline |
|
static |
|
inline |
Retrieve all the data associated with this Profile.
| depths | the depths of the top of each interval associated with this Profile. |
| pvelocity | the P velocities of each interval, in km/sec. |
| svelocity | the S velocities of each interval, in km/sec. |
| gradient | a 2-element array specifying the P and S velocity gradient in the mantle, in 1/sec. |
|
inline |
Retrieve the depth of the k'th interval, in km.
|
inline |
|
inline |
|
inline |
Retrieve the P or S velocity gradient in the mantle, in 1/sec.
| waveType | either SLBMGlobals::PWAVE or SLBMGlobals::SWAVE. |
|
inline |
Retrieve the P and S velocity gradients in the mantle, in 1/sec.
|
inline |
|
inline |
Retrieve the P or S velocity of the k'th interval, in km/sec.
| waveType | either SLBMGlobals::PWAVE or SLBMGlobals::SWAVE. |
| k | the index of the desired interval. The shallowest interval is index 0. |
|
inline |
Retrieve the P or S velocities of all intervals, in km/sec.
| waveType | either SLBMGlobals::PWAVE or SLBMGlobals::SWAVE. |
| velocity | (output) this argument will be populated with the P or S velocity in km/sec |
| bool slbm::GeoStack::hasLowVelocityZone | ( | ) |
Return true if (1) any finite thickness layer above the middle crust has a velocity that exceeds the Pg/Lg velocity of the middle crust or (2) any finite thickness crustal layer has a velocity that exceeds the mantle velocity.
|
inline |
|
inline |
Inequality operator.
| bool slbm::GeoStack::operator== | ( | const GeoStack & | other | ) |
Equality operator.
|
inline |
Set the P and S velocities and gradients associated with this GeoStack object to specified values.
|
inline |
Set the layer depths to specified values.
| z | the depths of the layers below surface of solid earth |
|
inline |
Set the P and S velocity gradients to specified values.
| gradient | the P and S velocity gradients, in km/sec. |
|
inline |
|
inline |
|
inline |
Set the P or S velocity to specified values.
| waveType | either SLBMGlobals::PWAVE or SLBMGlobals::SWAVE. |
| velocity | the P or S velocity, in km/sec. |
| bool slbm::GeoStack::thicknessTest | ( | ) |
| string slbm::GeoStack::toString | ( | ) |
Return the information content of this GeoStack formatted in small text table.
|
protected |
depth of the top of each interval, in km. There will be n elements, one for each crustal layer, and one more for the mantle. The last element will be the depth of the Moho.
|
staticprotected |
|
protected |
2-element vector containing the P and S velocity gradients in the mantle, in 1/sec.
|
protected |
|
protected |
The P and S velocity of each layer, in km/sec. This will be an 2 x n vector, where n is the number of intervals. The last elements are the velocity in the mantle.
|
protected |
|
protected |
1.8.10