|
| GridProfileSLBM (Grid &g, const int &i, const double &lat, const double &lon, const double &elev, const double &zwater, GeoStack *gstack) |
| Parameterized constructor. More...
|
|
| GridProfileSLBM (const GridProfileSLBM &other) |
| Copy constructor. More...
|
|
| ~GridProfileSLBM () |
| Destructor. More...
|
|
int | getGeoStackId () |
| Retrieve the index of the GeoStack that holds the information about model interfaces, velocities and gradients. More...
|
|
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 GridProfileSLBM object to specified values. More...
|
|
void | setDepths (const vector< double > &depths) |
| 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 | getInterfaceRadius (const int &k) |
| Retrieve the radius of the k'th interval, in km. More...
|
|
double | getInterfaceDepth (const int &k) |
| Retrieve the depth of the k'th interval, in km relative sea level. More...
|
|
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 | getInterfaceDepths (vector< double > &depths) |
| Retrieve the depths of all intervals, in km. 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...
|
|
double | getWaterThick () |
|
| GridProfile () |
|
| GridProfile (const int &i, const double &lat, const double &lon, const double &elev) |
|
| GridProfile (const int &i, Location &location) |
|
virtual | ~GridProfile () |
| Destructor. More...
|
|
const int | getNodeId () const |
| Retrieve the node index of this node in the model grid. More...
|
|
virtual double | getEarthRadius () |
|
double | getWeight () |
| A temporary weight storage assignment function (returned reference) used exclusively by the GreatCircle::getWeights(...) function. More...
|
|
void | addWeight (const double &w) |
|
void | setWeight (const double &w) |
|
void | clearHitCount () |
|
void | incrementHitCount () |
|
int | getHitCount () |
|
int | getActiveNodeId () |
|
void | setActiveNodeId (int id) |
|
void | depthsToRadii (double depths[NLAYERS], vector< vector< float > > &radii) |
|
void | depthsToRadii (const vector< double > &depths, vector< vector< float > > &radii) |
|
| Location () |
|
virtual | ~Location () |
|
| Location (const Location &location) |
|
| Location (const double &lat, const double &lon, const double &depth=0) |
|
| Location (const double v[], const double &radius) |
|
| Location (const Location &loc1, const Location &loc2) |
|
Location & | operator= (const Location &other) |
|
bool | operator== (const Location &other) const |
|
bool | operator!= (const Location &other) |
|
string | toString () const |
|
void | setLocation (const double &lat, const double &lon, const double &depth) |
|
void | setLocation (const double *u, const double &r) |
|
void | setRadius (const double &r) |
|
double | getRadius () const |
|
double | getEarthRadius () const |
|
double | getDepth () const |
|
void | setDepth (const double &depth) |
|
double | distance (const Location &other) const |
|
double | distanceKm (Location &other) const |
|
double | distanceDegrees (const Location &other) const |
|
double | azimuth (const Location &other) const |
| Find the azimuth from this Location to some other Location. Result will be between 0 and 2*PI radians. More...
|
|
double | azimuthDegrees (const Location &other) const |
| Find the azimuth from this Location to some other Location. Result will be between 0 and 360 degrees. More...
|
|
double | azimuth (const Location &other, const double &errorValue) const |
| Find the azimuth from this Location to some other Location. Result will be between 0 and 2*PI radians. If current position is the north or south pole, or if current position and other position are conincident, returns specified errorValue. More...
|
|
double | azimuthDegrees (const Location &other, const double &errorValue) const |
| Find the azimuth from this Location to some other Location. Result will be between 0 and 360 degrees. If current position is the north or south pole, or if current position and other position are conincident, returns specified errorValue. More...
|
|
double | getLat () const |
| Retrieve the geographic latitude of this Location, radians. More...
|
|
double | getGeocentricLat () const |
| Retrieve the geocentric latitude of this Location, radians. More...
|
|
double | getGeocentricLatDegrees () const |
| Retrieve the geocentric latitude of this Location, degrees. More...
|
|
double | getLon () const |
| Retrieve the longitude of this Location. Value will be between -PI and PI radians. More...
|
|
double | getLatDegrees () const |
| Retrieve the geographic latitude of this Location, degrees. More...
|
|
double | getLonDegrees () const |
| Retrieve the longitude of this Location. Value will be between -180 and 180 degrees. More...
|
|
const double * | getUnitVector () |
|
void | getUnitVector (double x[3]) |
|
void | setUnitVector (double x[3]) |
|
void | move (const double &azimuth, const double &distance, Location &loc) const |
| Retrieve a Location that is a specified distance away from this Location, in a specified direction. More...
|
|
bool | cross (const Location &x, Location &loc) const |
|
void | rotate (Location &pole, double angle, Location &loc) const |
|
bool | vectorTripleProduct (const Location &other, double vtp[]) const |
| Compute the vector triple product (this x other) x this, normalized to unit length. Returns true if valid, false if triple product has zero length, which will happen when this and other are coincident or PI radians apart. More...
|
|
void | move (const double vtp[], const double &a, Location &loc) const |
| Move this Location object a specified angular distance (radians) in the direction specified by vtp. More...
|
|
void | move_north (const double x[], const double &distance, double z[]) const |
|
void | move_north (const double &distance, Location &loc) const |
|
void | rotate (const double x[], const double p[], const double &a, double z[]) const |
|
double | scalarTripleProduct (const Location &loc1, const Location &loc2) const |
|
double | scalarTripleProduct (const double u[], const double w[]) const |
|
double | scalarTripleProduct (const double u[], const double v[], const double w[]) const |
|
bool | vectorTripleProduct (const double u[], const double v[], double vtp[]) const |
| Compute the normalized vector triple product (u x v) x u and and store result in vtp. More...
|
|
bool | vectorTripleProductNorthPole (const double u[], double w[]) const |
| Compute the normalized vector triple product (u x northPole) x u and store result in w. Returns true if w has finite length, false if length(w) is zero. More...
|
|
void | move (const double v[], const double vtp[], const double &a, double u[]) const |
| Move unit vector v in direction of vtp by distance a and store result in u. vtp is assumed to be a unit vector normal to v. More...
|
|
double | angle (const double u[], const double v[]) const |
|
double | dot (const Location &other) const |
|
double | dot (const double u[], const double v[]) const |
|
double | cross (const double u[], const double v[], double w[]) const |
|
double | crossNorth (const double u[], double w[]) const |
|
double | normalize (double v[]) const |
|
double | length (const double v[]) const |
|
Manages all information related to a single node in a Grid object including: the Location of the node, 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.
GridProfileSLBM objects are created in Grid::loadVelocityModel() and deleted in Grid::~Grid.