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
RTMigr Class Reference

#include <rt_migr.hpp>

Inheritance diagram for RTMigr:
RayTracing

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 ()
 
AbstractSeisGetSeis ()
 
MigrGridArea GetMGArea ()
 
Vel2dModelGetMod2d () const
 
bool GetReady ()
 

Detailed Description

Special object for all migration calculations

Member Function Documentation

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)

Vel2dModel* RTMigr::GetMod2d ( ) const
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


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