gstlearn  0.3.3
CCC
DriftList Class Reference

#include <DriftList.hpp>

Inheritance diagram for DriftList:
ADrift ICloneable ASpaceObject AStringable

Public Member Functions

 DriftList (const ASpace *space=nullptr)
 
 DriftList (const DriftList &r)
 
DriftListoperator= (const DriftList &r)
 
virtual ~DriftList ()
 
virtual bool isConsistent (const ASpace *space) const override
 ICloneable interface. More...
 
virtual String toString (const AStringFormat *strfmt=nullptr) const override
 AStringable Interface. More...
 
virtual double eval (const Db *db, int iech) const override
 ADrift interface *‍/. More...
 
int getNVariables () const override
 
int getDriftNumber () const
 
void setDriftList (const DriftList *drifts)
 
void addDrift (const ADriftElem *drift)
 
void delDrift (unsigned int i)
 
void delAllDrifts ()
 
void setDriftIRF (int order, int nfex, const CovContext &ctxt)
 
const VectorBoolgetFiltered () const
 
void setFiltered (const VectorBool &filtered)
 
bool isFiltered (int i) const
 
void setFiltered (int i, bool filter)
 
int getDriftEquationNumber () const
 
bool isValid () const
 
const ADriftElemgetDrift (int il) const
 TODO : to be removed (encapsulation) More...
 
ADriftElemgetDrift (int il)
 
const EDrift & getType (int il) const
 beurk :( More...
 
int getRankFex (int il) const
 
String getDriftName (int il) const
 
void setType (int il, const EDrift &type)
 
const VectorDoublegetCoefDrift () const
 
double getCoefDrift (int ivar, int il, int ib) const
 
void setCoefDrift (int ivar, int il, int ib, double value)
 
void setCoefDriftByRank (int rank, double coeff)
 
double getDrift (const Db *db, int ib, int iech) const
 
VectorDouble getDriftByColumn (const Db *db, int ib, bool useSel=true) const
 
VectorDouble getDriftBySample (const Db *db, int iech) const
 
VectorVectorDouble getDrifts (const Db *db, bool useSel=true) const
 
bool isFlagLinked () const
 
VectorDouble evalDrifts (const Db *db, const VectorDouble &coeffs, bool useSel=false) const
 
int getMaximumOrder (void) const
 
bool isDriftDefined (const EDrift &type0) const
 
bool isDriftDifferentDefined (const EDrift &type0) const
 
void copyCovContext (const CovContext &ctxt)
 
void setFlagLinked (bool flagLinked)
 
- Public Member Functions inherited from ADrift
 ADrift (const ASpace *space=nullptr)
 
 ADrift (const ADrift &r)
 
ADriftoperator= (const ADrift &r)
 
virtual ~ADrift ()
 
- Public Member Functions inherited from ASpaceObject
 ASpaceObject (const ASpace *space=nullptr)
 
 ASpaceObject (const ASpace &space)
 
 ASpaceObject (const ASpaceObject &r)
 
ASpaceObjectoperator= (const ASpaceObject &r)
 
virtual ~ASpaceObject ()
 
const ASpacegetSpace () const
 Accessor to the current object space context. More...
 
bool isConsistent () const
 Indicate if I am consistent with my current space context. More...
 
VectorDouble getUnitaryVector () const
 Return unitary vector for the current space context. More...
 
unsigned int getNDim () const
 Shortcuts to ASpace methods. More...
 
const VectorDoublegetOrigin () const
 Return the current space context origin coordinates. More...
 
double getDistance (const SpacePoint &p1, const SpacePoint &p2) const
 Return the distance between two space points for the current space context. More...
 
VectorDouble getIncrement (const SpacePoint &p1, const SpacePoint &p2) const
 Return the increment vector between two space points for the current space context. More...
 
- 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 ICloneable
 ICloneable ()
 
virtual ~ICloneable ()
 
virtual ICloneableclone () const =0
 

Protected Attributes

bool _flagLinked
 
VectorDouble _coefDrift
 
std::vector< ADriftElem * > _drifts
 
VectorBool _filtered
 
- Protected Attributes inherited from ASpaceObject
const ASpace_space
 Current space context of the object. More...
 

Private Member Functions

bool _isDriftIndexValid (int i) const
 
bool _isDriftEquationValid (int ib) const
 
int _getAddress (int ivar, int il, int ib) const
 
void _updateCoefDrift ()
 

Additional Inherited Members

- Protected Member Functions inherited from ASpaceObject
void setNDim (int ndim)
 Modify the Space dimension of an already created item (To be used only during creation ... in particular when reading NF) More...
 

Constructor & Destructor Documentation

◆ DriftList() [1/2]

DriftList::DriftList ( const ASpace space = nullptr)

◆ DriftList() [2/2]

DriftList::DriftList ( const DriftList r)

◆ ~DriftList()

DriftList::~DriftList ( )
virtual

Member Function Documentation

◆ _getAddress()

int DriftList::_getAddress ( int  ivar,
int  il,
int  ib 
) const
inlineprivate

◆ _isDriftEquationValid()

bool DriftList::_isDriftEquationValid ( int  ib) const
private

◆ _isDriftIndexValid()

bool DriftList::_isDriftIndexValid ( int  i) const
private

◆ _updateCoefDrift()

void DriftList::_updateCoefDrift ( )
private

◆ addDrift()

void DriftList::addDrift ( const ADriftElem drift)

◆ copyCovContext()

void DriftList::copyCovContext ( const CovContext ctxt)

◆ delAllDrifts()

void DriftList::delAllDrifts ( )

◆ delDrift()

void DriftList::delDrift ( unsigned int  i)

◆ eval()

double DriftList::eval ( const Db db,
int  iech 
) const
overridevirtual

ADrift interface *‍/.

Implements ADrift.

◆ evalDrifts()

VectorDouble DriftList::evalDrifts ( const Db db,
const VectorDouble coeffs,
bool  useSel = false 
) const

Evaluate the Linear combination of drift terms at each sample of a Db

Parameters
dbTarget Db
coeffsVector of coefficients (must have dimension of number of drift elements)
useSelTrue if the selection must be taken into account
Returns

◆ getCoefDrift() [1/2]

const VectorDouble& DriftList::getCoefDrift ( ) const
inline

◆ getCoefDrift() [2/2]

double DriftList::getCoefDrift ( int  ivar,
int  il,
int  ib 
) const
inline
Parameters
ivarRank of the variable (_nVar)
ilRank of the drift function
ibRank of the drift equation (_driftEquationNumber)
Returns

◆ getDrift() [1/3]

double DriftList::getDrift ( const Db db,
int  ib,
int  iech 
) const

◆ getDrift() [2/3]

ADriftElem * DriftList::getDrift ( int  il)

◆ getDrift() [3/3]

const ADriftElem * DriftList::getDrift ( int  il) const

TODO : to be removed (encapsulation)

◆ getDriftByColumn()

VectorDouble DriftList::getDriftByColumn ( const Db db,
int  ib,
bool  useSel = true 
) const

◆ getDriftBySample()

VectorDouble DriftList::getDriftBySample ( const Db db,
int  iech 
) const

◆ getDriftEquationNumber()

int DriftList::getDriftEquationNumber ( ) const

◆ getDriftName()

String DriftList::getDriftName ( int  il) const

◆ getDriftNumber()

int DriftList::getDriftNumber ( ) const
inline

◆ getDrifts()

VectorVectorDouble DriftList::getDrifts ( const Db db,
bool  useSel = true 
) const

◆ getFiltered()

const VectorBool& DriftList::getFiltered ( ) const
inline

◆ getMaximumOrder()

int DriftList::getMaximumOrder ( void  ) const

◆ getNVariables()

int DriftList::getNVariables ( ) const
overridevirtual

Implements ADrift.

◆ getRankFex()

int DriftList::getRankFex ( int  il) const

◆ getType()

const EDrift & DriftList::getType ( int  il) const

beurk :(

◆ isConsistent()

bool DriftList::isConsistent ( const ASpace space) const
overridevirtual

ICloneable interface.

ASpaceObject Interface

Implements ASpaceObject.

◆ isDriftDefined()

bool DriftList::isDriftDefined ( const EDrift &  type0) const

Check if a given drift type is defined among the drift functions

Parameters
type0Target drift type (EDrift.hpp)
Returns

◆ isDriftDifferentDefined()

bool DriftList::isDriftDifferentDefined ( const EDrift &  type0) const

Check if at least one drift function exists whose type is different from the target type

Parameters
type0Target drift type (EDrift.hpp)
Returns

◆ isFiltered()

bool DriftList::isFiltered ( int  i) const

◆ isFlagLinked()

bool DriftList::isFlagLinked ( ) const
inline

◆ isValid()

bool DriftList::isValid ( ) const

Check that the set of drift functions is valid

Returns

◆ operator=()

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

◆ setCoefDrift()

void DriftList::setCoefDrift ( int  ivar,
int  il,
int  ib,
double  value 
)
inline

◆ setCoefDriftByRank()

void DriftList::setCoefDriftByRank ( int  rank,
double  coeff 
)
inline

◆ setDriftIRF()

void DriftList::setDriftIRF ( int  order,
int  nfex,
const CovContext ctxt 
)

◆ setDriftList()

void DriftList::setDriftList ( const DriftList drifts)

◆ setFiltered() [1/2]

void DriftList::setFiltered ( const VectorBool filtered)
inline

◆ setFiltered() [2/2]

void DriftList::setFiltered ( int  i,
bool  filter 
)

◆ setFlagLinked()

void DriftList::setFlagLinked ( bool  flagLinked)
inline

◆ setType()

void DriftList::setType ( int  il,
const EDrift &  type 
)

◆ toString()

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

AStringable Interface.

Reimplemented from ASpaceObject.

Member Data Documentation

◆ _coefDrift

VectorDouble DriftList::_coefDrift
protected

◆ _drifts

std::vector<ADriftElem*> DriftList::_drifts
protected

◆ _filtered

VectorBool DriftList::_filtered
protected

◆ _flagLinked

bool DriftList::_flagLinked
protected

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