OpendTect-6_4  6.4
prestacklateralstack.h
Go to the documentation of this file.
1 #ifndef prestacklateralstack_h
2 #define prestacklateralstack_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Bert Bril
9  Date: Nov 2006
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 
14 -*/
15 
16 #include "prestackprocessingmod.h"
17 #include "multiid.h"
18 #include "offsetazimuth.h"
19 #include "prestackprocessor.h"
20 
21 namespace PreStack
22 {
23 
28 mExpClass(PreStackProcessing) LateralStack : public Processor
30 public:
32  "LateralStack", tr("Super Gather") );
33  static Processor* createInstance();
34 
35  LateralStack();
36  ~LateralStack();
37 
38  bool reset(bool force=true);
39 
40  bool wantsInput(const BinID&) const;
41  bool setPattern(const BinID& stepout,bool cross);
42  //If cross if false, it will be a rectangle
43  bool isCross() const { return iscross_; }
44  const BinID& getPatternStepout() const { return patternstepout_; }
45  const BinID& getInputStepout() const { return inputstepout_; }
46  bool setOutputInterest(const BinID& relbid,bool);
47 
48  bool prepareWork();
49  uiString errMsg() const { return errmsg_; }
50 
51  void fillPar(IOPar&) const;
52  bool usePar(const IOPar&);
53 
54 protected:
55  bool isInPattern(const BinID&) const;
56  bool processOutput( const OffsetAzimuth&,const BinID&);
57  static const char* sKeyStepout() { return "Stepout"; }
58  static const char* sKeyCross() { return "Is cross"; }
59 
61  bool doWork(od_int64,od_int64,int);
62  od_int64 nrIterations() const { return offsetazi_.size(); }
63 
66  bool iscross_;
67 
69 };
70 
71 } // namespace PreStack
72 
73 #endif
#define mExpClass(module)
Definition: commondefs.h:160
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
Processes PreStack data at one cdp location. The algorithm is implemented in subclasses, and can be created by the PreStack::PF() factory.
Definition: prestackprocessor.h:36
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:188
#define od_int64
Definition: plftypes.h:36
Lateral stack.
Definition: prestacklateralstack.h:28
Definition: synthseis.h:36
const BinID & getPatternStepout() const
Definition: prestacklateralstack.h:44
Definition: uistring.h:89
bool iscross_
Definition: prestacklateralstack.h:66
BinID inputstepout_
Definition: prestacklateralstack.h:64
static const char * sKeyCross()
Definition: prestacklateralstack.h:58
static const char * sKeyStepout()
Definition: prestacklateralstack.h:57
od_int64 nrIterations() const
Definition: prestacklateralstack.h:62
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:47
#define mDefaultFactoryInstanciationBase(keywrd, usernm)
Definition: factory.h:280
TypeSet< OffsetAzimuth > offsetazi_
Definition: prestacklateralstack.h:68
uiString errmsg_
Definition: prestacklateralstack.h:60
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:175
uiString errMsg() const
Definition: prestacklateralstack.h:49
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:30
BufferString errmsg_
Definition: horizontracker.h:119
Definition: offsetazimuth.h:26
BinID patternstepout_
Definition: prestacklateralstack.h:65
bool isCross() const
Definition: prestacklateralstack.h:43
const BinID & getInputStepout() const
Definition: prestacklateralstack.h:45

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