Scine::Swoose  1.0.0
This is the SCINE module Swoose.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
PotentialTermsHelper.h
Go to the documentation of this file.
1 
8 #ifndef MOLECULARMECHANICS_POTENTIALTERMSHELPER_H
9 #define MOLECULARMECHANICS_POTENTIALTERMSHELPER_H
10 
11 #include "Interactions/AngleTerm.h"
14 #include <Eigen/Dense>
15 #include <vector>
16 
17 namespace Scine {
18 namespace MolecularMechanics {
19 class IndexedStructuralTopology;
20 class AtomTypesHolder;
21 class MMParameters;
22 
23 namespace PotentialTermsHelper {
24 
33 Eigen::MatrixXi getExclusionTypeMatrix(const IndexedStructuralTopology& topology, int nAtoms);
34 
42 std::vector<BondedTerm> getBondedTerms(const IndexedStructuralTopology& topology, const MMParameters& parameters,
43  const AtomTypesHolder& atomTypesHolder);
44 
52 std::vector<AngleTerm> getAngleTerms(const IndexedStructuralTopology& topology, const MMParameters& parameters,
53  const AtomTypesHolder& atomTypesHolder);
54 
66 std::vector<ElectrostaticTerm>
67 getElectrostaticTerms(bool applyCutoff, std::shared_ptr<double> cutoffRadius, double scalingFactorForOneFourTerms,
68  const Eigen::MatrixXi& exclusionTypeMatrix, const Utils::PositionCollection& positions);
69 
70 } // namespace PotentialTermsHelper
71 } // namespace MolecularMechanics
72 } // namespace Scine
73 
74 #endif // MOLECULARMECHANICS_POTENTIALTERMSHELPER_H