Loading...
Searching...
No Matches
selection.hpp
Go to the documentation of this file.
1//-----------------------------------------------------------------------------------
2// d-SEAMS - Deferred Structural Elucidation Analysis for Molecular Simulations
3//
4// Copyright (c) 2018--present d-SEAMS core team
5//
6// This program is free software: you can redistribute it and/or modify
7// it under the terms of the MIT License as published by
8// the Open Source Initiative.
9//
10// A copy of the MIT License is included in the LICENSE file of this repository.
11// You should have received a copy of the MIT License along with this program.
12// If not, see <https://opensource.org/licenses/MIT>.
13//-----------------------------------------------------------------------------------
14
15#ifndef SEAMS_SELECTION_H_
16#define SEAMS_SELECTION_H_
17
18#include <cmath>
19#include <algorithm>
20#include <array>
21#include <fstream>
22#include <iostream>
23#include <iterator>
24#include <memory>
25#include <sstream>
26#include <string>
27#include <vector>
28
29#include <mol_sys.hpp>
30#include <order_parameter.hpp>
31#include <ring.hpp>
32#include <seams_input.hpp>
33#include <seams_output.hpp>
34
39
44
45namespace gen {
46
49molSys::PointCloud<molSys::Point<double>, double>
53 int atomTypeI, bool isSlice = false,
54 std::array<double, 3> coordLow = std::array<double, 3>{0, 0, 0},
55 std::array<double, 3> coordHigh = std::array<double, 3>{0, 0, 0});
56
63 bool clearPreviousSliceSelection=true,
64 std::array<double, 3> coordLow = std::array<double, 3>{0, 0, 0},
65 std::array<double, 3> coordHigh = std::array<double, 3>{0, 0, 0});
66
72 bool clearPreviousSliceSelection=true,
73 std::array<double, 3> coordLow = std::array<double, 3>{0, 0, 0},
74 std::array<double, 3> coordHigh = std::array<double, 3>{0, 0, 0});
75
80 const std::unordered_multimap<int,int> &molIDAtomIDmap,
81 int molID, bool inSliceValue=true);
82
83} // namespace gen
84
89
90namespace ring {
91
101 const std::vector<std::vector<int>> &rings, molSys::PointCloud<molSys::Point<double>, double> &oCloud,
103 std::array<double, 3> coordLow, std::array<double, 3> coordHigh,
104 bool identicalCloud=false);
105
114 std::string path, const std::vector<std::vector<int>> &rings,
117 std::array<double, 3> coordLow, std::array<double, 3> coordHigh,
118 bool identicalCloud=false);
119
120} // namespace ring
121
122#endif // SEAMS_SELECTION_H_
void atomsInSingleSlice(molSys::PointCloud< molSys::Point< double >, double > &yCloud, bool clearPreviousSliceSelection=true, std::array< double, 3 > coordLow=std::array< double, 3 >{0, 0, 0}, std::array< double, 3 > coordHigh=std::array< double, 3 >{0, 0, 0})
void printSliceGetEdgeMoleculesInRings(std::string path, const std::vector< std::vector< int > > &rings, molSys::PointCloud< molSys::Point< double >, double > &oCloud, molSys::PointCloud< molSys::Point< double >, double > &yCloud, std::array< double, 3 > coordLow, std::array< double, 3 > coordHigh, bool identicalCloud=false)
void moleculesInSingleSlice(molSys::PointCloud< molSys::Point< double >, double > &yCloud, bool clearPreviousSliceSelection=true, std::array< double, 3 > coordLow=std::array< double, 3 >{0, 0, 0}, std::array< double, 3 > coordHigh=std::array< double, 3 >{0, 0, 0})
void setAtomsWithSameMolID(molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::unordered_multimap< int, int > &molIDAtomIDmap, int molID, bool inSliceValue=true)
molSys::PointCloud< molSys::Point< double >, double > getPointCloudOneAtomType(molSys::PointCloud< molSys::Point< double >, double > &yCloud, molSys::PointCloud< molSys::Point< double >, double > &outCloud, int atomTypeI, bool isSlice=false, std::array< double, 3 > coordLow=std::array< double, 3 >{0, 0, 0}, std::array< double, 3 > coordHigh=std::array< double, 3 >{0, 0, 0})
void getEdgeMoleculesInRings(const std::vector< std::vector< int > > &rings, molSys::PointCloud< molSys::Point< double >, double > &oCloud, molSys::PointCloud< molSys::Point< double >, double > &yCloud, std::array< double, 3 > coordLow, std::array< double, 3 > coordHigh, bool identicalCloud=false)
The main molecular system handler.
Small generic functions that are shared by all namespaces.
Definition generic.hpp:55
Topological network criteria functions.
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:173
This contains per-particle information.
Definition mol_sys.hpp:152