Stokhos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Stokhos_Quadrature.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Stokhos Package
4 //
5 // Copyright 2009 NTESS and the Stokhos contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef STOKHOS_QUADRATURE
11 #define STOKHOS_QUADRATURE
12 
13 #include <ostream>
14 #include "Teuchos_Array.hpp"
15 
16 namespace Stokhos {
17 
19  template <typename ordinal_type, typename value_type>
20  class Quadrature {
21  public:
22 
25 
27  virtual ~Quadrature() {}
28 
30  virtual ordinal_type size() const = 0;
31 
33 
38  getQuadPoints() const = 0;
39 
41 
44  virtual const Teuchos::Array<value_type>&
45  getQuadWeights() const = 0;
46 
48 
53  getBasisAtQuadPoints() const = 0;
54 
56  virtual std::ostream& print(std::ostream& os) const = 0;
57 
58  private:
59 
60  // Prohibit copying
61  Quadrature(const Quadrature&);
62 
63  // Prohibit Assignment
64  Quadrature& operator=(const Quadrature& b);
65 
66  }; // class Quadrature
67 
69  template <typename ordinal_type, typename value_type>
70  std::ostream& operator << (std::ostream& os,
72  return quad.print(os);
73  }
74 
75 } // namespace Stokhos
76 
77 #endif // STOKHOS_QUADRATURE
Quadrature & operator=(const Quadrature &b)
virtual ordinal_type size() const =0
Get number of quadrature points.
virtual const Teuchos::Array< Teuchos::Array< value_type > > & getBasisAtQuadPoints() const =0
Get values of basis at quadrature points.
virtual const Teuchos::Array< value_type > & getQuadWeights() const =0
Get quadrature weights.
virtual const Teuchos::Array< Teuchos::Array< value_type > > & getQuadPoints() const =0
Get quadrature points.
std::ostream & operator<<(std::ostream &os, const ProductContainer< coeff_type > &vec)
Abstract base class for quadrature methods.
virtual ~Quadrature()
Destructor.
virtual std::ostream & print(std::ostream &os) const =0
Print quadrature data.