Hash an atom's environment in a Molecule for isomorphism calculations. More...
#include "boost/multiprecision/cpp_int.hpp"
#include "boost/optional.hpp"
#include "Utils/Geometry/ElementTypes.h"
#include "Molassembler/Shapes/Shapes.h"
#include "Molassembler/Types.h"
#include <vector>
Go to the source code of this file.
Data Structures | |
struct | Scine::Molassembler::Hashes::BondInformation |
Information pertinent to a singular bond hash. More... | |
struct | Scine::Molassembler::Hashes::LookupFunctor |
A functor for getting an atom's hash from a captured list of hashes. More... | |
Namespaces | |
Scine::Molassembler | |
Central library namespace. | |
Scine::Molassembler::Hashes | |
Classes and methods to compute hashes of atom environments. | |
Typedefs | |
using | Scine::Molassembler::Hashes::HashType = std::uint64_t |
Functions | |
WideHashType | Scine::Molassembler::Hashes::hash (AtomEnvironmentComponents bitmask, Utils::ElementType elementType, const std::vector< BondInformation > &sortedBonds, const boost::optional< Shapes::Shape > &shapeOptional, const boost::optional< unsigned > &assignedOptional) |
Convolutes the atom's element type and bonds into an unsigned integer. More... | |
std::vector< BondInformation > | Scine::Molassembler::Hashes::gatherBonds (const PrivateGraph &inner, const StereopermutatorList &stereopermutators, AtomEnvironmentComponents componentsBitmask, AtomIndex i) |
Collects bond information for hash() input. More... | |
WideHashType | Scine::Molassembler::Hashes::atomEnvironment (const PrivateGraph &inner, boost::optional< const StereopermutatorList & > stereopermutators, AtomEnvironmentComponents bitmask, AtomIndex i) |
Calculate the hash for a particular atom index. More... | |
std::vector< WideHashType > | Scine::Molassembler::Hashes::generate (const PrivateGraph &inner, boost::optional< const StereopermutatorList & > stereopermutatorsOption, AtomEnvironmentComponents bitmask) |
Generates the hashes for every atom in a molecule's components. More... | |
bool | Scine::Molassembler::Hashes::identityCompare (const PrivateGraph &aGraph, const StereopermutatorList &aStereopermutators, const PrivateGraph &bGraph, const StereopermutatorList &bStereopermutators, AtomEnvironmentComponents componentBitmask) |
Compare two molecules with an identity index mapping. More... | |
std::tuple< std::vector < HashType >, std::vector < HashType >, HashType > | Scine::Molassembler::Hashes::narrow (const std::vector< WideHashType > &a, const std::vector< WideHashType > &b) |
Re-enumerates the hashes in two generated hash lists. More... | |
std::pair< std::vector < HashType >, std::vector < HashType >> | Scine::Molassembler::Hashes::generate (const PrivateGraph &aGraph, const StereopermutatorList &aStereopermutators, const PrivateGraph &bGraph, const StereopermutatorList &bStereopermutators, AtomEnvironmentComponents bitmask) |
Generates hashes for two molecules' components. More... | |
Hash an atom's environment in a Molecule for isomorphism calculations.