OpendTect  7.0
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
Vel::Worker Class Reference

Class that should be used for applying functions of the Vel namespace. More...

Public Member Functions

 Worker (const VelocityDesc &, double srd, const UnitOfMeasure *srduom)
 
 Worker (double v0, double dv, double srd, const UnitOfMeasure *v0uom, const UnitOfMeasure *srduom)
 
 ~Worker ()
 
template<class AT >
bool calcZ (const ValueSeries< double > &Vin, const ZValueSeries &zvals, ArrayZValues< AT > &Zout, double t0=0.) const
 
template<class AT >
bool calcZLinear (const ZValueSeries &zvals, ArrayZValues< AT > &Zout) const
 
bool convertVelocities (const ValueSeries< double > &Vin, const ZValueSeries &zvals, const VelocityDesc &newdesc, ValueSeries< double > &Vout, double t0=0.) const
 
const VelocityDescgetDesc () const
 
template<class AT >
bool getSampledZ (const ValueSeries< double > &Vin, const ZValueSeries &zvals_in, const ZValueSeries &zvals_out, ArrayZValues< AT > &Zout, double t0=0.) const
 
bool sampleVelocities (const ValueSeries< double > &Vin, const ZValueSeries &zvals_in, const ZValueSeries &zvals_out, ValueSeries< double > &Vout, double t0=0.) const
 

Static Public Member Functions

static const UnitOfMeasuregetUnit (const VelocityDesc &)
 
static ZValueSeriesgetZVals (const ZValueSeries &, double srd, const UnitOfMeasure *srduom, bool forward=true)
 
static void setUnit (const UnitOfMeasure *, VelocityDesc &)
 

Private Member Functions

bool calcZ_ (const ValueSeries< double > &Vin, const ZValueSeries &zvals, ZValueSeries &Zout, double t0=0.) const
 
bool calcZLinear_ (const ZValueSeries &zvals, ZValueSeries &Zout) const
 
bool getSampledZ_ (const ValueSeries< double > &Vin, const ZValueSeries &zvals_in, const ZValueSeries &zvals_out, ZValueSeries &Zout, double t0=0.) const
 

Private Attributes

const VelocityDesc desc_
 
double dv_ = mUdf(double)
 
double srd_
 
double v0_ = mUdf(double)
 

Detailed Description

Class that should be used for applying functions of the Vel namespace.

<>

Constructor & Destructor Documentation

◆ Worker() [1/2]

Vel::Worker::Worker ( const VelocityDesc ,
double  srd,
const UnitOfMeasure srduom 
)

◆ Worker() [2/2]

Vel::Worker::Worker ( double  v0,
double  dv,
double  srd,
const UnitOfMeasure v0uom,
const UnitOfMeasure srduom 
)

◆ ~Worker()

Vel::Worker::~Worker ( )

Member Function Documentation

◆ calcZ()

template<class AT >
bool Vel::Worker::calcZ ( const ValueSeries< double > &  Vin,
const ZValueSeries zvals,
ArrayZValues< AT > &  Zout,
double  t0 = 0. 
) const
inline

Given an array of velocity in time or depth with its sampling, compute the transformed Z t0 is only used by RMS type

◆ calcZ_()

bool Vel::Worker::calcZ_ ( const ValueSeries< double > &  Vin,
const ZValueSeries zvals,
ZValueSeries Zout,
double  t0 = 0. 
) const
private

◆ calcZLinear()

template<class AT >
bool Vel::Worker::calcZLinear ( const ZValueSeries zvals,
ArrayZValues< AT > &  Zout 
) const
inline

Given V0,k velocitymodel, compute the transformed Z corresponding to the input array of times or depths

◆ calcZLinear_()

bool Vel::Worker::calcZLinear_ ( const ZValueSeries zvals,
ZValueSeries Zout 
) const
private

◆ convertVelocities()

bool Vel::Worker::convertVelocities ( const ValueSeries< double > &  Vin,
const ZValueSeries zvals,
const VelocityDesc newdesc,
ValueSeries< double > &  Vout,
double  t0 = 0. 
) const

Converts velocities between compatible types May also switch the units if different

◆ getDesc()

const VelocityDesc& Vel::Worker::getDesc ( ) const
inline

◆ getSampledZ()

template<class AT >
bool Vel::Worker::getSampledZ ( const ValueSeries< double > &  Vin,
const ZValueSeries zvals_in,
const ZValueSeries zvals_out,
ArrayZValues< AT > &  Zout,
double  t0 = 0. 
) const
inline

Given an array of velocity in time or depth with its sampling, compute the transformed Z of another Z sampling t0 is only used by RMS type

◆ getSampledZ_()

bool Vel::Worker::getSampledZ_ ( const ValueSeries< double > &  Vin,
const ZValueSeries zvals_in,
const ZValueSeries zvals_out,
ZValueSeries Zout,
double  t0 = 0. 
) const
private

◆ getUnit()

static const UnitOfMeasure* Vel::Worker::getUnit ( const VelocityDesc )
static

◆ getZVals()

static ZValueSeries* Vel::Worker::getZVals ( const ZValueSeries ,
double  srd,
const UnitOfMeasure srduom,
bool  forward = true 
)
static

◆ sampleVelocities()

bool Vel::Worker::sampleVelocities ( const ValueSeries< double > &  Vin,
const ZValueSeries zvals_in,
const ZValueSeries zvals_out,
ValueSeries< double > &  Vout,
double  t0 = 0. 
) const

Given an array of velocity in time or depth, create a regularly sampled one in time or depth. t0 is only used by RMS type

◆ setUnit()

static void Vel::Worker::setUnit ( const UnitOfMeasure ,
VelocityDesc  
)
static

Member Data Documentation

◆ desc_

const VelocityDesc Vel::Worker::desc_
private

◆ dv_

double Vel::Worker::dv_ = mUdf(double)
private

◆ srd_

double Vel::Worker::srd_
private

◆ v0_

double Vel::Worker::v0_ = mUdf(double)
private

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