00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef SCALAR_DISCRETIZATION_TYPE_SPECTRAL_HPP
00021 #define SCALAR_DISCRETIZATION_TYPE_SPECTRAL_HPP
00022
00023 #include <ScalarDiscretizationTypeBase.hpp>
00024 #include <TinyVector.hpp>
00025
00035 class ScalarDiscretizationTypeSpectral
00036 : public ScalarDiscretizationTypeBase
00037 {
00038 private:
00039 TinyVector<3,size_t> __degrees;
00040 TinyVector<3,real_t> __a;
00041 TinyVector<3,real_t> __b;
00042
00043 void __instanciable() const {}
00044 public:
00045
00046 const TinyVector<3,size_t>& degrees() const
00047 {
00048 return __degrees;
00049 }
00050
00051 const TinyVector<3,real_t>& a() const
00052 {
00053 return __a;
00054 }
00055
00056 const TinyVector<3,real_t>& b() const
00057 {
00058 return __b;
00059 }
00060
00061 ScalarDiscretizationTypeSpectral(const TinyVector<3,size_t>& degrees,
00062 const TinyVector<3,real_t>& a,
00063 const TinyVector<3,real_t>& b)
00064 : ScalarDiscretizationTypeBase(ScalarDiscretizationTypeBase::spectralLegendre),
00065 __degrees(degrees),
00066 __a(a),
00067 __b(b)
00068 {
00069 ;
00070 }
00071
00077 ScalarDiscretizationTypeSpectral(const ScalarDiscretizationTypeSpectral& d)
00078 : ScalarDiscretizationTypeBase(d),
00079 __degrees(d.__degrees),
00080 __a(d.__a),
00081 __b(d.__b)
00082 {
00083 ;
00084 }
00085
00090 ~ScalarDiscretizationTypeSpectral()
00091 {
00092 ;
00093 }
00094 };
00095
00096 #endif // SCALAR_DISCRETIZATION_TYPE_SPECTRAL_HPP