Scine::Swoose  2.1.0
This is the SCINE module Swoose.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
GaffPotentialTermsGenerator.h
Go to the documentation of this file.
1 
8 #ifndef MOLECULARMECHANICS_GAFFPOTENTIALTERMSGENERATOR_H
9 #define MOLECULARMECHANICS_GAFFPOTENTIALTERMSGENERATOR_H
10 
11 #include "../Interactions/AngleTerm.h"
12 #include "../Interactions/BondedTerm.h"
13 #include "../Interactions/DihedralTerm.h"
14 #include "../Interactions/ImproperDihedralTerm.h"
15 #include <vector>
16 
17 namespace Scine {
18 
19 namespace Core {
20 class Log;
21 } // namespace Core
22 
23 namespace MolecularMechanics {
24 class IndexedStructuralTopology;
25 class AtomTypesHolder;
26 class GaffParameters;
27 
36  public:
45  GaffPotentialTermsGenerator(int nAtoms, const AtomTypesHolder& atomTypes, const IndexedStructuralTopology& topology,
46  const GaffParameters& parameters, const Utils::PositionCollection& positions, Core::Log& log);
47 
49  std::vector<BondedTerm> getBondedTerms();
51  std::vector<AngleTerm> getAngleTerms();
53  std::vector<DihedralTerm> getDihedralTerms();
55  std::vector<DihedralTerm> getImproperDihedralTerms();
56 
57  private:
58  int nAtoms_;
59  const AtomTypesHolder& atomTypesHolder_;
60  const IndexedStructuralTopology& topology_;
61  const GaffParameters& parameters_;
62  const Utils::PositionCollection& positions_;
63  // The logger
64  Core::Log& log_;
65 };
66 
67 } // namespace MolecularMechanics
68 } // namespace Scine
69 
70 #endif // MOLECULARMECHANICS_GAFFPOTENTIALTERMSGENERATOR_H
Class containing the structural information about the connectivity of a system.
Definition: IndexedStructuralTopology.h:25
Class containing the parameters for the GAFF model obtained after parsing a GAFF parameter file...
Definition: GaffParameters.h:38
GaffPotentialTermsGenerator(int nAtoms, const AtomTypesHolder &atomTypes, const IndexedStructuralTopology &topology, const GaffParameters &parameters, const Utils::PositionCollection &positions, Core::Log &log)
Constructor.
Definition: GaffPotentialTermsGenerator.cpp:19
This class creates the actual potential terms that are employed during a GAFF molecular mechanics cal...
Definition: GaffPotentialTermsGenerator.h:35
std::vector< AngleTerm > getAngleTerms()
Getter for angle terms.
Definition: GaffPotentialTermsGenerator.cpp:30
Class containing the MM atom types of the atoms in a molecular system.
Definition: AtomTypesHolder.h:21
std::vector< DihedralTerm > getDihedralTerms()
Getter for dihedral terms.
Definition: GaffPotentialTermsGenerator.cpp:34
std::vector< BondedTerm > getBondedTerms()
Getter for bonded terms.
Definition: GaffPotentialTermsGenerator.cpp:26
std::vector< DihedralTerm > getImproperDihedralTerms()
Getter for improper dihedral terms. In GAFF, an improper dihedral is treated as a normal dihedral...
Definition: GaffPotentialTermsGenerator.cpp:65