Molassembler  1.0.0
Molecule graph and conformer library
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
AbstractPermutations.h
Go to the documentation of this file.
1 
8 #ifndef INCLUDE_MOLASSEMBLER_STEREOPERMUTATIONS_ABSTRACT_PERMUTATIONS_H
9 #define INCLUDE_MOLASSEMBLER_STEREOPERMUTATIONS_ABSTRACT_PERMUTATIONS_H
10 
13 
14 namespace Scine {
15 namespace Molassembler {
16 
18 namespace Stereopermutators {
19 
24 struct Abstract {
27 
43  );
44 
60  static std::vector<char> transferToSymbolicCharacters(
62  );
63 
80  const std::vector<RankingInformation::Link>& rankingLinks,
81  const RankingInformation::RankedSitesType& canonicalSites
82  );
83 
90  static std::vector<char> makeStereopermutationCharacters(
91  const RankingInformation::RankedSitesType& canonicalSites,
92  const std::vector<char>& canonicalStereopermutationCharacters,
94  );
96 
100  Abstract() = default;
101 
112  Abstract(
113  const RankingInformation& ranking,
115  );
117 
122 
124  std::vector<char> symbolicCharacters;
125 
128 
132 };
133 
134 } // namespace Stereopermutators
135 } // namespace Molassembler
136 } // namespace Scine
137 
138 
139 #endif
static Stereopermutations::Stereopermutation::OrderedLinks selfReferentialTransform(const std::vector< RankingInformation::Link > &rankingLinks, const RankingInformation::RankedSitesType &canonicalSites)
Make site-index based links self-referential within canonical sites.
static RankingInformation::RankedSitesType canonicalize(RankingInformation::RankedSitesType rankedSites)
Stably re-sort ranked site indices in decreasing set size.
Manipulations of stereopermutations with shapes.
Ranking data of substituents around a central vertex.
Definition: RankingInformation.h:23
ShapeResult shape(const PositionCollection &normalizedPositions, Shape shape)
Forwarding function to calculate the continuous shape measure.
Stereopermutations::Stereopermutation::OrderedLinks selfReferentialLinks
Self-referential representation of links.
Definition: AbstractPermutations.h:127
static std::vector< char > makeStereopermutationCharacters(const RankingInformation::RankedSitesType &canonicalSites, const std::vector< char > &canonicalStereopermutationCharacters, const Temple::StrongIndexFlatMap< Shapes::Vertex, SiteIndex > &sitesAtShapeVertices)
Generates the reduced character representation of sites at their current shape positions.
RankingInformation::RankedSitesType canonicalSites
Stably resorted (by set size) site ranking.
Definition: AbstractPermutations.h:121
Stereopermutations::Uniques permutations
Vector of rotationally unique stereopermutations with associated weights.
Definition: AbstractPermutations.h:130
std::vector< char > symbolicCharacters
Character representation of bonding case.
Definition: AbstractPermutations.h:124
Class to compute the set of abstract permutations from ranking and shape.
Definition: AbstractPermutations.h:24
Shape
Enumeration of all contained symmetry names.
Definition: Shapes.h:28
Calculate shape position maps.
std::vector< Link > OrderedLinks
Unordered type, but kept ordered by member functions.
Definition: Stereopermutation.h:43
Abstract()=default
Empty initializer, all data members are nulled.
NestedList< SiteIndex > RankedSitesType
Ascending ordered list of binding site indices (sub-list site indices equal)
Definition: RankingInformation.h:40
static std::vector< char > transferToSymbolicCharacters(const RankingInformation::RankedSitesType &canonicalSites)
Condense site ranking information into canonical characters for symbolic computation.