00001 // $Id: slickScore.h,v 1.2 2006/05/21 18:15:29 anker Exp $ 00002 00003 #ifndef BALL_SCORING_FUNCTIONS_SLICKSCORE_H 00004 #define BALL_SCORING_FUNCTIONS_SLICKSCORE_H 00005 00006 #ifndef BALL_COMMON_H 00007 # include <BALL/common.h> 00008 #endif 00009 00010 #ifndef BALL_MOLMEC_COMMON_FORCEFIELD_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 SLICKScore 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* POLAR; 00060 00061 }; 00062 00063 00066 struct Default 00067 { 00068 00071 static const float CONST; 00072 00075 static const float CHPI; 00076 00079 static const float HB; 00080 00083 static const float VDW; 00084 00087 static const float POLAR; 00088 00089 }; 00090 00091 00092 00094 00097 00098 BALL_CREATE(SLICKScore) 00099 00100 00102 SLICKScore() 00103 ; 00104 00108 SLICKScore(Molecule& protein, Molecule& ligand) 00109 ; 00110 00113 SLICKScore(Molecule& protein, Molecule& ligand, 00114 const Options& options) 00115 ; 00116 00119 SLICKScore(const SLICKScore& slick) 00120 ; 00121 00124 virtual ~SLICKScore() 00125 ; 00126 00128 00131 00134 const SLICKScore& operator = (const SLICKScore& slick) 00135 ; 00136 00139 virtual void clear() 00140 ; 00141 00143 00146 00149 virtual bool specificSetup() 00150 throw(); 00151 00153 00156 00159 double getVDWScore() const 00160 ; 00161 00164 double getCHPIScore() const 00165 ; 00166 00169 double getPolarSolvationScore() const 00170 ; 00171 00174 double getNonpolarSolvationScore() const 00175 ; 00176 00179 double getHydrogenBondScore() const 00180 ; 00182 00183 00184 private: 00185 00186 /*_ 00187 */ 00188 void registerComponents_() 00189 ; 00190 00191 }; 00192 00193 } // namespace BALL 00194 00195 #endif // BALL_SCORING_FUNCTIONS_SLICKSCORE_H