53 std::string path, std::vector<std::vector<int>> rings,
54 std::vector<std::vector<int>> nList,
64 std::vector<std::vector<int>> nList,
66 int firstFrame,
bool onlyTetrahedral =
true );
70 std::vector<int>
findDDC (std::vector<std::vector<int>> rings,
71 std::vector<strucType> *ringType,
72 std::vector<int> listHC,
73 std::vector<cage::Cage> *cageList);
78 std::vector<int>
findMixedRings (std::vector<std::vector<int>> rings,
79 std::vector<strucType> *ringType,
80 std::vector<int> *listDDC,
81 std::vector<int> *listHC);
85 std::vector<int>
findHC (std::vector<std::vector<int>> rings,
86 std::vector<strucType> *ringType,
87 std::vector<std::vector<int>> nList,
88 std::vector<cage::Cage> *cageList);
93 std::vector<int> *peripheralRings,
int iring);
98 std::vector<int> *peripheralRings,
int iring);
103 std::vector<int> *peripheralRings);
107 std::vector<int> *basal1, std::vector<int> *basal2);
112 std::vector<int> *triplet,
int atomOne,
int atomTwo);
117 std::vector<int> *triplet, std::vector<int> *
ring );
120 int findPrismatic (std::vector<std::vector<int>> rings, std::vector<int> *listHC,
121 std::vector<strucType> *ringType,
int iring,
int jring,
122 std::vector<int> *prismaticRings);
127 std::vector<ring::strucType> ringType,
128 std::vector<cage::iceType> *atomTypes);
132 std::vector<cage::Cage> cageList,
int *numHC,
int *numDDC,
133 int *mixedRings,
int *prismaticRings,
int *basalRings);
146 std::vector<ring::strucType> *ringType,
147 std::vector<std::vector<int>> nList,
149 std::vector<double> *rmsdPerAtom,
double heightCutoff = 8);
154 std::vector<int> *basal1, std::vector<int> *basal2);
159 std::vector<int> *basal1, std::vector<int> *basal2);
164 std::vector<int> basal1, std::vector<int> basal2,
double heightCutoff = 8);
File for cage types for topological network criteria.
int getAtomTypesTopoBulk(std::vector< std::vector< int > > rings, std::vector< ring::strucType > ringType, std::vector< cage::iceType > *atomTypes)
bool notNeighboursOfRing(std::vector< std::vector< int > > nList, std::vector< int > *triplet, std::vector< int > *ring)
bool conditionTwoDDC(std::vector< std::vector< int > > rings, std::vector< int > *peripheralRings, int iring)
bool conditionOneDDC(std::vector< std::vector< int > > rings, std::vector< int > *peripheralRings, int iring)
bool basalPrismConditions(std::vector< std::vector< int > > nList, std::vector< int > *basal1, std::vector< int > *basal2)
bool basalConditions(std::vector< std::vector< int > > nList, std::vector< int > *basal1, std::vector< int > *basal2)
Tests whether two rings are basal rings (true) or not (false)
bool conditionThreeDDC(std::vector< std::vector< int > > rings, std::vector< int > *peripheralRings)
int topoBulkAnalysis(std::string path, std::vector< std::vector< int > > rings, std::vector< std::vector< int > > nList, molSys::PointCloud< molSys::Point< double >, double > *yCloud, int firstFrame, bool onlyTetrahedral=true)
int findBulkPrisms(std::vector< std::vector< int > > rings, std::vector< ring::strucType > *ringType, 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.
int getStrucNumbers(std::vector< ring::strucType > ringType, 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.
bool basalNeighbours(std::vector< std::vector< int > > nList, std::vector< int > *triplet, int atomOne, int atomTwo)
std::vector< int > findDDC(std::vector< std::vector< int > > rings, std::vector< strucType > *ringType, std::vector< int > listHC, std::vector< cage::Cage > *cageList)
bool basalRingsSeparation(molSys::PointCloud< molSys::Point< double >, double > *yCloud, std::vector< int > basal1, std::vector< int > basal2, double heightCutoff=8)
Check to see that candidate basal prisms are not really far from each other.
bool relaxedPrismConditions(std::vector< std::vector< int > > nList, std::vector< int > *basal1, std::vector< int > *basal2)
int bulkPolygonRingAnalysis(std::string path, std::vector< std::vector< int > > rings, std::vector< std::vector< int > > nList, molSys::PointCloud< molSys::Point< double >, double > *yCloud, int maxDepth, int firstFrame)
std::vector< int > findHC(std::vector< std::vector< int > > rings, std::vector< strucType > *ringType, std::vector< std::vector< int > > nList, std::vector< cage::Cage > *cageList)
int findPrismatic(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.
std::vector< int > findMixedRings(std::vector< std::vector< int > > rings, std::vector< strucType > *ringType, std::vector< int > *listDDC, std::vector< int > *listHC)
The main molecular system handler.
Topological network criteria functions.
File containing common functions used by bulk and confined topological network critera.
This contains a collection of points; contains information for a particular frame.
This contains per-particle information.
Copy