11 #ifndef INCLUDE_MOLASSEMBLER_BOND_STEREOPERMUTATOR_H
12 #define INCLUDE_MOLASSEMBLER_BOND_STEREOPERMUTATOR_H
19 namespace Molassembler {
22 namespace Stereopermutations {
30 class AngstromPositions;
32 class StereopermutatorList;
34 namespace DistanceGeometry {
36 struct ChiralConstraint;
61 BetweenEclipsedAndStaggered
87 static constexpr
double assignmentAcceptanceParameter = 0.1;
97 static std::vector<unsigned> notObviouslyInfeasibleStereopermutations(
156 void assign(boost::optional<
unsigned> assignment);
167 void assignRandom(Random::Engine& engine);
200 std::pair<FittingReferences, FittingReferences> fittingReferences,
219 void propagateGraphChange(
241 boost::optional<unsigned> assigned()
const;
279 boost::optional<unsigned> indexOfPermutation()
const;
285 unsigned numAssignments()
const;
291 unsigned numStereopermutations()
const;
297 std::string info()
const;
303 std::string rankInfo()
const;
326 std::unique_ptr<Impl> pImpl_;
Definition: BondStereopermutatorImpl.h:23
Type helper for creating strong index types that are type-level distinct from their fundamental types...
Definition: StrongIndex.h:37
A wrapper class around Utils' PositionCollection to emphasize that the positions stored therein are i...
Definition: AngstromPositions.h:25
Handles the steric permutation of substituents of a non-terminal central atom.
Definition: AtomStereopermutator.h:79
std::tuple< RankingInformation, Stereopermutators::Abstract, Stereopermutators::Feasible, ShapeMap > PropagatedState
Old state dumped upon propagation.
Definition: AtomStereopermutator.h:89
Handle arrangements of substituents at corners of an atom-centered shape.
Handles specific relative arrangements of two atom stereopermutators joined by a bond.
Definition: BondStereopermutator.h:46
Definition: BondStereopermutator.h:176
Manages all stereopermutators that are part of a Molecule.
Definition: StereopermutatorList.h:30
std::size_t AtomIndex
Unsigned integer atom index type. Used to refer to particular atoms.
Definition: Types.h:51
Permutation applyPermutation(const Permutation &occupation, const Permutation &permutation)
Rotates a passed list of indices with a specified rotation vector.
Library internal graph class wrapping BGL types.
Definition: PrivateGraph.h:24
Type used to refer to particular bonds. Orders first < second.
Definition: Types.h:54
FittingMode
Differentiates how viable assignments are chosen during fitting.
Definition: BondStereopermutator.h:67
Alignment
How dihedrals are aligned in the generation of stereopermutations.
Definition: BondStereopermutator.h:53
Represents the composite of two shapes joined by a bond at arbitrary shape vertices.
Definition: Composites.h:33