UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
s2_traces_quality_3d.hpp
1 /* s2_traces_quality_3d.hpp */
2 /* $Id$ */
3 #ifndef __s2_traces_quality_3d_hpp
4 #define __s2_traces_quality_3d_hpp
5 
6 #include <map>
7 
8 #ifdef GE_BUILD
9 #include <s2_abstract_db_access.hpp>
10 #include <s2_traces_quality.hpp>
11 #include <polycor.hpp>
12 #else
13 #include <s2proc/s2_abstract_db_access.hpp>
14 #include <s2proc/s2_traces_quality.hpp>
15 #include <s2proc/polycor.hpp>
16 #endif
17 
20 {
21 public:
22 
24  typedef
25  std::map<int, // TA_NSL
26  std::map<int, // TA_NSS
27  std::map<int, // TA_NRL
28  std::map<int, // TA_NRS
29  std::map<PSC::Direction, S2TracesQuality::QP>
30  >
31  >
32  >
34 
36  S2TracesQuality3D(const S2AbstractDBAccess &dba_if, const Trace::TimeT &max_time_range, int stride);
37 
40 
41 
44  bool append(const Trace &tr);
45 
46 
49  const S2TracesQuality::QP& getQP(int nsl, int nss, int nrl, int nrs, PSC::Direction dir, bool *rc = 0x0) const;
50 
51 
53  const Quality& getQuality() const {return m_quality;}
54 
55 
61  bool getWeightsDistribution(PSC::Direction avg_dir, PSC::Direction shift_dir,
62  std::multimap<Trace::AmplT,std::pair<int, int> > &weights) const;
63 
64 
65 protected:
66 
69 
72 
74  int m_stride;
75 
77  S2AbstractDBAccess *mp_dba_if;
78 
79 private:
80 
83  bool obtain_qp(int nsl, int nss, int nrl, int nrs, PSC::Direction dir,
84  const Trace &tr, S2TracesQuality::QP &qp);
85 
87  static const S2TracesQuality::QP m_default_qp;
88 };
89 
90 #endif /* s2_traces_quality_3d.hpp */
float AmplT
Definition: trace.hpp:21
std::map< int, std::map< int, std::map< int, std::map< int, std::map< PSC::Direction, S2TracesQuality::QP > > > > > Quality
Definition: s2_traces_quality_3d.hpp:33
Quality m_quality
Definition: s2_traces_quality_3d.hpp:68
float TimeT
Definition: trace.hpp:22
Definition: s2_abstract_db_access.hpp:15
const Quality & getQuality() const
Definition: s2_traces_quality_3d.hpp:53
int m_stride
Definition: s2_traces_quality_3d.hpp:74
const S2TracesQuality::QP & getQP(int nsl, int nss, int nrl, int nrs, PSC::Direction dir, bool *rc=0x0) const
Definition: trace.hpp:14
Definition: s2_traces_quality.hpp:22
S2TracesQuality3D(const S2AbstractDBAccess &dba_if, const Trace::TimeT &max_time_range, int stride)
Trace::TimeT m_max_time_range
Definition: s2_traces_quality_3d.hpp:71
Definition: s2_traces_quality_3d.hpp:19
bool getWeightsDistribution(PSC::Direction avg_dir, PSC::Direction shift_dir, std::multimap< Trace::AmplT, std::pair< int, int > > &weights) const
bool append(const Trace &tr)