This class provides the information on Drift part of the Model. The drift plays the role of the average of the target Random Function which may be constant or vary as a function with low frequency variations (by opposition to the complementary part of the Spatial Characteristics which is described by its Covariance) More...
#include <DriftList.hpp>
This class provides the information on Drift part of the Model. The drift plays the role of the average of the target Random Function which may be constant or vary as a function with low frequency variations (by opposition to the complementary part of the Spatial Characteristics which is described by its Covariance)
This class essentially contains a list of basic (active)e drift functions: see ADrift.hpp for details.
This class also carry other important informations:
Public Member Functions | |
DriftList (const CovContext &ctxt=CovContext()) | |
DriftList (const DriftList &r) | |
DriftList & | operator= (const DriftList &r) |
virtual | ~DriftList () |
virtual String | toString (const AStringFormat *strfmt=nullptr) const override |
ICloneable interface. More... | |
int | getNVariables () const |
int | getDriftNumber () const |
void | addDrift (const ADrift *drift) |
void | delDrift (unsigned int i) |
void | delAllDrifts () |
const VectorBool & | getFiltered () const |
void | setFiltered (const VectorBool &filtered) |
bool | isFiltered (int i) const |
void | setFiltered (int i, bool filter) |
int | getDriftEquationNumber () const |
bool | hasExternalDrift () const |
bool | isValid () const |
const ADrift * | getDrift (int il) const |
TODO : to be removed (encapsulation) More... | |
int | getRankFex (int il) const |
String | getDriftName (int il) const |
const VectorDouble & | getBetaHats () const |
void | setDriftCLByPart (int ivar, int ib, const VectorDouble &coef) |
void | resetDriftList () |
bool | isDriftSampleDefined (const Db *db, int ib, int nech, const VectorInt &nbgh, const ELoc &loctype) const |
double | getDrift (const Db *db, int ib, int iech) const |
VectorVectorDouble | getDrifts (const Db *db, bool useSel=true) const |
bool | isFlagLinked () const |
bool | isFlagCombined () const |
int | getDriftMaxIRFOrder (void) const |
bool | isDriftDefined (const VectorInt &powers, int rank_fex=0) const |
bool | isDriftDifferentDefined (const VectorInt &powers, int rank_fex=-1) const |
void | copyCovContext (const CovContext &ctxt) |
void | setFlagLinked (bool flagLinked) |
void | setFlagCombined (bool flagCombined) |
void | setBetaHat (const VectorDouble &betaHat) |
double | evalDrift (const Db *db, int iech, int il, const ECalcMember &member=ECalcMember::fromKey("LHS")) const |
double | evalDriftCoef (const Db *db, int iech, const VectorDouble &coeffs) const |
VectorDouble | evalDriftCoefs (const Db *db, const VectorDouble &coeffs, bool useSel=false) const |
VectorDouble | evalDriftBySample (const Db *db, int iech, const ECalcMember &member=ECalcMember::fromKey("LHS")) const |
void | evalDriftBySampleInPlace (const Db *db, int iech, const ECalcMember &member, VectorDouble &drftab) const |
MatrixRectangular | evalDriftMatrix (const Db *db, int ivar0=-1, const VectorInt &nbgh=VectorInt(), const ECalcMember &member=ECalcMember::fromKey("LHS")) |
double | evalDriftValue (const Db *db, int iech, int ivar, int ib, const ECalcMember &member=ECalcMember::fromKey("LHS")) const |
Public Member Functions inherited from AStringable | |
AStringable () | |
AStringable (const AStringable &r) | |
AStringable & | operator= (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 ICloneable | |
ICloneable () | |
virtual | ~ICloneable () |
virtual ICloneable * | clone () const =0 |
DriftList::DriftList | ( | const CovContext & | ctxt = CovContext() | ) |
DriftList::DriftList | ( | const DriftList & | r | ) |
|
virtual |
void DriftList::addDrift | ( | const ADrift * | drift | ) |
|
inline |
void DriftList::delAllDrifts | ( | ) |
void DriftList::delDrift | ( | unsigned int | i | ) |
double DriftList::evalDrift | ( | const Db * | db, |
int | iech, | ||
int | il, | ||
const ECalcMember & | member = ECalcMember::fromKey("LHS") |
||
) | const |
Evaluate a given drift function for a given sample
db | Db structure |
iech | Rank of the target sample |
il | Rank of the drift function |
member | Member type (used to check filtering) |
VectorDouble DriftList::evalDriftBySample | ( | const Db * | db, |
int | iech, | ||
const ECalcMember & | member = ECalcMember::fromKey("LHS") |
||
) | const |
void DriftList::evalDriftBySampleInPlace | ( | const Db * | db, |
int | iech, | ||
const ECalcMember & | member, | ||
VectorDouble & | drftab | ||
) | const |
double DriftList::evalDriftCoef | ( | const Db * | db, |
int | iech, | ||
const VectorDouble & | coeffs | ||
) | const |
VectorDouble DriftList::evalDriftCoefs | ( | const Db * | db, |
const VectorDouble & | coeffs, | ||
bool | useSel = false |
||
) | const |
MatrixRectangular DriftList::evalDriftMatrix | ( | const Db * | db, |
int | ivar0 = -1 , |
||
const VectorInt & | nbgh = VectorInt() , |
||
const ECalcMember & | member = ECalcMember::fromKey("LHS") |
||
) |
Establish the drift rectangular matrix for a given Db
[in] | db | Db structure |
[in] | ivar0 | Rank of the variable (-1 for all variables) |
[in] | nbgh | Vector of indices of active samples in db (optional) |
[in] | member | Member of the Kriging System (ECalcMember) |
double DriftList::evalDriftValue | ( | const Db * | db, |
int | iech, | ||
int | ivar, | ||
int | ib, | ||
const ECalcMember & | member = ECalcMember::fromKey("LHS") |
||
) | const |
Returns the Drift value for a given variable and a given drift function
db | Db structure |
iech | Rank of the sample |
ivar | Rank of the variable |
ib | Rank of the Drift function |
member | ECalcMember characteristics |
|
inline |
const ADrift * DriftList::getDrift | ( | int | il | ) | const |
TODO : to be removed (encapsulation)
double DriftList::getDrift | ( | const Db * | db, |
int | ib, | ||
int | iech | ||
) | const |
int DriftList::getDriftEquationNumber | ( | ) | const |
int DriftList::getDriftMaxIRFOrder | ( | void | ) | const |
String DriftList::getDriftName | ( | int | il | ) | const |
|
inline |
VectorVectorDouble DriftList::getDrifts | ( | const Db * | db, |
bool | useSel = true |
||
) | const |
|
inline |
|
inline |
int DriftList::getRankFex | ( | int | il | ) | const |
bool DriftList::hasExternalDrift | ( | ) | const |
bool DriftList::isDriftDefined | ( | const VectorInt & | powers, |
int | rank_fex = 0 |
||
) | const |
Check if a given drift type is defined among the drift functions
powers | Vector of exponents for monomials |
rank_fex | Rank of the variable for external dift |
bool DriftList::isDriftDifferentDefined | ( | const VectorInt & | powers, |
int | rank_fex = -1 |
||
) | const |
Check if at least one drift function exists whose type is different from the target type
powers | Vector of exponent for monomials of a polynomial drift |
rank_fex | Rank of the variable for external Drift |
bool DriftList::isDriftSampleDefined | ( | const Db * | db, |
int | ib, | ||
int | nech, | ||
const VectorInt & | nbgh, | ||
const ELoc & | loctype | ||
) | const |
Check that the drift 'ib' is defined for at least one variable one sample
db | Data file used for reading the drift contents (depends on its type) |
ib | Rank of the drift function |
nech | Number of samples to be checked |
nbgh | Vector of sample indices within the data base |
loctype | Locator to be checked |
bool DriftList::isFiltered | ( | int | i | ) | const |
|
inline |
|
inline |
bool DriftList::isValid | ( | ) | const |
Check that the set of drift functions is valid
void DriftList::resetDriftList | ( | ) |
|
inline |
void DriftList::setDriftCLByPart | ( | int | ivar, |
int | ib, | ||
const VectorDouble & | coef | ||
) |
Set the values of the internal array 'driftCL' This feature is used when the drift equation does not coincide with a drift function (when working with the gradient of the target variable, for example)
ivar | Rank of the variable (_nVar) |
ib | Rank of the drift equation (_driftEquationNumber) |
coef | Vector of coefficients |
|
inline |
void DriftList::setFiltered | ( | int | i, |
bool | filter | ||
) |
|
inline |
|
inline |
|
overridevirtual |