Loading...
Searching...
No Matches
topo_bulk.hpp File Reference

File containing functions used specific to bulk topological network critera. More...

#include <algorithm>
#include <array>
#include <fstream>
#include <iostream>
#include <iterator>
#include <cmath>
#include <memory>
#include <sstream>
#include <string>
#include <vector>
#include <cage.hpp>
#include <mol_sys.hpp>
#include <order_parameter.hpp>
#include <ring.hpp>
#include <seams_input.hpp>
#include <seams_output.hpp>
#include <shapeMatch.hpp>

Go to the source code of this file.

Classes

struct  ring::RingSearchIndex
 Inverted index from an atom to the rings that contain it. More...

Namespaces

namespace  ring
 Topological network criteria functions.
namespace  prism3

Functions

int ring::bulkPolygonRingAnalysis (std::string path, const std::vector< std::vector< int > > &rings, const std::vector< std::vector< int > > &nList, molSys::PointCloud< molSys::Point< double >, double > &yCloud, int maxDepth, int firstFrame)
int ring::topoBulkAnalysis (std::string path, const std::vector< std::vector< int > > &rings, const std::vector< std::vector< int > > &nList, molSys::PointCloud< molSys::Point< double >, double > &yCloud, int firstFrame, bool onlyTetrahedral=true)
RingSearchIndex ring::buildRingSearchIndex (const std::vector< std::vector< int > > &rings, int numAtoms)
 Builds the inverted atom-to-rings index used by the cage searches.
std::vector< int > ring::findDDC (const std::vector< std::vector< int > > &rings, std::vector< strucType > &ringType, const std::vector< int > &listHC, std::vector< cage::Cage > &cageList)
std::vector< int > ring::findDDC (const std::vector< std::vector< int > > &rings, std::vector< strucType > &ringType, const std::vector< int > &listHC, std::vector< cage::Cage > &cageList, const RingSearchIndex &index)
 As findDDC, reusing an index the caller has already built.
std::vector< int > ring::findMixedRings (const std::vector< std::vector< int > > &rings, std::vector< strucType > &ringType, std::vector< int > &listDDC, std::vector< int > &listHC)
std::vector< int > ring::findHC (const std::vector< std::vector< int > > &rings, std::vector< strucType > &ringType, const std::vector< std::vector< int > > &nList, std::vector< cage::Cage > &cageList)
std::vector< int > ring::findHC (const std::vector< std::vector< int > > &rings, std::vector< strucType > &ringType, const std::vector< std::vector< int > > &nList, std::vector< cage::Cage > &cageList, const RingSearchIndex &index)
 As findHC, reusing an index the caller has already built.
bool ring::conditionOneDDC (const std::vector< std::vector< int > > &rings, std::vector< int > &peripheralRings, int iring)
bool ring::conditionOneDDC (const std::vector< std::vector< int > > &rings, std::vector< int > &peripheralRings, int iring, const RingSearchIndex &index)
 As conditionOneDDC, reusing an index the caller has already built.
bool ring::conditionTwoDDC (const std::vector< std::vector< int > > &rings, std::vector< int > &peripheralRings, int iring)
bool ring::conditionTwoDDC (const std::vector< std::vector< int > > &rings, std::vector< int > &peripheralRings, int iring, const RingSearchIndex &index)
 As conditionTwoDDC, answering each triplet from the inverted index.
bool ring::conditionThreeDDC (const std::vector< std::vector< int > > &rings, std::vector< int > &peripheralRings)
bool ring::basalConditions (const std::vector< std::vector< int > > &nList, const std::vector< int > &basal1, const std::vector< int > &basal2)
 Tests whether two rings are basal rings (true) or not (false).
bool ring::basalNeighbours (const std::vector< std::vector< int > > &nList, std::vector< int > &triplet, int atomOne, int atomTwo)
bool ring::notNeighboursOfRing (const std::vector< std::vector< int > > &nList, std::vector< int > &triplet, const std::vector< int > &ring)
int ring::findPrismatic (const std::vector< std::vector< int > > &rings, std::vector< int > &listHC, std::vector< strucType > &ringType, int iring, int jring, std::vector< int > &prismaticRings)
 Finds the prismatic rings from basal rings iring and jring.
int ring::findPrismatic (const std::vector< std::vector< int > > &rings, std::vector< int > &listHC, std::vector< strucType > &ringType, int iring, int jring, std::vector< int > &prismaticRings, const RingSearchIndex &index)
 As findPrismatic, drawing candidate rings from the inverted index.
int ring::getAtomTypesTopoBulk (const std::vector< std::vector< int > > &rings, const std::vector< ring::strucType > &ringType, std::vector< cage::iceType > &atomTypes)
int ring::getStrucNumbers (const std::vector< ring::strucType > &ringType, const std::vector< cage::Cage > &cageList, int &numHC, int &numDDC, int &mixedRings, int &prismaticRings, int &basalRings)
 Determines the number of HCs, DDCs, Mixed rings, prismatic and basal rings.
int prism3::findBulkPrisms (const std::vector< std::vector< int > > &rings, std::vector< ring::strucType > &ringType, const std::vector< std::vector< int > > &nList, molSys::PointCloud< molSys::Point< double >, double > &yCloud, std::vector< double > &rmsdPerAtom, double heightCutoff=8)
 Find out which rings are prisms.
bool prism3::basalPrismConditions (const std::vector< std::vector< int > > &nList, std::vector< int > &basal1, std::vector< int > &basal2)
bool prism3::relaxedPrismConditions (const std::vector< std::vector< int > > &nList, std::vector< int > &basal1, std::vector< int > &basal2)
bool prism3::basalRingsSeparation (molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< int > &basal1, const std::vector< int > &basal2, double heightCutoff=8)
 Check to see that candidate basal prisms are not really far from each other.

Detailed Description

File containing functions used specific to bulk topological network critera.

Definition in file topo_bulk.hpp.