58 class InterpolatedProfile;
77 GridProfile(
const int& i,
const double& lat,
const double& lon,
const double& elev);
116 virtual void getData(
double* depths,
double* pvelocity,
double* svelocity,
double* gradient) = ABSTRACT;
128 virtual void setData(
double* depths,
double* pvelocities,
129 double* svelocities,
double* gradients) = ABSTRACT;
135 virtual void setDepths(
const vector<double>& depths) = ABSTRACT;
142 virtual void setVelocity(
const int& waveType,
const vector<double>& velocity) = ABSTRACT;
148 virtual void setGradient(
const vector<double>& gradient) = ABSTRACT;
168 virtual double getVelocity(
const int& waveType,
const int& k) = ABSTRACT;
186 virtual void getVelocity(
const int& waveType,
double* velocity) = ABSTRACT;
221 void depthsToRadii(
const vector<double>& depths, vector<vector<float> >& radii);
Manages all information related to a single node in a Grid object.
virtual ~GridProfile()
Destructor.
virtual void getInterfaceDepths(vector< double > &depths)
Retrieve the depths of all intervals, in km.
virtual double getEarthRadius()
virtual void getMantleGradient(double *gradients)
Retrieve the P and S velocity gradients in the mantle, in 1/sec.
void setActiveNodeId(int id)
void depthsToRadii(const vector< double > &depths, vector< vector< float > > &radii)
int nHits
The number of times this node has been 'touched' by a GreatCircle.
virtual double getVelocity(const int &waveType, const int &k)
Retrieve the P or S velocity of the k'th interval, in km/sec.
virtual int getGeoStackId()
Retrieve the index of the GeoStack that holds the information about model interfaces,...
static string class_name()
void setWeight(const double &w)
virtual void getData(double *depths, double *pvelocity, double *svelocity, double *gradient)
Retrieve all the data associated with this Profile.
void depthsToRadii(double depths[NLAYERS], vector< vector< float > > &radii)
virtual void setDepths(const vector< double > &depths)
Set the layer depths to specified values.
double getWeight()
A temporary weight storage assignment function (returned reference) used exclusively by the GreatCirc...
double weight
A temporary weight storage location used exclusively by the GreatCircle::getWeights(....
virtual double getWaterThick()
virtual double getInterfaceRadius(const int &k)
Retrieve the radius of the k'th interval, in km.
virtual void getVelocity(const int &waveType, double *velocity)
Retrieve the P or S velocities of all intervals, in km/sec.
GridProfile(const int &i, const double &lat, const double &lon, const double &elev)
void addWeight(const double &w)
int nodeId
The node id of this GridProfile.
virtual void setVelocity(const int &waveType, const vector< double > &velocity)
Set the P or S velocity to specified values.
static int getClassCount()
virtual void setData(double *depths, double *pvelocities, double *svelocities, double *gradients)
Set the P and S velocities and gradients associated with this GridProfile object to specified values.
virtual double getMantleGradient(const int &waveType)
Retrieve the P or S velocity gradient in the mantle, in 1/sec.
const int getNodeId() const
Retrieve the node index of this node in the model grid.
virtual void setGradient(const vector< double > &gradient)
Set the P and S velocity gradients to specified values.
static int gridProfileClassCount
virtual double getInterfaceDepth(const int &k)
Retrieve the depth of the k'th interval, in km relative sea level.
GridProfile(const int &i, Location &location)
The Location Class manages a single point in/on the Earth, which is described by the GRS80 ellipsoid.