Scine::Swoose  2.1.0
This is the SCINE module Swoose.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
IndexedStructuralTopology.h
Go to the documentation of this file.
1 
8 #ifndef MOLECULARMECHANICS_INDEXEDSTRUCTURALTOPOLOGY_H
9 #define MOLECULARMECHANICS_INDEXEDSTRUCTURALTOPOLOGY_H
10 
12 #include <vector>
13 
14 namespace Scine {
15 namespace MolecularMechanics {
16 
26  public:
28  void addBond(int a1, int a2);
30  void addAngle(int a1, int a2, int a3);
32  void addDihedral(int a1, int a2, int a3, int a4);
34  void addImproperDihedral(int central, int a2, int a3, int a4);
36  void addExcludedNonBonded(int a1, int a2);
38  void addScaledNonBonded(int a1, int a2);
40  void addHydrogenBond(int a1, int a2, int a3);
41  void clearHydrogenBonds();
42 
46  const std::vector<IndexedStructuralBond>& getBondContainer() const;
47  std::vector<IndexedStructuralBond>& getBondContainer();
48  const std::vector<IndexedStructuralAngle>& getAngleContainer() const;
49  std::vector<IndexedStructuralAngle>& getAngleContainer();
50  const std::vector<IndexedStructuralDihedral>& getDihedralContainer() const;
51  std::vector<IndexedStructuralDihedral>& getDihedralContainer();
52  const std::vector<IndexedStructuralImproperDihedral>& getImproperDihedralContainer() const;
53  std::vector<IndexedStructuralImproperDihedral>& getImproperDihedralContainer();
54  const std::vector<StructuralExcludedNonBonded>& getExcludedNonBondedContainer() const;
55  const std::vector<IndexedStructuralScaledNonBonded>& getScaledNonBondedContainer() const;
56  const std::vector<IndexedStructuralHydrogenBond>& getHydrogenBondContainer() const;
59  private:
60  std::vector<IndexedStructuralBond> bonds_;
61  std::vector<IndexedStructuralAngle> angles_;
62  std::vector<IndexedStructuralDihedral> dihedrals_;
63  std::vector<IndexedStructuralImproperDihedral> improperDihedrals_;
64  std::vector<StructuralExcludedNonBonded> excludedNB_;
65  std::vector<IndexedStructuralScaledNonBonded> scaledNB_;
66  std::vector<IndexedStructuralHydrogenBond> hydrogenBonds_;
67 };
68 
69 } // namespace MolecularMechanics
70 } // namespace Scine
71 
72 #endif // MOLECULARMECHANICS_INDEXEDSTRUCTURALTOPOLOGY_H
Class containing the structural information about the connectivity of a system.
Definition: IndexedStructuralTopology.h:25
void addScaledNonBonded(int a1, int a2)
Adds a scaled excluded non-bonded interaction. Performs no check whether it already exists...
Definition: IndexedStructuralTopology.cpp:33
void addAngle(int a1, int a2, int a3)
Adds a angle. Performs no check whether it already exists.
Definition: IndexedStructuralTopology.cpp:17
void addBond(int a1, int a2)
Adds a bond. Performs no check whether it already exists.
Definition: IndexedStructuralTopology.cpp:13
void addImproperDihedral(int central, int a2, int a3, int a4)
Adds an improper dihedral. Performs no check whether it already exists.
Definition: IndexedStructuralTopology.cpp:25
void addExcludedNonBonded(int a1, int a2)
Adds an excluded non-bonded interaction. Performs no check whether it already exists.
Definition: IndexedStructuralTopology.cpp:29
void addHydrogenBond(int a1, int a2, int a3)
Adds a scaled excluded non-bonded interaction. Performs no check whether it already exists...
Definition: IndexedStructuralTopology.cpp:37
void addDihedral(int a1, int a2, int a3, int a4)
Adds a dihedral. Performs no check whether it already exists.
Definition: IndexedStructuralTopology.cpp:21