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 #include "QCTable.hpp" 00021 00022 00023 00027 const int QCTable::_H_ = 1; 00028 const int QCTable::_Be_ = 4; 00029 const int QCTable::_B_ = 5; 00030 const int QCTable::_C_ = 6; 00031 const int QCTable::_N_ = 7; 00032 const int QCTable::_O_ = 8; 00033 const int QCTable::_F_ = 9; 00034 const int QCTable::_Mg_ = 12; 00035 const int QCTable::_Al_ = 13; 00036 const int QCTable::_Si_ = 14; 00037 const int QCTable::_P_ = 15; 00038 const int QCTable::_S_ = 16; 00039 const int QCTable::_Cl_ = 17; 00040 const int QCTable::_Zn_ = 30; 00041 const int QCTable::_Ga_ = 31; 00042 const int QCTable::_Ge_ = 32; 00043 const int QCTable::_As_ = 33; 00044 const int QCTable::_Se_ = 34; 00045 const int QCTable::_Br_ = 35; 00046 const int QCTable::_Cd_ = 48; 00047 const int QCTable::_In_ = 49; 00048 const int QCTable::_Sn_ = 50; 00049 const int QCTable::_Sb_ = 51; 00050 const int QCTable::_Te_ = 52; 00051 const int QCTable::_I_ = 53; 00052 const int QCTable::_Hg_ = 80; 00053 const int QCTable::_Tl_ = 81; 00054 const int QCTable::_Pb_ = 82; 00055 const int QCTable::_Bi_ = 83; 00056 00057 const int QCTable::_UNKNOWN_ = -1; 00058 00059 00060 const string QCTable::HYDROGEN ("H"); 00061 const string QCTable::BERILIUM ("Be"); 00062 const string QCTable::BORON ("B"); 00063 const string QCTable::CARBON ("C"); 00064 const string QCTable::NITROGEN ("N"); 00065 const string QCTable::OXYGEN ("O"); 00066 const string QCTable::FLUORINE ("F"); 00067 const string QCTable::MAGNESIUM ("Mg"); 00068 const string QCTable::ALUMINIUM ("Al"); 00069 const string QCTable::SILICON ("Si"); 00070 const string QCTable::PHOSPHORUS ("P"); 00071 const string QCTable::SULFUR ("S"); 00072 const string QCTable::CHLORINE ("Cl"); 00073 const string QCTable::ZINC ("Zn"); 00074 const string QCTable::GALLIUM ("Ga"); 00075 const string QCTable::GERMANIUM ("Ge"); 00076 const string QCTable::ARSENIC ("As"); 00077 const string QCTable::SELENIUM ("Se"); 00078 const string QCTable::BROMINE ("Br"); 00079 const string QCTable::CADMIUM ("Cd"); 00080 const string QCTable::INDIUM ("In"); 00081 const string QCTable::TIN ("Sn"); 00082 const string QCTable::ANTIMONY ("Sb"); 00083 const string QCTable::TELLURIUM ("Te"); 00084 const string QCTable::IODINE ("I"); 00085 const string QCTable::MERCURY ("Hg"); 00086 const string QCTable::THALLIUM ("Tl"); 00087 const string QCTable::LEAD ("Pb"); 00088 const string QCTable::BISMUTH ("Bi"); 00089 00090 const string QCTable::UNKNOWN ("?"); 00091 00092 00096 QCTable::QCTable (void) : 00097 type(), name() 00098 { 00099 type[QCTable::HYDROGEN] = QCTable::_H_; 00100 type[QCTable::BERILIUM] = QCTable::_Be_; 00101 type[QCTable::BORON] = QCTable::_B_; 00102 type[QCTable::CARBON] = QCTable::_C_; 00103 type[QCTable::NITROGEN] = QCTable::_N_; 00104 type[QCTable::OXYGEN] = QCTable::_O_; 00105 type[QCTable::FLUORINE] = QCTable::_F_; 00106 type[QCTable::MAGNESIUM] = QCTable::_Mg_; 00107 type[QCTable::ALUMINIUM] = QCTable::_Al_; 00108 type[QCTable::SILICON] = QCTable::_Si_; 00109 type[QCTable::PHOSPHORUS] = QCTable::_P_; 00110 type[QCTable::SULFUR] = QCTable::_S_; 00111 type[QCTable::CHLORINE] = QCTable::_Cl_; 00112 type[QCTable::ZINC] = QCTable::_Zn_; 00113 type[QCTable::GALLIUM] = QCTable::_Ga_; 00114 type[QCTable::GERMANIUM] = QCTable::_Ge_; 00115 type[QCTable::ARSENIC] = QCTable::_As_; 00116 type[QCTable::SELENIUM] = QCTable::_Se_; 00117 type[QCTable::BROMINE] = QCTable::_Br_; 00118 type[QCTable::CADMIUM] = QCTable::_Cd_; 00119 type[QCTable::INDIUM] = QCTable::_In_; 00120 type[QCTable::TIN] = QCTable::_Sn_; 00121 type[QCTable::ANTIMONY] = QCTable::_Sb_; 00122 type[QCTable::TELLURIUM] = QCTable::_Te_; 00123 type[QCTable::IODINE] = QCTable::_I_; 00124 type[QCTable::MERCURY] = QCTable::_Hg_; 00125 type[QCTable::THALLIUM] = QCTable::_Tl_; 00126 type[QCTable::LEAD] = QCTable::_Pb_; 00127 type[QCTable::BISMUTH] = QCTable::_Bi_; 00128 00129 type[QCTable::UNKNOWN] = QCTable::_UNKNOWN_; 00130 00131 map<string, int>::iterator iter; 00132 for (iter = type.begin(); iter != type.end(); iter++) { 00133 name[iter->second] = iter->first; 00134 } 00135 00136 } 00137 00138 00142 const QCTable table; 00143