15#ifndef SEAMS_BULKTUM_H_
16#define SEAMS_BULKTUM_H_
49 std::string path,
const std::vector<std::vector<int>> &rings,
50 const std::vector<std::vector<int>> &nList,
52 bool printClusters,
bool onlyTetrahedral,
53 std::string templatePath =
"templates");
63 const Eigen::MatrixXd &refPoints,
cage::Cage cageUnit,
64 const std::vector<std::vector<int>> &rings,
65 const std::vector<std::vector<int>> &nList, std::vector<double> &quat,
70 const Eigen::MatrixXd &refPoints,
71 const std::vector<cage::Cage> &cageList,
int cageIndex,
72 const std::vector<std::vector<int>> &rings,
73 std::vector<double> &quat,
double &rmsd);
78 double rmsd, std::vector<double> &rmsdPerAtom,
79 std::vector<int> &noOfCommonAtoms,
80 const std::vector<cage::iceType> &atomTypes);
84 std::vector<int> &noOfCommonAtoms);
88std::vector<cage::Cage>
90 const std::vector<std::vector<int>> &nList,
92 int firstFrame,
int &numHC,
int &numDDC,
93 std::vector<ring::strucType> &ringType);
99 std::string path,
const std::vector<std::vector<int>> &rings,
100 const std::vector<cage::Cage> &cageList,
int numHC,
int numDDC);
104 const std::vector<cage::Cage> &cageList,
File for generating shortest-path rings according to the Franzblau algorithm.
std::vector< cage::Cage > topoBulkCriteria(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, int &numHC, int &numDDC, std::vector< ring::strucType > &ringType)
std::vector< int > atomsFromCages(const std::vector< std::vector< int > > &rings, const std::vector< cage::Cage > &cageList, const std::vector< int > &clusterCages)
Gets the atoms in the cages of a given cluster.
int updateRMSDatom(const std::vector< std::vector< int > > &rings, cage::Cage cageUnit, double rmsd, std::vector< double > &rmsdPerAtom, std::vector< int > &noOfCommonAtoms, const std::vector< cage::iceType > &atomTypes)
int shapeMatchHC(molSys::PointCloud< molSys::Point< double >, double > &yCloud, const Eigen::MatrixXd &refPoints, cage::Cage cageUnit, const std::vector< std::vector< int > > &rings, const std::vector< std::vector< int > > &nList, std::vector< double > &quat, double &rmsd)
Shape-matching for a target HC.
int clusterCages(molSys::PointCloud< molSys::Point< double >, double > &yCloud, std::string path, const std::vector< std::vector< int > > &rings, const std::vector< cage::Cage > &cageList, int numHC, int numDDC)
Eigen::MatrixXd buildRefHC(const std::string &fileName)
Build a reference Hexagonal cage, reading in from a template XYZ file.
Eigen::MatrixXd buildRefDDC(const std::string &fileName)
Build a reference Double-Diamond cage, reading in from a template XYZ file.
int shapeMatchDDC(molSys::PointCloud< molSys::Point< double >, double > &yCloud, const Eigen::MatrixXd &refPoints, const std::vector< cage::Cage > &cageList, int cageIndex, const std::vector< std::vector< int > > &rings, std::vector< double > &quat, double &rmsd)
Shape-matching for a target DDC.
int topoUnitMatchingBulk(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 printClusters, bool onlyTetrahedral, std::string templatePath="templates")
int averageRMSDatom(std::vector< double > &rmsdPerAtom, std::vector< int > &noOfCommonAtoms)
Average the RMSD per atom.
Header file for neighbour list generation.
This contains a cage, with the constituent rings.
This contains a collection of points; contains information for a particular frame.
This contains per-particle information.
File containing functions used specific to bulk topological network critera.