#include <well.hpp>

Inheritance diagram for NRLib::Well:
Inheritance graph

Public Types

enum  WELL_FILE_FORMAT { RMS =0 , NORSAR = 1 , LAS = 2 }
 

Public Member Functions

 Well ()
 Default constructor. More...
 
 Well (const std::string &name, double rmissing=-999.0, int imissing=-999)
 Construct well with given name and no logs. More...
 
 Well (const std::string &file_name, bool &read_ok, const std::string &facies_log="")
 Construct well from file. More...
 
 Well (const std::map< std::string, std::vector< double > > &cont_log, const std::map< std::string, std::vector< int > > &disc_log, const std::string &well_name)
 
virtual ~Well ()
 Destructor. More...
 
bool HasDiscLog (const std::string &name) const
 Check existence of discrete log. More...
 
bool HasContLog (const std::string &name) const
 Check existence of continuous log. More...
 
std::vector< double > & GetContLog (const std::string &name)
 Return continuous logs. More...
 
std::vector< double > & GetContLogSeismicResolution (const std::string &name)
 
std::vector< double > & GetContLogBackgroundResolution (const std::string &name)
 
const std::vector< double > & GetContLog (const std::string &name) const
 Return continuous logs. More...
 
const std::vector< double > & GetContLogSeismicResolution (const std::string &name) const
 
const std::vector< double > & GetContLogBackgroundResolution (const std::string &name) const
 
std::vector< int > & GetDiscLog (const std::string &name)
 Return discrete logs. More...
 
const std::vector< int > & GetDiscLog (const std::string &name) const
 Return discrete logs. More...
 
void AddContLog (const std::string &name, const std::vector< double > &log)
 
void AddContLogSeismicResolution (const std::string &name, const std::vector< double > &log)
 
void AddContLogBackgroundResolution (const std::string &name, const std::vector< double > &log)
 
void RemoveContLog (const std::string &name)
 
void AddDiscLog (const std::string &name, const std::vector< int > &log)
 
void RemoveDiscLog (const std::string &name)
 
void MakeLogsUppercase ()
 Change case of all logs to uppercase, to remove case sensitivity on log names. More...
 
void SetWellName (const std::string &wellname)
 Set name of well. More...
 
const std::stringGetWellName () const
 
void SetDate (const std::string &wellname)
 Set name of well. More...
 
const std::stringGetDate () const
 
bool IsMissing (double x) const
 Return true if x is missing. More...
 
bool IsMissing (int n) const
 Return true if n is missing. More...
 
bool IsDeviated () const
 Check if deviated. More...
 
double GetContMissing () const
 Return cont. missing value. More...
 
int GetNData (void) const
 Return number of time data. More...
 
int GetIntMissing () const
 Return disc. missing value. More...
 
void SetDeviated (bool b)
 Set deviated. More...
 
void SetMissing (double value)
 Set missing values. More...
 
int GetDiscValue (size_t index, const std::string &logname) const
 
double GetContValue (size_t index, const std::string &logname) const
 
void SetDiscValue (int value, size_t index, const std::string &logname)
 Set value at position index in log with name logname. More...
 
void SetContValue (double value, size_t index, const std::string &logname)
 Set value at position index in log with name logname. More...
 
size_t GetNlog () const
 Return total number of logs. More...
 
size_t GetNContLog () const
 Return number of discrete logs. More...
 
size_t GetContLogLength (const std::string &logname) const
 Return length of log with name logname. More...
 
const std::map< std::string, std::vector< double > > & GetContLog () const
 Return all continuous logs. More...
 
const std::map< std::string, std::vector< double > > & GetContLogSeismicResolution () const
 
const std::map< std::string, std::vector< double > > & GetContLogBackgroundResolution () const
 
const std::map< std::string, std::vector< int > > & GetDiscLog () const
 Return all discrete logs. More...
 
int GetNFacies () const
 Facies. More...
 
const std::map< int, std::string > & GetFaciesMap () const
 Map integer log to facies name. More...
 
void SetXPos0 (double x_pos0)
 
void SetYPos0 (double y_pos0)
 
double GetXPos0 ()
 
double GetYPos0 ()
 
void SetNumberOfNonMissingData (int n_data_nonmissing)
 Set number of non-missing data. More...
 
void SetNumberOfData (int n_data)
 Set number of data. More...
 
void SetFaciesMappingFromDiscLog (const std::string &name)
 
virtual const std::map< int, std::stringGetDiscNames (const std::string &log_name) const
 
unsigned int GetNumberOfNonMissingData () const
 
void SetUseForBackgroundTrend (int use_for_background_trend)
 
void SetUseForFiltering (int use_for_filtering)
 
void SetUseForFaciesProbabilities (int use_for_facies_probabilities)
 
void SetUseForWaveletEstimation (int use_for_wavelet_estimation)
 
void SetRealVsLog (int real_vs_log)
 
void SetUseForRockPhysics (int use_for_rock_physics)
 
int GetUseForBackgroundTrend (void) const
 
int GetUseForFiltering (void) const
 
int GetUseForFaciesProbabilities (void) const
 
int GetUseForWaveletEstimation (void) const
 
int GetRealVsLog (void) const
 
int GetUseForRockPhysics (void) const
 
bool HasSyntheticVsLog (void) const
 

Static Public Member Functions

static WellReadWell (const std::string &file_name, int &well_format)
 

Protected Attributes

unsigned int n_data_
 
unsigned int n_data_nonmissing_
 

Member Enumeration Documentation

◆ WELL_FILE_FORMAT

Enumerator
RMS 
NORSAR 
LAS 

Constructor & Destructor Documentation

◆ Well() [1/4]

NRLib::Well::Well ( )

Default constructor.

◆ Well() [2/4]

NRLib::Well::Well ( const std::string name,
double  rmissing = -999.0,
int  imissing = -999 
)

Construct well with given name and no logs.

◆ Well() [3/4]

NRLib::Well::Well ( const std::string file_name,
bool read_ok,
const std::string facies_log = "" 
)

Construct well from file.

◆ Well() [4/4]

NRLib::Well::Well ( const std::map< std::string, std::vector< double > > &  cont_log,
const std::map< std::string, std::vector< int > > &  disc_log,
const std::string well_name 
)

Constructor

Parameters
[in]cont_logContinuous logs
[in]disc_logDiscrete logs
[in]well_name

◆ ~Well()

virtual NRLib::Well::~Well ( )
virtual

Destructor.

Member Function Documentation

◆ AddContLog()

void NRLib::Well::AddContLog ( const std::string name,
const std::vector< double > &  log 
)

Add a continuous log Replaces the log if there is already a log with the given name.

◆ AddContLogBackgroundResolution()

void NRLib::Well::AddContLogBackgroundResolution ( const std::string name,
const std::vector< double > &  log 
)

◆ AddContLogSeismicResolution()

void NRLib::Well::AddContLogSeismicResolution ( const std::string name,
const std::vector< double > &  log 
)

◆ AddDiscLog()

void NRLib::Well::AddDiscLog ( const std::string name,
const std::vector< int > &  log 
)

Add discrete log Replaces the log if there is already a log with the given name.

◆ GetContLog() [1/3]

const std::map< std::string, std::vector< double > > & NRLib::Well::GetContLog ( ) const
inline

Return all continuous logs.

◆ GetContLog() [2/3]

std::vector< double > & NRLib::Well::GetContLog ( const std::string name)

Return continuous logs.

◆ GetContLog() [3/3]

const std::vector< double > & NRLib::Well::GetContLog ( const std::string name) const

Return continuous logs.

◆ GetContLogBackgroundResolution() [1/3]

const std::map< std::string, std::vector< double > > & NRLib::Well::GetContLogBackgroundResolution ( ) const
inline

◆ GetContLogBackgroundResolution() [2/3]

std::vector< double > & NRLib::Well::GetContLogBackgroundResolution ( const std::string name)

◆ GetContLogBackgroundResolution() [3/3]

const std::vector< double > & NRLib::Well::GetContLogBackgroundResolution ( const std::string name) const

◆ GetContLogLength()

size_t NRLib::Well::GetContLogLength ( const std::string logname) const

Return length of log with name logname.

◆ GetContLogSeismicResolution() [1/3]

const std::map< std::string, std::vector< double > > & NRLib::Well::GetContLogSeismicResolution ( ) const
inline

◆ GetContLogSeismicResolution() [2/3]

std::vector< double > & NRLib::Well::GetContLogSeismicResolution ( const std::string name)

◆ GetContLogSeismicResolution() [3/3]

const std::vector< double > & NRLib::Well::GetContLogSeismicResolution ( const std::string name) const

◆ GetContMissing()

double NRLib::Well::GetContMissing ( ) const
inline

Return cont. missing value.

◆ GetContValue()

double NRLib::Well::GetContValue ( size_t  index,
const std::string logname 
) const

Return continuous value at position index in log with name logname Returns missing if there is no log with the given name, or index is out of range.

◆ GetDate()

const std::string & NRLib::Well::GetDate ( ) const
inline

◆ GetDiscLog() [1/3]

const std::map< std::string, std::vector< int > > & NRLib::Well::GetDiscLog ( ) const
inline

Return all discrete logs.

◆ GetDiscLog() [2/3]

std::vector< int > & NRLib::Well::GetDiscLog ( const std::string name)

Return discrete logs.

◆ GetDiscLog() [3/3]

const std::vector< int > & NRLib::Well::GetDiscLog ( const std::string name) const

Return discrete logs.

◆ GetDiscNames()

virtual const std::map< int, std::string > NRLib::Well::GetDiscNames ( const std::string log_name) const
virtual

Reimplemented in NRLib::RMSWell.

Referenced by SetFaciesMappingFromDiscLog().

◆ GetDiscValue()

int NRLib::Well::GetDiscValue ( size_t  index,
const std::string logname 
) const

Return discrete value at position index in log with name logname Returns missing if there is no log with the given name, or index is out of range.

◆ GetFaciesMap()

const std::map< int, std::string > & NRLib::Well::GetFaciesMap ( ) const
inline

Map integer log to facies name.

◆ GetIntMissing()

int NRLib::Well::GetIntMissing ( ) const
inline

Return disc. missing value.

◆ GetNContLog()

size_t NRLib::Well::GetNContLog ( ) const

Return number of discrete logs.

◆ GetNData()

int NRLib::Well::GetNData ( void  ) const
inline

Return number of time data.

References n_data_.

◆ GetNFacies()

int NRLib::Well::GetNFacies ( ) const
inline

Facies.

◆ GetNlog()

size_t NRLib::Well::GetNlog ( ) const

Return total number of logs.

◆ GetNumberOfNonMissingData()

unsigned int NRLib::Well::GetNumberOfNonMissingData ( ) const
inline

References n_data_nonmissing_.

◆ GetRealVsLog()

int NRLib::Well::GetRealVsLog ( void  ) const
inline

◆ GetUseForBackgroundTrend()

int NRLib::Well::GetUseForBackgroundTrend ( void  ) const
inline

◆ GetUseForFaciesProbabilities()

int NRLib::Well::GetUseForFaciesProbabilities ( void  ) const
inline

◆ GetUseForFiltering()

int NRLib::Well::GetUseForFiltering ( void  ) const
inline

◆ GetUseForRockPhysics()

int NRLib::Well::GetUseForRockPhysics ( void  ) const
inline

◆ GetUseForWaveletEstimation()

int NRLib::Well::GetUseForWaveletEstimation ( void  ) const
inline

◆ GetWellName()

const std::string & NRLib::Well::GetWellName ( ) const
inline

◆ GetXPos0()

double NRLib::Well::GetXPos0 ( )
inline

◆ GetYPos0()

double NRLib::Well::GetYPos0 ( )
inline

◆ HasContLog()

bool NRLib::Well::HasContLog ( const std::string name) const

Check existence of continuous log.

◆ HasDiscLog()

bool NRLib::Well::HasDiscLog ( const std::string name) const

Check existence of discrete log.

◆ HasSyntheticVsLog()

bool NRLib::Well::HasSyntheticVsLog ( void  ) const
inline

◆ IsDeviated()

bool NRLib::Well::IsDeviated ( ) const
inline

Check if deviated.

◆ IsMissing() [1/2]

bool NRLib::Well::IsMissing ( double  x) const

Return true if x is missing.

◆ IsMissing() [2/2]

bool NRLib::Well::IsMissing ( int  n) const

Return true if n is missing.

◆ MakeLogsUppercase()

void NRLib::Well::MakeLogsUppercase ( )

Change case of all logs to uppercase, to remove case sensitivity on log names.

◆ ReadWell()

static Well * NRLib::Well::ReadWell ( const std::string file_name,
int &  well_format 
)
static

◆ RemoveContLog()

void NRLib::Well::RemoveContLog ( const std::string name)

Remove continuous log Does nothing if there is no log with the given name.

◆ RemoveDiscLog()

void NRLib::Well::RemoveDiscLog ( const std::string name)

Remove discrete log Does nothing if there is no log with the given name.

◆ SetContValue()

void NRLib::Well::SetContValue ( double  value,
size_t  index,
const std::string logname 
)

Set value at position index in log with name logname.

◆ SetDate()

void NRLib::Well::SetDate ( const std::string wellname)

Set name of well.

◆ SetDeviated()

void NRLib::Well::SetDeviated ( bool  b)
inline

Set deviated.

References b.

◆ SetDiscValue()

void NRLib::Well::SetDiscValue ( int  value,
size_t  index,
const std::string logname 
)

Set value at position index in log with name logname.

◆ SetFaciesMappingFromDiscLog()

void NRLib::Well::SetFaciesMappingFromDiscLog ( const std::string name)
inline

References GetDiscNames(), and name.

◆ SetMissing()

void NRLib::Well::SetMissing ( double  value)
inline

Set missing values.

References exprtk::details::value().

◆ SetNumberOfData()

void NRLib::Well::SetNumberOfData ( int  n_data)
inline

Set number of data.

References n_data_.

◆ SetNumberOfNonMissingData()

void NRLib::Well::SetNumberOfNonMissingData ( int  n_data_nonmissing)
inline

Set number of non-missing data.

References n_data_nonmissing_.

◆ SetRealVsLog()

void NRLib::Well::SetRealVsLog ( int  real_vs_log)
inline

◆ SetUseForBackgroundTrend()

void NRLib::Well::SetUseForBackgroundTrend ( int  use_for_background_trend)
inline

◆ SetUseForFaciesProbabilities()

void NRLib::Well::SetUseForFaciesProbabilities ( int  use_for_facies_probabilities)
inline

◆ SetUseForFiltering()

void NRLib::Well::SetUseForFiltering ( int  use_for_filtering)
inline

◆ SetUseForRockPhysics()

void NRLib::Well::SetUseForRockPhysics ( int  use_for_rock_physics)
inline

◆ SetUseForWaveletEstimation()

void NRLib::Well::SetUseForWaveletEstimation ( int  use_for_wavelet_estimation)
inline

◆ SetWellName()

void NRLib::Well::SetWellName ( const std::string wellname)

Set name of well.

◆ SetXPos0()

void NRLib::Well::SetXPos0 ( double  x_pos0)
inline

◆ SetYPos0()

void NRLib::Well::SetYPos0 ( double  y_pos0)
inline

Member Data Documentation

◆ n_data_

unsigned int NRLib::Well::n_data_
protected

Referenced by GetNData(), and SetNumberOfData().

◆ n_data_nonmissing_

unsigned int NRLib::Well::n_data_nonmissing_
protected

The documentation for this class was generated from the following file: