1.1.0
CCC
 
Node Class Reference

#include <Node.hpp>

Inheritance diagram for Node:
AStringable

Public Member Functions

 Node (const String &nodnam, int orient, int facies)
 
 Node (const String &nodnam, const VectorInt &n_type, const VectorInt &n_facs, int *ipos, int *n_fac, int *n_y1, int *n_y2)
 
 Node (bool flagShadow=true)
 
 Node (const Node &r)
 
Nodeoperator= (const Node &r)
 
virtual ~Node ()
 
virtual String toString (const AStringFormat *strfmt=nullptr) const override
 
void getStatistics (int *node_tot, int *nfac_tot, int *ny1_tot, int *ny2_tot, double *prop_tot)
 
int isValid (VectorInt &facies)
 
void scaleProp (double scale)
 
int proportionDefine (const VectorDouble &props)
 
int getProportion (int facies, double *prop)
 
int getThresh (int mode, int istop, int *rank, int *facies, double *t1min, double *t1max, double *t2min, double *t2max)
 
void proportionToThresh (double rho, double t1min, double t1max, double t2min, double t2max)
 
int gaussianToFacies (double y1, double y2, double *facies)
 
void getInfo (int *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
 
int getFacies () const
 
const StringgetNodnam () const
 
int 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 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
 

Constructor & Destructor Documentation

Node::Node ( const String nodnam,
int  orient,
int  facies 
)
Node::Node ( const String nodnam,
const VectorInt n_type,
const VectorInt n_facs,
int *  ipos,
int *  n_fac,
int *  n_y1,
int *  n_y2 
)
Node::Node ( bool  flagShadow = true)
Node::Node ( const Node r)
Node::~Node ( )
virtual

Member Function Documentation

int 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
double Node::getAllThresh ( ) const
inline
double Node::getCdf1max ( ) const
inline
double Node::getCdf1min ( ) const
inline
double Node::getCdf2max ( ) const
inline
double Node::getCdf2min ( ) const
inline
int Node::getFacies ( ) const
inline
void Node::getInfo ( int *  nodes) const
const String& Node::getNodnam ( ) const
inline
int Node::getOrient ( ) const
inline
double Node::getP1 ( ) const
inline
double Node::getP2 ( ) const
inline
double Node::getProp ( ) const
inline
int Node::getProportion ( int  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
Node* Node::getR1 ( ) const
inline
Node* Node::getR2 ( ) const
inline
void Node::getStatistics ( int *  node_tot,
int *  nfac_tot,
int *  ny1_tot,
int *  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
double Node::getT1max ( ) const
inline
double Node::getT1min ( ) const
inline
double Node::getT2max ( ) const
inline
double Node::getT2min ( ) const
inline
int Node::getThresh ( int  mode,
int  istop,
int *  rank,
int *  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
int Node::isValid ( VectorInt facies)

Count the presence of each facies

Returns
Error return code
Parameters
[in]faciesArray for counting the presence of facies
String 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
String 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
Node & Node::operator= ( const Node r)
int Node::proportionDefine ( const VectorDouble props)
void 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
void Node::scaleProp ( double  scale)

Scale the proportions of all facies new_prop = old_prop / scale

Parameters
[in]scaleScaling factor
void Node::setAllThresh ( double  thresh)
inline
void Node::setCdf1max ( double  cdf1max)
inline
void Node::setCdf1min ( double  cdf1min)
inline
void Node::setCdf2max ( double  cdf2max)
inline
void Node::setCdf2min ( double  cdf2min)
inline
void Node::setProp ( double  prop)
inline
void Node::setR1 ( Node r1)
inline
void Node::setR2 ( Node r2)
inline
void Node::setT1max ( double  t1max)
inline
void Node::setT1min ( double  t1min)
inline
void Node::setT2max ( double  t2max)
inline
void Node::setT2min ( double  t2min)
inline
String Node::toString ( const AStringFormat strfmt = nullptr) const
overridevirtual

Reimplemented from AStringable.


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