gstlearn  1.0.0
CCC
Vario Class Reference

#include <Vario.hpp>

Inheritance diagram for Vario:
AStringable ASerializable ICloneable

Public Member Functions

 Vario (const VarioParam &varioparam)
 
 Vario (const Vario &r)
 
Variooperator= (const Vario &r)
 
virtual ~Vario ()
 
virtual String toString (const AStringFormat *strfmt=nullptr) const override
 AStringable Interface. More...
 
void reduce (const VectorInt &varcols, const VectorInt &dircols, bool asSymmetric=false)
 
const ECalcVario & getCalcul () const
 
bool getFlagAsym () const
 
bool drawOnlyPositiveX (int ivar, int jvar) const
 
bool drawOnlyPositiveY (int ivar, int jvar) const
 
int getVariableNumber () const
 
const VectorDoublegetMeans () const
 
double getMean (int ivar) const
 
double getVar (int ivar, int jvar) const
 
double getVarIndex (int ijvar) const
 
const VectorDoublegetVars () const
 
void setMeans (const VectorDouble &means)
 
void setMean (double mean, int ivar=0)
 
void setVar (double value, int ivar=0, int jvar=0)
 
void setVars (const VectorDouble &vars)
 
void setVarIndex (int ijvar, double value)
 
void setDb (Db *db)
 
int getDirSize (int idir) const
 
double getGgByIndex (int idir=0, int i=0) const
 
double getHhByIndex (int idir=0, int i=0) const
 
double getSwByIndex (int idir=0, int i=0) const
 
double getUtilizeByIndex (int idir=0, int i=0) const
 
double getGg (int idir=0, int ivar=0, int jvar=0, int ipas=0, bool asCov=false, bool flagNormalized=false) const
 
double getHh (int idir=0, int ivar=0, int jvar=0, int ipas=0) const
 
double getSw (int idir=0, int ivar=0, int jvar=0, int ipas=0) const
 
double getUtilize (int idir=0, int ivar=0, int jvar=0, int ipas=0) const
 
VectorVectorDouble getVec (int idir=0, int ivar=0, int jvar=0) const
 
VectorDouble getGgVec (int idir=0, int ivar=0, int jvar=0, bool asCov=false, bool flagNormalized=false, bool compress=true) const
 
VectorDouble getHhVec (int idir=0, int ivar=0, int jvar=0, bool compress=true) const
 
VectorDouble getSwVec (int idir=0, int ivar=0, int jvar=0, bool compress=true) const
 
VectorDouble getUtilizeVec (int idir=0, int ivar=0, int jvar=0, bool compress=true) const
 
void setSwVec (int idir, int ivar, int jvar, const VectorDouble &sw)
 
void setHhVec (int idir, int ivar, int jvar, const VectorDouble &hh)
 
void setGgVec (int idir, int ivar, int jvar, const VectorDouble &gg)
 
VectorDouble getGgs (int idir=0, int ivar=0, int jvar=0, const VectorInt &ipas=VectorInt()) const
 
VectorDouble setGgs (int idir, int ivar, int jvar, const VectorInt &ipas, const VectorDouble &values)
 
const VectorDoublegetAllGg (int idir=0) const
 
const VectorDoublegetAllHh (int idir=0) const
 
const VectorDoublegetAllSw (int idir=0) const
 
const VectorDoublegetAllUtilize (int idir=0) const
 
void setGgByIndex (int idir, int i, double gg)
 
void setHhByIndex (int idir, int i, double hh)
 
void setSwByIndex (int idir, int i, double sw)
 
void setUtilizeByIndex (int idir, int i, double utilize)
 
void setSw (int idir, int ivar, int jvar, int ipas, double sw)
 
void setHh (int idir, int ivar, int jvar, int ipas, double hh)
 
void setGg (int idir, int ivar, int jvar, int ipas, double gg)
 
void setUtilize (int idir, int ivar, int jvar, int ipas, double utilize)
 
void updateSwByIndex (int idir, int i, double sw)
 
void updateHhByIndex (int idir, int i, double hh)
 
void updateGgByIndex (int idir, int i, double gg)
 
int getCenter (int ivar=0, int jvar=0, int idir=0) const
 
int getNext (int ivar=0, int jvar=0, int idir=0, int shift=1) const
 
int internalVariableResize ()
 
void internalDirectionResize (int ndir=0, bool flagDirs=true)
 
double getHmax (int ivar=-1, int jvar=-1, int idir=-1) const
 
VectorDouble getHRange (int ivar=-1, int jvar=-1, int idir=-1) const
 
double getGmax (int ivar=-1, int jvar=-1, int idir=-1, bool flagAbs=false, bool flagSill=false) const
 
VectorDouble getGRange (int ivar=-1, int jvar=-1, int idir=-1, bool flagSill=false) const
 
void patchCenter (int idir, int nech, double rho)
 
int fill (int idir, const VectorDouble &sw, const VectorDouble &gg, const VectorDouble &hh)
 
int getDirAddress (int idir, int ivar, int jvar, int ipas, bool flag_abs=false, int sens=0) const
 
int getVarAddress (int ivar, int jvar) const
 
int getLagTotalNumber (int idir) const
 
int compute (Db *db, const ECalcVario &calcul=ECalcVario::fromKey("VARIOGRAM"), bool flag_gen=false, bool flag_sample=false, bool verr_mode=false, Model *model=nullptr, bool verbose=false)
 
int computeIndic (Db *db, const ECalcVario &calcul=ECalcVario::fromKey("VARIOGRAM"), bool flag_gen=false, bool flag_sample=false, bool verr_mode=false, Model *model=nullptr, bool verbose=false, int nfacmax=-1)
 
int transformZToY (const AAnam *anam)
 
int transformYToZ (const AAnam *anam)
 
int modelRegularize (const Model &model, const VectorDouble &ext, const VectorInt &ndisc, const VectorDouble &angles=VectorDouble(), const CovCalcMode *mode=nullptr, bool asCov=false)
 
const DirParamgetDirParam (int idir) const
 
int getDirectionNumber () const
 
const VectorDoublegetDates () const
 
bool hasDate () const
 
double getDates (int idate, int icas) const
 
int getDateNumber () const
 
double getScale () const
 
int getDimensionNumber () const
 
void setScale (double scale)
 
void addDirs (const DirParam &dirparam)
 
int getLagNumber (int idir) const
 
double getDPas (int idir) const
 
int getDimensionNumber (int idir) const
 
VectorDouble getCodirs (int idir) const
 
double getCodir (int idir, int idim) const
 
double getMaximumDistance (int idir) const
 
int getIdate (int idir) const
 
VectorInt getGrincrs (int idir)
 
double getGrincr (int idir, int idim)
 
bool isDefinedForGrid () const
 
void setNVar (int nvar)
 
void setCalculName (const String calcul_name)
 
void setCalcul (const ECalcVario &calcul)
 
int prepare (const ECalcVario &calcul=ECalcVario::fromKey("VARIOGRAM"), bool defineList=true)
 
const VarioParamgetVarioParam () const
 
int getBiPtsNumberPerDirection () const
 
const ABiTargetCheckgetBipts (int idir, int rank) const
 
- Public Member Functions inherited from AStringable
 AStringable ()
 
 AStringable (const AStringable &r)
 
AStringableoperator= (const AStringable &r)
 
virtual ~AStringable ()
 
virtual void display (const AStringFormat *strfmt=nullptr) const final
 
virtual void display (int level) const final
 
- Public Member Functions inherited from ASerializable
 ASerializable ()
 
 ASerializable (const ASerializable &r)
 
ASerializableoperator= (const ASerializable &r)
 
virtual ~ASerializable ()
 
bool deserialize (std::istream &is, bool verbose=true)
 
bool serialize (std::ostream &os, bool verbose=true) const
 
bool dumpToNF (const String &neutralFilename, bool verbose=false) const
 
- Public Member Functions inherited from ICloneable
 ICloneable ()
 
virtual ~ICloneable ()
 
virtual ICloneableclone () const =0
 

Static Public Member Functions

static Variocreate (const VarioParam &varioparam)
 
static VariocreateSkeleton (const VarioParam &varioparam, int nvar=1, const ECalcVario &calcul=ECalcVario::fromKey("VARIOGRAM"), const VectorDouble &means=VectorDouble(), const VectorDouble &vars=VectorDouble())
 
static VariocreateFromNF (const String &neutralFilename, bool verbose=true)
 
static VariocreateRegularizeFromModel (const Model &model, const VarioParam &varioparam, const VectorDouble &ext, const VectorInt &ndisc, const VectorDouble &angles, bool asCov=false)
 
static VariocreateTransformZToY (const Vario &varioZ, const AAnam *anam)
 
static VariocreateTransformYToZ (const Vario &varioY, const AAnam *anam)
 
static VariocreateReduce (const Vario &varioIn, const VectorInt &varcols, const VectorInt &dircols, bool asSymmetric=false)
 
static VariocomputeFromDb (const VarioParam &varioparam, Db *db, const ECalcVario &calcul=ECalcVario::fromKey("VARIOGRAM"), bool flag_gen=false, bool flag_sample=false, bool verr_mode=false, Model *model=nullptr, bool verbose=false)
 
static const ECalcVario getCalculType (const String &calcul_name)
 
- Static Public Member Functions inherited from ASerializable
static String buildFileName (int status, const String &filename, bool ensureDirExist=false)
 
static String getHomeDirectory (const String &sub="")
 
static String getWorkingDirectory ()
 
static String getTestData (const String &subdir, const String &filename)
 
static String getFileIdentity (const String &filename, bool verbose=false)
 
static void setContainerName (bool useDefault, const String &containerName="", bool verbose=false)
 
static void unsetContainerName ()
 
static void setPrefixName (const String &prefixName)
 
static void unsetPrefixName ()
 
static const StringgetContainerName ()
 
static const StringgetPrefixName ()
 
static bool createDirectory (const String &dir)
 
static String getExecDirectory ()
 
static String getDirectory (const String &path)
 

Public Attributes

 DECLARE_TOTL
 ICloneable interface. More...
 

Protected Member Functions

virtual bool _deserialize (std::istream &is, bool verbose=false) override
 Interface for ASerializable. More...
 
virtual bool _serialize (std::ostream &os, bool verbose=false) const override
 
String _getNFName () const override
 
- Protected Member Functions inherited from ASerializable
bool _fileOpenWrite (const String &filename, std::ofstream &os, bool verbose=false) const
 
bool _fileOpenRead (const String &filename, std::ifstream &is, bool verbose=false) const
 

Private Member Functions

bool _isVariableValid (int ivar) const
 
bool _isDirectionValid (int idir) const
 
bool _isBivariableValid (int ijvar) const
 
bool _isAddressValid (int i, int idir) const
 
void _initMeans ()
 
void _initVars ()
 
int _getNVar (const Db *db)
 
VectorInt _getVariableInterval (int ivar) const
 
VectorInt _getDirectionInterval (int idir) const
 
String _toStringByDirection (const AStringFormat *strfmt, int idir) const
 
void _directionResize (int idir)
 
void _setDPasFromGrid (bool flag_grid)
 
void _setFlagAsym ()
 
VectorDouble _varsFromProportions (VectorDouble props)
 
void _clearBiTargetCheck ()
 
void _addBiTargetCheck (ABiTargetCheck *abpc)
 
void _setListBiTargetCheck ()
 
int _getBiPtsNumber () const
 
int _getBiPtsRank (int idir, int rank) const
 

Private Attributes

int _nVar
 
VarioParam _varioparam
 
VectorDouble _means
 
VectorDouble _vars
 
ECalcVario _calcul
 
bool _flagSample
 
Db_db
 
VectorVectorDouble _sw
 
VectorVectorDouble _gg
 
VectorVectorDouble _hh
 
VectorVectorDouble _utilize
 
int _biPtsPerDirection
 
std::vector< ABiTargetCheck * > _bipts
 
bool _flagAsym
 

Additional Inherited Members

- Static Protected Member Functions inherited from ASerializable
static bool _commentWrite (std::ostream &os, const String &comment)
 
template<typename T >
static bool _recordWrite (std::ostream &os, const String &title, const T &val)
 
template<typename T >
static bool _recordWriteVec (std::ostream &os, const String &title, const VectorT< T > &vec)
 
template<typename T >
static bool _recordRead (std::istream &is, const String &title, T &val)
 
template<typename T >
static bool _recordReadVec (std::istream &is, const String &title, VectorT< T > &vec, int nvalues)
 
static bool _onlyBlanks (char *string)
 
static bool _tableRead (std::istream &is, const String &string, int ntab, double *tab)
 
static bool _tableWrite (std::ostream &os, const String &string, int ntab, const VectorDouble &tab)
 

Detailed Description

Experimental Variogram (not only): TODO : to be improved

Constructor & Destructor Documentation

◆ Vario() [1/2]

Vario::Vario ( const VarioParam varioparam)

Build a Vario object by calculating the experimental variogram

Parameters
varioparamVarioParam structure

◆ Vario() [2/2]

Vario::Vario ( const Vario r)

◆ ~Vario()

Vario::~Vario ( )
virtual

Member Function Documentation

◆ _addBiTargetCheck()

void Vario::_addBiTargetCheck ( ABiTargetCheck abpc)
private

◆ _clearBiTargetCheck()

void Vario::_clearBiTargetCheck ( )
private

◆ _deserialize()

bool Vario::_deserialize ( std::istream &  is,
bool  verbose = false 
)
overrideprotectedvirtual

Interface for ASerializable.

Implements ASerializable.

◆ _directionResize()

void Vario::_directionResize ( int  idir)
private

◆ _getBiPtsNumber()

int Vario::_getBiPtsNumber ( ) const
inlineprivate

◆ _getBiPtsRank()

int Vario::_getBiPtsRank ( int  idir,
int  rank 
) const
private

◆ _getDirectionInterval()

VectorInt Vario::_getDirectionInterval ( int  idir) const
private

◆ _getNFName()

String Vario::_getNFName ( ) const
inlineoverrideprotectedvirtual

Implements ASerializable.

◆ _getNVar()

int Vario::_getNVar ( const Db db)
private

Derive the number of variables from arguments

Parameters
dbDb structure (optional)
Returns
Error return code

◆ _getVariableInterval()

VectorInt Vario::_getVariableInterval ( int  ivar) const
private

◆ _initMeans()

void Vario::_initMeans ( )
private

◆ _initVars()

void Vario::_initVars ( )
private

◆ _isAddressValid()

bool Vario::_isAddressValid ( int  i,
int  idir 
) const
private

◆ _isBivariableValid()

bool Vario::_isBivariableValid ( int  ijvar) const
private

◆ _isDirectionValid()

bool Vario::_isDirectionValid ( int  idir) const
private

◆ _isVariableValid()

bool Vario::_isVariableValid ( int  ivar) const
private

◆ _serialize()

bool Vario::_serialize ( std::ostream &  os,
bool  verbose = false 
) const
overrideprotectedvirtual

Implements ASerializable.

◆ _setDPasFromGrid()

void Vario::_setDPasFromGrid ( bool  flag_grid)
private

In the case of Grid, set the lag value according to the Db grid parameters

Parameters
flag_gridFlag for using the Grid organization

◆ _setFlagAsym()

void Vario::_setFlagAsym ( )
private

Get the Asymmetrical flag

◆ _setListBiTargetCheck()

void Vario::_setListBiTargetCheck ( )
private

◆ _toStringByDirection()

String Vario::_toStringByDirection ( const AStringFormat strfmt,
int  idir 
) const
private

◆ _varsFromProportions()

VectorDouble Vario::_varsFromProportions ( VectorDouble  props)
private

◆ addDirs()

void Vario::addDirs ( const DirParam dirparam)
inline

◆ compute()

int Vario::compute ( Db db,
const ECalcVario &  calcul = ECalcVario::fromKey("VARIOGRAM"),
bool  flag_gen = false,
bool  flag_sample = false,
bool  verr_mode = false,
Model model = nullptr,
bool  verbose = false 
)

◆ computeFromDb()

Vario * Vario::computeFromDb ( const VarioParam varioparam,
Db db,
const ECalcVario &  calcul = ECalcVario::fromKey("VARIOGRAM"),
bool  flag_gen = false,
bool  flag_sample = false,
bool  verr_mode = false,
Model model = nullptr,
bool  verbose = false 
)
static

◆ computeIndic()

int Vario::computeIndic ( Db db,
const ECalcVario &  calcul = ECalcVario::fromKey("VARIOGRAM"),
bool  flag_gen = false,
bool  flag_sample = false,
bool  verr_mode = false,
Model model = nullptr,
bool  verbose = false,
int  nfacmax = -1 
)

◆ create()

Vario * Vario::create ( const VarioParam varioparam)
static

◆ createFromNF()

Vario * Vario::createFromNF ( const String neutralFilename,
bool  verbose = true 
)
static

◆ createReduce()

Vario * Vario::createReduce ( const Vario varioIn,
const VectorInt varcols,
const VectorInt dircols,
bool  asSymmetric = false 
)
static

◆ createRegularizeFromModel()

Vario * Vario::createRegularizeFromModel ( const Model model,
const VarioParam varioparam,
const VectorDouble ext,
const VectorInt ndisc,
const VectorDouble angles,
bool  asCov = false 
)
static

◆ createSkeleton()

Vario * Vario::createSkeleton ( const VarioParam varioparam,
int  nvar = 1,
const ECalcVario &  calcul = ECalcVario::fromKey("VARIOGRAM"),
const VectorDouble means = VectorDouble(),
const VectorDouble vars = VectorDouble() 
)
static

◆ createTransformYToZ()

Vario * Vario::createTransformYToZ ( const Vario varioY,
const AAnam anam 
)
static

◆ createTransformZToY()

Vario * Vario::createTransformZToY ( const Vario varioZ,
const AAnam anam 
)
static

◆ drawOnlyPositiveX()

bool Vario::drawOnlyPositiveX ( int  ivar,
int  jvar 
) const

◆ drawOnlyPositiveY()

bool Vario::drawOnlyPositiveY ( int  ivar,
int  jvar 
) const

◆ fill()

int Vario::fill ( int  idir,
const VectorDouble sw,
const VectorDouble gg,
const VectorDouble hh 
)

◆ getAllGg()

const VectorDouble & Vario::getAllGg ( int  idir = 0) const

◆ getAllHh()

const VectorDouble & Vario::getAllHh ( int  idir = 0) const

◆ getAllSw()

const VectorDouble & Vario::getAllSw ( int  idir = 0) const

◆ getAllUtilize()

const VectorDouble & Vario::getAllUtilize ( int  idir = 0) const

◆ getBipts()

const ABiTargetCheck* Vario::getBipts ( int  idir,
int  rank 
) const
inline

◆ getBiPtsNumberPerDirection()

int Vario::getBiPtsNumberPerDirection ( ) const
inline

◆ getCalcul()

const ECalcVario& Vario::getCalcul ( ) const
inline

◆ getCalculType()

const ECalcVario Vario::getCalculType ( const String calcul_name)
static

Convert the Calculation Name into a Calculation Type (ECalcVario)

Returns
The corresponding ECalcVario enum

◆ getCenter()

int Vario::getCenter ( int  ivar = 0,
int  jvar = 0,
int  idir = 0 
) const

◆ getCodir()

double Vario::getCodir ( int  idir,
int  idim 
) const

◆ getCodirs()

VectorDouble Vario::getCodirs ( int  idir) const

◆ getDateNumber()

int Vario::getDateNumber ( ) const
inline

◆ getDates() [1/2]

const VectorDouble& Vario::getDates ( ) const
inline

◆ getDates() [2/2]

double Vario::getDates ( int  idate,
int  icas 
) const
inline

◆ getDimensionNumber() [1/2]

int Vario::getDimensionNumber ( ) const
inline

◆ getDimensionNumber() [2/2]

int Vario::getDimensionNumber ( int  idir) const
inline

◆ getDirAddress()

int Vario::getDirAddress ( int  idir,
int  ivar,
int  jvar,
int  ipas,
bool  flag_abs = false,
int  sens = 0 
) const

◆ getDirectionNumber()

int Vario::getDirectionNumber ( ) const
inline

◆ getDirParam()

const DirParam& Vario::getDirParam ( int  idir) const
inline

◆ getDirSize()

int Vario::getDirSize ( int  idir) const

Returns the Dimension of internal arrays after the number of variables has been defined

Parameters
idirTarget direction
Returns

◆ getDPas()

double Vario::getDPas ( int  idir) const
inline

◆ getFlagAsym()

bool Vario::getFlagAsym ( ) const
inline

◆ getGg()

double Vario::getGg ( int  idir = 0,
int  ivar = 0,
int  jvar = 0,
int  ipas = 0,
bool  asCov = false,
bool  flagNormalized = false 
) const

◆ getGgByIndex()

double Vario::getGgByIndex ( int  idir = 0,
int  i = 0 
) const

◆ getGgs()

VectorDouble Vario::getGgs ( int  idir = 0,
int  ivar = 0,
int  jvar = 0,
const VectorInt ipas = VectorInt() 
) const

◆ getGgVec()

VectorDouble Vario::getGgVec ( int  idir = 0,
int  ivar = 0,
int  jvar = 0,
bool  asCov = false,
bool  flagNorm = false,
bool  compress = true 
) const

Returns the vector of variogram values for a given pair of variables in a given direction

Parameters
idirDirection
ivarFirst variable
jvarSecond variable
asCovTrue if result should be provided as Covariance, False for Variogram
flagNormIf the result should be provided as a Normalized covariance / Variogram
compressWhen true, suppress lags where 'sw' <= 0
Returns
The vector of 'gg'

◆ getGmax()

double Vario::getGmax ( int  ivar = -1,
int  jvar = -1,
int  idir = -1,
bool  flagAbs = false,
bool  flagSill = false 
) const

◆ getGRange()

VectorDouble Vario::getGRange ( int  ivar = -1,
int  jvar = -1,
int  idir = -1,
bool  flagSill = false 
) const

◆ getGrincr()

double Vario::getGrincr ( int  idir,
int  idim 
)
inline

◆ getGrincrs()

VectorInt Vario::getGrincrs ( int  idir)
inline

◆ getHh()

double Vario::getHh ( int  idir = 0,
int  ivar = 0,
int  jvar = 0,
int  ipas = 0 
) const

◆ getHhByIndex()

double Vario::getHhByIndex ( int  idir = 0,
int  i = 0 
) const

◆ getHhVec()

VectorDouble Vario::getHhVec ( int  idir = 0,
int  ivar = 0,
int  jvar = 0,
bool  compress = true 
) const

Returns the vector of distances for a given pair of variables in a given direction

Parameters
idirDirection
ivarFirst variable
jvarSecond variable
compressWhen true, suppress lags where 'sw' <= 0
Returns
The vector of 'hh'

◆ getHmax()

double Vario::getHmax ( int  ivar = -1,
int  jvar = -1,
int  idir = -1 
) const

◆ getHRange()

VectorDouble Vario::getHRange ( int  ivar = -1,
int  jvar = -1,
int  idir = -1 
) const

Returns a vector with Minimum-Maximum of the Hh array

Parameters
ivarTarget variable (or -1)
jvarTarget variable (or -1)
idirTarget Direction (or -1)
Returns

◆ getIdate()

int Vario::getIdate ( int  idir) const
inline

◆ getLagNumber()

int Vario::getLagNumber ( int  idir) const
inline

◆ getLagTotalNumber()

int Vario::getLagTotalNumber ( int  idir) const

◆ getMaximumDistance()

double Vario::getMaximumDistance ( int  idir) const
inline

◆ getMean()

double Vario::getMean ( int  ivar) const

◆ getMeans()

const VectorDouble& Vario::getMeans ( ) const
inline

◆ getNext()

int Vario::getNext ( int  ivar = 0,
int  jvar = 0,
int  idir = 0,
int  shift = 1 
) const

◆ getScale()

double Vario::getScale ( ) const
inline

◆ getSw()

double Vario::getSw ( int  idir = 0,
int  ivar = 0,
int  jvar = 0,
int  ipas = 0 
) const

◆ getSwByIndex()

double Vario::getSwByIndex ( int  idir = 0,
int  i = 0 
) const

◆ getSwVec()

VectorDouble Vario::getSwVec ( int  idir = 0,
int  ivar = 0,
int  jvar = 0,
bool  compress = true 
) const

Returns the vector of weights for a given pair of variables in a given direction

Parameters
idirDirection
ivarFirst variable
jvarSecond variable
compressWhen true, suppress lags where 'sw' <= 0
Returns
The vector of 'sw'

◆ getUtilize()

double Vario::getUtilize ( int  idir = 0,
int  ivar = 0,
int  jvar = 0,
int  ipas = 0 
) const

◆ getUtilizeByIndex()

double Vario::getUtilizeByIndex ( int  idir = 0,
int  i = 0 
) const

◆ getUtilizeVec()

VectorDouble Vario::getUtilizeVec ( int  idir = 0,
int  ivar = 0,
int  jvar = 0,
bool  compress = true 
) const

Returns the vector of utilization flags for a given pair of variables in a given direction

Parameters
idirDirection
ivarFirst variable
jvarSecond variable
compressWhen true, suppress lags where 'sw' <= 0
Returns
The vector of 'utilize'

◆ getVar()

double Vario::getVar ( int  ivar,
int  jvar 
) const

◆ getVarAddress()

int Vario::getVarAddress ( int  ivar,
int  jvar 
) const

◆ getVariableNumber()

int Vario::getVariableNumber ( ) const
inline

◆ getVarIndex()

double Vario::getVarIndex ( int  ijvar) const

◆ getVarioParam()

const VarioParam& Vario::getVarioParam ( ) const
inline

◆ getVars()

const VectorDouble& Vario::getVars ( ) const
inline

◆ getVec()

VectorVectorDouble Vario::getVec ( int  idir = 0,
int  ivar = 0,
int  jvar = 0 
) const

Returns a triple array of values: 0-Weight; 1-Distance; 2-Variogram

Parameters
idirTarget Direction
ivarTarget first variable
jvarTarget second variable
Returns

◆ hasDate()

bool Vario::hasDate ( ) const
inline

◆ internalDirectionResize()

void Vario::internalDirectionResize ( int  ndir = 0,
bool  flagDirs = true 
)

◆ internalVariableResize()

int Vario::internalVariableResize ( )

◆ isDefinedForGrid()

bool Vario::isDefinedForGrid ( ) const
inline

◆ modelRegularize()

int Vario::modelRegularize ( const Model model,
const VectorDouble ext,
const VectorInt ndisc,
const VectorDouble angles = VectorDouble(),
const CovCalcMode mode = nullptr,
bool  asCov = false 
)

Calculate the regularized model as an experimental variogram

Returns
Error return code
Parameters
[in]modelModel structure
[in]extVector of Block extension
[in]ndiscVector of discretization counts
[in]anglesVector of rotation angles (optional)
[in]modeCovCalcMode structure
[in]asCovWhen true; produces a covariance

◆ operator=()

Vario & Vario::operator= ( const Vario r)

◆ patchCenter()

void Vario::patchCenter ( int  idir,
int  nech,
double  rho 
)

◆ prepare()

int Vario::prepare ( const ECalcVario &  calcul = ECalcVario::fromKey("VARIOGRAM"),
bool  defineList = true 
)

◆ reduce()

void Vario::reduce ( const VectorInt varcols,
const VectorInt dircols,
bool  asSymmetric = false 
)

Reduce this current variogram by keeping a subset of variables and/or directions

Parameters
varcolsVector of variable ranks (starting from 0)
dircolsVector of direction ranks (starting from 0)
asSymmetricTurn the result into as Symmetrical function (i.e. variogram)

◆ setCalcul()

void Vario::setCalcul ( const ECalcVario &  calcul)
inline

◆ setCalculName()

void Vario::setCalculName ( const String  calcul_name)

◆ setDb()

void Vario::setDb ( Db db)

◆ setGg()

void Vario::setGg ( int  idir,
int  ivar,
int  jvar,
int  ipas,
double  gg 
)

◆ setGgByIndex()

void Vario::setGgByIndex ( int  idir,
int  i,
double  gg 
)

◆ setGgs()

VectorDouble Vario::setGgs ( int  idir,
int  ivar,
int  jvar,
const VectorInt ipas,
const VectorDouble values 
)

◆ setGgVec()

void Vario::setGgVec ( int  idir,
int  ivar,
int  jvar,
const VectorDouble gg 
)

◆ setHh()

void Vario::setHh ( int  idir,
int  ivar,
int  jvar,
int  ipas,
double  hh 
)

◆ setHhByIndex()

void Vario::setHhByIndex ( int  idir,
int  i,
double  hh 
)

◆ setHhVec()

void Vario::setHhVec ( int  idir,
int  ivar,
int  jvar,
const VectorDouble hh 
)

◆ setMean()

void Vario::setMean ( double  mean,
int  ivar = 0 
)

◆ setMeans()

void Vario::setMeans ( const VectorDouble means)

◆ setNVar()

void Vario::setNVar ( int  nvar)
inline

◆ setScale()

void Vario::setScale ( double  scale)
inline

◆ setSw()

void Vario::setSw ( int  idir,
int  ivar,
int  jvar,
int  ipas,
double  sw 
)

◆ setSwByIndex()

void Vario::setSwByIndex ( int  idir,
int  i,
double  sw 
)

◆ setSwVec()

void Vario::setSwVec ( int  idir,
int  ivar,
int  jvar,
const VectorDouble sw 
)

◆ setUtilize()

void Vario::setUtilize ( int  idir,
int  ivar,
int  jvar,
int  ipas,
double  utilize 
)

◆ setUtilizeByIndex()

void Vario::setUtilizeByIndex ( int  idir,
int  i,
double  utilize 
)

◆ setVar()

void Vario::setVar ( double  value,
int  ivar = 0,
int  jvar = 0 
)

◆ setVarIndex()

void Vario::setVarIndex ( int  ijvar,
double  value 
)

◆ setVars()

void Vario::setVars ( const VectorDouble vars)

◆ toString()

String Vario::toString ( const AStringFormat strfmt = nullptr) const
overridevirtual

AStringable Interface.

Reimplemented from AStringable.

◆ transformYToZ()

int Vario::transformYToZ ( const AAnam anam)

Calculate the experimental variogram of the Raw starting from the Model of the Gaussian variable

Returns
Error return code
Parameters
[in]anamPoint anamorphosis

◆ transformZToY()

int Vario::transformZToY ( const AAnam anam)

Transform the experimental variogram from raw to gaussian space

Returns
Error return code
Parameters
[in]anamPoint Hermite anamorphosis

◆ updateGgByIndex()

void Vario::updateGgByIndex ( int  idir,
int  i,
double  gg 
)

◆ updateHhByIndex()

void Vario::updateHhByIndex ( int  idir,
int  i,
double  hh 
)

◆ updateSwByIndex()

void Vario::updateSwByIndex ( int  idir,
int  i,
double  sw 
)

Member Data Documentation

◆ _bipts

std::vector<ABiTargetCheck*> Vario::_bipts
private

◆ _biPtsPerDirection

int Vario::_biPtsPerDirection
private

◆ _calcul

ECalcVario Vario::_calcul
private

◆ _db

Db* Vario::_db
private

◆ _flagAsym

bool Vario::_flagAsym
mutableprivate

◆ _flagSample

bool Vario::_flagSample
private

◆ _gg

VectorVectorDouble Vario::_gg
private

◆ _hh

VectorVectorDouble Vario::_hh
private

◆ _means

VectorDouble Vario::_means
private

◆ _nVar

int Vario::_nVar
private

◆ _sw

VectorVectorDouble Vario::_sw
private

◆ _utilize

VectorVectorDouble Vario::_utilize
private

◆ _varioparam

VarioParam Vario::_varioparam
private

◆ _vars

VectorDouble Vario::_vars
private

◆ DECLARE_TOTL

Vario::DECLARE_TOTL

ICloneable interface.

Has a specific implementation in the Target language


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