00001
00002
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
00143
00144
00145 double r1_offset_;
00146
00147
00148
00149
00150 double r2_offset_;
00151
00153 bool write_interactions_file_;
00154
00156 Size verbosity_;
00157
00158 };
00159
00160 }
00161
00162 #endif // BALL_SCORING_COMPONENTS_LIPOPHILIC_H