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 ()
 
AbstractSeis * GetSeis ()
 
MigrGridArea GetMGArea ()
 
Vel2dModel * GetMod2d () 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: