00001 
00013 #ifndef SQUARE_MAT_POINT_H
00014 #define SQUARE_MAT_POINT_H
00015 
00016 #include "itpp_ext.h"
00017 #include "bdmroot.h"
00018 
00022 class square_mat_point : public bdm::root
00023 {
00024 private:
00025     itpp::mat matrix;
00026     itpp::vec vector;
00027     double scalar;
00028 
00029 public:
00030     square_mat_point():scalar(0) { }
00031 
00032     itpp::mat get_matrix() const {
00033         return matrix;
00034     }
00035 
00036     itpp::vec get_vector() const {
00037         return vector;
00038     }
00039 
00040     double get_scalar() const {
00041         return scalar;
00042     }
00043 
00044     void set_parameters(const itpp::mat &m, const itpp::vec &v, double s) {
00045         matrix = m;
00046         vector = v;
00047         scalar = s;
00048     }
00049 
00058     void from_setting(const Setting &set);
00059   
00060     void to_setting(Setting &set) const;
00061 };
00062 
00063 #endif
00064