votca 2024.2-dev
|
This is an internal class meant to deconstruct bead motifs into their simple forms. More...
Public Member Functions | |
void | AddMotif (IdMotif id_and_motif) |
Adds a motif with its corresponding id. | |
void | deconstructComplexSingleStructures (BeadMotifConnector &connector) |
Takes a bead motif of type single structure and deconstructs it into smaller components. | |
size_t | CountComplexMotifs () const |
bool | ConnectionsCompleted () const |
unordered_map< Index, BeadMotif > | getSimpleMotifs () |
Returns a map of all the simple motifs with their ids. | |
Private Member Functions | |
void | sortMotifsAndAssignIdsToSimpleMotifs_ (list< BeadMotif > &bead_motifs) |
void | determineMotifConnections_ (BeadMotifConnector &connector) |
Private Attributes | |
list< IdMotif > | motifs_simple_ |
list< IdMotif > | motifs_complex_single_structure_ |
list< IdMotif > | motifs_multiple_structures_ |
list< Edge > | bead_edges_removed_ |
This is an internal class meant to deconstruct bead motifs into their simple forms.
It is only meant to be used within the source file. It is simply more convenient to write a class with shared internal variables then a series of functions. However, everything this class can do is accessed via the graph motif algorithm breakIntoSimpleMotifs. Do not pull this class out of the file.
Definition at line 194 of file beadmotifalgorithms.cc.
void votca::csg::MotifDeconstructor_::AddMotif | ( | IdMotif | id_and_motif | ) |
Adds a motif with its corresponding id.
Definition at line 289 of file beadmotifalgorithms.cc.
|
inline |
returns whether all the connections between the simple motifs have been correctly handled.
Definition at line 260 of file beadmotifalgorithms.cc.
size_t votca::csg::MotifDeconstructor_::CountComplexMotifs | ( | ) | const |
Counts the number of complex motifs that have not yet been broken down into simple motifs
Definition at line 284 of file beadmotifalgorithms.cc.
void votca::csg::MotifDeconstructor_::deconstructComplexSingleStructures | ( | BeadMotifConnector & | connector | ) |
Takes a bead motif of type single structure and deconstructs it into smaller components.
E.g.
Scenario I
1 - 2 | | 4 - 3 - 5 | | 6 _ 7
Scenario II
1 - 2 8 | | / \ 4 - 3 - 5 | | 6 _ 7
Scenario III
1 2 - 5 4 - 1 2 - 5 | \ | / 4 - 3 => 3 | \ 6 -7 6 - 7
Scenario IV
1 - 2 - 3 4 - 5 1 - 2 - 3 4 - 5 \ / 6 - 7 => 6 - 7 | | | | 8 _ 9 8 - 9
In Scenario I and III all branches equally share the vertex 3 so it is treated as a pivot vertex that is not owned by any of the motifs think of AlQ3
In Scenario II there are three edges connected to vertex 3 from one branch and only two from the other we will also consider it as a pivot vertex
In scenario IV vertex 6 will be assigned to the branch that has two connecting edges.
[in,out] | connector | - BeadMotifConnector this keeps track of all the connections between motifs. Both the bead ids and the motif ids are tracked and stored |
Definition at line 303 of file beadmotifalgorithms.cc.
|
private |
Definition at line 341 of file beadmotifalgorithms.cc.
Returns a map of all the simple motifs with their ids.
Definition at line 276 of file beadmotifalgorithms.cc.
|
private |
Definition at line 381 of file beadmotifalgorithms.cc.
|
private |
Definition at line 269 of file beadmotifalgorithms.cc.
|
private |
Definition at line 267 of file beadmotifalgorithms.cc.
|
private |
Definition at line 268 of file beadmotifalgorithms.cc.
|
private |
Definition at line 266 of file beadmotifalgorithms.cc.