|
| LayerProfile (GreatCircle *greatCircle, Location &location) |
| Parameterized constructor. More...
|
|
| LayerProfile (const LayerProfile &LayerProfile) |
| Copy constructor. More...
|
|
| ~LayerProfile () |
| Destructor. More...
|
|
LayerProfile & | operator= (const LayerProfile &other) |
| Equal operator. More...
|
|
bool | operator== (const LayerProfile &other) |
| Equality operator. More...
|
|
bool | operator!= (const LayerProfile &other) |
| Inequality operator. More...
|
|
int | nIntervals () |
| Retrieve the number of intervals associated with this Profile (always returns 1). More...
|
|
double | getRadius () |
| Retrieve the radius of the top of the interval represented by this LayerProfile, in km. More...
|
|
double | getVelocity () |
| Retrieve the velocity of the interval represented by this LayerProfile, in km/s. More...
|
|
virtual double | getGradient () |
| Retrieve the velocity gradient in the interval represented by this LayerProfile, in 1/s. More...
|
|
virtual size_t | memSize () |
|
| 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...
|
|
A LayerProfile object only stores the depth, velocity and gradient for a single interval of the Earth model. For a LayerProfile object instantiated to support the Pn or Sn phase, the interval represented is the mantle. For Pg and Lg phases, the represented interval is the middle crust. For Pn and Pg, the velocity stored is the P wave velocity. For Sn and Lg, S wave velocity is stored. For Pn and Sn, P wave and S wave mantle velocity gradient information is stored, respectively. For Pg and Lg, the mantle gradient attribute is set to SLBMGlobals::NA_VALUE.
LayerProfile objects are designed to be as small as possible. From parent class InterpolatedProfile, they inherit the node IDs and interpolation coefficients that relate them to neighboring GridProfile objects. On top of this they store a single radius and velocity value. If the supported phase is Pn or Sn, they also store a gradient value.
LayerProfile objects do not store a Location and hence do not know their position in space. The GreatCircle object that owns the LayerProfile object can determine its position however.