1 #ifndef prestackanglecomputer_h 2 #define prestackanglecomputer_h 21 #include "prestackprocessingmod.h" 25 template <
class T>
class Array2D;
30 namespace Vel {
class FunctionSource; }
49 virtual Gather* computeAngles() = 0;
50 virtual bool isOK()
const = 0;
55 void setRayTracer(
const IOPar& raypar);
56 void setGatherIsNMOCorrected(
bool yn);
59 void setMovingAverageSmoother(
float length,
62 void setFFTSmoother(
float freqf3,
float freqf4);
63 void setSmoothingPars(
const IOPar&);
65 static const char* sKeySmoothType();
66 static const char* sKeyWinFunc();
67 static const char* sKeyWinParam();
68 static const char* sKeyWinLen();
69 static const char* sKeyFreqF3();
70 static const char* sKeyFreqF4();
75 Gather* computeAngleData();
78 void fftTimeSmooth(::FFTFilter& fftfilter,
80 void fftDepthSmooth(::FFTFilter& fftfilter,
84 virtual const RayTracer1D* curRayTracer()
const = 0;
108 bool setMultiID(
const MultiID&);
109 bool isOK()
const {
return velsource_; }
139 : rt_(rt), em_(0), trckey_(tk) {}
146 {
return a.
trcKey() == trckey_; }
156 void setElasticModel(
const TrcKey&,
bool doblock,
162 {
return curElasticModel().size(); }
171 void splitModelIfNeeded();
bool needsraytracing_
Definition: prestackanglecomputer.h:92
float maxthickness_
Definition: prestackanglecomputer.h:91
#define mRefCountImpl(ClassName)
Macro to setup a class with destructor for reference counting.
Definition: refcount.h:163
IOPar iopar_
Definition: prestackanglecomputer.h:86
#define mExpClass(module)
Definition: commondefs.h:160
Velocity.
Definition: velocityfunction.h:32
A table of elastic prop layers with processing utilities.
Definition: ailayer.h:100
Definition: velocityfunction.h:85
bool operator==(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:53
Positioning of flat 'bulk' data. Only the 'x1' axis can be irregular.
Definition: flatposdata.h:26
PreStack gather.
Definition: prestackgather.h:36
const ElasticModel & curElasticModel() const
Definition: prestackanglecomputer.h:115
Definition: synthseis.h:36
Computes angles for PreStack::Gather from ElasticModel.
Definition: prestackanglecomputer.h:127
Computes angles for PreStack::Gather from velocity model.
Definition: prestackanglecomputer.h:102
RayTracer1D * raytracer_
Definition: prestackanglecomputer.h:88
ElasticModel elasticmodel_
Definition: prestackanglecomputer.h:89
#define mDeclareEnumUtils(enm)
Some utilities surrounding the often needed enum <-> string table.
Definition: enums.h:258
FixedString None()
Definition: keystrs.h:90
Set of pointers to objects.
Definition: commontypes.h:32
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:47
Vel::FunctionSource * velsource_
Definition: prestackanglecomputer.h:118
Array2D ( Subclass of ArrayND ) is a two dimensional array.
Definition: arraynd.h:131
bool isOK() const
Definition: prestackanglecomputer.h:161
Ray tracer in 1D.
Definition: raytrace1d.h:32
smoothingType
Definition: prestackanglecomputer.h:46
static const char * sName()
Definition: windowfunction.h:66
bool isOK() const
Definition: prestackanglecomputer.h:109
void setTrcKey(const TrcKey &tk)
Definition: prestackanglecomputer.h:51
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:40
float thresholdparam_
Definition: prestackanglecomputer.h:90
Classical FFT filter, use set to set up data step, min and max frequency and type of the filter (minf...
Definition: fftfilter.h:32
FlatPosData outputsampling_
Definition: prestackanglecomputer.h:87
TrcKey trckey_
Definition: prestackanglecomputer.h:93
const RayTracer1D * curRayTracer() const
Definition: prestackanglecomputer.h:116
Represents a unique trace position in one of the surveys that OpendTect is managing.
Definition: trckey.h:28
ObjectSet< ModelTool > tools_
Definition: prestackanglecomputer.h:173
Computes angles for PreStack::Gather.
Definition: prestackanglecomputer.h:41
Compound key consisting of ints.
Definition: multiid.h:25