gstlearn  1.0.0
CCC
Indirection Class Reference

#include <Indirection.hpp>

Inheritance diagram for Indirection:
AStringable

Public Member Functions

 Indirection (int mode=0)
 
 ~Indirection ()
 
 Indirection (const Indirection &m)
 
Indirectionoperator= (const Indirection &m)
 
virtual String toString (const AStringFormat *strfmt=nullptr) const override
 Interface to AStringable. More...
 
void buildFromSel (const VectorDouble &sel)
 
void buildFromRankRInA (const VectorInt &rels, int nabs)
 
void buildFromMap (const std::map< int, int > &map, int nabs)
 
int getAToR (int iabs) const
 
int getRToA (int irel) const
 
int getAbsSize () const
 
int getRelSize () const
 
void setMode (int mode)
 
bool isDefined () const
 
VectorInt getRelRanks () const
 
int getMode () 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
 

Private Member Functions

void _resetMap ()
 
int _getMapAToR (int iabs) const
 
int _getArrayAToR (int iabs) const
 
bool _isValidAbs (int iabs) const
 
bool _isValidRel (int irel) const
 

Private Attributes

bool _defined
 
int _mode
 
int _nabs
 
int _nrel
 
VectorInt _vecRToA
 
VectorInt _vecAToR
 
std::map< int, int > _mapAToR
 

Constructor & Destructor Documentation

◆ Indirection() [1/2]

Indirection::Indirection ( int  mode = 0)

◆ ~Indirection()

Indirection::~Indirection ( )

◆ Indirection() [2/2]

Indirection::Indirection ( const Indirection m)

Member Function Documentation

◆ _getArrayAToR()

int Indirection::_getArrayAToR ( int  iabs) const
private

◆ _getMapAToR()

int Indirection::_getMapAToR ( int  iabs) const
private

Returns the rank of the relative grid node from its absolute index using the Map

Parameters
iabsAbsolute rank of the grid node
Returns
Rank of the corresponding active (relative) grid node (or -1 is not found)

◆ _isValidAbs()

bool Indirection::_isValidAbs ( int  iabs) const
private

◆ _isValidRel()

bool Indirection::_isValidRel ( int  irel) const
private

◆ _resetMap()

void Indirection::_resetMap ( )
private

◆ buildFromMap()

void Indirection::buildFromMap ( const std::map< int, int > &  map,
int  nabs 
)

◆ buildFromRankRInA()

void Indirection::buildFromRankRInA ( const VectorInt rels,
int  nabs 
)

◆ buildFromSel()

void Indirection::buildFromSel ( const VectorDouble sel)

Build the needed information from Selection array A sample is active if its 'sel' value is equal to 1

Parameters
selVector giving the status of all samples (Dimension: absolute)

◆ getAbsSize()

int Indirection::getAbsSize ( ) const
inline

◆ getAToR()

int Indirection::getAToR ( int  iabs) const

◆ getMode()

int Indirection::getMode ( ) const
inline

◆ getRelRanks()

VectorInt Indirection::getRelRanks ( ) const
inline

◆ getRelSize()

int Indirection::getRelSize ( ) const
inline

◆ getRToA()

int Indirection::getRToA ( int  irel) const

◆ isDefined()

bool Indirection::isDefined ( ) const
inline

◆ operator=()

Indirection & Indirection::operator= ( const Indirection m)

◆ setMode()

void Indirection::setMode ( int  mode)

◆ toString()

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

Interface to AStringable.

Reimplemented from AStringable.

Member Data Documentation

◆ _defined

bool Indirection::_defined
private

◆ _mapAToR

std::map<int, int> Indirection::_mapAToR
private

◆ _mode

int Indirection::_mode
private

◆ _nabs

int Indirection::_nabs
private

◆ _nrel

int Indirection::_nrel
private

◆ _vecAToR

VectorInt Indirection::_vecAToR
private

◆ _vecRToA

VectorInt Indirection::_vecRToA
private

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