OpendTect  6.3
prestacklateralstack.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: Bert Bril
8  Date: Nov 2006
9 ________________________________________________________________________
10 
11 
12 -*/
13 
14 #include "prestackprocessingmod.h"
15 #include "dbkey.h"
16 #include "offsetazimuth.h"
17 #include "prestackprocessor.h"
18 
19 namespace PreStack
20 {
21 
26 mExpClass(PreStackProcessing) LateralStack : public Processor
28 public:
30  "LateralStack", tr("Super Gather") );
31  static Processor* createInstance();
32 
33  LateralStack();
34  ~LateralStack();
35 
36  bool reset(bool force=true);
37 
38  bool wantsInput(const BinID&) const;
39  bool setPattern(const BinID& stepout,bool cross);
40  //If cross if false, it will be a rectangle
41  bool isCross() const { return iscross_; }
42  const BinID& getPatternStepout() const { return patternstepout_; }
43  const BinID& getInputStepout() const { return inputstepout_; }
44  bool setOutputInterest(const BinID& relbid,bool);
45 
46  bool prepareWork();
47  uiString errMsg() const { return errmsg_; }
48 
49  void fillPar(IOPar&) const;
50  bool usePar(const IOPar&);
51 
52 protected:
53  bool isInPattern(const BinID&) const;
54  bool processOutput( const OffsetAzimuth&,const BinID&);
55  static const char* sKeyStepout() { return "Stepout"; }
56  static const char* sKeyCross() { return "Is cross"; }
57 
59  bool doWork(od_int64,od_int64,int);
60  od_int64 nrIterations() const { return offsetazi_.size(); }
61 
64  bool iscross_;
65 
67 };
68 
69 } // namespace PreStack
#define mExpClass(module)
Definition: commondefs.h:157
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
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:34
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
#define od_int64
Definition: plftypes.h:34
Lateral stack.
Definition: prestacklateralstack.h:26
Definition: prestackagc.h:18
const BinID & getPatternStepout() const
Definition: prestacklateralstack.h:42
Definition: uistring.h:88
bool iscross_
Definition: prestacklateralstack.h:64
BinID inputstepout_
Definition: prestacklateralstack.h:62
static const char * sKeyCross()
Definition: prestacklateralstack.h:56
static const char * sKeyStepout()
Definition: prestacklateralstack.h:55
od_int64 nrIterations() const
Definition: prestacklateralstack.h:60
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
#define mDefaultFactoryInstanciationBase(keywrd, usernm)
Definition: factory.h:278
TypeSet< OffsetAzimuth > offsetazi_
Definition: prestacklateralstack.h:66
uiString errmsg_
Definition: prestacklateralstack.h:58
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
uiString errMsg() const
Definition: prestacklateralstack.h:47
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:28
BufferString errmsg_
Definition: horizontracker.h:117
Definition: offsetazimuth.h:24
BinID patternstepout_
Definition: prestacklateralstack.h:63
bool isCross() const
Definition: prestacklateralstack.h:41
const BinID & getInputStepout() const
Definition: prestacklateralstack.h:43

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