UNIVERS
15.3
UNIVERS base processing software API
|
#include <psc_solver.hpp>
Classes | |
struct | Params |
struct | RowElem |
struct | TimeShift |
Public Types | |
enum | RowType { FIRST_ORDER_ROW_TYPE = 0, SECOND_ORDER_ROW_TYPE } |
typedef std::vector< RowElem > | RowElemVec |
typedef std::vector< TimeShift > | TimeShifts |
Public Member Functions | |
Solver (const Params ¶ms) | |
virtual | ~Solver () |
bool | operator() (const WaveField &row, TimeShifts &time_shifts) const |
bool | operator() (RowElemVec &row_elem_vec, TimeShifts &time_shifts) const |
void | setParameters (const Params ¶ms) |
const Params & | getParameters () const |
Protected Member Functions | |
void | update_eq_data (const WaveField &row, RowElemVec &row_elem_vec) const |
bool | determine_statics (const RowElemVec &row_elem_vec, TimeShifts &time_shifts) const |
std::set< int > | get_row_ids (const RowElemVec &row_elem_vec) const |
bool | get_eq_row (const RowElem &row_elem, const std::set< int > &ids_set, std::vector< Trace::AmplT > &row_vec, Trace::TimeT &rp_elem) const |
bool | remove_low_freq (const size_t polynomial_degree, RowElemVec &row_elem_vec) const |
bool | remove_low_freq (const size_t polynomial_degree, RowElemVec::iterator elem_it1, RowElemVec::iterator elem_it2) const |
bool | remove_trend (const size_t trend_polynomial_degree, TimeShifts &time_shifts) const |
void | test_la_to_files (const std::string &matr_fname, const std::string &vec_fname, const LaGenMatDouble &Am, const LaVectorDouble &bv) const |
Protected Attributes | |
Params | m_params |
Solve POLYCOR linear system using provided CCFs row.
typedef std::vector<RowElem> psc::Solver::RowElemVec |
Data for equations.
typedef std::vector<TimeShift> psc::Solver::TimeShifts |
Time shifts vector.
enum psc::Solver::RowType |
psc::Solver::Solver | ( | const Params & | params | ) |
Constructor with type of row provided.
|
virtual |
Destructor.
|
protected |
Determine statics from provided vector of row elements. Return false on error.
|
protected |
Get linear system equation row and right part vector element.
|
protected |
Get all indexies from provided vector of row elements.
const Params& psc::Solver::getParameters | ( | ) | const |
Get current parameters.
bool psc::Solver::operator() | ( | const WaveField & | row, |
TimeShifts & | time_shifts | ||
) | const |
Computes time shifts from provided CCFs row.
bool psc::Solver::operator() | ( | RowElemVec & | row_elem_vec, |
TimeShifts & | time_shifts | ||
) | const |
Computes time shifts from provided vector of row elements.
|
protected |
Remove low frequency using polynomial approximation
from provided time shifts of vector of row elements.
|
protected |
Remove low freq from time shifts of provided range of vector of row elements.
Return false on error.
|
protected |
Remove trend from provided time shifts (Using least squares linear approximation).
Return false on error.
void psc::Solver::setParameters | ( | const Params & | params | ) |
Set parameters.
|
protected |
Update equations data from provided accumulated CCFs row.
|
protected |
< Current parameters.