queso-0.51.1
Private Attributes | List of all members
QUESO::ArrayOfOneDGrids< V, M > Class Template Reference

Class to accommodate arrays of one-dimensional grid. More...

#include <ArrayOfOneDGrids.h>

Collaboration diagram for QUESO::ArrayOfOneDGrids< V, M >:
Collaboration graph
[legend]

Public Member Functions

Constructor/Destructor methods
 ArrayOfOneDGrids (const char *prefix, const VectorSpace< V, M > &rowSpace)
 Default constructor. More...
 
 ~ArrayOfOneDGrids ()
 Destructor. More...
 
Property methods
const VectorSpace< V, M > & rowSpace () const
 Returns the (vector) space to which the row belongs to. More...
 
const V & sizes () const
 Returns an array with the sizes of the grids. More...
 
const V & minPositions () const
 Returns an array with the minimum position of each grid. More...
 
const V & maxPositions () const
 Returns an array with the maximum position of each grid. More...
 
Math methods
void setUniformGrids (const V &sizesVec, const V &minPositionsVec, const V &maxPositionsVec)
 Sets an array of uniform grids. More...
 
Accessor methods
const BaseOneDGrid< double > & grid (unsigned int rowId) const
 Returns the grid stored in the rowId-th position of the array of grids. More...
 

Private Attributes

const BaseEnvironmentm_env
 
std::string m_prefix
 
const VectorSpace< V, M > & m_rowSpace
 
DistArray< BaseOneDGrid
< double > * > 
m_oneDGrids
 
V * m_sizes
 
V * m_minPositions
 
V * m_maxPositions
 

I/O methods

void print (std::ostream &os) const
 Prints the values of the array of grids (points). More...
 
std::ostream & operator<< (std::ostream &os, const ArrayOfOneDGrids< V, M > &obj)
 

Detailed Description

template<class V, class M>
class QUESO::ArrayOfOneDGrids< V, M >

Class to accommodate arrays of one-dimensional grid.

Arrays of one-dimensional grids are necessary in the calculation, for instance, of CDFs and MDF of vector functions (refer to BaseVectorCdf, BaseVectorMdf, and derived classes).

Definition at line 44 of file ArrayOfOneDGrids.h.

Constructor & Destructor Documentation

template<class V , class M >
QUESO::ArrayOfOneDGrids< V, M >::ArrayOfOneDGrids ( const char *  prefix,
const VectorSpace< V, M > &  rowSpace 
)

Default constructor.

Definition at line 35 of file ArrayOfOneDGrids.C.

References QUESO::ArrayOfOneDGrids< V, M >::m_oneDGrids.

38  :
39  m_env (rowSpace.env() ),
40  m_prefix ((std::string)(prefix)+""),
42  m_oneDGrids (m_rowSpace.map(),1),
43  m_sizes (NULL),
44  m_minPositions(NULL),
45  m_maxPositions(NULL)
46 {
47  for (unsigned int i = 0; i < (unsigned int) m_oneDGrids.MyLength(); ++i) {
48  m_oneDGrids(i,0) = NULL;
49  }
50 }
const VectorSpace< V, M > & rowSpace() const
Returns the (vector) space to which the row belongs to.
const VectorSpace< V, M > & m_rowSpace
DistArray< BaseOneDGrid< double > * > m_oneDGrids
const BaseEnvironment & m_env
template<class V , class M >
QUESO::ArrayOfOneDGrids< V, M >::~ArrayOfOneDGrids ( )

Destructor.

Definition at line 54 of file ArrayOfOneDGrids.C.

55 {
56  if (m_maxPositions) delete m_maxPositions;
57  if (m_minPositions) delete m_minPositions;
58  if (m_sizes ) delete m_sizes;
59 
60  for (unsigned int i = 0; i < (unsigned int) m_oneDGrids.MyLength(); ++i) {
61  if (m_oneDGrids(i,0)) delete m_oneDGrids(i,0);
62  }
63 }
DistArray< BaseOneDGrid< double > * > m_oneDGrids

Member Function Documentation

template<class V , class M >
const BaseOneDGrid< double > & QUESO::ArrayOfOneDGrids< V, M >::grid ( unsigned int  rowId) const

Returns the grid stored in the rowId-th position of the array of grids.

Definition at line 140 of file ArrayOfOneDGrids.C.

References UQ_FATAL_TEST_MACRO.

Referenced by QUESO::SampledVectorCdf< V, M >::SampledVectorCdf().

141 {
142  UQ_FATAL_TEST_MACRO(rowId >= m_rowSpace.dimLocal(),
143  m_env.worldRank(),
144  "ArrayOfOneDUnformGrids<T>::grid()",
145  "rowId is out of range");
146 
147  ArrayOfOneDGrids<V,M>* tmp = const_cast<ArrayOfOneDGrids<V,M>*>(this);
148  return *(tmp->m_oneDGrids(rowId,0));
149 }
int worldRank() const
Returns the process world rank.
Definition: Environment.C:235
const VectorSpace< V, M > & m_rowSpace
const BaseEnvironment & m_env
#define UQ_FATAL_TEST_MACRO(test, givenRank, where, what)
Definition: Defines.h:223
template<class V , class M >
const V & QUESO::ArrayOfOneDGrids< V, M >::maxPositions ( ) const

Returns an array with the maximum position of each grid.

Definition at line 99 of file ArrayOfOneDGrids.C.

References UQ_FATAL_TEST_MACRO.

100 {
102  m_env.worldRank(),
103  "ArrayOfOneDGrids<T>::maxPositions()",
104  "maxPositions is still NULL");
105 
106  return *m_maxPositions;
107 }
int worldRank() const
Returns the process world rank.
Definition: Environment.C:235
const BaseEnvironment & m_env
#define UQ_FATAL_TEST_MACRO(test, givenRank, where, what)
Definition: Defines.h:223
template<class V , class M >
const V & QUESO::ArrayOfOneDGrids< V, M >::minPositions ( ) const

Returns an array with the minimum position of each grid.

Definition at line 87 of file ArrayOfOneDGrids.C.

References UQ_FATAL_TEST_MACRO.

88 {
90  m_env.worldRank(),
91  "ArrayOfOneDGrids<T>::minPositions()",
92  "minPositions is still NULL");
93 
94  return *m_minPositions;
95 }
int worldRank() const
Returns the process world rank.
Definition: Environment.C:235
const BaseEnvironment & m_env
#define UQ_FATAL_TEST_MACRO(test, givenRank, where, what)
Definition: Defines.h:223
template<class V , class M >
void QUESO::ArrayOfOneDGrids< V, M >::print ( std::ostream &  os) const

Prints the values of the array of grids (points).

Definition at line 154 of file ArrayOfOneDGrids.C.

References QUESO::ArrayOfOneDGrids< V, M >::m_oneDGrids.

155 {
156  ArrayOfOneDGrids<V,M>* tmp = const_cast<ArrayOfOneDGrids<V,M>*>(this);
157  for (unsigned int i = 0; i < (unsigned int) m_oneDGrids.MyLength(); ++i) {
158  os << *(tmp->m_oneDGrids(i,0))
159  << std::endl;
160  }
161 
162  return;
163 }
DistArray< BaseOneDGrid< double > * > m_oneDGrids
template<class V , class M >
const VectorSpace< V, M > & QUESO::ArrayOfOneDGrids< V, M >::rowSpace ( ) const

Returns the (vector) space to which the row belongs to.

Definition at line 68 of file ArrayOfOneDGrids.C.

69 {
70  return m_rowSpace;
71 }
const VectorSpace< V, M > & m_rowSpace
template<class V , class M >
void QUESO::ArrayOfOneDGrids< V, M >::setUniformGrids ( const V &  sizesVec,
const V &  minPositionsVec,
const V &  maxPositionsVec 
)

Sets an array of uniform grids.

Definition at line 111 of file ArrayOfOneDGrids.C.

Referenced by QUESO::SequenceOfVectors< V, M >::subUniformlySampledCdf(), and QUESO::SequenceOfVectors< V, M >::unifiedUniformlySampledCdf().

115 {
116  if (m_sizes == NULL) m_sizes = new V(sizesVec);
117  else *m_sizes = sizesVec;
118 
119  if (m_minPositions == NULL) m_minPositions = new V(minPositionsVec);
120  else *m_minPositions = minPositionsVec;
121 
122  if (m_maxPositions == NULL) m_maxPositions = new V(maxPositionsVec);
123  else *m_maxPositions = maxPositionsVec;
124 
125  char strI[65];
126  for (unsigned int i = 0; i < (unsigned int) m_oneDGrids.MyLength(); ++i) {
127  sprintf(strI,"%u_",i);
128  m_oneDGrids(i,0) = new UniformOneDGrid<double>(m_env,
129  (m_prefix+strI).c_str(),
130  (unsigned int) sizesVec[i],
131  minPositionsVec[i],
132  maxPositionsVec[i]);
133  }
134 
135  return;
136 }
DistArray< BaseOneDGrid< double > * > m_oneDGrids
const BaseEnvironment & m_env
template<class V , class M >
const V & QUESO::ArrayOfOneDGrids< V, M >::sizes ( ) const

Returns an array with the sizes of the grids.

Definition at line 75 of file ArrayOfOneDGrids.C.

References UQ_FATAL_TEST_MACRO.

76 {
78  m_env.worldRank(),
79  "ArrayOfOneDGrids<T>::sizes()",
80  "sizes is still NULL");
81 
82  return *m_sizes;
83 }
int worldRank() const
Returns the process world rank.
Definition: Environment.C:235
const BaseEnvironment & m_env
#define UQ_FATAL_TEST_MACRO(test, givenRank, where, what)
Definition: Defines.h:223

Friends And Related Function Documentation

template<class V, class M>
std::ostream& operator<< ( std::ostream &  os,
const ArrayOfOneDGrids< V, M > &  obj 
)
friend

Definition at line 92 of file ArrayOfOneDGrids.h.

94  {
95  obj.print(os);
96  return os;
97  }

Member Data Documentation

template<class V, class M>
const BaseEnvironment& QUESO::ArrayOfOneDGrids< V, M >::m_env
private

Definition at line 101 of file ArrayOfOneDGrids.h.

template<class V, class M>
V* QUESO::ArrayOfOneDGrids< V, M >::m_maxPositions
private

Definition at line 108 of file ArrayOfOneDGrids.h.

template<class V, class M>
V* QUESO::ArrayOfOneDGrids< V, M >::m_minPositions
private

Definition at line 107 of file ArrayOfOneDGrids.h.

template<class V, class M>
DistArray<BaseOneDGrid<double>*> QUESO::ArrayOfOneDGrids< V, M >::m_oneDGrids
private
template<class V, class M>
std::string QUESO::ArrayOfOneDGrids< V, M >::m_prefix
private

Definition at line 102 of file ArrayOfOneDGrids.h.

template<class V, class M>
const VectorSpace<V,M>& QUESO::ArrayOfOneDGrids< V, M >::m_rowSpace
private

Definition at line 103 of file ArrayOfOneDGrids.h.

template<class V, class M>
V* QUESO::ArrayOfOneDGrids< V, M >::m_sizes
private

Definition at line 106 of file ArrayOfOneDGrids.h.


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

Generated on Thu Apr 23 2015 19:26:17 for queso-0.51.1 by  doxygen 1.8.5