CLASSpp Manual
Cosmology reference and developer manual
Loading...
Searching...
No Matches
ncdm_interacting_species.h
1
#ifndef NCDM_INTERACTING_SPECIES_H
2
#define NCDM_INTERACTING_SPECIES_H
3
4
#include <string_view>
5
6
#include "ncdm_species.h"
7
#include "species/species_build_context.h"
8
9
class
NCDMInteractingSpecies :
public
NCDMSpecies {
10
public
:
11
static
constexpr
std::string_view kTypeName =
"ncdm_self_interacting"
;
12
13
// New input path: parameters read from PFC under <instance_name>.<field>
14
NCDMInteractingSpecies(
FileContent
* pfc,
15
const
std::string& instance_name,
16
const
NcdmSettings& settings,
17
const
background* pba,
18
const
BackgroundModule* bgm);
19
20
// Factory method to read N_ncdm_interacting and create instances
21
static
std::vector<Named> CreateAll(
const
SpeciesBuildContext
& ctx);
22
23
double
FitIntegralOfl(
double
z)
const
;
24
25
// Layout-based PerturbDerivs: runs NCDMSpecies hierarchy + collision terms.
26
void
PerturbDerivs(
const
BaseSpecies::PerturbLayout
& layout,
27
double
tau,
28
const
double
* y,
29
double
* dy,
30
const
perturb_parameters_and_workspace
& ppaw)
const override
;
31
32
double
GetGeff()
const
{
33
return
G_eff_;
34
}
35
36
private
:
37
double
G_eff_ = 0.0;
38
bool
use_alpha_correction_ =
false
;
39
};
40
41
#endif
// NCDM_INTERACTING_SPECIES_H
FileContent
Definition
parser.h:21
BaseSpecies::PerturbLayout
Definition
base_species.h:89
SpeciesBuildContext
Definition
species_build_context.h:58
perturb_parameters_and_workspace
Definition
perturbations_module.h:341
species
ncdm_interacting_species.h
Generated by
1.9.8