Scine::Swoose  2.1.0
This is the SCINE module Swoose.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
IndexedStructuralTopologyCreator.h
Go to the documentation of this file.
1 
8 #ifndef MOLECULARMECHANICS_INDEXEDSTRUCTURALTOPOLOGYCREATOR_H
9 #define MOLECULARMECHANICS_INDEXEDSTRUCTURALTOPOLOGYCREATOR_H
10 
12 #include <list>
13 #include <set>
14 #include <vector>
15 
16 namespace Scine {
17 
18 namespace MolecularMechanics {
19 class IndexedStructuralTopology;
20 
29  public:
31  explicit IndexedStructuralTopologyCreator(const std::vector<std::list<int>>& listsOfNeighbors);
32 
37  const Utils::AtomCollection& structure) const;
38 
39  private:
40  void addBond(IndexedStructuralTopology& topo, int a1, int a2, std::set<std::pair<int, int>>& excludedNB) const;
41  void addAngle(IndexedStructuralTopology& topo, int a1, int a2, int a3, std::set<std::pair<int, int>>& excludedNB) const;
42  void addDihedral(IndexedStructuralTopology& topo, int a1, int a2, int a3, int a4, std::set<std::pair<int, int>>& scaledNB) const;
43  void addImproperDihedral(IndexedStructuralTopology& topo, int central, int a2, int a3, int a4) const;
44  void addNonBondedExclusions(IndexedStructuralTopology& topo, const std::set<std::pair<int, int>>& excludedNB,
45  std::set<std::pair<int, int>>& scaledNB) const;
46  void addHydrogenBond(IndexedStructuralTopology& topo, int a1, int a2, int a3) const;
47 
48  int nAtoms_;
49  std::vector<std::list<int>> listsOfNeighbors_;
50 };
51 
52 } // namespace MolecularMechanics
53 } // namespace Scine
54 
55 #endif // MOLECULARMECHANICS_INDEXEDSTRUCTURALTOPOLOGYCREATOR_H
void addHydrogenBondsToIndexedStructuralTopology(IndexedStructuralTopology &topology, const Utils::AtomCollection &structure) const
Function adding hydrogen bonds to the IndexedStructuralTopology that is given as an argument...
Definition: IndexedStructuralTopologyCreator.cpp:107
Class containing the structural information about the connectivity of a system.
Definition: IndexedStructuralTopology.h:25
IndexedStructuralTopology calculateIndexedStructuralTopology() const
Function generating an IndexedStructuralTopology and returning it.
Definition: IndexedStructuralTopologyCreator.cpp:19
Class that creates an IndexedStructuralTopology based on the connectivity of a molecular system...
Definition: IndexedStructuralTopologyCreator.h:28
IndexedStructuralTopologyCreator(const std::vector< std::list< int >> &listsOfNeighbors)
Constructor taking as parameter a list of neighbors for each atom.
Definition: IndexedStructuralTopologyCreator.cpp:15