OpendTect  7.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Well::Log Class Reference

Well log. More...

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 More...
 
LogcleanUdfs () const
 
void convertTo (const UnitOfMeasure *)
 
void ensureAscZ ()
 
float getValue (float md, bool noudfs=false) const
 
mDeprecatedObs void guessMnemonic ()
 
bool haveMnemonic () const
 
bool haveUnit () const
 
bool insertAtDah (float md, float val) override
 
bool isCode () const
 log values are all integers stored as floats More...
 
bool isLoaded () const
 
const char * mnemLabel () const
 
const Mnemonicmnemonic () const
 
const Mnemonicmnemonic (bool setifnull) const
 
const char * mnemonicLabel () const
 
Logoperator= (const Log &)
 
IOParpars ()
 
const IOParpars () const
 
void prepareForDisplay ()
 call it when plotting this log, preferably on a copy More...
 
Mnemonic::StdType propType () const
 
void removeTopBottomUdfs ()
 
LogsampleLog (const StepInterval< float > &) const
 
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) More...
 
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_ More...
 
float dahStep (bool min_else_average) const
 
void deInterpolate ()
 Remove unnecessary points. More...
 
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=0)
 
 NamedCallBacker (const NamedCallBacker &)
 
virtual Notifier< NamedCallBacker > & objectToBeDeleted () const
 
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. More...
 
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. More...
 
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 ()
 

Protected Member Functions

void eraseAux () override
 
const MnemonicgetGuessedMnemonic ()
 
float gtVal (float, int &) const
 
void removeAux (int idx) override
 
- 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

bool iscode_ = false
 
const Mnemonicmn_ = nullptr
 
BufferString mnemlbl_
 
IOPar pars_
 
Interval< float > range_
 
BufferString unitmeaslbl_
 
const UnitOfMeasureuom_ = nullptr
 
TypeSet< float > vals_
 
- 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_
 

Additional Inherited Members

- Public Types inherited from ObjectWithName
typedef OD::String name_type
 

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

◆ 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 ( )
inlineoverrideprotectedvirtual

Implements Well::DahObj.

◆ getGuessedMnemonic()

const Mnemonic* Well::Log::getGuessedMnemonic ( )
protected

◆ getValue()

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

◆ gtVal()

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

◆ guessMnemonic()

mDeprecatedObs void Well::Log::guessMnemonic ( )

◆ haveMnemonic()

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

◆ haveUnit()

bool Well::Log::haveUnit ( ) 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() [1/2]

const Mnemonic* Well::Log::mnemonic ( ) const

◆ mnemonic() [2/2]

const Mnemonic* Well::Log::mnemonic ( bool  setifnull) 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)
inlineoverrideprotectedvirtual

Implements Well::DahObj.

◆ removeTopBottomUdfs()

void Well::Log::removeTopBottomUdfs ( )

◆ sampleLog()

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

◆ 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 
)

◆ 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

◆ iscode_

bool Well::Log::iscode_ = false
protected

◆ mn_

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

◆ mnemlbl_

BufferString Well::Log::mnemlbl_
protected

◆ pars_

IOPar Well::Log::pars_
protected

◆ range_

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

◆ unitmeaslbl_

BufferString Well::Log::unitmeaslbl_
protected

◆ uom_

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

◆ vals_

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

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