CLASSpp Manual
Cosmology reference and developer manual
Loading...
Searching...
No Matches
output_module.h
1#ifndef OUTPUT_MODULE_H
2#define OUTPUT_MODULE_H
3
4#include <string>
5
6#include "base_module.h"
7#include "input_module.h"
8
9class OutputModule : public BaseModule {
10 public:
11 OutputModule(InputModulePtr input_module,
12 BackgroundModulePtr background_module,
13 ThermodynamicsModulePtr thermodynamics_module,
14 PerturbationsModulePtr perturbations_module,
15 PrimordialModulePtr primordial_module,
16 NonlinearModulePtr nonlinear_module,
17 SpectraModulePtr spectra_module,
18 LensingModulePtr lensing_module);
19
20 private:
21 void output_total_cl_at_l(int l, double* cl);
22 void output_init();
23 void output_cl();
24 void output_pk(enum pk_outputs pk_output);
25 void output_tk();
26 void output_background();
27 void output_thermodynamics();
28 void output_perturbations();
29 void output_primordial();
30 void output_print_data(FILE* out, const std::string& titles, const double* dataptr, int tau_size);
31 void output_open_cl_file(FILE** clfile,
32 const std::string& filename,
33 const char* first_line,
34 int lmax);
35 void output_one_line_of_cl(FILE* clfile, double l, double* cl, int ct_size);
36 void output_open_pk_file(FILE** pkfile,
37 const std::string& filename,
38 const char* first_line,
39 double z);
40 void output_one_line_of_pk(FILE* tkfile, double one_k, double one_pk);
41
42 BackgroundModulePtr background_module_;
43 ThermodynamicsModulePtr thermodynamics_module_;
44 PerturbationsModulePtr perturbations_module_;
45 PrimordialModulePtr primordial_module_;
46 NonlinearModulePtr nonlinear_module_;
47 SpectraModulePtr spectra_module_;
48 LensingModulePtr lensing_module_;
49};
50
51#endif //OUTPUT_MODULE_H