48 shared_ptr<STR_NC_data_model> pp = static_pointer_cast<STR_NC_data_model>(inputs);
57 for (
size_t i=0; i<pp->Cpar.size(); ++i)
61 std::vector<double> Pk = cosmo.
Pk_matter(pp->kk, pp->method_Pk,
false, 0., pp->store_output, pp->output_root, pp->norm, pp->k_min, pp->k_max, pp->prec, pp->file_par,
true);
63 return cbl::modelling::numbercounts::mass_function (mass, cosmo, pp->redshift, pp->model_MF, pp->store_output, pp->Delta, pp->isDelta_critical, pp->kk, Pk,
"Spline", pp->k_max);
73 shared_ptr<STR_NC_data_model> pp = static_pointer_cast<STR_NC_data_model>(inputs);
82 for (
size_t i=0; i<pp->Cpar.size(); ++i)
86 std::vector<double> Pk = cosmo.
Pk_matter(pp->kk, pp->method_Pk,
false, 0., pp->store_output, pp->output_root, pp->norm, pp->k_min, pp->k_max, pp->prec, pp->file_par,
true);
88 std::vector<double>
mass_function =
cbl::modelling::numbercounts::mass_function (pp->Mass_vector, cosmo, pp->redshift, pp->model_MF, pp->store_output, pp->Delta, pp->isDelta_critical, pp->kk, Pk,
"Spline", pp->k_max);
92 std::vector<double> number_density(mass.size());
94 for (
size_t i=0; i<mass.size(); i++)
95 number_density[i] = interp_MF.
integrate_qag(pp->edges_x[i], pp->edges_x[i+1]);
97 return number_density;
109 shared_ptr<STR_NC_data_model> pp = static_pointer_cast<STR_NC_data_model>(inputs);
118 for (
size_t i=0; i<pp->Cpar.size(); ++i)
122 std::vector<double> Pk = cosmo.
Pk_matter(pp->kk, pp->method_Pk,
false, 0., pp->store_output, pp->output_root, pp->norm, pp->k_min, pp->k_max, pp->prec, pp->file_par,
true);
128 for (
size_t j=0; j<pp->edges_x.size()-1; j++) {
129 number_counts[j] =
cbl::modelling::numbercounts::number_counts(pp->z_min, pp->z_max, pp->edges_x[j], pp->edges_x[j+1], cosmo, pp->area_rad, pp->model_MF, pp->store_output, pp->Delta, pp->isDelta_critical, interp[0], interp[1]);
144 shared_ptr<STR_NC_data_model> pp = static_pointer_cast<STR_NC_data_model>(inputs);
153 for (
size_t i=0; i<pp->Cpar.size(); ++i)
157 std::vector<double> Pk = cosmo.
Pk_matter(pp->kk, pp->method_Pk,
false, 0., pp->store_output, pp->output_root, pp->norm, pp->k_min, pp->k_max, pp->prec, pp->file_par,
true);
159 std::vector<double>
mass_function =
cbl::modelling::numbercounts::mass_function (pp->Mass_vector, cosmo, pp->redshift, pp->model_MF, pp->store_output, pp->Delta, pp->isDelta_critical, pp->kk, Pk,
"Spline", pp->k_max);
165 for (
size_t i=0; i<pp->edges_x.size()-1; i++) {
Global functions to model number counts.
void set_parameter(const CosmologicalParameter parameter, const double value)
set the value of one cosmological paramter
std::vector< double > Pk_matter(const std::vector< double > kk, const std::string method_Pk, const bool NL, const double redshift, const bool store_output=true, const std::string output_root="test", const int norm=-1, const double k_min=0.001, const double k_max=100., const double prec=1.e-2, const std::string file_par=par::defaultString, const bool unit1=false)
the dark matter power spectrum
double integrate_qag(const double a, const double b, const double rel_err=1.e-2, const double abs_err=1.e-6, const int limit_size=1000, const int rule=6)
compute the definite integral with GSL qag method
void sigmaM_dlnsigmaM(double &sigmaM, double &dlnsigmaM, const double mass, const cbl::glob::FuncGrid interp_Pk, const double kmax, const double rho)
compute
std::vector< double > mass_function_mass(const std::vector< double > mass, const std::shared_ptr< void > inputs, std::vector< double > ¶meter)
compute the mass function as a function of the mass
double mass_function(const double mass, cosmology::Cosmology cosmology, const double redshift, const std::string model_MF, const bool store_output, const double Delta, const bool isDelta_critical, const cbl::glob::FuncGrid interp_Pk, const double kmax)
compute the mass function
double number_counts(const double redshift_min, const double redshift_max, const double Mass_min, const double Mass_max, cosmology::Cosmology cosmology, const double Area, const std::string model_MF, const bool store_output, const double Delta, const bool isDelta_critical, const glob::FuncGrid interp_sigmaM, const glob::FuncGrid interp_DlnsigmaM)
compute the number counts as function of mass and redshift
std::vector< double > number_density_mass(const std::vector< double > mass, const std::shared_ptr< void > inputs, std::vector< double > ¶meter)
compute the number density as a function of the mass
std::vector< double > number_counts_mass_snapshot(const std::vector< double > mass, const std::shared_ptr< void > inputs, std::vector< double > ¶meter)
compute the number counts as a function of the mass for a simulation snapshot
std::vector< double > number_counts_mass(const std::vector< double > mass, const std::shared_ptr< void > inputs, std::vector< double > ¶meter)
compute the number counts as a function of the mass
The global namespace of the CosmoBolognaLib