00001
00002
00003
00004 #ifndef MHWidth_h
00005 #define MHWidth_h
00006
00007 #include "Serializable.h"
00008
00009
00010 namespace BIE {
00011
00012
00019 class MHWidth: public Serializable
00020 {
00021 protected:
00022
00024 int mmax;
00025
00027 int ndim;
00028
00029 public:
00034
00036 MHWidth() : mmax(0), ndim(0) {}
00037
00039 MHWidth(int M, int N) : mmax(M), ndim(N) {}
00041
00043 virtual double width(int M, int j) { return 1.0; }
00044
00045
00046 private:
00047 friend class boost::serialization::access;
00048 template<class Archive>
00049 void serialize(Archive & ar, const unsigned int version) {
00050 this->pre_serialize(ar, version);
00051 try {
00052 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Serializable);
00053 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION;
00054 }
00055 try {
00056 ar & BOOST_SERIALIZATION_NVP(mmax);
00057 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION;
00058 }
00059 try {
00060 ar & BOOST_SERIALIZATION_NVP(ndim);
00061 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION;
00062 }
00063 this->post_serialize(ar, version);
00064 }
00065
00066 };
00067 }
00068
00069 BIE_CLASS_TYPE_INFO(BIE::MHWidth)
00070 BIE_CLASS_EXPORT_KEY(BIE::MHWidth)
00071 #endif