39 using namespace catalogue;
40 using namespace chainmesh;
48 ChainMesh::set_par(cell_size, 3);
52 vector<vector<double>> data = { m_catalogue->var(Var::_X_), m_catalogue->var(Var::_Y_), m_catalogue->var(Var::_Z_) };
54 create_chain_mesh(data, rmax, rmin);
58 m_catalogue->Order(order);
60 data.erase(data.begin(), data.end());
61 data = { m_catalogue->var(Var::_X_), m_catalogue->var(Var::_Y_), m_catalogue->var(Var::_Z_) };
63 create_chain_mesh(data, rmax, rmin);
72 order.erase(order.begin(), order.end());
73 vector<long> Label_temp = m_Label;
74 vector<long> List_temp = m_List;
76 for (
int i=0; i<m_nCell_tot; i++) {
78 int j = Label_temp[i];
84 reverse(vv.begin(), vv.end());
86 for (
size_t j=0; j<vv.size(); j++)
87 order.push_back(vv[j]);
97 vector<shared_ptr<Object> > obj_list;
99 vector<double> center =
object->coords();
100 int center_indx = pos_to_index(center);
102 for (
size_t i=0; i<m_search_region.size(); i++) {
103 int k = min(max(m_search_region[i]+center_indx, (
long)0), m_nCell_tot-1);
106 while (j>-1 && j>=ii) {
107 obj_list.push_back(m_catalogue->catalogue_object(j));
Implementation of the chain-mesh data structure.
std::vector< std::shared_ptr< catalogue::Object > > object_list(std::shared_ptr< catalogue::Object > object, const int ii=-1)
get list of objects close to the input
void set_par(const double cell_size, std::shared_ptr< catalogue::Catalogue > cat, const double rmax, const double rmin=-1.)
function that set parameters for the chain-mesh
void get_order(std::vector< int > &order) const
order the catalogue according to the input vector
The global namespace of the CosmoBolognaLib