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_AM1PARAM_H_ 00021 #define QC_AM1PARAM_H_ 00022 00023 00024 #include <iostream> 00025 #include <string> 00026 00027 #include "QCCommon.hpp" 00028 #include "QCMndoParam.hpp" 00029 00030 00031 template <class TPParam> class QCAm1T; 00032 template <class TPModel, class TPSystem> class QCManager; 00033 00034 00035 00041 class QCAm1Param : public QCMndoParam 00042 { 00043 00044 template <class TPParam> 00045 friend class QCAm1T; 00046 00047 friend class QCReader; 00048 00049 template <class TPModel, class TPSystem> 00050 friend class QCManager; 00051 00052 friend ostream& operator << (ostream& out, const QCAm1Param& param); 00053 00055 public: 00056 00057 00059 protected: 00060 00064 QCAm1Param (void); 00065 00069 virtual ~QCAm1Param (void) {}; 00070 00071 00075 QCFloat getKRepDevel (const int i) const { return kRepDevel[i]; }; 00076 QCFloat getLRepDevel (const int i) const { return lRepDevel[i]; }; 00077 QCFloat getMRepDevel (const int i) const { return mRepDevel[i]; }; 00078 00079 00083 void readSetOfParameters (QCReader *reader); 00084 00085 00087 private: 00088 00092 static const string& getName (void) { return QCCommon::Am1ParamStr; }; 00093 00094 00096 public: 00097 protected: 00098 00099 static const int NB_TERM_REP_DEVEL = 4; 00103 QCFloat kRepDevel[NB_TERM_REP_DEVEL]; 00104 QCFloat lRepDevel[NB_TERM_REP_DEVEL]; 00105 QCFloat mRepDevel[NB_TERM_REP_DEVEL]; 00106 00107 private: 00108 00112 static const string K_GAUS1; 00113 static const string K_GAUS2; 00114 static const string K_GAUS3; 00115 static const string K_GAUS4; 00116 static const string L_GAUS1; 00117 static const string L_GAUS2; 00118 static const string L_GAUS3; 00119 static const string L_GAUS4; 00120 static const string M_GAUS1; 00121 static const string M_GAUS2; 00122 static const string M_GAUS3; 00123 static const string M_GAUS4; 00124 00125 }; 00126 00127 00128 00132 extern ostream& 00133 operator << (ostream& out, const QCAm1Param& param); 00134 00135 00136 #endif // QC_AM1PARAM_H_