SLBM  3.0
Regional Seismic Travel Time
Public Member Functions | Private Attributes | List of all members
slbm::LayerProfileG Class Reference

A LayerProfile with mantle velocity gradient information. More...

#include <LayerProfileG.h>

Inherits slbm::LayerProfile.

Public Member Functions

 LayerProfileG (GreatCircle *greatCircle, Location &location)
 Parameterized constructor. More...
 
 LayerProfileG (const LayerProfileG &LayerProfileG)
 Copy constructor. More...
 
 ~LayerProfileG ()
 Destructor. More...
 
LayerProfileGoperator= (const LayerProfileG &other)
 Equal operator. More...
 
bool operator== (const LayerProfileG &other)
 Equality operator. More...
 
bool operator!= (const LayerProfileG &other)
 Inequality operator. More...
 
double getGradient ()
 Retrieve the velocity gradient in the interval represented by this LayerProfileG, in 1/s. More...
 
size_t memSize ()
 
- Public Member Functions inherited from slbm::LayerProfile
 LayerProfile (GreatCircle *greatCircle, Location &location)
 Parameterized constructor. More...
 
 LayerProfile (const LayerProfile &LayerProfile)
 Copy constructor. More...
 
 ~LayerProfile ()
 Destructor. More...
 
LayerProfileoperator= (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...
 
- Public Member Functions inherited from slbm::InterpolatedProfile
 InterpolatedProfile ()
 Default constructor. More...
 
 InterpolatedProfile (Grid &grid, Location &location)
 Parameterized constructor. More...
 
 InterpolatedProfile (const InterpolatedProfile &other)
 Copy constructor. More...
 
virtual ~InterpolatedProfile ()
 Destructor. More...
 
InterpolatedProfileoperator= (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...
 
GridProfilegetNode (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...
 

Private Attributes

double gradient
 P or S velocity gradients in the mantle, in 1/sec. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from slbm::LayerProfile
static int getClassCount ()
 
- Static Public Member Functions inherited from slbm::InterpolatedProfile
static int getClassCount ()
 
- Protected Attributes inherited from slbm::LayerProfile
double radius
 The radius of the interface represented by this LayerProfile object, in km. More...
 
double velocity
 The P or S velocity of the interval, in km/sec. More...
 
- Protected Attributes inherited from slbm::InterpolatedProfile
vector< GridProfile * > nodes
 An array of pointers to the GridProfile objects upon which this InterpolatedProfile is dependent. More...
 
vector< int > nodeIds
 An array of pointers to the GridProfile objects upon which this InterpolatedProfile is dependent. More...
 
vector< double > coefficients
 The interpolation coefficients which should be applied to this InterpolatedProfile's neighbors in order to compute interpolated quantities. More...
 
- Static Protected Attributes inherited from slbm::LayerProfile
static int layerProfileClassCount
 
- Static Protected Attributes inherited from slbm::InterpolatedProfile
static int interpolatedProfileClassCount
 

Detailed Description

A LayerProfile with mantle velocity gradient information. The base class, LayerProfile, only stores the depth and velocity at a point on the head wave interface in the earth model. LayerProfileG class adds mantle velocity gradient information as well.

Constructor & Destructor Documentation

slbm::LayerProfileG::LayerProfileG ( GreatCircle greatCircle,
Location location 
)

Parameterized constructor that builds a LayerProfileG object based on values interpolated from nearby GridProfile objects.

Parameters
greatCirclethe GreatCircle object of which this LayerProfileG will be a member.
locationthe Location where the profile is to be constructed.
slbm::LayerProfileG::LayerProfileG ( const LayerProfileG LayerProfileG)

Copy constructor.

slbm::LayerProfileG::~LayerProfileG ( )

Destructor.

Member Function Documentation

double slbm::LayerProfileG::getGradient ( )
inlinevirtual

Retrieve the velocity gradient in the interval represented by this LayerProfileG, in 1/s.

Reimplemented from slbm::LayerProfile.

size_t slbm::LayerProfileG::memSize ( )
inlinevirtual

Reimplemented from slbm::LayerProfile.

bool slbm::LayerProfileG::operator!= ( const LayerProfileG other)
inline

Inequality operator.

LayerProfileG& slbm::LayerProfileG::operator= ( const LayerProfileG other)

Equal operator.

bool slbm::LayerProfileG::operator== ( const LayerProfileG other)

Equality operator.

Member Data Documentation

double slbm::LayerProfileG::gradient
private

P or S velocity gradients in the mantle, in 1/sec.


The documentation for this class was generated from the following file: