9 #ifndef BALL_MOLMEC_MMFF94_MMFF94PARAMETERS_H
10 #define BALL_MOLMEC_MMFF94_MMFF94PARAMETERS_H
16 #ifndef BALL_DATATYPE_HASHMAP_H
33 #define MMFF94_INVALID_VALUE 99.0
70 virtual bool setup_(
const std::vector<std::vector<String> >&) {
return true;};
109 virtual bool setup_(
const std::vector<std::vector<String> >&);
172 const std::vector<MMFF94AtomType>&
getAtomTypes()
const {
return data_;}
176 virtual bool setup_(
const std::vector<std::vector<String> >&);
240 const
StretchMap& getBondParameters()
const {
return parameters_;}
245 static double radii[];
246 static double electronegatives[];
250 virtual bool setup_(
const std::vector<std::vector<String> >&);
290 double& ka,
double& angle) const;
294 virtual
bool setup_(const std::vector<std::vector<
String> >&);
336 double& kba_ijk,
double& kba_kji) const;
347 virtual
bool setup_(const std::vector<std::vector<
String> >&);
393 double& v1,
double& v2,
double& v3) const;
397 virtual
bool setup_(const std::vector<std::vector<
String> >&);
443 virtual
bool setup_(const std::vector<std::vector<
String> >&);
496 bool assignParameters(
Position at1,
Position at2,
double& rij,
double& rij_7_,
double& eij) const;
500 virtual
bool setup_(const std::vector<std::vector<
String> >&);
506 mutable std::vector<
double> rs_;
509 mutable std::vector<
double> rij_;
511 mutable std::vector<
double> rij_7_;
513 mutable std::vector<
double> eij_;
515 mutable std::vector<
bool> calculated_;
556 double getPhi(
Index atom_type) const;
559 double getPBCI(
Index atom_type) const;
563 virtual
bool setup_(const std::vector<std::vector<
String> >&);
567 std::vector<
double> parameters_, phis_, pbcis_;
#define BALL_CREATE(name)
Size MMFF94_number_atom_types
hold the maximum number of MMFF94 atom types + 1 (wildcard)
Position getMMFF94Index(Position atom_type1, Position atom_type2)
bool readParameters(Parameters &p, const String §ion)
virtual bool setup_(const std::vector< std::vector< String > > &)
const MMFF94AtomTypeEquivalences * equiv_
Size number_expected_fields_
virtual void clear()
Clear method.
void setEquivalences(const MMFF94AtomTypeEquivalences &equi)
std::vector< String > names_
void clear()
Clear method.
MMFF94AtomTypeEquivalences(const MMFF94AtomTypeEquivalences &to_copy)
std::vector< bool > exists_
~MMFF94AtomTypeEquivalences()
std::vector< std::vector< Position > > equivalences_
virtual bool setup_(const std::vector< std::vector< String > > &)
MMFF94AtomTypeEquivalences()
Index getEquivalence(Position original, Position number) const
Class to store the values of an atom type from MMFFPROP.PAR.
bool valid
Is this a valid MMFF94 atom type?
Position aspec
atomic number;
Position val
number of bonds made to this atom type
bool sbmb
can have a delocalized single bond
bool pilp
has pi lone pair electrons
Position crd
necessary number of bonded neighbours
virtual bool setup_(const std::vector< std::vector< String > > &)
const std::vector< MMFF94AtomType > & getAtomTypes() const
std::vector< MMFF94AtomType > data_
MMFF94AtomTypes(const MMFF94AtomTypes &to_copy)
StretchMap buffered_parameters_
EmpiricalStretchMap empirical_parameters_
HashMap< Position, BondData > StretchMap
virtual bool setup_(const std::vector< std::vector< String > > &)
const EmpiricalStretchMap & getEmpiricalParameters() const
HashMap< Position, EmpiricalBondData > EmpiricalStretchMap
StretchMap parameters_
standard parameters
bool standard_bond_exists
double kb_sbmb
parameters for optinal single-bond–multiple bond cases (see MMFFPROP.PAR)
HashMap< Position, std::pair< double, double > > BendMap
Map with the force constant and reference angle.
HashMap< Position, std::pair< double, double > > StretchBendMap
Map with the force constant and reference angle.
HashMap< String, std::vector< double > > TorsionsMap
Map with the force constant and reference angle.
HashMap< String, double > PlaneMap
Map with the force constant.