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

#include <Node.hpp>

Inheritance diagram for gstlrn::Node:
gstlrn::AStringable

Public Member Functions

 Node (const String &nodnam, Id orient, Id facies)
 
 Node (const String &nodnam, const 1 &n_type, const 1 &n_facs, Id *ipos, Id *n_fac, Id *n_y1, Id *n_y2)
 
 Node (bool flagShadow=true)
 
 Node (const Node &m)
 
Nodeoperator= (const Node &m)
 
virtual ~Node ()
 
String toString (const AStringFormat *strfmt=nullptr) const override
 
void getStatistics (Id *node_tot, Id *nfac_tot, Id *ny1_tot, Id *ny2_tot, double *prop_tot)
 
Id isValid (1 &facies)
 
void scaleProp (double scale)
 
Id proportionDefine (const 1 &props)
 
Id getProportion (Id facies, double *prop)
 
Id getThresh (Id mode, Id istop, Id *rank, Id *facies, double *t1min, double *t1max, double *t2min, double *t2max)
 
void proportionToThresh (double rho, double t1min, double t1max, double t2min, double t2max)
 
Id gaussianToFacies (double y1, double y2, double *facies)
 
void getInfo (Id *nodes) const
 
String nodePrint (bool flagProp, bool flagThresh) const
 
String nodePrintShadow (bool flagProp, bool flagThresh) const
 
double getT1max () const
 
double getT1min () const
 
double getT2max () const
 
double getT2min () const
 
void setT1max (double t1max)
 
void setT1min (double t1min)
 
void setT2max (double t2max)
 
void setT2min (double t2min)
 
double getCdf1max () const
 
double getCdf1min () const
 
double getCdf2max () const
 
double getCdf2min () const
 
Id getFacies () const
 
const StringgetNodnam () const
 
Id getOrient () const
 
double getP1 () const
 
double getP2 () const
 
double getProp () const
 
double getAllThresh () const
 
void setProp (double prop)
 
void setCdf1max (double cdf1max)
 
void setCdf1min (double cdf1min)
 
void setCdf2max (double cdf2max)
 
void setCdf2min (double cdf2min)
 
void setAllThresh (double thresh)
 
NodegetR1 () const
 
void setR1 (Node *r1)
 
NodegetR2 () const
 
void setR2 (Node *r2)
 
- 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
 

Constructor & Destructor Documentation

◆ Node() [1/4]

gstlrn::Node::Node ( const String nodnam,
Id  orient,
Id  facies 
)

◆ Node() [2/4]

gstlrn::Node::Node ( const String nodnam,
const 1 &  n_type,
const 1 &  n_facs,
Id ipos,
Id n_fac,
Id n_y1,
Id n_y2 
)

◆ Node() [3/4]

gstlrn::Node::Node ( bool  flagShadow = true)

◆ Node() [4/4]

gstlrn::Node::Node ( const Node m)

◆ ~Node()

gstlrn::Node::~Node ( )
virtual

Member Function Documentation

◆ gaussianToFacies()

Id gstlrn::Node::gaussianToFacies ( double  y1,
double  y2,
double *  facies 
)

Convert the two underlying GRFs into facies

Returns
1 if the facies is found; 0 otherwise
Parameters
[in]y1Value of the first underlying GRF
[in]y2Value of the second underlying GRF
[out]faciesFacies value

◆ getAllThresh()

double gstlrn::Node::getAllThresh ( ) const
inline

◆ getCdf1max()

double gstlrn::Node::getCdf1max ( ) const
inline

◆ getCdf1min()

double gstlrn::Node::getCdf1min ( ) const
inline

◆ getCdf2max()

double gstlrn::Node::getCdf2max ( ) const
inline

◆ getCdf2min()

double gstlrn::Node::getCdf2min ( ) const
inline

◆ getFacies()

Id gstlrn::Node::getFacies ( ) const
inline

◆ getInfo()

void gstlrn::Node::getInfo ( Id nodes) const

◆ getNodnam()

const String & gstlrn::Node::getNodnam ( ) const
inline

◆ getOrient()

Id gstlrn::Node::getOrient ( ) const
inline

◆ getP1()

double gstlrn::Node::getP1 ( ) const
inline

◆ getP2()

double gstlrn::Node::getP2 ( ) const
inline

◆ getProp()

double gstlrn::Node::getProp ( ) const
inline

◆ getProportion()

Id gstlrn::Node::getProportion ( Id  facies,
double *  prop 
)

For a given facies, return the Proportion

Parameters
faciesTarget facies (starting from 1)
propReturned proportion
Returns
1 if the facies is found; 0 otherwise

◆ getR1()

Node * gstlrn::Node::getR1 ( ) const
inline

◆ getR2()

Node * gstlrn::Node::getR2 ( ) const
inline

◆ getStatistics()

void gstlrn::Node::getStatistics ( Id node_tot,
Id nfac_tot,
Id ny1_tot,
Id ny2_tot,
double *  prop_tot 
)

Calculates the statistics from a given node recursively

Parameters
[in,out]node_totNumber of nodes
[in,out]nfac_totNumber of facies
[in,out]ny1_totNumber of thresholds for Y1
[in,out]ny2_totNumber of thresholds for Y2
[in,out]prop_totTotal proportion
Remarks
The variables 'nfac_tot' and 'prop_tot' must set to zero
as arguments of the call

◆ getT1max()

double gstlrn::Node::getT1max ( ) const
inline

◆ getT1min()

double gstlrn::Node::getT1min ( ) const
inline

◆ getT2max()

double gstlrn::Node::getT2max ( ) const
inline

◆ getT2min()

double gstlrn::Node::getT2min ( ) const
inline

◆ getThresh()

Id gstlrn::Node::getThresh ( Id  mode,
Id  istop,
Id rank,
Id facies,
double *  t1min,
double *  t1max,
double *  t2min,
double *  t2max 
)

Get the threshold for a facies

Returns
1 if the facies is found; 0 otherwise
Parameters
[in]modeStopping criterion
  • 1 : when the requested facies is found
  • 2 : when the rectangle rank is reached
[in]istopValue of the stopping criterion
[in]rankIndex of the rectangle (input)
[out]faciesValue of the facies
[out]t1minMinimum threshold along Y1
[out]t1maxMaximum threshold along Y1
[out]t2minMinimum threshold along Y2
[out]t2maxMaximum threshold along Y2
Remarks
Argument 'rank' must be initialized to 0 in the calling function

◆ isValid()

Id gstlrn::Node::isValid ( 1 &  facies)

Count the presence of each facies

Returns
Error return code
Parameters
[in]faciesArray for counting the presence of facies

◆ nodePrint()

String gstlrn::Node::nodePrint ( bool  flagProp,
bool  flagThresh 
) const

Recursively print the Node

Parameters
[in]flagProptrue if the Proportions must be printed
[in]flagThreshtrue if the Threshold must be printed

◆ nodePrintShadow()

String gstlrn::Node::nodePrintShadow ( bool  flagProp,
bool  flagThresh 
) const

Recursively print the Node

Parameters
[in]flagProptrue if the Proportions must be printed
[in]flagThreshtrue if the Threshold must be printed

◆ operator=()

Node & gstlrn::Node::operator= ( const Node m)

◆ proportionDefine()

Id gstlrn::Node::proportionDefine ( const 1 &  props)

◆ proportionToThresh()

void gstlrn::Node::proportionToThresh ( double  rho,
double  t1min,
double  t1max,
double  t2min,
double  t2max 
)

Recursively deduce the threshold from cumulative proportions

Parameters
[in]rhoCorrelation between the GRFs
[in]t1minMinimum bound for the first GRF
[in]t1maxMaximum bound for the first GRF
[in]t2minMinimum bound for the second GRF
[in]t2maxMaximum bound for the second GRF

◆ scaleProp()

void gstlrn::Node::scaleProp ( double  scale)

Scale the proportions of all facies new_prop = old_prop / scale

Parameters
[in]scaleScaling factor

◆ setAllThresh()

void gstlrn::Node::setAllThresh ( double  thresh)
inline

◆ setCdf1max()

void gstlrn::Node::setCdf1max ( double  cdf1max)
inline

◆ setCdf1min()

void gstlrn::Node::setCdf1min ( double  cdf1min)
inline

◆ setCdf2max()

void gstlrn::Node::setCdf2max ( double  cdf2max)
inline

◆ setCdf2min()

void gstlrn::Node::setCdf2min ( double  cdf2min)
inline

◆ setProp()

void gstlrn::Node::setProp ( double  prop)
inline

◆ setR1()

void gstlrn::Node::setR1 ( Node r1)
inline

◆ setR2()

void gstlrn::Node::setR2 ( Node r2)
inline

◆ setT1max()

void gstlrn::Node::setT1max ( double  t1max)
inline

◆ setT1min()

void gstlrn::Node::setT1min ( double  t1min)
inline

◆ setT2max()

void gstlrn::Node::setT2max ( double  t2max)
inline

◆ setT2min()

void gstlrn::Node::setT2min ( double  t2min)
inline

◆ toString()

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

Reimplemented from gstlrn::AStringable.


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