8 #ifndef MOLECULARMECHANICS_POTENTIALTERMSHELPER_H
9 #define MOLECULARMECHANICS_POTENTIALTERMSHELPER_H
14 #include <Eigen/Dense>
18 namespace MolecularMechanics {
19 class IndexedStructuralTopology;
20 class AtomTypesHolder;
23 namespace PotentialTermsHelper {
33 Eigen::MatrixXi getExclusionTypeMatrix(
const IndexedStructuralTopology& topology,
int nAtoms);
42 std::vector<BondedTerm> getBondedTerms(
const IndexedStructuralTopology& topology,
const MMParameters& parameters,
43 const AtomTypesHolder& atomTypesHolder);
52 std::vector<AngleTerm> getAngleTerms(
const IndexedStructuralTopology& topology,
const MMParameters& parameters,
53 const AtomTypesHolder& atomTypesHolder);
66 std::vector<ElectrostaticTerm>
67 getElectrostaticTerms(
bool applyCutoff, std::shared_ptr<double> cutoffRadius,
double scalingFactorForOneFourTerms,
68 const Eigen::MatrixXi& exclusionTypeMatrix,
const Utils::PositionCollection& positions);
74 #endif // MOLECULARMECHANICS_POTENTIALTERMSHELPER_H