UNIVERS
15.3
UNIVERS base processing software API
|
#include <rt_migr.hpp>
Public Member Functions | |
RTMigr (Vel2dModel *VelMod2d, AbstractSeis *seis, double stepX, double stepZ, double dfEps, double migrAngle, MIGR_TYPE mt) | |
bool | GetMigrGridSP (int sp_num, MigrCell *&grid, int &size) |
bool | GetMigrGridRec (int recNum, MigrCell *&grid, int &size) |
bool | GetMigrGrid (double x, double z, WAVE_TYPE wType, MigrCell *&grid, int &size) |
bool | GetMigrGrid (double x, double z, WAVE_TYPE wType, MigrInnerGrid &grid) |
void | CompMigrGrid (MigrCell *grid1, int size1, MigrCell *grid2, int size2, IPCell *&ip_info, int &ip_cell_num, int i_beg=-1, int i_end=-1) |
void | AddIPInfo (MigrInnerGrid ip_grid, IPCell *ip_info, int ip_cell_num) |
void | RecalculateIPGrid (MigrInnerGrid ip_grid) |
double | GetIPValue (int spN, int i, int j, MigrInnerCell cell) |
int | GetIMax () |
int | GetJMax () |
AbstractSeis * | GetSeis () |
MigrGridArea | GetMGArea () |
Vel2dModel * | GetMod2d () const |
bool | GetReady () |
Special object for all migration calculations
void RTMigr::AddIPInfo | ( | MigrInnerGrid | ip_grid, |
IPCell * | ip_info, | ||
int | ip_cell_num | ||
) |
addition of incident-point-cell structures array to a two-dimentional grid of migration-cell structures (incident points grid); in this case, field 'f' in each migration-cell structure contains out-ray angle; double-path cases are available: a few angle-time data may appear for one incident-point-cell
void RTMigr::CompMigrGrid | ( | MigrCell * | grid1, |
int | size1, | ||
MigrCell * | grid2, | ||
int | size2, | ||
IPCell *& | ip_info, | ||
int & | ip_cell_num, | ||
int | i_beg = -1 , |
||
int | i_end = -1 |
||
) |
comparison of two migration grids (shot point and reciever) to check the Snellius condition execution; the results are placed in incident-point-cell structures array
int RTMigr::GetIMax | ( | ) |
returns maximal horisontal index of migration cell
double RTMigr::GetIPValue | ( | int | spN, |
int | i, | ||
int | j, | ||
MigrInnerCell | cell | ||
) |
returns amplitude value for the cell [i][j]: the well is shooted from the center point of the incident-point-cell: ray angles vary from (cell.f-migrAngle) to (cell.f+migrAngle); for each "shooted" reciever a full ray path time (from shot point up to reciever) is obtained; from the corresponding seismic trace, the amplitude value is obtained in accordance to the full ray path time; amplitudes value for all "shooted" recievers are summarized
int RTMigr::GetJMax | ( | ) |
returns minimal vertical index of migration cell
MigrGridArea RTMigr::GetMGArea | ( | ) |
returns special structure, describing migration grid for current model; is used in result saving
bool RTMigr::GetMigrGrid | ( | double | x, |
double | z, | ||
WAVE_TYPE | wType, | ||
MigrCell *& | grid, | ||
int & | size | ||
) |
(x,z)-point migration grid calculation (TRUE - success)
bool RTMigr::GetMigrGrid | ( | double | x, |
double | z, | ||
WAVE_TYPE | wType, | ||
MigrInnerGrid & | grid | ||
) |
(x,z)-point migration grid calculation (TRUE - success). Does not use seismic object (can be simply used to cover 2d space with rays).
bool RTMigr::GetMigrGridRec | ( | int | recNum, |
MigrCell *& | grid, | ||
int & | size | ||
) |
reciever migration grid calculation (TRUE - success)
bool RTMigr::GetMigrGridSP | ( | int | sp_num, |
MigrCell *& | grid, | ||
int & | size | ||
) |
shot point migration grid calculation (TRUE - success)
|
inline |
returns pointer to the 2d-model
bool RTMigr::GetReady | ( | ) |
returns object status flag (UNUSED)
AbstractSeis* RTMigr::GetSeis | ( | ) |
returns pointer to the special object, containing seismic traces information
void RTMigr::RecalculateIPGrid | ( | MigrInnerGrid | ip_grid | ) |
incident points grid analysis and recalculation: if the cell contains a few angle-time data, they would be averaged