![]() |
UNIVERS
15.3
UNIVERS base processing software API
|
Class RTWaveCalc. More...
#include <rt_wavecalc.hpp>
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) | |
| RayInfo * | RayShoot (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 | |
| Progress * | PBar1 |
| Progress * | PBar2 |
Public Attributes inherited from RayTracing | |
| Vel2dModel * | Mod2d |
| ObservSys * | ObsSys |
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) |
Class RTWaveCalc.
| 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
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
1.8.5