CosmoBolognaLib
Free Software C++/Python libraries for cosmological calculations
Pair2D_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 __PAIR2D_EXTRA__
36 #define __PAIR2D_EXTRA__
37 
38 
39 #include "Pair2D.h"
40 
41 
42 // ===================================================================================================
43 
44 
45 namespace cbl {
46 
47  namespace pairs {
48 
57  class Pair2D_extra : public virtual Pair2D {
58 
59  protected:
60 
62  std::vector<std::vector<double>> m_scale_D1_mean;
63 
65  std::vector<std::vector<double>> m_scale_D2_mean;
66 
68  std::vector<std::vector<double>> m_scale_D1_S;
69 
71  std::vector<std::vector<double>> m_scale_D2_S;
72 
74  std::vector<std::vector<double>> m_scale_D1_sigma;
75 
77  std::vector<std::vector<double>> m_scale_D2_sigma;
78 
80  std::vector<std::vector<double>> m_z_mean;
81 
83  std::vector<std::vector<double>> m_z_S;
84 
86  std::vector<std::vector<double>> m_z_sigma;
87 
88 
89  public:
90 
95 
99  Pair2D_extra () = default;
100 
114  Pair2D_extra (const double binSize_D1, const int nbins_D1, const double shift_D1, const double binSize_D2, const int nbins_D2, const double shift_D2, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
115  : Pair2D(binSize_D1, nbins_D1, shift_D1, binSize_D2, nbins_D2, shift_D2, angularUnits, angularWeight) {}
116 
121  virtual ~Pair2D_extra () = default;
122 
124 
125 
130 
137  double scale_D1_mean (const int i, const int j) const override { return m_scale_D1_mean[i][j]; }
138 
144  std::vector<std::vector<double>> scale_D1_mean () const override { return m_scale_D1_mean; }
145 
152  double scale_D2_mean (const int i, const int j) const override { return m_scale_D2_mean[i][j]; }
153 
159  std::vector<std::vector<double>> scale_D2_mean () const override { return m_scale_D2_mean; }
160 
169  double scale_D1_S (const int i, const int j) const override { return m_scale_D1_S[i][j]; }
170 
177  std::vector<std::vector<double>> scale_D1_S () const override { return m_scale_D1_S; }
178 
187  double scale_D2_S (const int i, const int j) const override { return m_scale_D2_S[i][j]; }
188 
195  std::vector<std::vector<double>> scale_D2_S () const override { return m_scale_D2_S; }
196 
204  double scale_D1_sigma (const int i, const int j) const override { return m_scale_D1_sigma[i][j]; }
205 
211  std::vector<std::vector<double>> scale_D1_sigma () const override { return m_scale_D1_sigma; }
212 
220  double scale_D2_sigma (const int i, const int j) const override { return m_scale_D2_sigma[i][j]; }
221 
227  std::vector<std::vector<double>> scale_D2_sigma () const override { return m_scale_D2_sigma; }
228 
235  double z_mean (const int i, const int j) const override { return m_z_mean[i][j]; }
236 
245  double z_S (const int i, const int j) const override { return m_z_S[i][j]; }
246 
254  double z_sigma (const int i, const int j) const override { return m_z_sigma[i][j]; }
255 
257 
258 
263 
271  void set_scale_D1_mean (const int i, const int j, const double ss) { checkDim(m_scale_D1_mean, i, j, "m_scale_D1_mean"); m_scale_D1_mean[i][j] = ss; }
272 
280  void set_scale_D2_mean (const int i, const int j, const double ss) { checkDim(m_scale_D2_mean, i, j, "m_scale_D2_mean"); m_scale_D2_mean[i][j] = ss; }
281 
290  void set_scale_D1_sigma (const int i, const int j, const double ss) { checkDim(m_scale_D1_sigma, i, j, "m_scale_D1_sigma"); m_scale_D1_sigma[i][j] = ss; }
291 
300  void set_scale_D2_sigma (const int i, const int j, const double ss) { checkDim(m_scale_D2_sigma, i, j, "m_scale_D2_sigma"); m_scale_D2_sigma[i][j] = ss; }
301 
309  void set_z_mean (const int i, const int j, const double ss) { checkDim(m_z_mean, i, j, "m_z_mean"); m_z_mean[i][j] = ss; }
310 
319  void set_z_sigma (const int i, const int j, const double ss) { checkDim(m_z_sigma, i, j, "m_z_sigma"); m_z_sigma[i][j] = ss; }
320 
328  void add_data2D (const int i, const int j, const std::vector<double> data) override;
329 
338  void add_data2D (const int i, const int j, const std::shared_ptr<pairs::Pair> pair, const double ww=1.) override;
339 
341 
342 
347 
354  void Sum (const std::shared_ptr<Pair> pair, const double ww=1) override;
355 
357 
358  };
359 
360 
361  // ============================================================================================
362  // ============================================================================================
363 
364 
375 
376  public:
377 
382 
387 
407  Pair2D_comovingCartesian_extra (const double rpMin, const double rpMax, const int nbins_rp, const double shift_rp, const double piMin, const double piMax, const int nbins_pi, const double shift_pi, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
408  : Pair2D_comovingCartesian(rpMin, rpMax, nbins_rp, shift_rp, piMin, piMax, nbins_pi, shift_pi, angularUnits, angularWeight) {}
409 
428  Pair2D_comovingCartesian_extra (const double rpMin, const double rpMax, const double binSize_rp, const double shift_rp, const double piMin, const double piMax, const double binSize_pi, const double shift_pi, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
429  : Pair2D_comovingCartesian(rpMin, rpMax, binSize_rp, shift_rp, piMin, piMax, binSize_pi, shift_pi, angularUnits, angularWeight) {}
430 
435  virtual ~Pair2D_comovingCartesian_extra () = default;
436 
438 
439  };
440 
441 
442  // ============================================================================================
443  // ============================================================================================
444 
445 
456 
457  public:
458 
463 
468  {
471  }
472 
490  Pair2D_comovingCartesian_linlin_extra (const double rpMin, const double rpMax, const int nbins_rp, const double shift_rp, const double piMin, const double piMax, const int nbins_pi, const double shift_pi, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
491  : Pair2D(1., nbins_rp, shift_rp, 1., nbins_pi, shift_pi, angularUnits, angularWeight), Pair2D_comovingCartesian(rpMin, rpMax, nbins_rp, shift_rp, piMin, piMax, nbins_pi, shift_pi, angularUnits, angularWeight)
492  {
496  m_PP2D.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
497  m_PP2D_weighted.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
498  m_scale_D1_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
499  m_scale_D2_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
500  m_scale_D1_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
501  m_scale_D2_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
502  m_scale_D1_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
503  m_scale_D2_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
504  m_z_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
505  m_z_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
506  m_z_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
507  }
508 
526  Pair2D_comovingCartesian_linlin_extra (const double rpMin, const double rpMax, const double binSize_rp, const double shift_rp, const double piMin, const double piMax, const double binSize_pi, const double shift_pi, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
527  : Pair2D(binSize_rp, 50, shift_rp, binSize_pi, 50, shift_pi, angularUnits, angularWeight), Pair2D_comovingCartesian(rpMin, rpMax, binSize_rp, shift_rp, piMin, piMax, binSize_pi, shift_pi, angularUnits, angularWeight)
528  {
532  m_PP2D.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
533  m_PP2D_weighted.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
534  m_scale_D1_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
535  m_scale_D2_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
536  m_scale_D1_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
537  m_scale_D2_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
538  m_scale_D1_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
539  m_scale_D2_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
540  m_z_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
541  m_z_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
542  m_z_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
543  }
544 
550 
552 
553 
558 
566  void put (const std::shared_ptr<catalogue::Object> obj1, const std::shared_ptr<catalogue::Object> obj2) override;
567 
569 
570  };
571 
572 
573  // ============================================================================================
574  // ============================================================================================
575 
576 
587 
588  public:
589 
594 
599  {
602  }
603 
621  Pair2D_comovingCartesian_loglin_extra (const double rpMin, const double rpMax, const int nbins_rp, const double shift_rp, const double piMin, const double piMax, const int nbins_pi, const double shift_pi, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
622  : Pair2D(1., nbins_rp, shift_rp, 1., nbins_pi, shift_pi, angularUnits, angularWeight), Pair2D_comovingCartesian(rpMin, rpMax, nbins_rp, shift_rp, piMin, piMax, nbins_pi, shift_pi, angularUnits, angularWeight)
623  {
627  m_PP2D.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
628  m_PP2D_weighted.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
629  m_scale_D1_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
630  m_scale_D2_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
631  m_scale_D1_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
632  m_scale_D2_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
633  m_scale_D1_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
634  m_scale_D2_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
635  m_z_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
636  m_z_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
637  m_z_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
638  }
639 
657  Pair2D_comovingCartesian_loglin_extra (const double rpMin, const double rpMax, const double binSize_rp, const double shift_rp, const double piMin, const double piMax, const double binSize_pi, const double shift_pi, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
658  : Pair2D(binSize_rp, 50, shift_rp, binSize_pi, 50, shift_pi, angularUnits, angularWeight), Pair2D_comovingCartesian(rpMin, rpMax, binSize_rp, shift_rp, piMin, piMax, binSize_pi, shift_pi, angularUnits, angularWeight)
659  {
663  m_PP2D.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
664  m_PP2D_weighted.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
665  m_scale_D1_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
666  m_scale_D2_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
667  m_scale_D1_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
668  m_scale_D2_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
669  m_scale_D1_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
670  m_scale_D2_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
671  m_z_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
672  m_z_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
673  m_z_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
674  }
675 
681 
683 
684 
689 
697  void put (const std::shared_ptr<catalogue::Object> obj1, const std::shared_ptr<catalogue::Object> obj2) override;
698 
700 
701  };
702 
703  // ============================================================================================
704  // ============================================================================================
705 
706 
717 
718  public:
719 
724 
729  {
732  }
733 
751  Pair2D_comovingCartesian_linlog_extra (const double rpMin, const double rpMax, const int nbins_rp, const double shift_rp, const double piMin, const double piMax, const int nbins_pi, const double shift_pi, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
752  : Pair2D(1., nbins_rp, shift_rp, 1., nbins_pi, shift_pi, angularUnits, angularWeight), Pair2D_comovingCartesian(rpMin, rpMax, nbins_rp, shift_rp, piMin, piMax, nbins_pi, shift_pi, angularUnits, angularWeight)
753  {
757  m_PP2D.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
758  m_PP2D_weighted.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
759  m_scale_D1_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
760  m_scale_D2_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
761  m_scale_D1_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
762  m_scale_D2_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
763  m_scale_D1_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
764  m_scale_D2_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
765  m_z_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
766  m_z_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
767  m_z_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
768  }
769 
787  Pair2D_comovingCartesian_linlog_extra (const double rpMin, const double rpMax, const double binSize_rp, const double shift_rp, const double piMin, const double piMax, const double binSize_pi, const double shift_pi, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
788  : Pair2D(binSize_rp, 50, shift_rp, binSize_pi, 50, shift_pi, angularUnits, angularWeight), Pair2D_comovingCartesian(rpMin, rpMax, binSize_rp, shift_rp, piMin, piMax, binSize_pi, shift_pi, angularUnits, angularWeight)
789  {
793  m_PP2D.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
794  m_PP2D_weighted.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
795  m_scale_D1_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
796  m_scale_D2_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
797  m_scale_D1_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
798  m_scale_D2_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
799  m_scale_D1_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
800  m_scale_D2_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
801  m_z_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
802  m_z_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
803  m_z_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
804  }
805 
811 
813 
814 
819 
827  void put (const std::shared_ptr<catalogue::Object> obj1, const std::shared_ptr<catalogue::Object> obj2) override;
828 
830 
831  };
832 
833  // ============================================================================================
834  // ============================================================================================
835 
836 
847 
848  public:
849 
854 
859  {
862  }
863 
881  Pair2D_comovingCartesian_loglog_extra (const double rpMin, const double rpMax, const int nbins_rp, const double shift_rp, const double piMin, const double piMax, const int nbins_pi, const double shift_pi, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
882  : Pair2D(1., nbins_rp, shift_rp, 1., nbins_pi, shift_pi, angularUnits, angularWeight), Pair2D_comovingCartesian(rpMin, rpMax, nbins_rp, shift_rp, piMin, piMax, nbins_pi, shift_pi, angularUnits, angularWeight)
883  {
887  m_PP2D.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
888  m_PP2D_weighted.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
889  m_scale_D1_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
890  m_scale_D2_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
891  m_scale_D1_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
892  m_scale_D2_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
893  m_scale_D1_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
894  m_scale_D2_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
895  m_z_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
896  m_z_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
897  m_z_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
898  }
899 
917  Pair2D_comovingCartesian_loglog_extra (const double rpMin, const double rpMax, const double binSize_rp, const double shift_rp, const double piMin, const double piMax, const double binSize_pi, const double shift_pi, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
918  : Pair2D(binSize_rp, 50, shift_rp, binSize_pi, 50, shift_pi, angularUnits, angularWeight), Pair2D_comovingCartesian(rpMin, rpMax, binSize_rp, shift_rp, piMin, piMax, binSize_pi, shift_pi, angularUnits, angularWeight)
919  {
923  m_PP2D.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
924  m_PP2D_weighted.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
925  m_scale_D1_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
926  m_scale_D2_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
927  m_scale_D1_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
928  m_scale_D2_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
929  m_scale_D1_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
930  m_scale_D2_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
931  m_z_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
932  m_z_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
933  m_z_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
934  }
935 
941 
943 
944 
949 
957  void put (const std::shared_ptr<catalogue::Object> obj1, const std::shared_ptr<catalogue::Object> obj2) override;
958 
960 
961  };
962 
963 
964  // ============================================================================================
965  // ============================================================================================
966 
967 
976  class Pair2D_comovingPolar_extra : public virtual Pair2D_extra, public virtual Pair2D_comovingPolar {
977 
978  public:
979 
984 
989 
1005  Pair2D_comovingPolar_extra (const double rMin, const double rMax, const int nbins_D1, const double shift_D1, const double muMin, const double muMax, const int nbins_D2, const double shift_D2, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
1007 
1023  Pair2D_comovingPolar_extra (const double rMin, const double rMax, const double binSize_D1, const double shift_D1, const double muMin, const double muMax, const double binSize_D2, const double shift_D2, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
1024  : Pair2D_comovingPolar(rMin, rMax, binSize_D1, shift_D1, muMin, muMax, binSize_D2, shift_D2, angularUnits, angularWeight) {}
1025 
1030  virtual ~Pair2D_comovingPolar_extra () = default;
1031 
1033 
1034  };
1035 
1036 
1037  // ============================================================================================
1038  // ============================================================================================
1039 
1040 
1051 
1052  public:
1053 
1058 
1063  {
1066  }
1067 
1083  Pair2D_comovingPolar_linlin_extra (const double rMin, const double rMax, const int nbins_D1, const double shift_D1, const double muMin, const double muMax, const int nbins_D2, const double shift_D2, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
1085  {
1089  m_PP2D.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1090  m_PP2D_weighted.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1091  m_scale_D1_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1092  m_scale_D2_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1093  m_scale_D1_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1094  m_scale_D2_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1095  m_scale_D1_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1096  m_scale_D2_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1097  m_z_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1098  m_z_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1099  m_z_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1100  }
1101 
1117  Pair2D_comovingPolar_linlin_extra (const double rMin, const double rMax, const double binSize_D1, const double shift_D1, const double muMin, const double muMax, const double binSize_D2, const double shift_D2, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
1118  : Pair2D(binSize_D1, 50, shift_D1, binSize_D2, 50, shift_D2, angularUnits, angularWeight), Pair2D_comovingPolar(rMin, rMax, binSize_D1, shift_D1, muMin, muMax, binSize_D2, shift_D2, angularUnits, angularWeight)
1119  {
1123  m_PP2D.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1124  m_PP2D_weighted.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1125  m_scale_D1_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1126  m_scale_D2_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1127  m_scale_D1_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1128  m_scale_D2_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1129  m_scale_D1_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1130  m_scale_D2_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1131  m_z_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1132  m_z_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1133  m_z_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1134  }
1135 
1141 
1143 
1144 
1149 
1157  void put (const std::shared_ptr<catalogue::Object> obj1, const std::shared_ptr<catalogue::Object> obj2) override;
1158 
1160 
1161  };
1162 
1163 
1164  // ============================================================================================
1165  // ============================================================================================
1166 
1167 
1178 
1179  public:
1180 
1185 
1190  {
1193  }
1194 
1210  Pair2D_comovingPolar_loglin_extra (const double rMin, const double rMax, const int nbins_D1, const double shift_D1, const double muMin, const double muMax, const int nbins_D2, const double shift_D2, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
1212  {
1216  m_PP2D.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1217  m_PP2D_weighted.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1218  m_scale_D1_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1219  m_scale_D2_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1220  m_scale_D1_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1221  m_scale_D2_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1222  m_scale_D1_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1223  m_scale_D2_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1224  m_z_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1225  m_z_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1226  m_z_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1227  }
1228 
1244  Pair2D_comovingPolar_loglin_extra (const double rMin, const double rMax, const double binSize_D1, const double shift_D1, const double muMin, const double muMax, const double binSize_D2, const double shift_D2, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
1245  : Pair2D(binSize_D1, 50, shift_D1, binSize_D2, 50, shift_D2, angularUnits, angularWeight), Pair2D_comovingPolar(rMin, rMax, binSize_D1, shift_D1, muMin, muMax, binSize_D2, shift_D2, angularUnits, angularWeight)
1246  {
1250  m_PP2D.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1251  m_PP2D_weighted.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1252  m_scale_D1_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1253  m_scale_D2_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1254  m_scale_D1_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1255  m_scale_D2_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1256  m_scale_D1_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1257  m_scale_D2_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1258  m_z_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1259  m_z_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1260  m_z_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1261  }
1262 
1268 
1270 
1271 
1276 
1284  void put (const std::shared_ptr<catalogue::Object> obj1, const std::shared_ptr<catalogue::Object> obj2) override;
1285 
1287 
1288  };
1289 
1290 
1291  // ============================================================================================
1292  // ============================================================================================
1293 
1294 
1305 
1306  public:
1307 
1312 
1317  {
1320  }
1321 
1337  Pair2D_comovingPolar_linlog_extra (const double rMin, const double rMax, const int nbins_D1, const double shift_D1, const double muMin, const double muMax, const int nbins_D2, const double shift_D2, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
1339  {
1343  m_PP2D.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1344  m_PP2D_weighted.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1345  m_scale_D1_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1346  m_scale_D2_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1347  m_scale_D1_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1348  m_scale_D2_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1349  m_scale_D1_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1350  m_scale_D2_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1351  m_z_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1352  m_z_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1353  m_z_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1354  }
1355 
1371  Pair2D_comovingPolar_linlog_extra (const double rMin, const double rMax, const double binSize_D1, const double shift_D1, const double muMin, const double muMax, const double binSize_D2, const double shift_D2, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
1372  : Pair2D(binSize_D1, 50, shift_D1, binSize_D2, 50, shift_D2, angularUnits, angularWeight), Pair2D_comovingPolar(rMin, rMax, binSize_D1, shift_D1, muMin, muMax, binSize_D2, shift_D2, angularUnits, angularWeight)
1373  {
1377  m_PP2D.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1378  m_PP2D_weighted.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1379  m_scale_D1_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1380  m_scale_D2_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1381  m_scale_D1_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1382  m_scale_D2_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1383  m_scale_D1_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1384  m_scale_D2_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1385  m_z_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1386  m_z_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1387  m_z_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1388  }
1389 
1395 
1397 
1398 
1403 
1411  void put (const std::shared_ptr<catalogue::Object> obj1, const std::shared_ptr<catalogue::Object> obj2) override;
1412 
1414 
1415  };
1416 
1417  // ============================================================================================
1418  // ============================================================================================
1419 
1420 
1431 
1432  public:
1433 
1438 
1443  {
1446  }
1447 
1463  Pair2D_comovingPolar_loglog_extra (const double rMin, const double rMax, const int nbins_D1, const double shift_D1, const double muMin, const double muMax, const int nbins_D2, const double shift_D2, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
1465  {
1469  m_PP2D.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1470  m_PP2D_weighted.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1471  m_scale_D1_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1472  m_scale_D2_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1473  m_scale_D1_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1474  m_scale_D2_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1475  m_scale_D1_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1476  m_scale_D2_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1477  m_z_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1478  m_z_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1479  m_z_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1480  }
1481 
1497  Pair2D_comovingPolar_loglog_extra (const double rMin, const double rMax, const double binSize_D1, const double shift_D1, const double muMin, const double muMax, const double binSize_D2, const double shift_D2, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function<double(double)> angularWeight=nullptr)
1498  : Pair2D(binSize_D1, 50, shift_D1, binSize_D2, 50, shift_D2, angularUnits, angularWeight), Pair2D_comovingPolar(rMin, rMax, binSize_D1, shift_D1, muMin, muMax, binSize_D2, shift_D2, angularUnits, angularWeight)
1499  {
1503  m_PP2D.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1504  m_PP2D_weighted.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1505  m_scale_D1_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1506  m_scale_D2_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1507  m_scale_D1_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1508  m_scale_D2_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1509  m_scale_D1_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1510  m_scale_D2_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1511  m_z_mean.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1512  m_z_S.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1513  m_z_sigma.resize(m_nbins_D1+1, std::vector<double>(m_nbins_D2+1, 0.));
1514  }
1515 
1521 
1523 
1524 
1529 
1537  void put (const std::shared_ptr<catalogue::Object> obj1, const std::shared_ptr<catalogue::Object> obj2) override;
1538 
1540 
1541  };
1542  }
1543 }
1544 
1545 #endif
The classes Pair2D*.
The class Pair2D_comovingCartesian_extra.
Definition: Pair2D_extra.h:374
Pair2D_comovingCartesian_extra(const double rpMin, const double rpMax, const int nbins_rp, const double shift_rp, const double piMin, const double piMax, const int nbins_pi, const double shift_pi, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair2D_extra.h:407
Pair2D_comovingCartesian_extra()=default
default constructor
Pair2D_comovingCartesian_extra(const double rpMin, const double rpMax, const double binSize_rp, const double shift_rp, const double piMin, const double piMax, const double binSize_pi, const double shift_pi, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair2D_extra.h:428
virtual ~Pair2D_comovingCartesian_extra()=default
default destructor
The class Pair2D_comovingCartesian_linlin_extra.
Definition: Pair2D_extra.h:455
Pair2D_comovingCartesian_linlin_extra(const double rpMin, const double rpMax, const int nbins_rp, const double shift_rp, const double piMin, const double piMax, const int nbins_pi, const double shift_pi, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair2D_extra.h:490
Pair2D_comovingCartesian_linlin_extra(const double rpMin, const double rpMax, const double binSize_rp, const double shift_rp, const double piMin, const double piMax, const double binSize_pi, const double shift_pi, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair2D_extra.h:526
~Pair2D_comovingCartesian_linlin_extra()=default
default destructor
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 Pair2D_comovingCartesian_linlin.
Definition: Pair2D.h:515
void m_set_parameters_nbins() override
set the binning parameters given the number of bins
Definition: Pair2D.cpp:59
void m_set_parameters_binSize() override
set the binning parameters given the bin size
Definition: Pair2D.cpp:78
The class Pair2D_comovingCartesian_linlog_extra.
Definition: Pair2D_extra.h:716
Pair2D_comovingCartesian_linlog_extra(const double rpMin, const double rpMax, const double binSize_rp, const double shift_rp, const double piMin, const double piMax, const double binSize_pi, const double shift_pi, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair2D_extra.h:787
~Pair2D_comovingCartesian_linlog_extra()=default
default destructor
Pair2D_comovingCartesian_linlog_extra(const double rpMin, const double rpMax, const int nbins_rp, const double shift_rp, const double piMin, const double piMax, const int nbins_pi, const double shift_pi, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair2D_extra.h:751
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 Pair2D_comovingCartesian_linlog.
Definition: Pair2D.h:826
void m_set_parameters_binSize() override
set the binning parameters given the bin size
Definition: Pair2D.cpp:119
void m_set_parameters_nbins() override
set the binning parameters given the number of bins
Definition: Pair2D.cpp:97
The class Pair2D_comovingCartesian_loglin_extra.
Definition: Pair2D_extra.h:586
Pair2D_comovingCartesian_loglin_extra(const double rpMin, const double rpMax, const int nbins_rp, const double shift_rp, const double piMin, const double piMax, const int nbins_pi, const double shift_pi, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair2D_extra.h:621
Pair2D_comovingCartesian_loglin_extra(const double rpMin, const double rpMax, const double binSize_rp, const double shift_rp, const double piMin, const double piMax, const double binSize_pi, const double shift_pi, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair2D_extra.h:657
~Pair2D_comovingCartesian_loglin_extra()=default
default destructor
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 Pair2D_comovingCartesian_loglin.
Definition: Pair2D.h:671
void m_set_parameters_binSize() override
set the binning parameters given the bin size
Definition: Pair2D.cpp:163
void m_set_parameters_nbins() override
set the binning parameters given the number of bins
Definition: Pair2D.cpp:141
The class Pair2D_comovingCartesian_loglog_extra.
Definition: Pair2D_extra.h:846
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
~Pair2D_comovingCartesian_loglog_extra()=default
default destructor
Pair2D_comovingCartesian_loglog_extra(const double rpMin, const double rpMax, const double binSize_rp, const double shift_rp, const double piMin, const double piMax, const double binSize_pi, const double shift_pi, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair2D_extra.h:917
Pair2D_comovingCartesian_loglog_extra(const double rpMin, const double rpMax, const int nbins_rp, const double shift_rp, const double piMin, const double piMax, const int nbins_pi, const double shift_pi, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair2D_extra.h:881
The class Pair2D_comovingCartesian_loglog.
Definition: Pair2D.h:981
void m_set_parameters_binSize() override
set the binning parameters given the bin size
Definition: Pair2D.cpp:207
void m_set_parameters_nbins() override
set the binning parameters given the number of bins
Definition: Pair2D.cpp:185
The class Pair2D_comovingCartesian.
Definition: Pair2D.h:359
The class Pair2D_comovingPolar_extra.
Definition: Pair2D_extra.h:976
Pair2D_comovingPolar_extra()=default
default constructor
virtual ~Pair2D_comovingPolar_extra()=default
default destructor
Pair2D_comovingPolar_extra(const double rMin, const double rMax, const int nbins_D1, const double shift_D1, const double muMin, const double muMax, const int nbins_D2, const double shift_D2, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Pair2D_comovingPolar_extra(const double rMin, const double rMax, const double binSize_D1, const double shift_D1, const double muMin, const double muMax, const double binSize_D2, const double shift_D2, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
The class Pair2D_comovingPolar_linlin_extra.
Pair2D_comovingPolar_linlin_extra(const double rMin, const double rMax, const double binSize_D1, const double shift_D1, const double muMin, const double muMax, const double binSize_D2, const double shift_D2, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
~Pair2D_comovingPolar_linlin_extra()=default
default destructor
Pair2D_comovingPolar_linlin_extra()
default 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
Pair2D_comovingPolar_linlin_extra(const double rMin, const double rMax, const int nbins_D1, const double shift_D1, const double muMin, const double muMax, const int nbins_D2, const double shift_D2, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
The class Pair2D_comovingPolar_linlin.
Definition: Pair2D.h:1284
void m_set_parameters_nbins() override
set the binning parameters given the number of bins
Definition: Pair2D.cpp:229
void m_set_parameters_binSize() override
set the binning parameters given the bin size
Definition: Pair2D.cpp:248
The class Pair2D_comovingPolar_linlog_extra.
Pair2D_comovingPolar_linlog_extra(const double rMin, const double rMax, const int nbins_D1, const double shift_D1, const double muMin, const double muMax, const int nbins_D2, const double shift_D2, 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
Pair2D_comovingPolar_linlog_extra()
default constructor
~Pair2D_comovingPolar_linlog_extra()=default
default destructor
Pair2D_comovingPolar_linlog_extra(const double rMin, const double rMax, const double binSize_D1, const double shift_D1, const double muMin, const double muMax, const double binSize_D2, const double shift_D2, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
The class Pair2D_comovingPolar_linlog.
Definition: Pair2D.h:1588
void m_set_parameters_binSize() override
set the binning parameters given the bin size
Definition: Pair2D.cpp:289
void m_set_parameters_nbins() override
set the binning parameters given the number of bins
Definition: Pair2D.cpp:267
The class Pair2D_comovingPolar_loglin_extra.
~Pair2D_comovingPolar_loglin_extra()=default
default destructor
Pair2D_comovingPolar_loglin_extra()
default constructor
Pair2D_comovingPolar_loglin_extra(const double rMin, const double rMax, const double binSize_D1, const double shift_D1, const double muMin, const double muMax, const double binSize_D2, const double shift_D2, 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
Pair2D_comovingPolar_loglin_extra(const double rMin, const double rMax, const int nbins_D1, const double shift_D1, const double muMin, const double muMax, const int nbins_D2, const double shift_D2, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
The class Pair2D_comovingPolar_loglin.
Definition: Pair2D.h:1436
void m_set_parameters_nbins() override
set the binning parameters given the number of bins
Definition: Pair2D.cpp:311
void m_set_parameters_binSize() override
set the binning parameters given the bin size
Definition: Pair2D.cpp:333
The class Pair2D_comovingPolar_loglog_extra.
Pair2D_comovingPolar_loglog_extra(const double rMin, const double rMax, const double binSize_D1, const double shift_D1, const double muMin, const double muMax, const double binSize_D2, const double shift_D2, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Pair2D_comovingPolar_loglog_extra()
default 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
~Pair2D_comovingPolar_loglog_extra()=default
default destructor
Pair2D_comovingPolar_loglog_extra(const double rMin, const double rMax, const int nbins_D1, const double shift_D1, const double muMin, const double muMax, const int nbins_D2, const double shift_D2, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
The class Pair2D_comovingPolar_loglog.
Definition: Pair2D.h:1739
void m_set_parameters_binSize() override
set the binning parameters given the bin size
Definition: Pair2D.cpp:377
void m_set_parameters_nbins() override
set the binning parameters given the number of bins
Definition: Pair2D.cpp:355
The class Pair2D_comovingPolar.
Definition: Pair2D.h:1136
The class Pair2D_extra.
Definition: Pair2D_extra.h:57
std::vector< std::vector< double > > scale_D2_S() const override
get the member std::vector<double> m_scale_D2_S
Definition: Pair2D_extra.h:195
void set_scale_D2_mean(const int i, const int j, const double ss)
set the protected member Pair2D::m_scale_D2[i][j]
Definition: Pair2D_extra.h:280
Pair2D_extra(const double binSize_D1, const int nbins_D1, const double shift_D1, const double binSize_D2, const int nbins_D2, const double shift_D2, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, std::function< double(double)> angularWeight=nullptr)
constructor
Definition: Pair2D_extra.h:114
std::vector< std::vector< double > > scale_D1_sigma() const override
get the member std::vector<double> m_scale_D1_sigma
Definition: Pair2D_extra.h:211
double z_sigma(const int i, const int j) const override
get the member m_z_sigma[i][j]
Definition: Pair2D_extra.h:254
void set_z_mean(const int i, const int j, const double ss)
set the protected member Pair2D::m_z_mean[i][j]
Definition: Pair2D_extra.h:309
std::vector< std::vector< double > > m_scale_D2_sigma
the standard deviations of the scale distributions in each bin, in the second dimension
Definition: Pair2D_extra.h:77
double scale_D1_S(const int i, const int j) const override
get the member m_scale_D1_S[i][j]
Definition: Pair2D_extra.h:169
std::vector< std::vector< double > > m_z_mean
the mean redshifts in each bin
Definition: Pair2D_extra.h:80
std::vector< std::vector< double > > scale_D1_mean() const override
get the protected member m_scale_D1_mean
Definition: Pair2D_extra.h:144
std::vector< std::vector< double > > m_scale_D1_S
the square of the standard deviations of the scale distributions in each bin, in the first dimension,...
Definition: Pair2D_extra.h:68
std::vector< std::vector< double > > m_scale_D1_sigma
the standard deviations of the scale distributions in each bin, in the first dimension
Definition: Pair2D_extra.h:74
std::vector< std::vector< double > > m_z_sigma
the standard deviations of the redshift distributions in each bin
Definition: Pair2D_extra.h:86
std::vector< std::vector< double > > m_scale_D2_S
the square of the standard deviations of the scale distributions in each bin, in the second dimension...
Definition: Pair2D_extra.h:71
double scale_D1_mean(const int i, const int j) const override
get the protected member m_scale_D1_mean[i][j]
Definition: Pair2D_extra.h:137
virtual ~Pair2D_extra()=default
default destructor
std::vector< std::vector< double > > m_z_S
the square of the standard deviations of the redshift distributions in each bin, multiplied by the to...
Definition: Pair2D_extra.h:83
std::vector< std::vector< double > > scale_D2_mean() const override
get the protected member m_scale_D2_mean
Definition: Pair2D_extra.h:159
void add_data2D(const int i, const int j, const std::vector< double > data) override
set the protected members by adding new data
Pair2D_extra()=default
default constructor
double scale_D1_sigma(const int i, const int j) const override
get the member m_scale_D1_sigma[i][j]
Definition: Pair2D_extra.h:204
double scale_D2_mean(const int i, const int j) const override
get the protected member m_scale_D2_mean[i][j]
Definition: Pair2D_extra.h:152
std::vector< std::vector< double > > m_scale_D2_mean
the mean scales in each bin, in the second dimension
Definition: Pair2D_extra.h:65
void set_z_sigma(const int i, const int j, const double ss)
set the protected member Pair2D::m_z_sigma[i][j]
Definition: Pair2D_extra.h:319
std::vector< std::vector< double > > scale_D1_S() const override
get the member std::vector<double> m_scale_D1_S
Definition: Pair2D_extra.h:177
void Sum(const std::shared_ptr< Pair > pair, const double ww=1) override
sum the number of binned pairs
void set_scale_D1_mean(const int i, const int j, const double ss)
set the protected member Pair2D::m_scale_D1[i][j]
Definition: Pair2D_extra.h:271
std::vector< std::vector< double > > m_scale_D1_mean
the mean scales in each bin, in the first dimension
Definition: Pair2D_extra.h:62
double z_mean(const int i, const int j) const override
get the protected member m_z_mean[i][j]
Definition: Pair2D_extra.h:235
double scale_D2_S(const int i, const int j) const override
get the member m_scale_D2_S[i][j]
Definition: Pair2D_extra.h:187
double scale_D2_sigma(const int i, const int j) const override
get the member m_scale_D2_sigma[i][j]
Definition: Pair2D_extra.h:220
void set_scale_D1_sigma(const int i, const int j, const double ss)
set the protected member Pair2D::m_scale_D1[i][j]
Definition: Pair2D_extra.h:290
double z_S(const int i, const int j) const override
get the member m_z_S[i][j]
Definition: Pair2D_extra.h:245
std::vector< std::vector< double > > scale_D2_sigma() const override
get the member std::vector<double> m_scale_D2_sigma
Definition: Pair2D_extra.h:227
void set_scale_D2_sigma(const int i, const int j, const double ss)
set the protected member Pair2D::m_scale_D2[i][j]
Definition: Pair2D_extra.h:300
The class Pair2D.
Definition: Pair2D.h:56
double shift_D1() const override
get the protected member Pair2D::m_shift_D1
Definition: Pair2D.h:233
int m_nbins_D2
number of bins in the second dimension
Definition: Pair2D.h:110
int nbins_D2() const override
get the protected member Pair2D::m_nbins_D2
Definition: Pair2D.h:245
std::vector< std::vector< double > > m_PP2D
the number of binned pairs
Definition: Pair2D.h:87
std::vector< std::vector< double > > m_PP2D_weighted
the weighted number of binned pairs
Definition: Pair2D.h:90
int m_nbins_D1
number of bins in the first dimension
Definition: Pair2D.h:101
double shift_D2() const override
get the protected member Pair2D::m_shift_D2
Definition: Pair2D.h:252
int nbins_D1() const override
get the protected member Pair2D::m_nbins_D1
Definition: Pair2D.h:226
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
@ _comovingCartesian_linlin_
2D pair in comoving Cartesian coordinates (rp, π) in linear-linear bins
@ _comovingPolar_loglog_
2D pair in comoving polar coordinates (r, μ) in logarithmic-logarithmic bins
@ _comovingCartesian_loglog_
2D pair in comoving Cartesian coordinates (rp, π) in logarithmic-logarithmic bins
@ _comovingPolar_loglin_
2D pair in comoving polar coordinates (r, μ) in logarithmic-linear bins
@ _comovingCartesian_linlog_
2D pair in comoving Cartesian coordinates (rp, π) in linear-logarithmic bins
@ _comovingPolar_linlin_
2D pair in comoving polar coordinates (r, μ) in linear-linear bins
@ _comovingCartesian_loglin_
2D pair in comoving Cartesian coordinates (rp, π) in logarithmic-linear bins
@ _comovingPolar_linlog_
2D pair in comoving polar coordinates (r, μ) in linear-logarithmic 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