Loading...
Searching...
No Matches
hydrogenBondSlick.h
Go to the documentation of this file.
// $Id: HydrogenBondSlick.h,v 1.3 2006/05/17 12:49:15 anker Exp $
// Molecular Mechanics: Fresno force field, hydrogen bond component
#ifndef BALL_SCORING_COMPONENTS_HYDROGENBONDSLICK_H
#define BALL_SCORING_COMPONENTS_HYDROGENBONDSLICK_H
#include <BALL/SCORING/COMMON/scoringComponent.h>
#include <BALL/SCORING/COMMON/scoringFunction.h>
#include <BALL/DATATYPE/options.h>
namespace BALL
{
class HydrogenBondSlick
: public ScoringComponent
{
public:
struct Option
{
static const char* HB_IDEAL_LENGTH;
static const char* HB_IDEAL_ANGLE;
static const char* HB_DIST_LOWER;
static const char* HB_DIST_UPPER;
static const char* HB_ANG_LOWER;
static const char* HB_ANG_UPPER;
static const char* VERBOSITY;
};
struct Default
{
static const float HB_IDEAL_LENGTH;
static const float HB_IDEAL_ANGLE;
static const float HB_DIST_LOWER;
static const float HB_DIST_UPPER;
static const float HB_ANG_LOWER;
static const float HB_ANG_UPPER;
static const Size VERBOSITY;
};
BALL_CREATE(HydrogenBondSlick)
HydrogenBondSlick()
;
HydrogenBondSlick(ScoringFunction& sf)
;
HydrogenBondSlick(ScoringComponent& sc)
;
HydrogenBondSlick(const HydrogenBondSlick& fhb)
;
virtual ~HydrogenBondSlick()
;
const HydrogenBondSlick& operator = (const HydrogenBondSlick& fhb)
;
virtual void clear();
bool operator == (const HydrogenBondSlick& fhb) const
;
virtual bool setup();
void update(const vector<std::pair<Atom*, Atom*> >& /* pair_vector */);
virtual double updateScore();
private:
/*_ This vector contains all possible hydrogen bonds. It is created
* during the setup process. Pairs are always of the form (hydrogen,
* acceptor). The donor can be found easily by following the only bond
* of the hydrogen.
*/
std::vector< std::pair<const Atom*, const Atom*> > possible_hydrogen_bonds_;
/*_ A hash map containing all hydrogens and bools indicating whether
* this hydrigen was already used for scoring a hydrogen bond. At the
* moment we use the first hydrogen bond we find and hope that this
* will indeed be the only one contributing to the energy score. This
* HashMap will only be used by updateEnergy() but we build it in
* setup().
*/
HashMap<const Atom*, bool> already_used_;
/*_
*/
double factor_;
/*_
*/
double h_bond_distance_lower_;
/*_
*/
double h_bond_distance_upper_;
/*_
*/
double h_bond_angle_lower_;
/*_
*/
double h_bond_angle_upper_;
/*_ The ideal hbond length.
*/
double ideal_hbond_length_;
/*_ The ideal hbond angle.
*/
double ideal_hbond_angle_;
/*_
*/
HashMap<const Atom*, Size> rec_fresno_types_;
HashMap<const Atom*, Size> lig_fresno_types_;
};
} // namespace BALL
#endif // BALL_SCORING_COMPONENTS_HYDROGENBONDSLICK_H
BALL::Atom
Definition atom.h:90
BALL::HashMap
HashMap class based on the STL map (containing serveral convenience functions).
Definition hashMap.h:74
BALL::HydrogenBondSlick::clear
virtual void clear()
BALL::HydrogenBondSlick::updateScore
virtual double updateScore()
BALL::HydrogenBondSlick::HydrogenBondSlick
HydrogenBondSlick()
BALL::HydrogenBondSlick::update
void update(const vector< std::pair< Atom *, Atom * > > &)
BALL::HydrogenBondSlick::setup
virtual bool setup()
BALL::ScoringComponent::ScoringComponent
ScoringComponent()
BALL::ScoringFunction
Definition scoringFunction.h:29
BALL_CREATE
#define BALL_CREATE(name)
Definition create.h:62
BALL
Definition constants.h:13
BALL::Size
BALL_SIZE_TYPE Size
Definition COMMON/global.h:114
std
STL namespace.
options.h
scoringComponent.h
scoringFunction.h
BALL::HydrogenBondSlick::Default
Definition hydrogenBondSlick.h:58
BALL::HydrogenBondSlick::Default::HB_DIST_UPPER
static const float HB_DIST_UPPER
Definition hydrogenBondSlick.h:73
BALL::HydrogenBondSlick::Default::HB_IDEAL_ANGLE
static const float HB_IDEAL_ANGLE
Definition hydrogenBondSlick.h:65
BALL::HydrogenBondSlick::Default::HB_ANG_LOWER
static const float HB_ANG_LOWER
Definition hydrogenBondSlick.h:77
BALL::HydrogenBondSlick::Default::HB_ANG_UPPER
static const float HB_ANG_UPPER
Definition hydrogenBondSlick.h:81
BALL::HydrogenBondSlick::Default::HB_DIST_LOWER
static const float HB_DIST_LOWER
Definition hydrogenBondSlick.h:69
BALL::HydrogenBondSlick::Default::HB_IDEAL_LENGTH
static const float HB_IDEAL_LENGTH
Definition hydrogenBondSlick.h:61
BALL::HydrogenBondSlick::Default::VERBOSITY
static const Size VERBOSITY
Definition hydrogenBondSlick.h:85
BALL::HydrogenBondSlick::Option
Definition hydrogenBondSlick.h:25
BALL::HydrogenBondSlick::Option::HB_DIST_UPPER
static const char * HB_DIST_UPPER
Definition hydrogenBondSlick.h:40
BALL::HydrogenBondSlick::Option::HB_IDEAL_LENGTH
static const char * HB_IDEAL_LENGTH
Definition hydrogenBondSlick.h:28
BALL::HydrogenBondSlick::Option::VERBOSITY
static const char * VERBOSITY
Definition hydrogenBondSlick.h:52
BALL::HydrogenBondSlick::Option::HB_IDEAL_ANGLE
static const char * HB_IDEAL_ANGLE
Definition hydrogenBondSlick.h:32
BALL::HydrogenBondSlick::Option::HB_ANG_LOWER
static const char * HB_ANG_LOWER
Definition hydrogenBondSlick.h:44
BALL::HydrogenBondSlick::Option::HB_DIST_LOWER
static const char * HB_DIST_LOWER
Definition hydrogenBondSlick.h:36
BALL::HydrogenBondSlick::Option::HB_ANG_UPPER
static const char * HB_ANG_UPPER
Definition hydrogenBondSlick.h:48