UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Public Attributes | List of all members
BodyParam Class Reference

Class, containing bodies parameters. More...

#include <vel2dmod_service.hpp>

Public Member Functions

 BodyParam (int vMN, double *x, double *z, double *vp, double *vs, double *pkz, double *skz, double *den, double ma_xmin, double ma_xmax, double an_kp, double an_ks, double R)
 
 BodyParam (double vp, double vs, double pkz, double skz, double den, double ma_xmin, double ma_xmax, double an_kp, double an_ks, double R)
 
 BodyParam (int vMN, double *x, double *vp, double *vs, double *pkz, double *skz, double *den, double ma_xmin, double ma_xmax, double an_kp, double an_ks, double R)
 
 BodyParam (BodyParam *)
 
double GetV0 (double x, WAVE_TYPE wt)
 
double GetKx (double x, WAVE_TYPE wt)
 
bool ParamsConst ()
 
double GetCVel (WAVE_TYPE wt)
 
double GetCKz (WAVE_TYPE wt)
 
double GetCDen ()
 
void GetParams (int &pn, double *&px, double *&pz, double *&pPVel, double *&pSVel, double *&pPKz, double *&pSKz, double *&pDen)
 
void RebuildParams (int vMN, double *new_x, double *new_vp, double *new_vs, double *new_kzp, double *new_kzs, double *new_den)
 
void SortParams ()
 
void GetMASizes (double &xmn, double &xmx)
 
SplineGetSpVS ()
 
SplineGetSpVP ()
 
int GetParamNum ()
 
double GetAnCoef (WAVE_TYPE wt, double ang)
 
double GetAn (WAVE_TYPE wt)
 
double GetAnKP ()
 
double GetAnKS ()
 
double GetRParam ()
 
void SetAnKP (double an_kp)
 
void SetAnKS (double an_ks)
 
void SetRParam (double R)
 

Public Attributes

bool filled
 
bool paramsConst
 

Detailed Description

Class, containing bodies parameters.

Parameters are set in bodies points. In each point the velocity V, vertical gradient kz and density den are set. Variable is only V. If only onepoint was set, body parameters are constant, else - the velocity is interpolateed with X and horizontal gradient is determined. !!! The situation, when the velosities are set in two points, one above another, can not be processed.

Member Function Documentation

double BodyParam::GetAnKP ( )
inline

Return P-waves anizotropy coefficient

double BodyParam::GetAnKS ( )
inline

Return S-waves anizotropy coefficient

double BodyParam::GetCKz ( WAVE_TYPE  wt)

returns vertical velocity gradient in the layer

double BodyParam::GetKx ( double  x,
WAVE_TYPE  wt 
)

returns horisontal velocity gradient in the layer

double BodyParam::GetRParam ( )
inline

Return "Fifth parameter" of anizotropy medium

double BodyParam::GetV0 ( double  x,
WAVE_TYPE  wt 
)

returns interpolated velocity value

bool BodyParam::ParamsConst ( )

returns TRUE, if all parameters in the body are constant, else - returns FALSE

void BodyParam::RebuildParams ( int  vMN,
double *  new_x,
double *  new_vp,
double *  new_vs,
double *  new_kzp,
double *  new_kzs,
double *  new_den 
)

suppliments parameters arrays, if they do not contain the model-area-limits points

void BodyParam::SetAnKP ( double  an_kp)
inline

Set P-waves anizotropy coefficient

void BodyParam::SetAnKS ( double  an_ks)
inline

Set S-waves anizotropy coefficient

void BodyParam::SetRParam ( double  R)
inline

Set "Fifth parameter" of anizotropy medium

void BodyParam::SortParams ( )

sorting body parameters with X-growth

Member Data Documentation

bool BodyParam::filled

flag, is body filled with parameters, or not

bool BodyParam::paramsConst

flag of constant body parameters, if only one point set in constructor


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