3 #ifndef __accumulator_hpp
4 #define __accumulator_hpp
7 #include <s2_abstract_db_access.hpp>
9 #include <s2_traces_quality.hpp>
10 #include <s2_row_gen.hpp>
12 #include <s2proc/s2_abstract_db_access.hpp>
13 #include <s2proc/polycor.hpp>
14 #include <s2proc/s2_traces_quality.hpp>
15 #include <s2proc/s2_row_gen.hpp>
18 typedef std::set<std::pair<int, int> > ROW_IDS;
20 typedef std::map<int, ROW_IDS> STRIDE_ID_MAP;
22 typedef std::map<int, STRIDE_ID_MAP> ID_MAP;
34 bool operator()(std::map<int, PSC::ROW> &recv_rows,
35 std::map<int, PSC::ROW> &shot_rows)
const;
42 bool form_index_map(PSC::StMode mode,
43 ID_MAP &shots_pair_ids,
44 ID_MAP &recvs_pair_ids)
const;
47 bool append_indexes(PSC::StMode mode,
48 const std::set<int> &outer_ids,
49 const std::set<int> &inner_ids,
51 ID_MAP &result_pair_ids)
const;
55 bool stack_rows(PSC::StMode mode,
56 PSC::Direction row_dir,
57 const ID_MAP &pair_map,
58 std::map<int, PSC::ROW> &shot_rows,
59 std::map<int, PSC::ROW> &recv_rows)
const;
64 bool prepare_rows_queue(
const ID_MAP &pair_map,
66 const std::map<int, Trace::AmplT>& rows_weights,
67 std::vector<std::pair<int, int> >& rows_queue)
const;
71 bool construct_result_rows(PSC::StMode mode,
72 PSC::Direction row_dir,
73 const ID_MAP &pair_map,
74 const std::vector<std::pair<int, int> >& rows_queue,
75 const std::map<int, Trace::AmplT>& rows_weights,
76 const std::map<int, Trace::AmplT>& offset_weights,
77 const std::map<int, Trace::AmplT>& cmps_weights,
78 PSC::ROW &sum_ccf1_row,
79 PSC::ROW &sum_ccf2_row)
const;
83 bool calculate_row(PSC::StMode mode,
84 PSC::Direction row_dir,
87 const ROW_IDS& row_traces,
92 bool stack_row_pair(PSC::ROW &base_row,
100 bool get_id_intersection(
const ROW_IDS &add_id_pair,
const ROW_IDS &base_id_pair,
float &intersection)
const;
106 bool integrate_rows(
const PSC::ROWS_MAP &calculated_rows, std::map<int, PSC::ROW> &result_rows)
const;
109 bool get_base_shift(PSC::Direction row_dir,
int row_id,
int stride,
int& shift)
const;
Definition: s2_abstract_db_access.hpp:15
Definition: accumulator.hpp:24
Definition: polycor.hpp:19
Definition: s2_traces_quality.hpp:17