Stores an ordered quartet of CHARMM atom types for torsion lookup. More...
#include <CharmmParameters.h>
Public Member Functions | |
| DihedralKey (const std::string &iatom, const std::string &jatom, const std::string &katom, const std::string &latom) | |
| Constructs a torsion key from four atom-type names. | |
| bool | operator== (const DihedralKey &other) const |
| Returns whether two ordered torsion keys are equal. | |
Public Attributes | |
| std::string | atom1 |
| std::string | atom2 |
| std::string | atom3 |
| std::string | atom4 |
Friends | |
| bool | operator< (const DihedralKey &first, const DihedralKey &second) |
| Orders torsion keys in descending lexicographic atom-type order. | |
| std::ostream & | operator<< (std::ostream &output, const DihedralKey &dk) |
| Writes the four atom-type names followed by a trailing space. | |
Stores an ordered quartet of CHARMM atom types for torsion lookup.
The parameter parser canonicalizes forward and reverse atom-type order before constructing this value. Direct construction performs no canonicalization or case conversion. The name X is used by wildcard matching code.
|
inline |
Constructs a torsion key from four atom-type names.
| [in] | iatom | First atom-type name to copy. |
| [in] | jatom | Second atom-type name to copy. |
| [in] | katom | Third atom-type name to copy. |
| [in] | latom | Fourth atom-type name to copy. |
| std::bad_alloc | If copying an atom-type name requires an allocation that fails. |
|
inline |
Returns whether two ordered torsion keys are equal.
| [in] | other | Key to compare with this key. |
true when all four names match in the same order; otherwise, false.
|
friend |
Orders torsion keys in descending lexicographic atom-type order.
| [in] | first | Left key to compare. |
| [in] | second | Right key to compare. |
true when first sorts before second by descending atom1, atom2, atom3, and then atom4.
|
friend |
Writes the four atom-type names followed by a trailing space.
| [in,out] | output | Stream that receives the text. |
| [in] | dk | Torsion key to write. |
output after the write. | std::string DihedralKey::atom1 |
Stores the first atom-type name exactly as supplied.
| std::string DihedralKey::atom2 |
Stores the second atom-type name exactly as supplied.
| std::string DihedralKey::atom3 |
Stores the third atom-type name exactly as supplied.
| std::string DihedralKey::atom4 |
Stores the fourth atom-type name exactly as supplied.