buriedPolar.h

Go to the documentation of this file.
00001 // $Id: buriedPolar.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_FRESNOBURIEDPOLAR_H
00005 #define BALL_SCORING_COMPONENTS_FRESNOBURIEDPOLAR_H
00006 
00007 #include <BALL/SCORING/COMMON/scoringComponent.h>
00008 
00009 namespace BALL
00010 {
00011 
00015   class BuriedPolar
00016     : public ScoringComponent
00017   {
00018 
00019     public:
00020 
00023     struct Option
00024     {
00025 
00028       static const char* BP_R1_OFFSET;
00029 
00032       static const char* BP_R2_OFFSET;
00033 
00036       static const char* CREATE_INTERACTIONS_FILE;
00037 
00040       static const char* VERBOSITY;
00041 
00042     };
00043 
00046     struct Default
00047     {
00048 
00051       static const float BP_R1_OFFSET;
00052 
00055       static const float BP_R2_OFFSET;
00056 
00059       static const bool CREATE_INTERACTIONS_FILE;
00060 
00063       static const Size VERBOSITY;
00064 
00065     };
00066 
00067 
00068 
00072 
00075     BuriedPolar()
00076       ;
00077 
00080     BuriedPolar(ScoringFunction& sf)
00081       ;
00082 
00085     BuriedPolar(const BuriedPolar& bp)
00086       ;
00087 
00090     virtual ~BuriedPolar()
00091       ;
00092 
00094 
00097 
00100     const BuriedPolar& operator = (const BuriedPolar& bp)
00101       ;
00102 
00105     virtual void clear()
00106       ;
00107 
00109 
00112 
00113     bool operator == (const BuriedPolar& bp) const
00114       ;
00115 
00117 
00120 
00123     virtual bool setup()
00124       ;
00125 
00127 
00130 
00133     virtual double calculateScore()
00134       ;
00135 
00137 
00138     private:
00139 
00140     /*_
00141     */
00142     std::vector< std::pair<const Atom*, const Atom*> > possible_buried_polar_interactions_;
00143 
00144     /*_
00145     */
00146     double factor_;
00147 
00148     /*_ This length will be added to the sum of the van-der-Waals radii for
00149         obtaining the lower bound of the scoring function.
00150     */
00151     double r1_offset_;
00152 
00153     /*_ The upper bound for the scoring function is obtained by adding a
00154         constant to the lower bound.
00155     */
00156     double r2_offset_;
00157 
00158     // The following two variables are only necessary if the buried polar
00159     // component is meant to assign its own radii. They are unused at the
00160     // moment.
00161 
00163     Molecule* bp_receptor_;
00164 
00166     Molecule* bp_ligand_;
00167 
00169     bool write_interactions_file_;
00170 
00172     Size verbosity_;
00173 
00174   };
00175 
00176 } // namespace BALL
00177 
00178 #endif // BALL_SCORING_COMPONENTS_FRESNOBURIEDPOLAR_H