topo_one_dim.hpp
Go to the documentation of this file.
1 //-----------------------------------------------------------------------------------
2 // d-SEAMS is free software: you can redistribute it and/or modify
3 // it under the terms of the GNU General Public License as published by
4 // the Free Software Foundation, either version 3 of the License, or
5 // (at your option) any later version.
6 //
7 // A copy of the GNU General Public License is available at
8 // http://www.gnu.org/licenses/
9 //-----------------------------------------------------------------------------------
10 
11 #ifndef __TOPO_ONE_DIM_H_
12 #define __TOPO_ONE_DIM_H_
13 
14 #include <math.h>
15 #include <sys/stat.h>
16 #include <algorithm>
17 #include <array>
18 #include <fstream>
19 #include <iostream>
20 #include <iterator>
21 #include <memory>
22 #include <sstream>
23 #include <string>
24 #include <vector>
25 
26 #include <mol_sys.hpp>
27 #include <order_parameter.hpp>
28 #include <ring.hpp>
29 #include <seams_input.hpp>
30 #include <seams_output.hpp>
31 #include <shapeMatch.hpp>
32 
43 namespace ring {
44 
49  int *nPerfectPrisms, int *nImperfectPrisms,
52  std::vector<double> *rmsdPerAtom, bool doShapeMatching = false);
53 
57  std::vector<int> *basal1, std::vector<int> *basal2);
58 
62  std::vector<int> *basal1, std::vector<int> *basal2);
63 
67  std::vector<int> *basal1, std::vector<int> *basal2,
68  molSys::PointCloud<molSys::Point<double>, double> *yCloud);
69 
73  molSys::PointCloud<molSys::Point<double>, double> *yCloud);
74 
80  int maxDepth, int *atomID, int firstFrame, int currentFrame,
81  bool doShapeMatching = false);
82 
86  std::vector<int> listPrism, int ringSize,
88  std::vector<int> *atomTypes,
89  std::vector<ring::strucType> *atomState);
90 
93  std::vector<int> *atomTypes, int maxDepth);
94 
97  molSys::PointCloud<molSys::Point<double>, double> *yCloud, int *atomID,
98  int firstFrame, int currentFrame);
99 
100 } // namespace ring
101 
102 #endif // __TOPOCONFINED_H_
bool relaxedPrismConditions(std::vector< std::vector< int >> nList, std::vector< int > *basal1, std::vector< int > *basal2)
int prismAnalysis(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 *atomID, int firstFrame, int currentFrame, bool doShapeMatching=false)
std::vector< int > findPrisms(std::vector< std::vector< int >> rings, std::vector< strucType > *ringType, int *nPerfectPrisms, int *nImperfectPrisms, std::vector< std::vector< int >> nList, molSys::PointCloud< molSys::Point< double >, double > *yCloud, std::vector< double > *rmsdPerAtom, bool doShapeMatching=false)
int deformedPrismTypes(std::vector< ring::strucType > atomState, std::vector< int > *atomTypes, int maxDepth)
Get the atom type values for deformed prisms.
bool discardExtraTetragonBlocks(std::vector< int > *basal1, std::vector< int > *basal2, molSys::PointCloud< molSys::Point< double >, double > *yCloud)
std::vector< std::vector< int > > keepAxialRingsOnly(std::vector< std::vector< int >> rings, molSys::PointCloud< molSys::Point< double >, double > *yCloud)
Saves only axial rings out of all possible rings.
int rmAxialTranslations(molSys::PointCloud< molSys::Point< double >, double > *yCloud, int *atomID, int firstFrame, int currentFrame)
Shift the entire ice nanotube and remove axial translations.
int assignPrismType(std::vector< std::vector< int >> rings, std::vector< int > listPrism, int ringSize, std::vector< ring::strucType > ringType, std::vector< int > *atomTypes, std::vector< ring::strucType > *atomState)
bool basalPrismConditions(std::vector< std::vector< int >> nList, std::vector< int > *basal1, std::vector< int > *basal2)
The main molecular system handler.
Topological network criteria functions.
Definition: ring.hpp:60
File containing common functions used by bulk and confined topological network critera.
File for functions that read in files).
This contains a collection of points; contains information for a particular frame.
Definition: mol_sys.hpp:166
This contains per-particle information.
Definition: mol_sys.hpp:145