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

#include <u3d_migr.hpp>

Inheritance diagram for U3dMigr:
U3dMigrRayShooter U3dMigrRayShooter U3dAbstractRayShooter U3dAbstractRayShooter U3dAbstractRayShooter U3dAbstractRayShooter U3dRayDynCalculator U3dRayDynCalculator U3dRayDynCalculator U3dRayDynCalculator U3dRayDynCalculator U3dRayDynCalculator U3dRayDynCalculator U3dRayDynCalculator

Public Member Functions

 U3dMigr (U3dModel *model, U3dAbstractSeis *seis, float stpX, float stpY, float stpZ, double dfe, double mAngle, U3D_MIGR_TYPE mt, bool slave=true)
 
void initMigrCube (ushort imx, ushort jmx, ushort kmx)
 
bool getMigrCubeSP (int sp_num, MigrCell *&cube, int &size)
 
bool getMigrCubeRec (int recNum, MigrCell *&cube, int &size)
 
bool getMigrCube (U3dPoint p, U3D_WAVE_TYPE wType)
 
bool getMigrCubeDummy (U3dPoint p, U3D_WAVE_TYPE wType)
 
void compMigrGrid (MigrCell *grid1, int size1, MigrCell *grid2, int size2, int recId, IPCell *&ip_info, int &ip_cell_num, int i_beg=-1, int i_end=-1)
 
void addIPInfo (MigrDataCube ip_data, IPCell *ip_info, int ip_cell_num)
 
void recalculateIPGrid (MigrDataCube ip_data)
 
bool loadSPTraces (int spId)
 
double getIPValue (const IPCell &ip_cell)
 
void calculateImageBox ()
 
ushort getIMax ()
 
ushort getJMax ()
 
ushort getKMax ()
 
void getSteps (float &step_x, float &step_y, float &step_z)
 
U3dAbstractSeisgetSeis ()
 
bool getReady ()
 
bool formMigrGrid (MigrCell *&grid, int &size)
 
void cleanMigrCube ()
 
void freeMigrCube ()
 
void freeNormCube ()
 
MigrDataCube accessMigrCube ()
 
void cleanMigrChildren ()
 
U3dRaytestRayShoot (U3dPoint startP, double f, double az, U3dCodeAr rCode, bool waySave)
 
time_t startTimer ()
 
void stopTimer (time_t beg, const char *message)
 
void prepareSecondStage ()
 
void prepareThirdStage ()
 
 U3dMigr (U3dModel *model, U3dAbstractSeis *seis, float stpX, float stpY, float stpZ, double dfe, double mAngle, U3D_MIGR_TYPE mt, bool slave=true)
 
void initMigrCube (ushort imx, ushort jmx, ushort kmx)
 
bool getMigrCubeSP (int sp_num, MigrCell *&cube, int &size)
 
bool getMigrCubeRec (int recNum, MigrCell *&cube, int &size)
 
bool getMigrCube (U3dPoint p, U3D_WAVE_TYPE wType)
 
bool getMigrCubeDummy (U3dPoint p, U3D_WAVE_TYPE wType)
 
void compMigrGrid (MigrCell *grid1, int size1, MigrCell *grid2, int size2, int recId, IPCell *&ip_info, int &ip_cell_num, int i_beg=-1, int i_end=-1)
 
void addIPInfo (MigrDataCube ip_data, IPCell *ip_info, int ip_cell_num)
 
void recalculateIPGrid (MigrDataCube ip_data)
 
bool loadSPTraces (int spId)
 
double getIPValue (const IPCell &ip_cell)
 
void calculateImageBox ()
 
ushort getIMax ()
 
ushort getJMax ()
 
ushort getKMax ()
 
void getSteps (float &step_x, float &step_y, float &step_z)
 
U3dAbstractSeisgetSeis ()
 
bool getReady ()
 
bool formMigrGrid (MigrCell *&grid, int &size)
 
void cleanMigrCube ()
 
void freeMigrCube ()
 
void freeNormCube ()
 
MigrDataCube accessMigrCube ()
 
void cleanMigrChildren ()
 
U3dRaytestRayShoot (U3dPoint startP, double f, double az, U3dCodeAr rCode, bool waySave)
 
time_t startTimer ()
 
void stopTimer (time_t beg, const char *message)
 
void prepareSecondStage ()
 
void prepareThirdStage ()
 
- Public Member Functions inherited from U3dMigrRayShooter
 U3dMigrRayShooter (U3dModel *mod3d, URayReflCoefType coeff_type=ZOEPPRITZ)
 
U3dRayrayShoot (U3dPoint startP, double f, double az, U3dCodeAr rCode, bool waySave)
 
U3dBoxgetImageBox ()
 
 U3dMigrRayShooter (U3dModel *mod3d, U3dReflCoefType coeff_type=ZOEPPRITZ)
 
U3dRayrayShoot (U3dPoint startP, double f, double az, U3dCodeAr rCode, bool waySave)
 
U3dBoxgetImageBox ()
 
- Public Member Functions inherited from U3dAbstractRayShooter
 U3dAbstractRayShooter (U3dModel *mod3d, URayReflCoefType coeff_type=ZOEPPRITZ)
 
bool findNextCell (int faceId, int &condId, int &i, int &j, int &filled_cells_num, int &shadow_cells_num, int &conf_type, int debug_level=0)
 
bool findNextCleanCell (int faceId, int &confId, int &resI, int &resJ, int &filled_cells_num, int &shadow_cells_num, int &conf_type, int debug_level=0)
 
bool checkFaceZone (int faceId, int zoneId, int conf, int &conf_type, int &resI, int &recJ)
 
bool coverConf (int confId, int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c, int conf_type)
 
bool coverNhbCCross (int faceId, int ni, int nj, U3dPoint p, U3dCodeAr c, int &resi, int &resj)
 
bool coverNhbC1 (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c)
 
bool coverNhbC2 (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c)
 
bool shootNhbC2Cross (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c, int i_n0, int j_n0, int i_n1, int j_n1)
 
bool coverNhbC3 (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c, int conf_type)
 
bool coverNhbC4 (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c)
 
bool coverNhbC5 (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c)
 
bool coverNhbCSpiral (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c)
 
int checkConf (int i0, int j0, int faceId)
 
bool checkConf (int confId, int i0, int j0, int faceId, int &conf_type)
 
bool checkConf1 (int i0, int j0, int faceId)
 
bool checkConf2 (int i0, int j0, int faceId)
 
bool checkConf3 (int i0, int j0, int faceId, int &conf_type)
 
bool checkConf4 (int i0, int j0, int faceId)
 
bool checkConf5 (int i0, int j0, int faceId)
 
bool checkConf6 (int i0, int j0, int faceId)
 
bool find2FilledNhbC3 (int faceId, int i0, int j0, int conf_type, int &i_n0, int &j_n0, int &i_n1, int &j_n1)
 
bool find3FilledNhbC4 (int faceId, int i0, int j0, int &i_n0, int &j_n0, int &i_n1, int &j_n1, int &i_n2, int &j_n2)
 
bool find3FilledNhbC5 (int faceId, int i0, int j0, int &i_n0, int &j_n0, int &i_n1, int &j_n1, int &i_n2, int &j_n2)
 
bool calcNhbCPlaneAngles (int faceId, int i0, int j0, int i_n0, int j_n0, int i_n1, int j_n1, int i_n2, int j_n2, float &stF, float &stAz)
 
void printConfCell (int i0, int j0, int faceId, int confId=3)
 
void printCellNhbC (int i0, int j0, int faceId, int nhb_num=7)
 
int checkNhbCell (int faceId, int i0, int j0)
 
int shootNcheckPh1 (int faceId, U3dPoint p, float f, float az, int ni, int nj, U3dCodeAr c, int &resI, int &resJ)
 
bool shootNcheckPh2 (int faceId, U3dPoint p, float f, float az, int i0, int j0, U3dCodeAr c, int &resI, int &resJ)
 
bool findFilledNhbCell (int faceId, int &i, int &j)
 
bool findFilledFaceNhbCell (U3dPoint p, int faceId, U3dCodeAr c, int &resI, int &resJ)
 
bool findCleanNhbCell (int faceId, int &i, int &j, int &filled_cells_num, int &shadow_cells_num)
 
bool isFaceCellClean (int i, int j, int faceId)
 
bool isFaceCellShadowed (int i, int j, int faceId)
 
bool isFaceCellFilled (int i, int j, int faceId)
 
char getCellStatus (int i, int j, int faceId)
 
virtual void getFaceCellIJ (U3dPoint p, int faceId, int &i, int &j)
 
virtual void formFaceActiveZones (int faceId)
 
 U3dAbstractRayShooter (U3dModel *mod3d, U3dReflCoefType coeff_type=ZOEPPRITZ)
 
bool findNextCell (int faceId, int &condId, int &i, int &j, int &filled_cells_num, int &shadow_cells_num, int &conf_type, int debug_level=0)
 
bool findNextCleanCell (int faceId, int &confId, int &resI, int &resJ, int &filled_cells_num, int &shadow_cells_num, int &conf_type, int debug_level=0)
 
bool checkFaceZone (int faceId, int zoneId, int conf, int &conf_type, int &resI, int &recJ)
 
bool coverConf (int confId, int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c, int conf_type)
 
bool coverNhbCCross (int faceId, int ni, int nj, U3dPoint p, U3dCodeAr c, int &resi, int &resj)
 
bool coverNhbC1 (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c)
 
bool coverNhbC2 (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c)
 
bool shootNhbC2Cross (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c, int i_n0, int j_n0, int i_n1, int j_n1)
 
bool coverNhbC3 (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c, int conf_type)
 
bool coverNhbC4 (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c)
 
bool coverNhbC5 (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c)
 
bool coverNhbCSpiral (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c)
 
int checkConf (int i0, int j0, int faceId)
 
bool checkConf (int confId, int i0, int j0, int faceId, int &conf_type)
 
bool checkConf1 (int i0, int j0, int faceId)
 
bool checkConf2 (int i0, int j0, int faceId)
 
bool checkConf3 (int i0, int j0, int faceId, int &conf_type)
 
bool checkConf4 (int i0, int j0, int faceId)
 
bool checkConf5 (int i0, int j0, int faceId)
 
bool checkConf6 (int i0, int j0, int faceId)
 
bool find2FilledNhbC3 (int faceId, int i0, int j0, int conf_type, int &i_n0, int &j_n0, int &i_n1, int &j_n1)
 
bool find3FilledNhbC4 (int faceId, int i0, int j0, int &i_n0, int &j_n0, int &i_n1, int &j_n1, int &i_n2, int &j_n2)
 
bool find3FilledNhbC5 (int faceId, int i0, int j0, int &i_n0, int &j_n0, int &i_n1, int &j_n1, int &i_n2, int &j_n2)
 
bool calcNhbCPlaneAngles (int faceId, int i0, int j0, int i_n0, int j_n0, int i_n1, int j_n1, int i_n2, int j_n2, float &stF, float &stAz)
 
void printConfCell (int i0, int j0, int faceId, int confId=3)
 
void printCellNhbC (int i0, int j0, int faceId, int nhb_num=7)
 
int checkNhbCell (int faceId, int i0, int j0)
 
int shootNcheckPh1 (int faceId, U3dPoint p, float f, float az, int ni, int nj, U3dCodeAr c, int &resI, int &resJ)
 
bool shootNcheckPh2 (int faceId, U3dPoint p, float f, float az, int i0, int j0, U3dCodeAr c, int &resI, int &resJ)
 
bool findFilledNhbCell (int faceId, int &i, int &j)
 
bool findFilledFaceNhbCell (U3dPoint p, int faceId, U3dCodeAr c, int &resI, int &resJ)
 
bool findCleanNhbCell (int faceId, int &i, int &j, int &filled_cells_num, int &shadow_cells_num)
 
bool isFaceCellClean (int i, int j, int faceId)
 
bool isFaceCellShadowed (int i, int j, int faceId)
 
bool isFaceCellFilled (int i, int j, int faceId)
 
char getCellStatus (int i, int j, int faceId)
 
virtual void getFaceCellIJ (U3dPoint p, int faceId, int &i, int &j)
 
virtual void formFaceActiveZones (int faceId)
 
- Public Member Functions inherited from U3dRayDynCalculator
 U3dRayDynCalculator (U3dModel *mod3d, URayReflCoefType coeff_type=ZOEPPRITZ)
 
double calcRTRCoeff (U3dRay *ray, int debug_level=0)
 
- Public Member Functions inherited from U3dRayTracing
 U3dRayTracing (U3dModel *mod3d)
 
bool snellius (double vin, double teta0, double az, double vout, int rtr, double iAngle, double iAz, double &teta1, double &az1)
 
U3dModelgetModel () const
 
 U3dRayTracing (U3dModel *mod3d)
 
bool snellius (double vin, double teta0, double az, double vout, int rtr, double iAngle, double iAz, double &teta1, double &az1)
 
U3dModelgetModel () const
 

Additional Inherited Members

- Public Types inherited from U3dAbstractRayShooter
typedef std::vector< ARSFaceZoneARSFaceZonesAr
 
typedef std::vector< ARSFaceZoneARSFaceZonesAr
 
- Public Attributes inherited from U3dAbstractRayShooter
ARSFaceZonesAr m_face_active_zones
 
- Protected Member Functions inherited from U3dMigrRayShooter
void markCell (ushort i, ushort j, ushort k, double f, double az, double t)
 
void addRayPoint (U3dPoint p0, U3dRayPoint rp1, U3D_WAVE_TYPE wType, double dt)
 
void addRayPoint2D (int ind1_0, int ind2_0, int ind1_cur, int ind2_cur, int ind1_step, int ind2_step, double coord1_step, double coord2_step, double coord1_2_mul, double coord2_1_mul, double coord3_1_mul, double coord3_2_mul, int ind_const, U3dRayPoint rp0, int plane, U3D_WAVE_TYPE wt, double end_time)
 
void setCurrentStartAngles (U3dPoint sp, double f, double az)
 
bool getCellIJK (U3dPoint point, ushort &i, ushort &j, ushort &k)
 
void getCellI (U3dPoint p, ushort &i)
 
void getCellJ (U3dPoint p, ushort &j)
 
void getCellK (U3dPoint p, ushort &k)
 
int getFaceId (U3dRay *r)
 
int getFaceIMax (int faceId)
 
int getFaceJMax (int faceId)
 
void getFaceCellIJ (U3dRay *r, int faceId, int &i, int &j)
 
void setShadowedFlag (int i, int j, int faceId)
 
float getFaceCellT (int i, int j, int faceId)
 
float getFaceCellStF (int i, int j, int faceId)
 
float getFaceCellStAz (int i, int j, int faceId)
 
MigrInnerCell getFaceCell (int i, int j, int faceId)
 
void markCell (ushort i, ushort j, ushort k, double f, double az, double t)
 
void addRayPoint (U3dPoint p0, U3dRayPoint rp1, U3D_WAVE_TYPE wType, double dt)
 
void addRayPoint2D (int ind1_0, int ind2_0, int ind1_cur, int ind2_cur, int ind1_step, int ind2_step, double coord1_step, double coord2_step, double coord1_2_mul, double coord2_1_mul, double coord3_1_mul, double coord3_2_mul, int ind_const, U3dRayPoint rp0, int plane, U3D_WAVE_TYPE wt, double end_time)
 
void setCurrentStartAngles (U3dPoint sp, double f, double az)
 
bool getCellIJK (U3dPoint point, ushort &i, ushort &j, ushort &k)
 
void getCellI (U3dPoint p, ushort &i)
 
void getCellJ (U3dPoint p, ushort &j)
 
void getCellK (U3dPoint p, ushort &k)
 
int getFaceId (U3dRay *r)
 
int getFaceIMax (int faceId)
 
int getFaceJMax (int faceId)
 
void getFaceCellIJ (U3dRay *r, int faceId, int &i, int &j)
 
void setShadowedFlag (int i, int j, int faceId)
 
float getFaceCellT (int i, int j, int faceId)
 
float getFaceCellStF (int i, int j, int faceId)
 
float getFaceCellStAz (int i, int j, int faceId)
 
MigrInnerCell getFaceCell (int i, int j, int faceId)
 
- Protected Member Functions inherited from U3dRayDynCalculator
dcomplex getZoeppritzCoeff (double p1, U3D_WAVE_TYPE wt1, U3D_WAVE_TYPE wt2, bool transfer, double ro1, double vp1, double vs1, double ro2, double vp2, double vs2)
 
dcomplex cdet4 (dcomplex(*L4)[4])
 
U3D_RTR_TYPE getRTRType (U3D_WAVE_TYPE wt0, U3D_WAVE_TYPE wt1)
 
double getApproxCoeff (int rtr_type, double f0, double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getAkiRichardsCoeff (int rtr_type, double f0, double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getAkiRichardsRDir (double f, double v0, double den0, double v1, double den1)
 
double getAkiRichardsRPPup (double f0, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getAkiRichardsRPSup (double f0, double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getAkiRichardsRPSdown (double f0, double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getAkiRichardsRPS (double f0, double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1, bool up=true)
 
double getAkiRichardsRSSup (double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getAkiRichardsRSPup (double f0, double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getAkiRichardsRSPdown (double f0, double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getShueyCoeff (int rtr_type, double f0, double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getShueyRDir (double f, double v0, double den0, double v1, double den1)
 
double getShueyRPPup (double f0, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getShueyRPSup (double f0, double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getShueyRPSdown (double f0, double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getShueyRSSup (double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getShueyRSPup (double f0, double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getShueyRSPdown (double f0, double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getA (double B, double sigma)
 
double getR0 (double vp0, double vp1, double den0, double den1)
 
double getB (double vp0, double vp1, double R0)
 
double getPoissonsRatio (double vp, double vs)
 
- Protected Member Functions inherited from U3dRayTracing
U3D_STEP_RESULT RayStep (U3dRayPoint &rp, double df, double &dt, double &iAngle, double &iAz, double &iCurvity, int &iBoundNum, U3D_WAVE_TYPE vPS, bool prevInt, bool noIntersect=false)
 
U3D_STEP_RESULT rayStep (U3dRayPoint &rp, double df, double &dt, double &iAngle, double &iAz, double &iCurvity, int &iBoundNum, int &bn1, int &bn2, U3D_WAVE_TYPE vPS, bool prevInt, bool noIntersect=false)
 
bool intersectCellTriangles (const U3dGridCell *cell, U3dPoint p1, U3dPoint p2, U3dPoint &ip, int &iBoundNum, double &iAngle, double &iAz, int debug_level=0)
 
bool processNeighbourCells (const U3dGridCell *cell1, const U3dGridCell *cell2, U3dPoint p1, U3dPoint p2, U3dPoint &ip, int &iBoundNum, double &iAngle, double &iAz, int debug_level=0)
 
double getTime (U3dPoint p0, U3dPoint p1, double v0)
 
bool stepOnRay (U3dRayPoint p1, U3dRayPoint &p2, double df, U3D_WAVE_TYPE vPS, bool prevInt, double &vel)
 
void stepOnChord (double k, double fK, double azK, double df, double vel, U3dRayPoint rp0, U3dRayPoint &rp1)
 
void CalcIntParams (U3dRayPoint p, U3dPoint p0, int rtr, U3dPoint &p1)
 
void calcIntNeighPoints (U3dPoint p_int, double f, double az, U3dPoint &p0, U3dPoint &p1)
 
void getEndPoint (U3dPoint p0, U3dPoint &p1)
 
U3D_STEP_RESULT RayStep (U3dRayPoint &rp, double df, double &dt, double &iAngle, double &iAz, double &iCurvity, int &iBoundNum, U3D_WAVE_TYPE vPS, bool prevInt, bool noIntersect=false)
 
U3D_STEP_RESULT rayStep (U3dRayPoint &rp, double df, double &dt, double &iAngle, double &iAz, double &iCurvity, int &iBoundNum, int &bn1, int &bn2, U3D_WAVE_TYPE vPS, bool prevInt, bool noIntersect=false)
 
bool intersectCellTriangles (const U3dGridCell *cell, U3dPoint p1, U3dPoint p2, U3dPoint &ip, int &iBoundNum, double &iAngle, double &iAz, int debug_level=0)
 
bool processNeighbourCells (const U3dGridCell *cell1, const U3dGridCell *cell2, U3dPoint p1, U3dPoint p2, U3dPoint &ip, int &iBoundNum, double &iAngle, double &iAz, int debug_level=0)
 
double getTime (U3dPoint p0, U3dPoint p1, double v0)
 
bool stepOnRay (U3dRayPoint p1, U3dRayPoint &p2, double df, U3D_WAVE_TYPE vPS, bool prevInt, double &vel)
 
void stepOnChord (double k, double fK, double azK, double df, double vel, U3dRayPoint rp0, U3dRayPoint &rp1)
 
void CalcIntParams (U3dRayPoint p, U3dPoint p0, int rtr, U3dPoint &p1)
 
void calcIntNeighPoints (U3dPoint p_int, double f, double az, U3dPoint &p0, U3dPoint &p1)
 
void getEndPoint (U3dPoint p0, U3dPoint &p1)
 
- Protected Attributes inherited from U3dMigrRayShooter
MigrDataCube m_migr_cube
 
U3dBox m_imageBox
 
float m_stepX
 
float m_stepY
 
float m_stepZ
 
ushort m_i_max
 
ushort m_j_max
 
ushort m_k_max
 
double m_curStF
 
double m_curStAz
 
U3dPoint m_curSP
 
- Protected Attributes inherited from U3dRayDynCalculator
URayReflCoefType m_coeff_type
 
- Protected Attributes inherited from U3dRayTracing
U3dModelm_model
 
U3dBoxm_modelBox
 
double dl
 

Detailed Description

Special object for all migration calculations

Member Function Documentation

void U3dMigr::addIPInfo ( MigrDataCube  ip_data,
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 (UNUSED)

void U3dMigr::addIPInfo ( MigrDataCube  ip_data,
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 (UNUSED)

void U3dMigr::calculateImageBox ( )
virtual

Calculates migration image box (according to the SP and REC coordinates)

Reimplemented from U3dMigrRayShooter.

void U3dMigr::calculateImageBox ( )
virtual

Calculates migration image box (according to the SP and REC coordinates)

Reimplemented from U3dMigrRayShooter.

void U3dMigr::cleanMigrCube ( )

Cleans all children in migration cube

void U3dMigr::cleanMigrCube ( )

Cleans all children in migration cube

void U3dMigr::compMigrGrid ( MigrCell grid1,
int  size1,
MigrCell grid2,
int  size2,
int  recId,
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

void U3dMigr::compMigrGrid ( MigrCell grid1,
int  size1,
MigrCell grid2,
int  size2,
int  recId,
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

bool U3dMigr::formMigrGrid ( MigrCell *&  grid,
int &  size 
)

Reform 3d migration grid to a linear array

bool U3dMigr::formMigrGrid ( MigrCell *&  grid,
int &  size 
)

Reform 3d migration grid to a linear array

void U3dMigr::freeMigrCube ( )

Free memory, allocated for migration data cube

void U3dMigr::freeMigrCube ( )

Free memory, allocated for migration data cube

void U3dMigr::freeNormCube ( )

Free memory, allocated for normal 3d field

void U3dMigr::freeNormCube ( )

Free memory, allocated for normal 3d field

ushort U3dMigr::getIMax ( )

Returns maximal X-index of migration cell

ushort U3dMigr::getIMax ( )

Returns maximal X-index of migration cell

double U3dMigr::getIPValue ( const IPCell ip_cell)

Returns amplitude value for the cell [i][j][k]: for "shooted" reciever (mentioned in cell) 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 and well-in-ray direction (ip_cell->w_f, w_az)

double U3dMigr::getIPValue ( const IPCell ip_cell)

Returns amplitude value for the cell [i][j][k]: for "shooted" reciever (mentioned in cell) 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 and well-in-ray direction (ip_cell->w_f, w_az)

ushort U3dMigr::getJMax ( )

Returns maximal Y-index of migration cell

ushort U3dMigr::getJMax ( )

Returns maximal Y-index of migration cell

ushort U3dMigr::getKMax ( )

Returns maximal Z-index of migration cell

ushort U3dMigr::getKMax ( )

Returns maximal Z-index of migration cell

bool U3dMigr::getMigrCube ( U3dPoint  p,
U3D_WAVE_TYPE  wType 
)

Complex (x,y,z)-point migration grid calculation (TRUE - success)

bool U3dMigr::getMigrCube ( U3dPoint  p,
U3D_WAVE_TYPE  wType 
)

Complex (x,y,z)-point migration grid calculation (TRUE - success)

bool U3dMigr::getMigrCubeDummy ( U3dPoint  p,
U3D_WAVE_TYPE  wType 
)

Simple (x,y,z)-point migration grid calculation (TRUE - success)

bool U3dMigr::getMigrCubeDummy ( U3dPoint  p,
U3D_WAVE_TYPE  wType 
)

Simple (x,y,z)-point migration grid calculation (TRUE - success)

bool U3dMigr::getMigrCubeRec ( int  recNum,
MigrCell *&  cube,
int &  size 
)

Receiver migration grid calculation (TRUE - success)

bool U3dMigr::getMigrCubeRec ( int  recNum,
MigrCell *&  cube,
int &  size 
)

Receiver migration grid calculation (TRUE - success)

bool U3dMigr::getMigrCubeSP ( int  sp_num,
MigrCell *&  cube,
int &  size 
)

Shot point migration grid calculation (TRUE - success)

bool U3dMigr::getMigrCubeSP ( int  sp_num,
MigrCell *&  cube,
int &  size 
)

Shot point migration grid calculation (TRUE - success)

bool U3dMigr::getReady ( )

Returns object status flag (UNUSED)

bool U3dMigr::getReady ( )

Returns object status flag (UNUSED)

U3dAbstractSeis* U3dMigr::getSeis ( )

Returns pointer to the special object, containing seismic traces information

U3dAbstractSeis* U3dMigr::getSeis ( )

Returns pointer to the special object, containing seismic traces information

void U3dMigr::getSteps ( float &  step_x,
float &  step_y,
float &  step_z 
)

Returns coordinate steps of migration 3d-grid

void U3dMigr::getSteps ( float &  step_x,
float &  step_y,
float &  step_z 
)

Returns coordinate steps of migration 3d-grid

void U3dMigr::initMigrCube ( ushort  imx,
ushort  jmx,
ushort  kmx 
)

Allocates memory for migration data cube

void U3dMigr::initMigrCube ( ushort  imx,
ushort  jmx,
ushort  kmx 
)

Allocates memory for migration data cube

void U3dMigr::prepareSecondStage ( )

Prepares 3d field of fictive bounds normals for second stage; cleans 3d migration grid

void U3dMigr::prepareSecondStage ( )

Prepares 3d field of fictive bounds normals for second stage; cleans 3d migration grid

void U3dMigr::prepareThirdStage ( )

Cleans 3d field of fictive bounds normals

void U3dMigr::prepareThirdStage ( )

Cleans 3d field of fictive bounds normals

void U3dMigr::recalculateIPGrid ( MigrDataCube  ip_data)

Incident points grid analysis and recalculation: if the cell contains a few angle-time data, they would be averaged (UNUSED)

void U3dMigr::recalculateIPGrid ( MigrDataCube  ip_data)

Incident points grid analysis and recalculation: if the cell contains a few angle-time data, they would be averaged (UNUSED)


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