8 #ifndef SWOOSE_INTERACTIONEXCLUSION_H
9 #define SWOOSE_INTERACTIONEXCLUSION_H
11 #include <Eigen/Sparse>
14 namespace MolecularMechanics {
15 class IndexedStructuralTopology;
39 void setExclusions(
const Eigen::SparseMatrix<bool>& excludedPairs);
44 void addExclusions(
const Eigen::SparseMatrix<bool>& excludedPairs);
62 Eigen::SparseMatrix<bool> exclusions_;
68 #endif // SWOOSE_INTERACTIONEXCLUSION_H
Class containing the structural information about the connectivity of a system.
Definition: IndexedStructuralTopology.h:25
const Eigen::SparseMatrix< bool > & getExclusions()
Getter for the exclusions.
Definition: InteractionExclusion.cpp:34
void resetExclusions(unsigned int nAtoms)
Resize the exclusion matrix to the given number of atoms and remove all existing exlcuions.
Definition: InteractionExclusion.cpp:50
InteractionExclusion(unsigned int nAtoms)
Constructor.
Definition: InteractionExclusion.cpp:14
void setExclusions(const Eigen::SparseMatrix< bool > &excludedPairs)
Setter for the exclusion matrix.
Definition: InteractionExclusion.cpp:18
void addExclusions(const Eigen::SparseMatrix< bool > &excludedPairs)
Add new exclusions.
Definition: InteractionExclusion.cpp:26
This class provides a framework to store exclusions of interactions between atoms. Such exclusions are required for the non-covalent interactions between bonded atoms or to eliminate contributions to the energy for the interaction between QM atoms in QM/MM.
Definition: InteractionExclusion.h:26