CosmoBolognaLib
Free Software C++/Python libraries for cosmological calculations
cbl::data::Data1D Class Reference

The class Data1D. More...

#include <Data1D.h>

Inheritance diagram for cbl::data::Data1D:
Collaboration diagram for cbl::data::Data1D:

Public Member Functions

Constructors/destructors
 Data1D ()
 default constructor
 
 Data1D (const std::string input_file, const int skip_nlines=0, const std::vector< int > column={1}, const std::vector< int > column_data={}, const std::vector< int > column_errors={}, const std::vector< int > column_edges={})
 constructor which reads the data from file More...
 
 Data1D (const std::vector< double > x, const std::vector< double > data, const double val=-1, const std::vector< double > bin_edges_x={})
 constructor which gets the data from input vectors More...
 
 Data1D (const std::vector< double > x, const std::vector< double > data, const std::vector< double > error, const double val=-1, const std::vector< double > bin_edges_x={})
 constructor which gets both the data and the errors from input vectors More...
 
 Data1D (const std::vector< double > x, const std::vector< double > data, const std::vector< std::vector< double >> covariance, const double val=-1, const std::vector< double > bin_edges_x={})
 constructor which gets both the data and the covariance matrix from input vectors More...
 
virtual ~Data1D ()=default
 default destructor
 
std::shared_ptr< Dataas_factory ()
 static factory used to construct objects of class Data1D More...
 
Member functions used to get the private members
int xsize () const
 get the number of points along x More...
 
double xx (const int i) const override
 get the value of x at the i-th bin More...
 
std::vector< double > xx () const override
 get the x std::vector More...
 
std::vector< std::vector< double > > IndipendentVariable (const int i=-1, const int j=-1) const override
 get the independet variable, to be used in model computation More...
 
void get_data (std::vector< double > &data) const override
 get data for Data1D More...
 
void get_error (std::vector< double > &error) const override
 get standard deviation for Data1D More...
 
Member functions used to set the private members
void set_xx (const std::vector< double > x)
 set interval variable m_x More...
 
void set_edges_xx (const std::vector< double > edges) override
 set interval variable m_edges_xx More...
 
Member functions for Input/Output
void read (const std::string input_file, const int skip_nlines=0, const std::vector< int > column={1}, const std::vector< int > column_data={}, const std::vector< int > column_errors={}, const std::vector< int > column_edges={}) override
 read the data More...
 
virtual void Print (const int precision=4) const override
 print the data on screen More...
 
void write (const std::string dir, const std::string file, const std::string header, const int prec=4, const int ww=8, const int rank=0) const override
 write the data More...
 
void write_covariance (const std::string dir, const std::string file, const int precision=10) const override
 write the covariance More...
 
Member functions for data cut
std::shared_ptr< Datacut (const double xmin, const double xmax) const override
 cut the data More...
 
std::shared_ptr< Datacut (const std::vector< bool > mask) const
 cut the data, for Data1D More...
 
- Public Member Functions inherited from cbl::data::Data
double correlation (const int i, const int j) const
 get the value of the data correlation at index i,j More...
 
std::vector< std::vector< double > > correlation () const
 get the value of the data correlation at index i,j More...
 
double inverse_covariance (const int i, const int j) const
 get the value of data inverse_covariance at index i,j More...
 
std::vector< std::vector< double > > inverse_covariance () const
 get the m_inverse_covariance std::vector More...
 
void reset (const int ndata)
 reset data object with new empty arrays large enough to store ndata data More...
 
virtual void invert_covariance (const double prec, const int Nres)
 invert the covariance matrix More...
 
virtual double xx (const int i, const int j) const
 get value of x at position i,j, for Data1D_collection More...
 
virtual double yy (const int i) const
 get value of y at index i, for Data2D More...
 
virtual std::vector< double > yy () const
 get the y std::vector More...
 
virtual double data (const int i, const int j) const
 get data at index i,j for Data1D_collection, Data2D More...
 
virtual DataType dataType () const
 get the data type More...
 
virtual int ndata () const
 the total number of data More...
 
virtual double data (const int i) const
 get data at index i More...
 
virtual std::vector< double > data () const
 get data More...
 
virtual double error (const int i) const
 get value of data standard deviation at index i More...
 
virtual std::vector< double > error () const
 get standard deviation More...
 
virtual double covariance (const int i, const int j) const
 get the value of the data covariance at index i,j More...
 
virtual std::vector< std::vector< double > > covariance () const
 get the m_covariance vector More...
 
virtual double edges_xx (const int i) const
 get value of x variable bin edge at index i More...
 
virtual std::vector< double > edges_xx () const
 get x variable bin edges More...
 
virtual double edges_yy (const int i) const
 get value of y variable bin edge at index i More...
 
virtual std::vector< double > edges_yy () const
 get y variable bin edges More...
 
virtual void get_data (std::vector< std::vector< double >> &data) const
 get data for Data1D_collection, Data2D More...
 
virtual double error (const int i, const int j) const
 get value of f(x) error at index i,j for Data1D_collection, Data2D More...
 
virtual void get_error (std::vector< std::vector< double >> &error) const
 get standard deviation for Data1D_Collection, Data2D More...
 
virtual double extra_info (const int i, const int j) const
 return the value of the extra information at index i,j More...
 
virtual std::vector< std::vector< double > > extra_info () const
 return the m_exta_info std::vector More...
 
virtual void set_yy (const std::vector< double > y)
 set interval variable m_y, for Data2D More...
 
virtual void set_xx (const int i, const std::vector< double > x)
 set interval variable m_x in the i-th dataset, for Data1D_collection More...
 
virtual void set_xx (const std::vector< std::vector< double >> x)
 set interval variable m_x, for Data1D_collection More...
 
virtual void set_edges_yy (const std::vector< double > edges)
 set interval variable m_edges_yy More...
 
virtual void set_data (const std::vector< std::vector< double >> data)
 set interval variable m_data, for Data1D_collection, Data2D More...
 
virtual void set_extra_info (const std::vector< std::vector< double >> extra_info)
 set interval variable m_error_fx More...
 
void set_data (const std::vector< double > data)
 set interval variable data More...
 
void set_error (const std::vector< double > error)
 set interval variable m_error_fx More...
 
void set_error (const std::vector< std::vector< double >> covariance)
 set interval variable m_error_fx More...
 
void set_covariance (const std::string filename, const int cov_col=2, const int skipped_lines=0)
 set the interval variable m_covariance, reading from an input file More...
 
void set_covariance (const double value, const int i, const int j)
 set interval the variable m_covariance More...
 
void set_covariance (const std::vector< std::vector< double >> covariance)
 set interval the variable m_covariance More...
 
void set_covariance (const std::vector< double > error)
 set interval the variable m_covariance More...
 
virtual int ndata (const int i) const
 function that returns number of data for one dataset, for Data1D_collection More...
 
virtual int ndataset () const
 function that returns total number of datasets More...
 
virtual int xsize (const int i) const
 get the number of points along x More...
 
virtual int ysize () const
 get the number of points along y More...
 
virtual void read (const std::vector< std::string > input_file, const int skip_nlines=0, const std::vector< int > column={0}, const std::vector< int > column_data={}, const std::vector< int > column_errors={}, const std::vector< int > column_edges={})
 read the data from a set of input files More...
 
virtual void write (const std::string dir, const std::string file, const std::string header, const bool full, const int prec=10, const int ww=8, const int rank=0) const
 write the data More...
 
virtual void write (const std::string dir, const std::vector< std::string > files, const std::string header, const int prec=10, const int ww=8, const int rank=0) const
 write the data More...
 
void cut (const std::vector< bool > mask, std::vector< double > &data, std::vector< double > &error, std::vector< std::vector< double >> &covariance_matrix) const
 cut the dataset using a mask More...
 
virtual std::shared_ptr< Datacut (const double xmin, const double xmax, const double ymin, const double ymax) const
 cut the data, for Data2D More...
 
virtual std::shared_ptr< Datacut (const int dataset, const double xmin, const double xmax) const
 cut the data, for Data1D_collection More...
 
virtual std::shared_ptr< Datacut (const std::vector< double > xmin, const std::vector< double > xmax) const
 cut the data, for Data1D_collection type More...
 
 Data ()=default
 default constructor
 
 Data (const DataType dataType)
 constructor which sets only the data type More...
 
 Data (const DataType dataType, const int ndata)
 constructor which sets both the data type and the number of data More...
 
 Data (const DataType dataType, const std::vector< double > data)
 constructor which gets the data from an input vector More...
 
 Data (const DataType dataType, const std::vector< double > data, const std::vector< double > error)
 constructor which gets both the data and the errors from input vectors More...
 
 Data (const DataType dataType, const std::vector< double > data, const std::vector< std::vector< double >> covariance)
 constructor which gets both the data and the covariance matrix from input vectors More...
 
virtual ~Data ()=default
 default destructor
 

Protected Attributes

int m_xsize
 number of points along x
 
Data input
std::vector< double > m_x
 ordered x axis points
 
- Protected Attributes inherited from cbl::data::Data
DataType m_dataType
 type of data
 
int m_ndata
 number of data
 
std::vector< double > m_data
 data values
 
std::vector< double > m_error
 standard deviations
 
std::vector< double > m_edges_xx
 bin edges for the x variable
 
std::vector< double > m_edges_yy
 bin edges for the y variable
 
std::vector< std::vector< double > > m_covariance
 covariance matrix
 
std::vector< std::vector< double > > m_inverse_covariance
 inverse covariance matrix
 

Additional Inherited Members

- Static Public Member Functions inherited from cbl::data::Data
static std::shared_ptr< DataCreate (const DataType dataType)
 static factory used to construct objects of class Data1D More...
 
- Protected Member Functions inherited from cbl::data::Data
void set_dataType (const DataType dataType)
 set the data type More...
 

Detailed Description

The class Data1D.

"Headers/Data1D.h"

This is the base class used to manage 1D data

Examples
data1D.cpp, fit.cpp, model_2pt_monopole_BAO.cpp, model_cosmology.cpp, and model_power_spectrum_angular.cpp.

Definition at line 50 of file Data1D.h.

Constructor & Destructor Documentation

◆ Data1D() [1/4]

cbl::data::Data1D::Data1D ( const std::string  input_file,
const int  skip_nlines = 0,
const std::vector< int >  column = {1},
const std::vector< int >  column_data = {},
const std::vector< int >  column_errors = {},
const std::vector< int >  column_edges = {} 
)
inline

constructor which reads the data from file

Parameters
input_filethe input data file
skip_nlinesthe header lines to be skipped
columnvector containing the column of x values in the input file; if it is not provided, the first column will be used by default
column_datathe column of data values in the input file; the size of column_data is the number of data to be read (e.g. the size should be 3 in the case of the 3 multipole moments of the two-point correlation function); if the size of column_data is larger than 1, more than 1 data vectors are read and then added one after the other in a single data object; if column_data is not provided, the first column after the column of x values will be used by default, assuming that only 1 data vector has to be read
column_errorsthe column of error values in the input file; the size of column_error must be equal to the size of column_data; if the size of column_error is larger than 1, more than 1 error vectors are read and then added one after the other in a single data object; if column_random is not provided, the second column after the column of x values will be used by default, assuming that only 1 random vector has to be read; if the input file has only 2 columns, the errors will be set to 1
column_edgesvector containing the columns of x bin edge values in the input file; if it is not provided, the third and four columns after the column of x values will be used; if these columns do no exist the edges are not read

Definition at line 117 of file Data1D.h.

◆ Data1D() [2/4]

cbl::data::Data1D::Data1D ( const std::vector< double >  x,
const std::vector< double >  data,
const double  val = -1,
const std::vector< double >  bin_edges_x = {} 
)
inline

constructor which gets the data from input vectors

Parameters
xvector containing the x values
datavector containing data
valunused variable, only used to distinguish the different constructors of the class
bin_edges_xthe x variable bin edges

Definition at line 133 of file Data1D.h.

◆ Data1D() [3/4]

cbl::data::Data1D::Data1D ( const std::vector< double >  x,
const std::vector< double >  data,
const std::vector< double >  error,
const double  val = -1,
const std::vector< double >  bin_edges_x = {} 
)
inline

constructor which gets both the data and the errors from input vectors

Parameters
xvector containing the x values
datavector containing the data
errorvector containing the errors
valunused variable, only used to distinguish the different constructors of the class
bin_edges_xthe x variable bin edges

Definition at line 152 of file Data1D.h.

◆ Data1D() [4/4]

cbl::data::Data1D::Data1D ( const std::vector< double >  x,
const std::vector< double >  data,
const std::vector< std::vector< double >>  covariance,
const double  val = -1,
const std::vector< double >  bin_edges_x = {} 
)
inline

constructor which gets both the data and the covariance matrix from input vectors

Parameters
xvector containing the x values
datavector containing the data
covariancematrix containing the covariance
valunused variable, only used to distinguish the different constructors of the class
bin_edges_xthe x variable bin edges

Definition at line 171 of file Data1D.h.

Member Function Documentation

◆ as_factory()

shared_ptr< Data > cbl::data::Data1D::as_factory ( )
virtual

static factory used to construct objects of class Data1D

Returns
a shared pointer to an object of class Data

Reimplemented from cbl::data::Data.

Reimplemented in cbl::data::Data1D_extra.

Definition at line 260 of file Data1D.cpp.

◆ cut() [1/2]

shared_ptr< Data > cbl::data::Data1D::cut ( const double  xmin,
const double  xmax 
) const
overridevirtual

cut the data

Parameters
xminminumum value for the independent variable x
xmaxmaximum value for the independent variable x
Returns
pointer to an object of type Data1D

Reimplemented from cbl::data::Data.

Reimplemented in cbl::data::Data1D_extra.

Definition at line 246 of file Data1D.cpp.

◆ cut() [2/2]

std::shared_ptr< Data > cbl::data::Data1D::cut ( const std::vector< bool >  mask) const
virtual

cut the data, for Data1D

Parameters
[in]maskvector containing values to be masked
Returns
pointer to an object of type Data1D

Reimplemented from cbl::data::Data.

Reimplemented in cbl::data::Data1D_extra.

Definition at line 215 of file Data1D.cpp.

◆ get_data()

void cbl::data::Data1D::get_data ( std::vector< double > &  data) const
inlineoverridevirtual

get data for Data1D

Parameters
[out]datavector containing the dataset

Reimplemented from cbl::data::Data.

Definition at line 232 of file Data1D.h.

◆ get_error()

void cbl::data::Data1D::get_error ( std::vector< double > &  error) const
inlineoverridevirtual

get standard deviation for Data1D

Parameters
[out]errorvector containing the standard deviation

Reimplemented from cbl::data::Data.

Definition at line 239 of file Data1D.h.

◆ IndipendentVariable()

std::vector<std::vector<double> > cbl::data::Data1D::IndipendentVariable ( const int  i = -1,
const int  j = -1 
) const
inlineoverridevirtual

get the independet variable, to be used in model computation

Parameters
iindex of the extra_info containing the independent variable
jindex of the extra_info containing the independent variable, not used
Returns
the independent variable

Reimplemented from cbl::data::Data.

Reimplemented in cbl::data::Data1D_extra.

Definition at line 225 of file Data1D.h.

◆ Print()

void cbl::data::Data1D::Print ( const int  precision = 4) const
overridevirtual

print the data on screen

Parameters
precisionthe float precision

Reimplemented from cbl::data::Data.

Reimplemented in cbl::data::Data1D_extra.

Examples
data1D.cpp.

Definition at line 154 of file Data1D.cpp.

◆ read()

void cbl::data::Data1D::read ( const std::string  input_file,
const int  skip_nlines = 0,
const std::vector< int >  column = {1},
const std::vector< int >  column_data = {},
const std::vector< int >  column_errors = {},
const std::vector< int >  column_edges = {} 
)
overridevirtual

read the data

Parameters
input_fileinput data file
skip_nlinesthe header lines to be skipped
columnvector containing the column of x values in the input file; if it is not provided, the first column will be used by default
column_datathe column of data values in the input file; the size of column_data is the number of data to be read (e.g. the size should be 3 in the case of the 3 multipole moments of the two-point correlation function); if the size of column_data is larger than 1, more than 1 data vectors are read and then added one after the other in a single data object; if column_data is not provided, the first column after the column of x values will be used by default, assuming that only 1 data vector has to be read
column_errorsthe column of error values in the input file; the size of column_error must be equal to the size of column_data; if the size of column_error is larger than 1, more than 1 error vectors are read and then added one after the other in a single data object; if column_random is not provided, the second column after the column of x values will be used by default, assuming that only 1 random vector has to be read; if the input file has only 2 columns, the errors will be set to 1
column_edgesvector containing the columns of x bin edge values in the input file; if it is not provided, the third and four columns after the column of x values will be used; if these columns do no exist the edges are not read

Reimplemented from cbl::data::Data.

Reimplemented in cbl::data::Data1D_extra.

Definition at line 56 of file Data1D.cpp.

◆ set_edges_xx()

void cbl::data::Data1D::set_edges_xx ( const std::vector< double >  edges)
inlineoverridevirtual

set interval variable m_edges_xx

Parameters
edgesstd::vector containing the x bin edges

Reimplemented from cbl::data::Data.

Definition at line 260 of file Data1D.h.

◆ set_xx()

void cbl::data::Data1D::set_xx ( const std::vector< double >  x)
virtual

set interval variable m_x

Parameters
xvector containing x points

Reimplemented from cbl::data::Data.

Definition at line 45 of file Data1D.cpp.

◆ write()

void cbl::data::Data1D::write ( const std::string  dir,
const std::string  file,
const std::string  header,
const int  prec = 4,
const int  ww = 8,
const int  rank = 0 
) const
overridevirtual

write the data

Parameters
diroutput directory
fileoutput file
headertext with the variable names to be written at the first line of the output file
precthe float precision
wwnumber of characters to be used as field width
rankcpu index (for MPI usage)

Reimplemented from cbl::data::Data.

Reimplemented in cbl::data::Data1D_extra.

Definition at line 165 of file Data1D.cpp.

◆ write_covariance()

void cbl::data::Data1D::write_covariance ( const std::string  dir,
const std::string  file,
const int  precision = 10 
) const
overridevirtual

write the covariance

Parameters
dirthe output directory
filethe output file
precisionthe float precision

Reimplemented from cbl::data::Data.

Definition at line 190 of file Data1D.cpp.

◆ xsize()

int cbl::data::Data1D::xsize ( ) const
inlinevirtual

get the number of points along x

Returns
the number of points along x

Reimplemented from cbl::data::Data.

Definition at line 198 of file Data1D.h.

◆ xx() [1/2]

std::vector<double> cbl::data::Data1D::xx ( ) const
inlineoverridevirtual

get the x std::vector

Returns
the x std::vector

Reimplemented from cbl::data::Data.

Definition at line 213 of file Data1D.h.

◆ xx() [2/2]

double cbl::data::Data1D::xx ( const int  i) const
inlineoverridevirtual

get the value of x at the i-th bin

Parameters
iindex
Returns
value of x at the i-th bin

Reimplemented from cbl::data::Data.

Definition at line 206 of file Data1D.h.


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