Scine::Swoose  2.1.0
This is the SCINE module Swoose.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
IndexedStructuralElements.h
Go to the documentation of this file.
1 
8 #ifndef MOLECULARMECHANICS_INDEXEDSTRUCTURALELEMENTS_H
9 #define MOLECULARMECHANICS_INDEXEDSTRUCTURALELEMENTS_H
10 
11 namespace Scine {
12 namespace MolecularMechanics {
13 
18  IndexedStructuralBond(int a1, int a2) : atom1(a1), atom2(a2) {
19  }
20 
21  int atom1;
22  int atom2;
23 };
24 
30  IndexedStructuralAngle(int a1, int a2, int a3) : atom1(a1), atom2(a2), atom3(a3) {
31  }
32 
33  int atom1;
34  int atom2;
35  int atom3;
36 };
37 
43  IndexedStructuralDihedral(int a1, int a2, int a3, int a4) : atom1(a1), atom2(a2), atom3(a3), atom4(a4) {
44  }
45 
46  int atom1;
47  int atom2;
48  int atom3;
49  int atom4;
50 
51  bool operator==(const IndexedStructuralDihedral& other) const {
52  return ((atom1 == other.atom1) && (atom2 == other.atom2) && (atom3 == other.atom3) && (atom4 == other.atom4));
53  }
54 };
55 
60  IndexedStructuralImproperDihedral(int central, int a2, int a3, int a4)
61  : centralAtom(central), atom2(a2), atom3(a3), atom4(a4) {
62  }
63 
64  int centralAtom;
65  int atom2;
66  int atom3;
67  int atom4;
68 };
69 
74  StructuralExcludedNonBonded(int a1, int a2) : atom1(a1), atom2(a2) {
75  }
76 
77  int atom1;
78  int atom2;
79 
80  bool operator==(const StructuralExcludedNonBonded& other) const {
81  return (((atom1 == other.atom1) && (atom2 == other.atom2)) || ((atom1 == other.atom2) && (atom2 == other.atom1)));
82  }
83 };
84 
89  IndexedStructuralScaledNonBonded(int a1, int a2) : atom1(a1), atom2(a2) {
90  }
91 
92  int atom1;
93  int atom2;
94 
95  bool operator==(const IndexedStructuralScaledNonBonded& other) const {
96  return (((atom1 == other.atom1) && (atom2 == other.atom2)) || ((atom1 == other.atom2) && (atom2 == other.atom1)));
97  }
98 };
99 
104  IndexedStructuralHydrogenBond(int a1, int a2, int a3) : atom1(a1), atom2(a2), atom3(a3) {
105  }
106 
107  int atom1;
108  int atom2;
109  int atom3;
110 };
111 
112 } // namespace MolecularMechanics
113 } // namespace Scine
114 
115 #endif // MOLECULARMECHANICS_INDEXEDSTRUCTURALELEMENTS_H
Holds indexes for an angle. The connectivity is atom1 – atom2 – atom3.
Definition: IndexedStructuralElements.h:29
Holds indexes for an excluded non-bonded interaction. (1-2 and 1-3 neighbors)
Definition: IndexedStructuralElements.h:73
Holds indexes for a potentially scaled non-bonded interaction. (1-4 neighbors)
Definition: IndexedStructuralElements.h:88
Holds indexes for a hydrogen-bond interaction.
Definition: IndexedStructuralElements.h:103
Holds indexes for an improper dihedral.
Definition: IndexedStructuralElements.h:59
Holds indexes for a dihedral. The connectivity is atom1 – atom2 – atom3 – atom4.
Definition: IndexedStructuralElements.h:42
Holds indexes for a bond.
Definition: IndexedStructuralElements.h:17