00001 //*****************************************************************************// 00002 // // 00003 // Copyright (c) 2001 // 00004 // INRIA // 00005 // 54600 VILLERS LES NANCY // 00006 // France // 00007 // // 00008 //*****************************************************************************// 00009 // // 00010 // *** NOTICE OF PROPRIETARY INFORMATION *** // 00011 // // 00012 // The information contained in this file is considered proprietary and the // 00013 // exclusive property of INRIA. This information may not be disclosed, // 00014 // duplicated or used, in whole or in part, for any purpose whatsoever // 00015 // without express written authorization from INRIA // 00016 // // 00017 //*****************************************************************************// 00018 00019 00020 #ifndef QC_PM3PARAM_H_ 00021 #define QC_PM3PARAM_H_ 00022 00023 00024 #include <string> 00025 #include <iostream> 00026 00027 #include "QCCommon.hpp" 00028 #include "QCMndoParam.hpp" 00029 00030 00031 template <class TPParam> class QCPm3T; 00032 template <class TPModel, class TPSystem> class QCManager; 00033 00034 00035 00042 00043 00044 class QCPm3Param : public QCMndoParam 00045 { 00053 template <class TPParam> 00054 friend class QCPm3T; 00055 00056 friend class QCReader; 00057 00058 template <class TPModel, class TPSystem> 00059 friend class QCManager; 00060 00061 friend ostream& operator << (ostream& out, const QCPm3Param& param); 00062 00067 public: 00068 00069 00071 protected: 00072 00076 QCPm3Param (void); 00077 00078 00082 virtual ~QCPm3Param (void) {}; 00083 00084 00088 QCFloat getARepDevel (const int i) const { return aRepDevel[i]; } 00089 QCFloat getBRepDevel (const int i) const { return bRepDevel[i]; } 00090 QCFloat getCRepDevel (const int i) const { return cRepDevel[i]; } 00091 00092 00096 void readSetOfParameters (QCReader *reader); 00097 00098 00100 private: 00101 00105 static const string& getName (void) { return QCCommon::Pm3ParamStr; }; 00106 00107 00110 public: 00111 protected: 00112 00118 static const int NB_TERM_REP_DEVEL = 2; 00119 00126 QCFloat aRepDevel[NB_TERM_REP_DEVEL]; 00127 QCFloat bRepDevel[NB_TERM_REP_DEVEL]; 00128 QCFloat cRepDevel[NB_TERM_REP_DEVEL]; 00129 00130 private: 00131 00135 static const string A_GAUS1; 00136 static const string A_GAUS2; 00137 static const string B_GAUS1; 00138 static const string B_GAUS2; 00139 static const string C_GAUS1; 00140 static const string C_GAUS2; 00141 00142 }; 00143 00144 00148 extern ostream& 00149 operator << (ostream& out, const QCPm3Param& param); 00150 00151 00152 #endif // QC_PM3PARAM_H_