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

Well log. More...

#include <welllog.h>

Inheritance diagram for Well::Log:
[legend]

Public Member Functions

 Log (const char *nm=nullptr)
 
 Log (const Log &)
 
 ~Log ()
 
void addValue (float md, float val)
 addition must always ascend or descend
 
LogcleanUdfs () const
 
Logclone () const
 
void convertTo (const UnitOfMeasure *)
 
void ensureAscZ ()
 
float getValue (float md, bool noudfs=false) const
 
bool haveMnemonic () const
 
bool haveUnit () const
 
const LogIDID () const
 
bool insertAtDah (float md, float val) override
 
bool isCode () const
 log values are all integers stored as floats
 
bool isLoaded () const
 
const char * mnemLabel () const
 
const Mnemonicmnemonic (bool setifnull=false) const
 
const char * mnemonicLabel () const
 
Logoperator= (const Log &)
 
IOParpars ()
 
const IOParpars () const
 
void prepareForDisplay ()
 call it when plotting this log, preferably on a copy
 
Mnemonic::StdType propType () const
 
void removeTopBottomUdfs ()
 
LogsampleLog (const StepInterval< float > &) const
 
void setID (const LogID &id)
 
void setMnemLabel (const char *str)
 
void setMnemonic (const Mnemonic &)
 
void setMnemonicLabel (const char *, bool setifnull=false)
 
void setUnitMeasLabel (const char *, bool converttosymbol=true)
 
void setUnitOfMeasure (const UnitOfMeasure *)
 
void setValue (int idx, float val)
 
void setValueRange (const Interval< float > &)
 
const char * unitMeasLabel () const
 
const UnitOfMeasureunitOfMeasure () const
 
void updateAfterValueChanges ()
 call it upon any change of value(s)
 
LogupScaleLog (const StepInterval< float > &) const
 
float * valArr ()
 
const float * valArr () const
 
float value (int idx) const override
 
Interval< float > & valueRange ()
 
const Interval< float > & valueRange () const
 
- Public Member Functions inherited from Well::DahObj
virtual ~DahObj ()
 
void addToDahFrom (int fromidx, float extradah)
 
float dah (int idx) const
 
float * dahArr ()
 
const float * dahArr () const
 
Interval< float > & dahRange ()
 
Interval< float > dahRange () const
 returns Udf for empty dah_
 
float dahStep (bool min_else_average) const
 
void deInterpolate ()
 Remove unnecessary points.
 
int indexOf (float dah) const
 
bool isEmpty () const
 
virtual void remove (int idx)
 
void removeFromDahFrom (int fromidx, float extradah)
 
virtual void setEmpty ()
 
int size () const
 
void updateDahRange ()
 
- 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
 

Static Public Member Functions

static LogcreateSampledLog (const StepInterval< float > &, float val=mUdf(float))
 
static const char * sKeyDahRange ()
 
static const char * sKeyDefMnemLbl ()
 
static const char * sKeyHdrInfo ()
 
static const char * sKeyLogRange ()
 
static const char * sKeyMnemLbl ()
 
static const char * sKeyStorage ()
 
static const char * sKeyUnitLbl ()
 
- Static Public Member Functions inherited from Well::DahObj
static Notifier< DahObj > & instanceCreated ()
 
- Static Public Member Functions inherited from CallBacker
static void createReceiverForCurrentThread ()
 
static void removeReceiverForCurrentThread ()
 

Private Member Functions

void eraseAux () override
 
float gtVal (float, int &) const
 
const MnemonicguessMnemonic ()
 
void removeAux (int idx) override
 
void setMnemonicNullCB (CallBacker *)
 

Private Attributes

LogID id_
 
bool iscode_ = false
 
const Mnemonicmn_ = nullptr
 
BufferString mnemlbl_
 
IOPar pars_
 
Interval< float > range_
 
BufferString unitmeaslbl_
 
const UnitOfMeasureuom_ = nullptr
 
TypeSet< float > vals_
 

Additional Inherited Members

- Public Types inherited from ObjectWithName
typedef OD::String name_type
 
- Protected Member Functions inherited from Well::DahObj
 DahObj (const char *nm=nullptr)
 
 DahObj (const DahObj &)
 
DahObjoperator= (const DahObj &)
 
- Protected Member Functions inherited from NamedCallBacker
void sendDelNotif () const
 
- Protected Attributes inherited from Well::DahObj
TypeSet< float > dah_
 
Interval< float > dahrange_
 
- Protected Attributes inherited from NamedCallBacker
Threads::Atomic< bool > delalreadytriggered_
 
Notifier< NamedCallBackerdelnotif_
 
- Protected Attributes inherited from NamedObject
BufferString name_
 

Detailed Description

Well log.

No regular sampling required, as in all DahObjs.

Logs can contain undefined points and sections (washouts etc.) - they will never have undefined dah values though. If you can't handle undef values, use getValue( dah, true ).

Log are imported 'as is', making this one of the rare non-SI value objects in OpendTect. The unit of measure label you get may be able to uncover what the actual unit of measure is.

The IOPar pars() will be retrieved and stored with each log; it is not really used; moreover, it's intended for plugins to dump their extra info about this log.

<>

Constructor & Destructor Documentation

◆ Log() [1/2]

Well::Log::Log ( const char * nm = nullptr)

◆ Log() [2/2]

Well::Log::Log ( const Log & )

◆ ~Log()

Well::Log::~Log ( )

Member Function Documentation

◆ addValue()

void Well::Log::addValue ( float md,
float val )

addition must always ascend or descend

◆ cleanUdfs()

Log * Well::Log::cleanUdfs ( ) const

◆ clone()

Log * Well::Log::clone ( ) const

◆ convertTo()

void Well::Log::convertTo ( const UnitOfMeasure * )

◆ createSampledLog()

static Log * Well::Log::createSampledLog ( const StepInterval< float > & ,
float val = mUdf(float) )
static

◆ ensureAscZ()

void Well::Log::ensureAscZ ( )

◆ eraseAux()

void Well::Log::eraseAux ( )
inlineoverrideprivatevirtual

Implements Well::DahObj.

◆ getValue()

float Well::Log::getValue ( float md,
bool noudfs = false ) const

◆ gtVal()

float Well::Log::gtVal ( float ,
int &  ) const
private

◆ guessMnemonic()

const Mnemonic * Well::Log::guessMnemonic ( )
private

◆ haveMnemonic()

bool Well::Log::haveMnemonic ( ) const

◆ haveUnit()

bool Well::Log::haveUnit ( ) const
inline

◆ ID()

const LogID & Well::Log::ID ( ) const
inline

◆ insertAtDah()

bool Well::Log::insertAtDah ( float md,
float val )
overridevirtual

Implements Well::DahObj.

◆ isCode()

bool Well::Log::isCode ( ) const
inline

log values are all integers stored as floats

◆ isLoaded()

bool Well::Log::isLoaded ( ) const

◆ mnemLabel()

const char * Well::Log::mnemLabel ( ) const
inline

◆ mnemonic()

const Mnemonic * Well::Log::mnemonic ( bool setifnull = false) const

◆ mnemonicLabel()

const char * Well::Log::mnemonicLabel ( ) const

◆ operator=()

Log & Well::Log::operator= ( const Log & )

◆ pars() [1/2]

IOPar & Well::Log::pars ( )
inline

◆ pars() [2/2]

const IOPar & Well::Log::pars ( ) const
inline

◆ prepareForDisplay()

void Well::Log::prepareForDisplay ( )

call it when plotting this log, preferably on a copy

◆ propType()

Mnemonic::StdType Well::Log::propType ( ) const

◆ removeAux()

void Well::Log::removeAux ( int idx)
inlineoverrideprivatevirtual

Implements Well::DahObj.

◆ removeTopBottomUdfs()

void Well::Log::removeTopBottomUdfs ( )

◆ sampleLog()

Log * Well::Log::sampleLog ( const StepInterval< float > & ) const

◆ setID()

void Well::Log::setID ( const LogID & id)
inline

◆ setMnemLabel()

void Well::Log::setMnemLabel ( const char * str)
inline

◆ setMnemonic()

void Well::Log::setMnemonic ( const Mnemonic & )

◆ setMnemonicLabel()

void Well::Log::setMnemonicLabel ( const char * ,
bool setifnull = false )

◆ setMnemonicNullCB()

void Well::Log::setMnemonicNullCB ( CallBacker * )
private

◆ setUnitMeasLabel()

void Well::Log::setUnitMeasLabel ( const char * ,
bool converttosymbol = true )

◆ setUnitOfMeasure()

void Well::Log::setUnitOfMeasure ( const UnitOfMeasure * )

◆ setValue()

void Well::Log::setValue ( int idx,
float val )

◆ setValueRange()

void Well::Log::setValueRange ( const Interval< float > & )

◆ sKeyDahRange()

static const char * Well::Log::sKeyDahRange ( )
static

◆ sKeyDefMnemLbl()

static const char * Well::Log::sKeyDefMnemLbl ( )
static

◆ sKeyHdrInfo()

static const char * Well::Log::sKeyHdrInfo ( )
static

◆ sKeyLogRange()

static const char * Well::Log::sKeyLogRange ( )
static

◆ sKeyMnemLbl()

static const char * Well::Log::sKeyMnemLbl ( )
static

◆ sKeyStorage()

static const char * Well::Log::sKeyStorage ( )
static

◆ sKeyUnitLbl()

static const char * Well::Log::sKeyUnitLbl ( )
static

◆ unitMeasLabel()

const char * Well::Log::unitMeasLabel ( ) const
inline

◆ unitOfMeasure()

const UnitOfMeasure * Well::Log::unitOfMeasure ( ) const
inline

◆ updateAfterValueChanges()

void Well::Log::updateAfterValueChanges ( )

call it upon any change of value(s)

◆ upScaleLog()

Log * Well::Log::upScaleLog ( const StepInterval< float > & ) const

◆ valArr() [1/2]

float * Well::Log::valArr ( )
inline

◆ valArr() [2/2]

const float * Well::Log::valArr ( ) const
inline

◆ value()

float Well::Log::value ( int idx) const
inlineoverridevirtual

Implements Well::DahObj.

◆ valueRange() [1/2]

Interval< float > & Well::Log::valueRange ( )
inline

◆ valueRange() [2/2]

const Interval< float > & Well::Log::valueRange ( ) const
inline

Member Data Documentation

◆ id_

LogID Well::Log::id_
private

◆ iscode_

bool Well::Log::iscode_ = false
private

◆ mn_

const Mnemonic* Well::Log::mn_ = nullptr
private

◆ mnemlbl_

BufferString Well::Log::mnemlbl_
private

◆ pars_

IOPar Well::Log::pars_
private

◆ range_

Interval<float> Well::Log::range_
private

◆ unitmeaslbl_

BufferString Well::Log::unitmeaslbl_
private

◆ uom_

const UnitOfMeasure* Well::Log::uom_ = nullptr
private

◆ vals_

TypeSet<float> Well::Log::vals_
private

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