CosmoBolognaLib
Free Software C++/Python libraries for cosmological calculations
Pair.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 
34 #ifndef __PAIR__
35 #define __PAIR__
36 
37 
38 #include "Catalogue.h"
39 
40 
41 // ===================================================================================================
42 
43 
44 namespace cbl {
45 
53  namespace pairs {
54 
59  enum class PairType {
60 
63 
66 
69 
72 
75 
78 
81 
84 
87 
90 
93 
96 
99 
102 
103  };
104 
111  inline std::vector<std::string> PairTypeNames () {return {"angular_lin", "angular_log", "comoving_lin", "comoving_log", "comoving_multipoles_lin", "comoving_multipoles_log", "comovingCartesian_linlin", "comovingCartesian_linlog", "comovingCartesian_loglin", "comovingCartesian_loglog", "comovingPolar_linlin", "comovingPolar_linlog", "comovingPolar_loglin", "comovingPolar_loglog"}; }
112 
117  enum class PairInfo {
118 
120  _standard_,
121 
123  _extra_
124 
125  };
126 
133  inline std::vector<std::string> PairInfoNames () {return {"standard", "extra"}; }
134 
144  class Pair {
145 
146  private:
147 
152 
156  virtual void m_set_parameters_nbins () = 0;
157 
161  virtual void m_set_parameters_binSize () = 0;
162 
164 
165 
166  protected:
167 
170 
173 
176 
179 
182 
183 
184  public:
185 
190 
194  Pair () = default;
195 
200  virtual ~Pair () = default;
201 
224  static std::shared_ptr<Pair> Create (const PairType type, const PairInfo info, const double Min, const double Max, const int nbins, const double shift, const CoordinateUnits angularUnits= CoordinateUnits::_radians_, FunctionDoubleDouble angularWeight=nullptr);
225 
248  static std::shared_ptr<Pair> Create (const PairType type, const PairInfo info, const double Min, const double Max, const double binSize, const double shift, const CoordinateUnits angularUnits= CoordinateUnits::_radians_, FunctionDoubleDouble angularWeight=nullptr);
249 
282  static std::shared_ptr<Pair> Create (const PairType type, const PairInfo info, const double Min_D1, const double Max_D1, const int nbins_D1, const double shift_D1, const double Min_D2, const double Max_D2, const int nbins_D2, const double shift_D2, const CoordinateUnits angularUnits= CoordinateUnits::_radians_, FunctionDoubleDouble angularWeight=nullptr);
283 
316  static std::shared_ptr<Pair> Create (const PairType type, const PairInfo info, const double Min_D1, const double Max_D1, const double binSize_D1, const double shift_D1, const double Min_D2, const double Max_D2, const double binSize_D2, const double shift_D2, const CoordinateUnits angularUnits= CoordinateUnits::_radians_, FunctionDoubleDouble angularWeight=nullptr);
317 
319 
320 
325 
330  Dim pairDim () const { return m_pairDim; }
331 
336  PairType pairType () const { return m_pairType; }
337 
342  PairInfo pairInfo () const { return m_pairInfo; }
343 
349 
355 
361  virtual double scale (const int i) const
362  { (void)i; cbl::ErrorCBL("", "scale", "Pair.h"); return 0; }
363 
368  virtual std::vector<double> scale () const
369  { cbl::ErrorCBL("", "scale", "Pair.h"); std::vector<double> vv; return vv; }
370 
376  virtual double scale_mean (const int i) const
377  { (void)i; cbl::ErrorCBL("", "scale_mean", "Pair.h"); return 0; }
378 
383  virtual std::vector<double> scale_mean () const
384  { cbl::ErrorCBL("", "scale_mean", "Pair.h"); std::vector<double> vv; return vv; }
385 
393  virtual double scale_S (const int i) const
394  { (void)i; cbl::ErrorCBL("", "scale_S", "Pair.h"); return 0; }
395 
401  virtual std::vector<double> scale_S () const
402  { cbl::ErrorCBL("", "scale_S", "Pair.h"); std::vector<double> vv; return vv; }
403 
410  virtual double scale_sigma (const int i) const
411  { (void)i; cbl::ErrorCBL("", "scale_sigma", "Pair.h"); return 0; }
412 
418  virtual std::vector<double> scale_sigma () const
419  { cbl::ErrorCBL("", "scale_sigma", "Pair.h"); std::vector<double> vv; return vv; }
420 
426  virtual double z_mean (const int i) const
427  { (void)i; cbl::ErrorCBL("", "z_mean", "Pair.h"); return 0; }
428 
433  virtual std::vector<double> z_mean () const
434  { cbl::ErrorCBL("", "z_mean", "Pair.h"); std::vector<double> vv; return vv; }
435 
443  virtual double z_S (const int i) const
444  { (void)i; cbl::ErrorCBL("", "z_S", "Pair.h"); return 0; }
445 
451  virtual std::vector<double> z_S () const
452  { cbl::ErrorCBL("", "z_S", "Pair.h"); std::vector<double> vv; return vv; }
453 
460  virtual double z_sigma (const int i) const
461  { (void)i; cbl::ErrorCBL("", "z_sigma", "Pair.h"); return 0; }
462 
468  virtual std::vector<double> z_sigma () const
469  { cbl::ErrorCBL("", "z_sigma", "Pair.h"); std::vector<double> vv; return vv; }
470 
476  virtual double PP1D (const int i) const
477  { (void)i; cbl::ErrorCBL("", "PP1D", "Pair.h"); return 0; }
478 
483  virtual std::vector<double> PP1D () const
484  { cbl::ErrorCBL("", "PP1D", "Pair.h"); std::vector<double> vv; return vv; }
485 
491  virtual double PP1D_weighted (const int i) const
492  { (void)i; cbl::ErrorCBL("", "PP1D_weighted", "Pair.h"); return 0; }
493 
499  virtual std::vector<double> PP1D_weighted () const
500  { cbl::ErrorCBL("", "PP1D_weighted", "Pair.h"); std::vector<double> vv; return vv; }
501 
507  virtual double scale_D1 (const int i) const
508  { (void)i; cbl::ErrorCBL("", "scale_D1", "Pair.h"); return 0; }
509 
515  virtual std::vector<double> scale_D1 () const
516  { cbl::ErrorCBL("", "scale_D1", "Pair.h"); std::vector<double> vv; return vv; }
517 
523  virtual double scale_D2 (const int i) const
524  { (void)i; cbl::ErrorCBL("", "scale_D2", "Pair.h"); return 0; }
525 
531  virtual std::vector<double> scale_D2 () const
532  { cbl::ErrorCBL("", "scale_D2", "Pair.h"); std::vector<double> vv; return vv; }
533 
540  virtual double scale_D1_mean (const int i, const int j) const
541  { (void)i; (void)j; cbl::ErrorCBL("", "scale_D1_mean", "Pair.h"); return 0; }
542 
547  virtual std::vector<std::vector<double>> scale_D1_mean () const
548  { cbl::ErrorCBL("", "scale_D1_mean", "Pair.h"); std::vector<std::vector<double>> vv; return vv; }
549 
556  virtual double scale_D2_mean (const int i, const int j) const
557  { (void)i; (void)j; cbl::ErrorCBL("", "scale_D2_mean", "Pair.h"); return 0; }
558 
564  virtual std::vector<std::vector<double>> scale_D2_mean () const
565  { cbl::ErrorCBL("", "scale_D2_mean", "Pair.h"); std::vector<std::vector<double>> vv; return vv; }
566 
575  virtual double scale_D1_S (const int i, const int j) const
576  { (void)i; (void)j; cbl::ErrorCBL("", "scale_D1_S", "Pair.h"); return 0; }
577 
584  virtual std::vector<std::vector<double>> scale_D1_S () const
585  { cbl::ErrorCBL("", "scale_D1_S", "Pair.h"); std::vector<std::vector<double>> vv; return vv; }
586 
595  virtual double scale_D2_S (const int i, const int j) const
596  { (void)i; (void)j; cbl::ErrorCBL("", "scale_D2_S", "Pair.h"); return 0; }
597 
604  virtual std::vector<std::vector<double>> scale_D2_S () const
605  { cbl::ErrorCBL("", "scale_D2_S", "Pair.h"); std::vector<std::vector<double>> vv; return vv; }
606 
614  virtual double scale_D1_sigma (const int i, const int j) const
615  { (void)i; (void)j; cbl::ErrorCBL("", "scale_D1_sigma", "Pair.h"); return 0; }
616 
622  virtual std::vector<std::vector<double>> scale_D1_sigma () const
623  { cbl::ErrorCBL("", "scale_D1_sigma", "Pair.h"); std::vector<std::vector<double>> vv; return vv; }
624 
632  virtual double scale_D2_sigma (const int i, const int j) const
633  { (void)i; (void)j; cbl::ErrorCBL("", "scale_D2_sigma", "Pair.h"); return 0; }
634 
640  virtual std::vector<std::vector<double>> scale_D2_sigma () const
641  { cbl::ErrorCBL("", "scale_D2_sigma", "Pair.h"); std::vector<std::vector<double>> vv; return vv; }
642 
649  virtual double z_mean (const int i, const int j) const
650  { (void)i; (void)j; cbl::ErrorCBL("", "z_mean", "Pair.h"); return 0; }
651 
656  virtual std::vector<std::vector<double>> z_mean2D () const
657  { cbl::ErrorCBL("", "z_mean", "Pair.h"); std::vector<std::vector<double>> vv; return vv; }
658 
667  virtual double z_S (const int i, const int j) const
668  { (void)i; (void)j; cbl::ErrorCBL("", "z_S", "Pair.h"); return 0; }
669 
677  virtual double z_sigma (const int i, const int j) const
678  { (void)i; (void)j; cbl::ErrorCBL("", "z_sigma", "Pair.h"); return 0; }
679 
685  virtual std::vector<std::vector<double>> z_sigma2D () const
686  { cbl::ErrorCBL("", "z_sigma2D", "Pair.h"); std::vector<std::vector<double>> vv; return vv; }
687 
694  virtual double PP2D (const int i, const int j) const
695  { (void)i; (void)j; cbl::ErrorCBL("", "PP2D", "Pair.h"); return 0;}
696 
701  virtual std::vector<std::vector<double>> PP2D () const
702  { cbl::ErrorCBL("", "PP2D", "Pair.h"); std::vector<std::vector<double>> vv; return vv; }
703 
710  virtual double PP2D_weighted (const int i, const int j) const
711  { (void)i; (void)j; cbl::ErrorCBL("", "PP2D_weighted", "Pair.h"); return 0;}
712 
718  virtual std::vector<std::vector<double>> PP2D_weighted () const
719  { cbl::ErrorCBL("", "PP2D_weighted", "Pair.h"); std::vector<std::vector<double>> vv; return vv; }
720 
725  virtual double binSize_inv () const
726  { cbl::ErrorCBL("", "binSize_inv", "Pair.h"); return 0; }
727 
732  virtual int nbins () const
733  { cbl::ErrorCBL("", "nbins", "Pair.h"); return 0; }
734 
739  virtual double shift () const
740  { cbl::ErrorCBL("", "shift", "Pair.h"); return 0; }
741 
746  virtual double binSize_inv_D1 () const
747  { cbl::ErrorCBL("", "binSize_inv_D1", "Pair.h"); return 0; }
748 
753  virtual int nbins_D1 () const
754  { cbl::ErrorCBL("", "nbins_D1", "Pair.h"); return 0; }
755 
761  virtual double shift_D1 () const
762  { cbl::ErrorCBL("", "shift_D1", "Pair.h"); return 0; }
763 
768  virtual double binSize_inv_D2 () const
769  { cbl::ErrorCBL("", "binSize_inv_D2", "Pair.h"); return 0; }
770 
775  virtual int nbins_D2 () const
776  { cbl::ErrorCBL("", "nbins_D2", "Pair.h"); return 0; }
777 
783  virtual double shift_D2 () const
784  { cbl::ErrorCBL("", "shift_D2", "Pair.h"); return 0; }
785 
790  virtual double sMin () const
791  { cbl::ErrorCBL("", "sMin", "Pair.h"); return 0; }
792 
797  virtual double sMax () const
798  { cbl::ErrorCBL("", "sMax", "Pair.h"); return 0; }
799 
805  virtual double sMin_D1 () const
806  { cbl::ErrorCBL("", "sMin_D1", "Pair.h"); return 0; }
807 
813  virtual double sMax_D1 () const
814  { cbl::ErrorCBL("", "sMax_D1", "Pair.h"); return 0; }
815 
821  virtual double sMin_D2 () const
822  { cbl::ErrorCBL("", "sMin_D2", "Pair.h"); return 0; }
823 
829  virtual double sMax_D2 () const
830  { cbl::ErrorCBL("", "sMax_D2", "Pair.h"); return 0; }
831 
833 
834 
839 
845  virtual void reset () = 0;
846 
852  virtual void set_PP1D (const int i, const double pp)
853  { (void)i; (void)pp; cbl::ErrorCBL("", "set_PP1D", "Pair.h"); }
854 
860  virtual void set_PP1D_weighted (const int i, const double pp)
861  { (void)i; (void)pp; cbl::ErrorCBL("", "set_PP1D_weighted", "Pair.h"); }
862 
869  virtual void set_PP2D (const int i, const int j, const double pp)
870  { (void)i; (void)j; (void)pp; cbl::ErrorCBL("", "set_PP2D", "Pair.h"); }
871 
878  virtual void set_PP2D_weighted (const int i, const int j, const double pp)
879  { (void)i; (void)j; (void)pp; cbl::ErrorCBL("", "set_PP2D_weighted", "Pair.h"); }
880 
886  virtual void add_data1D (const int i, const std::vector<double> data)
887  { (void)i; (void)data; cbl::ErrorCBL("", "add_data1D", "Pair.h"); }
888 
895  virtual void add_data1D (const int i, const std::shared_ptr<pairs::Pair> pair, const double ww=1.)
896  { (void)i; (void)pair; (void)ww; cbl::ErrorCBL("", "add_data1D", "Pair.h"); }
897 
904  virtual void add_data2D (const int i, const int j, const std::vector<double> data)
905  { (void)i; (void)j; (void)data; cbl::ErrorCBL("", "add_data2D", "Pair.h"); }
906 
914  virtual void add_data2D (const int i, const int j, const std::shared_ptr<pairs::Pair> pair, const double ww=1.)
915  { (void)i; (void)j; (void)pair; (void)ww; cbl::ErrorCBL("", "add_data2D", "Pair.h"); }
916 
918 
919 
924 
932  virtual void get (const std::shared_ptr<catalogue::Object> obj1, const std::shared_ptr<catalogue::Object> obj2, int &kk, double &wkk)
933  { (void)obj1; (void)obj2; (void)kk; (void)wkk; cbl::ErrorCBL("", "get", "Pair.h"); }
934 
943  virtual void get (const std::shared_ptr<catalogue::Object> obj1, const std::shared_ptr<catalogue::Object> obj2, int &kk, double &cosmu, double &wkk)
944  { (void)obj1; (void)obj2; (void)kk; (void)cosmu; (void)wkk; cbl::ErrorCBL("", "get", "Pair.h"); }
945 
954  virtual void get (const std::shared_ptr<catalogue::Object> obj1, const std::shared_ptr<catalogue::Object> obj2, int &ir, int &jr, double &ww)
955  { (void)obj1; (void)obj2; (void)ir; (void)jr; (void)ww; cbl::ErrorCBL("", "get", "Pair.h"); }
956 
963  virtual void set (const int kk, const double wkk, const double weight=1)
964  { (void)kk; (void)wkk; (void)weight; cbl::ErrorCBL("", "get", "Pair.h"); }
965 
973  virtual void set (const double cosmu, const int kk, const double wkk, const double weight=1)
974  { (void)cosmu; (void)kk; (void)wkk; (void)weight; cbl::ErrorCBL("", "get", "Pair.h"); }
975 
983  virtual void set (const int ir, const int jr, const double ww, const double weight=1)
984  { (void)ir; (void)jr; (void)ww; (void)weight; cbl::ErrorCBL("", "get", "Pair.h"); }
985 
993  virtual void put (const std::shared_ptr<catalogue::Object> obj1, const std::shared_ptr<catalogue::Object> obj2) = 0;
994 
1000  virtual void Sum (const std::shared_ptr<Pair> pp, const double ww=1) = 0;
1001 
1003 
1004  };
1005  }
1006 }
1007 
1008 #endif
The class Catalogue
The class Pair.
Definition: Pair.h:144
Dim pairDim() const
get the dimension of the pair vectors
Definition: Pair.h:330
virtual int nbins_D1() const
get the member m_nbins_D1
Definition: Pair.h:753
virtual ~Pair()=default
default destructor
virtual double shift() const
get the member m_shift
Definition: Pair.h:739
FunctionDoubleDouble m_angularWeight
angular weight function
Definition: Pair.h:181
PairInfo m_pairInfo
pair info
Definition: Pair.h:175
virtual double sMax_D2() const
get the the minimum separation in the second dimension
Definition: Pair.h:829
virtual double PP1D(const int i) const
get the member m_PP1D[i]
Definition: Pair.h:476
PairType pairType() const
get the pair type
Definition: Pair.h:336
virtual std::vector< double > z_sigma() const
get the protected member Pair1D_extra::m_z_sigma
Definition: Pair.h:468
virtual double scale_D2(const int i) const
get the member m_scale_D2[i]
Definition: Pair.h:523
virtual double scale_D1(const int i) const
get the member m_scale_D1[i]
Definition: Pair.h:507
virtual void Sum(const std::shared_ptr< Pair > pp, const double ww=1)=0
sum the number of binned pairs
virtual std::vector< double > scale() const
get the member std::vector<double> m_scale
Definition: Pair.h:368
virtual void set_PP2D_weighted(const int i, const int j, const double pp)
set the member m_PP2D_weighted[i][j]
Definition: Pair.h:878
virtual double scale_D1_sigma(const int i, const int j) const
get the member m_scale_D1_sigma[i][j]
Definition: Pair.h:614
virtual double binSize_inv_D1() const
get the member m_binSize_inv_D1
Definition: Pair.h:746
virtual void add_data2D(const int i, const int j, const std::shared_ptr< pairs::Pair > pair, const double ww=1.)
set the protected members by adding new 2D data
Definition: Pair.h:914
virtual double scale_D2_sigma(const int i, const int j) const
get the member m_scale_D2[i][j]
Definition: Pair.h:632
virtual void add_data1D(const int i, const std::vector< double > data)
set the protected members by adding new 1D data
Definition: Pair.h:886
virtual int nbins_D2() const
get the member m_nbins_D2
Definition: Pair.h:775
virtual double shift_D2() const
get the member m_shift_D2
Definition: Pair.h:783
virtual void get(const std::shared_ptr< catalogue::Object > obj1, const std::shared_ptr< catalogue::Object > obj2, int &kk, double &wkk)
get the pair index and weight
Definition: Pair.h:932
virtual double scale_S(const int i) const
get the member m_scale_S[i]
Definition: Pair.h:393
virtual std::vector< std::vector< double > > PP2D() const
get the member std::vector<std::vector<double>> m_PP2D
Definition: Pair.h:701
virtual double scale(const int i) const
get the member m_scale[i]
Definition: Pair.h:361
PairInfo pairInfo() const
get the pair information type
Definition: Pair.h:342
virtual void set(const int kk, const double wkk, const double weight=1)
set the pair vector
Definition: Pair.h:963
virtual double scale_mean(const int i) const
get the member m_scale_mean[i]
Definition: Pair.h:376
virtual double z_mean(const int i) const
get the protected member Pair1D_extra::m_z_mean[i]
Definition: Pair.h:426
virtual std::vector< double > PP1D() const
get the member std::vector<double> m_PP1D
Definition: Pair.h:483
virtual double sMin_D2() const
get the minimum separation in the second dimension
Definition: Pair.h:821
virtual double binSize_inv() const
get the member m_binSize_inv
Definition: Pair.h:725
virtual std::vector< double > z_S() const
get the protected member Pair1D_extra::m_z_S
Definition: Pair.h:451
virtual void put(const std::shared_ptr< catalogue::Object > obj1, const std::shared_ptr< catalogue::Object > obj2)=0
estimate the distance between two objects and update the pair vector accordingly
virtual double z_mean(const int i, const int j) const
get the protected member m_z_mean[i][j]
Definition: Pair.h:649
virtual void set(const double cosmu, const int kk, const double wkk, const double weight=1)
set the pair vector
Definition: Pair.h:973
static std::shared_ptr< Pair > Create(const PairType type, const PairInfo info, const double Min, const double Max, const int nbins, const double shift, const CoordinateUnits angularUnits=CoordinateUnits::_radians_, FunctionDoubleDouble angularWeight=nullptr)
static factory used to construct pairs of any type
Definition: Pair.cpp:48
virtual std::vector< std::vector< double > > scale_D1_S() const
get the member std::vector<double> m_scale_D1
Definition: Pair.h:584
virtual double PP2D(const int i, const int j) const
get the member m_PP2D[i][j]
Definition: Pair.h:694
virtual double sMax_D1() const
get the the minimum separation in the first dimension
Definition: Pair.h:813
virtual std::vector< double > scale_D1() const
get the member std::vector<double> m_scale_D1
Definition: Pair.h:515
virtual std::vector< double > PP1D_weighted() const
get the member std::vector<double> m_PP1D_weighted
Definition: Pair.h:499
FunctionDoubleDouble angularWeight()
get the m_angularWeight function
Definition: Pair.h:354
virtual void set_PP2D(const int i, const int j, const double pp)
set the member m_PP2D[i][j]
Definition: Pair.h:869
virtual void get(const std::shared_ptr< catalogue::Object > obj1, const std::shared_ptr< catalogue::Object > obj2, int &kk, double &cosmu, double &wkk)
get the pair index and weight
Definition: Pair.h:943
virtual double z_sigma(const int i, const int j) const
get the member m_z_sigma[i][j]
Definition: Pair.h:677
virtual void m_set_parameters_binSize()=0
set the binning parameters given the bin size
virtual std::vector< double > scale_S() const
get the member std::vector<double> m_scale_S
Definition: Pair.h:401
virtual void get(const std::shared_ptr< catalogue::Object > obj1, const std::shared_ptr< catalogue::Object > obj2, int &ir, int &jr, double &ww)
get the pair index and weight
Definition: Pair.h:954
virtual double scale_D2_mean(const int i, const int j) const
get the protected member m_scale_D2[i][j]
Definition: Pair.h:556
virtual double sMin_D1() const
get the minimum separation in the first dimension
Definition: Pair.h:805
Pair()=default
default constuctor
virtual std::vector< std::vector< double > > z_mean2D() const
get the protected member m_z_mean
Definition: Pair.h:656
virtual double scale_D1_S(const int i, const int j) const
get the member m_scale_D1_S[i][j]
Definition: Pair.h:575
virtual void set(const int ir, const int jr, const double ww, const double weight=1)
set the pair vector
Definition: Pair.h:983
virtual std::vector< std::vector< double > > z_sigma2D() const
get the member std::vector<double> m_z_sigma
Definition: Pair.h:685
virtual double sMin() const
get the minimum separation
Definition: Pair.h:790
virtual std::vector< std::vector< double > > scale_D1_mean() const
get the protected member m_scale_D1
Definition: Pair.h:547
virtual void add_data1D(const int i, const std::shared_ptr< pairs::Pair > pair, const double ww=1.)
set the protected members by adding new 1D data
Definition: Pair.h:895
virtual std::vector< double > z_mean() const
get the protected member Pair1D_extra::m_z_mean
Definition: Pair.h:433
virtual double PP1D_weighted(const int i) const
get the member m_PP1D_weighted[i]
Definition: Pair.h:491
virtual double scale_D2_S(const int i, const int j) const
get the member m_scale_D2[i][j]
Definition: Pair.h:595
CoordinateUnits angularUnits()
get the angular units
Definition: Pair.h:348
virtual std::vector< double > scale_mean() const
get the member std::vector<double> m_scale_mean
Definition: Pair.h:383
virtual std::vector< std::vector< double > > PP2D_weighted() const
get the member std::vector<std::vector<double>> m_PP2D_weighted
Definition: Pair.h:718
virtual std::vector< double > scale_sigma() const
get the member std::vector<double> m_scale_sigma
Definition: Pair.h:418
virtual std::vector< std::vector< double > > scale_D2_S() const
get the member std::vector<double> m_scale_D2
Definition: Pair.h:604
virtual double shift_D1() const
get the member m_shift_D1
Definition: Pair.h:761
virtual double z_sigma(const int i) const
get the protected member Pair1D_extra::m_z_sigma[i]
Definition: Pair.h:460
PairType m_pairType
pair type
Definition: Pair.h:172
virtual void set_PP1D_weighted(const int i, const double pp)
set the member m_PP1D_weighted[i]
Definition: Pair.h:860
virtual void set_PP1D(const int i, const double pp)
set the member m_PP1D[i]
Definition: Pair.h:852
virtual int nbins() const
get the member m_nbins
Definition: Pair.h:732
CoordinateUnits m_angularUnits
angular units
Definition: Pair.h:178
virtual double binSize_inv_D2() const
get the member m_binSize_inv_D2
Definition: Pair.h:768
virtual std::vector< double > scale_D2() const
get the member std::vector<double> m_scale_D2
Definition: Pair.h:531
virtual void add_data2D(const int i, const int j, const std::vector< double > data)
set the protected members by adding new 2D data
Definition: Pair.h:904
virtual double PP2D_weighted(const int i, const int j) const
get the member m_PP2D_weighted[i][j]
Definition: Pair.h:710
virtual double scale_sigma(const int i) const
get the member m_scale_sigma[i]
Definition: Pair.h:410
virtual std::vector< std::vector< double > > scale_D1_sigma() const
get the member std::vector<double> m_scale_D1
Definition: Pair.h:622
virtual void m_set_parameters_nbins()=0
set the binning parameters given the number of bins
virtual double sMax() const
get the the minimum separation
Definition: Pair.h:797
virtual double scale_D1_mean(const int i, const int j) const
get the protected member m_scale_D1[i][j]
Definition: Pair.h:540
virtual void reset()=0
reset the pair counts
virtual std::vector< std::vector< double > > scale_D2_mean() const
get the protected member m_scale_D2
Definition: Pair.h:564
virtual std::vector< std::vector< double > > scale_D2_sigma() const
get the member std::vector<double> m_scale_D2
Definition: Pair.h:640
virtual double z_S(const int i, const int j) const
get the member m_z_sigma[i][j]
Definition: Pair.h:667
virtual double z_S(const int i) const
get the protected member Pair1D_extra::m_z_S[i]
Definition: Pair.h:443
Dim m_pairDim
pair dimension
Definition: Pair.h:169
PairType
the pair type
Definition: Pair.h:59
@ _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
@ _angular_lin_
1D pair in angular coordinates in linear bins
@ _comovingCartesian_loglog_
2D pair in comoving Cartesian coordinates (rp, π) in logarithmic-logarithmic bins
@ _angular_log_
1D pair in angular coordinates in logarithmic bins
@ _comovingPolar_loglin_
2D pair in comoving polar coordinates (r, μ) in logarithmic-linear bins
@ _comoving_multipoles_log_
1D pair in comoving coordinates in logarithmic bins, multipoles
@ _comovingCartesian_linlog_
2D pair in comoving Cartesian coordinates (rp, π) in linear-logarithmic bins
@ _comoving_multipoles_lin_
1D pair in comoving coordinates in linear bins, multipoles
@ _comovingPolar_linlin_
2D pair in comoving polar coordinates (r, μ) in linear-linear bins
@ _comoving_log_
1D pair in comoving coordinates in logarithmic bins
@ _comoving_lin_
1D pair in comoving coordinates in 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
std::vector< std::string > PairTypeNames()
return a vector containing the PairType names
Definition: Pair.h:111
std::vector< std::string > PairInfoNames()
return a vector containing the PairInfo names
Definition: Pair.h:133
PairInfo
the information contained in the pairs
Definition: Pair.h:117
@ _standard_
standard: the object contains only the number of pairs
@ _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
T Min(const std::vector< T > vect)
minimum element of a std::vector
Definition: Kernel.h:1324
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
T Max(const std::vector< T > vect)
maximum element of a std::vector
Definition: Kernel.h:1336
std::function< double(double)> FunctionDoubleDouble
typedef of a function returning a double with a double in input
Definition: Kernel.h:687
CoordinateUnits
the coordinate units
Definition: Kernel.h:562
@ _radians_
angle in radians
Dim
the dimension, used e.g. for pair and triplet vectors
Definition: Kernel.h:483