1.8.0
CCC
 
Loading...
Searching...
No Matches
gstlrn::DirParam Class Reference

Class containing the definition of a Direction used for the calculation of the experimental Spatial Characteristics as calculated experimentally from the data (contained in a Db). This class corresponds to one item of the list of criteria stored in VarioParam and use for the calculation of Vario. More...

#include <DirParam.hpp>

Inheritance diagram for gstlrn::DirParam:
gstlrn::ASpaceObject gstlrn::AStringable

Detailed Description

Class containing the definition of a Direction used for the calculation of the experimental Spatial Characteristics as calculated experimentally from the data (contained in a Db). This class corresponds to one item of the list of criteria stored in VarioParam and use for the calculation of Vario.

The Direction consists in a series of rules (some are optional) for comparing two active samples of the Db:

  • their distance must be assigned to a lag: i.e. the distance must correspond to a multiple of the lag (lag), up to a tolerance (tolerance) expressed as a percentage of the lag. The rank of this multiple must be smaller than the number of lags (nlag).
  • the lag definition can be replaced by a series of intervals (breaks): the pair is selected if the distance belongs to one of these intervals.
  • the orientation of the segment joining the two points must be assigned to the current direction characterized by its angle (expressed by its direction coefficients codir), up to a tolerance on angle (tolangle) given in degrees.
  • the distance between the two points (measured along the axis perpendicular to the direction) must be smaller than a maximum cylinder distance (cylrad).
  • the distance between the two points (measured along the highest space dimension) must be smaller than a bench height (bench)
  • the difference between the code values (locator ELoc::CODE) defined at both samples must be either smaller or larger than the tolerance on the code (tolcode).
  • the two saples must share the same data (ELoc::DATE)

In the case, the Db correspond to a grid, the lag is defined as an increment on the grid meshes (grincr)

Public Member Functions

 DirParam (Id nlag=10, double dlag=1., double toldis=0.5, double tolang=90., Id opt_code=0, Id idate=0, double bench=TEST, double cylrad=TEST, double tolcode=0., const 1 &breaks=1(), const 1 &codir=1(), double angle2D=TEST, const ASpaceSharedPtr &space=ASpaceSharedPtr())
 
 DirParam (const DbGrid *dbgrid, Id nlag, const 1 &grincr, const ASpaceSharedPtr &space)
 
 DirParam (const DirParam &r)
 
DirParamoperator= (const DirParam &r)
 
virtual ~DirParam ()
 
String toString (const AStringFormat *strfmt=nullptr) const override
 AStringable Interface.
 
bool isConsistent (const ASpace *space) const override
 ASpaceObject Interface.
 
double getBench () const
 
const & getBreaks () const
 
double getBreak (Id i) const
 
const & getCodirs () const
 
double getCodir (Id i) const
 
double getCylRad () const
 
double getDPas () const
 
double getLag () const
 
Id getIdate () const
 
Id getNLag () const
 
Id getOptionCode () const
 
double getTolAngle () const
 
double getTolCode () const
 
double getTolDist () const
 
 getGrincrs () const
 
Id getGrincr (Id i) const
 
double getMaximumDistance () const
 
Id getNBreak () const
 
bool getFlagRegular () const
 
void setNLag (Id nlag)
 
void setOptionCode (Id option_code)
 
void setIdate (Id idate)
 
void setDPas (double dlag)
 
void setDLag (double dlag)
 
void setDPas (const DbGrid *db)
 
void setBench (double bench)
 
void setCylRad (double cylrad)
 
void setTolDist (double toldist)
 
void setTolAngle (double tolang)
 
void setTolCode (double tolcode)
 
void setBreaks (const 1 &breaks)
 
void setCodir (const 1 &codir)
 
void setGrincr (const 1 &grincr)
 
bool isLagValid (Id ilag, bool flagAsym=false, bool flagCheck=true) const
 
bool isDimensionValid (Id idim) const
 
bool isDefinedForGrid () const
 
Id getLagRank (double dist) const
 
- Public Member Functions inherited from gstlrn::ASpaceObject
 ASpaceObject (const ASpaceSharedPtr &space=ASpaceSharedPtr())
 
 ASpaceObject (const ASpaceObject &r)
 
ASpaceObjectoperator= (const ASpaceObject &r)
 
virtual ~ASpaceObject ()
 
ASpaceSharedPtr getSpace () const
 Accessor to the current object space context.
 
bool isConsistent () const
 Indicate if I am consistent with my current space context.
 
void setSpace (ASpaceSharedPtr &&space)
 
 getUnitaryVector () const
 Return unitary vector for the current space context.
 
bool isConsistent (const ASpaceSharedPtr &space) const
 Indicate if I am consistent with the provided space.
 
size_t getNDim (Id ispace=-1) const
 Shortcuts to ASpace methods.
 
const & getOrigin (Id ispace=-1) const
 Return the current space context origin coordinates.
 
double getDistance (const SpacePoint &p1, const SpacePoint &p2, Id ispace=0) const
 Return the distance between two space points for the current space context.
 
 getDistances (const SpacePoint &p1, const SpacePoint &p2) const
 Return all the distances (space composits) between two space points for the current space context.
 
 getIncrement (const SpacePoint &p1, const SpacePoint &p2, Id ispace=0) const
 Return the increment vector between two space points for the current space context.
 
void getIncrementInPlace (const SpacePoint &p1, const SpacePoint &p2, 1 &ptemp, Id ispace=-1) const
 
- Public Member Functions inherited from gstlrn::AStringable
 AStringable ()
 
 AStringable (const AStringable &r)
 
AStringableoperator= (const AStringable &r)
 
virtual ~AStringable ()
 
virtual void display (const AStringFormat *strfmt=nullptr) const final
 
virtual void display (Id level) const final
 

Static Public Member Functions

static DirParamcreate (Id nlag=10, double dlag=1., double toldis=0.5, double tolang=90., Id opt_code=0, Id idate=0, double bench=TEST, double cylrad=TEST, double tolcode=0., const 1 &breaks=1(), const 1 &codir=1(), double angle2D=TEST, const ASpaceSharedPtr &space=ASpaceSharedPtr())
 
static DirParamcreateOmniDirection (Id nlag=10, double dlag=1., double toldis=0.5, Id opt_code=0, Id idate=0, double bench=TEST, double cylrad=TEST, double tolcode=0., const 1 &breaks=1(), const ASpaceSharedPtr &space=ASpaceSharedPtr())
 
static DirParamcreateFromGrid (const DbGrid *dbgrid, Id nlag=10, const 1 &grincr=1(), const ASpaceSharedPtr &space=ASpaceSharedPtr())
 
static std::vector< DirParamcreateMultiple (Id ndir, Id nlag=10, double dlag=1., double toldis=0.5, double angref=0., const ASpaceSharedPtr &space=ASpaceSharedPtr())
 
static std::vector< DirParamcreateSeveral2D (const 1 &angles, Id nlag=10, double dlag=1., double toldis=0.5, double tolang=TEST, const ASpaceSharedPtr &space=ASpaceSharedPtr())
 
static std::vector< DirParamcreateMultipleInSpace (Id nlag, double dlag=1., const ASpaceSharedPtr &space=ASpaceSharedPtr())
 

Constructor & Destructor Documentation

◆ DirParam() [1/3]

gstlrn::DirParam::DirParam ( Id  nlag = 10,
double  dlag = 1.,
double  toldis = 0.5,
double  tolang = 90.,
Id  opt_code = 0,
Id  idate = 0,
double  bench = TEST,
double  cylrad = TEST,
double  tolcode = 0.,
const 1 &  breaks = 1(),
const 1 &  codir = 1(),
double  angle2D = TEST,
const ASpaceSharedPtr space = ASpaceSharedPtr() 
)

◆ DirParam() [2/3]

gstlrn::DirParam::DirParam ( const DbGrid dbgrid,
Id  nlag,
const 1 &  grincr,
const ASpaceSharedPtr space 
)

◆ DirParam() [3/3]

gstlrn::DirParam::DirParam ( const DirParam r)

◆ ~DirParam()

gstlrn::DirParam::~DirParam ( )
virtual

Member Function Documentation

◆ create()

DirParam * gstlrn::DirParam::create ( Id  nlag = 10,
double  dlag = 1.,
double  toldis = 0.5,
double  tolang = 90.,
Id  opt_code = 0,
Id  idate = 0,
double  bench = TEST,
double  cylrad = TEST,
double  tolcode = 0.,
const 1 &  breaks = 1(),
const 1 &  codir = 1(),
double  angle2D = TEST,
const ASpaceSharedPtr space = ASpaceSharedPtr() 
)
static

◆ createFromGrid()

DirParam * gstlrn::DirParam::createFromGrid ( const DbGrid dbgrid,
Id  nlag = 10,
const 1 &  grincr = 1(),
const ASpaceSharedPtr space = ASpaceSharedPtr() 
)
static

◆ createMultiple()

std::vector< DirParam > gstlrn::DirParam::createMultiple ( Id  ndir,
Id  nlag = 10,
double  dlag = 1.,
double  toldis = 0.5,
double  angref = 0.,
const ASpaceSharedPtr space = ASpaceSharedPtr() 
)
static

◆ createMultipleInSpace()

std::vector< DirParam > gstlrn::DirParam::createMultipleInSpace ( Id  nlag,
double  dlag = 1.,
const ASpaceSharedPtr space = ASpaceSharedPtr() 
)
static

Create a set of calculation directions based on the Space definition

  • one direction per space axis
  • the other parameters are applied to each direction, such as:
    Parameters
    nlagNumber of lags
    dlagDimension for the lag
    spacePointer to the Space definition
    Returns
    Remarks
    : the angular tolerance is set equal to 0

◆ createOmniDirection()

DirParam * gstlrn::DirParam::createOmniDirection ( Id  nlag = 10,
double  dlag = 1.,
double  toldis = 0.5,
Id  opt_code = 0,
Id  idate = 0,
double  bench = TEST,
double  cylrad = TEST,
double  tolcode = 0.,
const 1 &  breaks = 1(),
const ASpaceSharedPtr space = ASpaceSharedPtr() 
)
static

◆ createSeveral2D()

std::vector< DirParam > gstlrn::DirParam::createSeveral2D ( const 1 &  angles,
Id  nlag = 10,
double  dlag = 1.,
double  toldis = 0.5,
double  tolang = TEST,
const ASpaceSharedPtr space = ASpaceSharedPtr() 
)
static

◆ getBench()

double gstlrn::DirParam::getBench ( ) const
inline

◆ getBreak()

double gstlrn::DirParam::getBreak ( Id  i) const

◆ getBreaks()

const & gstlrn::DirParam::getBreaks ( ) const
inline

◆ getCodir()

double gstlrn::DirParam::getCodir ( Id  i) const

◆ getCodirs()

const & gstlrn::DirParam::getCodirs ( ) const
inline

◆ getCylRad()

double gstlrn::DirParam::getCylRad ( ) const
inline

◆ getDPas()

double gstlrn::DirParam::getDPas ( ) const
inline

◆ getFlagRegular()

bool gstlrn::DirParam::getFlagRegular ( ) const
inline

◆ getGrincr()

Id gstlrn::DirParam::getGrincr ( Id  i) const

◆ getGrincrs()

gstlrn::DirParam::getGrincrs ( ) const
inline

◆ getIdate()

Id gstlrn::DirParam::getIdate ( ) const
inline

◆ getLag()

double gstlrn::DirParam::getLag ( ) const
inline

◆ getLagRank()

Id gstlrn::DirParam::getLagRank ( double  dist) const

Return the rank of the lag

Returns
Rank of the lag or ITEST
Parameters
[in]distDistance

◆ getMaximumDistance()

double gstlrn::DirParam::getMaximumDistance ( ) const

◆ getNBreak()

Id gstlrn::DirParam::getNBreak ( ) const
inline

◆ getNLag()

Id gstlrn::DirParam::getNLag ( ) const
inline

◆ getOptionCode()

Id gstlrn::DirParam::getOptionCode ( ) const
inline

◆ getTolAngle()

double gstlrn::DirParam::getTolAngle ( ) const
inline

◆ getTolCode()

double gstlrn::DirParam::getTolCode ( ) const
inline

◆ getTolDist()

double gstlrn::DirParam::getTolDist ( ) const
inline

◆ isConsistent()

bool gstlrn::DirParam::isConsistent ( const ASpace space) const
overridevirtual

ASpaceObject Interface.

Implements gstlrn::ASpaceObject.

◆ isDefinedForGrid()

bool gstlrn::DirParam::isDefinedForGrid ( ) const
inline

◆ isDimensionValid()

bool gstlrn::DirParam::isDimensionValid ( Id  idim) const

◆ isLagValid()

bool gstlrn::DirParam::isLagValid ( Id  ilag,
bool  flagAsym = false,
bool  flagCheck = true 
) const

◆ operator=()

DirParam & gstlrn::DirParam::operator= ( const DirParam r)

◆ setBench()

void gstlrn::DirParam::setBench ( double  bench)
inline

◆ setBreaks()

void gstlrn::DirParam::setBreaks ( const 1 &  breaks)
inline

◆ setCodir()

void gstlrn::DirParam::setCodir ( const 1 &  codir)
inline

◆ setCylRad()

void gstlrn::DirParam::setCylRad ( double  cylrad)
inline

◆ setDLag()

void gstlrn::DirParam::setDLag ( double  dlag)
inline

◆ setDPas() [1/2]

void gstlrn::DirParam::setDPas ( const DbGrid db)

Set the value of the lag as computed from the Db (Grid organized)

Parameters
dbDb structure

◆ setDPas() [2/2]

void gstlrn::DirParam::setDPas ( double  dlag)
inline

◆ setGrincr()

void gstlrn::DirParam::setGrincr ( const 1 &  grincr)
inline

◆ setIdate()

void gstlrn::DirParam::setIdate ( Id  idate)
inline

◆ setNLag()

void gstlrn::DirParam::setNLag ( Id  nlag)
inline

◆ setOptionCode()

void gstlrn::DirParam::setOptionCode ( Id  option_code)
inline

◆ setTolAngle()

void gstlrn::DirParam::setTolAngle ( double  tolang)

◆ setTolCode()

void gstlrn::DirParam::setTolCode ( double  tolcode)
inline

◆ setTolDist()

void gstlrn::DirParam::setTolDist ( double  toldist)
inline

◆ toString()

String gstlrn::DirParam::toString ( const AStringFormat strfmt = nullptr) const
overridevirtual

AStringable Interface.

Reimplemented from gstlrn::ASpaceObject.


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