Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

/home/mistis/jblanche/DEV/NEM/include/Conditional_Potts.hpp

00001 #define __cplusplus__
00002 #ifndef __POSSPOTTSMRF__
00003 #define __POSSPOTTSMRF__
00004 
00005 #include<iostream>
00006 #include<istream>
00007 #include<fstream>
00008 #include<string>
00009 #include<vector>
00010 #include<sstream>
00011 #include <cmath>
00012 
00013 #include <Conditional_MRF.hpp>
00014 
00015 using namespace std;
00016 
00027 class Conditional_Potts : public Conditional_MRF {
00029   vector<double> Beta ; 
00030   
00032   vector<double> S_mf;
00034   bool precomputed_smf;
00035 
00036   void Precompute_Smf( );
00037 
00038 public :
00040   Conditional_Potts();
00042   Conditional_Potts(Neighborhood_System *nhs, vector<uint> const& subk);
00044   Conditional_Potts(Neighborhood_System *nhs, vector<uint> const& subk, vector<double> const &beta);
00046   ~Conditional_Potts();
00047   
00049   void DeleteAll();
00050 
00052   void Get_Beta(vector<double> &beta);
00053 
00055   void Set_Beta(vector<double> const &beta);
00056   
00058   double H(uint i, uint l, uint k, vector<uint>  const &  Z);
00060   double Hmf(uint i, uint l, uint k);
00061   
00063   void ReadFromFile(string filename);
00065   void WriteToFile(string filename);
00066 
00068   void Read_Params(istream & is);
00070   void Write_Params(ostream & os);
00071 
00073   uint Degrees_Of_Freedom();
00074 
00076   void Info();
00077 
00078 };
00079 
00080 #endif

Generated on Tue Nov 8 14:55:43 2005 for NEM by doxygen1.2.18