OpendTect  6.3
prestackprop.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: A.H. Bril
8  Date: Jan 2008
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "prestackprocessingmod.h"
14 
15 #include "datapack.h"
16 #include "enums.h"
17 #include "ranges.h"
18 #include "stattype.h"
19 
20 class Gather;
21 class SeisPSReader;
22 
23 namespace PreStack
24 {
25 
30 mExpClass(PreStackProcessing) PropCalc
31 {
32 public:
33 
34  enum CalcType { Stats, LLSQ };
36  enum AxisType { Norm, Log, Exp, Sqr, Sqrt, Abs, Sinsq };
38  enum LSQType { A0, Coeff, StdDevA0, StdDevCoeff,
39  CorrCoeff };
41 
42  mExpClass(PreStackProcessing) Setup
43  {
44  public:
45  Setup()
46  : calctype_(Stats)
47  , stattype_(Stats::Average)
48  , lsqtype_(A0)
49  , offsaxis_(Norm)
50  , valaxis_(Norm)
51  , offsrg_(0,mUdf(float))
52  , xscaler_(1.f)
53  , anglerg_(0,30)
54  , useangle_(false)
55  , aperture_(0) {}
56 
57  mDefSetupMemb(CalcType,calctype)
58  mDefSetupMemb(Stats::Type,stattype)
59  mDefSetupMemb(LSQType,lsqtype)
60  mDefSetupMemb(AxisType,offsaxis)
61  mDefSetupMemb(AxisType,valaxis)
63  mDefSetupMemb(float,xscaler)
65  mDefSetupMemb(bool,useangle)
66  mDefSetupMemb(int,aperture)
67  };
68  PropCalc(const Setup&);
69  virtual ~PropCalc();
70 
71  Setup& setup() { return setup_; }
72  const Setup& setup() const { return setup_; }
73  const Gather* getGather() const { return gather_; }
74 
75  bool hasAngleData() const { return angledata_; }
76  void setGather(DataPack::ID);
77  void setAngleData(DataPack::ID);
81  float getVal(int sampnr) const;
82  float getVal(float z) const;
83 
84  static float getVal(const PropCalc::Setup& su,
85  TypeSet<float>& vals,TypeSet<float>& offs);
86 
87 protected:
88 
89  void removeGather();
90 
95 
97 };
98 
99 } // namespace PreStack
#define mExpClass(module)
Definition: commondefs.h:157
FixedString Setup()
Definition: keystrs.h:113
mDeclareEnumUtils(CalcType) enum AxisType
Definition: prestackprop.h:35
PreStack gather.
Definition: prestackgather.h:28
CalcType
Definition: prestackprop.h:34
Definition: prestackagc.h:18
Calculates &#39;post-stack&#39; properties of a PreStack data store.
Definition: prestackprop.h:30
Definition: file.h:109
RefMan< Gather > gather_
Definition: prestackprop.h:91
unsigned int Abs(unsigned int i)
Definition: math2.h:78
Type
Definition: stattype.h:19
mDeclareEnumUtils(LSQType) class Setup
Definition: prestackprop.h:40
mDeclareEnumUtils(AxisType) enum LSQType
Definition: prestackprop.h:37
RefMan< Gather > angledata_
Definition: prestackprop.h:94
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:270
#define mDefSetupMemb(typ, memb)
Definition: commondefs.h:129
bool hasAngleData() const
Definition: prestackprop.h:75
Definition: stattype.h:22
const Setup & setup() const
Definition: prestackprop.h:72
Definition: prestackprop.h:34
int * outermutes_
Definition: prestackprop.h:93
Setup & setup()
Definition: prestackprop.h:71
Statistics.
Definition: array2dinterpol.h:27
float Exp(float)
Definition: groupedid.h:41
const Gather * getGather() const
Definition: prestackprop.h:73
reads from a prestack seismic data store.
Definition: seispsread.h:33
float Sqrt(float)
int * innermutes_
Definition: prestackprop.h:92
Setup setup_
Definition: prestackprop.h:96

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2017