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

Class RTWaveCalc. More...

#include <rt_wavecalc.hpp>

Inheritance diagram for RTWaveCalc:
RayShooter RayTracing

Public Member Functions

 RTWaveCalc (Vel2dModelLDB *VelMod2d, ObservSys *OSys=NULL)
 
bool DirectWaveCalc (WAVE_TYPE wt, bool &stop_pressed_flag)
 
bool LSWaveCalc (LSList *ls, LSCode *lsc, bool reflect, WAVE_TYPE wt, bool &stop_pressed_flag, int segment_num=-1)
 
void CalcWaveParams (LSList *init_List, CodeAr rCode, RTHod *&HODO, int &prog_val, bool &stop_pressed_flag)
 
double GetCoeff (double start_angle, CodeAr rCode)
 
void DirectWaveParamsCalc (WAVE_TYPE wType, RTHod *&HODO, bool &stop_pressed_flag, bool load_LSList)
 
void GetDirectWaveTimes (WAVE_TYPE wType, double eps, RTHod *&HODO, bool &stop_pressed_flag)
 
void InitLSLoading (CodeAr rCode, LSList *&init_List, int &count, int &prog_val)
 
void InitLSForming (CodeAr rCode, LSList *&init_List, int &prog_val, bool &stop_pressed_flag, bool dir_wave=FALSE)
 
void WaveCalculation (CodeAr rCode, double *&hodZ, double *&hodT, double *&fi, double *&ix, double *&iz, double *&coeff, double *&iA, double *&inF, double *&outF, int *&recNum, int &hodNum, bool &stop_pressed_flag, bool load_LSList=TRUE)
 
void CalcComplicatedWaveParams (CodeAr rCode, RTHod *&HODO, bool &stop_pressed_flag, LSList *&init_List, int count, int &prog_val)
 
void LS_LSWaveCalc (LSList *in_ls, LSList *&out_ls, WAVE_TYPE wt, bool tr_flag, int end_bound_num, int &prog_val, bool &stop_pressed_flag)
 
- Public Member Functions inherited from RayShooter
 RayShooter (Vel2dModelLDB *VelMod2d, ObservSys *OSys=NULL)
 
void Shooter (double stAngle, double endAngle, int target, double fStep, int &rNum, double *rT, double *rAmpl, double *rAngle, double *recF, int *recNum)
 
void Shooter2 (double stAngle, double endAngle, int &num, double *recT, double *recAmpl, double *recAngle, double *recF, int *recNum)
 
void GetWATimes (WAVE_TYPE wT, double *recX, double *recZ, int n, double *recT)
 
void GetWavePath (CodeAr rCode, WavePath *wp, bool &good_path_flag, bool &stop_pressed_flag, double dl=10., double den=10.)
 
void GetDirectWavePath (CodeAr rCode, WavePath *wp, bool &good_path_flag, bool &stop_pressed_flag, double dl=10., double den=10.)
 
bool TestRayPath (RayInfo *ray, int_ar *boundN, CodeAr rCode)
 
void CompLS (LSList *recLS, LSList *spLS, RecInfoAr &recInfos)
 
void MShooterSP (WAVE_TYPE wT, LSList *resLS, bool &stop_pressed_flag, double sx=-1., double sz=-1., int ns_bnum=-1)
 
void MShooterSPNew (WAVE_TYPE wT, LSlist *resLS, bool &stop_pressed_flag, double sx=-1., double sz=-1., int ns_bnum=-1)
 
void MShooterUP (WAVE_TYPE wT, bool rt, LSList *ls, RecInfoAr &recInfos, bool &stop_pressed_flag, int tbn=-1)
 
void MShooterDOWN (WAVE_TYPE wT, bool rt, LSList *inLS, LSList *outLS, bool &stop_pressed_flag)
 
void MShooterUniversal (WAVE_TYPE wT, bool rt, LSlist *inLS, LSlist *outLS, bool &stop_pressed_flag, bool WellShoot, int tbn, RTParams &rtp)
 
bool WellTransform (WAVE_TYPE wT, LSlist *outLS, LSlist *inLS, RecInfoAr &recInfos, bool rt, RTParams rtp)
 
void MShooterREC (int n1=-1, int n2=-1, WAVE_TYPE wt=PRESSURE)
 
void stop_MShooter (bool &stop_pressed_flag, LSInfo *&lsDesc)
 
void stop_MShooterUP (bool &stop_pressed_flag, RecInfoAr &recInfos)
 
bool firstLsPoint (double spX, double spZ, double &startF, double &stepF, CodeAr rCode, int_ar *bNums, int &bn1, bool &big_angle, int ns_bnum, bool &stop_pressed_flag)
 
void exactFirstPoint (double spX, double spZ, double &startF, double &stepF, CodeAr rCode, int_ar *bNums, int &bn1, bool &stop_pressed_flag)
 
bool sourceShooter (double spX, double spZ, double &startF, double &stepF, CodeAr rCode, int_ar *bNums, WAVE_TYPE wT, LSlist *resLS, int ns_bnum, bool &stop_pressed_flag)
 
void SaveHod (RecInfoAr recInfos, double spX, double spZ, int fbLine=-1, int pmLine=-1)
 
void SaveLS (dbItem dbiLSList, double spX, double spZ, double eps, LSList *ls, LSCode *lsc=NULL)
 
void LoadLS (dbItem dbiLSList, LSInfo *ls, double &spX, double &spZ, WAVE_TYPE &wt, double &eps, int &bNum)
 
void LoadLSList (LSList *LSLst, CodeAr rCode)
 
void SaveRecLS (int recNum, WAVE_TYPE wt, int bodyNum, double eps, LSList *recLS)
 
bool LoadRecLS (int recNum, WAVE_TYPE wt, int bNum, LSList *recLS)
 
void DeleteLSList (dbItem dbiModelList)
 
void SetPBars (Progress *PB1, Progress *PB2)
 
void LSShooterUP (WavePath *wp, WAVE_TYPE wT, bool rt, LSList *ls, RecInfoAr &recInfos, bool &stop_pressed_flag, int tbn=-1)
 
- Public Member Functions inherited from RayTracing
 RayTracing (Vel2dModel *mod2d)
 
RayInfoRayShoot (double f, double startX, double startZ, bool waySave, CodeAr rCode, bool calcSD, int_ar *bNums=NULL)
 
void AddObSysPtr (ObservSys *)
 
void SetDL (double dl)
 
double GetDL ()
 
void CalcIntParams2 (double x, double z, double f, int rtr, double &x0, double &z0, double &x1, double &z1)
 

Additional Inherited Members

- Static Public Member Functions inherited from RayTracing
static bool Snellius (double vin, double teta0, double vout, int rtr, double iAngle, double &teta1)
 
- Public Attributes inherited from RayShooter
ProgressPBar1
 
ProgressPBar2
 
- Public Attributes inherited from RayTracing
Vel2dModelMod2d
 
ObservSysObsSys
 
- Protected Member Functions inherited from RayShooter
void clean_LS (LSList *&_list)
 
void GetActiveZoneStart (CodeAr rCode, int_ar *bNums, double &tmp_f, double &start_x, double &start_z, double first_x, double first_z, double angleStep2, double eps)
 
void OneDirectShoot (double x0, double z0, double x1, double z1, double base_angle, int rec_num, double &result_x, double &result_z, double &result_angle, double &result_f, double &time, double eps)
 
bool CheckRec (int rec_num, int bNum)
 
void GetNearestRecNum (int bodyNum, double last_x, double last_z, int &first_rec, int &count)
 
- Protected Member Functions inherited from RayTracing
STEP_RESULT RayStep (double &x, double &z, double &f, double &v, double df, double &dt, double &resultAngle, double &resultCurvity, int &iBoundNum, WAVE_TYPE vPS, bool prevInt, bool noIntersect=false)
 
bool CalcRayAmpl (RayInfo *Ray)
 
double CalcRayCoeff (double x, double z, double x0, double z0, double x1, double z1, int bn1, int bn2, int boundN, WAVE_TYPE wt1, WAVE_TYPE wt2, double iAngle)
 
void CalcIntParams (double x, double z, double x0, double z0, int rtr, double &x1, double &z1)
 
void CalcIntParams (double x, double z, double &x0, double &z0, int rtr, double f, double &x1, double &z1)
 

Detailed Description

Class RTWaveCalc.

Member Function Documentation

void RTWaveCalc::CalcComplicatedWaveParams ( CodeAr  rCode,
RTHod *&  HODO,
bool &  stop_pressed_flag,
LSList *&  init_List,
int  count,
int &  prog_val 
)

Complex path wave parameters calculating (init_List - initial linear sources)

void RTWaveCalc::CalcWaveParams ( LSList init_List,
CodeAr  rCode,
RTHod *&  HODO,
int &  prog_val,
bool &  stop_pressed_flag 
)

Wave parameters calculating

bool RTWaveCalc::DirectWaveCalc ( WAVE_TYPE  wt,
bool &  stop_pressed_flag 
)

Direct wave calculation

void RTWaveCalc::DirectWaveParamsCalc ( WAVE_TYPE  wType,
RTHod *&  HODO,
bool &  stop_pressed_flag,
bool  load_LSList 
)

Direct wave parameters calculating

double RTWaveCalc::GetCoeff ( double  start_angle,
CodeAr  rCode 
)

Returns special coefficient for amplitude leap

void RTWaveCalc::GetDirectWaveTimes ( WAVE_TYPE  wType,
double  eps,
RTHod *&  HODO,
bool &  stop_pressed_flag 
)

Direct wave parameters calculating: only rays, propagating in body with shot point inside

void RTWaveCalc::InitLSForming ( CodeAr  rCode,
LSList *&  init_List,
int &  prog_val,
bool &  stop_pressed_flag,
bool  dir_wave = FALSE 
)

Initial linear sources forming

void RTWaveCalc::InitLSLoading ( CodeAr  rCode,
LSList *&  init_List,
int &  count,
int &  prog_val 
)

Initial linear sources loading from DB

void RTWaveCalc::LS_LSWaveCalc ( LSList in_ls,
LSList *&  out_ls,
WAVE_TYPE  wt,
bool  tr_flag,
int  end_bound_num,
int &  prog_val,
bool &  stop_pressed_flag 
)

Calculation of linear sources out_ls (on bound end_bound_num) by linear sources in_ls (without saving in DB) (makes one step on raycode in complex path wave calculating procedure)

bool RTWaveCalc::LSWaveCalc ( LSList ls,
LSCode lsc,
bool  reflect,
WAVE_TYPE  wt,
bool &  stop_pressed_flag,
int  segment_num = -1 
)

Calculation of wave from linear source (to outer model bounds)

void RTWaveCalc::WaveCalculation ( CodeAr  rCode,
double *&  hodZ,
double *&  hodT,
double *&  fi,
double *&  ix,
double *&  iz,
double *&  coeff,
double *&  iA,
double *&  inF,
double *&  outF,
int *&  recNum,
int &  hodNum,
bool &  stop_pressed_flag,
bool  load_LSList = TRUE 
)

Main procedure of wave parameters calculation


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