3 #ifndef __psc_solver_hpp 
    4 #define __psc_solver_hpp 
   10 #include <lapackpp/laslv.h> 
   11 #include <lapackpp/laexcp.h> 
   14 #include <wave_field.hpp> 
   16 #include <s2proc/wave_field.hpp> 
   44       int id1, id2, id3, 
id4; 
 
   47       static bool stride_asc_id1_asc_comp(
const RowElem &re1, 
const RowElem &re2) 
 
   49     int stride1 = abs(re1.id2 - re1.id1);
 
   50     int stride2 = abs(re2.id2 - re2.id1);
 
   52     if (stride1 < stride2)
 
   54     else if (stride1 > stride2)
 
   57       return (re1.id1 < re2.id1);
 
  137             std::vector<Trace::AmplT> &row_vec, 
Trace::TimeT &rp_elem) 
const;
 
  146              RowElemVec::iterator elem_it1,
 
  147              RowElemVec::iterator elem_it2) 
const;
 
  154     void test_la_to_files(
const std::string &matr_fname, 
const std::string &vec_fname, 
 
  155               const LaGenMatDouble &Am, 
const LaVectorDouble &bv) 
const;    
 
RowType
Definition: psc_solver.hpp:28
 
Definition: psc_solver.hpp:68
 
void setParameters(const Params ¶ms)
 
Trace::TimeT max_time_shift
Definition: psc_solver.hpp:83
 
Params m_params
Definition: psc_solver.hpp:121
 
Definition: psc_solver.hpp:42
 
RowType row_type
Definition: psc_solver.hpp:82
 
float TimeT
Definition: trace.hpp:22
 
std::vector< TimeShift > TimeShifts
Definition: psc_solver.hpp:65
 
std::pair< int, int > ids_range
Definition: psc_solver.hpp:91
 
void update_eq_data(const WaveField &row, RowElemVec &row_elem_vec) const 
 
int id4
Definition: psc_solver.hpp:44
 
unsigned int max_used_stride
Definition: psc_solver.hpp:85
 
Definition: psc_solver.hpp:31
 
bool remove_low_freq(const size_t polynomial_degree, RowElemVec &row_elem_vec) const 
 
Definition: psc_solver.hpp:30
 
Params()
Definition: psc_solver.hpp:71
 
const Params & getParameters() const 
 
std::vector< RowElem > RowElemVec
Definition: psc_solver.hpp:62
 
Definition: psc_solver.hpp:35
 
Trace::TimeT dt
Definition: psc_solver.hpp:38
 
Definition: wave_field.hpp:13
 
bool operator()(const WaveField &row, TimeShifts &time_shifts) const 
 
Trace::TimeT dt
Definition: psc_solver.hpp:45
 
size_t trend_polynomial_degree
Definition: psc_solver.hpp:88
 
size_t low_freq_polynomial_degree
Definition: psc_solver.hpp:90
 
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_trend(const size_t trend_polynomial_degree, TimeShifts &time_shifts) const 
 
bool remove_low_freq_flag
Definition: psc_solver.hpp:89
 
Solver(const Params ¶ms)
 
Definition: psc_solver.hpp:23
 
bool determine_statics(const RowElemVec &row_elem_vec, TimeShifts &time_shifts) const 
 
bool remove_trend_flag
Definition: psc_solver.hpp:87
 
int id
Definition: psc_solver.hpp:37
 
std::set< int > get_row_ids(const RowElemVec &row_elem_vec) const