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