franzblau.hpp File Reference

File for generating shortest-path rings according to the Franzblau algorithm. More...

#include <algorithm>
#include <array>
#include <fstream>
#include <iostream>
#include <iterator>
#include <math.h>
#include <memory>
#include <sstream>
#include <string>
#include <sys/stat.h>
#include <vector>
#include <cage.hpp>
#include <mol_sys.hpp>
#include <seams_input.hpp>
#include <seams_output.hpp>
+ Include dependency graph for franzblau.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  primitive::Vertex
 This is a collection of elements, for each point, required for graph traversal. More...
struct  primitive::Graph
 This is a per-frame object, containing all the vertices for the particular frame, along with the vector of rings generated. More...


 Functions for generating primitive rings. This namespace contains struct definitions and functions that are used for generating primitive (shortest-path) rings (directed cyclic graphs).


std::vector< std::vector< int > > primitive::ringNetwork (std::vector< std::vector< int >> nList, int maxDepth)
Graph primitive::populateGraphFromNListID (molSys::PointCloud< molSys::Point< double >, double > *yCloud, std::vector< std::vector< int >> neighHbondList)
Graph primitive::populateGraphFromIndices (std::vector< std::vector< int >> nList)
Graph primitive::restoreEdgesFromIndices (Graph *fullGraph, std::vector< std::vector< int >> nList)
Graph primitive::countAllRingsFromIndex (std::vector< std::vector< int >> neighHbondList, int maxDepth)
 Creates a vector of vectors of all possible rings. More...
Graph primitive::removeNonSPrings (Graph *fullGraph)
 Removes the non-SP rings, using the Franzblau shortest path criterion. More...
int primitive::findRings (Graph *fullGraph, int v, std::vector< int > *visited, int maxDepth, int depth, int root=-1)
 Main function that searches for all rings. More...
int primitive::shortestPath (Graph *fullGraph, int v, int goal, std::vector< int > *path, std::vector< int > *visited, int maxDepth, int depth=1)
 Calculates the shortest path. More...
Graph primitive::clearGraph (Graph *currentGraph)
 Function for clearing vectors in Graph after multiple usage. More...

Detailed Description

File for generating shortest-path rings according to the Franzblau algorithm.

Definition in file franzblau.hpp.