37 AILayer(
float thkness,
float vel,
float den )
38 : thickness_(thkness), vel_(vel), den_(den) {}
42 AILayer(
float thkness,
float ai,
float den,
43 bool needcompthkness);
53 bool isOK(
bool dodencheck=
true)
const;
54 bool isValidVel()
const;
55 bool isValidDen()
const;
58 bool fillDenWithVp(
bool onlyinvalid);
76 ElasticLayer(
float thkness,
float pvel,
float svel,
float den);
81 float den,
bool needcompthkness);
89 bool isOK(
bool dodencheck=
true,
bool dosvelcheck=
true)
const;
90 bool isValidVs()
const;
93 bool fillVsWithVp(
bool onlyinvalid);
105 int isOK(
bool dodencheck=
true,
bool dosvelcheck=
true)
const;
113 bool getValues(
bool vel,
bool den,
bool svel,
116 void checkAndClean(
int& firsterroridx,
bool dodencheck=
true,
117 bool dosvelcheck=
true,
bool onlyinvalid=
false);
121 void interpolate(
bool dovp,
bool doden,
bool dovs);
126 void upscale(
float maxthickness);
131 void upscaleByN(
int nblock);
136 void setMaxThickness(
float maxthickness);
140 void mergeSameLayers();
147 void block(
float relthreshold,
bool pvelonly);
155 bool getUpscaledByThicknessAvg(ElasticLayer& outlay)
const;
164 bool getUpscaledBackus(ElasticLayer& outlay,
float theta=0.)
const;
167 const float* pvel,
const float* svel=0,
171 const float* si =0,
const float* den =0);
188 bool getRatioValues(
bool vel,
bool den,
bool svel,
194 bool doBlocking(
float threshold,
bool pvelonly,
#define mExpClass(module)
Definition: commondefs.h:157
A table of elastic prop layers with processing utilities.
Definition: ailayer.h:98
bool operator==(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:51
#define mGlobal(module)
Definition: commondefs.h:160
Implementation of Array2D.
Definition: arrayndimpl.h:101
float cMinLayerThickness()
Definition: ailayer.h:22
const Interval< float > validImpRange()
Definition: ailayer.h:209
const Interval< float > validThicknessRange()
Definition: ailayer.h:200
float svel_
Definition: ailayer.h:86
float thickness_
Definition: ailayer.h:48
Set of (small) copyable elements.
Definition: commontypes.h:26
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:270
const Interval< float > validDensityRange()
Definition: ailayer.h:203
AILayer(float thkness, float vel, float den)
Definition: ailayer.h:37
Acoustic Impedance layer.
Definition: ailayer.h:34
float den_
Definition: ailayer.h:50
A table of elastic prop layers.
Definition: ailayer.h:73
T stop
Definition: ranges.h:91
TypeSet< AILayer > AIModel
Definition: ailayer.h:63
float vel_
Definition: ailayer.h:49
T start
Definition: ranges.h:90
const Interval< float > validVelocityRange()
Definition: ailayer.h:206
float getLayerDepth(const AIModel &mod, int layer)
bool isOK() const
Definition: arrayndimpl.h:115