CosmoBolognaLib
Free Software C++/Python libraries for cosmological calculations
cbl::pairs::Pair2D Class Referenceabstract

The class Pair2D. More...

#include "Headers/Pair2D.h"

Inheritance diagram for cbl::pairs::Pair2D:
Collaboration diagram for cbl::pairs::Pair2D:

Public Member Functions

Constructors/destructors
 Pair2D ()
 default constructor
 
 Pair2D (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 More...
 
virtual ~Pair2D ()=default
 default destructor
 
Member functions to get the protected members
double scale_D1 (const int i) const override
 get the protected member m_scale_D1[i] More...
 
std::vector< double > scale_D1 () const override
 get the protected member m_scale_D1 More...
 
double scale_D2 (const int i) const override
 get the protected member m_scale_D2[i] More...
 
std::vector< double > scale_D2 () const override
 get the protected member m_scale_D2 More...
 
double PP2D (const int i, const int j) const override
 get the protected member m_PP2D[i] More...
 
std::vector< std::vector< double > > PP2D () const override
 get the protected member m_PP2D More...
 
double PP2D_weighted (const int i, const int j) const override
 get the protected member m_PP2D_weighted[i] More...
 
std::vector< std::vector< double > > PP2D_weighted () const override
 get the protected member m_PP2D_weighted More...
 
double binSize_inv_D1 () const override
 get the protected member Pair2D::m_binSize_inv_D1 More...
 
int nbins_D1 () const override
 get the protected member Pair2D::m_nbins_D1 More...
 
double shift_D1 () const override
 get the protected member Pair2D::m_shift_D1 More...
 
double binSize_inv_D2 () const override
 get the protected member Pair2D::m_binSize_inv_D2 More...
 
int nbins_D2 () const override
 get the protected member Pair2D::m_nbins_D2 More...
 
double shift_D2 () const override
 get the protected member Pair2D::m_shift_D2 More...
 
Member functions used to set the protected members
void reset () override
 reset the pair counts More...
 
void set_scale_D1 (const int i, const double pp)
 set the protected member Pair2D::m_scale_D1[i] More...
 
void set_scale_D2 (const int i, const double pp)
 set the protected member Pair2D::m_scale_D2[i] More...
 
void set_PP2D (const int i, const int j, const double pp)
 set the protected member Pair2D::m_PP2D[i][j] More...
 
void set_PP2D_weighted (const int i, const int j, const double pp)
 set the protected member Pair2D::m_PP2D_weighted[i][j] More...
 
void add_data2D (const int i, const int j, const std::vector< double > data) override
 set the protected members by adding new data More...
 
void add_data2D (const int i, const int j, const std::shared_ptr< pairs::Pair > pair, const double ww=1.) override
 set the protected members by adding new data More...
 
Member functions used to handle pairs
void Sum (const std::shared_ptr< Pair > pp, const double ww=1) override
 sum the number of binned pairs More...
 
- Public Member Functions inherited from cbl::pairs::Pair
Dim pairDim () const
 get the dimension of the pair vectors More...
 
PairType pairType () const
 get the pair type More...
 
PairInfo pairInfo () const
 get the pair information type More...
 
CoordinateUnits angularUnits ()
 get the angular units More...
 
FunctionDoubleDouble angularWeight ()
 get the m_angularWeight function More...
 
virtual double scale (const int i) const
 get the member m_scale[i] More...
 
virtual std::vector< double > scale () const
 get the member std::vector<double> m_scale More...
 
virtual double scale_mean (const int i) const
 get the member m_scale_mean[i] More...
 
virtual std::vector< double > scale_mean () const
 get the member std::vector<double> m_scale_mean More...
 
virtual double scale_S (const int i) const
 get the member m_scale_S[i] More...
 
virtual std::vector< double > scale_S () const
 get the member std::vector<double> m_scale_S More...
 
virtual double scale_sigma (const int i) const
 get the member m_scale_sigma[i] More...
 
virtual std::vector< double > scale_sigma () const
 get the member std::vector<double> m_scale_sigma More...
 
virtual double z_mean (const int i) const
 get the protected member Pair1D_extra::m_z_mean[i] More...
 
virtual std::vector< double > z_mean () const
 get the protected member Pair1D_extra::m_z_mean More...
 
virtual double z_S (const int i) const
 get the protected member Pair1D_extra::m_z_S[i] More...
 
virtual std::vector< double > z_S () const
 get the protected member Pair1D_extra::m_z_S More...
 
virtual double z_sigma (const int i) const
 get the protected member Pair1D_extra::m_z_sigma[i] More...
 
virtual std::vector< double > z_sigma () const
 get the protected member Pair1D_extra::m_z_sigma More...
 
virtual double PP1D (const int i) const
 get the member m_PP1D[i] More...
 
virtual std::vector< double > PP1D () const
 get the member std::vector<double> m_PP1D More...
 
virtual double PP1D_weighted (const int i) const
 get the member m_PP1D_weighted[i] More...
 
virtual std::vector< double > PP1D_weighted () const
 get the member std::vector<double> m_PP1D_weighted More...
 
virtual double scale_D1_mean (const int i, const int j) const
 get the protected member m_scale_D1[i][j] More...
 
virtual std::vector< std::vector< double > > scale_D1_mean () const
 get the protected member m_scale_D1 More...
 
virtual double scale_D2_mean (const int i, const int j) const
 get the protected member m_scale_D2[i][j] More...
 
virtual std::vector< std::vector< double > > scale_D2_mean () const
 get the protected member m_scale_D2 More...
 
virtual double scale_D1_S (const int i, const int j) const
 get the member m_scale_D1_S[i][j] More...
 
virtual std::vector< std::vector< double > > scale_D1_S () const
 get the member std::vector<double> m_scale_D1 More...
 
virtual double scale_D2_S (const int i, const int j) const
 get the member m_scale_D2[i][j] More...
 
virtual std::vector< std::vector< double > > scale_D2_S () const
 get the member std::vector<double> m_scale_D2 More...
 
virtual double scale_D1_sigma (const int i, const int j) const
 get the member m_scale_D1_sigma[i][j] More...
 
virtual std::vector< std::vector< double > > scale_D1_sigma () const
 get the member std::vector<double> m_scale_D1 More...
 
virtual double scale_D2_sigma (const int i, const int j) const
 get the member m_scale_D2[i][j] More...
 
virtual std::vector< std::vector< double > > scale_D2_sigma () const
 get the member std::vector<double> m_scale_D2 More...
 
virtual double z_mean (const int i, const int j) const
 get the protected member m_z_mean[i][j] More...
 
virtual std::vector< std::vector< double > > z_mean2D () const
 get the protected member m_z_mean More...
 
virtual double z_S (const int i, const int j) const
 get the member m_z_sigma[i][j] More...
 
virtual double z_sigma (const int i, const int j) const
 get the member m_z_sigma[i][j] More...
 
virtual std::vector< std::vector< double > > z_sigma2D () const
 get the member std::vector<double> m_z_sigma More...
 
virtual double binSize_inv () const
 get the member m_binSize_inv More...
 
virtual int nbins () const
 get the member m_nbins More...
 
virtual double shift () const
 get the member m_shift More...
 
virtual double sMin () const
 get the minimum separation More...
 
virtual double sMax () const
 get the the minimum separation More...
 
virtual double sMin_D1 () const
 get the minimum separation in the first dimension More...
 
virtual double sMax_D1 () const
 get the the minimum separation in the first dimension More...
 
virtual double sMin_D2 () const
 get the minimum separation in the second dimension More...
 
virtual double sMax_D2 () const
 get the the minimum separation in the second dimension More...
 
virtual void set_PP1D (const int i, const double pp)
 set the member m_PP1D[i] More...
 
virtual void set_PP1D_weighted (const int i, const double pp)
 set the member m_PP1D_weighted[i] More...
 
virtual void add_data1D (const int i, const std::vector< double > data)
 set the protected members by adding new 1D data More...
 
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 More...
 
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 More...
 
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 More...
 
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 More...
 
virtual void set (const int kk, const double wkk, const double weight=1)
 set the pair vector More...
 
virtual void set (const double cosmu, const int kk, const double wkk, const double weight=1)
 set the pair vector More...
 
virtual void set (const int ir, const int jr, const double ww, const double weight=1)
 set the pair vector More...
 
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 More...
 
 Pair ()=default
 default constuctor
 
virtual ~Pair ()=default
 default destructor
 

Protected Member Functions

Member functions used to set the binning parameters (customized in all the derived classes)
virtual void m_set_parameters_nbins ()=0
 set the binning parameters given the number of bins
 
virtual void m_set_parameters_binSize ()=0
 set the binning parameters given the bin size
 

Protected Attributes

std::vector< double > m_scale_D1
 the binned scales in the first dimension
 
std::vector< double > m_scale_D2
 the binned scales in the second dimension
 
std::vector< std::vector< double > > m_PP2D
 the number of binned pairs
 
std::vector< std::vector< double > > m_PP2D_weighted
 the weighted number of binned pairs
 
binning parameters
double m_binSize_inv_D1
 the inverse of the bin size in the first dimension
 
int m_nbins_D1
 number of bins in the first dimension
 
double m_shift_D1
 radial shift used to centre the output bins in the first dimension
 
double m_binSize_inv_D2
 the inverse of the bin size in the second dimension
 
int m_nbins_D2
 number of bins in the second dimension
 
double m_shift_D2
 radial shift used to centre the output bins in the second dimension
 
- Protected Attributes inherited from cbl::pairs::Pair
Dim m_pairDim
 pair dimension
 
PairType m_pairType
 pair type
 
PairInfo m_pairInfo
 pair info
 
CoordinateUnits m_angularUnits
 angular units
 
FunctionDoubleDouble m_angularWeight
 angular weight function
 

Additional Inherited Members

- Static Public Member Functions inherited from cbl::pairs::Pair
static std::shared_ptr< PairCreate (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 More...
 
static std::shared_ptr< PairCreate (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)
 static factory used to construct pairs of any type More...
 
static std::shared_ptr< PairCreate (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)
 static factory used to construct pairs of any type More...
 
static std::shared_ptr< PairCreate (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)
 static factory used to construct pairs of any type More...
 

Detailed Description

The class Pair2D.

This class is used to handle objects of type Pair2D .

Definition at line 56 of file Pair2D.h.

Constructor & Destructor Documentation

◆ Pair2D()

cbl::pairs::Pair2D::Pair2D ( 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 
)
inline

constructor

Parameters
binSize_D1the bin size in the first dimension
nbins_D1number of bins in the first dimension
shift_D1radial shift used to centre the output bins in the first dimension
binSize_D2the bin size in the second dimension
nbins_D2number of bins in the second dimension
shift_D2radial shift used to centre the output bins in the second dimension
angularUnitsangular units
angularWeightangular weight function

Definition at line 144 of file Pair2D.h.

Member Function Documentation

◆ add_data2D() [1/2]

void cbl::pairs::Pair2D::add_data2D ( const int  i,
const int  j,
const std::shared_ptr< pairs::Pair pair,
const double  ww = 1. 
)
overridevirtual

set the protected members by adding new data

Parameters
ithe bin index in the first dimension
jthe bin index in the second dimension
pairpair pointer to an object of class Pair
wwa multiplicative factor used for bootstrap

Reimplemented from cbl::pairs::Pair.

Reimplemented in cbl::pairs::Pair2D_extra.

Definition at line 903 of file Pair2D.cpp.

◆ add_data2D() [2/2]

void cbl::pairs::Pair2D::add_data2D ( const int  i,
const int  j,
const std::vector< double >  data 
)
overridevirtual

set the protected members by adding new data

Parameters
ithe bin index in the first dimension
jthe bin index in the second dimension
datathe number of pairs in the bin

Reimplemented from cbl::pairs::Pair.

Reimplemented in cbl::pairs::Pair2D_extra.

Definition at line 887 of file Pair2D.cpp.

◆ binSize_inv_D1()

double cbl::pairs::Pair2D::binSize_inv_D1 ( ) const
inlineoverridevirtual

get the protected member Pair2D::m_binSize_inv_D1

Returns
the inverse of the bin size in the first dimension

Reimplemented from cbl::pairs::Pair.

Definition at line 220 of file Pair2D.h.

◆ binSize_inv_D2()

double cbl::pairs::Pair2D::binSize_inv_D2 ( ) const
inlineoverridevirtual

get the protected member Pair2D::m_binSize_inv_D2

Returns
the inverse of the bin size in the second dimension

Reimplemented from cbl::pairs::Pair.

Definition at line 239 of file Pair2D.h.

◆ nbins_D1()

int cbl::pairs::Pair2D::nbins_D1 ( ) const
inlineoverridevirtual

get the protected member Pair2D::m_nbins_D1

Returns
the number of bins in the first dimension

Reimplemented from cbl::pairs::Pair.

Definition at line 226 of file Pair2D.h.

◆ nbins_D2()

int cbl::pairs::Pair2D::nbins_D2 ( ) const
inlineoverridevirtual

get the protected member Pair2D::m_nbins_D2

Returns
the number of bins in the second dimension

Reimplemented from cbl::pairs::Pair.

Definition at line 245 of file Pair2D.h.

◆ PP2D() [1/2]

std::vector<std::vector<double> > cbl::pairs::Pair2D::PP2D ( ) const
inlineoverridevirtual

get the protected member m_PP2D

Returns
the vector containing the binned number of pairs

Reimplemented from cbl::pairs::Pair.

Definition at line 199 of file Pair2D.h.

◆ PP2D() [2/2]

double cbl::pairs::Pair2D::PP2D ( const int  i,
const int  j 
) const
inlineoverridevirtual

get the protected member m_PP2D[i]

Parameters
ithe bin index in the first dimension
jthe bin index in the second dimension
Returns
the number of pairs in the i-th bin

Reimplemented from cbl::pairs::Pair.

Definition at line 193 of file Pair2D.h.

◆ PP2D_weighted() [1/2]

std::vector<std::vector<double> > cbl::pairs::Pair2D::PP2D_weighted ( ) const
inlineoverridevirtual

get the protected member m_PP2D_weighted

Returns
the vector containing the binned number of weighted pairs

Reimplemented from cbl::pairs::Pair.

Definition at line 214 of file Pair2D.h.

◆ PP2D_weighted() [2/2]

double cbl::pairs::Pair2D::PP2D_weighted ( const int  i,
const int  j 
) const
inlineoverridevirtual

get the protected member m_PP2D_weighted[i]

Parameters
ithe bin index in the first dimension
jthe bin index in the second dimension
Returns
the number of weighted pairs in the bin

Reimplemented from cbl::pairs::Pair.

Definition at line 207 of file Pair2D.h.

◆ reset()

void cbl::pairs::Pair2D::reset ( )
overridevirtual

reset the pair counts

set to 0 the m_PP1D and m_PP1D_weighted vector elements

Implements cbl::pairs::Pair.

Definition at line 46 of file Pair2D.cpp.

◆ scale_D1() [1/2]

std::vector<double> cbl::pairs::Pair2D::scale_D1 ( ) const
inlineoverridevirtual

get the protected member m_scale_D1

Returns
the vector containing the binned scales

Reimplemented from cbl::pairs::Pair.

Definition at line 172 of file Pair2D.h.

◆ scale_D1() [2/2]

double cbl::pairs::Pair2D::scale_D1 ( const int  i) const
inlineoverridevirtual

get the protected member m_scale_D1[i]

Parameters
ithe bin index in the first dimension
Returns
the i-th binned scale

Reimplemented from cbl::pairs::Pair.

Definition at line 166 of file Pair2D.h.

◆ scale_D2() [1/2]

std::vector<double> cbl::pairs::Pair2D::scale_D2 ( ) const
inlineoverridevirtual

get the protected member m_scale_D2

Returns
the vector containing the binned scales

Reimplemented from cbl::pairs::Pair.

Definition at line 185 of file Pair2D.h.

◆ scale_D2() [2/2]

double cbl::pairs::Pair2D::scale_D2 ( const int  i) const
inlineoverridevirtual

get the protected member m_scale_D2[i]

Parameters
ithe bin index in the first dimension
Returns
the i-th binned scale

Reimplemented from cbl::pairs::Pair.

Definition at line 179 of file Pair2D.h.

◆ set_PP2D()

void cbl::pairs::Pair2D::set_PP2D ( const int  i,
const int  j,
const double  pp 
)
inlinevirtual

set the protected member Pair2D::m_PP2D[i][j]

Parameters
ithe bin index in the first dimension
jthe bin index in the second dimension
ppthe number of pairs in the bin

Reimplemented from cbl::pairs::Pair.

Definition at line 295 of file Pair2D.h.

◆ set_PP2D_weighted()

void cbl::pairs::Pair2D::set_PP2D_weighted ( const int  i,
const int  j,
const double  pp 
)
inlinevirtual

set the protected member Pair2D::m_PP2D_weighted[i][j]

Parameters
ithe bin index in the first dimension
jthe bin index in the second dimension
ppthe number of weighetd pairs in the bin

Reimplemented from cbl::pairs::Pair.

Definition at line 304 of file Pair2D.h.

◆ set_scale_D1()

void cbl::pairs::Pair2D::set_scale_D1 ( const int  i,
const double  pp 
)
inline

set the protected member Pair2D::m_scale_D1[i]

Parameters
ithe bin index in the first dimension
ppthe binned scale in the first dimension

Definition at line 278 of file Pair2D.h.

◆ set_scale_D2()

void cbl::pairs::Pair2D::set_scale_D2 ( const int  i,
const double  pp 
)
inline

set the protected member Pair2D::m_scale_D2[i]

Parameters
ithe bin index in the second dimension
ppthe binned scale in the second dimension

Definition at line 286 of file Pair2D.h.

◆ shift_D1()

double cbl::pairs::Pair2D::shift_D1 ( ) const
inlineoverridevirtual

get the protected member Pair2D::m_shift_D1

Returns
the radial shift in the first dimension used to centre the output bins

Reimplemented from cbl::pairs::Pair.

Definition at line 233 of file Pair2D.h.

◆ shift_D2()

double cbl::pairs::Pair2D::shift_D2 ( ) const
inlineoverridevirtual

get the protected member Pair2D::m_shift_D2

Returns
the radial shift in the second dimension used to centre the output bins

Reimplemented from cbl::pairs::Pair.

Definition at line 252 of file Pair2D.h.

◆ Sum()

void cbl::pairs::Pair2D::Sum ( const std::shared_ptr< Pair pp,
const double  ww = 1 
)
overridevirtual

sum the number of binned pairs

Parameters
ppan object of class Pair
wwthe weight

Implements cbl::pairs::Pair.

Reimplemented in cbl::pairs::Pair2D_extra.

Definition at line 912 of file Pair2D.cpp.


The documentation for this class was generated from the following files: