24 #ifndef BALL_SCORING_COMPONENTS_PLP_H
25 #define BALL_SCORING_COMPONENTS_PLP_H
67 #define MMFF94_ES_ENABLED "enable ES"
70 #define MMFF94_VDW_ENABLED "enable VDW"
78 PLP(ForceField& force_field) throw();
81 PLP(const PLP& MMFF94_non_bonded) throw();
84 virtual ~PLP() throw();
87 const PLP& operator = (const PLP& anb) throw();
91 void setRotatableBonds(std::vector<Bond*>&
bonds);
99 static
Size getAtomType(const
Atom* atom);
102 void update(const std::vector<std::pair<
Atom*, Atom*> >& atom_vector);
105 virtual
void clear() throw();
108 bool operator == (const PLP& anb) throw();
111 bool setup(Options& options);
114 virtual
double updateEnergy() throw();
117 virtual
void updateForces() throw();
123 virtual
void update()
124 throw(Exception::TooManyErrors);
126 double getVDWEnergy() const;
128 double getESEnergy() const;
137 static
bool isNSp3(const Atom* at);
138 static
bool isSp3(const Atom* at);
150 void e1(
double& d,
double& e,
double& delta);
151 void e2(
double& d,
double& e,
double& delta);
153 std::vector<GhTorsion> ghtorsions_;
157 std::vector<NonBondedPairData> non_bonded_data_;
160 double vdw_cut_on_, vdw_cut_off_;
161 double es_cut_on_, es_cut_off_;
170 bool enable_es_switch_;
171 bool enable_vdw_switch_;
172 double es_d_on2_, es_d_off2_,
175 es_cc_, es_dc_, es_denom_, es_con_, es_cover3_, es_dover5_,
176 es_eadd_, es_eaddr_, es_const_, es_constr_;
178 std::vector<bool> dismiss_vector_;
180 std::vector<double> rotgrad_;
184 #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)