00001 // $Id: slickEnergy.h,v 1.4 2006/05/21 18:15:28 anker Exp $ 00002 00003 #ifndef BALL_SCORING_FUNCTIONS_SLICKENERGY_H 00004 #define BALL_SCORING_FUNCTIONS_SLICKENERGY_H 00005 00006 #ifndef BALL_COMMON_H 00007 # include <BALL/common.h> 00008 #endif 00009 00010 #ifndef BALL_MOLMEC_COMMON_SCORING_FUNCTION_H 00011 # include <BALL/SCORING/COMMON/scoringFunction.h> 00012 #endif 00013 00014 #ifndef BALL_KERNEL_SYSTEM_H 00015 # include <BALL/KERNEL/system.h> 00016 #endif 00017 00018 #ifndef BALL_DATATYPE_HASHMAP_H 00019 # include <BALL/DATATYPE/hashMap.h> 00020 #endif 00021 00022 namespace BALL 00023 { 00027 class SLICKEnergy 00028 : public ScoringFunction 00029 { 00030 00031 public: 00032 00036 00039 struct Option 00040 { 00043 static const char* CONST; 00044 00047 static const char* CHPI; 00048 00051 static const char* HB; 00052 00055 static const char* VDW; 00056 00059 static const char* NONPOLAR; 00060 00063 static const char* POLAR; 00064 00065 }; 00066 00067 00070 struct Default 00071 { 00074 static const float CONST; 00075 00078 static const float CHPI; 00079 00082 static const float HB; 00083 00086 static const float VDW; 00087 00090 static const float NONPOLAR; 00091 00094 static const float POLAR; 00095 00096 }; 00097 00098 00099 00101 00104 00105 BALL_CREATE(SLICKEnergy) 00106 00107 00109 SLICKEnergy() 00110 ; 00111 00115 SLICKEnergy(Molecule& protein, Molecule& ligand) 00116 ; 00117 00120 SLICKEnergy(Molecule& protein, Molecule& ligand, 00121 const Options& options) 00122 ; 00123 00126 SLICKEnergy(const SLICKEnergy& slick) 00127 ; 00128 00131 virtual ~SLICKEnergy() 00132 ; 00133 00135 00138 00141 const SLICKEnergy& operator = (const SLICKEnergy& slick) 00142 ; 00143 00146 virtual void clear() 00147 ; 00148 00150 00153 00156 virtual bool specificSetup() 00157 throw(); 00158 00160 00163 00166 double getCHPIScore() const 00167 ; 00168 00171 double getHydrogenBondScore() const 00172 ; 00173 00176 double getVDWScore() const 00177 ; 00178 00181 double getPolarSolvationScore() const 00182 ; 00183 00186 double getNonpolarSolvationScore() const 00187 ; 00189 00190 00191 private: 00192 00193 /*_ 00194 */ 00195 void registerComponents_() 00196 ; 00197 00198 }; 00199 00200 } // namespace BALL 00201 00202 #endif // BALL_SCORING_FUNCTIONS_SLICKENERGY_H