1.2.0
CCC
 
ADrift Class Referenceabstract

This class describes one basic Drift Function. More...

#include <ADrift.hpp>

Inheritance diagram for ADrift:
AStringable ICloneable DriftF DriftM

Public Member Functions

 ADrift ()
 
 ADrift (const ADrift &r)
 
ADriftoperator= (const ADrift &r)
 
virtual ~ADrift ()
 
virtual String toString (const AStringFormat *strfmt=nullptr) const override
 AStringable Interface. More...
 
virtual VectorInt getPowers () const
 Interface for daughter classes. More...
 
virtual int getRankFex () const
 
virtual String getDriftName () const =0
 
virtual int getOrderIRF () const =0
 
virtual int getOrderIRFIdim (int idim) const =0
 
virtual double eval (const Db *db, int iech) const =0
 
virtual int getDriftNDimMax () const
 
virtual bool isDriftExternal () 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 ICloneable
 ICloneable ()
 
virtual ~ICloneable ()
 
virtual ICloneableclone () const =0
 

Detailed Description

This class describes one basic Drift Function.

It is the uppermost class of the Drift Tree and is conceived as simple as possible on purpose (in order to let the user defined its own version if necessary): it must simply be able to return its value at the location of one sample from a Db.

This returned value depends on the implementation of this basic drift function and mainly depends upon:

  • the space dimension
  • the coordinates of the target

If NDIM represents the space dimension, each basic drift function belongs to one of the following categories:

  • an internal drift function (DRIFTM) characterized by a vector of coefficients P (of dimension NDIM): it returns the numerical expression elaborated starting from the coordinates (X) of one sample such as:
     X_1**P_1 * X_2**P_2 * ... * X_NDIM**P_NDIM
    
  • an external drift function (DRIFTF) identified by its rank (corresponding locator ELoc::F) for one sample.

Constructor & Destructor Documentation

ADrift::ADrift ( )
ADrift::ADrift ( const ADrift r)
ADrift::~ADrift ( )
virtual

Member Function Documentation

virtual double ADrift::eval ( const Db db,
int  iech 
) const
pure virtual

Implemented in DriftM, and DriftF.

virtual String ADrift::getDriftName ( ) const
pure virtual

Implemented in DriftM, and DriftF.

virtual int ADrift::getDriftNDimMax ( ) const
inlinevirtual

Reimplemented in DriftM.

virtual int ADrift::getOrderIRF ( ) const
pure virtual

Implemented in DriftM, and DriftF.

virtual int ADrift::getOrderIRFIdim ( int  idim) const
pure virtual

Implemented in DriftM, and DriftF.

virtual VectorInt ADrift::getPowers ( ) const
inlinevirtual

Interface for daughter classes.

Reimplemented in DriftM.

virtual int ADrift::getRankFex ( ) const
inlinevirtual

Reimplemented in DriftF.

virtual bool ADrift::isDriftExternal ( ) const
inlinevirtual

Reimplemented in DriftF.

ADrift & ADrift::operator= ( const ADrift r)
String ADrift::toString ( const AStringFormat strfmt = nullptr) const
overridevirtual

AStringable Interface.

Reimplemented from AStringable.


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