RSTT
3.1.0
Regional Seismic Travel Time
|
Go to the documentation of this file.
38 #ifndef CrustalProfile_H
39 #define CrustalProfile_H
144 const double& lat,
const double& lon,
const double& depth);
166 void getData(vector<double>& depths, vector<double>& velocities);
176 void getDepths(
double* depths);
186 double getDepth(
const int& k);
235 const double& rayParameter,
282 const double& rayParameter,
324 static int crustalProfileClassCount;
348 double radius[NLAYERS];
353 double velocity[NLAYERS];
405 inline void CrustalProfile::getData(vector<double>& depths,
406 vector<double>& velocities)
410 double R = getEarthRadius();
411 for (
int i=0; i<getNIntervals(); i++)
413 depths.push_back(R - radius[i]);
414 velocities.push_back(velocity[i]);
418 inline double CrustalProfile::getDepth(
const int& k)
420 return getEarthRadius() - radius[k];
423 inline void CrustalProfile::getDepths(
double* depths)
425 double R = getEarthRadius();
426 for (
int i=0; i<getNIntervals(); i++)
427 depths[i] = R - radius[i];
438 #endif // CrustalProfile.h
void xtCrust(GreatCircle *greatCircle, const double &rayParameter, int layid[], double x[], double r[], double v[], double t[], int &npoints)
Compute the horizontal offset (radians) and the travel time (sec) of the ray through the crust.
virtual ~CrustalProfile()
double * getVelocities()
Retrieve the P or S wave velocity of each interval, in km/sec.
The Location Class manages a single point in/on the Earth, which is described by the GRS80 ellipsoid.
taup::TauPSite * getTauPSite()
Return this CrustalProfiles TauPSite object;.
void setTauPSite(taup::TauPSite *tps)
Set the input TauPSite into this CrustalProfile;.
static int getClassCount()
int getNIntervals()
Retrieve the number of intervals associated with this Profile.
bool isInCrust()
true location radius > moho radius.
CrustalProfile & operator=(const CrustalProfile &other)
Equal operator.
Manages all information related to a single node in a Grid object.
A profile through the Earth model that stores interface radius, and interval P or S wave velocity inf...
double getVelocity(const int &k)
Retrieve the P or S wave velocity of the k'th interval, in km/sec.
A 2 dimensional, horizontal grid of GirdProfile objects.
CrustalProfile()
Default constructor.
const int & getHeadWaveInterface()
Retrieve the index of the head wave interface (SLBMGlobals::MANTLE for Pn, Sn; SLBMGlobals::MIDDLE_CR...
double getInterfaceRadius(const int &k)
Retrieve the radius of the top of the k'th interval, in km.
bool operator!=(const CrustalProfile &other)
Inequality operator.
A Profile object based on values interpolated from nearby GridProfile objects.
void xtCrust(GreatCircle *greatCircle, const double &rayParameter, double &xTotal, double &zTotal, double &sTotal, double &tTotal)
Compute the horizontal offset (radians) and the travel time (sec) of the ray through the crust.
void setup(Grid &grid, const int &phase, const double &lat, const double &lon, const double &depth)
Parameterized constructor.
string toString(GreatCircle *greatCircle, double rayParameter)
Returns a formatted string containing detailed information about this Profile.
const Location & getLocation() const
Retrieve a const reference to the Location associated with this Profile.
bool operator==(const CrustalProfile &other)
Equality operator.
The GreatCircle class manages information related to a great circle path between two Locations on the...
CrustalProfile(const CrustalProfile &CrustalProfile)
Copy constructor.