OpendTect  7.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Attributes | Friends | List of all members
TimeDepthModel Class Reference

Converts between time, depth and velocity given a model. The velocity model can be either RMO-velocities in time, or interval velocity in either depth or time. The times are always TWT, in SI units (seconds). The depths units correspond to SI().depthsInFeet(), and are TVDSS depths (0 at sea-level, not at SRD, positive below sea-level and increasing downwards. More...

Inheritance diagram for TimeDepthModel:
[legend]

Public Member Functions

 TimeDepthModel ()
 
 TimeDepthModel (const TimeDepthModel &)
 
virtual ~TimeDepthModel ()
 
const char * errMsg () const
 
float getDepth (float time) const
 
float getDepth (int idx) const
 
const float * getDepths () const
 
float getFirstTime () const
 
float getLastTime () const
 
float getTime (float depth) const
 
float getTime (int idx) const
 
const float * getTimes () const
 
float getVelocity (float depth) const
 
virtual bool isOK () const
 
TimeDepthModeloperator= (const TimeDepthModel &)
 
bool setModel (const float *dpths, const float *times, int sz)
 
int size () const
 

Static Public Member Functions

static float getDepth (const float *dpths, const float *times, int sz, float time)
 
static float getTime (const float *dpths, const float *times, int sz, float depth)
 
static float getVelocity (const float *dpths, const float *times, int sz, float depth)
 

Protected Member Functions

void forceTimes (const TimeDepthModel &)
 
float * getDepths ()
 
float * getTimes ()
 
void setAllVals (float *dpths, float *times, int sz)
 
void setEmpty ()
 
void setSize (int sz)
 
void setVals (float *, bool isdepth, bool becomesmine=true)
 

Static Protected Member Functions

static float convertTo (const float *dpths, const float *times, int sz, float z, bool targetistime)
 

Protected Attributes

uiString errmsg_
 

Private Attributes

float * depths_ = nullptr
 
bool owndepths_ = true
 
int sz_ = 0
 
float * times_ = nullptr
 

Friends

class RayTracer1D
 
class ReflCalc1D
 
class TimeDepthModelSet
 

Detailed Description

Converts between time, depth and velocity given a model. The velocity model can be either RMO-velocities in time, or interval velocity in either depth or time. The times are always TWT, in SI units (seconds). The depths units correspond to SI().depthsInFeet(), and are TVDSS depths (0 at sea-level, not at SRD, positive below sea-level and increasing downwards.

<>

Constructor & Destructor Documentation

◆ TimeDepthModel() [1/2]

TimeDepthModel::TimeDepthModel ( )

◆ TimeDepthModel() [2/2]

TimeDepthModel::TimeDepthModel ( const TimeDepthModel )

◆ ~TimeDepthModel()

virtual TimeDepthModel::~TimeDepthModel ( )
virtual

Member Function Documentation

◆ convertTo()

static float TimeDepthModel::convertTo ( const float *  dpths,
const float *  times,
int  sz,
float  z,
bool  targetistime 
)
staticprotected

◆ errMsg()

const char* TimeDepthModel::errMsg ( ) const

◆ forceTimes()

void TimeDepthModel::forceTimes ( const TimeDepthModel )
protected

◆ getDepth() [1/3]

static float TimeDepthModel::getDepth ( const float *  dpths,
const float *  times,
int  sz,
float  time 
)
static

◆ getDepth() [2/3]

float TimeDepthModel::getDepth ( float  time) const

◆ getDepth() [3/3]

float TimeDepthModel::getDepth ( int  idx) const

◆ getDepths() [1/2]

float* TimeDepthModel::getDepths ( )
inlineprotected

◆ getDepths() [2/2]

const float* TimeDepthModel::getDepths ( ) const
inline

◆ getFirstTime()

float TimeDepthModel::getFirstTime ( ) const

◆ getLastTime()

float TimeDepthModel::getLastTime ( ) const

◆ getTime() [1/3]

static float TimeDepthModel::getTime ( const float *  dpths,
const float *  times,
int  sz,
float  depth 
)
static

◆ getTime() [2/3]

float TimeDepthModel::getTime ( float  depth) const

◆ getTime() [3/3]

float TimeDepthModel::getTime ( int  idx) const

◆ getTimes() [1/2]

float* TimeDepthModel::getTimes ( )
inlineprotected

◆ getTimes() [2/2]

const float* TimeDepthModel::getTimes ( ) const
inline

◆ getVelocity() [1/2]

static float TimeDepthModel::getVelocity ( const float *  dpths,
const float *  times,
int  sz,
float  depth 
)
static

◆ getVelocity() [2/2]

float TimeDepthModel::getVelocity ( float  depth) const

◆ isOK()

virtual bool TimeDepthModel::isOK ( ) const
virtual

Reimplemented in SimpleTimeDepthModel, and TimeDepthConverter.

◆ operator=()

TimeDepthModel& TimeDepthModel::operator= ( const TimeDepthModel )

◆ setAllVals()

void TimeDepthModel::setAllVals ( float *  dpths,
float *  times,
int  sz 
)
protected

◆ setEmpty()

void TimeDepthModel::setEmpty ( )
protected

◆ setModel()

bool TimeDepthModel::setModel ( const float *  dpths,
const float *  times,
int  sz 
)

◆ setSize()

void TimeDepthModel::setSize ( int  sz)
inlineprotected

◆ setVals()

void TimeDepthModel::setVals ( float *  ,
bool  isdepth,
bool  becomesmine = true 
)
protected

◆ size()

int TimeDepthModel::size ( ) const
inline

Friends And Related Function Documentation

◆ RayTracer1D

friend class RayTracer1D
friend

◆ ReflCalc1D

friend class ReflCalc1D
friend

◆ TimeDepthModelSet

friend class TimeDepthModelSet
friend

Member Data Documentation

◆ depths_

float* TimeDepthModel::depths_ = nullptr
private

◆ errmsg_

uiString TimeDepthModel::errmsg_
protected

◆ owndepths_

bool TimeDepthModel::owndepths_ = true
private

◆ sz_

int TimeDepthModel::sz_ = 0
private

◆ times_

float* TimeDepthModel::times_ = nullptr
private

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