![]() |
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.
1.8.5