CosmoBolognaLib
Free Software C++/Python libraries for cosmological calculations
ModelFunction_TwoPointCorrelation1D.h
Go to the documentation of this file.
1 /********************************************************************
2  * Copyright (C) 2016 by Federico Marulli and Alfonso Veropalumbo *
3  * federico.marulli3@unibo.it *
4  * *
5  * This program is free software; you can redistribute it and/or *
6  * modify it under the terms of the GNU General Public License as *
7  * published by the Free Software Foundation; either version 2 of *
8  * the License, or (at your option) any later version. *
9  * *
10  * This program is distributed in the hope that it will be useful, *
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13  * GNU General Public License for more details. *
14  * *
15  * You should have received a copy of the GNU General Public *
16  * License along with this program; if not, write to the Free *
17  * Software Foundation, Inc., *
18  * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
19  ********************************************************************/
20 
35 #ifndef __MODFUNCTWOP1D__
36 #define __MODFUNCTWOP1D__
37 
39 
40 
41 // ============================================================================
42 
43 
44 namespace cbl {
45 
46  namespace modelling {
47 
48  namespace twopt {
49 
57  struct STR_data_HOD {
58 
60  std::shared_ptr<cosmology::Cosmology> cosmology;
61 
63  double redshift = 0.;
64 
66  std::string model_MF = "Tinker";
67 
69  std::string model_bias = "Tinker";
70 
72  double Mh_min = 1.e8;
73 
75  double Mh_max = 1.e16;
76 
78  double pi_max = 100.;
79 
81  double r_max_int = 100.;
82 
84  double r_min = 1.e-3;
85 
87  double r_max = 350.;
88 
90  double k_min = 1.e-4;
91 
93  double k_max = 100.;
94 
96  int step = 200;
97 
99  std::vector<double> kkvec;
100 
102  double m_min = 1.e7;
103 
105  double m_max = 1.e17;
106 
108  int m_step = 100;
109 
111  std::vector<double> massvec;
112 
114  std::vector<double> mass_function_vec;
115 
117  std::vector<double> bias_vec;
118 
120  std::vector<double> pk_vec;
121 
124 
127 
130 
132  std::string method_Pk = "CAMB";
133 
135  bool NL = false;
136 
138  bool store_output = true;
139 
141  std::string output_root = "test";
142 
144  double Delta = 200.;
145 
147  double kk = 0.;
148 
150  std::string interpType = "Linear";
151 
153  int norm = -1;
154 
156  double prec = 1.e-2;
157 
160 
162  bool is_parameter_file = true;
163 
165  std::string model_cM = "Duffy";
166 
168  std::string profile = "NFW";
169 
171  std::string halo_def = "vir";
172 
174  std::shared_ptr<glob::FuncGrid> func_Pk;
175 
177  std::shared_ptr<glob::FuncGrid> func_sigma;
178 
180  std::shared_ptr<glob::FuncGrid> func_dlnsigma;
181 
185  STR_data_HOD () = default;
186 
187  };
188 
189  }
190  }
191 }
192 
193 #endif
Global functions to model two-point correlation functions of any type.
The class FuncGrid.
Definition: FuncGrid.h:55
static const std::string defaultString
default std::string value
Definition: Constants.h:336
The global namespace of the CosmoBolognaLib
Definition: CAMB.h:38
std::string profile
the density profile, see cbl::modelling::twopt::concentration
std::string input_file
name of eiter the parameter file or the power spectrum file; if !=NULL, it will be used,...
bool is_parameter_file
if true the input_file is the parameter file, if false is the power spectrum file
double r_max_int
the maximum separation used to count pairs; it is used to compute the upper limit of the line-of-sigh...
std::shared_ptr< glob::FuncGrid > func_dlnsigma
pointer to a function of func_grid_GSL class, used to interpolate
cbl::glob::FuncGrid interpBias
interpolated bias
bool store_output
true the output files created by the Boltmann solver are stored; false the output files are removed
std::vector< double > pk_vec
vector containing bias values for interpolation
bool NL
false → linear power spectrum; true → non-linear power spectrum
int step
number of steps used to compute the binned dark matter correlation function
std::vector< double > massvec
vector containing mass values for interpolation
double m_max
maximum mass for mass function and bias interpolation
double m_min
minimum mass for mass function and bias interpolation
std::vector< double > mass_function_vec
vector containing mass function values for interpolation
std::vector< double > bias_vec
vector containing bias values for interpolation
std::shared_ptr< glob::FuncGrid > func_sigma
pointer to a function of func_grid_GSL class, used to interpolate
std::string model_MF
author(s) of the mass function
cbl::glob::FuncGrid interpPk
interpolated power spectrum
double pi_max
the upper limit of the line-of-sight integration
double r_min
minimum separation up to which the correlation function is computed
double k_min
minimum wave vector module up to which the power spectrum is computed
std::vector< double > kkvec
vector of wave vector module to compute the power spectrum
std::shared_ptr< cosmology::Cosmology > cosmology
cosmology
int norm
norm 0 → don't normalize the power spectrum; 1 → normalise the power spectrum
std::string halo_def
the halo definition, see cbl::modelling::twopt::concentration
std::string method_Pk
method used to compute the power spectrum and σ(mass);
int m_step
number of points used for mass function and bias interpolation
cbl::glob::FuncGrid interpMF
interpolated mass function
double r_max
maximum separation up to which the correlation function is computed
std::string interpType
method to interpolate the power spectrum
std::string model_cM
the author(s) of the concentration-mass relation (see cbl::modelling::twopt::concentration)
double k_max
maximum wave vector module up to which the power spectrum is computed
std::string output_root
output_root of the parameter file used to compute the power spectrum
std::shared_ptr< glob::FuncGrid > func_Pk
pointer to a function of func_grid_GSL class, used to interpolate the power spectrum
STR_data_HOD()=default
default constructor