38 #ifndef QueryProfile_H
39 #define QueryProfile_H
115 double* coefficients,
135 {
return (waveType==PWAVE ? pvelocity : svelocity); };
151 static int queryProfileClassCount;
160 double depth[NLAYERS];
165 double pvelocity[NLAYERS];
170 double svelocity[NLAYERS];
185 inline void QueryProfile::getData(
196 getWeights(nodeids, coeff, n);
198 for (
int i=0; i<NLAYERS; i++)
201 pv[i] = pvelocity[i];
202 sv[i] = svelocity[i];
205 pg = gradient[PWAVE];
206 sg = gradient[SWAVE];
A 2 dimensional, horizontal grid of GirdProfile objects.
A Profile object based on values interpolated from nearby GridProfile objects.
The Location Class manages a single point in/on the Earth, which is described by the GRS80 ellipsoid.
An InterpolatedProfile object that also has information about the the P and S wave velocity as a func...
vector< int > & getNodeIds()
bool operator!=(const QueryProfile &other)
Inequality operator.
double * getMantleGradient()
Retrieve the P or S wave velocity gradient, in 1/sec.
QueryProfile(const QueryProfile &QueryProfile)
Copy constructor.
static int getClassCount()
QueryProfile(Grid &grid, Location &location)
Parameterized constructor.
string toString()
Returns a formatted string containing detailed information about this Profile.
int nIntervals()
Retrieve the number of intervals associated with this Profile.
bool operator==(const QueryProfile &other)
Equality operator.
double * getVelocity(const int &waveType)
Retrieve the P or S wave velocity of the k'th interval, in km/sec.
QueryProfile & operator=(const QueryProfile &other)
Equal operator.
double * getDepth()
Retrieve the depth of the top of the k'th interval, in km.