CosmoBolognaLib
Free Software C++/Python libraries for cosmological calculations
NumberCounts.h
Go to the documentation of this file.
1 /********************************************************************
2  * Copyright (C) 2010 by Federico Marulli *
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 __NCOUNTS__
35 #define __NCOUNTS__
36 
37 
38 #include "Catalogue.h"
39 #include "Measure.h"
40 #include "Histogram.h"
41 
42 
43 // ===================================================================================================
44 
45 
46 namespace cbl {
47 
48  namespace measure {
49 
57  namespace numbercounts {
58 
69  class NumberCounts : public Measure {
70 
71  protected :
72 
77 
79  std::shared_ptr<catalogue::Catalogue> m_data;
80 
82 
87 
90 
92  double m_fact;
93 
95  std::shared_ptr<glob::Histogram> m_histogram;
96 
98 
99 
104 
112  virtual std::shared_ptr<data::Data> m_measurePoisson ()
113  { ErrorCBL("", "m_measurePoisson", "NumberCounts.h"); return NULL; }
114 
125  virtual std::shared_ptr<data::Data> m_measureJackknife (const std::string dir_output_resample=par::defaultString)
126  { (void)dir_output_resample; ErrorCBL("", "m_measureJackknife", "NumberCounts.h"); return NULL; }
127 
142  virtual std::shared_ptr<data::Data> m_measureBootstrap (const std::string dir_output_resample=par::defaultString, const int nResamplings=0, const int seed=3213)
143  { (void)dir_output_resample; (void)nResamplings; (void)seed; ErrorCBL("", "m_measureBootstrap", "NumberCounts.h"); return NULL; }
144 
146 
147  public:
148 
153 
159  NumberCounts () = default;
160 
165  virtual ~NumberCounts () = default;
166 
168 
173 
179  void set_data (const catalogue::Catalogue data)
180  { m_data = std::make_shared<catalogue::Catalogue>(catalogue::Catalogue(std::move(data))); }
181 
183 
188 
193  std::shared_ptr<catalogue::Catalogue> catalogue () { return m_data; }
194 
196 
200 
218  virtual void measure (const ErrorType errorType=ErrorType::_Poisson_, const std::string dir_output_resample=par::defaultString, const int nResamplings=0, const int seed=3213, const bool conv=false, const double sigma=0.)
219  { (void)errorType; (void)dir_output_resample; (void)nResamplings; (void)seed; (void)conv; (void)sigma; ErrorCBL("", "measure", "NumberCounts.h"); }
220 
222 
227 
234  virtual void write (const std::string dir=par::defaultString, const std::string file=par::defaultString, const int rank=0) const
235  { (void)dir; (void)file; (void)rank; ErrorCBL("", "write", "NumberCounts.h"); }
236 
237 
239 
244 
251  virtual void write_covariance (const std::string dir, const std::string file) const
252  { (void)dir; (void)file; ErrorCBL("", "write_covariance", "NumberCounts.h"); }
253 
261  virtual void compute_covariance (const std::vector<std::shared_ptr<glob::Histogram>> histo, const bool JK)
262  { (void)histo; (void)JK; ErrorCBL("", "compute_covariance", "NumberCounts.h"); }
263 
271  virtual std::shared_ptr<data::Data> Gaussian_smoothing (const double sigma)
272  { (void)sigma; ErrorCBL("", "Gaussian_smoothing", "NumberCounts.h"); return NULL; }
273 
275 
280 
286  std::shared_ptr<glob::Histogram> histogram () { return m_histogram; }
287 
295 
301  double fact () { return m_fact; }
302 
304 
305 
306  };
307  }
308  }
309 }
310 
311 #endif
The class Catalogue
Class used to handle binned variables.
The class Measure.
The class Catalogue.
Definition: Catalogue.h:654
The class Measure.
Definition: Measure.h:142
virtual void write(const std::string dir=par::defaultString, const std::string file=par::defaultString, const int rank=0) const
write the measured number counts
Definition: NumberCounts.h:234
std::shared_ptr< glob::Histogram > histogram()
return the binned counts
Definition: NumberCounts.h:286
virtual void write_covariance(const std::string dir, const std::string file) const
write the measured covariance matrix
Definition: NumberCounts.h:251
std::shared_ptr< catalogue::Catalogue > m_data
input data catalogue
Definition: NumberCounts.h:79
std::shared_ptr< glob::Histogram > m_histogram
number counts type
Definition: NumberCounts.h:95
void set_data(const catalogue::Catalogue data)
add a data catalogue
Definition: NumberCounts.h:179
virtual std::shared_ptr< data::Data > m_measurePoisson()
measure the number counts with Poisson errors
Definition: NumberCounts.h:112
virtual void measure(const ErrorType errorType=ErrorType::_Poisson_, const std::string dir_output_resample=par::defaultString, const int nResamplings=0, const int seed=3213, const bool conv=false, const double sigma=0.)
measure the number counts
Definition: NumberCounts.h:218
virtual void compute_covariance(const std::vector< std::shared_ptr< glob::Histogram >> histo, const bool JK)
compute the covariance matrix
Definition: NumberCounts.h:261
NumberCounts()=default
default constructor
glob::HistogramType m_HistogramType
the histogram type
Definition: NumberCounts.h:89
std::shared_ptr< catalogue::Catalogue > catalogue()
function to get the protected member m_data
Definition: NumberCounts.h:193
virtual ~NumberCounts()=default
default destructor
virtual std::shared_ptr< data::Data > m_measureJackknife(const std::string dir_output_resample=par::defaultString)
measure the number counts with Jackknife covariance matrix
Definition: NumberCounts.h:125
virtual std::shared_ptr< data::Data > Gaussian_smoothing(const double sigma)
apply a Gaussian filter to the distribution
Definition: NumberCounts.h:271
virtual std::shared_ptr< data::Data > m_measureBootstrap(const std::string dir_output_resample=par::defaultString, const int nResamplings=0, const int seed=3213)
measure the number counts with Bootstrap covariance matrix
Definition: NumberCounts.h:142
double fact()
return the normalization factor
Definition: NumberCounts.h:301
glob::HistogramType HistogramType()
return the type of histogram normalization
Definition: NumberCounts.h:294
double m_fact
the normalization factor
Definition: NumberCounts.h:92
static const std::string defaultString
default std::string value
Definition: Constants.h:336
HistogramType
the histogram type
Definition: Histogram.h:49
ErrorType
the two-point correlation function error type
Definition: Measure.h:59
@ _Poisson_
Poissonian error.
The global namespace of the CosmoBolognaLib
Definition: CAMB.h:38
std::string conv(const T val, const char *fact)
convert a number to a std::string
Definition: Kernel.h:903
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