CosmoBolognaLib
Free Software C++/Python libraries for cosmological calculations
Modelling_NumberCounts.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 
34 #ifndef __MODELLINGNC__
35 #define __MODELLINGNC__
36 
37 
38 #include "NumberCounts.h"
39 #include "Modelling.h"
41 
42 
43 // ===================================================================================================
44 
45 
46 namespace cbl {
47 
48  namespace modelling {
49 
57  namespace numbercounts {
58 
71 
72  protected:
73 
76 
78  double m_fact;
79 
82 
85 
86  public:
87 
92 
97  Modelling_NumberCounts () = default;
98 
104  Modelling_NumberCounts (const std::shared_ptr<cbl::measure::numbercounts::NumberCounts> nc)
105  { m_HistogramType = nc->HistogramType(); m_fact = nc->fact(); }
106 
114  { m_HistogramType = hist_type; m_fact = fact;}
115 
120  virtual ~Modelling_NumberCounts () = default;
121 
123 
128 
135 
136 
138 
145 
147 
148 
153 
218  void set_data_model (const cbl::cosmology::Cosmology cosmology={}, const double redshift=0., const std::string method_Pk="CAMB", const double k_min=1.e-4, const double k_max=100., const int step=500, const bool store_output=true, const int norm=-1, const double Delta=200., const bool isDelta_critical=true, const std::string model_MF="Tinker", const std::string selection_function_file=par::defaultString, const std::vector<int> selection_function_column={}, const double z_min=par::defaultDouble, const double z_max=par::defaultDouble, const int z_step=50, const double Mass_min=par::defaultDouble, const double Mass_max=par::defaultDouble, const int Mass_step=100, const double area_degrees=par::defaultDouble, const double prec=1.e-4);
219 
297  void set_data_model (const cbl::cosmology::Cosmology cosmology, const std::vector<double> SF_weights, const double z_pivot, const double proxy_pivot, const double mass_pivot, const double log_base, const std::string method_Pk, const bool store_output=true, const int norm=-1, const double Delta=200., const bool isDelta_critical=true, const std::string model_MF="Tinker", const std::string model_bias="Tinker", const double z_min=par::defaultDouble, const double z_max=par::defaultDouble, const double area_degrees=par::defaultDouble, const double prec=1.e-4);
298 
300 
378  void set_data_model_SF (const cosmology::Cosmology cosmology, const std::vector<double> radii, const double redshift, const std::string model, const double b_eff, double slope=0.854, double offset=0.420, const double deltav_NL=-0.795, const double del_c=1.69, const std::string method_Pk="EisensteinHu", const double k_Pk_ratio=-1., const bool store_output=true, const std::string output_root="test", const std::string interpType="Linear", const double k_max=100., const std::string input_file=par::defaultString, const bool is_parameter_file=true);
379 
380 
430  virtual void set_data_model_snapshot (const cbl::cosmology::Cosmology cosmology={}, const double redshift=0., const std::string method_Pk="CAMB", const double k_min=1.e-4, const double k_max=100., const int step=500, const bool store_output=true, const int norm=-1, const double Delta=200., const bool isDelta_critical=true, const std::string model_MF="Tinker", const double Volume=par::defaultDouble, const double Mass_min=par::defaultDouble, const double Mass_max=par::defaultDouble, const int Mass_step=100, const double prec=1.e-4)
431  {
432  (void)cosmology; (void)redshift; (void)method_Pk; (void)k_min; (void)k_max; (void)step;
433  (void)store_output; (void)norm; (void)Delta; (void)isDelta_critical; (void)model_MF;
434  (void)Volume; (void)prec; (void)Mass_min; (void)Mass_max; (void)Mass_step;
435  cbl::ErrorCBL("", "set_data_model_snapshot", "Modelling_NumberCounts.h");
436  }
437 
438 
440 
441  };
442  }
443  }
444 }
445 
446 #endif
Global functions to model number counts of any type.
The class Modelling.
The class NumberCounts.
The class Cosmology.
Definition: Cosmology.h:277
The class Modelling.
Definition: Modelling.h:64
void set_data_model(const cbl::cosmology::Cosmology cosmology={}, const double redshift=0., const std::string method_Pk="CAMB", const double k_min=1.e-4, const double k_max=100., const int step=500, const bool store_output=true, const int norm=-1, const double Delta=200., const bool isDelta_critical=true, const std::string model_MF="Tinker", const std::string selection_function_file=par::defaultString, const std::vector< int > selection_function_column={}, const double z_min=par::defaultDouble, const double z_max=par::defaultDouble, const int z_step=50, const double Mass_min=par::defaultDouble, const double Mass_max=par::defaultDouble, const int Mass_step=100, const double area_degrees=par::defaultDouble, const double prec=1.e-4)
set the data used to construct generic models of number counts
Modelling_NumberCounts(glob::HistogramType hist_type, double fact)
constuctor
modelling::numbercounts::STR_NCSF_data_model m_data_model_SF
the container of parameters for size number counts model computation
modelling::numbercounts::STR_NCSF_data_model data_model_SF()
get the member m_data_model_SF
modelling::numbercounts::STR_NC_data_model m_data_model
the container of parameters for number counts model computation
virtual void set_data_model_snapshot(const cbl::cosmology::Cosmology cosmology={}, const double redshift=0., const std::string method_Pk="CAMB", const double k_min=1.e-4, const double k_max=100., const int step=500, const bool store_output=true, const int norm=-1, const double Delta=200., const bool isDelta_critical=true, const std::string model_MF="Tinker", const double Volume=par::defaultDouble, const double Mass_min=par::defaultDouble, const double Mass_max=par::defaultDouble, const int Mass_step=100, const double prec=1.e-4)
set the data used to construct mass number counts of simulation snapshots
glob::HistogramType m_HistogramType
the histogram type
virtual ~Modelling_NumberCounts()=default
default destructor
Modelling_NumberCounts()=default
default constuctor _NumberCounts
modelling::numbercounts::STR_NC_data_model data_model()
get the member m_data_model
Modelling_NumberCounts(const std::shared_ptr< cbl::measure::numbercounts::NumberCounts > nc)
constuctor
void set_data_model_SF(const cosmology::Cosmology cosmology, const std::vector< double > radii, const double redshift, const std::string model, const double b_eff, double slope=0.854, double offset=0.420, const double deltav_NL=-0.795, const double del_c=1.69, const std::string method_Pk="EisensteinHu", const double k_Pk_ratio=-1., const bool store_output=true, const std::string output_root="test", const std::string interpType="Linear", const double k_max=100., const std::string input_file=par::defaultString, const bool is_parameter_file=true)
Member functions used to set the model parameters.
static const std::string defaultString
default std::string value
Definition: Constants.h:336
static const double defaultDouble
default double value
Definition: Constants.h:348
HistogramType
the histogram type
Definition: Histogram.h:49
The global namespace of the CosmoBolognaLib
Definition: CAMB.h:38
int ErrorCBL(const std::string msg, const std::string functionCBL, const std::string fileCBL, const cbl::glob::ExitCode exitCode=cbl::glob::ExitCode::_error_)
throw an exception: it is used for handling exceptions inside the CosmoBolognaLib
Definition: Kernel.h:780