queso-0.57.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
QUESO::MultiDQuadratureBase< V, M > Class Template Referenceabstract

Base class for multi-dimensional quadrature rules. More...

#include <MultiDQuadratureBase.h>

Inheritance diagram for QUESO::MultiDQuadratureBase< V, M >:
QUESO::BaseQuadrature QUESO::MonteCarloQuadrature< V, M > QUESO::TensorProductQuadrature< V, M >

Public Member Functions

 MultiDQuadratureBase (const VectorSubset< V, M > &domain)
 
virtual ~MultiDQuadratureBase ()=0
 Pure virtual destructor, forcing this to be an abstract object. More...
 
const std::vector< typename
QUESO::SharedPtr< V >::Type > & 
positions () const
 
const VectorSubset< V, M > & getDomain () const
 
- Public Member Functions inherited from QUESO::BaseQuadrature
 BaseQuadrature ()
 
virtual ~BaseQuadrature ()=0
 Pure virtual destructor, forcing this to be an abstract object. More...
 
const std::vector< double > & weights () const
 Array of the weights used in the numerical integration. More...
 

Protected Attributes

std::vector< typename
QUESO::SharedPtr< V >::Type > 
m_positions
 Locations of quadrature points. More...
 
const VectorSubset< V, M > & m_domain
 Domain over which the quadrature will be performed. More...
 
- Protected Attributes inherited from QUESO::BaseQuadrature
std::vector< double > m_weights
 

Detailed Description

template<class V = GslVector, class M = GslMatrix>
class QUESO::MultiDQuadratureBase< V, M >

Base class for multi-dimensional quadrature rules.

Base class for numerical integration of functions of multiple variables using quadrature rules. Subclasses will implement the actual quadrature rule and should populate the positions and weights. The integration will be performed over the user-supplied domain.

The intended use of these rules is that the constructor builds the rule and populates the positions and weights and then the user can perform the sum \( \sum_{i=1}^N f(x_i) w_i \).

Definition at line 48 of file MultiDQuadratureBase.h.

Constructor & Destructor Documentation

template<class V = GslVector, class M = GslMatrix>
QUESO::MultiDQuadratureBase< V, M >::MultiDQuadratureBase ( const VectorSubset< V, M > &  domain)
inline

Definition at line 52 of file MultiDQuadratureBase.h.

53  : BaseQuadrature(),
54  m_domain(domain)
55  {}
const VectorSubset< V, M > & m_domain
Domain over which the quadrature will be performed.
template<class V , class M >
QUESO::MultiDQuadratureBase< V, M >::~MultiDQuadratureBase ( )
inlinepure virtual

Pure virtual destructor, forcing this to be an abstract object.

Definition at line 79 of file MultiDQuadratureBase.h.

79 {}

Member Function Documentation

template<class V = GslVector, class M = GslMatrix>
const VectorSubset<V,M>& QUESO::MultiDQuadratureBase< V, M >::getDomain ( ) const
inline

Definition at line 64 of file MultiDQuadratureBase.h.

References QUESO::MultiDQuadratureBase< V, M >::m_domain.

65  { return m_domain; }
const VectorSubset< V, M > & m_domain
Domain over which the quadrature will be performed.
template<class V = GslVector, class M = GslMatrix>
const std::vector<typename QUESO::SharedPtr<V>::Type>& QUESO::MultiDQuadratureBase< V, M >::positions ( ) const
inline

Definition at line 60 of file MultiDQuadratureBase.h.

References QUESO::MultiDQuadratureBase< V, M >::m_positions.

61  { queso_assert(!m_positions.empty());
62  return m_positions; }
std::vector< typename QUESO::SharedPtr< V >::Type > m_positions
Locations of quadrature points.

Member Data Documentation

template<class V = GslVector, class M = GslMatrix>
const VectorSubset<V,M>& QUESO::MultiDQuadratureBase< V, M >::m_domain
protected

Domain over which the quadrature will be performed.

Definition at line 74 of file MultiDQuadratureBase.h.

Referenced by QUESO::MultiDQuadratureBase< V, M >::getDomain(), and QUESO::MonteCarloQuadrature< V, M >::MonteCarloQuadrature().

template<class V = GslVector, class M = GslMatrix>
std::vector<typename QUESO::SharedPtr<V>::Type> QUESO::MultiDQuadratureBase< V, M >::m_positions
protected

Locations of quadrature points.

Todo:
We should make this a vector of std::unique_ptr when we go full C++11.

Definition at line 71 of file MultiDQuadratureBase.h.

Referenced by QUESO::MonteCarloQuadrature< V, M >::MonteCarloQuadrature(), QUESO::MultiDQuadratureBase< V, M >::positions(), and QUESO::TensorProductQuadrature< V, M >::TensorProductQuadrature().


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

Generated on Tue Jun 5 2018 19:49:20 for queso-0.57.1 by  doxygen 1.8.5