6 #ifndef BALL_SCORING_COMPONENTS_PLP_H
7 #define BALL_SCORING_COMPONENTS_PLP_H
49 #define MMFF94_ES_ENABLED "enable ES"
52 #define MMFF94_VDW_ENABLED "enable VDW"
60 PLP(ForceField& force_field) throw();
63 PLP(const PLP& MMFF94_non_bonded) throw();
66 virtual ~PLP() throw();
69 const PLP& operator = (const PLP& anb) throw();
73 void setRotatableBonds(std::vector<Bond*>&
bonds);
81 static
Size getAtomType(const
Atom* atom);
84 void update(const std::vector<std::pair<
Atom*, Atom*> >& atom_vector);
87 virtual
void clear() throw();
90 bool operator == (const PLP& anb) throw();
93 bool setup(Options& options);
96 virtual
double updateEnergy() throw();
99 virtual
void updateForces() throw();
105 virtual
void update()
106 throw(Exception::TooManyErrors);
108 double getVDWEnergy() const;
110 double getESEnergy() const;
119 static
bool isNSp3(const Atom* at);
120 static
bool isSp3(const Atom* at);
132 void e1(
double& d,
double& e,
double& delta);
133 void e2(
double& d,
double& e,
double& delta);
135 std::vector<GhTorsion> ghtorsions_;
139 std::vector<NonBondedPairData> non_bonded_data_;
142 double vdw_cut_on_, vdw_cut_off_;
143 double es_cut_on_, es_cut_off_;
152 bool enable_es_switch_;
153 bool enable_vdw_switch_;
154 double es_d_on2_, es_d_off2_,
157 es_cc_, es_dc_, es_denom_, es_con_, es_cover3_, es_dover5_,
158 es_eadd_, es_eaddr_, es_const_, es_constr_;
160 std::vector<bool> dismiss_vector_;
162 std::vector<double> rotgrad_;
166 #endif // BALL_SCORING_COMPONENTS_PLP_H
#define BALL_CREATE(name)
std::vector< std::pair< Atom *, Atom * > > PairVector
BALL_EXPORT BondList bonds(const AtomContainer &fragment, bool selected_only=false)