39 AILayer(
float thkness,
float vel,
float den )
40 : thickness_(thkness), vel_(vel), den_(den) {}
44 AILayer(
float thkness,
float ai,
float den,
45 bool needcompthkness);
55 bool isOK(
bool dodencheck=
true)
const;
56 bool isValidVel()
const;
57 bool isValidDen()
const;
60 bool fillDenWithVp(
bool onlyinvalid);
78 ElasticLayer(
float thkness,
float pvel,
float svel,
float den);
83 float den,
bool needcompthkness);
91 bool isOK(
bool dodencheck=
true,
bool dosvelcheck=
true)
const;
92 bool isValidVs()
const;
95 bool fillVsWithVp(
bool onlyinvalid);
107 int isOK(
bool dodencheck=
true,
bool dosvelcheck=
true)
const;
115 bool getValues(
bool vel,
bool den,
bool svel,
118 void checkAndClean(
int& firsterroridx,
bool dodencheck=
true,
119 bool dosvelcheck=
true,
bool onlyinvalid=
false);
123 void interpolate(
bool dovp,
bool doden,
bool dovs);
128 void upscale(
float maxthickness);
133 void upscaleByN(
int nblock);
138 void setMaxThickness(
float maxthickness);
142 void mergeSameLayers();
149 void block(
float relthreshold,
bool pvelonly);
157 bool getUpscaledByThicknessAvg(ElasticLayer& outlay)
const;
166 bool getUpscaledBackus(ElasticLayer& outlay,
float theta=0.)
const;
169 const float* pvel,
const float* svel=0,
173 const float* si =0,
const float* den =0);
190 bool getRatioValues(
bool vel,
bool den,
bool svel,
196 bool doBlocking(
float threshold,
bool pvelonly,
202 void removeSpuriousLayers(
float zstep);
#define mExpClass(module)
Definition: commondefs.h:160
A table of elastic prop layers with processing utilities.
Definition: ailayer.h:100
bool operator==(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:53
#define mGlobal(module)
Definition: commondefs.h:163
Implementation of Array2D.
Definition: arrayndimpl.h:102
float cMinLayerThickness()
Definition: ailayer.h:24
const Interval< float > validImpRange()
Definition: ailayer.h:216
const Interval< float > validThicknessRange()
Definition: ailayer.h:207
float svel_
Definition: ailayer.h:88
float thickness_
Definition: ailayer.h:50
Set of (small) copyable elements.
Definition: commontypes.h:30
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:272
const Interval< float > validDensityRange()
Definition: ailayer.h:210
AILayer(float thkness, float vel, float den)
Definition: ailayer.h:39
Acoustic Impedance layer.
Definition: ailayer.h:36
float den_
Definition: ailayer.h:52
A table of elastic prop layers.
Definition: ailayer.h:75
T stop
Definition: ranges.h:93
TypeSet< AILayer > AIModel
Definition: ailayer.h:65
float vel_
Definition: ailayer.h:51
T start
Definition: ranges.h:92
const Interval< float > validVelocityRange()
Definition: ailayer.h:213
float getLayerDepth(const AIModel &mod, int layer)
bool isOK() const
Definition: arrayndimpl.h:116