explicit_mapmaking
 All Classes Files Pages
atfa_pol.hpp
Go to the documentation of this file.
1 
8 #ifndef EXPLICIT_MAPMAKING_ATFA_POL_HPP
9 #define EXPLICIT_MAPMAKING_ATFA_POL_HPP
10 
11 #include "atfa.hpp"
12 
13 namespace mapmaking {
14 class AtFAPol : public AtFA {
15  public:
16  AtFAPol(const Matrix& matrix) : AtFA(matrix) {}
17  AtFAPol(Grid* grid, DataManager* data_manager) :
18  AtFA(grid, data_manager, data_manager->n_pixel()*2) {}
19 
20  private:
21  inline int NStokes() { return 2; }
22  inline void UpdateAtFAPart(const double& contrib, const int& n_row_this_block,
23  const CES& ces, const int t1, const int t2,
24  int& index, std::vector<double>& afa_part) {
25  //QQ
26  afa_part[index] += contrib * ces.cos(t1) * ces.cos(t2);
27  //UQ
28  index++;
29  afa_part[index] += contrib * ces.sin(t1) * ces.cos(t2);
30  //UU
31  index += n_row_this_block;
32  afa_part[index] += contrib * ces.sin(t1) * ces.sin(t2);
33  //QU
34  index--;
35  afa_part[index] += contrib * ces.cos(t1) * ces.sin(t2);
36  }
37 };
38 }
39 
40 #endif // EXPLICIT_MAPMAKING_ATFA_POL_HPP
Definition: data_manager.hpp:21
Definition: grid.hpp:16
Definition: atfa.hpp:18
Definition: atfa.hpp:19
Abstract class for the AtFA matrices computation and inversion.
Definition: ces.hpp:34
Definition: atfa_pol.hpp:14
Definition: matrix.hpp:22