UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
polycor_old.hpp
1 /* polycor.hpp */
2 /* $Id$ */
3 #ifndef __polycor_old_hpp
4 #define __polycor_old_hpp
5 
6 #include <map>
7 #include <utility>
8 
9 #ifdef GE_BUILD
10 #include <trace.hpp>
11 #else
12 #include <s2proc/trace.hpp>
13 #endif
14 
15 namespace polycor_old
16 {
17 
18 namespace PSC
19 {
20 
21  enum SortType
22  {
23  CS=0,
24  CR,
25  CM,
26  Offset
27  };
28 
29 
30  // fixed CCF1 row
31  typedef std::map<int, std::pair<int, float> > CCF1_ROW;
32  // key: index of RP
33  // value: first->index correcponded to CCF1 body in TrSet, second-> max value of CCF1
34 
35  // array of CCF1 rows in current stride
36  typedef std::map<int, CCF1_ROW> ROW_AR;
37  // key: index of fixed CCF1 row
38  // value: CCF1_ROW
39 
40  // array of all strides
41  typedef std::map<int, ROW_AR> STRIDE_AR;
42  // key: stride num
43  // value: array of CCF1 rows in current stride
44 
45 
46  // container for formed sum row
47  // key: NRP id for CCF1 row (NSP id for CCF2 row)
48  //value: body of CCF1 (CCF2 in case of CCF2 row)
49  typedef std::map<int, Trace> ROW;
50 
51 
52  // determines maximum of CCF1 in window limited by window [midle - max_shift, midle + max_shift]
53  bool get_max_in_win(float *samples, int samples_count, int max_shift, std::pair<int, float> &max_pair);
54 
55  bool get_intersection(const ROW &add_row, const ROW &sum_row, float &intersection);
56 
57  bool stack_rows(ROW &recv_row, ROW &add_row, float max_shift, std::map<int, int> &count_ar, Trace &ccf2, bool stack);
58 };
59 
60 };
61 
62 #endif /* polycor_old.hpp */
Definition: trace.hpp:14