votca 2024.2-dev
Loading...
Searching...
No Matches
votca::csg::MotifDeconstructor_ Class Reference

This is an internal class meant to deconstruct bead motifs into their simple forms. More...

Collaboration diagram for votca::csg::MotifDeconstructor_:

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, BeadMotifgetSimpleMotifs ()
 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< IdMotifmotifs_simple_
 
list< IdMotifmotifs_complex_single_structure_
 
list< IdMotifmotifs_multiple_structures_
 
list< Edgebead_edges_removed_
 

Detailed Description

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.

Member Function Documentation

◆ AddMotif()

void votca::csg::MotifDeconstructor_::AddMotif ( IdMotif id_and_motif)

Adds a motif with its corresponding id.

Definition at line 289 of file beadmotifalgorithms.cc.

◆ ConnectionsCompleted()

bool votca::csg::MotifDeconstructor_::ConnectionsCompleted ( ) const
inline

returns whether all the connections between the simple motifs have been correctly handled.

Definition at line 260 of file beadmotifalgorithms.cc.

◆ CountComplexMotifs()

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.

◆ deconstructComplexSingleStructures()

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.

Parameters
[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.

◆ determineMotifConnections_()

void votca::csg::MotifDeconstructor_::determineMotifConnections_ ( BeadMotifConnector & connector)
private

Definition at line 341 of file beadmotifalgorithms.cc.

◆ getSimpleMotifs()

unordered_map< Index, BeadMotif > votca::csg::MotifDeconstructor_::getSimpleMotifs ( )

Returns a map of all the simple motifs with their ids.

Definition at line 276 of file beadmotifalgorithms.cc.

◆ sortMotifsAndAssignIdsToSimpleMotifs_()

void votca::csg::MotifDeconstructor_::sortMotifsAndAssignIdsToSimpleMotifs_ ( list< BeadMotif > & bead_motifs)
private

Definition at line 381 of file beadmotifalgorithms.cc.

Member Data Documentation

◆ bead_edges_removed_

list<Edge> votca::csg::MotifDeconstructor_::bead_edges_removed_
private

Definition at line 269 of file beadmotifalgorithms.cc.

◆ motifs_complex_single_structure_

list<IdMotif> votca::csg::MotifDeconstructor_::motifs_complex_single_structure_
private

Definition at line 267 of file beadmotifalgorithms.cc.

◆ motifs_multiple_structures_

list<IdMotif> votca::csg::MotifDeconstructor_::motifs_multiple_structures_
private

Definition at line 268 of file beadmotifalgorithms.cc.

◆ motifs_simple_

list<IdMotif> votca::csg::MotifDeconstructor_::motifs_simple_
private

Definition at line 266 of file beadmotifalgorithms.cc.


The documentation for this class was generated from the following file: