UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
S2ReflSim Class Reference

#include <s2_reflsim.hpp>

Classes

struct  AprItem
 
struct  CFElem
 
struct  KinParams
 
struct  Parameters
 

Public Types

enum  KinType { HYP = 0, AVEL }
 
typedef std::vector
< S2ReflSim::AprItem
AprVector
 
typedef std::vector
< S2ReflSim::KinParams
KPSVector
 
typedef std::vector< CFElemCFVector
 
typedef std::vector< CFVector > CFMatrix
 

Public Member Functions

 S2ReflSim ()
 
 S2ReflSim (const Parameters &params)
 
virtual ~S2ReflSim ()
 
Parameters getParameters ()
 
void setParameters (const Parameters &params)
 
Parametersparameters ()
 
void setApriorityKin (std::vector< S2ReflSim::AprItem > &apriority)
 
bool calcCorrField (WaveField &field, std::vector< CFVector > &corr)
 
bool calcCorrField (const std::vector< WaveField >::iterator &field_begin_it, const std::vector< WaveField >::iterator &field_end_it, CFMatrix &corr)
 
bool calcSim (WaveField &field, CFVector &sim_vec)
 
bool calcKinParams (const CFMatrix &corr, std::vector< KinParams > &kps)
 
bool calcPolyCoeffs (const std::vector< WaveField >::iterator &field_begin_it, const std::vector< WaveField >::iterator &field_end_it, std::vector< KinParams > &kps)
 
bool smoothKin (std::vector< KinParams > &kinparams, double smooth_coeff)
 
bool smoothPolyCoeffs (std::vector< KinParams > &kinparams, double smooth_coeff)
 
bool mfKin (std::vector< KinParams > &kinparams, double rejection)
 
bool apriorityKin (std::vector< KinParams > &kinparams, std::vector< S2ReflSim::AprItem > &apriority, size_t poly_deg)
 

Static Public Member Functions

static void applyKin (WaveField &field, const std::vector< KinParams > &kin_params, bool dir=true, double mul=1.)
 

Protected Member Functions

bool construct_hyp (const CFMatrix &cf, double t0, double dt, double p0, double dp, std::vector< KinParams > &kps)
 
void calc_kin_ranges (double t, double &pmn, double &pmx)
 

Protected Attributes

bool m_ready
 
Parameters m_params
 
std::vector< S2ReflSim::AprItemm_apriority_kin
 

Detailed Description

Calcuates reflection similarity for various number of seismograms

Member Enumeration Documentation

Type of kinematics parameters

Enumerator
HYP 

Hyperbolic parameters

AVEL 

Average velocities

Constructor & Destructor Documentation

S2ReflSim::S2ReflSim ( )

Defalult constructor, object is not ready.

S2ReflSim::S2ReflSim ( const Parameters params)

Construct object with provided parameters

virtual S2ReflSim::~S2ReflSim ( )
virtual

Destruct object

Member Function Documentation

static void S2ReflSim::applyKin ( WaveField field,
const std::vector< KinParams > &  kin_params,
bool  dir = true,
double  mul = 1. 
)
static

Apply kinematics from provided table, direction (true=direct) and multiplication koefficient to wavefield.

bool S2ReflSim::calcCorrField ( WaveField field,
std::vector< CFVector > &  corr 
)

Calculates correlation spectrum matrix for one field.

bool S2ReflSim::calcCorrField ( const std::vector< WaveField >::iterator &  field_begin_it,
const std::vector< WaveField >::iterator &  field_end_it,
CFMatrix &  corr 
)

Calculate average correlation spectrum for provided wavefields range. Return false on error.

bool S2ReflSim::calcKinParams ( const CFMatrix &  corr,
std::vector< KinParams > &  kps 
)

Calculate kinematic parameters for provided correlation field. Return false on error.

bool S2ReflSim::calcPolyCoeffs ( const std::vector< WaveField >::iterator &  field_begin_it,
const std::vector< WaveField >::iterator &  field_end_it,
std::vector< KinParams > &  kps 
)

Calculate polynomial coefficients for provided base of seismogramms and for kinematics with t0 and hyperbola parameters. Return false on error.

bool S2ReflSim::calcSim ( WaveField field,
CFVector &  sim_vec 
)

Calculates similarity vector for provided wavefield

bool S2ReflSim::construct_hyp ( const CFMatrix &  cf,
double  t0,
double  dt,
double  p0,
double  dp,
std::vector< KinParams > &  kps 
)
protected

Construct hyperbolic kinematics parameters for provided correlations matrix with time and kinparameters discretization

Parameters S2ReflSim::getParameters ( )
inline

Interface for parameters

bool S2ReflSim::mfKin ( std::vector< KinParams > &  kinparams,
double  rejection 
)

Reject kinematic table using median filter, return false on error.

void S2ReflSim::setApriorityKin ( std::vector< S2ReflSim::AprItem > &  apriority)
inline

Set kinematics apriority table

bool S2ReflSim::smoothKin ( std::vector< KinParams > &  kinparams,
double  smooth_coeff 
)

Smooth kinematic parameters table with provided smooth coefficient, return false on error.

Member Data Documentation

std::vector<S2ReflSim::AprItem> S2ReflSim::m_apriority_kin
protected

Kinematics apriority table

Parameters S2ReflSim::m_params
protected

Current calculation parameters

bool S2ReflSim::m_ready
protected

Is object ready for calculations


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