00001 // $Id: lipophilic.h,v 1.3 2006/05/21 17:38:39 anker Exp $ 00002 // Molecular Mechanics: Fresno force field, lipophilic component 00003 00004 #ifndef BALL_SCORING_COMPONENTS_LIPOPHILIC_H 00005 #define BALL_SCORING_COMPONENTS_LIPOPHILIC_H 00006 00007 #include <BALL/SCORING/COMMON/scoringComponent.h> 00008 00009 namespace BALL 00010 { 00011 00015 class Lipophilic 00016 : public ScoringComponent 00017 { 00018 00019 public: 00020 00023 struct Option 00024 { 00027 static const char* LIPO_R1_OFFSET; 00028 00031 static const char* LIPO_R2_OFFSET; 00032 00035 static const char* CREATE_INTERACTIONS_FILE; 00036 00039 static const char* VERBOSITY; 00040 00041 }; 00042 00045 struct Default 00046 { 00047 00050 static const float LIPO_R1_OFFSET; 00051 00054 static const float LIPO_R2_OFFSET; 00055 00058 static const bool CREATE_INTERACTIONS_FILE; 00059 00062 static const Size VERBOSITY; 00063 00064 }; 00065 00066 00070 00073 Lipophilic() 00074 ; 00075 00078 Lipophilic(ScoringFunction& sf) 00079 ; 00080 00083 Lipophilic(const Lipophilic& li) 00084 ; 00085 00088 virtual ~Lipophilic() 00089 ; 00090 00092 00095 00098 const Lipophilic& operator = (const Lipophilic& li) 00099 ; 00100 00103 virtual void clear() 00104 ; 00105 00107 00110 00111 bool operator == (const Lipophilic& li) const 00112 ; 00113 00115 00118 00121 virtual bool setup() 00122 ; 00123 00125 00128 00131 virtual double calculateScore() 00132 ; 00133 00135 00136 private: 00137 00138 /*_ 00139 */ 00140 std::vector< std::pair<const Atom*, const Atom*> > possible_lipophilic_interactions_; 00141 00142 /*_ This length will be added to the sum of the van-der-Waals radii for 00143 obtaining the lower bound of the scoring function. 00144 */ 00145 double r1_offset_; 00146 00147 /*_ The upper bound for the scoring function is obtained by adding a 00148 constant to the lower bound. 00149 */ 00150 double r2_offset_; 00151 00153 bool write_interactions_file_; 00154 00156 Size verbosity_; 00157 00158 }; 00159 00160 } // namespace BALL 00161 00162 #endif // BALL_SCORING_COMPONENTS_LIPOPHILIC_H