8 #ifndef EXPLICIT_MAPMAKING_GRID_HPP_
9 #define EXPLICIT_MAPMAKING_GRID_HPP_
18 Grid(
const MPI_Comm comm);
19 Grid(
int n_row,
int n_col, std::vector<int> id_proc_involved,
const MPI_Comm comm);
22 int context()
const {
return context_; }
23 int my_row()
const {
return my_row_; }
24 int my_col()
const {
return my_col_; }
25 std::pair<int,int> my_coor()
const {
return std::pair<int,int>(my_row_, my_col_); }
26 int my_rank()
const {
return my_rank_; }
27 int n_row()
const {
return n_row_; }
28 int n_col()
const {
return n_col_; }
29 int n_proc_grid()
const {
return n_proc_grid_; }
30 int n_proc_comm()
const {
return n_proc_comm_; }
31 const MPI_Comm& comm()
const {
return comm_; }
32 bool i_am_in()
const {
return i_am_in_; }
33 const std::vector<int>& row_indexes()
const {
return row_indexes_; }
34 const std::vector<int>& col_indexes()
const {
return col_indexes_; }
35 const std::vector<std::pair<int,int>>& coordinates()
const {
return coordinates_; }
36 std::pair<int,int> rank2coor(
int rank)
const;
37 int coor2rank(std::pair<int,int> coor)
const;
50 bool i_am_in_ =
false;
51 std::vector<int> row_indexes_;
52 std::vector<int> col_indexes_;
53 std::vector<int> rank_procs;
54 std::vector<std::pair<int,int>> coordinates_;
58 #endif // EXPLICIT_MAPMAKING_GRID_HPP_