CosmoBolognaLib
Free Software C++/Python libraries for cosmological calculations
Modelling_PowerSpectrum_Angular.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 __MODELLINGPOWSPECTRUMANG__
35 #define __MODELLINGPOWSPECTRUMANG__
36 
37 #include "Modelling.h"
38 #include "PowerSpectrum_Angular.h"
40 
41 // ===================================================================================================
42 
43 
44 namespace cbl {
45 
46  namespace modelling {
47 
48  namespace angularpk {
49 
62  protected:
63 
65  std::shared_ptr<modelling::angularpk::STR_data_model> m_data_model;
66 
67  public:
68 
73 
78 
84  Modelling_PowerSpectrum_angular (const std::shared_ptr<cbl::measure::angularpk::PowerSpectrum_angular> Pow){
85  m_data = Pow->dataset();
86  };
87 
93  Modelling_PowerSpectrum_angular (const std::shared_ptr<data::Data> dataset){
94  m_data = dataset;
95  };
96 
101  virtual ~Modelling_PowerSpectrum_angular () = default;
102 
104 
105 
110 
111 
112 
136  void set_model_limber (const std::vector<cbl::cosmology::CosmologicalParameter> cosmo_param, const std::vector<statistics::PriorDistribution> cosmo_prior, const statistics::PriorDistribution bias_prior);
137 
165  void set_model_limber (const std::vector<cbl::cosmology::CosmologicalParameter> cosmo_param, const std::vector<statistics::PriorDistribution> cosmo_prior, const statistics::PriorDistribution bias_prior, const statistics::PriorDistribution offset_slope_prior);
166 
191  void set_model_limber_cross (const std::vector<cbl::cosmology::CosmologicalParameter> cosmo_param, const std::vector<statistics::PriorDistribution> cosmo_prior, const statistics::PriorDistribution bias_prior_bin1, const statistics::PriorDistribution bias_prior_bin2);
192 
198  std::shared_ptr<modelling::angularpk::STR_data_model> data_model () { return m_data_model; }
199 
244  void set_data_model (const cbl::cosmology::Cosmology cosmology, const double z_min=0., const double z_max=10., const std::string method_Pk="CAMB", const bool NL=false, const int norm=-1, const double k_min=0.001, const double k_max=5., const std::vector<double> dN_par={}, const double fsky=1., std::vector<double> ll={}, std::vector<std::vector<double>> mixing_matrix={}, const bool interpolate_power_spectrum=false);
245 
296  void set_data_model_cross (const cbl::cosmology::Cosmology cosmology, const double z_min=0., const double z_max=10., const std::string method_Pk="CAMB", const bool NL=false, const int norm=-1, const double k_min=0.001, const double k_max=5., const std::vector<double> dN_par={}, const double fsky=1., std::vector<double> ll={}, std::vector<std::vector<double>> mixing_matrix={}, const bool interpolate_power_spectrum=false, const double z_min_bin2=-1., const double z_max_bin2=-1., const std::vector<double> dN_par_bin2={});
297 
299  };
300  }
301  }
302 }
303 
304 #endif
Global functions to model the angular power spectrum.
The class Modelling.
The class PowerSpectrum_angular.
The class Cosmology.
Definition: Cosmology.h:277
The class Modelling.
Definition: Modelling.h:64
std::shared_ptr< data::Data > m_data
input data to be modelled
Definition: Modelling.h:69
Modelling_PowerSpectrum_angular(const std::shared_ptr< data::Data > dataset)
constructor
void set_data_model_cross(const cbl::cosmology::Cosmology cosmology, const double z_min=0., const double z_max=10., const std::string method_Pk="CAMB", const bool NL=false, const int norm=-1, const double k_min=0.001, const double k_max=5., const std::vector< double > dN_par={}, const double fsky=1., std::vector< double > ll={}, std::vector< std::vector< double >> mixing_matrix={}, const bool interpolate_power_spectrum=false, const double z_min_bin2=-1., const double z_max_bin2=-1., const std::vector< double > dN_par_bin2={})
Set the data used to construct models of the angular power spectrum.
virtual ~Modelling_PowerSpectrum_angular()=default
default destructor
void set_model_limber_cross(const std::vector< cbl::cosmology::CosmologicalParameter > cosmo_param, const std::vector< statistics::PriorDistribution > cosmo_prior, const statistics::PriorDistribution bias_prior_bin1, const statistics::PriorDistribution bias_prior_bin2)
set the model to fit the cross correlation angular power spectrum
void set_data_model(const cbl::cosmology::Cosmology cosmology, const double z_min=0., const double z_max=10., const std::string method_Pk="CAMB", const bool NL=false, const int norm=-1, const double k_min=0.001, const double k_max=5., const std::vector< double > dN_par={}, const double fsky=1., std::vector< double > ll={}, std::vector< std::vector< double >> mixing_matrix={}, const bool interpolate_power_spectrum=false)
Set the data used to construct models of the angular power spectrum.
Modelling_PowerSpectrum_angular(const std::shared_ptr< cbl::measure::angularpk::PowerSpectrum_angular > Pow)
constructor
std::shared_ptr< modelling::angularpk::STR_data_model > m_data_model
the container of parameters for angular power spectrum model computation
std::shared_ptr< modelling::angularpk::STR_data_model > data_model()
get the member m_data_model
void set_model_limber(const std::vector< cbl::cosmology::CosmologicalParameter > cosmo_param, const std::vector< statistics::PriorDistribution > cosmo_prior, const statistics::PriorDistribution bias_prior)
set the model to fit the angular power spectrum
The class PriorDistribution.
The global namespace of the CosmoBolognaLib
Definition: CAMB.h:38