CLASSpp Manual
Cosmology reference and developer manual
Loading...
Searching...
No Matches
cosmology.h
1#ifndef COSMOLOGY_H
2#define COSMOLOGY_H
3
4#include "input_module.h"
5
6class Cosmology {
7 public:
8 Cosmology(FileContent& fc) : input_module_ptr_(InputModulePtr(new InputModule(fc))) {}
9 Cosmology(std::unique_ptr<InputModule> input_module)
10 : input_module_ptr_(std::move(input_module)) {}
11
12 InputModulePtr& GetInputModule();
13 BackgroundModulePtr& GetBackgroundModule();
14 ThermodynamicsModulePtr& GetThermodynamicsModule();
15 PerturbationsModulePtr& GetPerturbationsModule();
16 PrimordialModulePtr& GetPrimordialModule();
17 NonlinearModulePtr& GetNonlinearModule();
18 TransferModulePtr& GetTransferModule();
19 SpectraModulePtr& GetSpectraModule();
20 LensingModulePtr& GetLensingModule();
21
22 private:
23 bool shot_ = false; // GetInputModule runs DoShooting once, on first use
24 InputModulePtr input_module_ptr_;
25 BackgroundModulePtr background_module_ptr_;
26 ThermodynamicsModulePtr thermodynamics_module_ptr_;
27 PerturbationsModulePtr perturbations_module_ptr_;
28 PrimordialModulePtr primordial_module_ptr_;
29 NonlinearModulePtr nonlinear_module_ptr_;
30 TransferModulePtr transfer_module_ptr_;
31 SpectraModulePtr spectra_module_ptr_;
32 LensingModulePtr lensing_module_ptr_;
33};
34#endif //COSMOLOGY_H
Definition parser.h:21