35 TimeDepthModel(
const TimeDepthModel&);
36 virtual ~TimeDepthModel();
38 TimeDepthModel& operator=(
const TimeDepthModel&);
39 virtual bool isOK()
const;
40 const char*
errMsg()
const;
41 int size()
const {
return sz_; }
43 bool setModel(
const float* dpths,
const float* times,
int sz);
45 float getDepth(
float time)
const;
46 float getTime(
float depth)
const;
47 float getVelocity(
float depth)
const;
48 float getFirstTime()
const;
49 float getLastTime()
const;
51 static float getDepth(
const float* dpths,
const float* times,
int sz,
53 static float getTime(
const float* dpths,
const float* times,
int sz,
55 static float getVelocity(
const float* dpths,
const float* times,
59 float getDepth(
int idx)
const;
60 float getTime(
int idx)
const;
64 static float convertTo(
const float* dpths,
const float* times,
int sz,
65 float z,
bool targetistime);
120 void calcZ(
const float*,
int inpsz,
140 virtual ~MoveoutComputer() {}
142 virtual int nrVariables()
const = 0;
143 virtual const char* variableName(
int)
const = 0;
145 virtual bool computeMoveout(
const float* variables,
147 const float* offsets,
148 float* res)
const = 0;
149 float findBestVariable(
float* variables,
int variabletochange,
151 const float* offsets,
const float* moveout )
const;
165 int nrVariables()
const {
return 3; }
166 const char* variableName(
int idx)
const 171 case 1:
return "RMO";
172 case 2:
return "Reference offset";
177 bool computeMoveout(
const float*,
int,
const float*,
float*)
const;
178 static bool computeMoveout(
float d0,
float rmo,
float refoffset,
179 int,
const float*,
float*);
191 int nrVariables()
const {
return 3; }
192 const char* variableName(
int idx )
const 197 case 1:
return "Vrms";
198 case 2:
return "Effective anisotrophy";
203 bool computeMoveout(
const float*,
int,
const float*,
float*)
const;
204 static bool computeMoveout(
float t0,
float Vrms,
float effectiveanisotropy,
205 int,
const float*,
float*);
213 const double* t,
int nrlayers,
float* Vint);
216 const float* t,
int nrlayers,
float* Vint);
228 virtual bool compute(
const float* Vrms,
float t0,
float v0,
229 const float* t,
int nrlayers,
float* Vint) = 0;
244 bool compute(
const float* Vrms,
double t0,
float v0,
245 const double* t,
int nrlayers,
float* Vint)
246 {
return computeDix( Vrms, t0, v0, t, nrlayers, Vint ); }
249 bool compute(
const float* Vrms,
float t0,
float v0,
250 const float* t,
int nrlayers,
float* Vint)
251 {
return computeDix( Vrms, t0, v0, t, nrlayers, Vint ); }
261 int nrvels,
float* Vint);
268 const double* t,
int nrlayers,
float* Vint);
271 const float* t,
int nrlayers,
float* Vint);
277 int nrvels,
float* Vrms);
284 int nrlayers,
float* Vrms);
287 const float* t,
int nrlayers,
float* Vrms);
295 const double* t_in,
int nr_in,
297 float* Vout,
int nr_out);
300 float v0_in,
const float* t_in,
int nr_in,
302 float* Vout,
int nr_out);
310 const float* t,
int nrvels,
float* Vavg);
318 const float* t,
int nrvels,
float* Vint);
351 int nroffsets,
bool outputdepth,
352 const float* offsets,
float* output);
359 float reference_z,
bool zisdepth,
float& V_0,
360 float& gradient,
float& error);
367 mGlobal(Algo)
void resampleZ(
const double* zarr,
const double* tord_in,
int nr_in,
382 int nr_out,
float* voutarr);
386 int nr_out,
float* voutarr);
394 int nr_out,
float* outarr);
397 const float* t_in,
int nr_in,
405 int nr_out,
double* outarr);
410 int nr_out,
float* outarr);
418 int sz,
float* res );
425 int sz,
float* res );
mODTextTranslationClass(DixConversion) public bool compute(const float *Vrms, double t0, float v0, const double *t, int nrlayers, float *Vint)
Definition: velocitycalc.h:244
#define mExpClass(module)
Definition: commondefs.h:160
Rms velocity to interval velocity conversion.
Definition: velocitycalc.h:222
void sampleEffectiveThomsenPars(const float *vinarr, const double *t_in, int nr_in, const SamplingData< double > &sd_out, int nr_out, float *voutarr)
int sz_
Definition: velocitycalc.h:67
float * times_
Definition: velocitycalc.h:69
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
Export_Basic uiString toUiString(ViewStyle)
bool computeLinearD2T(double v0, double dv, double v0depth, const SamplingData< float > &depthsampling, int sz, float *res)
#define mGlobal(module)
Definition: commondefs.h:163
bool sampleVint(const float *Vint, const double *t_in, int nr_in, const SamplingData< double > &sd_out, float *Vout, int nr_out)
mODTextTranslationClass(MoveoutComputer) public
Definition: velocitycalc.h:138
bool sampleVrms(const float *Vin, double t0_in, float v0_in, const double *t_in, int nr_in, const SamplingData< double > &sd_out, float *Vout, int nr_out)
uiString errmsg_
Definition: velocitycalc.h:72
bool computeVrms(const float *Vint, const SamplingData< double > &sd, int nrvels, float *Vrms)
bool computeVavg(const float *Vint, const double *t, int nrvels, float *Vavg)
Converts a number of layers with Vint to average velocities.
SamplingData< double > sd_
Definition: velocitycalc.h:129
bool sampleVavg(const float *Vavg, const double *t_in, int nr_in, const SamplingData< double > &sd_out, float *Vout, int nr_out)
mStartAllowDeprecatedSection bool compute(const float *Vrms, float t0, float v0, const float *t, int nrlayers, float *Vint)
Definition: velocitycalc.h:249
#define mDefaultFactoryInstantiation(baseclss, clss, keywrd, usernm)
Definition: factory.h:289
bool fitLinearVelocity(const float *Vint, const float *z_in, int nr_in, const Interval< float > &zlayer, float reference_z, bool zisdepth, float &V_0, float &gradient, float &error)
Definition: uistring.h:89
bool computeDix(const float *Vrms, double t0, float v0, const double *t, int nrlayers, float *Vint)
float firstvel_
Definition: velocitycalc.h:124
float lastvel_
Definition: velocitycalc.h:125
Base class for computing a moveout curve.
Definition: velocitycalc.h:137
virtual bool isOK() const
Definition: valseries.h:41
Computes moveout in depth from RMO at a certain reference offset.
Definition: velocitycalc.h:162
void computeResidualMoveouts(float z0, float rmo, float refoffset, int nroffsets, bool outputdepth, const float *offsets, float *output)
#define mStartAllowDeprecatedSection
Definition: plfdefs.h:235
virtual mODTextTranslationClass(Vrms2Vint) public ~Vrms2Vint()
Definition: velocitycalc.h:226
#define mStopAllowDeprecatedSection
Definition: plfdefs.h:236
bool regularinput_
Definition: velocitycalc.h:127
Interface to a series of values.
Definition: odmemory.h:17
Converts between time and depth given a model.
Definition: velocitycalc.h:80
#define mDefineFactoryInClass(T, funcname)
Definition: factory.h:426
Computes moveout with anisotropy, according to the equation by Alkhalifah and Tsvankin 1995...
Definition: velocitycalc.h:188
SamplingData< double > getDoubleSamplingData(const SamplingData< float > &)
bool computeLinearT2D(double v0, double dv, double v0depth, const SamplingData< float > ×ampling, int sz, float *res)
#define mDeprecated
Definition: plfdefs.h:233
FixedString Time()
Definition: keystrs.h:132
void resampleContinuousData(const double *in, const double *t_in, int nr_in, const SamplingData< double > &sd_out, int nr_out, double *outarr)
Rms velocity to interval velocity conversion using the Dix formula.
Definition: velocitycalc.h:237
void sampleIntvThomsenPars(const float *inarr, const double *t_in, int nr_in, const SamplingData< double > &sd_out, int nr_out, float *outarr)
bool convertToVintIfNeeded(const float *inpvel, const VelocityDesc &veldesc, const StepInterval< float > &zrange, float *outvel)
bool computeVint(const float *Vavg, const double *t, int nrvels, float *Vint)
Converts a number of layers with Vavg to Vint velocities.
const char * errMsg() const
Definition: horizontracker.h:61
int size() const
Definition: velocitycalc.h:41
void resampleZ(const double *zarr, const double *tord_in, int nr_in, const SamplingData< double > &sd_out, int nr_out, double *zsampled)
Converts between time, depth and velocity given a model. The velocity model can be either RMO-velocit...
Definition: velocitycalc.h:31
int sz_
Definition: velocitycalc.h:128
float * depths_
Definition: velocitycalc.h:70
FixedString Depth()
Definition: keystrs.h:60