lipophilic.h

Go to the documentation of this file.
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