OpendTect 8.0
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
VelocityStretcher Class Reference

#include <timedepthconv.h>

Inheritance diagram for VelocityStretcher:
[legend]

Public Member Functions

MultiID getVelID () const
 
bool isOK () const override
 
bool setVelData (const MultiID &)
 
const UnitOfMeasurevelUnit () const
 
- Public Member Functions inherited from ZAxisTransform
virtual NotifierAccesschangeNotifier ()
 
virtual uiString errMsg () const
 
ZDomain::InfofromZDomainInfo ()
 
const ZDomain::InfofromZDomainInfo () const
 
const char * fromZDomainKey () const
 
ZSampling getZInterval (bool from, bool makenice=true, const ZSampling *=nullptr) const
 
virtual bool isReferenceHorizon (const MultiID &horid, float &refz) const
 
void setDataFromZDomainInfo (const ZDomain::Info &)
 
void setDataToZDomainInfo (const ZDomain::Info &)
 
ZDomain::InfotoZDomainInfo ()
 
const ZDomain::InfotoZDomainInfo () const
 
const char * toZDomainKey () const
 
virtual float toZScale () const
 
virtual void transform (const BinID &, const SamplingData< float > &, int sz, float *res) const
 
float transform (const BinIDValue &) const
 
float transform (const Coord3 &) const
 
virtual void transform2D (const char *linenm, int trcnr, const SamplingData< float > &, int sz, float *res) const
 
float transform2D (const char *linenm, int trcnr, float z) const
 
virtual void transformBack (const BinID &, const SamplingData< float > &, int sz, float *res) const
 
float transformBack (const BinIDValue &) const
 
float transformBack (const Coord3 &) const
 
virtual void transformBack2D (const char *linenm, int trcnr, const SamplingData< float > &, int sz, float *res) const
 
float transformBack2D (const char *linenm, int trcnr, float z) const
 
float transformTrc (const TrcKey &, float z) const
 
float transformTrcBack (const TrcKey &, float z) const
 
const ZDomain::InfozDomain (bool from) const
 Pointer to singleton.
 
virtual float zScale () const
 
- Public Member Functions inherited from SharedObject
 SharedObject (const char *nm=nullptr)
 
- Public Member Functions inherited from NamedCallBacker
 NamedCallBacker (const char *nm=nullptr)
 
 NamedCallBacker (const NamedCallBacker &)=delete
 
 ~NamedCallBacker ()
 
virtual Notifier< NamedCallBacker > & objectToBeDeleted () const
 
NamedCallBackeroperator= (const NamedCallBacker &)=delete
 
bool operator== (const NamedCallBacker &oth) const
 
bool operator== (const NamedObject &oth) const
 
- Public Member Functions inherited from CallBacker
 CallBacker ()
 
 CallBacker (const CallBacker &)
 
virtual ~CallBacker ()
 
bool attachCB (const NotifierAccess &, const CallBack &, bool onlyifnew=false) const
 
bool attachCB (const NotifierAccess *notif, const CallBack &cb, bool onlyifnew=false) const
 
void detachAllNotifiers () const
 Call from the destructor of your inherited object.
 
void detachCB (const NotifierAccess &, const CallBack &) const
 
void detachCB (const NotifierAccess *notif, const CallBack &cb) const
 
virtual bool isCapsule () const
 
bool isNotifierAttached (const NotifierAccess *) const
 Only for debugging purposes, don't use.
 
CallBackeroperator= (const CallBacker &)=delete
 
void stopReceivingNotifications () const
 
virtual CallBackertrueCaller ()
 
- Public Member Functions inherited from NamedObject
 NamedObject (const char *nm=nullptr)
 
 NamedObject (const NamedObject &oth)
 
virtual ~NamedObject ()
 
virtual BufferString getName () const
 
bool getNameFromPar (const IOPar &)
 
const name_typename () const override
 
NamedObjectoperator= (const NamedObject &)
 
bool operator== (const NamedObject &oth) const
 
virtual void setName (const char *nm)
 
- Public Member Functions inherited from ObjectWithName
virtual ~ObjectWithName ()
 
bool hasName (const char *nm) const
 
bool hasName (const name_type &nm) const
 
void putNameInPar (IOPar &) const
 
- Public Member Functions inherited from RefCount::Referenced
void addObserver (WeakPtrBase *obs)
 Not for normal use. May become private.
 
int nrRefs () const
 Only for expert use.
 
void ref () const
 
bool refIfReffed () const
 Don't use in production, for debugging.
 
void removeObserver (WeakPtrBase *obs)
 Not for normal use. May become private.
 
bool tryRef () const
 Not for normal use. May become private.
 
void unRef () const
 
void unRefNoDelete () const
 

Static Public Member Functions

static Interval< float > getDefaultVAvg (const UnitOfMeasure *)
 
static bool getRange (const IOPar &, const VelocityDesc &, bool top, Interval< float > &)
 
static ZSampling getWorkZSampling (const ZSampling &, const ZDomain::Info &from, const ZDomain::Info &to, const Interval< float > &topvavg, const Interval< float > &botvavg, const UnitOfMeasure *vavguom, bool makenice=true)
 
static ZSampling getWorkZSampling (const ZSampling &, const ZDomain::Info &from, const ZDomain::Info &to, const IOPar &, bool makenice=true)
 
static void setRange (const Interval< float > &, const VelocityDesc &, bool top, IOPar &)
 
- Static Public Member Functions inherited from ZAxisTransform
static ZAxisTransformcreate (const IOPar &)
 
- Static Public Member Functions inherited from SharedObject
static Notifier< SharedObject > & instanceCreated ()
 
- Static Public Member Functions inherited from CallBacker
static void createReceiverForCurrentThread ()
 
static void removeReceiverForCurrentThread ()
 
- Static Public Member Functions inherited from RefCount::Referenced
static bool isSane (const Referenced *)
 

Protected Member Functions

 VelocityStretcher (const ZDomain::Def &from, const ZDomain::Def &to, const MultiID &)
 
 ~VelocityStretcher ()
 
- Protected Member Functions inherited from ZAxisTransform
 ZAxisTransform (const ZDomain::Def &from, const ZDomain::Def &to)
 
 ~ZAxisTransform ()
 
ZSampling getZInterval (const ZSampling &, const ZDomain::Def &from, const ZDomain::Def &to, bool makenice=true) const =delete
 
virtual ZSampling getZInterval (const ZSampling &, const ZDomain::Info &from, const ZDomain::Info &to, bool makenice=true) const
 
- Protected Member Functions inherited from SharedObject
 ~SharedObject ()
 
- Protected Member Functions inherited from NamedCallBacker
void sendDelNotif () const
 
- Protected Member Functions inherited from RefCount::Referenced
 Referenced ()
 
 Referenced (const Referenced &)
 
virtual ~Referenced ()
 
Referencedoperator= (const Referenced &)
 

Private Member Functions

int addVolumeOfInterest (const TrcKeyZSampling &, bool zistrans) override
 
bool canTransformSurv (OD::GeomSystem) const override
 
void doTransform (const TrcKey &, const SamplingData< float > &, const ZDomain::Info &sdzinfo, int sz, float *) const
 
void fillPar (IOPar &) const override
 
Interval< float > getDefaultVAvg () const
 
Interval< float > getInterval (const BinID &, int voiidx, const ZDomain::Info &) const
 
ZSampling getModelZSampling () const override
 
ZSampling getWorkZSampling (const ZSampling &, const ZDomain::Info &from, const ZDomain::Info &to) const override
 
bool loadDataIfMissing (int, TaskRunner *=nullptr) override
 
bool needsVolumeOfInterest () const override
 
void releaseData ()
 
void removeVolumeOfInterest (int) override
 
void setVolumeOfInterest (int, const TrcKeyZSampling &, bool zistrans) override
 
void transformTrc (const TrcKey &, const SamplingData< float > &, int, float *) const override
 
void transformTrcBack (const TrcKey &, const SamplingData< float > &, int, float *) const override
 
bool usePar (const IOPar &) override
 

Static Private Member Functions

static ZSampling getWorkZSampling (const ZSampling &, const ZDomain::Def &from, const ZDomain::Def &to, const Interval< float > &topvavg, const Interval< float > &botvavg, const UnitOfMeasure *vavguom, bool makenice=true)=delete
 
static ZSampling getWorkZSampling (const ZSampling &, const ZDomain::Def &from, const ZDomain::Def &to, const IOPar &, bool makenice=true)=delete
 
static const char * sKeyBotVavg ()
 
static const char * sKeyTopVavg ()
 

Private Attributes

Interval< float > botvavg_
 
Interval< float > topvavg_
 
VelocityDescveldesc_
 
SeisTrcReadervelreader_ = nullptr
 
const ZDomain::Infovelzinfo_ = nullptr
 
ObjectSet< Array3D< float > > voidata_
 
TypeSet< int > voiids_
 
ObjectSet< const ZDomain::Infovoirevzinfos_
 
TypeSet< TrcKeyZSamplingvoivols_
 
ObjectSet< const ZDomain::Infovoizinfos_
 

Additional Inherited Members

- Public Types inherited from ObjectWithName
typedef OD::String name_type
 
- Protected Attributes inherited from ZAxisTransform
const ZDomain::Infodatafromzdominfo_ = nullptr
 
const ZDomain::Infodatatozdominfo_ = nullptr
 
uiString errmsg_
 
ZDomain::Infofromzdomaininfo_
 
ZDomain::Infotozdomaininfo_
 
- Protected Attributes inherited from NamedCallBacker
Threads::Atomic< bool > delalreadytriggered_
 
Notifier< NamedCallBackerdelnotif_
 
- Protected Attributes inherited from NamedObject
BufferString name_
 

Detailed Description

Base class for ZAxisstretchers that convert between time and depth using a 2D/3D velocity model on disk.

<>

Constructor & Destructor Documentation

◆ VelocityStretcher()

VelocityStretcher::VelocityStretcher ( const ZDomain::Def & from,
const ZDomain::Def & to,
const MultiID &  )
protected

◆ ~VelocityStretcher()

VelocityStretcher::~VelocityStretcher ( )
protected

Member Function Documentation

◆ addVolumeOfInterest()

int VelocityStretcher::addVolumeOfInterest ( const TrcKeyZSampling & ,
bool zistrans )
overrideprivatevirtual
Returns
id of new Volume of Interest.

Reimplemented from ZAxisTransform.

◆ canTransformSurv()

bool VelocityStretcher::canTransformSurv ( OD::GeomSystem ) const
inlineoverrideprivatevirtual

Implements ZAxisTransform.

◆ doTransform()

void VelocityStretcher::doTransform ( const TrcKey & ,
const SamplingData< float > & ,
const ZDomain::Info & sdzinfo,
int sz,
float *  ) const
private

◆ fillPar()

void VelocityStretcher::fillPar ( IOPar & ) const
overrideprivatevirtual

Reimplemented from ZAxisTransform.

◆ getDefaultVAvg() [1/2]

Interval< float > VelocityStretcher::getDefaultVAvg ( ) const
private

◆ getDefaultVAvg() [2/2]

static Interval< float > VelocityStretcher::getDefaultVAvg ( const UnitOfMeasure * )
static

◆ getInterval()

Interval< float > VelocityStretcher::getInterval ( const BinID & ,
int voiidx,
const ZDomain::Info &  ) const
private

◆ getModelZSampling()

ZSampling VelocityStretcher::getModelZSampling ( ) const
overrideprivatevirtual

Reimplemented from ZAxisTransform.

◆ getRange()

static bool VelocityStretcher::getRange ( const IOPar & ,
const VelocityDesc & ,
bool top,
Interval< float > &  )
static

◆ getVelID()

MultiID VelocityStretcher::getVelID ( ) const

◆ getWorkZSampling() [1/5]

static ZSampling VelocityStretcher::getWorkZSampling ( const ZSampling & ,
const ZDomain::Def & from,
const ZDomain::Def & to,
const Interval< float > & topvavg,
const Interval< float > & botvavg,
const UnitOfMeasure * vavguom,
bool makenice = true )
staticprivatedelete

◆ getWorkZSampling() [2/5]

static ZSampling VelocityStretcher::getWorkZSampling ( const ZSampling & ,
const ZDomain::Def & from,
const ZDomain::Def & to,
const IOPar & ,
bool makenice = true )
staticprivatedelete

◆ getWorkZSampling() [3/5]

ZSampling VelocityStretcher::getWorkZSampling ( const ZSampling & ,
const ZDomain::Info & from,
const ZDomain::Info & to ) const
overrideprivatevirtual

Implements ZAxisTransform.

◆ getWorkZSampling() [4/5]

static ZSampling VelocityStretcher::getWorkZSampling ( const ZSampling & ,
const ZDomain::Info & from,
const ZDomain::Info & to,
const Interval< float > & topvavg,
const Interval< float > & botvavg,
const UnitOfMeasure * vavguom,
bool makenice = true )
static

◆ getWorkZSampling() [5/5]

static ZSampling VelocityStretcher::getWorkZSampling ( const ZSampling & ,
const ZDomain::Info & from,
const ZDomain::Info & to,
const IOPar & ,
bool makenice = true )
static

◆ isOK()

bool VelocityStretcher::isOK ( ) const
overridevirtual

Reimplemented from ZAxisTransform.

◆ loadDataIfMissing()

bool VelocityStretcher::loadDataIfMissing ( int ,
TaskRunner * = nullptr )
overrideprivatevirtual

Reimplemented from ZAxisTransform.

◆ needsVolumeOfInterest()

bool VelocityStretcher::needsVolumeOfInterest ( ) const
inlineoverrideprivatevirtual

Reimplemented from ZAxisTransform.

◆ releaseData()

void VelocityStretcher::releaseData ( )
private

◆ removeVolumeOfInterest()

void VelocityStretcher::removeVolumeOfInterest ( int )
overrideprivatevirtual

Reimplemented from ZAxisTransform.

◆ setRange()

static void VelocityStretcher::setRange ( const Interval< float > & ,
const VelocityDesc & ,
bool top,
IOPar &  )
static

◆ setVelData()

bool VelocityStretcher::setVelData ( const MultiID & )

◆ setVolumeOfInterest()

void VelocityStretcher::setVolumeOfInterest ( int ,
const TrcKeyZSampling & ,
bool zistrans )
overrideprivatevirtual

Reimplemented from ZAxisTransform.

◆ sKeyBotVavg()

static const char * VelocityStretcher::sKeyBotVavg ( )
inlinestaticprivate

◆ sKeyTopVavg()

static const char * VelocityStretcher::sKeyTopVavg ( )
inlinestaticprivate

◆ transformTrc()

void VelocityStretcher::transformTrc ( const TrcKey & ,
const SamplingData< float > & ,
int ,
float *  ) const
overrideprivatevirtual

Implements ZAxisTransform.

◆ transformTrcBack()

void VelocityStretcher::transformTrcBack ( const TrcKey & ,
const SamplingData< float > & ,
int ,
float *  ) const
overrideprivatevirtual

Implements ZAxisTransform.

◆ usePar()

bool VelocityStretcher::usePar ( const IOPar & )
overrideprivatevirtual

Reimplemented from ZAxisTransform.

◆ velUnit()

const UnitOfMeasure * VelocityStretcher::velUnit ( ) const

Member Data Documentation

◆ botvavg_

Interval<float> VelocityStretcher::botvavg_
private

◆ topvavg_

Interval<float> VelocityStretcher::topvavg_
private

◆ veldesc_

VelocityDesc& VelocityStretcher::veldesc_
private

◆ velreader_

SeisTrcReader* VelocityStretcher::velreader_ = nullptr
private

◆ velzinfo_

const ZDomain::Info* VelocityStretcher::velzinfo_ = nullptr
private

◆ voidata_

ObjectSet<Array3D<float> > VelocityStretcher::voidata_
private

◆ voiids_

TypeSet<int> VelocityStretcher::voiids_
private

◆ voirevzinfos_

ObjectSet<const ZDomain::Info> VelocityStretcher::voirevzinfos_
private

◆ voivols_

TypeSet<TrcKeyZSampling> VelocityStretcher::voivols_
private

◆ voizinfos_

ObjectSet<const ZDomain::Info> VelocityStretcher::voizinfos_
private

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