00001 #ifndef __BCSUMMARYTOOL__H 00002 #define __BCSUMMARYTOOL__H 00003 00023 // --------------------------------------------------------- 00024 00025 #include <string> 00026 #include <vector> 00027 00028 class BCModel; 00029 class BCSummaryPriorModel; 00030 00031 // --------------------------------------------------------- 00032 00033 class BCSummaryTool 00034 { 00035 public: 00036 00042 BCSummaryTool(); 00043 00046 BCSummaryTool(BCModel * model); 00047 00050 ~BCSummaryTool(); 00051 00058 BCSummaryPriorModel * GetPriorModel() 00059 { return fPriorModel; } 00060 00068 void SetModel(BCModel * model) 00069 { fModel = model; }; 00070 00080 int CalculatePriorModel(); 00081 00085 int CopySummaryData(); 00086 00090 int PrintParameterPlot(const char * filename = "parameters.eps"); 00091 00095 int PrintCorrelationMatrix(const char * filename = "matrix.eps"); 00096 00100 int PrintCorrelationPlot(const char * filename = "correlation.eps"); 00101 00106 int DrawKnowledgeUpdatePlot1D(int index, double min=0., double max=0.); 00107 00112 int PrintKnowledgeUpdatePlot1D(int index, const char * filename, double min=0., double max=0.); 00113 00118 int PrintKnowledgeUpdatePlots(const char * filename = "update.ps"); 00119 00123 int PrintParameterSummary() { return 1; }; 00124 00128 int PrintCorrelationSummary() { return 1; }; 00129 00133 int PrintParameterLatex(const char * filename); 00134 00138 int PrintCorrelationLatex() { return 1; }; 00139 00142 private: 00143 00145 static unsigned int getNextIndex() 00146 { return ++fHCounter; } 00147 00149 static unsigned int fHCounter; 00150 00153 BCModel * fModel; 00154 00157 std::vector<std::string> fParName; 00158 00161 std::vector<double> fParMin; 00162 00165 std::vector<double> fParMax; 00166 00170 std::vector<double> fCorrCoeff; 00171 00175 std::vector<double> fMargMode; 00176 00180 std::vector<double> fMean; 00181 00185 std::vector<double> fGlobalMode; 00186 00191 std::vector<double> fQuantiles; 00192 00198 std::vector<double> fSmallInt; 00199 00203 std::vector<double> fRMS; 00204 00207 std::vector<double> fSumProb; 00208 00212 BCSummaryPriorModel * fPriorModel; 00213 00216 bool fFlagInfoMarg; 00217 00220 bool fFlagInfoOpt; 00221 00222 }; 00223 // --------------------------------------------------------- 00224 00225 #endif 00226