OpendTect  6.6
expnearsubtract.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: Kristofer Tingdahl
8  Date: 07-10-1999
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 NearSubtract usedip=Yes|No relampl=[Yes|No]
13 
14 Input:
15 0 Data on wich the attrib should be calculated
16 1 Inline Dip (if required)
17 2 Crossline Dip (if required)
18 
19 Output:
20 0 Output data
21 
22 @$*/
23 
24 #include <attribcalc.h>
25 #include <task.h>
26 #include <position.h>
27 #include <limits.h>
28 #include <seistrc.h>
29 #include <attribparamimpl.h>
30 
31 
32 mClass(AttribExp) NearSubtractAttrib : public AttribCalc
33 {
34 public:
36  , "NearSubtract"
37  , BoolAttribParameter
38  , usedip
39  , BoolAttribParameter( "usedip"
41  , true
42  )
43  , BoolAttribParameter
44  , relampl
45  , BoolAttribParameter( "relampl"
47  , false
48  )
49  , mAttribParamFormHasNoUpdate
50  );
51 
52  NearSubtractAttrib( Parameters* );
54 
55  int nrAttribs() const { return 1; }
56  const BinID* reqStepout(int inp, int ) const
57  {
58  if ( !inp ) return &stepout;
59  return 0;
60  }
61 
63  const TypeSet<Seis::DataType>&) const
64  { return Seis::UnknowData; }
65 
66  const char* definitionStr() const { return desc; }
67 
68  bool init();
69  void setCommonInfo(const AttribProcessCommonInfo& ni)
70  { common = &ni; }
71 
72 protected:
73  bool usedip;
74  bool relampl;
75 
76  float inldist;
77  float crldist;
78 
80 
81  static const BinID stepout;
82  const AttribProcessCommonInfo* common;
83 
84  mClass(AttribExp) Task : public AttribCalc::Task
85  {
86  public:
87  mClass(AttribExp) Input : public AttribCalc::Task::Input
88  {
89  public:
90  Input( const NearSubtractAttrib& calculator_ )
91  : calculator ( calculator_ )
92  , trc0( 0 )
93  , trc1( 0 )
94  , inldiptrc( 0 )
95  , crldiptrc( 0 ) {}
96 
97  bool set( const BinID&,
99  const TypeSet<int>&,
100  const TypeSet<float*>& );
101 
103  { return new NearSubtractAttrib::Task::Input(*this); }
104 
105  const SeisTrc* trc0;
106  const SeisTrc* trc1;
109 
114 
116  };
117 
118  Task( const NearSubtractAttrib& calculator_ )
119  : outp( 0 )
120  , calculator( calculator_ ) {}
121 
122  Task( const Task& );
123  // Not impl. Only to give error if someone uses it
124 
125  void set( float t1_, int nrtimes_, float step_,
126  const AttribCalc::Task::Input* inp,
127  const TypeSet<float*>& outp_)
128  { t1 = t1_; nrtimes = nrtimes_;
129  step = step_; input = inp; outp = outp_[0]; }
130 
131  AttribCalc::Task* clone() const;
132 
133  int getFastestSz() const { return 25; }
134 
135  int nextStep();
136 
138  { return new NearSubtractAttrib::Task::Input( calculator );}
139 
140  protected:
141  float* outp;
143 
144  };
145 
148 };
149 
NearSubtractAttrib::Task::Input::Input
Input(const NearSubtractAttrib &calculator_)
Definition: expnearsubtract.h:90
sKey::Input
FixedString Input()
Definition: keystrs.h:81
NearSubtractAttrib::Task::Input::calculator
const NearSubtractAttrib & calculator
Definition: expnearsubtract.h:115
NearSubtractAttrib::Task::Input::trc1attrib
int trc1attrib
Definition: expnearsubtract.h:111
task.h
NearSubtractAttrib::crldist
float crldist
Definition: expnearsubtract.h:77
NearSubtractAttrib::Task
Definition: expnearsubtract.h:85
NearSubtractAttrib::desc
BufferString desc
Definition: expnearsubtract.h:79
NearSubtractAttrib::Task::Task
Task(const Task &)
ObjectSet
Set of pointers to objects.
Definition: commontypes.h:31
Seis::DataType
DataType
Definition: seistype.h:53
NearSubtractAttrib::Task::Input
Definition: expnearsubtract.h:88
NearSubtractAttrib::setCommonInfo
void setCommonInfo(const AttribProcessCommonInfo &ni)
Definition: expnearsubtract.h:69
NearSubtractAttrib::NearSubtractAttrib
NearSubtractAttrib(Parameters *)
NearSubtractAttrib::Task::Input::trc0attrib
int trc0attrib
Definition: expnearsubtract.h:110
SeisTrc
Seismic trace.
Definition: seistrc.h:34
NearSubtractAttrib::stepout
static const BinID stepout
Definition: expnearsubtract.h:81
NearSubtractAttrib::Task::nextStep
int nextStep()
NearSubtractAttrib::Task::Input::crldiptrc
const SeisTrc * crldiptrc
Definition: expnearsubtract.h:108
NearSubtractAttrib::Task::getInput
AttribCalc::Task::Input * getInput() const
Definition: expnearsubtract.h:137
NearSubtractAttrib::mAttrib2Param
mAttrib2Param(NearSubtractAttrib, "NearSubtract", BoolAttribParameter, usedip, BoolAttribParameter("usedip", AttribParameter::Default, true), BoolAttribParameter, relampl, BoolAttribParameter("relampl", AttribParameter::Default, false), mAttribParamFormHasNoUpdate)
NearSubtractAttrib::Task::Input::crldiptrcattrib
int crldiptrcattrib
Definition: expnearsubtract.h:113
NearSubtractAttrib::Task::getFastestSz
int getFastestSz() const
Definition: expnearsubtract.h:133
NearSubtractAttrib::Task::Input::inldiptrcattrib
int inldiptrcattrib
Definition: expnearsubtract.h:112
BinID
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:31
NearSubtractAttrib::Task::set
void set(float t1_, int nrtimes_, float step_, const AttribCalc::Task::Input *inp, const TypeSet< float * > &outp_)
Definition: expnearsubtract.h:125
NearSubtractAttrib::Task::Input::trc0
const SeisTrc * trc0
Definition: expnearsubtract.h:105
NearSubtractAttrib::Task::outp
float * outp
Definition: expnearsubtract.h:141
NearSubtractAttrib::definitionStr
const char * definitionStr() const
Definition: expnearsubtract.h:66
mClass
#define mClass(module)
Definition: commondefs.h:181
NearSubtractAttrib::init
bool init()
NearSubtractAttrib::reqStepout
const BinID * reqStepout(int inp, int) const
Definition: expnearsubtract.h:56
NearSubtractAttrib::Task::calculator
const NearSubtractAttrib & calculator
Definition: expnearsubtract.h:142
NearSubtractAttrib::Task::Task
Task(const NearSubtractAttrib &calculator_)
Definition: expnearsubtract.h:118
NearSubtractAttrib::Task::Input::clone
AttribCalc::Task::Input * clone() const
Definition: expnearsubtract.h:102
NearSubtractAttrib::Task::Input::inldiptrc
const SeisTrc * inldiptrc
Definition: expnearsubtract.h:107
position.h
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
NearSubtractAttrib::Task::Input::trc1
const SeisTrc * trc1
Definition: expnearsubtract.h:106
NearSubtractAttrib::nrAttribs
int nrAttribs() const
Definition: expnearsubtract.h:55
seistrc.h
NearSubtractAttrib::Task::Input::set
bool set(const BinID &, const ObjectSet< AttribProvider > &, const TypeSet< int > &, const TypeSet< float * > &)
Seis::UnknowData
@ UnknowData
Definition: seistype.h:54
NearSubtractAttrib::Task::clone
AttribCalc::Task * clone() const
NearSubtractAttrib::usedip
bool usedip
Definition: expnearsubtract.h:73
NearSubtractAttrib::inldist
float inldist
Definition: expnearsubtract.h:76
MPE::step_
RowCol step_
Definition: horizontracker.h:140
NearSubtractAttrib::dataType
Seis::DataType dataType(int, const TypeSet< Seis::DataType > &) const
Definition: expnearsubtract.h:62
NearSubtractAttrib
Definition: expnearsubtract.h:33
sKey::Default
FixedString Default()
Definition: keystrs.h:59
NearSubtractAttrib::common
const AttribProcessCommonInfo * common
Definition: expnearsubtract.h:82
NearSubtractAttrib::~NearSubtractAttrib
~NearSubtractAttrib()
TypeSet< Seis::DataType >
NearSubtractAttrib::relampl
bool relampl
Definition: expnearsubtract.h:74

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