CosmoBolognaLib
Free Software C++/Python libraries for cosmological calculations
Pair1D_extra.h
Go to the documentation of this file.
1 /*******************************************************************
2  * Copyright (C) 2015 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 
35 #ifndef __PAIR1D_EXTRA__
36 #define __PAIR1D_EXTRA__
37 
38 
39 #include "Pair1D.h"
40 
41 
42 // ===================================================================================================
43 
44 
45 namespace cbl {
46 
47  namespace pairs {
48 
57  class Pair1D_extra : public virtual Pair1D {
58 
59  protected:
60 
62  std::vector<double> m_scale_mean;
63 
65  std::vector<double> m_scale_S;
66 
68  std::vector<double> m_scale_sigma;
69 
71  std::vector<double> m_z_mean;
72 
74  std::vector<double> m_z_S;
75 
77  std::vector<double> m_z_sigma;
78 
79 
84 
86  std::vector<double> m_fact_scale;
87 
89  std::vector<double> m_fact_z;
90 
92 
93 
94  public:
95 
100 
104  Pair1D_extra () = default;
105 
114  Pair1D_extra (const double binSize, const int nbins, const double shift, const CoordinateUnits angularUnits, std::function<double(double)> angularWeight=nullptr)
115  : Pair1D(binSize, nbins, shift, angularUnits, angularWeight) {}
116 
121  virtual ~Pair1D_extra () = default;
122 
124 
125 
130 
136  double scale_mean (const int i) const override { return m_scale_mean[i]; }
137 
142  std::vector<double> scale_mean () const override { return m_scale_mean; }
143 
151  double scale_S (const int i) const override { return m_scale_S[i]; }
152 
158  std::vector<double> scale_S () const override { return m_scale_S; }
159 
166  double scale_sigma (const int i) const override { return m_scale_sigma[i]; }
167 
173  std::vector<double> scale_sigma () const override { return m_scale_sigma; }
174 
180  double z_mean (const int i) const override { return m_z_mean[i]; }
181 
186  std::vector<double> z_mean () const override { return m_z_mean; }
187 
195  double z_S (const int i) const override { return m_z_S[i]; }
196 
202  std::vector<double> z_S () const override { return m_z_S; }
203 
210  double z_sigma (const int i) const override { return m_z_sigma[i]; }
211 
217  std::vector<double> z_sigma () const override { return m_z_sigma; }
218 
220 
221 
226 
233  void set_scale_mean (const int i, const double ss) { checkDim(m_scale_mean, i, "m_scale_mean"); m_scale_mean[i] = ss; }
234 
241  void set_scale_sigma (const int i, const double ss) { checkDim(m_scale_sigma, i, "m_scale_sigma"); m_scale_sigma[i] = ss; }
242 
249  void set_z_mean (const int i, const double ss) { checkDim(m_z_mean, i, "m_z_mean"); m_z_mean[i] = ss; }
250 
257  void set_z_sigma (const int i, const double ss) { checkDim(m_z_sigma, i, "m_z_sigma"); m_z_sigma[i] = ss; }
258 
265  void add_data1D (const int i, const std::vector<double> data) override;
266 
274  void add_data1D (const int i, const std::shared_ptr<pairs::Pair> pair, const double ww=1.) override;
275 
277 
278 
283 
289  virtual void Sum (const std::shared_ptr<Pair> pair, const double ww=1) override;
290 
292 
293  };
294 
295 
296  // ============================================================================================
297  // ============================================================================================
298 
299 
308  class Pair1D_angular_extra : public virtual Pair1D_extra, public virtual Pair1D_angular {
309 
310  public:
311 
316 
320  Pair1D_angular_extra () = default;
321 
338  Pair1D_angular_extra (const double thetaMin, const double thetaMax, const int nbins, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
339  : Pair1D_angular(thetaMin, thetaMax, nbins, shift, angularUnits, angularWeight) {}
340 
353  Pair1D_angular_extra (const double thetaMin, const double thetaMax, const double binSize, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
354  : Pair1D_angular(thetaMin, thetaMax, binSize, shift, angularUnits, angularWeight) {}
355 
360  virtual ~Pair1D_angular_extra () = default;
361 
363 
364  };
365 
366 
367  // ============================================================================================
368  // ============================================================================================
369 
370 
379  class Pair1D_angular_lin_extra : public virtual Pair1D_angular_extra, public virtual Pair1D_angular_lin {
380 
381  public:
382 
387 
392  {
395  }
396 
409  Pair1D_angular_lin_extra (const double thetaMin, const double thetaMax, const int nbins, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
411  {
415  m_scale_mean.resize(m_nbins+1, 0.);
416  m_scale_S.resize(m_nbins+1, 0.);
417  m_scale_sigma.resize(m_nbins+1, 0.);
418  m_z_mean.resize(m_nbins+1, 0.);
419  m_z_S.resize(m_nbins+1, 0.);
420  m_z_sigma.resize(m_nbins+1, 0.);
421  m_fact_scale.resize(m_nbins+1, -1.);
422  m_fact_z.resize(m_nbins+1, -1.);
423  }
424 
437  Pair1D_angular_lin_extra (const double thetaMin, const double thetaMax, const double binSize, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
438  : Pair1D(binSize, 50, shift, angularUnits, angularWeight), Pair1D_angular(thetaMin, thetaMax, binSize, shift, angularUnits, angularWeight)
439  {
443  m_scale_mean.resize(m_nbins+1, 0.);
444  m_scale_S.resize(m_nbins+1, 0.);
445  m_scale_sigma.resize(m_nbins+1, 0.);
446  m_z_mean.resize(m_nbins+1, 0.);
447  m_z_S.resize(m_nbins+1, 0.);
448  m_z_sigma.resize(m_nbins+1, 0.);
449  m_fact_scale.resize(m_nbins+1, -1.);
450  m_fact_z.resize(m_nbins+1, -1.);
451  }
452 
458 
460 
461 
466 
474  void put (const std::shared_ptr<catalogue::Object> obj1, const std::shared_ptr<catalogue::Object> obj2) override;
475 
477 
478  };
479 
480 
481  // ============================================================================================
482  // ============================================================================================
483 
484 
493  class Pair1D_angular_log_extra : public virtual Pair1D_angular_extra, public virtual Pair1D_angular_log {
494 
495  public:
496 
501 
506  {
509  }
510 
523  Pair1D_angular_log_extra (const double thetaMin, const double thetaMax, const int nbins, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
525  {
529  m_scale_mean.resize(m_nbins+1, 0.);
530  m_scale_S.resize(m_nbins+1, 0.);
531  m_scale_sigma.resize(m_nbins+1, 0.);
532  m_z_mean.resize(m_nbins+1, 0.);
533  m_z_S.resize(m_nbins+1, 0.);
534  m_z_sigma.resize(m_nbins+1, 0.);
535  m_fact_scale.resize(m_nbins+1, -1.);
536  m_fact_z.resize(m_nbins+1, -1.);
537  }
538 
551  Pair1D_angular_log_extra (const double thetaMin, const double thetaMax, const double binSize, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
552  : Pair1D(binSize, 50, shift, angularUnits, angularWeight), Pair1D_angular(thetaMin, thetaMax, binSize, shift, angularUnits, angularWeight)
553  {
557  m_scale_mean.resize(m_nbins+1, 0.);
558  m_scale_S.resize(m_nbins+1, 0.);
559  m_scale_sigma.resize(m_nbins+1, 0.);
560  m_z_mean.resize(m_nbins+1, 0.);
561  m_z_S.resize(m_nbins+1, 0.);
562  m_z_sigma.resize(m_nbins+1, 0.);
563  m_fact_scale.resize(m_nbins+1, -1.);
564  m_fact_z.resize(m_nbins+1, -1.);
565  }
566 
572 
574 
575 
580 
588  void put (const std::shared_ptr<catalogue::Object> obj1, const std::shared_ptr<catalogue::Object> obj2) override;
589 
591 
592  };
593 
594 
595  // ============================================================================================
596  // ============================================================================================
597 
598 
607  class Pair1D_comoving_extra : public virtual Pair1D_extra, public virtual Pair1D_comoving {
608 
609  public:
610 
615 
619  Pair1D_comoving_extra () = default;
620 
631  Pair1D_comoving_extra (const double rMin, const double rMax, const int nbins, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
633 
644  Pair1D_comoving_extra (const double rMin, const double rMax, const double binSize, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
645  : Pair1D_comoving(rMin, rMax, binSize, shift, angularUnits, angularWeight) {}
646 
651  virtual ~Pair1D_comoving_extra () = default;
652 
654 
655  };
656 
657 
658  // ============================================================================================
659  // ============================================================================================
660 
661 
670  class Pair1D_comoving_lin_extra : public virtual Pair1D_comoving_extra, public virtual Pair1D_comoving_lin {
671 
672  public:
673 
678 
683  {
686  }
687 
698  Pair1D_comoving_lin_extra (const double rMin, const double rMax, const int nbins, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
700  {
704  m_scale_mean.resize(m_nbins+1, 0.);
705  m_scale_S.resize(m_nbins+1, 0.);
706  m_scale_sigma.resize(m_nbins+1, 0.);
707  m_z_mean.resize(m_nbins+1, 0.);
708  m_z_S.resize(m_nbins+1, 0.);
709  m_z_sigma.resize(m_nbins+1, 0.);
710  m_fact_scale.resize(m_nbins+1, -1.);
711  m_fact_z.resize(m_nbins+1, -1.);
712  }
713 
724  Pair1D_comoving_lin_extra (const double rMin, const double rMax, const double binSize, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
725  : Pair1D(binSize, 50, shift, angularUnits, angularWeight), Pair1D_comoving(rMin, rMax, binSize, shift, angularUnits, angularWeight)
726  {
730  m_scale_mean.resize(m_nbins+1, 0.);
731  m_scale_S.resize(m_nbins+1, 0.);
732  m_scale_sigma.resize(m_nbins+1, 0.);
733  m_z_mean.resize(m_nbins+1, 0.);
734  m_z_S.resize(m_nbins+1, 0.);
735  m_z_sigma.resize(m_nbins+1, 0.);
736  m_fact_scale.resize(m_nbins+1, -1.);
737  m_fact_z.resize(m_nbins+1, -1.);
738  }
739 
740 
746 
748 
749 
754 
762  void put (const std::shared_ptr<catalogue::Object> obj1, const std::shared_ptr<catalogue::Object> obj2) override;
763 
765 
766  };
767 
768 
769  // ============================================================================================
770  // ============================================================================================
771 
772 
781  class Pair1D_comoving_log_extra : public virtual Pair1D_comoving_extra, public virtual Pair1D_comoving_log {
782 
783  public:
784 
789 
794  {
797  }
798 
809  Pair1D_comoving_log_extra (const double rMin, const double rMax, const int nbins, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
811  {
815  m_scale_mean.resize(m_nbins+1, 0.);
816  m_scale_S.resize(m_nbins+1, 0.);
817  m_scale_sigma.resize(m_nbins+1, 0.);
818  m_z_mean.resize(m_nbins+1, 0.);
819  m_z_S.resize(m_nbins+1, 0.);
820  m_z_sigma.resize(m_nbins+1, 0.);
821  m_fact_scale.resize(m_nbins+1, -1.);
822  m_fact_z.resize(m_nbins+1, -1.);
823  }
824 
835  Pair1D_comoving_log_extra (const double rMin, const double rMax, const double binSize, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
836  : Pair1D(binSize, 50, shift, angularUnits, angularWeight), Pair1D_comoving(rMin, rMax, binSize, shift, angularUnits, angularWeight)
837  {
841  m_scale_mean.resize(m_nbins+1, 0.);
842  m_scale_S.resize(m_nbins+1, 0.);
843  m_scale_sigma.resize(m_nbins+1, 0.);
844  m_z_mean.resize(m_nbins+1, 0.);
845  m_z_S.resize(m_nbins+1, 0.);
846  m_z_sigma.resize(m_nbins+1, 0.);
847  m_fact_scale.resize(m_nbins+1, -1.);
848  m_fact_z.resize(m_nbins+1, -1.);
849  }
850 
856 
858 
859 
864 
872  void put (const std::shared_ptr<catalogue::Object> obj1, const std::shared_ptr<catalogue::Object> obj2) override;
873 
875 
876  };
877 
878  // ============================================================================================
879  // ============================================================================================
880 
881 
891 
892  public:
893 
898 
903 
914  Pair1D_comoving_multipoles_extra (const double rMin, const double rMax, const int nbins, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
916 
927  Pair1D_comoving_multipoles_extra (const double rMin, const double rMax, const double binSize, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
928  : Pair1D_comoving_multipoles(rMin, rMax, binSize, shift, angularUnits, angularWeight) {}
929 
934  virtual ~Pair1D_comoving_multipoles_extra () = default;
935 
937 
938  };
939 
940  // ============================================================================================
941  // ============================================================================================
942 
952 
953  public:
954 
959 
964  {
967  }
968 
979  Pair1D_comoving_multipoles_lin_extra (const double rMin, const double rMax, const int nbins, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
981  {
985  m_PP1D.resize(3*(m_nbins+1), 0.);
986  m_PP1D_weighted.resize(3*(m_nbins+1), 0.);
987  m_scale_mean.resize(3*(m_nbins+1), 0.);
988  m_scale_S.resize(3*(m_nbins+1), 0.);
989  m_scale_sigma.resize(3*(m_nbins+1), 0.);
990  m_z_mean.resize(3*(m_nbins+1), 0.);
991  m_z_S.resize(3*(m_nbins+1), 0.);
992  m_z_sigma.resize(3*(m_nbins+1), 0.);
993  m_fact_scale.resize(3*(m_nbins+1), -1.);
994  m_fact_z.resize(3*(m_nbins+1), -1.);
995  }
996 
1007  Pair1D_comoving_multipoles_lin_extra (const double rMin, const double rMax, const double binSize, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
1009  {
1013  m_PP1D.resize(3*(m_nbins+1), 0.);
1014  m_PP1D_weighted.resize(3*(m_nbins+1), 0.);
1015  m_scale_mean.resize(3*(m_nbins+1), 0.);
1016  m_scale_S.resize(3*(m_nbins+1), 0.);
1017  m_scale_sigma.resize(3*(m_nbins+1), 0.);
1018  m_z_mean.resize(3*(m_nbins+1), 0.);
1019  m_z_S.resize(3*(m_nbins+1), 0.);
1020  m_z_sigma.resize(3*(m_nbins+1), 0.);
1021  m_fact_scale.resize(3*(m_nbins+1), -1.);
1022  m_fact_z.resize(3*(m_nbins+1), -1.);
1023  }
1024 
1025 
1031 
1033 
1034 
1039 
1046  void put (const std::shared_ptr<catalogue::Object> obj1, const std::shared_ptr<catalogue::Object> obj2) override;
1047 
1053  virtual void Sum (const std::shared_ptr<Pair> pair, const double ww=1) override;
1054 
1056 
1057  };
1058 
1059 
1060  // ============================================================================================
1061  // ============================================================================================
1062 
1072 
1073  public:
1074 
1079 
1084  {
1087  }
1088 
1099  Pair1D_comoving_multipoles_log_extra (const double rMin, const double rMax, const int nbins, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
1101  {
1105  m_PP1D.resize(3*(m_nbins+1), 0.);
1106  m_PP1D_weighted.resize(3*(m_nbins+1), 0.);
1107  m_scale_mean.resize(3*(m_nbins+1), 0.);
1108  m_scale_S.resize(3*(m_nbins+1), 0.);
1109  m_scale_sigma.resize(3*(m_nbins+1), 0.);
1110  m_z_mean.resize(3*(m_nbins+1), 0.);
1111  m_z_S.resize(3*(m_nbins+1), 0.);
1112  m_z_sigma.resize(3*(m_nbins+1), 0.);
1113  m_fact_scale.resize(3*(m_nbins+1), -1.);
1114  m_fact_z.resize(3*(m_nbins+1), -1.);
1115  }
1116 
1127  Pair1D_comoving_multipoles_log_extra (const double rMin, const double rMax, const double binSize, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
1129  {
1133  m_PP1D.resize(3*(m_nbins+1), 0.);
1134  m_PP1D_weighted.resize(3*(m_nbins+1), 0.);
1135  m_scale_mean.resize(3*(m_nbins+1), 0.);
1136  m_scale_S.resize(3*(m_nbins+1), 0.);
1137  m_scale_sigma.resize(3*(m_nbins+1), 0.);
1138  m_z_mean.resize(3*(m_nbins+1), 0.);
1139  m_z_S.resize(3*(m_nbins+1), 0.);
1140  m_z_sigma.resize(3*(m_nbins+1), 0.);
1141  m_fact_scale.resize(3*(m_nbins+1), -1.);
1142  m_fact_z.resize(3*(m_nbins+1), -1.);
1143  }
1144 
1145 
1151 
1153 
1154 
1159 
1167  void put (const std::shared_ptr<catalogue::Object> obj1, const std::shared_ptr<catalogue::Object> obj2) override;
1168 
1174  virtual void Sum (const std::shared_ptr<Pair> pair, const double ww=1) override;
1175 
1177 
1178  };
1179  }
1180 }
1181 
1182 #endif
The classes Pair1D*.
The class Pair1D_angular_extra.
Definition: Pair1D_extra.h:308
Pair1D_angular_extra(const double thetaMin, const double thetaMax, const double binSize, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair1D_extra.h:353
virtual ~Pair1D_angular_extra()=default
default destructor
Pair1D_angular_extra()=default
default constructor
Pair1D_angular_extra(const double thetaMin, const double thetaMax, const int nbins, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair1D_extra.h:338
The class Pair1D_angular_lin_extra.
Definition: Pair1D_extra.h:379
Pair1D_angular_lin_extra()
default constructor
Definition: Pair1D_extra.h:391
Pair1D_angular_lin_extra(const double thetaMin, const double thetaMax, const int nbins, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair1D_extra.h:409
void put(const std::shared_ptr< catalogue::Object > obj1, const std::shared_ptr< catalogue::Object > obj2) override
estimate the distance between two objects and update the pair vector accordingly
~Pair1D_angular_lin_extra()=default
default destructor
Pair1D_angular_lin_extra(const double thetaMin, const double thetaMax, const double binSize, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair1D_extra.h:437
The class Pair1D_angular_lin.
Definition: Pair1D.h:427
void m_set_parameters_nbins() override
set the binning parameters given the number of bins
Definition: Pair1D.cpp:58
void m_set_parameters_binSize() override
set the binning parameters given the bin size
Definition: Pair1D.cpp:72
The class Pair1D_angular_log_extra.
Definition: Pair1D_extra.h:493
void put(const std::shared_ptr< catalogue::Object > obj1, const std::shared_ptr< catalogue::Object > obj2) override
estimate the distance between two objects and update the pair vector accordingly
Pair1D_angular_log_extra(const double thetaMin, const double thetaMax, const double binSize, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair1D_extra.h:551
Pair1D_angular_log_extra(const double thetaMin, const double thetaMax, const int nbins, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair1D_extra.h:523
Pair1D_angular_log_extra()
default constructor
Definition: Pair1D_extra.h:505
~Pair1D_angular_log_extra()=default
default destructor
The class Pair1D_angular_log.
Definition: Pair1D.h:570
void m_set_parameters_nbins() override
set the binning parameters given the number of bins
Definition: Pair1D.cpp:86
void m_set_parameters_binSize() override
set the binning parameters given the bin size
Definition: Pair1D.cpp:102
The class Pair1D_angular.
Definition: Pair1D.h:300
The class Pair1D_comoving_extra.
Definition: Pair1D_extra.h:607
Pair1D_comoving_extra()=default
default constructor
Pair1D_comoving_extra(const double rMin, const double rMax, const double binSize, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair1D_extra.h:644
Pair1D_comoving_extra(const double rMin, const double rMax, const int nbins, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair1D_extra.h:631
virtual ~Pair1D_comoving_extra()=default
default destructor
The class Pair1D_comoving_lin_extra.
Definition: Pair1D_extra.h:670
void put(const std::shared_ptr< catalogue::Object > obj1, const std::shared_ptr< catalogue::Object > obj2) override
estimate the distance between two objects and update the pair vector accordingly
Pair1D_comoving_lin_extra()
default constructor
Definition: Pair1D_extra.h:682
~Pair1D_comoving_lin_extra()=default
default destructor
Pair1D_comoving_lin_extra(const double rMin, const double rMax, const int nbins, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair1D_extra.h:698
Pair1D_comoving_lin_extra(const double rMin, const double rMax, const double binSize, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair1D_extra.h:724
The class Pair1D_comoving_lin.
Definition: Pair1D.h:832
void m_set_parameters_nbins() override
set the binning parameters given the number of bins
Definition: Pair1D.cpp:118
void m_set_parameters_binSize() override
set the binning parameters given the bin size
Definition: Pair1D.cpp:132
The class Pair1D_comoving_log_extra.
Definition: Pair1D_extra.h:781
Pair1D_comoving_log_extra(const double rMin, const double rMax, const int nbins, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair1D_extra.h:809
~Pair1D_comoving_log_extra()=default
default destructor
Pair1D_comoving_log_extra()
default constructor
Definition: Pair1D_extra.h:793
Pair1D_comoving_log_extra(const double rMin, const double rMax, const double binSize, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair1D_extra.h:835
void put(const std::shared_ptr< catalogue::Object > obj1, const std::shared_ptr< catalogue::Object > obj2) override
estimate the distance between two objects and update the pair vector accordingly
The class Pair1D_comoving_log.
Definition: Pair1D.h:971
void m_set_parameters_nbins() override
set the binning parameters given the number of bins
Definition: Pair1D.cpp:146
void m_set_parameters_binSize() override
set the binning parameters given the bin size
Definition: Pair1D.cpp:162
The class Pair1D_comoving_multipoles_extra.
Definition: Pair1D_extra.h:890
Pair1D_comoving_multipoles_extra()=default
default constructor
virtual ~Pair1D_comoving_multipoles_extra()=default
default destructor
Pair1D_comoving_multipoles_extra(const double rMin, const double rMax, const double binSize, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair1D_extra.h:927
Pair1D_comoving_multipoles_extra(const double rMin, const double rMax, const int nbins, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair1D_extra.h:914
The class Pair1D_comoving_multipoles_lin_extra.
Definition: Pair1D_extra.h:951
virtual void Sum(const std::shared_ptr< Pair > pair, const double ww=1) override
sum the number of binned pairs
Pair1D_comoving_multipoles_lin_extra(const double rMin, const double rMax, const double binSize, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
void put(const std::shared_ptr< catalogue::Object > obj1, const std::shared_ptr< catalogue::Object > obj2) override
estimate the distance between two objects and update the pair vector accordingly
Pair1D_comoving_multipoles_lin_extra(const double rMin, const double rMax, const int nbins, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair1D_extra.h:979
~Pair1D_comoving_multipoles_lin_extra()=default
default destructor
The class Pair1D_comoving_multipoles_lin.
Definition: Pair1D.h:1235
void m_set_parameters_nbins() override
set the binning parameters given the number of bins
Definition: Pair1D.cpp:178
void m_set_parameters_binSize() override
set the binning parameters given the bin size
Definition: Pair1D.cpp:193
The class Pair1D_comoving_multipoles_log_extra.
Pair1D_comoving_multipoles_log_extra(const double rMin, const double rMax, const int nbins, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
virtual void Sum(const std::shared_ptr< Pair > pair, const double ww=1) override
sum the number of binned pairs
void put(const std::shared_ptr< catalogue::Object > obj1, const std::shared_ptr< catalogue::Object > obj2) override
estimate the distance between two objects and update the pair vector accordingly
~Pair1D_comoving_multipoles_log_extra()=default
default destructor
Pair1D_comoving_multipoles_log_extra(const double rMin, const double rMax, const double binSize, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
The class Pair1D_comoving_multipoles_log.
Definition: Pair1D.h:1389
void m_set_parameters_binSize() override
set the binning parameters given the bin size
Definition: Pair1D.cpp:225
void m_set_parameters_nbins() override
set the binning parameters given the number of bins
Definition: Pair1D.cpp:208
The class Pair1D_comoving_multipoles.
Definition: Pair1D.h:1109
The class Pair1D_comoving.
Definition: Pair1D.h:713
The class Pair1D_extra.
Definition: Pair1D_extra.h:57
double z_mean(const int i) const override
get the protected member Pair1D_extra::m_z_mean[i]
Definition: Pair1D_extra.h:180
std::vector< double > m_scale_S
the square of the standard deviations of the scale distributions in each bin, multiplied by the total...
Definition: Pair1D_extra.h:65
std::vector< double > m_fact_scale
factor used to combine two standard deviations of the scale distribution
Definition: Pair1D_extra.h:86
Pair1D_extra()=default
default constructor
double z_sigma(const int i) const override
get the protected member Pair1D_extra::m_z_sigma[i]
Definition: Pair1D_extra.h:210
std::vector< double > m_scale_sigma
the standard deviations of the scale distributions in each bin
Definition: Pair1D_extra.h:68
std::vector< double > z_sigma() const override
get the protected member Pair1D_extra::m_z_mean
Definition: Pair1D_extra.h:217
double scale_S(const int i) const override
get the protected member Pair1D_extra::m_scale_S[i]
Definition: Pair1D_extra.h:151
std::vector< double > scale_mean() const override
get the protected member Pair1D_extra::m_scale_mean
Definition: Pair1D_extra.h:142
void set_z_sigma(const int i, const double ss)
set the protected member Pair1D_extra::m_z_sigma[i]
Definition: Pair1D_extra.h:257
std::vector< double > m_z_mean
the mean redshift in each bin
Definition: Pair1D_extra.h:71
std::vector< double > m_fact_z
factor used to combine two standard deviations of the redshift distribution
Definition: Pair1D_extra.h:89
double z_S(const int i) const override
get the protected member Pair1D_extra::m_z_S[i]
Definition: Pair1D_extra.h:195
double scale_sigma(const int i) const override
get the protected member Pair1D_extra::m_scale_sigma[i]
Definition: Pair1D_extra.h:166
virtual void Sum(const std::shared_ptr< Pair > pair, const double ww=1) override
sum the number of binned pairs
void set_z_mean(const int i, const double ss)
set the protected member Pair1D_extra::m_z_mean[i]
Definition: Pair1D_extra.h:249
std::vector< double > z_S() const override
get the protected member Pair1D_extra::m_z_S
Definition: Pair1D_extra.h:202
double scale_mean(const int i) const override
get the protected member Pair1D_extra::m_scale_mean[i]
Definition: Pair1D_extra.h:136
std::vector< double > z_mean() const override
get the protected member Pair1D_extra::m_z_mean
Definition: Pair1D_extra.h:186
void set_scale_sigma(const int i, const double ss)
set the protected member Pair1D_extra::m_scale_sigma[i]
Definition: Pair1D_extra.h:241
void add_data1D(const int i, const std::vector< double > data) override
set the protected members by adding new data
std::vector< double > m_scale_mean
the mean scales in each bin
Definition: Pair1D_extra.h:62
std::vector< double > scale_sigma() const override
get the protected member Pair1D_extra::m_scale_sigma
Definition: Pair1D_extra.h:173
std::vector< double > m_z_S
the square of the standard deviations of the redshift distributions in each bin, multiplied by the to...
Definition: Pair1D_extra.h:74
void set_scale_mean(const int i, const double ss)
set the protected member Pair1D_extra::m_scale_mean[i]
Definition: Pair1D_extra.h:233
std::vector< double > m_z_sigma
the standard deviations of the redshift distributions in each bin
Definition: Pair1D_extra.h:77
virtual ~Pair1D_extra()=default
default destructor
std::vector< double > scale_S() const override
get the protected member Pair1D_extra::m_scale_S
Definition: Pair1D_extra.h:158
Pair1D_extra(const double binSize, const int nbins, const double shift, const CoordinateUnits angularUnits, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair1D_extra.h:114
The class Pair1D.
Definition: Pair1D.h:56
std::vector< double > m_PP1D
the number of binned pairs
Definition: Pair1D.h:84
int nbins() const override
get the protected member Pair1D::m_nbins
Definition: Pair1D.h:201
int m_nbins
number of bins
Definition: Pair1D.h:98
double shift() const override
get the protected member Pair1D::m_shift
Definition: Pair1D.h:207
std::vector< double > m_PP1D_weighted
the number of binned weighted pairs
Definition: Pair1D.h:87
PairInfo m_pairInfo
pair info
Definition: Pair.h:175
FunctionDoubleDouble angularWeight()
get the m_angularWeight function
Definition: Pair.h:354
CoordinateUnits angularUnits()
get the angular units
Definition: Pair.h:348
PairType m_pairType
pair type
Definition: Pair.h:172
@ _angular_lin_
1D pair in angular coordinates in linear bins
@ _angular_log_
1D pair in angular coordinates in logarithmic bins
@ _comoving_multipoles_log_
1D pair in comoving coordinates in logarithmic bins, multipoles
@ _comoving_multipoles_lin_
1D pair in comoving coordinates in linear bins, multipoles
@ _comoving_log_
1D pair in comoving coordinates in logarithmic bins
@ _comoving_lin_
1D pair in comoving coordinates in linear bins
@ _extra_
extra: the object contains the number of pairs plus extra information, such as the mean scale separat...
The global namespace of the CosmoBolognaLib
Definition: CAMB.h:38
void checkDim(const std::vector< T > vect, const int val, const std::string vector, bool equal=true)
check if the dimension of a std::vector is equal/lower than an input value
Definition: Kernel.h:1532
CoordinateUnits
the coordinate units
Definition: Kernel.h:562
@ _radians_
angle in radians