# This file was automatically generated by SWIG (http://www.swig.org).
# Version 3.0.8
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.





from sys import version_info
if version_info >= (2, 6, 0):
    def swig_import_helper():
        from os.path import dirname
        import imp
        fp = None
        try:
            fp, pathname, description = imp.find_module('_CosmoBolognaLib', [dirname(__file__)])
        except ImportError:
            import _CosmoBolognaLib
            return _CosmoBolognaLib
        if fp is not None:
            try:
                _mod = imp.load_module('_CosmoBolognaLib', fp, pathname, description)
            finally:
                fp.close()
            return _mod
    _CosmoBolognaLib = swig_import_helper()
    del swig_import_helper
else:
    import _CosmoBolognaLib
del version_info
try:
    _swig_property = property
except NameError:
    pass  # Python < 2.2 doesn't have 'property'.


def _swig_setattr_nondynamic(self, class_type, name, value, static=1):
    if (name == "thisown"):
        return self.this.own(value)
    if (name == "this"):
        if type(value).__name__ == 'SwigPyObject':
            self.__dict__[name] = value
            return
    method = class_type.__swig_setmethods__.get(name, None)
    if method:
        return method(self, value)
    if (not static):
        if _newclass:
            object.__setattr__(self, name, value)
        else:
            self.__dict__[name] = value
    else:
        raise AttributeError("You cannot add attributes to %s" % self)


def _swig_setattr(self, class_type, name, value):
    return _swig_setattr_nondynamic(self, class_type, name, value, 0)


def _swig_getattr_nondynamic(self, class_type, name, static=1):
    if (name == "thisown"):
        return self.this.own()
    method = class_type.__swig_getmethods__.get(name, None)
    if method:
        return method(self)
    if (not static):
        return object.__getattr__(self, name)
    else:
        raise AttributeError(name)

def _swig_getattr(self, class_type, name):
    return _swig_getattr_nondynamic(self, class_type, name, 0)


def _swig_repr(self):
    try:
        strthis = "proxy of " + self.this.__repr__()
    except Exception:
        strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)

try:
    _object = object
    _newclass = 1
except AttributeError:
    class _object:
        pass
    _newclass = 0


class SwigPyIterator(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, SwigPyIterator, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, SwigPyIterator, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _CosmoBolognaLib.delete_SwigPyIterator
    __del__ = lambda self: None

    def value(self):
        return _CosmoBolognaLib.SwigPyIterator_value(self)

    def incr(self, n=1):
        return _CosmoBolognaLib.SwigPyIterator_incr(self, n)

    def decr(self, n=1):
        return _CosmoBolognaLib.SwigPyIterator_decr(self, n)

    def distance(self, x):
        return _CosmoBolognaLib.SwigPyIterator_distance(self, x)

    def equal(self, x):
        return _CosmoBolognaLib.SwigPyIterator_equal(self, x)

    def copy(self):
        return _CosmoBolognaLib.SwigPyIterator_copy(self)

    def next(self):
        return _CosmoBolognaLib.SwigPyIterator_next(self)

    def __next__(self):
        return _CosmoBolognaLib.SwigPyIterator___next__(self)

    def previous(self):
        return _CosmoBolognaLib.SwigPyIterator_previous(self)

    def advance(self, n):
        return _CosmoBolognaLib.SwigPyIterator_advance(self, n)

    def __eq__(self, x):
        return _CosmoBolognaLib.SwigPyIterator___eq__(self, x)

    def __ne__(self, x):
        return _CosmoBolognaLib.SwigPyIterator___ne__(self, x)

    def __iadd__(self, n):
        return _CosmoBolognaLib.SwigPyIterator___iadd__(self, n)

    def __isub__(self, n):
        return _CosmoBolognaLib.SwigPyIterator___isub__(self, n)

    def __add__(self, n):
        return _CosmoBolognaLib.SwigPyIterator___add__(self, n)

    def __sub__(self, *args):
        return _CosmoBolognaLib.SwigPyIterator___sub__(self, *args)
    def __iter__(self):
        return self
SwigPyIterator_swigregister = _CosmoBolognaLib.SwigPyIterator_swigregister
SwigPyIterator_swigregister(SwigPyIterator)


_CosmoBolognaLib.SHARED_PTR_DISOWN_swigconstant(_CosmoBolognaLib)
SHARED_PTR_DISOWN = _CosmoBolognaLib.SHARED_PTR_DISOWN

_CosmoBolognaLib._1D__swigconstant(_CosmoBolognaLib)
_1D_ = _CosmoBolognaLib._1D_

_CosmoBolognaLib._2D__swigconstant(_CosmoBolognaLib)
_2D_ = _CosmoBolognaLib._2D_

_CosmoBolognaLib._linear__swigconstant(_CosmoBolognaLib)
_linear_ = _CosmoBolognaLib._linear_

_CosmoBolognaLib._logarithmic__swigconstant(_CosmoBolognaLib)
_logarithmic_ = _CosmoBolognaLib._logarithmic_

_CosmoBolognaLib._radians__swigconstant(_CosmoBolognaLib)
_radians_ = _CosmoBolognaLib._radians_

_CosmoBolognaLib._degrees__swigconstant(_CosmoBolognaLib)
_degrees_ = _CosmoBolognaLib._degrees_

_CosmoBolognaLib._arcseconds__swigconstant(_CosmoBolognaLib)
_arcseconds_ = _CosmoBolognaLib._arcseconds_

_CosmoBolognaLib._arcminutes__swigconstant(_CosmoBolognaLib)
_arcminutes_ = _CosmoBolognaLib._arcminutes_

_CosmoBolognaLib._comovingCoordinates__swigconstant(_CosmoBolognaLib)
_comovingCoordinates_ = _CosmoBolognaLib._comovingCoordinates_

_CosmoBolognaLib._observedCoordinates__swigconstant(_CosmoBolognaLib)
_observedCoordinates_ = _CosmoBolognaLib._observedCoordinates_
class comovingCoordinates(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, comovingCoordinates, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, comovingCoordinates, name)
    __repr__ = _swig_repr
    __swig_setmethods__["xx"] = _CosmoBolognaLib.comovingCoordinates_xx_set
    __swig_getmethods__["xx"] = _CosmoBolognaLib.comovingCoordinates_xx_get
    if _newclass:
        xx = _swig_property(_CosmoBolognaLib.comovingCoordinates_xx_get, _CosmoBolognaLib.comovingCoordinates_xx_set)
    __swig_setmethods__["yy"] = _CosmoBolognaLib.comovingCoordinates_yy_set
    __swig_getmethods__["yy"] = _CosmoBolognaLib.comovingCoordinates_yy_get
    if _newclass:
        yy = _swig_property(_CosmoBolognaLib.comovingCoordinates_yy_get, _CosmoBolognaLib.comovingCoordinates_yy_set)
    __swig_setmethods__["zz"] = _CosmoBolognaLib.comovingCoordinates_zz_set
    __swig_getmethods__["zz"] = _CosmoBolognaLib.comovingCoordinates_zz_get
    if _newclass:
        zz = _swig_property(_CosmoBolognaLib.comovingCoordinates_zz_get, _CosmoBolognaLib.comovingCoordinates_zz_set)

    def __init__(self):
        this = _CosmoBolognaLib.new_comovingCoordinates()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_comovingCoordinates
    __del__ = lambda self: None
comovingCoordinates_swigregister = _CosmoBolognaLib.comovingCoordinates_swigregister
comovingCoordinates_swigregister(comovingCoordinates)

class observedCoordinates(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, observedCoordinates, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, observedCoordinates, name)
    __repr__ = _swig_repr
    __swig_setmethods__["ra"] = _CosmoBolognaLib.observedCoordinates_ra_set
    __swig_getmethods__["ra"] = _CosmoBolognaLib.observedCoordinates_ra_get
    if _newclass:
        ra = _swig_property(_CosmoBolognaLib.observedCoordinates_ra_get, _CosmoBolognaLib.observedCoordinates_ra_set)
    __swig_setmethods__["dec"] = _CosmoBolognaLib.observedCoordinates_dec_set
    __swig_getmethods__["dec"] = _CosmoBolognaLib.observedCoordinates_dec_get
    if _newclass:
        dec = _swig_property(_CosmoBolognaLib.observedCoordinates_dec_get, _CosmoBolognaLib.observedCoordinates_dec_set)
    __swig_setmethods__["redshift"] = _CosmoBolognaLib.observedCoordinates_redshift_set
    __swig_getmethods__["redshift"] = _CosmoBolognaLib.observedCoordinates_redshift_get
    if _newclass:
        redshift = _swig_property(_CosmoBolognaLib.observedCoordinates_redshift_get, _CosmoBolognaLib.observedCoordinates_redshift_set)

    def __init__(self):
        this = _CosmoBolognaLib.new_observedCoordinates()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_observedCoordinates
    __del__ = lambda self: None
observedCoordinates_swigregister = _CosmoBolognaLib.observedCoordinates_swigregister
observedCoordinates_swigregister(observedCoordinates)


def headerCBL(stream):
    return _CosmoBolognaLib.headerCBL(stream)
headerCBL = _CosmoBolognaLib.headerCBL

def SetDirs(_DirCosmo, _DirLoc):
    return _CosmoBolognaLib.SetDirs(_DirCosmo, _DirLoc)
SetDirs = _CosmoBolognaLib.SetDirs

def WarningMsg(msg):
    return _CosmoBolognaLib.WarningMsg(msg)
WarningMsg = _CosmoBolognaLib.WarningMsg

def Error(*args):
    return _CosmoBolognaLib.Error(*args)
Error = _CosmoBolognaLib.Error

def ErrorCBL(*args):
    return _CosmoBolognaLib.ErrorCBL(*args)
ErrorCBL = _CosmoBolognaLib.ErrorCBL

def Beep():
    return _CosmoBolognaLib.Beep()
Beep = _CosmoBolognaLib.Beep

def isSet(*args):
    return _CosmoBolognaLib.isSet(*args)
isSet = _CosmoBolognaLib.isSet

def ShortSwap(arg1):
    return _CosmoBolognaLib.ShortSwap(arg1)
ShortSwap = _CosmoBolognaLib.ShortSwap

def IntSwap(arg1):
    return _CosmoBolognaLib.IntSwap(arg1)
IntSwap = _CosmoBolognaLib.IntSwap

def LongSwap(arg1):
    return _CosmoBolognaLib.LongSwap(arg1)
LongSwap = _CosmoBolognaLib.LongSwap

def FloatSwap(arg1):
    return _CosmoBolognaLib.FloatSwap(arg1)
FloatSwap = _CosmoBolognaLib.FloatSwap

def DoubleSwap(arg1):
    return _CosmoBolognaLib.DoubleSwap(arg1)
DoubleSwap = _CosmoBolognaLib.DoubleSwap

def round_to_digits(num, ndigits):
    return _CosmoBolognaLib.round_to_digits(num, ndigits)
round_to_digits = _CosmoBolognaLib.round_to_digits

def round_to_precision(num, ndigits):
    return _CosmoBolognaLib.round_to_precision(num, ndigits)
round_to_precision = _CosmoBolognaLib.round_to_precision

def interpolated(_xx, xx, yy, type):
    return _CosmoBolognaLib.interpolated(_xx, xx, yy, type)
interpolated = _CosmoBolognaLib.interpolated

def interpolated_2D(_x1, _x2, x1, x2, yy, type):
    return _CosmoBolognaLib.interpolated_2D(_x1, _x2, x1, x2, yy, type)
interpolated_2D = _CosmoBolognaLib.interpolated_2D

def checkIO(*args):
    return _CosmoBolognaLib.checkIO(*args)
checkIO = _CosmoBolognaLib.checkIO

def convert_map_gnuplot_sm(file_gnu, file_sm):
    return _CosmoBolognaLib.convert_map_gnuplot_sm(file_gnu, file_sm)
convert_map_gnuplot_sm = _CosmoBolognaLib.convert_map_gnuplot_sm

def set_EnvVar(Var):
    return _CosmoBolognaLib.set_EnvVar(Var)
set_EnvVar = _CosmoBolognaLib.set_EnvVar

def check_EnvVar(Var):
    return _CosmoBolognaLib.check_EnvVar(Var)
check_EnvVar = _CosmoBolognaLib.check_EnvVar

def used_memory(type):
    return _CosmoBolognaLib.used_memory(type)
used_memory = _CosmoBolognaLib.used_memory

def check_memory(*args):
    return _CosmoBolognaLib.check_memory(*args)
check_memory = _CosmoBolognaLib.check_memory

def fullpath(path, isDir=1):
    return _CosmoBolognaLib.fullpath(path, isDir)
fullpath = _CosmoBolognaLib.fullpath

def Filter(r, rc):
    return _CosmoBolognaLib.Filter(r, rc)
Filter = _CosmoBolognaLib.Filter

def legendre_polynomial(mu, l):
    return _CosmoBolognaLib.legendre_polynomial(mu, l)
legendre_polynomial = _CosmoBolognaLib.legendre_polynomial

def legendre_polynomial_integral(mu, params):
    return _CosmoBolognaLib.legendre_polynomial_integral(mu, params)
legendre_polynomial_integral = _CosmoBolognaLib.legendre_polynomial_integral

def Legendre_polynomial_mu_average(ll, mu, delta_mu):
    return _CosmoBolognaLib.Legendre_polynomial_mu_average(ll, mu, delta_mu)
Legendre_polynomial_mu_average = _CosmoBolognaLib.Legendre_polynomial_mu_average

def spherical_harmonics(l, m, xx, yy, zz):
    return _CosmoBolognaLib.spherical_harmonics(l, m, xx, yy, zz)
spherical_harmonics = _CosmoBolognaLib.spherical_harmonics

def j0(xx):
    return _CosmoBolognaLib.j0(xx)
j0 = _CosmoBolognaLib.j0

def j2(xx):
    return _CosmoBolognaLib.j2(xx)
j2 = _CosmoBolognaLib.j2

def j4(xx):
    return _CosmoBolognaLib.j4(xx)
j4 = _CosmoBolognaLib.j4

def jl(xx, order):
    return _CosmoBolognaLib.jl(xx, order)
jl = _CosmoBolognaLib.jl

def j0_distance_average(kk, r_down, r_up):
    return _CosmoBolognaLib.j0_distance_average(kk, r_down, r_up)
j0_distance_average = _CosmoBolognaLib.j0_distance_average

def j2_distance_average(kk, r_down, r_up):
    return _CosmoBolognaLib.j2_distance_average(kk, r_down, r_up)
j2_distance_average = _CosmoBolognaLib.j2_distance_average

def jl_spherical_integrand(rr, params):
    return _CosmoBolognaLib.jl_spherical_integrand(rr, params)
jl_spherical_integrand = _CosmoBolognaLib.jl_spherical_integrand

def jl_distance_average(kk, order, r_down, r_up):
    return _CosmoBolognaLib.jl_distance_average(kk, order, r_down, r_up)
jl_distance_average = _CosmoBolognaLib.jl_distance_average

def trapezoid_integration(xx, yy):
    return _CosmoBolognaLib.trapezoid_integration(xx, yy)
trapezoid_integration = _CosmoBolognaLib.trapezoid_integration

def gauleg(arg1, arg2, arg3, arg4, arg5):
    return _CosmoBolognaLib.gauleg(arg1, arg2, arg3, arg4, arg5)
gauleg = _CosmoBolognaLib.gauleg

def unique_unsorted(*args):
    return _CosmoBolognaLib.unique_unsorted(*args)
unique_unsorted = _CosmoBolognaLib.unique_unsorted
class CL(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, CL, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, CL, name)
    __repr__ = _swig_repr
    __swig_setmethods__["VV"] = _CosmoBolognaLib.CL_VV_set
    __swig_getmethods__["VV"] = _CosmoBolognaLib.CL_VV_get
    if _newclass:
        VV = _swig_property(_CosmoBolognaLib.CL_VV_get, _CosmoBolognaLib.CL_VV_set)

    def __init__(self, vv):
        this = _CosmoBolognaLib.new_CL(vv)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_CL
    __del__ = lambda self: None
CL_swigregister = _CosmoBolognaLib.CL_swigregister
CL_swigregister(CL)


def __lt__(arg1, arg2):
    return _CosmoBolognaLib.__lt__(arg1, arg2)
__lt__ = _CosmoBolognaLib.__lt__

def sort_2vectors(arg1, arg2, arg3):
    return _CosmoBolognaLib.sort_2vectors(arg1, arg2, arg3)
sort_2vectors = _CosmoBolognaLib.sort_2vectors

def sort_3vectors(arg1, arg2, arg3, arg4):
    return _CosmoBolognaLib.sort_3vectors(arg1, arg2, arg3, arg4)
sort_3vectors = _CosmoBolognaLib.sort_3vectors

def sort_4vectors(arg1, arg2, arg3, arg4, arg5):
    return _CosmoBolognaLib.sort_4vectors(arg1, arg2, arg3, arg4, arg5)
sort_4vectors = _CosmoBolognaLib.sort_4vectors

def __mul__(Mat1, Mat2):
    return _CosmoBolognaLib.__mul__(Mat1, Mat2)
__mul__ = _CosmoBolognaLib.__mul__

def read_matrix(*args):
    return _CosmoBolognaLib.read_matrix(*args)
read_matrix = _CosmoBolognaLib.read_matrix

def determinant_matrix(mat):
    return _CosmoBolognaLib.determinant_matrix(mat)
determinant_matrix = _CosmoBolognaLib.determinant_matrix

def invert_matrix(*args):
    return _CosmoBolognaLib.invert_matrix(*args)
invert_matrix = _CosmoBolognaLib.invert_matrix

def covariance_matrix(*args):
    return _CosmoBolognaLib.covariance_matrix(*args)
covariance_matrix = _CosmoBolognaLib.covariance_matrix

def read_invert_covariance(filecov, cov, cov_inv, i1, i2):
    return _CosmoBolognaLib.read_invert_covariance(filecov, cov, cov_inv, i1, i2)
read_invert_covariance = _CosmoBolognaLib.read_invert_covariance

def vector_from_distribution(nRan, xx, fx, xmin, xmax, idum):
    return _CosmoBolognaLib.vector_from_distribution(nRan, xx, fx, xmin, xmax, idum)
vector_from_distribution = _CosmoBolognaLib.vector_from_distribution

def minimum_maximum_indexes(xx, x_min, x_max):
    return _CosmoBolognaLib.minimum_maximum_indexes(xx, x_min, x_max)
minimum_maximum_indexes = _CosmoBolognaLib.minimum_maximum_indexes

def generate_correlated_data(*args):
    return _CosmoBolognaLib.generate_correlated_data(*args)
generate_correlated_data = _CosmoBolognaLib.generate_correlated_data

def Average(*args):
    return _CosmoBolognaLib.Average(*args)
Average = _CosmoBolognaLib.Average

def Sigma(*args):
    return _CosmoBolognaLib.Sigma(*args)
Sigma = _CosmoBolognaLib.Sigma

def Quartile(Vect):
    return _CosmoBolognaLib.Quartile(Vect)
Quartile = _CosmoBolognaLib.Quartile

def Moment(data, ave, adev, sdev, var, skew, curt):
    return _CosmoBolognaLib.Moment(data, ave, adev, sdev, var, skew, curt)
Moment = _CosmoBolognaLib.Moment

def linearfit(xx):
    return _CosmoBolognaLib.linearfit(xx)
linearfit = _CosmoBolognaLib.linearfit

def quadratic(xx):
    return _CosmoBolognaLib.quadratic(xx)
quadratic = _CosmoBolognaLib.quadratic

def cubicfit(xx):
    return _CosmoBolognaLib.cubicfit(xx)
cubicfit = _CosmoBolognaLib.cubicfit

def closest_probability(xx, pp, par):
    return _CosmoBolognaLib.closest_probability(xx, pp, par)
closest_probability = _CosmoBolognaLib.closest_probability

def distribution_probability(xx, pp, par):
    return _CosmoBolognaLib.distribution_probability(xx, pp, par)
distribution_probability = _CosmoBolognaLib.distribution_probability

def measure_var_function(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8):
    return _CosmoBolognaLib.measure_var_function(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
measure_var_function = _CosmoBolognaLib.measure_var_function

def distribution(*args):
    return _CosmoBolognaLib.distribution(*args)
distribution = _CosmoBolognaLib.distribution

def MC_Int(*args):
    return _CosmoBolognaLib.MC_Int(*args)
MC_Int = _CosmoBolognaLib.MC_Int

def bin_function(file_grid, func, par, bin, x_min, x_max, binning, xx, yy):
    return _CosmoBolognaLib.bin_function(file_grid, func, par, bin, x_min, x_max, binning, xx, yy)
bin_function = _CosmoBolognaLib.bin_function

def bin_function_2D(arg1, func, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12):
    return _CosmoBolognaLib.bin_function_2D(arg1, func, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12)
bin_function_2D = _CosmoBolognaLib.bin_function_2D

def func_grid_lin(arg1, arg2):
    return _CosmoBolognaLib.func_grid_lin(arg1, arg2)
func_grid_lin = _CosmoBolognaLib.func_grid_lin

def func_grid_loglin(arg1, arg2):
    return _CosmoBolognaLib.func_grid_loglin(arg1, arg2)
func_grid_loglin = _CosmoBolognaLib.func_grid_loglin

def func_grid_log(arg1, arg2):
    return _CosmoBolognaLib.func_grid_log(arg1, arg2)
func_grid_log = _CosmoBolognaLib.func_grid_log

def func_grid_lin_2D(arg1, arg2, arg3):
    return _CosmoBolognaLib.func_grid_lin_2D(arg1, arg2, arg3)
func_grid_lin_2D = _CosmoBolognaLib.func_grid_lin_2D

def func_grid_loglin_2D(arg1, arg2, arg3):
    return _CosmoBolognaLib.func_grid_loglin_2D(arg1, arg2, arg3)
func_grid_loglin_2D = _CosmoBolognaLib.func_grid_loglin_2D

def func_grid_log_2D(arg1, arg2, arg3):
    return _CosmoBolognaLib.func_grid_log_2D(arg1, arg2, arg3)
func_grid_log_2D = _CosmoBolognaLib.func_grid_log_2D

def convolution(f1, f2, res, deltaX):
    return _CosmoBolognaLib.convolution(f1, f2, res, deltaX)
convolution = _CosmoBolognaLib.convolution

def degrees(*args):
    return _CosmoBolognaLib.degrees(*args)
degrees = _CosmoBolognaLib.degrees

def radians(*args):
    return _CosmoBolognaLib.radians(*args)
radians = _CosmoBolognaLib.radians

def arcseconds(*args):
    return _CosmoBolognaLib.arcseconds(*args)
arcseconds = _CosmoBolognaLib.arcseconds

def arcminutes(*args):
    return _CosmoBolognaLib.arcminutes(*args)
arcminutes = _CosmoBolognaLib.arcminutes

def converted_angle(*args):
    return _CosmoBolognaLib.converted_angle(*args)
converted_angle = _CosmoBolognaLib.converted_angle

def polar_coord(*args):
    return _CosmoBolognaLib.polar_coord(*args)
polar_coord = _CosmoBolognaLib.polar_coord

def cartesian_coord(*args):
    return _CosmoBolognaLib.cartesian_coord(*args)
cartesian_coord = _CosmoBolognaLib.cartesian_coord

def Euclidean_distance(x1, x2, y1, y2, z1, z2):
    return _CosmoBolognaLib.Euclidean_distance(x1, x2, y1, y2, z1, z2)
Euclidean_distance = _CosmoBolognaLib.Euclidean_distance

def perpendicular_distance(ra1, ra2, dec1, dec2, d1, d2):
    return _CosmoBolognaLib.perpendicular_distance(ra1, ra2, dec1, dec2, d1, d2)
perpendicular_distance = _CosmoBolognaLib.perpendicular_distance

def angular_distance(x1, x2, y1, y2, z1, z2):
    return _CosmoBolognaLib.angular_distance(x1, x2, y1, y2, z1, z2)
angular_distance = _CosmoBolognaLib.angular_distance

def haversine_distance(ra1, ra2, dec1, dec2):
    return _CosmoBolognaLib.haversine_distance(ra1, ra2, dec1, dec2)
haversine_distance = _CosmoBolognaLib.haversine_distance

def eq2sdss(arg1, arg2, arg3, arg4):
    return _CosmoBolognaLib.eq2sdss(arg1, arg2, arg3, arg4)
eq2sdss = _CosmoBolognaLib.eq2sdss

def sdss2eq(arg1, arg2, arg3, arg4):
    return _CosmoBolognaLib.sdss2eq(arg1, arg2, arg3, arg4)
sdss2eq = _CosmoBolognaLib.sdss2eq

def sdss_stripe(arg1, arg2, arg3, arg4):
    return _CosmoBolognaLib.sdss_stripe(arg1, arg2, arg3, arg4)
sdss_stripe = _CosmoBolognaLib.sdss_stripe

def xi_from_Pk(*args):
    return _CosmoBolognaLib.xi_from_Pk(*args)
xi_from_Pk = _CosmoBolognaLib.xi_from_Pk

def Pk_from_xi(*args):
    return _CosmoBolognaLib.Pk_from_xi(*args)
Pk_from_xi = _CosmoBolognaLib.Pk_from_xi

def func_xi_GSL(arg1, arg2):
    return _CosmoBolognaLib.func_xi_GSL(arg1, arg2)
func_xi_GSL = _CosmoBolognaLib.func_xi_GSL

def func_SSM_GSL(arg1, arg2):
    return _CosmoBolognaLib.func_SSM_GSL(arg1, arg2)
func_SSM_GSL = _CosmoBolognaLib.func_SSM_GSL

def wp(*args):
    return _CosmoBolognaLib.wp(*args)
wp = _CosmoBolognaLib.wp

def sigmaR(arg1, arg2, arg3, arg4):
    return _CosmoBolognaLib.sigmaR(arg1, arg2, arg3, arg4)
sigmaR = _CosmoBolognaLib.sigmaR

def xi_projected_powerlaw(arg1, arg2, arg3):
    return _CosmoBolognaLib.xi_projected_powerlaw(arg1, arg2, arg3)
xi_projected_powerlaw = _CosmoBolognaLib.xi_projected_powerlaw

def xi_ratio(*args):
    return _CosmoBolognaLib.xi_ratio(*args)
xi_ratio = _CosmoBolognaLib.xi_ratio

def error_xi_ratio(arg1, arg2):
    return _CosmoBolognaLib.error_xi_ratio(arg1, arg2)
error_xi_ratio = _CosmoBolognaLib.error_xi_ratio

def barred_xi_direct(arg1, arg2, arg3, rAPP=0., r0=-1., gamma=1.):
    return _CosmoBolognaLib.barred_xi_direct(arg1, arg2, arg3, rAPP, r0, gamma)
barred_xi_direct = _CosmoBolognaLib.barred_xi_direct

def barred_xi__direct(arg1, arg2, arg3, rAPP=0., r0=-1., gamma=1.):
    return _CosmoBolognaLib.barred_xi__direct(arg1, arg2, arg3, rAPP, r0, gamma)
barred_xi__direct = _CosmoBolognaLib.barred_xi__direct

def barred_xi_(arg1, arg2, arg3, rAPP=0., r0=-1., gamma=1.):
    return _CosmoBolognaLib.barred_xi_(arg1, arg2, arg3, rAPP, r0, gamma)
barred_xi_ = _CosmoBolognaLib.barred_xi_

def barred_xi__(arg1, arg2, arg3, rAPP=0., r0=-1., gamma=1.):
    return _CosmoBolognaLib.barred_xi__(arg1, arg2, arg3, rAPP, r0, gamma)
barred_xi__ = _CosmoBolognaLib.barred_xi__

def multipole_xi0(*args):
    return _CosmoBolognaLib.multipole_xi0(*args)
multipole_xi0 = _CosmoBolognaLib.multipole_xi0

def multipole_xi2(*args):
    return _CosmoBolognaLib.multipole_xi2(*args)
multipole_xi2 = _CosmoBolognaLib.multipole_xi2

def multipole_xi4(*args):
    return _CosmoBolognaLib.multipole_xi4(*args)
multipole_xi4 = _CosmoBolognaLib.multipole_xi4

def error_multipole_xi0(*args):
    return _CosmoBolognaLib.error_multipole_xi0(*args)
error_multipole_xi0 = _CosmoBolognaLib.error_multipole_xi0

def error_multipole_xi2(*args):
    return _CosmoBolognaLib.error_multipole_xi2(*args)
error_multipole_xi2 = _CosmoBolognaLib.error_multipole_xi2

def error_multipole_xi4(*args):
    return _CosmoBolognaLib.error_multipole_xi4(*args)
error_multipole_xi4 = _CosmoBolognaLib.error_multipole_xi4

def multipoles(arg1, arg2, arg3):
    return _CosmoBolognaLib.multipoles(arg1, arg2, arg3)
multipoles = _CosmoBolognaLib.multipoles

def multipole_xi0_model(*args):
    return _CosmoBolognaLib.multipole_xi0_model(*args)
multipole_xi0_model = _CosmoBolognaLib.multipole_xi0_model

def multipole_xi2_model(arg1, arg2, arg3):
    return _CosmoBolognaLib.multipole_xi2_model(arg1, arg2, arg3)
multipole_xi2_model = _CosmoBolognaLib.multipole_xi2_model

def multipole_xi4_model(arg1, arg2, arg3, arg4):
    return _CosmoBolognaLib.multipole_xi4_model(arg1, arg2, arg3, arg4)
multipole_xi4_model = _CosmoBolognaLib.multipole_xi4_model

def xi2D_lin_model(*args):
    return _CosmoBolognaLib.xi2D_lin_model(*args)
xi2D_lin_model = _CosmoBolognaLib.xi2D_lin_model

def xi2D_model(*args):
    return _CosmoBolognaLib.xi2D_model(*args)
xi2D_model = _CosmoBolognaLib.xi2D_model

def f_v(*args):
    return _CosmoBolognaLib.f_v(*args)
f_v = _CosmoBolognaLib.f_v

def f_star(arg1, arg2, arg3):
    return _CosmoBolognaLib.f_star(arg1, arg2, arg3)
f_star = _CosmoBolognaLib.f_star

def b_nl(arg1, arg2, bB=10., bC=4.):
    return _CosmoBolognaLib.b_nl(arg1, arg2, bB, bC)
b_nl = _CosmoBolognaLib.b_nl

def relative_error_beta(arg1, arg2, arg3):
    return _CosmoBolognaLib.relative_error_beta(arg1, arg2, arg3)
relative_error_beta = _CosmoBolognaLib.relative_error_beta

def Pkl_Kaiser_integrand(mu, parameters):
    return _CosmoBolognaLib.Pkl_Kaiser_integrand(mu, parameters)
Pkl_Kaiser_integrand = _CosmoBolognaLib.Pkl_Kaiser_integrand

def sigma2_integrand(mu, parameters):
    return _CosmoBolognaLib.sigma2_integrand(mu, parameters)
sigma2_integrand = _CosmoBolognaLib.sigma2_integrand

def covariance_XiMultipoles_integrand(kk, parameters):
    return _CosmoBolognaLib.covariance_XiMultipoles_integrand(kk, parameters)
covariance_XiMultipoles_integrand = _CosmoBolognaLib.covariance_XiMultipoles_integrand

def XiMultipoles_integrand(kk, parameters):
    return _CosmoBolognaLib.XiMultipoles_integrand(kk, parameters)
XiMultipoles_integrand = _CosmoBolognaLib.XiMultipoles_integrand

def XiMultipoles_from_Xi2D_integrand(mu, parameters):
    return _CosmoBolognaLib.XiMultipoles_from_Xi2D_integrand(mu, parameters)
XiMultipoles_from_Xi2D_integrand = _CosmoBolognaLib.XiMultipoles_from_Xi2D_integrand

def Pkl_Kaiser_integral(order, bias, f):
    return _CosmoBolognaLib.Pkl_Kaiser_integral(order, bias, f)
Pkl_Kaiser_integral = _CosmoBolognaLib.Pkl_Kaiser_integral

def Pk0_Kaiser(kk, Pk, bias, f):
    return _CosmoBolognaLib.Pk0_Kaiser(kk, Pk, bias, f)
Pk0_Kaiser = _CosmoBolognaLib.Pk0_Kaiser

def Pk2_Kaiser(kk, Pk, bias, f):
    return _CosmoBolognaLib.Pk2_Kaiser(kk, Pk, bias, f)
Pk2_Kaiser = _CosmoBolognaLib.Pk2_Kaiser

def Pk4_Kaiser(kk, Pk, bias, f):
    return _CosmoBolognaLib.Pk4_Kaiser(kk, Pk, bias, f)
Pk4_Kaiser = _CosmoBolognaLib.Pk4_Kaiser

def Pkl_Kaiser(orders, kk, Pk, bias, f):
    return _CosmoBolognaLib.Pkl_Kaiser(orders, kk, Pk, bias, f)
Pkl_Kaiser = _CosmoBolognaLib.Pkl_Kaiser

def Xi0(r, kk, Pk0, k_cut=0.7, cut_pow=2, IntegrationMethod=1):
    return _CosmoBolognaLib.Xi0(r, kk, Pk0, k_cut, cut_pow, IntegrationMethod)
Xi0 = _CosmoBolognaLib.Xi0

def Xi2(rr, kk, Pk2, k_cut=0.58, cut_pow=4, IntegrationMethod=1):
    return _CosmoBolognaLib.Xi2(rr, kk, Pk2, k_cut, cut_pow, IntegrationMethod)
Xi2 = _CosmoBolognaLib.Xi2

def Xi4(rr, kk, Pk4, k_cut=0.6, cut_pow=2, IntegrationMethod=1):
    return _CosmoBolognaLib.Xi4(rr, kk, Pk4, k_cut, cut_pow, IntegrationMethod)
Xi4 = _CosmoBolognaLib.Xi4

def sigma2_k(nObjects, Volume, kk, Pk_multipoles, orders):
    return _CosmoBolognaLib.sigma2_k(nObjects, Volume, kk, Pk_multipoles, orders)
sigma2_k = _CosmoBolognaLib.sigma2_k

def Covariance_XiMultipoles(*args):
    return _CosmoBolognaLib.Covariance_XiMultipoles(*args)
Covariance_XiMultipoles = _CosmoBolognaLib.Covariance_XiMultipoles

def Covariance_XiWedges(*args):
    return _CosmoBolognaLib.Covariance_XiWedges(*args)
Covariance_XiWedges = _CosmoBolognaLib.Covariance_XiWedges
class STR_grid(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, STR_grid, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, STR_grid, name)
    __repr__ = _swig_repr
    __swig_setmethods__["_xx"] = _CosmoBolognaLib.STR_grid__xx_set
    __swig_getmethods__["_xx"] = _CosmoBolognaLib.STR_grid__xx_get
    if _newclass:
        _xx = _swig_property(_CosmoBolognaLib.STR_grid__xx_get, _CosmoBolognaLib.STR_grid__xx_set)
    __swig_setmethods__["_yy"] = _CosmoBolognaLib.STR_grid__yy_set
    __swig_getmethods__["_yy"] = _CosmoBolognaLib.STR_grid__yy_get
    if _newclass:
        _yy = _swig_property(_CosmoBolognaLib.STR_grid__yy_get, _CosmoBolognaLib.STR_grid__yy_set)

    def __init__(self):
        this = _CosmoBolognaLib.new_STR_grid()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_STR_grid
    __del__ = lambda self: None
STR_grid_swigregister = _CosmoBolognaLib.STR_grid_swigregister
STR_grid_swigregister(STR_grid)

class STR_grid_2D(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, STR_grid_2D, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, STR_grid_2D, name)
    __repr__ = _swig_repr
    __swig_setmethods__["_xx1"] = _CosmoBolognaLib.STR_grid_2D__xx1_set
    __swig_getmethods__["_xx1"] = _CosmoBolognaLib.STR_grid_2D__xx1_get
    if _newclass:
        _xx1 = _swig_property(_CosmoBolognaLib.STR_grid_2D__xx1_get, _CosmoBolognaLib.STR_grid_2D__xx1_set)
    __swig_setmethods__["_xx2"] = _CosmoBolognaLib.STR_grid_2D__xx2_set
    __swig_getmethods__["_xx2"] = _CosmoBolognaLib.STR_grid_2D__xx2_get
    if _newclass:
        _xx2 = _swig_property(_CosmoBolognaLib.STR_grid_2D__xx2_get, _CosmoBolognaLib.STR_grid_2D__xx2_set)
    __swig_setmethods__["_yy"] = _CosmoBolognaLib.STR_grid_2D__yy_set
    __swig_getmethods__["_yy"] = _CosmoBolognaLib.STR_grid_2D__yy_get
    if _newclass:
        _yy = _swig_property(_CosmoBolognaLib.STR_grid_2D__yy_get, _CosmoBolognaLib.STR_grid_2D__yy_set)

    def __init__(self):
        this = _CosmoBolognaLib.new_STR_grid_2D()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_STR_grid_2D
    __del__ = lambda self: None
STR_grid_2D_swigregister = _CosmoBolognaLib.STR_grid_2D_swigregister
STR_grid_2D_swigregister(STR_grid_2D)

class STR_xi0_model(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, STR_xi0_model, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, STR_xi0_model, name)
    __repr__ = _swig_repr
    __swig_setmethods__["bias_sigma8"] = _CosmoBolognaLib.STR_xi0_model_bias_sigma8_set
    __swig_getmethods__["bias_sigma8"] = _CosmoBolognaLib.STR_xi0_model_bias_sigma8_get
    if _newclass:
        bias_sigma8 = _swig_property(_CosmoBolognaLib.STR_xi0_model_bias_sigma8_get, _CosmoBolognaLib.STR_xi0_model_bias_sigma8_set)
    __swig_setmethods__["sigma8z"] = _CosmoBolognaLib.STR_xi0_model_sigma8z_set
    __swig_getmethods__["sigma8z"] = _CosmoBolognaLib.STR_xi0_model_sigma8z_get
    if _newclass:
        sigma8z = _swig_property(_CosmoBolognaLib.STR_xi0_model_sigma8z_get, _CosmoBolognaLib.STR_xi0_model_sigma8z_set)
    __swig_setmethods__["xi_DM"] = _CosmoBolognaLib.STR_xi0_model_xi_DM_set
    __swig_getmethods__["xi_DM"] = _CosmoBolognaLib.STR_xi0_model_xi_DM_get
    if _newclass:
        xi_DM = _swig_property(_CosmoBolognaLib.STR_xi0_model_xi_DM_get, _CosmoBolognaLib.STR_xi0_model_xi_DM_set)

    def __init__(self):
        this = _CosmoBolognaLib.new_STR_xi0_model()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_STR_xi0_model
    __del__ = lambda self: None
STR_xi0_model_swigregister = _CosmoBolognaLib.STR_xi0_model_swigregister
STR_xi0_model_swigregister(STR_xi0_model)

class STR_xi2D_model(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, STR_xi2D_model, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, STR_xi2D_model, name)
    __repr__ = _swig_repr
    __swig_setmethods__["rp"] = _CosmoBolognaLib.STR_xi2D_model_rp_set
    __swig_getmethods__["rp"] = _CosmoBolognaLib.STR_xi2D_model_rp_get
    if _newclass:
        rp = _swig_property(_CosmoBolognaLib.STR_xi2D_model_rp_get, _CosmoBolognaLib.STR_xi2D_model_rp_set)
    __swig_setmethods__["pi"] = _CosmoBolognaLib.STR_xi2D_model_pi_set
    __swig_getmethods__["pi"] = _CosmoBolognaLib.STR_xi2D_model_pi_get
    if _newclass:
        pi = _swig_property(_CosmoBolognaLib.STR_xi2D_model_pi_get, _CosmoBolognaLib.STR_xi2D_model_pi_set)
    __swig_setmethods__["xi_real"] = _CosmoBolognaLib.STR_xi2D_model_xi_real_set
    __swig_getmethods__["xi_real"] = _CosmoBolognaLib.STR_xi2D_model_xi_real_get
    if _newclass:
        xi_real = _swig_property(_CosmoBolognaLib.STR_xi2D_model_xi_real_get, _CosmoBolognaLib.STR_xi2D_model_xi_real_set)
    __swig_setmethods__["xi_"] = _CosmoBolognaLib.STR_xi2D_model_xi__set
    __swig_getmethods__["xi_"] = _CosmoBolognaLib.STR_xi2D_model_xi__get
    if _newclass:
        xi_ = _swig_property(_CosmoBolognaLib.STR_xi2D_model_xi__get, _CosmoBolognaLib.STR_xi2D_model_xi__set)
    __swig_setmethods__["xi__"] = _CosmoBolognaLib.STR_xi2D_model_xi___set
    __swig_getmethods__["xi__"] = _CosmoBolognaLib.STR_xi2D_model_xi___get
    if _newclass:
        xi__ = _swig_property(_CosmoBolognaLib.STR_xi2D_model_xi___get, _CosmoBolognaLib.STR_xi2D_model_xi___set)
    __swig_setmethods__["P2"] = _CosmoBolognaLib.STR_xi2D_model_P2_set
    __swig_getmethods__["P2"] = _CosmoBolognaLib.STR_xi2D_model_P2_get
    if _newclass:
        P2 = _swig_property(_CosmoBolognaLib.STR_xi2D_model_P2_get, _CosmoBolognaLib.STR_xi2D_model_P2_set)
    __swig_setmethods__["P4"] = _CosmoBolognaLib.STR_xi2D_model_P4_set
    __swig_getmethods__["P4"] = _CosmoBolognaLib.STR_xi2D_model_P4_get
    if _newclass:
        P4 = _swig_property(_CosmoBolognaLib.STR_xi2D_model_P4_get, _CosmoBolognaLib.STR_xi2D_model_P4_set)
    __swig_setmethods__["vel"] = _CosmoBolognaLib.STR_xi2D_model_vel_set
    __swig_getmethods__["vel"] = _CosmoBolognaLib.STR_xi2D_model_vel_get
    if _newclass:
        vel = _swig_property(_CosmoBolognaLib.STR_xi2D_model_vel_get, _CosmoBolognaLib.STR_xi2D_model_vel_set)
    __swig_setmethods__["lim_index_fit"] = _CosmoBolognaLib.STR_xi2D_model_lim_index_fit_set
    __swig_getmethods__["lim_index_fit"] = _CosmoBolognaLib.STR_xi2D_model_lim_index_fit_get
    if _newclass:
        lim_index_fit = _swig_property(_CosmoBolognaLib.STR_xi2D_model_lim_index_fit_get, _CosmoBolognaLib.STR_xi2D_model_lim_index_fit_set)
    __swig_setmethods__["type"] = _CosmoBolognaLib.STR_xi2D_model_type_set
    __swig_getmethods__["type"] = _CosmoBolognaLib.STR_xi2D_model_type_get
    if _newclass:
        type = _swig_property(_CosmoBolognaLib.STR_xi2D_model_type_get, _CosmoBolognaLib.STR_xi2D_model_type_set)
    __swig_setmethods__["step_v"] = _CosmoBolognaLib.STR_xi2D_model_step_v_set
    __swig_getmethods__["step_v"] = _CosmoBolognaLib.STR_xi2D_model_step_v_get
    if _newclass:
        step_v = _swig_property(_CosmoBolognaLib.STR_xi2D_model_step_v_get, _CosmoBolognaLib.STR_xi2D_model_step_v_set)
    __swig_setmethods__["FV"] = _CosmoBolognaLib.STR_xi2D_model_FV_set
    __swig_getmethods__["FV"] = _CosmoBolognaLib.STR_xi2D_model_FV_get
    if _newclass:
        FV = _swig_property(_CosmoBolognaLib.STR_xi2D_model_FV_get, _CosmoBolognaLib.STR_xi2D_model_FV_set)
    __swig_setmethods__["dim"] = _CosmoBolognaLib.STR_xi2D_model_dim_set
    __swig_getmethods__["dim"] = _CosmoBolognaLib.STR_xi2D_model_dim_get
    if _newclass:
        dim = _swig_property(_CosmoBolognaLib.STR_xi2D_model_dim_get, _CosmoBolognaLib.STR_xi2D_model_dim_set)
    __swig_setmethods__["delta_v"] = _CosmoBolognaLib.STR_xi2D_model_delta_v_set
    __swig_getmethods__["delta_v"] = _CosmoBolognaLib.STR_xi2D_model_delta_v_get
    if _newclass:
        delta_v = _swig_property(_CosmoBolognaLib.STR_xi2D_model_delta_v_get, _CosmoBolognaLib.STR_xi2D_model_delta_v_set)
    __swig_setmethods__["bias_nl"] = _CosmoBolognaLib.STR_xi2D_model_bias_nl_set
    __swig_getmethods__["bias_nl"] = _CosmoBolognaLib.STR_xi2D_model_bias_nl_get
    if _newclass:
        bias_nl = _swig_property(_CosmoBolognaLib.STR_xi2D_model_bias_nl_get, _CosmoBolognaLib.STR_xi2D_model_bias_nl_set)

    def __init__(self):
        this = _CosmoBolognaLib.new_STR_xi2D_model()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_STR_xi2D_model
    __del__ = lambda self: None
STR_xi2D_model_swigregister = _CosmoBolognaLib.STR_xi2D_model_swigregister
STR_xi2D_model_swigregister(STR_xi2D_model)

class STR_xi(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, STR_xi, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, STR_xi, name)
    __repr__ = _swig_repr
    __swig_setmethods__["rr"] = _CosmoBolognaLib.STR_xi_rr_set
    __swig_getmethods__["rr"] = _CosmoBolognaLib.STR_xi_rr_get
    if _newclass:
        rr = _swig_property(_CosmoBolognaLib.STR_xi_rr_get, _CosmoBolognaLib.STR_xi_rr_set)
    __swig_setmethods__["aa"] = _CosmoBolognaLib.STR_xi_aa_set
    __swig_getmethods__["aa"] = _CosmoBolognaLib.STR_xi_aa_get
    if _newclass:
        aa = _swig_property(_CosmoBolognaLib.STR_xi_aa_get, _CosmoBolognaLib.STR_xi_aa_set)
    __swig_setmethods__["lgkk"] = _CosmoBolognaLib.STR_xi_lgkk_set
    __swig_getmethods__["lgkk"] = _CosmoBolognaLib.STR_xi_lgkk_get
    if _newclass:
        lgkk = _swig_property(_CosmoBolognaLib.STR_xi_lgkk_get, _CosmoBolognaLib.STR_xi_lgkk_set)
    __swig_setmethods__["lgPk"] = _CosmoBolognaLib.STR_xi_lgPk_set
    __swig_getmethods__["lgPk"] = _CosmoBolognaLib.STR_xi_lgPk_get
    if _newclass:
        lgPk = _swig_property(_CosmoBolognaLib.STR_xi_lgPk_get, _CosmoBolognaLib.STR_xi_lgPk_set)

    def __init__(self):
        this = _CosmoBolognaLib.new_STR_xi()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_STR_xi
    __del__ = lambda self: None
STR_xi_swigregister = _CosmoBolognaLib.STR_xi_swigregister
STR_xi_swigregister(STR_xi)

class STR_SSM(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, STR_SSM, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, STR_SSM, name)
    __repr__ = _swig_repr
    __swig_setmethods__["unit"] = _CosmoBolognaLib.STR_SSM_unit_set
    __swig_getmethods__["unit"] = _CosmoBolognaLib.STR_SSM_unit_get
    if _newclass:
        unit = _swig_property(_CosmoBolognaLib.STR_SSM_unit_get, _CosmoBolognaLib.STR_SSM_unit_set)
    __swig_setmethods__["hh"] = _CosmoBolognaLib.STR_SSM_hh_set
    __swig_getmethods__["hh"] = _CosmoBolognaLib.STR_SSM_hh_get
    if _newclass:
        hh = _swig_property(_CosmoBolognaLib.STR_SSM_hh_get, _CosmoBolognaLib.STR_SSM_hh_set)
    __swig_setmethods__["mass"] = _CosmoBolognaLib.STR_SSM_mass_set
    __swig_getmethods__["mass"] = _CosmoBolognaLib.STR_SSM_mass_get
    if _newclass:
        mass = _swig_property(_CosmoBolognaLib.STR_SSM_mass_get, _CosmoBolognaLib.STR_SSM_mass_set)
    __swig_setmethods__["rho"] = _CosmoBolognaLib.STR_SSM_rho_set
    __swig_getmethods__["rho"] = _CosmoBolognaLib.STR_SSM_rho_get
    if _newclass:
        rho = _swig_property(_CosmoBolognaLib.STR_SSM_rho_get, _CosmoBolognaLib.STR_SSM_rho_set)
    __swig_setmethods__["n_spec"] = _CosmoBolognaLib.STR_SSM_n_spec_set
    __swig_getmethods__["n_spec"] = _CosmoBolognaLib.STR_SSM_n_spec_get
    if _newclass:
        n_spec = _swig_property(_CosmoBolognaLib.STR_SSM_n_spec_get, _CosmoBolognaLib.STR_SSM_n_spec_set)
    __swig_setmethods__["lgkk"] = _CosmoBolognaLib.STR_SSM_lgkk_set
    __swig_getmethods__["lgkk"] = _CosmoBolognaLib.STR_SSM_lgkk_get
    if _newclass:
        lgkk = _swig_property(_CosmoBolognaLib.STR_SSM_lgkk_get, _CosmoBolognaLib.STR_SSM_lgkk_set)
    __swig_setmethods__["lgPk"] = _CosmoBolognaLib.STR_SSM_lgPk_set
    __swig_getmethods__["lgPk"] = _CosmoBolognaLib.STR_SSM_lgPk_get
    if _newclass:
        lgPk = _swig_property(_CosmoBolognaLib.STR_SSM_lgPk_get, _CosmoBolognaLib.STR_SSM_lgPk_set)

    def __init__(self):
        this = _CosmoBolognaLib.new_STR_SSM()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_STR_SSM
    __del__ = lambda self: None
STR_SSM_swigregister = _CosmoBolognaLib.STR_SSM_swigregister
STR_SSM_swigregister(STR_SSM)

class STR_jl_distance_average(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, STR_jl_distance_average, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, STR_jl_distance_average, name)
    __repr__ = _swig_repr
    __swig_setmethods__["order"] = _CosmoBolognaLib.STR_jl_distance_average_order_set
    __swig_getmethods__["order"] = _CosmoBolognaLib.STR_jl_distance_average_order_get
    if _newclass:
        order = _swig_property(_CosmoBolognaLib.STR_jl_distance_average_order_get, _CosmoBolognaLib.STR_jl_distance_average_order_set)
    __swig_setmethods__["k"] = _CosmoBolognaLib.STR_jl_distance_average_k_set
    __swig_getmethods__["k"] = _CosmoBolognaLib.STR_jl_distance_average_k_get
    if _newclass:
        k = _swig_property(_CosmoBolognaLib.STR_jl_distance_average_k_get, _CosmoBolognaLib.STR_jl_distance_average_k_set)

    def __init__(self):
        this = _CosmoBolognaLib.new_STR_jl_distance_average()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_STR_jl_distance_average
    __del__ = lambda self: None
STR_jl_distance_average_swigregister = _CosmoBolognaLib.STR_jl_distance_average_swigregister
STR_jl_distance_average_swigregister(STR_jl_distance_average)

class STR_Pl_mu_integral(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, STR_Pl_mu_integral, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, STR_Pl_mu_integral, name)
    __repr__ = _swig_repr
    __swig_setmethods__["order"] = _CosmoBolognaLib.STR_Pl_mu_integral_order_set
    __swig_getmethods__["order"] = _CosmoBolognaLib.STR_Pl_mu_integral_order_get
    if _newclass:
        order = _swig_property(_CosmoBolognaLib.STR_Pl_mu_integral_order_get, _CosmoBolognaLib.STR_Pl_mu_integral_order_set)

    def __init__(self):
        this = _CosmoBolognaLib.new_STR_Pl_mu_integral()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_STR_Pl_mu_integral
    __del__ = lambda self: None
STR_Pl_mu_integral_swigregister = _CosmoBolognaLib.STR_Pl_mu_integral_swigregister
STR_Pl_mu_integral_swigregister(STR_Pl_mu_integral)

class STR_Pkl_Kaiser_integrand(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, STR_Pkl_Kaiser_integrand, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, STR_Pkl_Kaiser_integrand, name)
    __repr__ = _swig_repr
    __swig_setmethods__["l"] = _CosmoBolognaLib.STR_Pkl_Kaiser_integrand_l_set
    __swig_getmethods__["l"] = _CosmoBolognaLib.STR_Pkl_Kaiser_integrand_l_get
    if _newclass:
        l = _swig_property(_CosmoBolognaLib.STR_Pkl_Kaiser_integrand_l_get, _CosmoBolognaLib.STR_Pkl_Kaiser_integrand_l_set)
    __swig_setmethods__["Pk"] = _CosmoBolognaLib.STR_Pkl_Kaiser_integrand_Pk_set
    __swig_getmethods__["Pk"] = _CosmoBolognaLib.STR_Pkl_Kaiser_integrand_Pk_get
    if _newclass:
        Pk = _swig_property(_CosmoBolognaLib.STR_Pkl_Kaiser_integrand_Pk_get, _CosmoBolognaLib.STR_Pkl_Kaiser_integrand_Pk_set)
    __swig_setmethods__["bias"] = _CosmoBolognaLib.STR_Pkl_Kaiser_integrand_bias_set
    __swig_getmethods__["bias"] = _CosmoBolognaLib.STR_Pkl_Kaiser_integrand_bias_get
    if _newclass:
        bias = _swig_property(_CosmoBolognaLib.STR_Pkl_Kaiser_integrand_bias_get, _CosmoBolognaLib.STR_Pkl_Kaiser_integrand_bias_set)
    __swig_setmethods__["f"] = _CosmoBolognaLib.STR_Pkl_Kaiser_integrand_f_set
    __swig_getmethods__["f"] = _CosmoBolognaLib.STR_Pkl_Kaiser_integrand_f_get
    if _newclass:
        f = _swig_property(_CosmoBolognaLib.STR_Pkl_Kaiser_integrand_f_get, _CosmoBolognaLib.STR_Pkl_Kaiser_integrand_f_set)

    def __init__(self):
        this = _CosmoBolognaLib.new_STR_Pkl_Kaiser_integrand()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_STR_Pkl_Kaiser_integrand
    __del__ = lambda self: None
STR_Pkl_Kaiser_integrand_swigregister = _CosmoBolognaLib.STR_Pkl_Kaiser_integrand_swigregister
STR_Pkl_Kaiser_integrand_swigregister(STR_Pkl_Kaiser_integrand)

class STR_closest_probability(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, STR_closest_probability, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, STR_closest_probability, name)
    __repr__ = _swig_repr
    __swig_setmethods__["values"] = _CosmoBolognaLib.STR_closest_probability_values_set
    __swig_getmethods__["values"] = _CosmoBolognaLib.STR_closest_probability_values_get
    if _newclass:
        values = _swig_property(_CosmoBolognaLib.STR_closest_probability_values_get, _CosmoBolognaLib.STR_closest_probability_values_set)
    __swig_setmethods__["weights"] = _CosmoBolognaLib.STR_closest_probability_weights_set
    __swig_getmethods__["weights"] = _CosmoBolognaLib.STR_closest_probability_weights_get
    if _newclass:
        weights = _swig_property(_CosmoBolognaLib.STR_closest_probability_weights_get, _CosmoBolognaLib.STR_closest_probability_weights_set)

    def __init__(self):
        this = _CosmoBolognaLib.new_STR_closest_probability()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_STR_closest_probability
    __del__ = lambda self: None
STR_closest_probability_swigregister = _CosmoBolognaLib.STR_closest_probability_swigregister
STR_closest_probability_swigregister(STR_closest_probability)

class STR_distribution_probability(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, STR_distribution_probability, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, STR_distribution_probability, name)
    __repr__ = _swig_repr
    __swig_setmethods__["func"] = _CosmoBolognaLib.STR_distribution_probability_func_set
    __swig_getmethods__["func"] = _CosmoBolognaLib.STR_distribution_probability_func_get
    if _newclass:
        func = _swig_property(_CosmoBolognaLib.STR_distribution_probability_func_get, _CosmoBolognaLib.STR_distribution_probability_func_set)

    def __init__(self):
        this = _CosmoBolognaLib.new_STR_distribution_probability()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_STR_distribution_probability
    __del__ = lambda self: None
STR_distribution_probability_swigregister = _CosmoBolognaLib.STR_distribution_probability_swigregister
STR_distribution_probability_swigregister(STR_distribution_probability)


def Xi02_AP(*args):
    return _CosmoBolognaLib.Xi02_AP(*args)
Xi02_AP = _CosmoBolognaLib.Xi02_AP

def Xi024_AP(*args):
    return _CosmoBolognaLib.Xi024_AP(*args)
Xi024_AP = _CosmoBolognaLib.Xi024_AP

def XiWedges_AP(*args):
    return _CosmoBolognaLib.XiWedges_AP(*args)
XiWedges_AP = _CosmoBolognaLib.XiWedges_AP

_CosmoBolognaLib._1D_data__swigconstant(_CosmoBolognaLib)
_1D_data_ = _CosmoBolognaLib._1D_data_

_CosmoBolognaLib._2D_data__swigconstant(_CosmoBolognaLib)
_2D_data_ = _CosmoBolognaLib._2D_data_

_CosmoBolognaLib._1D_data_collection__swigconstant(_CosmoBolognaLib)
_1D_data_collection_ = _CosmoBolognaLib._1D_data_collection_

_CosmoBolognaLib._1D_data_extra__swigconstant(_CosmoBolognaLib)
_1D_data_extra_ = _CosmoBolognaLib._1D_data_extra_

_CosmoBolognaLib._2D_data_extra__swigconstant(_CosmoBolognaLib)
_2D_data_extra_ = _CosmoBolognaLib._2D_data_extra_
class Data(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Data, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Data, name)
    __repr__ = _swig_repr
    __swig_getmethods__["Create"] = lambda x: _CosmoBolognaLib.Data_Create
    if _newclass:
        Create = staticmethod(_CosmoBolognaLib.Data_Create)

    def as_factory(self):
        return _CosmoBolognaLib.Data_as_factory(self)

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Data(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Data
    __del__ = lambda self: None

    def dataType(self):
        return _CosmoBolognaLib.Data_dataType(self)

    def covariance(self, *args):
        return _CosmoBolognaLib.Data_covariance(self, *args)

    def correlation(self, *args):
        return _CosmoBolognaLib.Data_correlation(self, *args)

    def inverse_covariance(self, *args):
        return _CosmoBolognaLib.Data_inverse_covariance(self, *args)

    def reset(self, ndata):
        return _CosmoBolognaLib.Data_reset(self, ndata)

    def set_error(self, *args):
        return _CosmoBolognaLib.Data_set_error(self, *args)

    def set_covariance(self, *args):
        return _CosmoBolognaLib.Data_set_covariance(self, *args)

    def invert_covariance(self):
        return _CosmoBolognaLib.Data_invert_covariance(self)

    def xx(self, *args):
        return _CosmoBolognaLib.Data_xx(self, *args)

    def yy(self, *args):
        return _CosmoBolognaLib.Data_yy(self, *args)

    def IndipendentVariable(self, i=-1, j=-1):
        return _CosmoBolognaLib.Data_IndipendentVariable(self, i, j)

    def data(self, *args):
        return _CosmoBolognaLib.Data_data(self, *args)

    def error(self, *args):
        return _CosmoBolognaLib.Data_error(self, *args)

    def extra_info(self, *args):
        return _CosmoBolognaLib.Data_extra_info(self, *args)

    def set_yy(self, y):
        return _CosmoBolognaLib.Data_set_yy(self, y)

    def set_xx(self, *args):
        return _CosmoBolognaLib.Data_set_xx(self, *args)

    def set_data(self, *args):
        return _CosmoBolognaLib.Data_set_data(self, *args)

    def set_extra_info(self, extra_info):
        return _CosmoBolognaLib.Data_set_extra_info(self, extra_info)

    def ndata(self, *args):
        return _CosmoBolognaLib.Data_ndata(self, *args)

    def ndataset(self):
        return _CosmoBolognaLib.Data_ndataset(self)

    def xsize(self, *args):
        return _CosmoBolognaLib.Data_xsize(self, *args)

    def ysize(self):
        return _CosmoBolognaLib.Data_ysize(self)

    def read(self, *args):
        return _CosmoBolognaLib.Data_read(self, *args)

    def write(self, *args):
        return _CosmoBolognaLib.Data_write(self, *args)

    def write_covariance(self, dir, file, precision=10):
        return _CosmoBolognaLib.Data_write_covariance(self, dir, file, precision)

    def cut(self, *args):
        return _CosmoBolognaLib.Data_cut(self, *args)
Data_swigregister = _CosmoBolognaLib.Data_swigregister
Data_swigregister(Data)

def Data_Create(dataType):
    return _CosmoBolognaLib.Data_Create(dataType)
Data_Create = _CosmoBolognaLib.Data_Create


def join_dataset(dataset):
    return _CosmoBolognaLib.join_dataset(dataset)
join_dataset = _CosmoBolognaLib.join_dataset

def join_dataset_1D(dataset):
    return _CosmoBolognaLib.join_dataset_1D(dataset)
join_dataset_1D = _CosmoBolognaLib.join_dataset_1D

def join_dataset_1D_extra(dataset):
    return _CosmoBolognaLib.join_dataset_1D_extra(dataset)
join_dataset_1D_extra = _CosmoBolognaLib.join_dataset_1D_extra
class Data1D(Data):
    __swig_setmethods__ = {}
    for _s in [Data]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Data1D, name, value)
    __swig_getmethods__ = {}
    for _s in [Data]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Data1D, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Data1D(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Data1D
    __del__ = lambda self: None

    def as_factory(self):
        return _CosmoBolognaLib.Data1D_as_factory(self)

    def xsize(self):
        return _CosmoBolognaLib.Data1D_xsize(self)

    def xx(self, *args):
        return _CosmoBolognaLib.Data1D_xx(self, *args)

    def IndipendentVariable(self, i=-1, j=-1):
        return _CosmoBolognaLib.Data1D_IndipendentVariable(self, i, j)

    def data(self, data):
        return _CosmoBolognaLib.Data1D_data(self, data)

    def error(self, error):
        return _CosmoBolognaLib.Data1D_error(self, error)

    def set_xx(self, x):
        return _CosmoBolognaLib.Data1D_set_xx(self, x)

    def read(self, input_file, skip_nlines=0):
        return _CosmoBolognaLib.Data1D_read(self, input_file, skip_nlines)

    def write(self, dir, file, header, precision=10, rank=0):
        return _CosmoBolognaLib.Data1D_write(self, dir, file, header, precision, rank)

    def write_covariance(self, dir, file, precision=10):
        return _CosmoBolognaLib.Data1D_write_covariance(self, dir, file, precision)

    def cut(self, xmin, xmax):
        return _CosmoBolognaLib.Data1D_cut(self, xmin, xmax)
Data1D_swigregister = _CosmoBolognaLib.Data1D_swigregister
Data1D_swigregister(Data1D)

class Data2D(Data):
    __swig_setmethods__ = {}
    for _s in [Data]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Data2D, name, value)
    __swig_getmethods__ = {}
    for _s in [Data]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Data2D, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Data2D(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Data2D
    __del__ = lambda self: None

    def as_factory(self):
        return _CosmoBolognaLib.Data2D_as_factory(self)

    def xsize(self):
        return _CosmoBolognaLib.Data2D_xsize(self)

    def ysize(self):
        return _CosmoBolognaLib.Data2D_ysize(self)

    def xx(self, *args):
        return _CosmoBolognaLib.Data2D_xx(self, *args)

    def yy(self, *args):
        return _CosmoBolognaLib.Data2D_yy(self, *args)

    def IndipendentVariable(self, i=-1, j=-1):
        return _CosmoBolognaLib.Data2D_IndipendentVariable(self, i, j)

    def data(self, *args):
        return _CosmoBolognaLib.Data2D_data(self, *args)

    def error(self, *args):
        return _CosmoBolognaLib.Data2D_error(self, *args)

    def set_xx(self, x):
        return _CosmoBolognaLib.Data2D_set_xx(self, x)

    def set_yy(self, y):
        return _CosmoBolognaLib.Data2D_set_yy(self, y)

    def read(self, input_file, skip_nlines=0):
        return _CosmoBolognaLib.Data2D_read(self, input_file, skip_nlines)

    def write(self, dir, file, header, full, precision=4, rank=0):
        return _CosmoBolognaLib.Data2D_write(self, dir, file, header, full, precision, rank)

    def write_covariance(self, dir, file, precision=10):
        return _CosmoBolognaLib.Data2D_write_covariance(self, dir, file, precision)

    def cut(self, xmin, xmax, ymin, ymax):
        return _CosmoBolognaLib.Data2D_cut(self, xmin, xmax, ymin, ymax)
Data2D_swigregister = _CosmoBolognaLib.Data2D_swigregister
Data2D_swigregister(Data2D)

class Data1D_extra(Data1D):
    __swig_setmethods__ = {}
    for _s in [Data1D]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Data1D_extra, name, value)
    __swig_getmethods__ = {}
    for _s in [Data1D]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Data1D_extra, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Data1D_extra(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Data1D_extra
    __del__ = lambda self: None

    def as_factory(self):
        return _CosmoBolognaLib.Data1D_extra_as_factory(self)

    def extra_info(self, *args):
        return _CosmoBolognaLib.Data1D_extra_extra_info(self, *args)

    def IndipendentVariable(self, i=-1, j=-1):
        return _CosmoBolognaLib.Data1D_extra_IndipendentVariable(self, i, j)

    def set_extra_info(self, extra_info):
        return _CosmoBolognaLib.Data1D_extra_set_extra_info(self, extra_info)

    def read(self, input_file, skip_nlines=0):
        return _CosmoBolognaLib.Data1D_extra_read(self, input_file, skip_nlines)

    def write(self, dir, file, header, precision=4, rank=0):
        return _CosmoBolognaLib.Data1D_extra_write(self, dir, file, header, precision, rank)
Data1D_extra_swigregister = _CosmoBolognaLib.Data1D_extra_swigregister
Data1D_extra_swigregister(Data1D_extra)

class Data2D_extra(Data2D):
    __swig_setmethods__ = {}
    for _s in [Data2D]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Data2D_extra, name, value)
    __swig_getmethods__ = {}
    for _s in [Data2D]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Data2D_extra, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Data2D_extra(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Data2D_extra
    __del__ = lambda self: None

    def as_factory(self):
        return _CosmoBolognaLib.Data2D_extra_as_factory(self)

    def extra_info(self, *args):
        return _CosmoBolognaLib.Data2D_extra_extra_info(self, *args)

    def IndipendentVariable(self, i=-1, j=-1):
        return _CosmoBolognaLib.Data2D_extra_IndipendentVariable(self, i, j)

    def set_extra_info(self, extra_info):
        return _CosmoBolognaLib.Data2D_extra_set_extra_info(self, extra_info)

    def read(self, input_file, skip_nlines=0):
        return _CosmoBolognaLib.Data2D_extra_read(self, input_file, skip_nlines)

    def write(self, dir, file, header, full, precision=4, rank=0):
        return _CosmoBolognaLib.Data2D_extra_write(self, dir, file, header, full, precision, rank)
Data2D_extra_swigregister = _CosmoBolognaLib.Data2D_extra_swigregister
Data2D_extra_swigregister(Data2D_extra)

class Data1D_collection(Data):
    __swig_setmethods__ = {}
    for _s in [Data]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Data1D_collection, name, value)
    __swig_getmethods__ = {}
    for _s in [Data]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Data1D_collection, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Data1D_collection(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Data1D_collection
    __del__ = lambda self: None

    def as_factory(self):
        return _CosmoBolognaLib.Data1D_collection_as_factory(self)

    def xsize(self, i):
        return _CosmoBolognaLib.Data1D_collection_xsize(self, i)

    def xx(self, *args):
        return _CosmoBolognaLib.Data1D_collection_xx(self, *args)

    def IndipendentVariable(self, i=-1, j=-1):
        return _CosmoBolognaLib.Data1D_collection_IndipendentVariable(self, i, j)

    def data(self, *args):
        return _CosmoBolognaLib.Data1D_collection_data(self, *args)

    def error(self, *args):
        return _CosmoBolognaLib.Data1D_collection_error(self, *args)

    def set_xx(self, i, x):
        return _CosmoBolognaLib.Data1D_collection_set_xx(self, i, x)

    def ndataset(self):
        return _CosmoBolognaLib.Data1D_collection_ndataset(self)

    def read(self, *args):
        return _CosmoBolognaLib.Data1D_collection_read(self, *args)

    def write(self, *args):
        return _CosmoBolognaLib.Data1D_collection_write(self, *args)

    def write_covariance(self, dir, file, precision=10):
        return _CosmoBolognaLib.Data1D_collection_write_covariance(self, dir, file, precision)

    def cut(self, *args):
        return _CosmoBolognaLib.Data1D_collection_cut(self, *args)
Data1D_collection_swigregister = _CosmoBolognaLib.Data1D_collection_swigregister
Data1D_collection_swigregister(Data1D_collection)

class FuncGrid(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, FuncGrid, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, FuncGrid, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_FuncGrid(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_FuncGrid
    __del__ = lambda self: None

    def x(self, *args):
        return _CosmoBolognaLib.FuncGrid_x(self, *args)

    def y(self, *args):
        return _CosmoBolognaLib.FuncGrid_y(self, *args)

    def size(self):
        return _CosmoBolognaLib.FuncGrid_size(self)

    def xmin(self):
        return _CosmoBolognaLib.FuncGrid_xmin(self)

    def xmax(self):
        return _CosmoBolognaLib.FuncGrid_xmax(self)

    def free(self):
        return _CosmoBolognaLib.FuncGrid_free(self)

    def __call__(self, xx):
        return _CosmoBolognaLib.FuncGrid___call__(self, xx)

    def eval_func(self, xx):
        return _CosmoBolognaLib.FuncGrid_eval_func(self, xx)

    def D1v(self, xx):
        return _CosmoBolognaLib.FuncGrid_D1v(self, xx)

    def D2v(self, xx):
        return _CosmoBolognaLib.FuncGrid_D2v(self, xx)

    def integrate_qag(self, a, b, prec=1.e-2, limit_size=1000, rule=6):
        return _CosmoBolognaLib.FuncGrid_integrate_qag(self, a, b, prec, limit_size, rule)

    def integrate_qaws(self, a, b, alpha=0, beta=0, mu=0, nu=0, prec=1.e-2, limit_size=1000):
        return _CosmoBolognaLib.FuncGrid_integrate_qaws(self, a, b, alpha, beta, mu, nu, prec, limit_size)

    def root(self, x_low, x_up, fx0=0, prec=1.e-2):
        return _CosmoBolognaLib.FuncGrid_root(self, x_low, x_up, fx0, prec)

    def root_D1v(self, x_low, x_up, fx0=0, prec=1.e-2):
        return _CosmoBolognaLib.FuncGrid_root_D1v(self, x_low, x_up, fx0, prec)

    def root_D2v(self, x_low, x_up, fx0=0, prec=1.e-2):
        return _CosmoBolognaLib.FuncGrid_root_D2v(self, x_low, x_up, fx0, prec)
FuncGrid_swigregister = _CosmoBolognaLib.FuncGrid_swigregister
FuncGrid_swigregister(FuncGrid)

class FuncGrid2D(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, FuncGrid2D, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, FuncGrid2D, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_FuncGrid2D(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_FuncGrid2D
    __del__ = lambda self: None

    def x(self, *args):
        return _CosmoBolognaLib.FuncGrid2D_x(self, *args)

    def y(self, *args):
        return _CosmoBolognaLib.FuncGrid2D_y(self, *args)

    def size_x(self):
        return _CosmoBolognaLib.FuncGrid2D_size_x(self)

    def xmin(self):
        return _CosmoBolognaLib.FuncGrid2D_xmin(self)

    def xmax(self):
        return _CosmoBolognaLib.FuncGrid2D_xmax(self)

    def size_y(self):
        return _CosmoBolognaLib.FuncGrid2D_size_y(self)

    def ymin(self):
        return _CosmoBolognaLib.FuncGrid2D_ymin(self)

    def ymax(self):
        return _CosmoBolognaLib.FuncGrid2D_ymax(self)

    def free(self):
        return _CosmoBolognaLib.FuncGrid2D_free(self)

    def __call__(self, xx, yy):
        return _CosmoBolognaLib.FuncGrid2D___call__(self, xx, yy)

    def eval_func(self, xx):
        return _CosmoBolognaLib.FuncGrid2D_eval_func(self, xx)
FuncGrid2D_swigregister = _CosmoBolognaLib.FuncGrid2D_swigregister
FuncGrid2D_swigregister(FuncGrid2D)

class Field3D(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Field3D, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Field3D, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Field3D(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Field3D
    __del__ = lambda self: None

    def set_parameters(self, *args):
        return _CosmoBolognaLib.Field3D_set_parameters(self, *args)

    def nx(self):
        return _CosmoBolognaLib.Field3D_nx(self)

    def ny(self):
        return _CosmoBolognaLib.Field3D_ny(self)

    def nz(self):
        return _CosmoBolognaLib.Field3D_nz(self)

    def nzFourier(self):
        return _CosmoBolognaLib.Field3D_nzFourier(self)

    def nCells(self):
        return _CosmoBolognaLib.Field3D_nCells(self)

    def nCellsFourier(self):
        return _CosmoBolognaLib.Field3D_nCellsFourier(self)

    def MinX(self):
        return _CosmoBolognaLib.Field3D_MinX(self)

    def MinY(self):
        return _CosmoBolognaLib.Field3D_MinY(self)

    def MinZ(self):
        return _CosmoBolognaLib.Field3D_MinZ(self)

    def MaxX(self):
        return _CosmoBolognaLib.Field3D_MaxX(self)

    def MaxY(self):
        return _CosmoBolognaLib.Field3D_MaxY(self)

    def MaxZ(self):
        return _CosmoBolognaLib.Field3D_MaxZ(self)

    def deltaX(self):
        return _CosmoBolognaLib.Field3D_deltaX(self)

    def deltaY(self):
        return _CosmoBolognaLib.Field3D_deltaY(self)

    def deltaZ(self):
        return _CosmoBolognaLib.Field3D_deltaZ(self)

    def Volume(self):
        return _CosmoBolognaLib.Field3D_Volume(self)

    def XX(self, i):
        return _CosmoBolognaLib.Field3D_XX(self, i)

    def YY(self, i):
        return _CosmoBolognaLib.Field3D_YY(self, i)

    def ZZ(self, i):
        return _CosmoBolognaLib.Field3D_ZZ(self, i)

    def kX(self, i):
        return _CosmoBolognaLib.Field3D_kX(self, i)

    def kY(self, i):
        return _CosmoBolognaLib.Field3D_kY(self, i)

    def kZ(self, i):
        return _CosmoBolognaLib.Field3D_kZ(self, i)

    def ScalarField(self, *args):
        return _CosmoBolognaLib.Field3D_ScalarField(self, *args)

    def VectorField(self, *args):
        return _CosmoBolognaLib.Field3D_VectorField(self, *args)

    def ScalarField_FourierSpace_real(self, *args):
        return _CosmoBolognaLib.Field3D_ScalarField_FourierSpace_real(self, *args)

    def ScalarField_FourierSpace_complex(self, *args):
        return _CosmoBolognaLib.Field3D_ScalarField_FourierSpace_complex(self, *args)

    def VectorField_FourierSpace_real(self, i, j, k):
        return _CosmoBolognaLib.Field3D_VectorField_FourierSpace_real(self, i, j, k)

    def VectorField_FourierSpace_complex(self, i, j, k):
        return _CosmoBolognaLib.Field3D_VectorField_FourierSpace_complex(self, i, j, k)

    def FourierTransformField(self):
        return _CosmoBolognaLib.Field3D_FourierTransformField(self)

    def FourierAntiTransformField(self):
        return _CosmoBolognaLib.Field3D_FourierAntiTransformField(self)

    def GaussianConvolutionField(self, kernel_size):
        return _CosmoBolognaLib.Field3D_GaussianConvolutionField(self, kernel_size)

    def set_ScalarField(self, value, i, j, k, add=0):
        return _CosmoBolognaLib.Field3D_set_ScalarField(self, value, i, j, k, add)

    def set_VectorField(self, value, i, j, k, add=0):
        return _CosmoBolognaLib.Field3D_set_VectorField(self, value, i, j, k, add)

    def set_ScalarField_FourierSpace_real(self, value, i, j, k, add=0):
        return _CosmoBolognaLib.Field3D_set_ScalarField_FourierSpace_real(self, value, i, j, k, add)

    def set_ScalarField_FourierSpace_complex(self, value, i, j, k, add=0):
        return _CosmoBolognaLib.Field3D_set_ScalarField_FourierSpace_complex(self, value, i, j, k, add)

    def set_VectorField_FourierSpace_real(self, value, i, j, k, add=0):
        return _CosmoBolognaLib.Field3D_set_VectorField_FourierSpace_real(self, value, i, j, k, add)

    def set_VectorField_FourierSpace_complex(self, value, i, j, k, add=0):
        return _CosmoBolognaLib.Field3D_set_VectorField_FourierSpace_complex(self, value, i, j, k, add)

    def reset(self):
        return _CosmoBolognaLib.Field3D_reset(self)
Field3D_swigregister = _CosmoBolognaLib.Field3D_swigregister
Field3D_swigregister(Field3D)

class ScalarField3D(Field3D):
    __swig_setmethods__ = {}
    for _s in [Field3D]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, ScalarField3D, name, value)
    __swig_getmethods__ = {}
    for _s in [Field3D]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, ScalarField3D, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_ScalarField3D(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_ScalarField3D
    __del__ = lambda self: None

    def set_ScalarField(self, value, i, j, k, add=0):
        return _CosmoBolognaLib.ScalarField3D_set_ScalarField(self, value, i, j, k, add)

    def set_ScalarField_FourierSpace_real(self, value, i, j, k, add=0):
        return _CosmoBolognaLib.ScalarField3D_set_ScalarField_FourierSpace_real(self, value, i, j, k, add)

    def set_ScalarField_FourierSpace_complex(self, value, i, j, k, add=0):
        return _CosmoBolognaLib.ScalarField3D_set_ScalarField_FourierSpace_complex(self, value, i, j, k, add)

    def ScalarField(self, *args):
        return _CosmoBolognaLib.ScalarField3D_ScalarField(self, *args)

    def ScalarField_FourierSpace_real(self, i, j, k):
        return _CosmoBolognaLib.ScalarField3D_ScalarField_FourierSpace_real(self, i, j, k)

    def ScalarField_FourierSpace_complex(self, i, j, k):
        return _CosmoBolognaLib.ScalarField3D_ScalarField_FourierSpace_complex(self, i, j, k)

    def FourierTransformField(self):
        return _CosmoBolognaLib.ScalarField3D_FourierTransformField(self)

    def FourierAntiTransformField(self):
        return _CosmoBolognaLib.ScalarField3D_FourierAntiTransformField(self)

    def GaussianConvolutionField(self, kernel_size):
        return _CosmoBolognaLib.ScalarField3D_GaussianConvolutionField(self, kernel_size)

    def reset(self):
        return _CosmoBolognaLib.ScalarField3D_reset(self)
ScalarField3D_swigregister = _CosmoBolognaLib.ScalarField3D_swigregister
ScalarField3D_swigregister(ScalarField3D)

class VectorField3D(Field3D):
    __swig_setmethods__ = {}
    for _s in [Field3D]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, VectorField3D, name, value)
    __swig_getmethods__ = {}
    for _s in [Field3D]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, VectorField3D, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_VectorField3D(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_VectorField3D
    __del__ = lambda self: None

    def set_VectorField(self, value, i, j, k, add=0):
        return _CosmoBolognaLib.VectorField3D_set_VectorField(self, value, i, j, k, add)

    def set_VectorField_FourierSpace_real(self, value, i, j, k, add=0):
        return _CosmoBolognaLib.VectorField3D_set_VectorField_FourierSpace_real(self, value, i, j, k, add)

    def set_VectorField_FourierSpace_complex(self, value, i, j, k, add=0):
        return _CosmoBolognaLib.VectorField3D_set_VectorField_FourierSpace_complex(self, value, i, j, k, add)

    def VectorField(self, *args):
        return _CosmoBolognaLib.VectorField3D_VectorField(self, *args)

    def VectorField_FourierSpace_real(self, i, j, k):
        return _CosmoBolognaLib.VectorField3D_VectorField_FourierSpace_real(self, i, j, k)

    def VectorField_FourierSpace_complex(self, i, j, k):
        return _CosmoBolognaLib.VectorField3D_VectorField_FourierSpace_complex(self, i, j, k)

    def FourierTransformField(self):
        return _CosmoBolognaLib.VectorField3D_FourierTransformField(self)

    def FourierAntiTransformField(self):
        return _CosmoBolognaLib.VectorField3D_FourierAntiTransformField(self)

    def reset(self):
        return _CosmoBolognaLib.VectorField3D_reset(self)
VectorField3D_swigregister = _CosmoBolognaLib.VectorField3D_swigregister
VectorField3D_swigregister(VectorField3D)

class RandomNumbers(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, RandomNumbers, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, RandomNumbers, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _CosmoBolognaLib.delete_RandomNumbers
    __del__ = lambda self: None

    def __call__(self):
        return _CosmoBolognaLib.RandomNumbers___call__(self)

    def set_seed(self, seed):
        return _CosmoBolognaLib.RandomNumbers_set_seed(self, seed)

    def set_range(self, MinVal, MaxVal):
        return _CosmoBolognaLib.RandomNumbers_set_range(self, MinVal, MaxVal)

    def set_value(self, value):
        return _CosmoBolognaLib.RandomNumbers_set_value(self, value)

    def set_mean(self, mean):
        return _CosmoBolognaLib.RandomNumbers_set_mean(self, mean)

    def set_mean_sigma(self, mean, sigma):
        return _CosmoBolognaLib.RandomNumbers_set_mean_sigma(self, mean, sigma)

    def set_discrete_values(self, values, weights):
        return _CosmoBolognaLib.RandomNumbers_set_discrete_values(self, values, weights)

    def set_interpolated_distribution(self, values, weights):
        return _CosmoBolognaLib.RandomNumbers_set_interpolated_distribution(self, values, weights)

    def set_custom_distribution(self, func, fixed_pars, pars):
        return _CosmoBolognaLib.RandomNumbers_set_custom_distribution(self, func, fixed_pars, pars)
RandomNumbers_swigregister = _CosmoBolognaLib.RandomNumbers_swigregister
RandomNumbers_swigregister(RandomNumbers)

class ConstantRandomNumbers(RandomNumbers):
    __swig_setmethods__ = {}
    for _s in [RandomNumbers]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, ConstantRandomNumbers, name, value)
    __swig_getmethods__ = {}
    for _s in [RandomNumbers]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, ConstantRandomNumbers, name)
    __repr__ = _swig_repr

    def __init__(self, value):
        this = _CosmoBolognaLib.new_ConstantRandomNumbers(value)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_ConstantRandomNumbers
    __del__ = lambda self: None

    def set_value(self, value):
        return _CosmoBolognaLib.ConstantRandomNumbers_set_value(self, value)

    def __call__(self):
        return _CosmoBolognaLib.ConstantRandomNumbers___call__(self)
ConstantRandomNumbers_swigregister = _CosmoBolognaLib.ConstantRandomNumbers_swigregister
ConstantRandomNumbers_swigregister(ConstantRandomNumbers)

class UniformRandomNumbers(RandomNumbers):
    __swig_setmethods__ = {}
    for _s in [RandomNumbers]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, UniformRandomNumbers, name, value)
    __swig_getmethods__ = {}
    for _s in [RandomNumbers]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, UniformRandomNumbers, name)
    __repr__ = _swig_repr

    def __init__(self, MinVal, MaxVal, seed):
        this = _CosmoBolognaLib.new_UniformRandomNumbers(MinVal, MaxVal, seed)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_UniformRandomNumbers
    __del__ = lambda self: None

    def __call__(self):
        return _CosmoBolognaLib.UniformRandomNumbers___call__(self)
UniformRandomNumbers_swigregister = _CosmoBolognaLib.UniformRandomNumbers_swigregister
UniformRandomNumbers_swigregister(UniformRandomNumbers)

class PoissonRandomNumbers(RandomNumbers):
    __swig_setmethods__ = {}
    for _s in [RandomNumbers]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, PoissonRandomNumbers, name, value)
    __swig_getmethods__ = {}
    for _s in [RandomNumbers]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, PoissonRandomNumbers, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_PoissonRandomNumbers(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_PoissonRandomNumbers
    __del__ = lambda self: None

    def set_mean(self, mean):
        return _CosmoBolognaLib.PoissonRandomNumbers_set_mean(self, mean)

    def __call__(self):
        return _CosmoBolognaLib.PoissonRandomNumbers___call__(self)
PoissonRandomNumbers_swigregister = _CosmoBolognaLib.PoissonRandomNumbers_swigregister
PoissonRandomNumbers_swigregister(PoissonRandomNumbers)

class NormalRandomNumbers(RandomNumbers):
    __swig_setmethods__ = {}
    for _s in [RandomNumbers]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, NormalRandomNumbers, name, value)
    __swig_getmethods__ = {}
    for _s in [RandomNumbers]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, NormalRandomNumbers, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_NormalRandomNumbers(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_NormalRandomNumbers
    __del__ = lambda self: None

    def set_mean_sigma(self, mean, sigma):
        return _CosmoBolognaLib.NormalRandomNumbers_set_mean_sigma(self, mean, sigma)

    def __call__(self):
        return _CosmoBolognaLib.NormalRandomNumbers___call__(self)
NormalRandomNumbers_swigregister = _CosmoBolognaLib.NormalRandomNumbers_swigregister
NormalRandomNumbers_swigregister(NormalRandomNumbers)

class DiscreteRandomNumbers(RandomNumbers):
    __swig_setmethods__ = {}
    for _s in [RandomNumbers]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, DiscreteRandomNumbers, name, value)
    __swig_getmethods__ = {}
    for _s in [RandomNumbers]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, DiscreteRandomNumbers, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_DiscreteRandomNumbers(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_DiscreteRandomNumbers
    __del__ = lambda self: None

    def set_discrete_values(self, values, weights):
        return _CosmoBolognaLib.DiscreteRandomNumbers_set_discrete_values(self, values, weights)

    def __call__(self):
        return _CosmoBolognaLib.DiscreteRandomNumbers___call__(self)
DiscreteRandomNumbers_swigregister = _CosmoBolognaLib.DiscreteRandomNumbers_swigregister
DiscreteRandomNumbers_swigregister(DiscreteRandomNumbers)

class DistributionRandomNumbers(RandomNumbers):
    __swig_setmethods__ = {}
    for _s in [RandomNumbers]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, DistributionRandomNumbers, name, value)
    __swig_getmethods__ = {}
    for _s in [RandomNumbers]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, DistributionRandomNumbers, name)
    __repr__ = _swig_repr

    def __init__(self, xx, distribution_function, interpolation_method, seed):
        this = _CosmoBolognaLib.new_DistributionRandomNumbers(xx, distribution_function, interpolation_method, seed)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_DistributionRandomNumbers
    __del__ = lambda self: None

    def set_seed(self, seed):
        return _CosmoBolognaLib.DistributionRandomNumbers_set_seed(self, seed)

    def set_interpolated_distribution(self, xx, distribution_function, interpolation_method):
        return _CosmoBolognaLib.DistributionRandomNumbers_set_interpolated_distribution(self, xx, distribution_function, interpolation_method)

    def __call__(self):
        return _CosmoBolognaLib.DistributionRandomNumbers___call__(self)
DistributionRandomNumbers_swigregister = _CosmoBolognaLib.DistributionRandomNumbers_swigregister
DistributionRandomNumbers_swigregister(DistributionRandomNumbers)

class CustomDistributionRandomNumbers(RandomNumbers):
    __swig_setmethods__ = {}
    for _s in [RandomNumbers]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, CustomDistributionRandomNumbers, name, value)
    __swig_getmethods__ = {}
    for _s in [RandomNumbers]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, CustomDistributionRandomNumbers, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_CustomDistributionRandomNumbers(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_CustomDistributionRandomNumbers
    __del__ = lambda self: None

    def set_seed(self, seed):
        return _CosmoBolognaLib.CustomDistributionRandomNumbers_set_seed(self, seed)

    def set_custom_distribution(self, func, fixed_pars, pars):
        return _CosmoBolognaLib.CustomDistributionRandomNumbers_set_custom_distribution(self, func, fixed_pars, pars)

    def __call__(self):
        return _CosmoBolognaLib.CustomDistributionRandomNumbers___call__(self)
CustomDistributionRandomNumbers_swigregister = _CosmoBolognaLib.CustomDistributionRandomNumbers_swigregister
CustomDistributionRandomNumbers_swigregister(CustomDistributionRandomNumbers)


def fhti_(_n, _mu, _q, _dlnr, _kr, _kropt, _wsave, _ok):
    return _CosmoBolognaLib.fhti_(_n, _mu, _q, _dlnr, _kr, _kropt, _wsave, _ok)
fhti_ = _CosmoBolognaLib.fhti_

def fftl_(_n, _a, _rk, _dir, _wsave):
    return _CosmoBolognaLib.fftl_(_n, _a, _rk, _dir, _wsave)
fftl_ = _CosmoBolognaLib.fftl_

_CosmoBolognaLib.NMAX_swigconstant(_CosmoBolognaLib)
NMAX = _CosmoBolognaLib.NMAX

def transform_FFTlog(*args):
    return _CosmoBolognaLib.transform_FFTlog(*args)
transform_FFTlog = _CosmoBolognaLib.transform_FFTlog

_CosmoBolognaLib._ConstantDistribution__swigconstant(_CosmoBolognaLib)
_ConstantDistribution_ = _CosmoBolognaLib._ConstantDistribution_

_CosmoBolognaLib._UniformDistribution__swigconstant(_CosmoBolognaLib)
_UniformDistribution_ = _CosmoBolognaLib._UniformDistribution_

_CosmoBolognaLib._GaussianDistribution__swigconstant(_CosmoBolognaLib)
_GaussianDistribution_ = _CosmoBolognaLib._GaussianDistribution_

_CosmoBolognaLib._PoissonDistribution__swigconstant(_CosmoBolognaLib)
_PoissonDistribution_ = _CosmoBolognaLib._PoissonDistribution_

_CosmoBolognaLib._CustomDistribution__swigconstant(_CosmoBolognaLib)
_CustomDistribution_ = _CosmoBolognaLib._CustomDistribution_

_CosmoBolognaLib._InterpolatedDistribution__swigconstant(_CosmoBolognaLib)
_InterpolatedDistribution_ = _CosmoBolognaLib._InterpolatedDistribution_

_CosmoBolognaLib._DiscreteDistribution__swigconstant(_CosmoBolognaLib)
_DiscreteDistribution_ = _CosmoBolognaLib._DiscreteDistribution_
class Distribution(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Distribution, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Distribution, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Distribution(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Distribution
    __del__ = lambda self: None

    def distributionType(self):
        return _CosmoBolognaLib.Distribution_distributionType(self)

    def __call__(self, xx):
        return _CosmoBolognaLib.Distribution___call__(self, xx)

    def log_distribution(self, xx):
        return _CosmoBolognaLib.Distribution_log_distribution(self, xx)

    def set_seed(self, seed):
        return _CosmoBolognaLib.Distribution_set_seed(self, seed)

    def set_limits(self, xmin, xmax):
        return _CosmoBolognaLib.Distribution_set_limits(self, xmin, xmax)

    def set_constant_distribution(self, value):
        return _CosmoBolognaLib.Distribution_set_constant_distribution(self, value)

    def set_uniform_distribution(self, xmin, xmax, seed=1):
        return _CosmoBolognaLib.Distribution_set_uniform_distribution(self, xmin, xmax, seed)

    def set_gaussian_distribution(self, mean, sigma, seed=1):
        return _CosmoBolognaLib.Distribution_set_gaussian_distribution(self, mean, sigma, seed)

    def set_poisson_distribution(self, mean, seed=1):
        return _CosmoBolognaLib.Distribution_set_poisson_distribution(self, mean, seed)

    def set_custom_distribution(self, func, distribution_fixed_pars, distribution_pars, seed=1):
        return _CosmoBolognaLib.Distribution_set_custom_distribution(self, func, distribution_fixed_pars, distribution_pars, seed)

    def set_discrete_values(self, discrete_values, weights, seed=1):
        return _CosmoBolognaLib.Distribution_set_discrete_values(self, discrete_values, weights, seed)

    def set_binned_distribution(self, *args):
        return _CosmoBolognaLib.Distribution_set_binned_distribution(self, *args)

    def xmin(self):
        return _CosmoBolognaLib.Distribution_xmin(self)

    def xmax(self):
        return _CosmoBolognaLib.Distribution_xmax(self)

    def distribution_range(self):
        return _CosmoBolognaLib.Distribution_distribution_range(self)

    def isIncluded(self, value):
        return _CosmoBolognaLib.Distribution_isIncluded(self, value)

    def sample(self, *args):
        return _CosmoBolognaLib.Distribution_sample(self, *args)

    def sample_vector(self, nvalues):
        return _CosmoBolognaLib.Distribution_sample_vector(self, nvalues)

    def mean(self):
        return _CosmoBolognaLib.Distribution_mean(self)

    def variance(self):
        return _CosmoBolognaLib.Distribution_variance(self)

    def std(self):
        return _CosmoBolognaLib.Distribution_std(self)

    def skewness(self):
        return _CosmoBolognaLib.Distribution_skewness(self)

    def kurtosis(self):
        return _CosmoBolognaLib.Distribution_kurtosis(self)

    def moments(self):
        return _CosmoBolognaLib.Distribution_moments(self)

    def median(self):
        return _CosmoBolognaLib.Distribution_median(self)

    def percentile(self, i):
        return _CosmoBolognaLib.Distribution_percentile(self, i)

    def mode(self):
        return _CosmoBolognaLib.Distribution_mode(self)
Distribution_swigregister = _CosmoBolognaLib.Distribution_swigregister
Distribution_swigregister(Distribution)

class IntVector(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, IntVector, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, IntVector, name)
    __repr__ = _swig_repr

    def iterator(self):
        return _CosmoBolognaLib.IntVector_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _CosmoBolognaLib.IntVector___nonzero__(self)

    def __bool__(self):
        return _CosmoBolognaLib.IntVector___bool__(self)

    def __len__(self):
        return _CosmoBolognaLib.IntVector___len__(self)

    def __getslice__(self, i, j):
        return _CosmoBolognaLib.IntVector___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _CosmoBolognaLib.IntVector___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _CosmoBolognaLib.IntVector___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _CosmoBolognaLib.IntVector___delitem__(self, *args)

    def __getitem__(self, *args):
        return _CosmoBolognaLib.IntVector___getitem__(self, *args)

    def __setitem__(self, *args):
        return _CosmoBolognaLib.IntVector___setitem__(self, *args)

    def pop(self):
        return _CosmoBolognaLib.IntVector_pop(self)

    def append(self, x):
        return _CosmoBolognaLib.IntVector_append(self, x)

    def empty(self):
        return _CosmoBolognaLib.IntVector_empty(self)

    def size(self):
        return _CosmoBolognaLib.IntVector_size(self)

    def swap(self, v):
        return _CosmoBolognaLib.IntVector_swap(self, v)

    def begin(self):
        return _CosmoBolognaLib.IntVector_begin(self)

    def end(self):
        return _CosmoBolognaLib.IntVector_end(self)

    def rbegin(self):
        return _CosmoBolognaLib.IntVector_rbegin(self)

    def rend(self):
        return _CosmoBolognaLib.IntVector_rend(self)

    def clear(self):
        return _CosmoBolognaLib.IntVector_clear(self)

    def get_allocator(self):
        return _CosmoBolognaLib.IntVector_get_allocator(self)

    def pop_back(self):
        return _CosmoBolognaLib.IntVector_pop_back(self)

    def erase(self, *args):
        return _CosmoBolognaLib.IntVector_erase(self, *args)

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_IntVector(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this

    def push_back(self, x):
        return _CosmoBolognaLib.IntVector_push_back(self, x)

    def front(self):
        return _CosmoBolognaLib.IntVector_front(self)

    def back(self):
        return _CosmoBolognaLib.IntVector_back(self)

    def assign(self, n, x):
        return _CosmoBolognaLib.IntVector_assign(self, n, x)

    def resize(self, *args):
        return _CosmoBolognaLib.IntVector_resize(self, *args)

    def insert(self, *args):
        return _CosmoBolognaLib.IntVector_insert(self, *args)

    def reserve(self, n):
        return _CosmoBolognaLib.IntVector_reserve(self, n)

    def capacity(self):
        return _CosmoBolognaLib.IntVector_capacity(self)
    __swig_destroy__ = _CosmoBolognaLib.delete_IntVector
    __del__ = lambda self: None
IntVector_swigregister = _CosmoBolognaLib.IntVector_swigregister
IntVector_swigregister(IntVector)
cvar = _CosmoBolognaLib.cvar
yotta = cvar.yotta
zetta = cvar.zetta
exa = cvar.exa
peta = cvar.peta
tera = cvar.tera
giga = cvar.giga
mega = cvar.mega
kilo = cvar.kilo
ecto = cvar.ecto
deca = cvar.deca
deci = cvar.deci
centi = cvar.centi
milli = cvar.milli
micro = cvar.micro
nano = cvar.nano
pico = cvar.pico
femto = cvar.femto
atto = cvar.atto
zepto = cvar.zepto
yocto = cvar.yocto
fINT = cvar.fINT
fLONG = cvar.fLONG
fDP0 = cvar.fDP0
fDP1 = cvar.fDP1
fDP2 = cvar.fDP2
fDP3 = cvar.fDP3
fDP4 = cvar.fDP4
fDP5 = cvar.fDP5
fDP6 = cvar.fDP6
ee3 = cvar.ee3
pi = cvar.pi
ee = cvar.ee
hbar = cvar.hbar
cc = cvar.cc
kB = cvar.kB
sSB = cvar.sSB
el = cvar.el
alpha = cvar.alpha
epsilon0 = cvar.epsilon0
mu0 = cvar.mu0
NAv = cvar.NAv
GN = cvar.GN
gn = cvar.gn
lP = cvar.lP
MP = cvar.MP
Msol = cvar.Msol
me = cvar.me
mn = cvar.mn
mp = cvar.mp
au = cvar.au
pc = cvar.pc
TCMB = cvar.TCMB
yr = cvar.yr
col_default = cvar.col_default
col_red = cvar.col_red
col_bred = cvar.col_bred
col_onred = cvar.col_onred
col_green = cvar.col_green
col_blue = cvar.col_blue
col_yellow = cvar.col_yellow
col_purple = cvar.col_purple
default_func = cvar.default_func

class LongVector(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, LongVector, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, LongVector, name)
    __repr__ = _swig_repr

    def iterator(self):
        return _CosmoBolognaLib.LongVector_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _CosmoBolognaLib.LongVector___nonzero__(self)

    def __bool__(self):
        return _CosmoBolognaLib.LongVector___bool__(self)

    def __len__(self):
        return _CosmoBolognaLib.LongVector___len__(self)

    def __getslice__(self, i, j):
        return _CosmoBolognaLib.LongVector___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _CosmoBolognaLib.LongVector___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _CosmoBolognaLib.LongVector___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _CosmoBolognaLib.LongVector___delitem__(self, *args)

    def __getitem__(self, *args):
        return _CosmoBolognaLib.LongVector___getitem__(self, *args)

    def __setitem__(self, *args):
        return _CosmoBolognaLib.LongVector___setitem__(self, *args)

    def pop(self):
        return _CosmoBolognaLib.LongVector_pop(self)

    def append(self, x):
        return _CosmoBolognaLib.LongVector_append(self, x)

    def empty(self):
        return _CosmoBolognaLib.LongVector_empty(self)

    def size(self):
        return _CosmoBolognaLib.LongVector_size(self)

    def swap(self, v):
        return _CosmoBolognaLib.LongVector_swap(self, v)

    def begin(self):
        return _CosmoBolognaLib.LongVector_begin(self)

    def end(self):
        return _CosmoBolognaLib.LongVector_end(self)

    def rbegin(self):
        return _CosmoBolognaLib.LongVector_rbegin(self)

    def rend(self):
        return _CosmoBolognaLib.LongVector_rend(self)

    def clear(self):
        return _CosmoBolognaLib.LongVector_clear(self)

    def get_allocator(self):
        return _CosmoBolognaLib.LongVector_get_allocator(self)

    def pop_back(self):
        return _CosmoBolognaLib.LongVector_pop_back(self)

    def erase(self, *args):
        return _CosmoBolognaLib.LongVector_erase(self, *args)

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_LongVector(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this

    def push_back(self, x):
        return _CosmoBolognaLib.LongVector_push_back(self, x)

    def front(self):
        return _CosmoBolognaLib.LongVector_front(self)

    def back(self):
        return _CosmoBolognaLib.LongVector_back(self)

    def assign(self, n, x):
        return _CosmoBolognaLib.LongVector_assign(self, n, x)

    def resize(self, *args):
        return _CosmoBolognaLib.LongVector_resize(self, *args)

    def insert(self, *args):
        return _CosmoBolognaLib.LongVector_insert(self, *args)

    def reserve(self, n):
        return _CosmoBolognaLib.LongVector_reserve(self, n)

    def capacity(self):
        return _CosmoBolognaLib.LongVector_capacity(self)
    __swig_destroy__ = _CosmoBolognaLib.delete_LongVector
    __del__ = lambda self: None
LongVector_swigregister = _CosmoBolognaLib.LongVector_swigregister
LongVector_swigregister(LongVector)

class DoubleVector(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, DoubleVector, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, DoubleVector, name)
    __repr__ = _swig_repr

    def iterator(self):
        return _CosmoBolognaLib.DoubleVector_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _CosmoBolognaLib.DoubleVector___nonzero__(self)

    def __bool__(self):
        return _CosmoBolognaLib.DoubleVector___bool__(self)

    def __len__(self):
        return _CosmoBolognaLib.DoubleVector___len__(self)

    def __getslice__(self, i, j):
        return _CosmoBolognaLib.DoubleVector___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _CosmoBolognaLib.DoubleVector___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _CosmoBolognaLib.DoubleVector___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _CosmoBolognaLib.DoubleVector___delitem__(self, *args)

    def __getitem__(self, *args):
        return _CosmoBolognaLib.DoubleVector___getitem__(self, *args)

    def __setitem__(self, *args):
        return _CosmoBolognaLib.DoubleVector___setitem__(self, *args)

    def pop(self):
        return _CosmoBolognaLib.DoubleVector_pop(self)

    def append(self, x):
        return _CosmoBolognaLib.DoubleVector_append(self, x)

    def empty(self):
        return _CosmoBolognaLib.DoubleVector_empty(self)

    def size(self):
        return _CosmoBolognaLib.DoubleVector_size(self)

    def swap(self, v):
        return _CosmoBolognaLib.DoubleVector_swap(self, v)

    def begin(self):
        return _CosmoBolognaLib.DoubleVector_begin(self)

    def end(self):
        return _CosmoBolognaLib.DoubleVector_end(self)

    def rbegin(self):
        return _CosmoBolognaLib.DoubleVector_rbegin(self)

    def rend(self):
        return _CosmoBolognaLib.DoubleVector_rend(self)

    def clear(self):
        return _CosmoBolognaLib.DoubleVector_clear(self)

    def get_allocator(self):
        return _CosmoBolognaLib.DoubleVector_get_allocator(self)

    def pop_back(self):
        return _CosmoBolognaLib.DoubleVector_pop_back(self)

    def erase(self, *args):
        return _CosmoBolognaLib.DoubleVector_erase(self, *args)

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_DoubleVector(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this

    def push_back(self, x):
        return _CosmoBolognaLib.DoubleVector_push_back(self, x)

    def front(self):
        return _CosmoBolognaLib.DoubleVector_front(self)

    def back(self):
        return _CosmoBolognaLib.DoubleVector_back(self)

    def assign(self, n, x):
        return _CosmoBolognaLib.DoubleVector_assign(self, n, x)

    def resize(self, *args):
        return _CosmoBolognaLib.DoubleVector_resize(self, *args)

    def insert(self, *args):
        return _CosmoBolognaLib.DoubleVector_insert(self, *args)

    def reserve(self, n):
        return _CosmoBolognaLib.DoubleVector_reserve(self, n)

    def capacity(self):
        return _CosmoBolognaLib.DoubleVector_capacity(self)
    __swig_destroy__ = _CosmoBolognaLib.delete_DoubleVector
    __del__ = lambda self: None
DoubleVector_swigregister = _CosmoBolognaLib.DoubleVector_swigregister
DoubleVector_swigregister(DoubleVector)

class StringVector(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, StringVector, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, StringVector, name)
    __repr__ = _swig_repr

    def iterator(self):
        return _CosmoBolognaLib.StringVector_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _CosmoBolognaLib.StringVector___nonzero__(self)

    def __bool__(self):
        return _CosmoBolognaLib.StringVector___bool__(self)

    def __len__(self):
        return _CosmoBolognaLib.StringVector___len__(self)

    def __getslice__(self, i, j):
        return _CosmoBolognaLib.StringVector___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _CosmoBolognaLib.StringVector___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _CosmoBolognaLib.StringVector___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _CosmoBolognaLib.StringVector___delitem__(self, *args)

    def __getitem__(self, *args):
        return _CosmoBolognaLib.StringVector___getitem__(self, *args)

    def __setitem__(self, *args):
        return _CosmoBolognaLib.StringVector___setitem__(self, *args)

    def pop(self):
        return _CosmoBolognaLib.StringVector_pop(self)

    def append(self, x):
        return _CosmoBolognaLib.StringVector_append(self, x)

    def empty(self):
        return _CosmoBolognaLib.StringVector_empty(self)

    def size(self):
        return _CosmoBolognaLib.StringVector_size(self)

    def swap(self, v):
        return _CosmoBolognaLib.StringVector_swap(self, v)

    def begin(self):
        return _CosmoBolognaLib.StringVector_begin(self)

    def end(self):
        return _CosmoBolognaLib.StringVector_end(self)

    def rbegin(self):
        return _CosmoBolognaLib.StringVector_rbegin(self)

    def rend(self):
        return _CosmoBolognaLib.StringVector_rend(self)

    def clear(self):
        return _CosmoBolognaLib.StringVector_clear(self)

    def get_allocator(self):
        return _CosmoBolognaLib.StringVector_get_allocator(self)

    def pop_back(self):
        return _CosmoBolognaLib.StringVector_pop_back(self)

    def erase(self, *args):
        return _CosmoBolognaLib.StringVector_erase(self, *args)

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_StringVector(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this

    def push_back(self, x):
        return _CosmoBolognaLib.StringVector_push_back(self, x)

    def front(self):
        return _CosmoBolognaLib.StringVector_front(self)

    def back(self):
        return _CosmoBolognaLib.StringVector_back(self)

    def assign(self, n, x):
        return _CosmoBolognaLib.StringVector_assign(self, n, x)

    def resize(self, *args):
        return _CosmoBolognaLib.StringVector_resize(self, *args)

    def insert(self, *args):
        return _CosmoBolognaLib.StringVector_insert(self, *args)

    def reserve(self, n):
        return _CosmoBolognaLib.StringVector_reserve(self, n)

    def capacity(self):
        return _CosmoBolognaLib.StringVector_capacity(self)
    __swig_destroy__ = _CosmoBolognaLib.delete_StringVector
    __del__ = lambda self: None
StringVector_swigregister = _CosmoBolognaLib.StringVector_swigregister
StringVector_swigregister(StringVector)

class BoolVector(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, BoolVector, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, BoolVector, name)
    __repr__ = _swig_repr

    def iterator(self):
        return _CosmoBolognaLib.BoolVector_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _CosmoBolognaLib.BoolVector___nonzero__(self)

    def __bool__(self):
        return _CosmoBolognaLib.BoolVector___bool__(self)

    def __len__(self):
        return _CosmoBolognaLib.BoolVector___len__(self)

    def __getslice__(self, i, j):
        return _CosmoBolognaLib.BoolVector___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _CosmoBolognaLib.BoolVector___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _CosmoBolognaLib.BoolVector___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _CosmoBolognaLib.BoolVector___delitem__(self, *args)

    def __getitem__(self, *args):
        return _CosmoBolognaLib.BoolVector___getitem__(self, *args)

    def __setitem__(self, *args):
        return _CosmoBolognaLib.BoolVector___setitem__(self, *args)

    def pop(self):
        return _CosmoBolognaLib.BoolVector_pop(self)

    def append(self, x):
        return _CosmoBolognaLib.BoolVector_append(self, x)

    def empty(self):
        return _CosmoBolognaLib.BoolVector_empty(self)

    def size(self):
        return _CosmoBolognaLib.BoolVector_size(self)

    def swap(self, v):
        return _CosmoBolognaLib.BoolVector_swap(self, v)

    def begin(self):
        return _CosmoBolognaLib.BoolVector_begin(self)

    def end(self):
        return _CosmoBolognaLib.BoolVector_end(self)

    def rbegin(self):
        return _CosmoBolognaLib.BoolVector_rbegin(self)

    def rend(self):
        return _CosmoBolognaLib.BoolVector_rend(self)

    def clear(self):
        return _CosmoBolognaLib.BoolVector_clear(self)

    def get_allocator(self):
        return _CosmoBolognaLib.BoolVector_get_allocator(self)

    def pop_back(self):
        return _CosmoBolognaLib.BoolVector_pop_back(self)

    def erase(self, *args):
        return _CosmoBolognaLib.BoolVector_erase(self, *args)

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_BoolVector(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this

    def push_back(self, x):
        return _CosmoBolognaLib.BoolVector_push_back(self, x)

    def front(self):
        return _CosmoBolognaLib.BoolVector_front(self)

    def back(self):
        return _CosmoBolognaLib.BoolVector_back(self)

    def assign(self, n, x):
        return _CosmoBolognaLib.BoolVector_assign(self, n, x)

    def resize(self, *args):
        return _CosmoBolognaLib.BoolVector_resize(self, *args)

    def insert(self, *args):
        return _CosmoBolognaLib.BoolVector_insert(self, *args)

    def reserve(self, n):
        return _CosmoBolognaLib.BoolVector_reserve(self, n)

    def capacity(self):
        return _CosmoBolognaLib.BoolVector_capacity(self)
    __swig_destroy__ = _CosmoBolognaLib.delete_BoolVector
    __del__ = lambda self: None
BoolVector_swigregister = _CosmoBolognaLib.BoolVector_swigregister
BoolVector_swigregister(BoolVector)

class DoubleVectorVector(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, DoubleVectorVector, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, DoubleVectorVector, name)
    __repr__ = _swig_repr

    def iterator(self):
        return _CosmoBolognaLib.DoubleVectorVector_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _CosmoBolognaLib.DoubleVectorVector___nonzero__(self)

    def __bool__(self):
        return _CosmoBolognaLib.DoubleVectorVector___bool__(self)

    def __len__(self):
        return _CosmoBolognaLib.DoubleVectorVector___len__(self)

    def __getslice__(self, i, j):
        return _CosmoBolognaLib.DoubleVectorVector___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _CosmoBolognaLib.DoubleVectorVector___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _CosmoBolognaLib.DoubleVectorVector___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _CosmoBolognaLib.DoubleVectorVector___delitem__(self, *args)

    def __getitem__(self, *args):
        return _CosmoBolognaLib.DoubleVectorVector___getitem__(self, *args)

    def __setitem__(self, *args):
        return _CosmoBolognaLib.DoubleVectorVector___setitem__(self, *args)

    def pop(self):
        return _CosmoBolognaLib.DoubleVectorVector_pop(self)

    def append(self, x):
        return _CosmoBolognaLib.DoubleVectorVector_append(self, x)

    def empty(self):
        return _CosmoBolognaLib.DoubleVectorVector_empty(self)

    def size(self):
        return _CosmoBolognaLib.DoubleVectorVector_size(self)

    def swap(self, v):
        return _CosmoBolognaLib.DoubleVectorVector_swap(self, v)

    def begin(self):
        return _CosmoBolognaLib.DoubleVectorVector_begin(self)

    def end(self):
        return _CosmoBolognaLib.DoubleVectorVector_end(self)

    def rbegin(self):
        return _CosmoBolognaLib.DoubleVectorVector_rbegin(self)

    def rend(self):
        return _CosmoBolognaLib.DoubleVectorVector_rend(self)

    def clear(self):
        return _CosmoBolognaLib.DoubleVectorVector_clear(self)

    def get_allocator(self):
        return _CosmoBolognaLib.DoubleVectorVector_get_allocator(self)

    def pop_back(self):
        return _CosmoBolognaLib.DoubleVectorVector_pop_back(self)

    def erase(self, *args):
        return _CosmoBolognaLib.DoubleVectorVector_erase(self, *args)

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_DoubleVectorVector(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this

    def push_back(self, x):
        return _CosmoBolognaLib.DoubleVectorVector_push_back(self, x)

    def front(self):
        return _CosmoBolognaLib.DoubleVectorVector_front(self)

    def back(self):
        return _CosmoBolognaLib.DoubleVectorVector_back(self)

    def assign(self, n, x):
        return _CosmoBolognaLib.DoubleVectorVector_assign(self, n, x)

    def resize(self, *args):
        return _CosmoBolognaLib.DoubleVectorVector_resize(self, *args)

    def insert(self, *args):
        return _CosmoBolognaLib.DoubleVectorVector_insert(self, *args)

    def reserve(self, n):
        return _CosmoBolognaLib.DoubleVectorVector_reserve(self, n)

    def capacity(self):
        return _CosmoBolognaLib.DoubleVectorVector_capacity(self)
    __swig_destroy__ = _CosmoBolognaLib.delete_DoubleVectorVector
    __del__ = lambda self: None
DoubleVectorVector_swigregister = _CosmoBolognaLib.DoubleVectorVector_swigregister
DoubleVectorVector_swigregister(DoubleVectorVector)

class EnumTypes(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, EnumTypes, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, EnumTypes, name)
    __repr__ = _swig_repr
    _error_ = _CosmoBolognaLib.EnumTypes__error_
    _IO_ = _CosmoBolognaLib.EnumTypes__IO_
    _workInProgress_ = _CosmoBolognaLib.EnumTypes__workInProgress_
    _ConstantDistribution_ = _CosmoBolognaLib.EnumTypes__ConstantDistribution_
    _UniformDistribution_ = _CosmoBolognaLib.EnumTypes__UniformDistribution_
    _GaussianDistribution_ = _CosmoBolognaLib.EnumTypes__GaussianDistribution_
    _PoissonDistribution_ = _CosmoBolognaLib.EnumTypes__PoissonDistribution_
    _CustomDistribution_ = _CosmoBolognaLib.EnumTypes__CustomDistribution_
    _InterpolatedDistribution_ = _CosmoBolognaLib.EnumTypes__InterpolatedDistribution_
    _DiscreteDistribution_ = _CosmoBolognaLib.EnumTypes__DiscreteDistribution_
    _BaseParameter_ = _CosmoBolognaLib.EnumTypes__BaseParameter_
    _DerivedParameter_ = _CosmoBolognaLib.EnumTypes__DerivedParameter_
    _WMAP5_ = _CosmoBolognaLib.EnumTypes__WMAP5_
    _WMAP7_ = _CosmoBolognaLib.EnumTypes__WMAP7_
    _WMAP9_ = _CosmoBolognaLib.EnumTypes__WMAP9_
    _Planck13_ = _CosmoBolognaLib.EnumTypes__Planck13_
    _Planck15_ = _CosmoBolognaLib.EnumTypes__Planck15_
    _Planck15_TT_ = _CosmoBolognaLib.EnumTypes__Planck15_TT_
    _Omega_matter_LCDM_ = _CosmoBolognaLib.EnumTypes__Omega_matter_LCDM_
    _Omega_matter_ = _CosmoBolognaLib.EnumTypes__Omega_matter_
    _Omega_baryon_ = _CosmoBolognaLib.EnumTypes__Omega_baryon_
    _Omega_baryon_h2_ = _CosmoBolognaLib.EnumTypes__Omega_baryon_h2_
    _Omega_neutrinos_ = _CosmoBolognaLib.EnumTypes__Omega_neutrinos_
    _massless_neutrinos_ = _CosmoBolognaLib.EnumTypes__massless_neutrinos_
    _massive_neutrinos_ = _CosmoBolognaLib.EnumTypes__massive_neutrinos_
    _neutrino_mass_ = _CosmoBolognaLib.EnumTypes__neutrino_mass_
    _Omega_DE_ = _CosmoBolognaLib.EnumTypes__Omega_DE_
    _Omega_radiation_ = _CosmoBolognaLib.EnumTypes__Omega_radiation_
    _H0_ = _CosmoBolognaLib.EnumTypes__H0_
    _hh_ = _CosmoBolognaLib.EnumTypes__hh_
    _scalar_amp_ = _CosmoBolognaLib.EnumTypes__scalar_amp_
    _ln_scalar_amp_ = _CosmoBolognaLib.EnumTypes__ln_scalar_amp_
    _scalar_pivot_ = _CosmoBolognaLib.EnumTypes__scalar_pivot_
    _n_spec_ = _CosmoBolognaLib.EnumTypes__n_spec_
    _w0_ = _CosmoBolognaLib.EnumTypes__w0_
    _wa_ = _CosmoBolognaLib.EnumTypes__wa_
    _fNL_ = _CosmoBolognaLib.EnumTypes__fNL_
    _sigma8_ = _CosmoBolognaLib.EnumTypes__sigma8_
    _tau_ = _CosmoBolognaLib.EnumTypes__tau_
    _rs_ = _CosmoBolognaLib.EnumTypes__rs_
    _radians_ = _CosmoBolognaLib.EnumTypes__radians_
    _degrees_ = _CosmoBolognaLib.EnumTypes__degrees_
    _arcseconds_ = _CosmoBolognaLib.EnumTypes__arcseconds_
    _arcminutes_ = _CosmoBolognaLib.EnumTypes__arcminutes_
    _1D_ = _CosmoBolognaLib.EnumTypes__1D_
    _2D_ = _CosmoBolognaLib.EnumTypes__2D_
    _linear_ = _CosmoBolognaLib.EnumTypes__linear_
    _logarithmic_ = _CosmoBolognaLib.EnumTypes__logarithmic_
    _comovingCoordinates_ = _CosmoBolognaLib.EnumTypes__comovingCoordinates_
    _observedCoordinates_ = _CosmoBolognaLib.EnumTypes__observedCoordinates_
    _1D_data_ = _CosmoBolognaLib.EnumTypes__1D_data_
    _2D_data_ = _CosmoBolognaLib.EnumTypes__2D_data_
    _1D_collection_data_ = _CosmoBolognaLib.EnumTypes__1D_collection_data_
    _1D_data_extra_ = _CosmoBolognaLib.EnumTypes__1D_data_extra_
    _2D_data_extra_ = _CosmoBolognaLib.EnumTypes__2D_data_extra_
    _Likelihood_NotSet_ = _CosmoBolognaLib.EnumTypes__Likelihood_NotSet_
    _GaussianLikelihood_Error_ = _CosmoBolognaLib.EnumTypes__GaussianLikelihood_Error_
    _GaussianLikelihood_Covariance_ = _CosmoBolognaLib.EnumTypes__GaussianLikelihood_Covariance_
    _UserDefinedLikelihood_ = _CosmoBolognaLib.EnumTypes__UserDefinedLikelihood_
    _angular_lin_ = _CosmoBolognaLib.EnumTypes__angular_lin_
    _angular_log_ = _CosmoBolognaLib.EnumTypes__angular_log_
    _comoving_lin_ = _CosmoBolognaLib.EnumTypes__comoving_lin_
    _comoving_log_ = _CosmoBolognaLib.EnumTypes__comoving_log_
    _comovingCartesian_linlin_ = _CosmoBolognaLib.EnumTypes__comovingCartesian_linlin_
    _comovingCartesian_linlog_ = _CosmoBolognaLib.EnumTypes__comovingCartesian_linlog_
    _comovingCartesian_loglin_ = _CosmoBolognaLib.EnumTypes__comovingCartesian_loglin_
    _comovingCartesian_loglog_ = _CosmoBolognaLib.EnumTypes__comovingCartesian_loglog_
    _comovingPolar_linlin_ = _CosmoBolognaLib.EnumTypes__comovingPolar_linlin_
    _comovingPolar_linlog_ = _CosmoBolognaLib.EnumTypes__comovingPolar_linlog_
    _comovingPolar_loglin_ = _CosmoBolognaLib.EnumTypes__comovingPolar_loglin_
    _comovingPolar_loglog_ = _CosmoBolognaLib.EnumTypes__comovingPolar_loglog_
    _1D_monopole_ = _CosmoBolognaLib.EnumTypes__1D_monopole_
    _1D_projected_ = _CosmoBolognaLib.EnumTypes__1D_projected_
    _1D_deprojected_ = _CosmoBolognaLib.EnumTypes__1D_deprojected_
    _1D_multipoles_ = _CosmoBolognaLib.EnumTypes__1D_multipoles_
    _1D_wedges_ = _CosmoBolognaLib.EnumTypes__1D_wedges_
    _1D_filtered_ = _CosmoBolognaLib.EnumTypes__1D_filtered_
    _1D_angular_ = _CosmoBolognaLib.EnumTypes__1D_angular_
    _2D_Cartesian_ = _CosmoBolognaLib.EnumTypes__2D_Cartesian_
    _2D_polar_ = _CosmoBolognaLib.EnumTypes__2D_polar_
    _natural_ = _CosmoBolognaLib.EnumTypes__natural_
    _LandySzalay_ = _CosmoBolognaLib.EnumTypes__LandySzalay_
    _Poisson_ = _CosmoBolognaLib.EnumTypes__Poisson_
    _Jackknife_ = _CosmoBolognaLib.EnumTypes__Jackknife_
    _Bootstrap_ = _CosmoBolognaLib.EnumTypes__Bootstrap_
    _JackknifeTest_ = _CosmoBolognaLib.EnumTypes__JackknifeTest_
    _BootstrapTest_ = _CosmoBolognaLib.EnumTypes__BootstrapTest_
    _None_ = _CosmoBolognaLib.EnumTypes__None_
    _comoving_theta_ = _CosmoBolognaLib.EnumTypes__comoving_theta_
    _comoving_side_ = _CosmoBolognaLib.EnumTypes__comoving_side_
    _angular_connected_ = _CosmoBolognaLib.EnumTypes__angular_connected_
    _angular_reduced_ = _CosmoBolognaLib.EnumTypes__angular_reduced_
    _comoving_connected_ = _CosmoBolognaLib.EnumTypes__comoving_connected_
    _comoving_reduced_ = _CosmoBolognaLib.EnumTypes__comoving_reduced_
    _GenericObject_ = _CosmoBolognaLib.EnumTypes__GenericObject_
    _RandomObject_ = _CosmoBolognaLib.EnumTypes__RandomObject_
    _Mock_ = _CosmoBolognaLib.EnumTypes__Mock_
    _Halo_ = _CosmoBolognaLib.EnumTypes__Halo_
    _Galaxy_ = _CosmoBolognaLib.EnumTypes__Galaxy_
    _Cluster_ = _CosmoBolognaLib.EnumTypes__Cluster_
    _Void_ = _CosmoBolognaLib.EnumTypes__Void_
    _X_ = _CosmoBolognaLib.EnumTypes__X_
    _Y_ = _CosmoBolognaLib.EnumTypes__Y_
    _Z_ = _CosmoBolognaLib.EnumTypes__Z_
    _RA_ = _CosmoBolognaLib.EnumTypes__RA_
    _Dec_ = _CosmoBolognaLib.EnumTypes__Dec_
    _Redshift_ = _CosmoBolognaLib.EnumTypes__Redshift_
    _Dc_ = _CosmoBolognaLib.EnumTypes__Dc_
    _Weight_ = _CosmoBolognaLib.EnumTypes__Weight_
    _Mass_ = _CosmoBolognaLib.EnumTypes__Mass_
    _Magnitude_ = _CosmoBolognaLib.EnumTypes__Magnitude_
    _SFR_ = _CosmoBolognaLib.EnumTypes__SFR_
    _sSFR_ = _CosmoBolognaLib.EnumTypes__sSFR_
    _Richness_ = _CosmoBolognaLib.EnumTypes__Richness_
    _RichnessError_ = _CosmoBolognaLib.EnumTypes__RichnessError_
    _Vx_ = _CosmoBolognaLib.EnumTypes__Vx_
    Vy = _CosmoBolognaLib.EnumTypes_Vy
    Vz = _CosmoBolognaLib.EnumTypes_Vz
    _Region_ = _CosmoBolognaLib.EnumTypes__Region_
    _Radius_ = _CosmoBolognaLib.EnumTypes__Radius_
    _DensityContrast_ = _CosmoBolognaLib.EnumTypes__DensityContrast_
    _CentralDensity_ = _CosmoBolognaLib.EnumTypes__CentralDensity_
    _Generic_ = _CosmoBolognaLib.EnumTypes__Generic_
    _createRandom_box_ = _CosmoBolognaLib.EnumTypes__createRandom_box_
    _createRandom_square_ = _CosmoBolognaLib.EnumTypes__createRandom_square_
    _createRandom_shuffle_ = _CosmoBolognaLib.EnumTypes__createRandom_shuffle_
    _createRandom_shuffleTOT_ = _CosmoBolognaLib.EnumTypes__createRandom_shuffleTOT_
    _createRandom_cone_ = _CosmoBolognaLib.EnumTypes__createRandom_cone_
    _createRandom_MANGLE_ = _CosmoBolognaLib.EnumTypes__createRandom_MANGLE_
    _createRandom_VIPERS_ = _CosmoBolognaLib.EnumTypes__createRandom_VIPERS_
    _LaZeVo_ = _CosmoBolognaLib.EnumTypes__LaZeVo_
    _RIVA_ = _CosmoBolognaLib.EnumTypes__RIVA_
    _ascii_ = _CosmoBolognaLib.EnumTypes__ascii_
    _binary_ = _CosmoBolognaLib.EnumTypes__binary_

    def __init__(self):
        this = _CosmoBolognaLib.new_EnumTypes()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_EnumTypes
    __del__ = lambda self: None
EnumTypes_swigregister = _CosmoBolognaLib.EnumTypes_swigregister
EnumTypes_swigregister(EnumTypes)

class Model(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Model, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Model, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Model(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Model
    __del__ = lambda self: None

    def set_model(self, *args):
        return _CosmoBolognaLib.Model_set_model(self, *args)

    def set_fixed_parameters(self, fixed_parameters):
        return _CosmoBolognaLib.Model_set_fixed_parameters(self, fixed_parameters)

    def fixed_parameters(self):
        return _CosmoBolognaLib.Model_fixed_parameters(self)

    def __call__(self, *args):
        return _CosmoBolognaLib.Model___call__(self, *args)

    def write_model(self, *args):
        return _CosmoBolognaLib.Model_write_model(self, *args)
Model_swigregister = _CosmoBolognaLib.Model_swigregister
Model_swigregister(Model)

class Model1D(Model):
    __swig_setmethods__ = {}
    for _s in [Model]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Model1D, name, value)
    __swig_getmethods__ = {}
    for _s in [Model]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Model1D, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Model1D(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Model1D
    __del__ = lambda self: None

    def set_model(self, model):
        return _CosmoBolognaLib.Model1D_set_model(self, model)

    def __call__(self, *args):
        return _CosmoBolognaLib.Model1D___call__(self, *args)

    def write_model(self, output_dir, output_file, xx, parameter):
        return _CosmoBolognaLib.Model1D_write_model(self, output_dir, output_file, xx, parameter)
Model1D_swigregister = _CosmoBolognaLib.Model1D_swigregister
Model1D_swigregister(Model1D)

class Model2D(Model):
    __swig_setmethods__ = {}
    for _s in [Model]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Model2D, name, value)
    __swig_getmethods__ = {}
    for _s in [Model]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Model2D, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Model2D(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Model2D
    __del__ = lambda self: None

    def set_model(self, model):
        return _CosmoBolognaLib.Model2D_set_model(self, model)

    def __call__(self, *args):
        return _CosmoBolognaLib.Model2D___call__(self, *args)

    def write_model(self, output_dir, output_file, xx, yy, parameter):
        return _CosmoBolognaLib.Model2D_write_model(self, output_dir, output_file, xx, yy, parameter)
Model2D_swigregister = _CosmoBolognaLib.Model2D_swigregister
Model2D_swigregister(Model2D)

class Chain(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Chain, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Chain, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Chain(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Chain
    __del__ = lambda self: None

    def size(self):
        return _CosmoBolognaLib.Chain_size(self)

    def nwalkers(self):
        return _CosmoBolognaLib.Chain_nwalkers(self)

    def set_chain(self, size, nwalkers):
        return _CosmoBolognaLib.Chain_set_chain(self, size, nwalkers)

    def reset(self):
        return _CosmoBolognaLib.Chain_reset(self)

    def expand(self, append):
        return _CosmoBolognaLib.Chain_expand(self, append)

    def value(self, pp, ww):
        return _CosmoBolognaLib.Chain_value(self, pp, ww)

    def set_value(self, pp, ww, value):
        return _CosmoBolognaLib.Chain_set_value(self, pp, ww, value)

    def set_values(self, *args):
        return _CosmoBolognaLib.Chain_set_values(self, *args)

    def values(self, start, thin=1):
        return _CosmoBolognaLib.Chain_values(self, start, thin)

    def PosteriorDistribution(self, *args):
        return _CosmoBolognaLib.Chain_PosteriorDistribution(self, *args)
Chain_swigregister = _CosmoBolognaLib.Chain_swigregister
Chain_swigregister(Chain)

class Prior(Distribution):
    __swig_setmethods__ = {}
    for _s in [Distribution]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Prior, name, value)
    __swig_getmethods__ = {}
    for _s in [Distribution]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Prior, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Prior(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Prior
    __del__ = lambda self: None
Prior_swigregister = _CosmoBolognaLib.Prior_swigregister
Prior_swigregister(Prior)

class Posterior(Distribution):
    __swig_setmethods__ = {}
    for _s in [Distribution]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Posterior, name, value)
    __swig_getmethods__ = {}
    for _s in [Distribution]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Posterior, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Posterior(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Posterior
    __del__ = lambda self: None
Posterior_swigregister = _CosmoBolognaLib.Posterior_swigregister
Posterior_swigregister(Posterior)


_CosmoBolognaLib._BaseParameter__swigconstant(_CosmoBolognaLib)
_BaseParameter_ = _CosmoBolognaLib._BaseParameter_

_CosmoBolognaLib._DerivedParameter__swigconstant(_CosmoBolognaLib)
_DerivedParameter_ = _CosmoBolognaLib._DerivedParameter_
class Parameter(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Parameter, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Parameter, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Parameter(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Parameter
    __del__ = lambda self: None

    def name(self):
        return _CosmoBolognaLib.Parameter_name(self)

    def parameterType(self):
        return _CosmoBolognaLib.Parameter_parameterType(self)

    def bestfit_value(self):
        return _CosmoBolognaLib.Parameter_bestfit_value(self)

    def posterior(self):
        return _CosmoBolognaLib.Parameter_posterior(self)

    def set_name(self, name):
        return _CosmoBolognaLib.Parameter_set_name(self, name)

    def set_pType(self, pType):
        return _CosmoBolognaLib.Parameter_set_pType(self, pType)

    def set_bestfit_value(self, bestfit_value):
        return _CosmoBolognaLib.Parameter_set_bestfit_value(self, bestfit_value)

    def chain(self):
        return _CosmoBolognaLib.Parameter_chain(self)

    def chain_size(self):
        return _CosmoBolognaLib.Parameter_chain_size(self)

    def nwalkers(self):
        return _CosmoBolognaLib.Parameter_nwalkers(self)

    def chain_value(self, pp, ww):
        return _CosmoBolognaLib.Parameter_chain_value(self, pp, ww)

    def chain_values(self, start=0, thin=1):
        return _CosmoBolognaLib.Parameter_chain_values(self, start, thin)

    def set_chain_value(self, pp, ww, chain_value):
        return _CosmoBolognaLib.Parameter_set_chain_value(self, pp, ww, chain_value)

    def set_chain(self, *args):
        return _CosmoBolognaLib.Parameter_set_chain(self, *args)

    def expand_chain(self, append):
        return _CosmoBolognaLib.Parameter_expand_chain(self, append)

    def set_posterior(self, *args):
        return _CosmoBolognaLib.Parameter_set_posterior(self, *args)

    def PosteriorProbability(self, value):
        return _CosmoBolognaLib.Parameter_PosteriorProbability(self, value)

    def posterior_mean(self):
        return _CosmoBolognaLib.Parameter_posterior_mean(self)

    def posterior_median(self):
        return _CosmoBolognaLib.Parameter_posterior_median(self)

    def posterior_std(self):
        return _CosmoBolognaLib.Parameter_posterior_std(self)

    def posterior_percentile(self, i):
        return _CosmoBolognaLib.Parameter_posterior_percentile(self, i)

    def posterior_mode(self):
        return _CosmoBolognaLib.Parameter_posterior_mode(self)

    def posterior_sample(self, *args):
        return _CosmoBolognaLib.Parameter_posterior_sample(self, *args)

    def fixed(self):
        return _CosmoBolognaLib.Parameter_fixed(self)

    def set_fixed(self, fix):
        return _CosmoBolognaLib.Parameter_set_fixed(self, fix)

    def free(self):
        return _CosmoBolognaLib.Parameter_free(self)

    def fix(self, *args):
        return _CosmoBolognaLib.Parameter_fix(self, *args)

    def fix_at_bestfit(self):
        return _CosmoBolognaLib.Parameter_fix_at_bestfit(self)

    def value(self):
        return _CosmoBolognaLib.Parameter_value(self)

    def set_value(self, value):
        return _CosmoBolognaLib.Parameter_set_value(self, value)

    def prior(self):
        return _CosmoBolognaLib.Parameter_prior(self)

    def set_prior(self, *args):
        return _CosmoBolognaLib.Parameter_set_prior(self, *args)

    def PriorProbability(self, value):
        return _CosmoBolognaLib.Parameter_PriorProbability(self, value)

    def LogPriorProbability(self, value):
        return _CosmoBolognaLib.Parameter_LogPriorProbability(self, value)

    def set_prior_seed(self, seed):
        return _CosmoBolognaLib.Parameter_set_prior_seed(self, seed)

    def prior_sample(self, *args):
        return _CosmoBolognaLib.Parameter_prior_sample(self, *args)

    def prior_range(self, epsilon=1.):
        return _CosmoBolognaLib.Parameter_prior_range(self, epsilon)
Parameter_swigregister = _CosmoBolognaLib.Parameter_swigregister
Parameter_swigregister(Parameter)

class BaseParameter(Parameter):
    __swig_setmethods__ = {}
    for _s in [Parameter]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, BaseParameter, name, value)
    __swig_getmethods__ = {}
    for _s in [Parameter]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, BaseParameter, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_BaseParameter(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_BaseParameter
    __del__ = lambda self: None

    def fixed(self):
        return _CosmoBolognaLib.BaseParameter_fixed(self)

    def set_fixed(self, fix):
        return _CosmoBolognaLib.BaseParameter_set_fixed(self, fix)

    def free(self):
        return _CosmoBolognaLib.BaseParameter_free(self)

    def fix(self, *args):
        return _CosmoBolognaLib.BaseParameter_fix(self, *args)

    def fix_at_bestfit(self):
        return _CosmoBolognaLib.BaseParameter_fix_at_bestfit(self)

    def value(self):
        return _CosmoBolognaLib.BaseParameter_value(self)

    def set_value(self, value):
        return _CosmoBolognaLib.BaseParameter_set_value(self, value)

    def prior(self):
        return _CosmoBolognaLib.BaseParameter_prior(self)

    def set_prior(self, *args):
        return _CosmoBolognaLib.BaseParameter_set_prior(self, *args)

    def PriorProbability(self, value):
        return _CosmoBolognaLib.BaseParameter_PriorProbability(self, value)

    def LogPriorProbability(self, value):
        return _CosmoBolognaLib.BaseParameter_LogPriorProbability(self, value)

    def set_prior_seed(self, seed):
        return _CosmoBolognaLib.BaseParameter_set_prior_seed(self, seed)

    def prior_sample(self, *args):
        return _CosmoBolognaLib.BaseParameter_prior_sample(self, *args)

    def prior_range(self, epsilon=1.):
        return _CosmoBolognaLib.BaseParameter_prior_range(self, epsilon)

    def set_posterior(self, *args):
        return _CosmoBolognaLib.BaseParameter_set_posterior(self, *args)
BaseParameter_swigregister = _CosmoBolognaLib.BaseParameter_swigregister
BaseParameter_swigregister(BaseParameter)

class DerivedParameter(Parameter):
    __swig_setmethods__ = {}
    for _s in [Parameter]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, DerivedParameter, name, value)
    __swig_getmethods__ = {}
    for _s in [Parameter]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, DerivedParameter, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_DerivedParameter(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_DerivedParameter
    __del__ = lambda self: None

    def set_posterior(self, *args):
        return _CosmoBolognaLib.DerivedParameter_set_posterior(self, *args)
DerivedParameter_swigregister = _CosmoBolognaLib.DerivedParameter_swigregister
DerivedParameter_swigregister(DerivedParameter)

class LikelihoodParameters(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, LikelihoodParameters, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, LikelihoodParameters, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_LikelihoodParameters(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_LikelihoodParameters
    __del__ = lambda self: None

    def nparameters(self):
        return _CosmoBolognaLib.LikelihoodParameters_nparameters(self)

    def nparameters_free(self):
        return _CosmoBolognaLib.LikelihoodParameters_nparameters_free(self)

    def full_parameters(self, free_parameter_values):
        return _CosmoBolognaLib.LikelihoodParameters_full_parameters(self, free_parameter_values)

    def nparameters_fixed(self):
        return _CosmoBolognaLib.LikelihoodParameters_nparameters_fixed(self)

    def nparameters_output(self):
        return _CosmoBolognaLib.LikelihoodParameters_nparameters_output(self)

    def parameter(self, i):
        return _CosmoBolognaLib.LikelihoodParameters_parameter(self, i)

    def parameters(self):
        return _CosmoBolognaLib.LikelihoodParameters_parameters(self)

    def set_parameters(self, parameters):
        return _CosmoBolognaLib.LikelihoodParameters_set_parameters(self, parameters)

    def parameter_covariance(self, *args):
        return _CosmoBolognaLib.LikelihoodParameters_parameter_covariance(self, *args)

    def chain_size(self):
        return _CosmoBolognaLib.LikelihoodParameters_chain_size(self)

    def nwalkers(self):
        return _CosmoBolognaLib.LikelihoodParameters_nwalkers(self)

    def free(self, p):
        return _CosmoBolognaLib.LikelihoodParameters_free(self, p)

    def fix(self, *args):
        return _CosmoBolognaLib.LikelihoodParameters_fix(self, *args)

    def fix_at_bestfit(self, p):
        return _CosmoBolognaLib.LikelihoodParameters_fix_at_bestfit(self, p)

    def PriorProbability(self, *args):
        return _CosmoBolognaLib.LikelihoodParameters_PriorProbability(self, *args)

    def LogPriorProbability(self, *args):
        return _CosmoBolognaLib.LikelihoodParameters_LogPriorProbability(self, *args)

    def set_prior_seed(self, seed):
        return _CosmoBolognaLib.LikelihoodParameters_set_prior_seed(self, seed)

    def prior_sample(self, *args):
        return _CosmoBolognaLib.LikelihoodParameters_prior_sample(self, *args)

    def prior_range(self, *args):
        return _CosmoBolognaLib.LikelihoodParameters_prior_range(self, *args)

    def bestfit_value(self, p):
        return _CosmoBolognaLib.LikelihoodParameters_bestfit_value(self, p)

    def bestfit_values(self):
        return _CosmoBolognaLib.LikelihoodParameters_bestfit_values(self)

    def set_bestfit_value(self, *args):
        return _CosmoBolognaLib.LikelihoodParameters_set_bestfit_value(self, *args)

    def write_bestfit_info(self, bestfit_value):
        return _CosmoBolognaLib.LikelihoodParameters_write_bestfit_info(self, bestfit_value)

    def PosteriorProbability(self, *args):
        return _CosmoBolognaLib.LikelihoodParameters_PosteriorProbability(self, *args)

    def posterior_mean(self, *args):
        return _CosmoBolognaLib.LikelihoodParameters_posterior_mean(self, *args)

    def posterior_median(self, *args):
        return _CosmoBolognaLib.LikelihoodParameters_posterior_median(self, *args)

    def posterior_std(self, *args):
        return _CosmoBolognaLib.LikelihoodParameters_posterior_std(self, *args)

    def posterior_percentile(self, *args):
        return _CosmoBolognaLib.LikelihoodParameters_posterior_percentile(self, *args)

    def posterior_sample(self, *args):
        return _CosmoBolognaLib.LikelihoodParameters_posterior_sample(self, *args)

    def chain_value(self, pos, ww, par):
        return _CosmoBolognaLib.LikelihoodParameters_chain_value(self, pos, ww, par)

    def chain_values(self, *args):
        return _CosmoBolognaLib.LikelihoodParameters_chain_values(self, *args)

    def set_chain_value(self, pos, ww, par, value):
        return _CosmoBolognaLib.LikelihoodParameters_set_chain_value(self, pos, ww, par, value)

    def set_chain_values(self, *args):
        return _CosmoBolognaLib.LikelihoodParameters_set_chain_values(self, *args)

    def set_chains(self, *args):
        return _CosmoBolognaLib.LikelihoodParameters_set_chains(self, *args)

    def initialize_chains_from_prior(self, seed):
        return _CosmoBolognaLib.LikelihoodParameters_initialize_chains_from_prior(self, seed)

    def initialize_chains_around_bestfit_values(self, radius, seed):
        return _CosmoBolognaLib.LikelihoodParameters_initialize_chains_around_bestfit_values(self, radius, seed)

    def initialize_chains_around_values(self, values, radius, seed):
        return _CosmoBolognaLib.LikelihoodParameters_initialize_chains_around_values(self, values, radius, seed)

    def show_results(self, start, thin, seed=34121):
        return _CosmoBolognaLib.LikelihoodParameters_show_results(self, start, thin, seed)

    def write_results(self, dir, file, start, thin, seed=34121):
        return _CosmoBolognaLib.LikelihoodParameters_write_results(self, dir, file, start, thin, seed)
LikelihoodParameters_swigregister = _CosmoBolognaLib.LikelihoodParameters_swigregister
LikelihoodParameters_swigregister(LikelihoodParameters)

class Sampler(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Sampler, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Sampler, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Sampler(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Sampler
    __del__ = lambda self: None

    def __call__(self, pp):
        return _CosmoBolognaLib.Sampler___call__(self, pp)

    def get_chain(self, *args):
        return _CosmoBolognaLib.Sampler_get_chain(self, *args)

    def get_function(self, chain, step):
        return _CosmoBolognaLib.Sampler_get_function(self, chain, step)

    def get_chain_function_acceptance(self, chains, function, acceptance, start=0, thin=1):
        return _CosmoBolognaLib.Sampler_get_chain_function_acceptance(self, chains, function, acceptance, start, thin)

    def set_chain(self, npar, npar_free, chain_size, nwalkers):
        return _CosmoBolognaLib.Sampler_set_chain(self, npar, npar_free, chain_size, nwalkers)

    def set_function(self, function):
        return _CosmoBolognaLib.Sampler_set_function(self, function)

    def sample_stretch_move(self, chain_size, nwalkers, start, seed=4241, aa=2):
        return _CosmoBolognaLib.Sampler_sample_stretch_move(self, chain_size, nwalkers, start, seed, aa)

    def sample_stretch_move_parallel(self, chain_size, nwalkers, start, seed=4241, aa=2):
        return _CosmoBolognaLib.Sampler_sample_stretch_move_parallel(self, chain_size, nwalkers, start, seed, aa)

    def write_chain(self, dir_output, file, start, thin):
        return _CosmoBolognaLib.Sampler_write_chain(self, dir_output, file, start, thin)
Sampler_swigregister = _CosmoBolognaLib.Sampler_swigregister
Sampler_swigregister(Sampler)


_CosmoBolognaLib._Likelihood_NotSet__swigconstant(_CosmoBolognaLib)
_Likelihood_NotSet_ = _CosmoBolognaLib._Likelihood_NotSet_

_CosmoBolognaLib._GaussianLikelihood_Error__swigconstant(_CosmoBolognaLib)
_GaussianLikelihood_Error_ = _CosmoBolognaLib._GaussianLikelihood_Error_

_CosmoBolognaLib._GaussianLikelihood_Covariance__swigconstant(_CosmoBolognaLib)
_GaussianLikelihood_Covariance_ = _CosmoBolognaLib._GaussianLikelihood_Covariance_

_CosmoBolognaLib._UserDefinedLikelihood__swigconstant(_CosmoBolognaLib)
_UserDefinedLikelihood_ = _CosmoBolognaLib._UserDefinedLikelihood_
class STR_likelihood_parameters(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, STR_likelihood_parameters, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, STR_likelihood_parameters, name)
    __repr__ = _swig_repr
    __swig_setmethods__["data"] = _CosmoBolognaLib.STR_likelihood_parameters_data_set
    __swig_getmethods__["data"] = _CosmoBolognaLib.STR_likelihood_parameters_data_get
    if _newclass:
        data = _swig_property(_CosmoBolognaLib.STR_likelihood_parameters_data_get, _CosmoBolognaLib.STR_likelihood_parameters_data_set)
    __swig_setmethods__["model"] = _CosmoBolognaLib.STR_likelihood_parameters_model_set
    __swig_getmethods__["model"] = _CosmoBolognaLib.STR_likelihood_parameters_model_get
    if _newclass:
        model = _swig_property(_CosmoBolognaLib.STR_likelihood_parameters_model_get, _CosmoBolognaLib.STR_likelihood_parameters_model_set)
    __swig_setmethods__["x_index"] = _CosmoBolognaLib.STR_likelihood_parameters_x_index_set
    __swig_getmethods__["x_index"] = _CosmoBolognaLib.STR_likelihood_parameters_x_index_get
    if _newclass:
        x_index = _swig_property(_CosmoBolognaLib.STR_likelihood_parameters_x_index_get, _CosmoBolognaLib.STR_likelihood_parameters_x_index_set)

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_STR_likelihood_parameters(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_STR_likelihood_parameters
    __del__ = lambda self: None
STR_likelihood_parameters_swigregister = _CosmoBolognaLib.STR_likelihood_parameters_swigregister
STR_likelihood_parameters_swigregister(STR_likelihood_parameters)


def LogLikelihood_Gaussian_1D_error(likelihood_parameters, inputs):
    return _CosmoBolognaLib.LogLikelihood_Gaussian_1D_error(likelihood_parameters, inputs)
LogLikelihood_Gaussian_1D_error = _CosmoBolognaLib.LogLikelihood_Gaussian_1D_error

def LogLikelihood_Gaussian_1D_covariance(likelihood_parameters, inputs):
    return _CosmoBolognaLib.LogLikelihood_Gaussian_1D_covariance(likelihood_parameters, inputs)
LogLikelihood_Gaussian_1D_covariance = _CosmoBolognaLib.LogLikelihood_Gaussian_1D_covariance

def LogLikelihood_Gaussian_2D_error(likelihood_parameters, inputs):
    return _CosmoBolognaLib.LogLikelihood_Gaussian_2D_error(likelihood_parameters, inputs)
LogLikelihood_Gaussian_2D_error = _CosmoBolognaLib.LogLikelihood_Gaussian_2D_error
class Likelihood(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Likelihood, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Likelihood, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Likelihood(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Likelihood
    __del__ = lambda self: None

    def prior(self, pp):
        return _CosmoBolognaLib.Likelihood_prior(self, pp)

    def log_prior(self, pp):
        return _CosmoBolognaLib.Likelihood_log_prior(self, pp)

    def likelihood(self, pp):
        return _CosmoBolognaLib.Likelihood_likelihood(self, pp)

    def log_likelihood(self, pp):
        return _CosmoBolognaLib.Likelihood_log_likelihood(self, pp)

    def likelihood_and_priors(self, pp):
        return _CosmoBolognaLib.Likelihood_likelihood_and_priors(self, pp)

    def log_likelihood_and_priors(self, pp):
        return _CosmoBolognaLib.Likelihood_log_likelihood_and_priors(self, pp)

    def set_data(self, data):
        return _CosmoBolognaLib.Likelihood_set_data(self, data)

    def set_model(self, model):
        return _CosmoBolognaLib.Likelihood_set_model(self, model)

    def set_parameters(self, parameters):
        return _CosmoBolognaLib.Likelihood_set_parameters(self, parameters)

    def set_likelihood_function(self, *args):
        return _CosmoBolognaLib.Likelihood_set_likelihood_function(self, *args)

    def maximize(self, *args):
        return _CosmoBolognaLib.Likelihood_maximize(self, *args)

    def sample_stretch_move(self, seed, aa=2):
        return _CosmoBolognaLib.Likelihood_sample_stretch_move(self, seed, aa)

    def sample_stretch_move_parallel(self, seed, aa=2):
        return _CosmoBolognaLib.Likelihood_sample_stretch_move_parallel(self, seed, aa)

    def sample_tabulated_likelihood(self, *args):
        return _CosmoBolognaLib.Likelihood_sample_tabulated_likelihood(self, *args)

    def write_chain(self, output_dir, output_file, start, thin=1):
        return _CosmoBolognaLib.Likelihood_write_chain(self, output_dir, output_file, start, thin)

    def write_chain_FITS(self, output_dir, output_file, table_name, burn_in=0, thin=1):
        return _CosmoBolognaLib.Likelihood_write_chain_FITS(self, output_dir, output_file, table_name, burn_in, thin)

    def read_chain(self, output_dir, output_file, nwalkers, skip_header):
        return _CosmoBolognaLib.Likelihood_read_chain(self, output_dir, output_file, nwalkers, skip_header)

    def read_chain_FITS(self, output_dir, output_file, table_name, burn_in=0, thin=1):
        return _CosmoBolognaLib.Likelihood_read_chain_FITS(self, output_dir, output_file, table_name, burn_in, thin)

    def initialize_chains(self, *args):
        return _CosmoBolognaLib.Likelihood_initialize_chains(self, *args)

    def show_results(self, start, thin, seed):
        return _CosmoBolognaLib.Likelihood_show_results(self, start, thin, seed)

    def write_results(self, dir, output, start, thin, seed):
        return _CosmoBolognaLib.Likelihood_write_results(self, dir, output, start, thin, seed)
Likelihood_swigregister = _CosmoBolognaLib.Likelihood_swigregister
Likelihood_swigregister(Likelihood)

class PriorVector(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, PriorVector, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, PriorVector, name)
    __repr__ = _swig_repr

    def iterator(self):
        return _CosmoBolognaLib.PriorVector_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _CosmoBolognaLib.PriorVector___nonzero__(self)

    def __bool__(self):
        return _CosmoBolognaLib.PriorVector___bool__(self)

    def __len__(self):
        return _CosmoBolognaLib.PriorVector___len__(self)

    def __getslice__(self, i, j):
        return _CosmoBolognaLib.PriorVector___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _CosmoBolognaLib.PriorVector___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _CosmoBolognaLib.PriorVector___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _CosmoBolognaLib.PriorVector___delitem__(self, *args)

    def __getitem__(self, *args):
        return _CosmoBolognaLib.PriorVector___getitem__(self, *args)

    def __setitem__(self, *args):
        return _CosmoBolognaLib.PriorVector___setitem__(self, *args)

    def pop(self):
        return _CosmoBolognaLib.PriorVector_pop(self)

    def append(self, x):
        return _CosmoBolognaLib.PriorVector_append(self, x)

    def empty(self):
        return _CosmoBolognaLib.PriorVector_empty(self)

    def size(self):
        return _CosmoBolognaLib.PriorVector_size(self)

    def swap(self, v):
        return _CosmoBolognaLib.PriorVector_swap(self, v)

    def begin(self):
        return _CosmoBolognaLib.PriorVector_begin(self)

    def end(self):
        return _CosmoBolognaLib.PriorVector_end(self)

    def rbegin(self):
        return _CosmoBolognaLib.PriorVector_rbegin(self)

    def rend(self):
        return _CosmoBolognaLib.PriorVector_rend(self)

    def clear(self):
        return _CosmoBolognaLib.PriorVector_clear(self)

    def get_allocator(self):
        return _CosmoBolognaLib.PriorVector_get_allocator(self)

    def pop_back(self):
        return _CosmoBolognaLib.PriorVector_pop_back(self)

    def erase(self, *args):
        return _CosmoBolognaLib.PriorVector_erase(self, *args)

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_PriorVector(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this

    def push_back(self, x):
        return _CosmoBolognaLib.PriorVector_push_back(self, x)

    def front(self):
        return _CosmoBolognaLib.PriorVector_front(self)

    def back(self):
        return _CosmoBolognaLib.PriorVector_back(self)

    def assign(self, n, x):
        return _CosmoBolognaLib.PriorVector_assign(self, n, x)

    def resize(self, *args):
        return _CosmoBolognaLib.PriorVector_resize(self, *args)

    def insert(self, *args):
        return _CosmoBolognaLib.PriorVector_insert(self, *args)

    def reserve(self, n):
        return _CosmoBolognaLib.PriorVector_reserve(self, n)

    def capacity(self):
        return _CosmoBolognaLib.PriorVector_capacity(self)
    __swig_destroy__ = _CosmoBolognaLib.delete_PriorVector
    __del__ = lambda self: None
PriorVector_swigregister = _CosmoBolognaLib.PriorVector_swigregister
PriorVector_swigregister(PriorVector)

class ParameterVector(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, ParameterVector, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, ParameterVector, name)
    __repr__ = _swig_repr

    def iterator(self):
        return _CosmoBolognaLib.ParameterVector_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _CosmoBolognaLib.ParameterVector___nonzero__(self)

    def __bool__(self):
        return _CosmoBolognaLib.ParameterVector___bool__(self)

    def __len__(self):
        return _CosmoBolognaLib.ParameterVector___len__(self)

    def __getslice__(self, i, j):
        return _CosmoBolognaLib.ParameterVector___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _CosmoBolognaLib.ParameterVector___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _CosmoBolognaLib.ParameterVector___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _CosmoBolognaLib.ParameterVector___delitem__(self, *args)

    def __getitem__(self, *args):
        return _CosmoBolognaLib.ParameterVector___getitem__(self, *args)

    def __setitem__(self, *args):
        return _CosmoBolognaLib.ParameterVector___setitem__(self, *args)

    def pop(self):
        return _CosmoBolognaLib.ParameterVector_pop(self)

    def append(self, x):
        return _CosmoBolognaLib.ParameterVector_append(self, x)

    def empty(self):
        return _CosmoBolognaLib.ParameterVector_empty(self)

    def size(self):
        return _CosmoBolognaLib.ParameterVector_size(self)

    def swap(self, v):
        return _CosmoBolognaLib.ParameterVector_swap(self, v)

    def begin(self):
        return _CosmoBolognaLib.ParameterVector_begin(self)

    def end(self):
        return _CosmoBolognaLib.ParameterVector_end(self)

    def rbegin(self):
        return _CosmoBolognaLib.ParameterVector_rbegin(self)

    def rend(self):
        return _CosmoBolognaLib.ParameterVector_rend(self)

    def clear(self):
        return _CosmoBolognaLib.ParameterVector_clear(self)

    def get_allocator(self):
        return _CosmoBolognaLib.ParameterVector_get_allocator(self)

    def pop_back(self):
        return _CosmoBolognaLib.ParameterVector_pop_back(self)

    def erase(self, *args):
        return _CosmoBolognaLib.ParameterVector_erase(self, *args)

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_ParameterVector(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this

    def push_back(self, x):
        return _CosmoBolognaLib.ParameterVector_push_back(self, x)

    def front(self):
        return _CosmoBolognaLib.ParameterVector_front(self)

    def back(self):
        return _CosmoBolognaLib.ParameterVector_back(self)

    def assign(self, n, x):
        return _CosmoBolognaLib.ParameterVector_assign(self, n, x)

    def resize(self, *args):
        return _CosmoBolognaLib.ParameterVector_resize(self, *args)

    def insert(self, *args):
        return _CosmoBolognaLib.ParameterVector_insert(self, *args)

    def reserve(self, n):
        return _CosmoBolognaLib.ParameterVector_reserve(self, n)

    def capacity(self):
        return _CosmoBolognaLib.ParameterVector_capacity(self)
    __swig_destroy__ = _CosmoBolognaLib.delete_ParameterVector
    __del__ = lambda self: None
ParameterVector_swigregister = _CosmoBolognaLib.ParameterVector_swigregister
ParameterVector_swigregister(ParameterVector)

class BaseParameterVector(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, BaseParameterVector, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, BaseParameterVector, name)
    __repr__ = _swig_repr

    def iterator(self):
        return _CosmoBolognaLib.BaseParameterVector_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _CosmoBolognaLib.BaseParameterVector___nonzero__(self)

    def __bool__(self):
        return _CosmoBolognaLib.BaseParameterVector___bool__(self)

    def __len__(self):
        return _CosmoBolognaLib.BaseParameterVector___len__(self)

    def __getslice__(self, i, j):
        return _CosmoBolognaLib.BaseParameterVector___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _CosmoBolognaLib.BaseParameterVector___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _CosmoBolognaLib.BaseParameterVector___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _CosmoBolognaLib.BaseParameterVector___delitem__(self, *args)

    def __getitem__(self, *args):
        return _CosmoBolognaLib.BaseParameterVector___getitem__(self, *args)

    def __setitem__(self, *args):
        return _CosmoBolognaLib.BaseParameterVector___setitem__(self, *args)

    def pop(self):
        return _CosmoBolognaLib.BaseParameterVector_pop(self)

    def append(self, x):
        return _CosmoBolognaLib.BaseParameterVector_append(self, x)

    def empty(self):
        return _CosmoBolognaLib.BaseParameterVector_empty(self)

    def size(self):
        return _CosmoBolognaLib.BaseParameterVector_size(self)

    def swap(self, v):
        return _CosmoBolognaLib.BaseParameterVector_swap(self, v)

    def begin(self):
        return _CosmoBolognaLib.BaseParameterVector_begin(self)

    def end(self):
        return _CosmoBolognaLib.BaseParameterVector_end(self)

    def rbegin(self):
        return _CosmoBolognaLib.BaseParameterVector_rbegin(self)

    def rend(self):
        return _CosmoBolognaLib.BaseParameterVector_rend(self)

    def clear(self):
        return _CosmoBolognaLib.BaseParameterVector_clear(self)

    def get_allocator(self):
        return _CosmoBolognaLib.BaseParameterVector_get_allocator(self)

    def pop_back(self):
        return _CosmoBolognaLib.BaseParameterVector_pop_back(self)

    def erase(self, *args):
        return _CosmoBolognaLib.BaseParameterVector_erase(self, *args)

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_BaseParameterVector(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this

    def push_back(self, x):
        return _CosmoBolognaLib.BaseParameterVector_push_back(self, x)

    def front(self):
        return _CosmoBolognaLib.BaseParameterVector_front(self)

    def back(self):
        return _CosmoBolognaLib.BaseParameterVector_back(self)

    def assign(self, n, x):
        return _CosmoBolognaLib.BaseParameterVector_assign(self, n, x)

    def resize(self, *args):
        return _CosmoBolognaLib.BaseParameterVector_resize(self, *args)

    def insert(self, *args):
        return _CosmoBolognaLib.BaseParameterVector_insert(self, *args)

    def reserve(self, n):
        return _CosmoBolognaLib.BaseParameterVector_reserve(self, n)

    def capacity(self):
        return _CosmoBolognaLib.BaseParameterVector_capacity(self)
    __swig_destroy__ = _CosmoBolognaLib.delete_BaseParameterVector
    __del__ = lambda self: None
BaseParameterVector_swigregister = _CosmoBolognaLib.BaseParameterVector_swigregister
BaseParameterVector_swigregister(BaseParameterVector)

class DerivedParameterVector(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, DerivedParameterVector, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, DerivedParameterVector, name)
    __repr__ = _swig_repr

    def iterator(self):
        return _CosmoBolognaLib.DerivedParameterVector_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _CosmoBolognaLib.DerivedParameterVector___nonzero__(self)

    def __bool__(self):
        return _CosmoBolognaLib.DerivedParameterVector___bool__(self)

    def __len__(self):
        return _CosmoBolognaLib.DerivedParameterVector___len__(self)

    def __getslice__(self, i, j):
        return _CosmoBolognaLib.DerivedParameterVector___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _CosmoBolognaLib.DerivedParameterVector___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _CosmoBolognaLib.DerivedParameterVector___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _CosmoBolognaLib.DerivedParameterVector___delitem__(self, *args)

    def __getitem__(self, *args):
        return _CosmoBolognaLib.DerivedParameterVector___getitem__(self, *args)

    def __setitem__(self, *args):
        return _CosmoBolognaLib.DerivedParameterVector___setitem__(self, *args)

    def pop(self):
        return _CosmoBolognaLib.DerivedParameterVector_pop(self)

    def append(self, x):
        return _CosmoBolognaLib.DerivedParameterVector_append(self, x)

    def empty(self):
        return _CosmoBolognaLib.DerivedParameterVector_empty(self)

    def size(self):
        return _CosmoBolognaLib.DerivedParameterVector_size(self)

    def swap(self, v):
        return _CosmoBolognaLib.DerivedParameterVector_swap(self, v)

    def begin(self):
        return _CosmoBolognaLib.DerivedParameterVector_begin(self)

    def end(self):
        return _CosmoBolognaLib.DerivedParameterVector_end(self)

    def rbegin(self):
        return _CosmoBolognaLib.DerivedParameterVector_rbegin(self)

    def rend(self):
        return _CosmoBolognaLib.DerivedParameterVector_rend(self)

    def clear(self):
        return _CosmoBolognaLib.DerivedParameterVector_clear(self)

    def get_allocator(self):
        return _CosmoBolognaLib.DerivedParameterVector_get_allocator(self)

    def pop_back(self):
        return _CosmoBolognaLib.DerivedParameterVector_pop_back(self)

    def erase(self, *args):
        return _CosmoBolognaLib.DerivedParameterVector_erase(self, *args)

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_DerivedParameterVector(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this

    def push_back(self, x):
        return _CosmoBolognaLib.DerivedParameterVector_push_back(self, x)

    def front(self):
        return _CosmoBolognaLib.DerivedParameterVector_front(self)

    def back(self):
        return _CosmoBolognaLib.DerivedParameterVector_back(self)

    def assign(self, n, x):
        return _CosmoBolognaLib.DerivedParameterVector_assign(self, n, x)

    def resize(self, *args):
        return _CosmoBolognaLib.DerivedParameterVector_resize(self, *args)

    def insert(self, *args):
        return _CosmoBolognaLib.DerivedParameterVector_insert(self, *args)

    def reserve(self, n):
        return _CosmoBolognaLib.DerivedParameterVector_reserve(self, n)

    def capacity(self):
        return _CosmoBolognaLib.DerivedParameterVector_capacity(self)
    __swig_destroy__ = _CosmoBolognaLib.delete_DerivedParameterVector
    __del__ = lambda self: None
DerivedParameterVector_swigregister = _CosmoBolognaLib.DerivedParameterVector_swigregister
DerivedParameterVector_swigregister(DerivedParameterVector)


_CosmoBolognaLib._WMAP5__swigconstant(_CosmoBolognaLib)
_WMAP5_ = _CosmoBolognaLib._WMAP5_

_CosmoBolognaLib._WMAP7__swigconstant(_CosmoBolognaLib)
_WMAP7_ = _CosmoBolognaLib._WMAP7_

_CosmoBolognaLib._WMAP9__swigconstant(_CosmoBolognaLib)
_WMAP9_ = _CosmoBolognaLib._WMAP9_

_CosmoBolognaLib._Planck13__swigconstant(_CosmoBolognaLib)
_Planck13_ = _CosmoBolognaLib._Planck13_

_CosmoBolognaLib._Planck15__swigconstant(_CosmoBolognaLib)
_Planck15_ = _CosmoBolognaLib._Planck15_

_CosmoBolognaLib._Planck15_TT__swigconstant(_CosmoBolognaLib)
_Planck15_TT_ = _CosmoBolognaLib._Planck15_TT_

_CosmoBolognaLib._Omega_matter_LCDM__swigconstant(_CosmoBolognaLib)
_Omega_matter_LCDM_ = _CosmoBolognaLib._Omega_matter_LCDM_

_CosmoBolognaLib._Omega_matter__swigconstant(_CosmoBolognaLib)
_Omega_matter_ = _CosmoBolognaLib._Omega_matter_

_CosmoBolognaLib._Omega_baryon__swigconstant(_CosmoBolognaLib)
_Omega_baryon_ = _CosmoBolognaLib._Omega_baryon_

_CosmoBolognaLib._Omega_baryon_h2__swigconstant(_CosmoBolognaLib)
_Omega_baryon_h2_ = _CosmoBolognaLib._Omega_baryon_h2_

_CosmoBolognaLib._Omega_neutrinos__swigconstant(_CosmoBolognaLib)
_Omega_neutrinos_ = _CosmoBolognaLib._Omega_neutrinos_

_CosmoBolognaLib._massless_neutrinos__swigconstant(_CosmoBolognaLib)
_massless_neutrinos_ = _CosmoBolognaLib._massless_neutrinos_

_CosmoBolognaLib._massive_neutrinos__swigconstant(_CosmoBolognaLib)
_massive_neutrinos_ = _CosmoBolognaLib._massive_neutrinos_

_CosmoBolognaLib._neutrino_mass__swigconstant(_CosmoBolognaLib)
_neutrino_mass_ = _CosmoBolognaLib._neutrino_mass_

_CosmoBolognaLib._Omega_DE__swigconstant(_CosmoBolognaLib)
_Omega_DE_ = _CosmoBolognaLib._Omega_DE_

_CosmoBolognaLib._Omega_radiation__swigconstant(_CosmoBolognaLib)
_Omega_radiation_ = _CosmoBolognaLib._Omega_radiation_

_CosmoBolognaLib._H0__swigconstant(_CosmoBolognaLib)
_H0_ = _CosmoBolognaLib._H0_

_CosmoBolognaLib._hh__swigconstant(_CosmoBolognaLib)
_hh_ = _CosmoBolognaLib._hh_

_CosmoBolognaLib._scalar_amp__swigconstant(_CosmoBolognaLib)
_scalar_amp_ = _CosmoBolognaLib._scalar_amp_

_CosmoBolognaLib._ln_scalar_amp__swigconstant(_CosmoBolognaLib)
_ln_scalar_amp_ = _CosmoBolognaLib._ln_scalar_amp_

_CosmoBolognaLib._scalar_pivot__swigconstant(_CosmoBolognaLib)
_scalar_pivot_ = _CosmoBolognaLib._scalar_pivot_

_CosmoBolognaLib._n_spec__swigconstant(_CosmoBolognaLib)
_n_spec_ = _CosmoBolognaLib._n_spec_

_CosmoBolognaLib._w0__swigconstant(_CosmoBolognaLib)
_w0_ = _CosmoBolognaLib._w0_

_CosmoBolognaLib._wa__swigconstant(_CosmoBolognaLib)
_wa_ = _CosmoBolognaLib._wa_

_CosmoBolognaLib._fNL__swigconstant(_CosmoBolognaLib)
_fNL_ = _CosmoBolognaLib._fNL_

_CosmoBolognaLib._sigma8__swigconstant(_CosmoBolognaLib)
_sigma8_ = _CosmoBolognaLib._sigma8_

_CosmoBolognaLib._tau__swigconstant(_CosmoBolognaLib)
_tau_ = _CosmoBolognaLib._tau_

_CosmoBolognaLib._rs__swigconstant(_CosmoBolognaLib)
_rs_ = _CosmoBolognaLib._rs_

def CosmoPar_name(parameter):
    return _CosmoBolognaLib.CosmoPar_name(parameter)
CosmoPar_name = _CosmoBolognaLib.CosmoPar_name
class Cosmology(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Cosmology, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Cosmology, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Cosmology(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Cosmology
    __del__ = lambda self: None

    def value(self, parameter):
        return _CosmoBolognaLib.Cosmology_value(self, parameter)

    def Omega_matter(self):
        return _CosmoBolognaLib.Cosmology_Omega_matter(self)

    def Omega_baryon(self):
        return _CosmoBolognaLib.Cosmology_Omega_baryon(self)

    def massless_neutrinos(self):
        return _CosmoBolognaLib.Cosmology_massless_neutrinos(self)

    def massive_neutrinos(self):
        return _CosmoBolognaLib.Cosmology_massive_neutrinos(self)

    def Omega_DE(self):
        return _CosmoBolognaLib.Cosmology_Omega_DE(self)

    def Omega_radiation(self):
        return _CosmoBolognaLib.Cosmology_Omega_radiation(self)

    def Omega_k(self):
        return _CosmoBolognaLib.Cosmology_Omega_k(self)

    def Omega_CDM(self):
        return _CosmoBolognaLib.Cosmology_Omega_CDM(self)

    def H0(self):
        return _CosmoBolognaLib.Cosmology_H0(self)

    def hh(self):
        return _CosmoBolognaLib.Cosmology_hh(self)

    def t_H(self):
        return _CosmoBolognaLib.Cosmology_t_H(self)

    def D_H(self):
        return _CosmoBolognaLib.Cosmology_D_H(self)

    def scalar_amp(self):
        return _CosmoBolognaLib.Cosmology_scalar_amp(self)

    def scalar_pivot(self):
        return _CosmoBolognaLib.Cosmology_scalar_pivot(self)

    def n_spec(self):
        return _CosmoBolognaLib.Cosmology_n_spec(self)

    def w0(self):
        return _CosmoBolognaLib.Cosmology_w0(self)

    def wa(self):
        return _CosmoBolognaLib.Cosmology_wa(self)

    def RhoZero(self):
        return _CosmoBolognaLib.Cosmology_RhoZero(self)

    def fNL(self):
        return _CosmoBolognaLib.Cosmology_fNL(self)

    def type_NG(self):
        return _CosmoBolognaLib.Cosmology_type_NG(self)

    def tau(self):
        return _CosmoBolognaLib.Cosmology_tau(self)

    def Pk0_EH(self):
        return _CosmoBolognaLib.Cosmology_Pk0_EH(self)

    def Pk0_CAMB(self):
        return _CosmoBolognaLib.Cosmology_Pk0_CAMB(self)

    def Pk0_MPTbreeze(self):
        return _CosmoBolognaLib.Cosmology_Pk0_MPTbreeze(self)

    def Pk0_CLASS(self):
        return _CosmoBolognaLib.Cosmology_Pk0_CLASS(self)

    def model(self):
        return _CosmoBolognaLib.Cosmology_model(self)

    def unit(self):
        return _CosmoBolognaLib.Cosmology_unit(self)

    def print_parameters(self):
        return _CosmoBolognaLib.Cosmology_print_parameters(self)

    def set_parameter(self, parameter, value):
        return _CosmoBolognaLib.Cosmology_set_parameter(self, parameter, value)

    def set_parameters(self, parameter, value):
        return _CosmoBolognaLib.Cosmology_set_parameters(self, parameter, value)

    def set_Omega(self, Omega_matter=0.27):
        return _CosmoBolognaLib.Cosmology_set_Omega(self, Omega_matter)

    def set_OmegaB(self, Omega_baryon=0.046):
        return _CosmoBolognaLib.Cosmology_set_OmegaB(self, Omega_baryon)

    def set_OmegaB_h2(self, Omega_baryonh2=0.0222):
        return _CosmoBolognaLib.Cosmology_set_OmegaB_h2(self, Omega_baryonh2)

    def set_OmegaM(self, Omega_matter=0.27):
        return _CosmoBolognaLib.Cosmology_set_OmegaM(self, Omega_matter)

    def set_OmegaDE(self, Omega_DE=0.73):
        return _CosmoBolognaLib.Cosmology_set_OmegaDE(self, Omega_DE)

    def set_OmegaNu(self, Omega_neutrinos=0., massless_neutrinos=3.04, massive_neutrinos=0):
        return _CosmoBolognaLib.Cosmology_set_OmegaNu(self, Omega_neutrinos, massless_neutrinos, massive_neutrinos)

    def set_Omega_radiation(self, Omega_radiation):
        return _CosmoBolognaLib.Cosmology_set_Omega_radiation(self, Omega_radiation)

    def set_hh(self, hh=0.7, warn=True):
        return _CosmoBolognaLib.Cosmology_set_hh(self, hh, warn)

    def set_H0(self, H0=70., warn=True):
        return _CosmoBolognaLib.Cosmology_set_H0(self, H0, warn)

    def set_sigma8(self, sigma8=-1.):
        return _CosmoBolognaLib.Cosmology_set_sigma8(self, sigma8)

    def set_scalar_amp(self, scalar_amp=2.46e-9):
        return _CosmoBolognaLib.Cosmology_set_scalar_amp(self, scalar_amp)

    def set_scalar_pivot(self, scalar_pivot=0.05):
        return _CosmoBolognaLib.Cosmology_set_scalar_pivot(self, scalar_pivot)

    def set_n_spec(self, n_spec):
        return _CosmoBolognaLib.Cosmology_set_n_spec(self, n_spec)

    def set_w0(self, w0=-1.):
        return _CosmoBolognaLib.Cosmology_set_w0(self, w0)

    def set_wa(self, wa=0.):
        return _CosmoBolognaLib.Cosmology_set_wa(self, wa)

    def set_RhoZero(self, RhoZero=7.5e10):
        return _CosmoBolognaLib.Cosmology_set_RhoZero(self, RhoZero)

    def set_fNL(self, fNL=0.):
        return _CosmoBolognaLib.Cosmology_set_fNL(self, fNL)

    def set_type_NG(self, type_NG=1):
        return _CosmoBolognaLib.Cosmology_set_type_NG(self, type_NG)

    def set_tau(self, tau=0.09):
        return _CosmoBolognaLib.Cosmology_set_tau(self, tau)

    def set_rs(self, rs=-1):
        return _CosmoBolognaLib.Cosmology_set_rs(self, rs)

    def set_model(self, *args):
        return _CosmoBolognaLib.Cosmology_set_model(self, *args)

    def set_unit(self, unit=True):
        return _CosmoBolognaLib.Cosmology_set_unit(self, unit)

    def OmegaM(self, redshift=0.):
        return _CosmoBolognaLib.Cosmology_OmegaM(self, redshift)

    def OmegaDE(self, redshift=0.):
        return _CosmoBolognaLib.Cosmology_OmegaDE(self, redshift)

    def OmegaR(self, redshift=0.):
        return _CosmoBolognaLib.Cosmology_OmegaR(self, redshift)

    def OmegaNu(self, redshift=0.):
        return _CosmoBolognaLib.Cosmology_OmegaNu(self, redshift)

    def OmegaK(self, redshift=0.):
        return _CosmoBolognaLib.Cosmology_OmegaK(self, redshift)

    def Omega(self, redshift=0.):
        return _CosmoBolognaLib.Cosmology_Omega(self, redshift)

    def Omega_neutrinos(self, *args):
        return _CosmoBolognaLib.Cosmology_Omega_neutrinos(self, *args)

    def neutrino_mass(self):
        return _CosmoBolognaLib.Cosmology_neutrino_mass(self)

    def rho_crit(self, redshift, unit1=False):
        return _CosmoBolognaLib.Cosmology_rho_crit(self, redshift, unit1)

    def rho_m(self, redshift=0., unit1=False, nu=False):
        return _CosmoBolognaLib.Cosmology_rho_m(self, redshift, unit1, nu)

    def Delta_c(self, *args):
        return _CosmoBolognaLib.Cosmology_Delta_c(self, *args)

    def Delta_vir(self, *args):
        return _CosmoBolognaLib.Cosmology_Delta_vir(self, *args)

    def M_vir(self, *args):
        return _CosmoBolognaLib.Cosmology_M_vir(self, *args)

    def r_vir(self, *args):
        return _CosmoBolognaLib.Cosmology_r_vir(self, *args)

    def w_CPL(self, redshift=0.):
        return _CosmoBolognaLib.Cosmology_w_CPL(self, redshift)

    def f_DE(self, redshift=0.):
        return _CosmoBolognaLib.Cosmology_f_DE(self, redshift)

    def EE(self, redshift=0.):
        return _CosmoBolognaLib.Cosmology_EE(self, redshift)

    def EE_inv(self, redshift=0.):
        return _CosmoBolognaLib.Cosmology_EE_inv(self, redshift)

    def EE_inv2(self, redshift=0.):
        return _CosmoBolognaLib.Cosmology_EE_inv2(self, redshift)

    def EE_inv3(self, aa):
        return _CosmoBolognaLib.Cosmology_EE_inv3(self, aa)

    def HH(self, redshift=0.):
        return _CosmoBolognaLib.Cosmology_HH(self, redshift)

    def gg(self, redshift=0.):
        return _CosmoBolognaLib.Cosmology_gg(self, redshift)

    def DD(self, redshift=0.):
        return _CosmoBolognaLib.Cosmology_DD(self, redshift)

    def sigma8(self, *args):
        return _CosmoBolognaLib.Cosmology_sigma8(self, *args)

    def lookback_time(self, redshift=0.):
        return _CosmoBolognaLib.Cosmology_lookback_time(self, redshift)

    def cosmic_time(self, redshift=0.):
        return _CosmoBolognaLib.Cosmology_cosmic_time(self, redshift)

    def EE2(self, redshift=0.):
        return _CosmoBolognaLib.Cosmology_EE2(self, redshift)

    def qq(self, redshift=0.):
        return _CosmoBolognaLib.Cosmology_qq(self, redshift)

    def Hdot(self, redshift=0.):
        return _CosmoBolognaLib.Cosmology_Hdot(self, redshift)

    def z_decoupling(self):
        return _CosmoBolognaLib.Cosmology_z_decoupling(self)

    def z_drag(self):
        return _CosmoBolognaLib.Cosmology_z_drag(self)

    def z_acc(self):
        return _CosmoBolognaLib.Cosmology_z_acc(self)

    def z_eq(self):
        return _CosmoBolognaLib.Cosmology_z_eq(self)

    def sound_speed(self, redshift, T_CMB=2.7255):
        return _CosmoBolognaLib.Cosmology_sound_speed(self, redshift, T_CMB)

    def rs_integrand(self, redshift, T_CMB=2.7255):
        return _CosmoBolognaLib.Cosmology_rs_integrand(self, redshift, T_CMB)

    def Mag_Volume_limited(self, z_max=1., mag_lim=-20.):
        return _CosmoBolognaLib.Cosmology_Mag_Volume_limited(self, z_max, mag_lim)

    def Lum_bol(self, redshift=0., flux=1.):
        return _CosmoBolognaLib.Cosmology_Lum_bol(self, redshift, flux)

    def Redshift_LCDM(self, d_c=1., z1_guess=0., z2_guess=10., go_fast=1, prec=0.0001):
        return _CosmoBolognaLib.Cosmology_Redshift_LCDM(self, d_c, z1_guess, z2_guess, go_fast, prec)

    def Redshift(self, *args):
        return _CosmoBolognaLib.Cosmology_Redshift(self, *args)

    def Redshift_time(self, time, z1_guess, z2_guess):
        return _CosmoBolognaLib.Cosmology_Redshift_time(self, time, z1_guess, z2_guess)

    def deltac(self, redshift):
        return _CosmoBolognaLib.Cosmology_deltac(self, redshift)

    def deltav_L(self, bias=1., rho_vm=0.205):
        return _CosmoBolognaLib.Cosmology_deltav_L(self, bias, rho_vm)

    def deltav_NL(self, deltav=-2.71):
        return _CosmoBolognaLib.Cosmology_deltav_NL(self, deltav)

    def r_rL(self, deltav=-2.71):
        return _CosmoBolognaLib.Cosmology_r_rL(self, deltav)

    def D_C(self, redshift):
        return _CosmoBolognaLib.Cosmology_D_C(self, redshift)

    def D_C_LCDM(self, redshift):
        return _CosmoBolognaLib.Cosmology_D_C_LCDM(self, redshift)

    def D_C_table(self, file_table, z_min, z_max, step, Redshift, dc):
        return _CosmoBolognaLib.Cosmology_D_C_table(self, file_table, z_min, z_max, step, Redshift, dc)

    def D_M(self, redshift):
        return _CosmoBolognaLib.Cosmology_D_M(self, redshift)

    def D_A(self, redshift):
        return _CosmoBolognaLib.Cosmology_D_A(self, redshift)

    def D_L(self, redshift):
        return _CosmoBolognaLib.Cosmology_D_L(self, redshift)

    def D_V(self, redshift):
        return _CosmoBolognaLib.Cosmology_D_V(self, redshift)

    def F_AP(self, redshift):
        return _CosmoBolognaLib.Cosmology_F_AP(self, redshift)

    def Distance(self, redshift, distance_type):
        return _CosmoBolognaLib.Cosmology_Distance(self, redshift, distance_type)

    def Volume(self, *args):
        return _CosmoBolognaLib.Cosmology_Volume(self, *args)

    def max_redshift(self, Volume, Area, z_min):
        return _CosmoBolognaLib.Cosmology_max_redshift(self, Volume, Area, z_min)

    def dV_dZdOmega(self, redshift, angle_rad):
        return _CosmoBolognaLib.Cosmology_dV_dZdOmega(self, redshift, angle_rad)

    def create_grid_sigmaM(self, *args):
        return _CosmoBolognaLib.Cosmology_create_grid_sigmaM(self, *args)

    def mass_function_fast(self, *args):
        return _CosmoBolognaLib.Cosmology_mass_function_fast(self, *args)

    def mass_function(self, *args):
        return _CosmoBolognaLib.Cosmology_mass_function(self, *args)

    def n_haloes(self, *args):
        return _CosmoBolognaLib.Cosmology_n_haloes(self, *args)

    def n_haloes_selection_function(self, *args):
        return _CosmoBolognaLib.Cosmology_n_haloes_selection_function(self, *args)

    def mass_function_vector(self, *args):
        return _CosmoBolognaLib.Cosmology_mass_function_vector(self, *args)

    def mass_function_selection_function_vector(self, *args):
        return _CosmoBolognaLib.Cosmology_mass_function_selection_function_vector(self, *args)

    def redshift_distribution_haloes(self, *args):
        return _CosmoBolognaLib.Cosmology_redshift_distribution_haloes(self, *args)

    def redshift_distribution_haloes_selection_function(self, *args):
        return _CosmoBolognaLib.Cosmology_redshift_distribution_haloes_selection_function(self, *args)

    def mean_redshift_haloes_selection_function(self, *args):
        return _CosmoBolognaLib.Cosmology_mean_redshift_haloes_selection_function(self, *args)

    def MhaloMin(self, *args):
        return _CosmoBolognaLib.Cosmology_MhaloMin(self, *args)

    def pw(self, arg2, arg3, arg4):
        return _CosmoBolognaLib.Cosmology_pw(self, arg2, arg3, arg4)

    def pz(self, *args):
        return _CosmoBolognaLib.Cosmology_pz(self, *args)

    def cumPw(self, arg2, arg3, arg4):
        return _CosmoBolognaLib.Cosmology_cumPw(self, arg2, arg3, arg4)

    def medianwf(self, arg2, arg3, arg4):
        return _CosmoBolognaLib.Cosmology_medianwf(self, arg2, arg3, arg4)

    def medianzf(self, *args):
        return _CosmoBolognaLib.Cosmology_medianzf(self, *args)

    def wf(self, *args):
        return _CosmoBolognaLib.Cosmology_wf(self, *args)

    def unevolved_mass_function(self, mass_accr):
        return _CosmoBolognaLib.Cosmology_unevolved_mass_function(self, mass_accr)

    def As(self, sigma8):
        return _CosmoBolognaLib.Cosmology_As(self, sigma8)

    def sigma8_interpolated(self, redshift):
        return _CosmoBolognaLib.Cosmology_sigma8_interpolated(self, redshift)

    def Pk_output_file(self, *args):
        return _CosmoBolognaLib.Cosmology_Pk_output_file(self, *args)

    def run_CAMB(self, *args):
        return _CosmoBolognaLib.Cosmology_run_CAMB(self, *args)

    def Table_PkCodes(self, *args):
        return _CosmoBolognaLib.Cosmology_Table_PkCodes(self, *args)

    def Table_XiCodes(self, code, NL, rr, xi, redshift, output_root, k_max, file_par):
        return _CosmoBolognaLib.Cosmology_Table_XiCodes(self, code, NL, rr, xi, redshift, output_root, k_max, file_par)

    def Pk_0(self, *args):
        return _CosmoBolognaLib.Cosmology_Pk_0(self, *args)

    def Pk(self, *args):
        return _CosmoBolognaLib.Cosmology_Pk(self, *args)

    def Pk_Kaiser_multipoles(self, *args):
        return _CosmoBolognaLib.Cosmology_Pk_Kaiser_multipoles(self, *args)

    def Pk_DeWiggle(self, *args):
        return _CosmoBolognaLib.Cosmology_Pk_DeWiggle(self, *args)

    def sigma2R(self, *args):
        return _CosmoBolognaLib.Cosmology_sigma2R(self, *args)

    def sigma2M(self, *args):
        return _CosmoBolognaLib.Cosmology_sigma2M(self, *args)

    def dnsigma2R(self, *args):
        return _CosmoBolognaLib.Cosmology_dnsigma2R(self, *args)

    def dnsigma2M(self, *args):
        return _CosmoBolognaLib.Cosmology_dnsigma2M(self, *args)

    def concentration(self, *args):
        return _CosmoBolognaLib.Cosmology_concentration(self, *args)

    def concentration2(self, Vmax, Rmax):
        return _CosmoBolognaLib.Cosmology_concentration2(self, Vmax, Rmax)

    def c_vir(self, *args):
        return _CosmoBolognaLib.Cosmology_c_vir(self, *args)

    def density_profile(self, *args):
        return _CosmoBolognaLib.Cosmology_density_profile(self, *args)

    def density_profile_FourierSpace(self, *args):
        return _CosmoBolognaLib.Cosmology_density_profile_FourierSpace(self, *args)

    def xi_DM(self, *args):
        return _CosmoBolognaLib.Cosmology_xi_DM(self, *args)

    def wtheta_DM(self, *args):
        return _CosmoBolognaLib.Cosmology_wtheta_DM(self, *args)

    def xi_DM_DeWiggle(self, *args):
        return _CosmoBolognaLib.Cosmology_xi_DM_DeWiggle(self, *args)

    def get_xi(self, *args):
        return _CosmoBolognaLib.Cosmology_get_xi(self, *args)

    def get_barred_xi(self, *args):
        return _CosmoBolognaLib.Cosmology_get_barred_xi(self, *args)

    def wp_DM(self, *args):
        return _CosmoBolognaLib.Cosmology_wp_DM(self, *args)

    def k_star(self, *args):
        return _CosmoBolognaLib.Cosmology_k_star(self, *args)

    def sigmaR_DM(self, *args):
        return _CosmoBolognaLib.Cosmology_sigmaR_DM(self, *args)

    def sigma8_Pk(self, *args):
        return _CosmoBolognaLib.Cosmology_sigma8_Pk(self, *args)

    def bias_halo(self, *args):
        return _CosmoBolognaLib.Cosmology_bias_halo(self, *args)

    def bias_eff(self, *args):
        return _CosmoBolognaLib.Cosmology_bias_eff(self, *args)

    def bias_eff_mass_grid(self, *args):
        return _CosmoBolognaLib.Cosmology_bias_eff_mass_grid(self, *args)

    def bias_eff_mass(self, *args):
        return _CosmoBolognaLib.Cosmology_bias_eff_mass(self, *args)

    def generate_bias_eff_grid_one_cosmopar(self, *args):
        return _CosmoBolognaLib.Cosmology_generate_bias_eff_grid_one_cosmopar(self, *args)

    def generate_bias_eff_grid_two_cosmopars(self, *args):
        return _CosmoBolognaLib.Cosmology_generate_bias_eff_grid_two_cosmopars(self, *args)

    def bias_eff_selection_function(self, *args):
        return _CosmoBolognaLib.Cosmology_bias_eff_selection_function(self, *args)

    def linear_growth_rate(self, redshift, kk=-1.):
        return _CosmoBolognaLib.Cosmology_linear_growth_rate(self, redshift, kk)

    def fsigma8(self, *args):
        return _CosmoBolognaLib.Cosmology_fsigma8(self, *args)

    def beta(self, *args):
        return _CosmoBolognaLib.Cosmology_beta(self, *args)

    def error_beta(self, *args):
        return _CosmoBolognaLib.Cosmology_error_beta(self, *args)

    def error_beta_measured(self, *args):
        return _CosmoBolognaLib.Cosmology_error_beta_measured(self, *args)

    def quadrupole(self, *args):
        return _CosmoBolognaLib.Cosmology_quadrupole(self, *args)

    def square_bulk_flow(self, *args):
        return _CosmoBolognaLib.Cosmology_square_bulk_flow(self, *args)

    def square_bulk_flow_Table(self, rr, k_int_min, lgkk, lgPk, redshift):
        return _CosmoBolognaLib.Cosmology_square_bulk_flow_Table(self, rr, k_int_min, lgkk, lgPk, redshift)

    def square_velocity_dispersion(self, *args):
        return _CosmoBolognaLib.Cosmology_square_velocity_dispersion(self, *args)

    def CMN(self, *args):
        return _CosmoBolognaLib.Cosmology_CMN(self, *args)

    def Sn_PT(self, *args):
        return _CosmoBolognaLib.Cosmology_Sn_PT(self, *args)

    def Sigman_PT(self, *args):
        return _CosmoBolognaLib.Cosmology_Sigman_PT(self, *args)

    def xi0_Kaiser(self, *args):
        return _CosmoBolognaLib.Cosmology_xi0_Kaiser(self, *args)

    def xi2D_DispersionModel(self, *args):
        return _CosmoBolognaLib.Cosmology_xi2D_DispersionModel(self, *args)

    def xi_star(self, *args):
        return _CosmoBolognaLib.Cosmology_xi_star(self, *args)

    def xisnl_gnw(self, *args):
        return _CosmoBolognaLib.Cosmology_xisnl_gnw(self, *args)

    def xis_gBAO(self, *args):
        return _CosmoBolognaLib.Cosmology_xis_gBAO(self, *args)

    def xi2D_CW(self, *args):
        return _CosmoBolognaLib.Cosmology_xi2D_CW(self, *args)

    def rs(self, *args):
        return _CosmoBolognaLib.Cosmology_rs(self, *args)

    def rs_EH(self, *args):
        return _CosmoBolognaLib.Cosmology_rs_EH(self, *args)

    def rs_CAMB(self):
        return _CosmoBolognaLib.Cosmology_rs_CAMB(self)

    def ys(self, *args):
        return _CosmoBolognaLib.Cosmology_ys(self, *args)

    def Az(self, arg2):
        return _CosmoBolognaLib.Cosmology_Az(self, arg2)

    def linear_point(self, *args):
        return _CosmoBolognaLib.Cosmology_linear_point(self, *args)

    def Am(self, *args):
        return _CosmoBolognaLib.Cosmology_Am(self, *args)

    def potential_spectral_amplitude(self, *args):
        return _CosmoBolognaLib.Cosmology_potential_spectral_amplitude(self, *args)

    def bispectrum(self, *args):
        return _CosmoBolognaLib.Cosmology_bispectrum(self, *args)

    def mrk(self, *args):
        return _CosmoBolognaLib.Cosmology_mrk(self, *args)

    def frk(self, *args):
        return _CosmoBolognaLib.Cosmology_frk(self, *args)

    def bias_kernel(self, arg2, arg3):
        return _CosmoBolognaLib.Cosmology_bias_kernel(self, arg2, arg3)

    def frk_test(self, *args):
        return _CosmoBolognaLib.Cosmology_frk_test(self, *args)

    def bias_correction(self, *args):
        return _CosmoBolognaLib.Cosmology_bias_correction(self, *args)

    def skewness(self, *args):
        return _CosmoBolognaLib.Cosmology_skewness(self, *args)

    def dskewnessdM(self, *args):
        return _CosmoBolognaLib.Cosmology_dskewnessdM(self, *args)

    def MF_correction(self, *args):
        return _CosmoBolognaLib.Cosmology_MF_correction(self, *args)

    def f_nu(self, SS, del_v, del_c):
        return _CosmoBolognaLib.Cosmology_f_nu(self, SS, del_v, del_c)

    def size_function(self, *args):
        return _CosmoBolognaLib.Cosmology_size_function(self, *args)

    def get_XiMonopole_covariance(self, nbins, rMin, rMax, nn, Volume, kk, Pk0, IntegrationMethod=1):
        return _CosmoBolognaLib.Cosmology_get_XiMonopole_covariance(self, nbins, rMin, rMax, nn, Volume, kk, Pk0, IntegrationMethod)

    def get_XiMultipoles(self, nbins, rMin, rMax, kk, Pk0, Pk2, Pk4, IntegrationMethod=1):
        return _CosmoBolognaLib.Cosmology_get_XiMultipoles(self, nbins, rMin, rMax, kk, Pk0, Pk2, Pk4, IntegrationMethod)

    def get_XiMultipoles_covariance(self, nbins, rMin, rMax, nn, Volume, kk, Pk0, Pk2, Pk4, IntegrationMethod=1):
        return _CosmoBolognaLib.Cosmology_get_XiMultipoles_covariance(self, nbins, rMin, rMax, nn, Volume, kk, Pk0, Pk2, Pk4, IntegrationMethod)

    def denominator_Q(self, r1, r2, theta, rr, xi_DM):
        return _CosmoBolognaLib.Cosmology_denominator_Q(self, r1, r2, theta, rr, xi_DM)

    def integrals_Q_nonLocal(self, xi_DM, Phi, rr, kk, Pk_DM, prec):
        return _CosmoBolognaLib.Cosmology_integrals_Q_nonLocal(self, xi_DM, Phi, rr, kk, Pk_DM, prec)

    def Gamma_3PCF(self, r1, r2, theta, xi, dPhi):
        return _CosmoBolognaLib.Cosmology_Gamma_3PCF(self, r1, r2, theta, xi, dPhi)

    def Q_nonLocal(self, *args):
        return _CosmoBolognaLib.Cosmology_Q_nonLocal(self, *args)

    def integrals_zeta_Slepian(self, xi_DM, xi_DM_m1, xi_DM_p1, xi_DM_2, rr, kk, Pk_DM):
        return _CosmoBolognaLib.Cosmology_integrals_zeta_Slepian(self, xi_DM, xi_DM_m1, xi_DM_p1, xi_DM_2, rr, kk, Pk_DM)

    def zeta_precyclic_Slepian(self, r1, r2, mu, b1, b2, interp_xi_DM, interp_xi_DM_m1, interp_xi_DM_p1, interp_xi_DM_2):
        return _CosmoBolognaLib.Cosmology_zeta_precyclic_Slepian(self, r1, r2, mu, b1, b2, interp_xi_DM, interp_xi_DM_m1, interp_xi_DM_p1, interp_xi_DM_2)

    def zeta_expansion_Slepian(self, r1, r2, b1, b2, rr, xi_DM, xi_DM_m1, xi_DM_p1, xi_DM_2, norders=9, prec=1.e-3):
        return _CosmoBolognaLib.Cosmology_zeta_expansion_Slepian(self, r1, r2, b1, b2, rr, xi_DM, xi_DM_m1, xi_DM_p1, xi_DM_2, norders, prec)

    def zeta_DM_Slepian(self, r1, r2, theta, rr, xi_DM, xi_DM_m1, xi_DM_p1, xi_DM_2, kk, Pk_DM, norders=9, prec=1.e-3):
        return _CosmoBolognaLib.Cosmology_zeta_DM_Slepian(self, r1, r2, theta, rr, xi_DM, xi_DM_m1, xi_DM_p1, xi_DM_2, kk, Pk_DM, norders, prec)

    def Q_DM_Slepian(self, r1, r2, theta, rr, xi_DM, xi_DM_m1, xi_DM_p1, xi_DM_2, kk, Pk_DM, norders=9, prec=1.e-3):
        return _CosmoBolognaLib.Cosmology_Q_DM_Slepian(self, r1, r2, theta, rr, xi_DM, xi_DM_m1, xi_DM_p1, xi_DM_2, kk, Pk_DM, norders, prec)

    def integrals_zeta_BarrigaGatzanaga(self, xi_DM, Phi, rr, kk, Pk_DM):
        return _CosmoBolognaLib.Cosmology_integrals_zeta_BarrigaGatzanaga(self, xi_DM, Phi, rr, kk, Pk_DM)

    def zeta_single_BarrigaGatzanaga(self, r1, r2, theta, xi, dxi, dPhi):
        return _CosmoBolognaLib.Cosmology_zeta_single_BarrigaGatzanaga(self, r1, r2, theta, xi, dxi, dPhi)

    def zeta_DM_BarrigaGatzanaga(self, r1, r2, theta, rr, xi_DM, Phi, kk, Pk_DM):
        return _CosmoBolognaLib.Cosmology_zeta_DM_BarrigaGatzanaga(self, r1, r2, theta, rr, xi_DM, Phi, kk, Pk_DM)

    def Q_DM_BarrigaGatzanaga(self, r1, r2, theta, rr, xi_DM, Phi, kk, Pk_DM):
        return _CosmoBolognaLib.Cosmology_Q_DM_BarrigaGatzanaga(self, r1, r2, theta, rr, xi_DM, Phi, kk, Pk_DM)

    def zeta_DM(self, r1, r2, theta, model, kk, Pk_DM):
        return _CosmoBolognaLib.Cosmology_zeta_DM(self, r1, r2, theta, model, kk, Pk_DM)

    def Q_DM(self, r1, r2, theta, model, kk, Pk_DM):
        return _CosmoBolognaLib.Cosmology_Q_DM(self, r1, r2, theta, model, kk, Pk_DM)

    def zeta_halo(self, r1, r2, theta, b1, b2, model, kk, Pk_DM):
        return _CosmoBolognaLib.Cosmology_zeta_halo(self, r1, r2, theta, b1, b2, model, kk, Pk_DM)

    def Q_halo(self, *args):
        return _CosmoBolognaLib.Cosmology_Q_halo(self, *args)

    def zeta_DM_eq(self, rr, model, kk, Pk_DM):
        return _CosmoBolognaLib.Cosmology_zeta_DM_eq(self, rr, model, kk, Pk_DM)

    def Q_DM_eq(self, rr, model, kk, Pk_DM):
        return _CosmoBolognaLib.Cosmology_Q_DM_eq(self, rr, model, kk, Pk_DM)

    def zeta_multipoles_covariance(self, Volume, nObjects, l, l_prime, r1, r2, r1_prime, r2_prime, kk, Pk, rr, Xi, prec=1.e-3):
        return _CosmoBolognaLib.Cosmology_zeta_multipoles_covariance(self, Volume, nObjects, l, l_prime, r1, r2, r1_prime, r2_prime, kk, Pk, rr, Xi, prec)

    def zeta_covariance(self, Volume, nObjects, theta, r1, r2, kk, Pk, norders=10, prec=1.e-3):
        return _CosmoBolognaLib.Cosmology_zeta_covariance(self, Volume, nObjects, theta, r1, r2, kk, Pk, norders, prec)
Cosmology_swigregister = _CosmoBolognaLib.Cosmology_swigregister
Cosmology_swigregister(Cosmology)


def GSL_bias_kernel_wrapper(arg1, arg2):
    return _CosmoBolognaLib.GSL_bias_kernel_wrapper(arg1, arg2)
GSL_bias_kernel_wrapper = _CosmoBolognaLib.GSL_bias_kernel_wrapper

def func_xi_EH_GSL(arg1, arg2):
    return _CosmoBolognaLib.func_xi_EH_GSL(arg1, arg2)
func_xi_EH_GSL = _CosmoBolognaLib.func_xi_EH_GSL

def func_sigma2M_EH_GSL(arg1, arg2):
    return _CosmoBolognaLib.func_sigma2M_EH_GSL(arg1, arg2)
func_sigma2M_EH_GSL = _CosmoBolognaLib.func_sigma2M_EH_GSL

def bias_kernel2(arg1, arg2):
    return _CosmoBolognaLib.bias_kernel2(arg1, arg2)
bias_kernel2 = _CosmoBolognaLib.bias_kernel2

def skewness_kernel(arg1, arg2, arg3):
    return _CosmoBolognaLib.skewness_kernel(arg1, arg2, arg3)
skewness_kernel = _CosmoBolognaLib.skewness_kernel
class GSL_f_pars(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, GSL_f_pars, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, GSL_f_pars, name)
    __repr__ = _swig_repr
    __swig_setmethods__["kt"] = _CosmoBolognaLib.GSL_f_pars_kt_set
    __swig_getmethods__["kt"] = _CosmoBolognaLib.GSL_f_pars_kt_get
    if _newclass:
        kt = _swig_property(_CosmoBolognaLib.GSL_f_pars_kt_get, _CosmoBolognaLib.GSL_f_pars_kt_set)
    __swig_setmethods__["mass"] = _CosmoBolognaLib.GSL_f_pars_mass_set
    __swig_getmethods__["mass"] = _CosmoBolognaLib.GSL_f_pars_mass_get
    if _newclass:
        mass = _swig_property(_CosmoBolognaLib.GSL_f_pars_mass_get, _CosmoBolognaLib.GSL_f_pars_mass_set)
    __swig_setmethods__["method_Pk"] = _CosmoBolognaLib.GSL_f_pars_method_Pk_set
    __swig_getmethods__["method_Pk"] = _CosmoBolognaLib.GSL_f_pars_method_Pk_get
    if _newclass:
        method_Pk = _swig_property(_CosmoBolognaLib.GSL_f_pars_method_Pk_get, _CosmoBolognaLib.GSL_f_pars_method_Pk_set)
    __swig_setmethods__["output_root"] = _CosmoBolognaLib.GSL_f_pars_output_root_set
    __swig_getmethods__["output_root"] = _CosmoBolognaLib.GSL_f_pars_output_root_get
    if _newclass:
        output_root = _swig_property(_CosmoBolognaLib.GSL_f_pars_output_root_get, _CosmoBolognaLib.GSL_f_pars_output_root_set)
    __swig_setmethods__["norm"] = _CosmoBolognaLib.GSL_f_pars_norm_set
    __swig_getmethods__["norm"] = _CosmoBolognaLib.GSL_f_pars_norm_get
    if _newclass:
        norm = _swig_property(_CosmoBolognaLib.GSL_f_pars_norm_get, _CosmoBolognaLib.GSL_f_pars_norm_set)
    __swig_setmethods__["k_min"] = _CosmoBolognaLib.GSL_f_pars_k_min_set
    __swig_getmethods__["k_min"] = _CosmoBolognaLib.GSL_f_pars_k_min_get
    if _newclass:
        k_min = _swig_property(_CosmoBolognaLib.GSL_f_pars_k_min_get, _CosmoBolognaLib.GSL_f_pars_k_min_set)
    __swig_setmethods__["k_max"] = _CosmoBolognaLib.GSL_f_pars_k_max_set
    __swig_getmethods__["k_max"] = _CosmoBolognaLib.GSL_f_pars_k_max_get
    if _newclass:
        k_max = _swig_property(_CosmoBolognaLib.GSL_f_pars_k_max_get, _CosmoBolognaLib.GSL_f_pars_k_max_set)
    __swig_setmethods__["GSL"] = _CosmoBolognaLib.GSL_f_pars_GSL_set
    __swig_getmethods__["GSL"] = _CosmoBolognaLib.GSL_f_pars_GSL_get
    if _newclass:
        GSL = _swig_property(_CosmoBolognaLib.GSL_f_pars_GSL_get, _CosmoBolognaLib.GSL_f_pars_GSL_set)
    __swig_setmethods__["prec"] = _CosmoBolognaLib.GSL_f_pars_prec_set
    __swig_getmethods__["prec"] = _CosmoBolognaLib.GSL_f_pars_prec_get
    if _newclass:
        prec = _swig_property(_CosmoBolognaLib.GSL_f_pars_prec_get, _CosmoBolognaLib.GSL_f_pars_prec_set)
    __swig_setmethods__["file_par"] = _CosmoBolognaLib.GSL_f_pars_file_par_set
    __swig_getmethods__["file_par"] = _CosmoBolognaLib.GSL_f_pars_file_par_get
    if _newclass:
        file_par = _swig_property(_CosmoBolognaLib.GSL_f_pars_file_par_get, _CosmoBolognaLib.GSL_f_pars_file_par_set)
    __swig_setmethods__["pt_Cosmology"] = _CosmoBolognaLib.GSL_f_pars_pt_Cosmology_set
    __swig_getmethods__["pt_Cosmology"] = _CosmoBolognaLib.GSL_f_pars_pt_Cosmology_get
    if _newclass:
        pt_Cosmology = _swig_property(_CosmoBolognaLib.GSL_f_pars_pt_Cosmology_get, _CosmoBolognaLib.GSL_f_pars_pt_Cosmology_set)

    def __init__(self):
        this = _CosmoBolognaLib.new_GSL_f_pars()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_GSL_f_pars
    __del__ = lambda self: None
GSL_f_pars_swigregister = _CosmoBolognaLib.GSL_f_pars_swigregister
GSL_f_pars_swigregister(GSL_f_pars)

class STR_xi_EH(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, STR_xi_EH, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, STR_xi_EH, name)
    __repr__ = _swig_repr
    __swig_setmethods__["Omega_matter"] = _CosmoBolognaLib.STR_xi_EH_Omega_matter_set
    __swig_getmethods__["Omega_matter"] = _CosmoBolognaLib.STR_xi_EH_Omega_matter_get
    if _newclass:
        Omega_matter = _swig_property(_CosmoBolognaLib.STR_xi_EH_Omega_matter_get, _CosmoBolognaLib.STR_xi_EH_Omega_matter_set)
    __swig_setmethods__["Omega_baryon"] = _CosmoBolognaLib.STR_xi_EH_Omega_baryon_set
    __swig_getmethods__["Omega_baryon"] = _CosmoBolognaLib.STR_xi_EH_Omega_baryon_get
    if _newclass:
        Omega_baryon = _swig_property(_CosmoBolognaLib.STR_xi_EH_Omega_baryon_get, _CosmoBolognaLib.STR_xi_EH_Omega_baryon_set)
    __swig_setmethods__["Omega_neutrinos"] = _CosmoBolognaLib.STR_xi_EH_Omega_neutrinos_set
    __swig_getmethods__["Omega_neutrinos"] = _CosmoBolognaLib.STR_xi_EH_Omega_neutrinos_get
    if _newclass:
        Omega_neutrinos = _swig_property(_CosmoBolognaLib.STR_xi_EH_Omega_neutrinos_get, _CosmoBolognaLib.STR_xi_EH_Omega_neutrinos_set)
    __swig_setmethods__["massless_neutrinos"] = _CosmoBolognaLib.STR_xi_EH_massless_neutrinos_set
    __swig_getmethods__["massless_neutrinos"] = _CosmoBolognaLib.STR_xi_EH_massless_neutrinos_get
    if _newclass:
        massless_neutrinos = _swig_property(_CosmoBolognaLib.STR_xi_EH_massless_neutrinos_get, _CosmoBolognaLib.STR_xi_EH_massless_neutrinos_set)
    __swig_setmethods__["massive_neutrinos"] = _CosmoBolognaLib.STR_xi_EH_massive_neutrinos_set
    __swig_getmethods__["massive_neutrinos"] = _CosmoBolognaLib.STR_xi_EH_massive_neutrinos_get
    if _newclass:
        massive_neutrinos = _swig_property(_CosmoBolognaLib.STR_xi_EH_massive_neutrinos_get, _CosmoBolognaLib.STR_xi_EH_massive_neutrinos_set)
    __swig_setmethods__["Omega_DE"] = _CosmoBolognaLib.STR_xi_EH_Omega_DE_set
    __swig_getmethods__["Omega_DE"] = _CosmoBolognaLib.STR_xi_EH_Omega_DE_get
    if _newclass:
        Omega_DE = _swig_property(_CosmoBolognaLib.STR_xi_EH_Omega_DE_get, _CosmoBolognaLib.STR_xi_EH_Omega_DE_set)
    __swig_setmethods__["Omega_radiation"] = _CosmoBolognaLib.STR_xi_EH_Omega_radiation_set
    __swig_getmethods__["Omega_radiation"] = _CosmoBolognaLib.STR_xi_EH_Omega_radiation_get
    if _newclass:
        Omega_radiation = _swig_property(_CosmoBolognaLib.STR_xi_EH_Omega_radiation_get, _CosmoBolognaLib.STR_xi_EH_Omega_radiation_set)
    __swig_setmethods__["hh"] = _CosmoBolognaLib.STR_xi_EH_hh_set
    __swig_getmethods__["hh"] = _CosmoBolognaLib.STR_xi_EH_hh_get
    if _newclass:
        hh = _swig_property(_CosmoBolognaLib.STR_xi_EH_hh_get, _CosmoBolognaLib.STR_xi_EH_hh_set)
    __swig_setmethods__["scalar_amp"] = _CosmoBolognaLib.STR_xi_EH_scalar_amp_set
    __swig_getmethods__["scalar_amp"] = _CosmoBolognaLib.STR_xi_EH_scalar_amp_get
    if _newclass:
        scalar_amp = _swig_property(_CosmoBolognaLib.STR_xi_EH_scalar_amp_get, _CosmoBolognaLib.STR_xi_EH_scalar_amp_set)
    __swig_setmethods__["scalar_pivot"] = _CosmoBolognaLib.STR_xi_EH_scalar_pivot_set
    __swig_getmethods__["scalar_pivot"] = _CosmoBolognaLib.STR_xi_EH_scalar_pivot_get
    if _newclass:
        scalar_pivot = _swig_property(_CosmoBolognaLib.STR_xi_EH_scalar_pivot_get, _CosmoBolognaLib.STR_xi_EH_scalar_pivot_set)
    __swig_setmethods__["n_spec"] = _CosmoBolognaLib.STR_xi_EH_n_spec_set
    __swig_getmethods__["n_spec"] = _CosmoBolognaLib.STR_xi_EH_n_spec_get
    if _newclass:
        n_spec = _swig_property(_CosmoBolognaLib.STR_xi_EH_n_spec_get, _CosmoBolognaLib.STR_xi_EH_n_spec_set)
    __swig_setmethods__["w0"] = _CosmoBolognaLib.STR_xi_EH_w0_set
    __swig_getmethods__["w0"] = _CosmoBolognaLib.STR_xi_EH_w0_get
    if _newclass:
        w0 = _swig_property(_CosmoBolognaLib.STR_xi_EH_w0_get, _CosmoBolognaLib.STR_xi_EH_w0_set)
    __swig_setmethods__["wa"] = _CosmoBolognaLib.STR_xi_EH_wa_set
    __swig_getmethods__["wa"] = _CosmoBolognaLib.STR_xi_EH_wa_get
    if _newclass:
        wa = _swig_property(_CosmoBolognaLib.STR_xi_EH_wa_get, _CosmoBolognaLib.STR_xi_EH_wa_set)
    __swig_setmethods__["fNL"] = _CosmoBolognaLib.STR_xi_EH_fNL_set
    __swig_getmethods__["fNL"] = _CosmoBolognaLib.STR_xi_EH_fNL_get
    if _newclass:
        fNL = _swig_property(_CosmoBolognaLib.STR_xi_EH_fNL_get, _CosmoBolognaLib.STR_xi_EH_fNL_set)
    __swig_setmethods__["type_NG"] = _CosmoBolognaLib.STR_xi_EH_type_NG_set
    __swig_getmethods__["type_NG"] = _CosmoBolognaLib.STR_xi_EH_type_NG_get
    if _newclass:
        type_NG = _swig_property(_CosmoBolognaLib.STR_xi_EH_type_NG_get, _CosmoBolognaLib.STR_xi_EH_type_NG_set)
    __swig_setmethods__["tau"] = _CosmoBolognaLib.STR_xi_EH_tau_set
    __swig_getmethods__["tau"] = _CosmoBolognaLib.STR_xi_EH_tau_get
    if _newclass:
        tau = _swig_property(_CosmoBolognaLib.STR_xi_EH_tau_get, _CosmoBolognaLib.STR_xi_EH_tau_set)
    __swig_setmethods__["model"] = _CosmoBolognaLib.STR_xi_EH_model_set
    __swig_getmethods__["model"] = _CosmoBolognaLib.STR_xi_EH_model_get
    if _newclass:
        model = _swig_property(_CosmoBolognaLib.STR_xi_EH_model_get, _CosmoBolognaLib.STR_xi_EH_model_set)
    __swig_setmethods__["unit"] = _CosmoBolognaLib.STR_xi_EH_unit_set
    __swig_getmethods__["unit"] = _CosmoBolognaLib.STR_xi_EH_unit_get
    if _newclass:
        unit = _swig_property(_CosmoBolognaLib.STR_xi_EH_unit_get, _CosmoBolognaLib.STR_xi_EH_unit_set)
    __swig_setmethods__["method_Pk"] = _CosmoBolognaLib.STR_xi_EH_method_Pk_set
    __swig_getmethods__["method_Pk"] = _CosmoBolognaLib.STR_xi_EH_method_Pk_get
    if _newclass:
        method_Pk = _swig_property(_CosmoBolognaLib.STR_xi_EH_method_Pk_get, _CosmoBolognaLib.STR_xi_EH_method_Pk_set)
    __swig_setmethods__["rr"] = _CosmoBolognaLib.STR_xi_EH_rr_set
    __swig_getmethods__["rr"] = _CosmoBolognaLib.STR_xi_EH_rr_get
    if _newclass:
        rr = _swig_property(_CosmoBolognaLib.STR_xi_EH_rr_get, _CosmoBolognaLib.STR_xi_EH_rr_set)
    __swig_setmethods__["redshift"] = _CosmoBolognaLib.STR_xi_EH_redshift_set
    __swig_getmethods__["redshift"] = _CosmoBolognaLib.STR_xi_EH_redshift_get
    if _newclass:
        redshift = _swig_property(_CosmoBolognaLib.STR_xi_EH_redshift_get, _CosmoBolognaLib.STR_xi_EH_redshift_set)
    __swig_setmethods__["aa"] = _CosmoBolognaLib.STR_xi_EH_aa_set
    __swig_getmethods__["aa"] = _CosmoBolognaLib.STR_xi_EH_aa_get
    if _newclass:
        aa = _swig_property(_CosmoBolognaLib.STR_xi_EH_aa_get, _CosmoBolognaLib.STR_xi_EH_aa_set)

    def __init__(self):
        this = _CosmoBolognaLib.new_STR_xi_EH()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_STR_xi_EH
    __del__ = lambda self: None
STR_xi_EH_swigregister = _CosmoBolognaLib.STR_xi_EH_swigregister
STR_xi_EH_swigregister(STR_xi_EH)

class STR_sigma2M_EH(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, STR_sigma2M_EH, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, STR_sigma2M_EH, name)
    __repr__ = _swig_repr
    __swig_setmethods__["Omega_matter"] = _CosmoBolognaLib.STR_sigma2M_EH_Omega_matter_set
    __swig_getmethods__["Omega_matter"] = _CosmoBolognaLib.STR_sigma2M_EH_Omega_matter_get
    if _newclass:
        Omega_matter = _swig_property(_CosmoBolognaLib.STR_sigma2M_EH_Omega_matter_get, _CosmoBolognaLib.STR_sigma2M_EH_Omega_matter_set)
    __swig_setmethods__["Omega_baryon"] = _CosmoBolognaLib.STR_sigma2M_EH_Omega_baryon_set
    __swig_getmethods__["Omega_baryon"] = _CosmoBolognaLib.STR_sigma2M_EH_Omega_baryon_get
    if _newclass:
        Omega_baryon = _swig_property(_CosmoBolognaLib.STR_sigma2M_EH_Omega_baryon_get, _CosmoBolognaLib.STR_sigma2M_EH_Omega_baryon_set)
    __swig_setmethods__["Omega_neutrinos"] = _CosmoBolognaLib.STR_sigma2M_EH_Omega_neutrinos_set
    __swig_getmethods__["Omega_neutrinos"] = _CosmoBolognaLib.STR_sigma2M_EH_Omega_neutrinos_get
    if _newclass:
        Omega_neutrinos = _swig_property(_CosmoBolognaLib.STR_sigma2M_EH_Omega_neutrinos_get, _CosmoBolognaLib.STR_sigma2M_EH_Omega_neutrinos_set)
    __swig_setmethods__["massless_neutrinos"] = _CosmoBolognaLib.STR_sigma2M_EH_massless_neutrinos_set
    __swig_getmethods__["massless_neutrinos"] = _CosmoBolognaLib.STR_sigma2M_EH_massless_neutrinos_get
    if _newclass:
        massless_neutrinos = _swig_property(_CosmoBolognaLib.STR_sigma2M_EH_massless_neutrinos_get, _CosmoBolognaLib.STR_sigma2M_EH_massless_neutrinos_set)
    __swig_setmethods__["massive_neutrinos"] = _CosmoBolognaLib.STR_sigma2M_EH_massive_neutrinos_set
    __swig_getmethods__["massive_neutrinos"] = _CosmoBolognaLib.STR_sigma2M_EH_massive_neutrinos_get
    if _newclass:
        massive_neutrinos = _swig_property(_CosmoBolognaLib.STR_sigma2M_EH_massive_neutrinos_get, _CosmoBolognaLib.STR_sigma2M_EH_massive_neutrinos_set)
    __swig_setmethods__["Omega_DE"] = _CosmoBolognaLib.STR_sigma2M_EH_Omega_DE_set
    __swig_getmethods__["Omega_DE"] = _CosmoBolognaLib.STR_sigma2M_EH_Omega_DE_get
    if _newclass:
        Omega_DE = _swig_property(_CosmoBolognaLib.STR_sigma2M_EH_Omega_DE_get, _CosmoBolognaLib.STR_sigma2M_EH_Omega_DE_set)
    __swig_setmethods__["Omega_radiation"] = _CosmoBolognaLib.STR_sigma2M_EH_Omega_radiation_set
    __swig_getmethods__["Omega_radiation"] = _CosmoBolognaLib.STR_sigma2M_EH_Omega_radiation_get
    if _newclass:
        Omega_radiation = _swig_property(_CosmoBolognaLib.STR_sigma2M_EH_Omega_radiation_get, _CosmoBolognaLib.STR_sigma2M_EH_Omega_radiation_set)
    __swig_setmethods__["hh"] = _CosmoBolognaLib.STR_sigma2M_EH_hh_set
    __swig_getmethods__["hh"] = _CosmoBolognaLib.STR_sigma2M_EH_hh_get
    if _newclass:
        hh = _swig_property(_CosmoBolognaLib.STR_sigma2M_EH_hh_get, _CosmoBolognaLib.STR_sigma2M_EH_hh_set)
    __swig_setmethods__["scalar_amp"] = _CosmoBolognaLib.STR_sigma2M_EH_scalar_amp_set
    __swig_getmethods__["scalar_amp"] = _CosmoBolognaLib.STR_sigma2M_EH_scalar_amp_get
    if _newclass:
        scalar_amp = _swig_property(_CosmoBolognaLib.STR_sigma2M_EH_scalar_amp_get, _CosmoBolognaLib.STR_sigma2M_EH_scalar_amp_set)
    __swig_setmethods__["scalar_pivot"] = _CosmoBolognaLib.STR_sigma2M_EH_scalar_pivot_set
    __swig_getmethods__["scalar_pivot"] = _CosmoBolognaLib.STR_sigma2M_EH_scalar_pivot_get
    if _newclass:
        scalar_pivot = _swig_property(_CosmoBolognaLib.STR_sigma2M_EH_scalar_pivot_get, _CosmoBolognaLib.STR_sigma2M_EH_scalar_pivot_set)
    __swig_setmethods__["n_spec"] = _CosmoBolognaLib.STR_sigma2M_EH_n_spec_set
    __swig_getmethods__["n_spec"] = _CosmoBolognaLib.STR_sigma2M_EH_n_spec_get
    if _newclass:
        n_spec = _swig_property(_CosmoBolognaLib.STR_sigma2M_EH_n_spec_get, _CosmoBolognaLib.STR_sigma2M_EH_n_spec_set)
    __swig_setmethods__["w0"] = _CosmoBolognaLib.STR_sigma2M_EH_w0_set
    __swig_getmethods__["w0"] = _CosmoBolognaLib.STR_sigma2M_EH_w0_get
    if _newclass:
        w0 = _swig_property(_CosmoBolognaLib.STR_sigma2M_EH_w0_get, _CosmoBolognaLib.STR_sigma2M_EH_w0_set)
    __swig_setmethods__["wa"] = _CosmoBolognaLib.STR_sigma2M_EH_wa_set
    __swig_getmethods__["wa"] = _CosmoBolognaLib.STR_sigma2M_EH_wa_get
    if _newclass:
        wa = _swig_property(_CosmoBolognaLib.STR_sigma2M_EH_wa_get, _CosmoBolognaLib.STR_sigma2M_EH_wa_set)
    __swig_setmethods__["fNL"] = _CosmoBolognaLib.STR_sigma2M_EH_fNL_set
    __swig_getmethods__["fNL"] = _CosmoBolognaLib.STR_sigma2M_EH_fNL_get
    if _newclass:
        fNL = _swig_property(_CosmoBolognaLib.STR_sigma2M_EH_fNL_get, _CosmoBolognaLib.STR_sigma2M_EH_fNL_set)
    __swig_setmethods__["type_NG"] = _CosmoBolognaLib.STR_sigma2M_EH_type_NG_set
    __swig_getmethods__["type_NG"] = _CosmoBolognaLib.STR_sigma2M_EH_type_NG_get
    if _newclass:
        type_NG = _swig_property(_CosmoBolognaLib.STR_sigma2M_EH_type_NG_get, _CosmoBolognaLib.STR_sigma2M_EH_type_NG_set)
    __swig_setmethods__["tau"] = _CosmoBolognaLib.STR_sigma2M_EH_tau_set
    __swig_getmethods__["tau"] = _CosmoBolognaLib.STR_sigma2M_EH_tau_get
    if _newclass:
        tau = _swig_property(_CosmoBolognaLib.STR_sigma2M_EH_tau_get, _CosmoBolognaLib.STR_sigma2M_EH_tau_set)
    __swig_setmethods__["model"] = _CosmoBolognaLib.STR_sigma2M_EH_model_set
    __swig_getmethods__["model"] = _CosmoBolognaLib.STR_sigma2M_EH_model_get
    if _newclass:
        model = _swig_property(_CosmoBolognaLib.STR_sigma2M_EH_model_get, _CosmoBolognaLib.STR_sigma2M_EH_model_set)
    __swig_setmethods__["unit"] = _CosmoBolognaLib.STR_sigma2M_EH_unit_set
    __swig_getmethods__["unit"] = _CosmoBolognaLib.STR_sigma2M_EH_unit_get
    if _newclass:
        unit = _swig_property(_CosmoBolognaLib.STR_sigma2M_EH_unit_get, _CosmoBolognaLib.STR_sigma2M_EH_unit_set)
    __swig_setmethods__["method_Pk"] = _CosmoBolognaLib.STR_sigma2M_EH_method_Pk_set
    __swig_getmethods__["method_Pk"] = _CosmoBolognaLib.STR_sigma2M_EH_method_Pk_get
    if _newclass:
        method_Pk = _swig_property(_CosmoBolognaLib.STR_sigma2M_EH_method_Pk_get, _CosmoBolognaLib.STR_sigma2M_EH_method_Pk_set)
    __swig_setmethods__["redshift"] = _CosmoBolognaLib.STR_sigma2M_EH_redshift_set
    __swig_getmethods__["redshift"] = _CosmoBolognaLib.STR_sigma2M_EH_redshift_get
    if _newclass:
        redshift = _swig_property(_CosmoBolognaLib.STR_sigma2M_EH_redshift_get, _CosmoBolognaLib.STR_sigma2M_EH_redshift_set)
    __swig_setmethods__["mass"] = _CosmoBolognaLib.STR_sigma2M_EH_mass_set
    __swig_getmethods__["mass"] = _CosmoBolognaLib.STR_sigma2M_EH_mass_get
    if _newclass:
        mass = _swig_property(_CosmoBolognaLib.STR_sigma2M_EH_mass_get, _CosmoBolognaLib.STR_sigma2M_EH_mass_set)
    __swig_setmethods__["rho"] = _CosmoBolognaLib.STR_sigma2M_EH_rho_set
    __swig_getmethods__["rho"] = _CosmoBolognaLib.STR_sigma2M_EH_rho_get
    if _newclass:
        rho = _swig_property(_CosmoBolognaLib.STR_sigma2M_EH_rho_get, _CosmoBolognaLib.STR_sigma2M_EH_rho_set)

    def __init__(self):
        this = _CosmoBolognaLib.new_STR_sigma2M_EH()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_STR_sigma2M_EH
    __del__ = lambda self: None
STR_sigma2M_EH_swigregister = _CosmoBolognaLib.STR_sigma2M_EH_swigregister
STR_sigma2M_EH_swigregister(STR_sigma2M_EH)

class STR_MF(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, STR_MF, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, STR_MF, name)
    __repr__ = _swig_repr
    __swig_setmethods__["redshift"] = _CosmoBolognaLib.STR_MF_redshift_set
    __swig_getmethods__["redshift"] = _CosmoBolognaLib.STR_MF_redshift_get
    if _newclass:
        redshift = _swig_property(_CosmoBolognaLib.STR_MF_redshift_get, _CosmoBolognaLib.STR_MF_redshift_set)
    __swig_setmethods__["model_MF"] = _CosmoBolognaLib.STR_MF_model_MF_set
    __swig_getmethods__["model_MF"] = _CosmoBolognaLib.STR_MF_model_MF_get
    if _newclass:
        model_MF = _swig_property(_CosmoBolognaLib.STR_MF_model_MF_get, _CosmoBolognaLib.STR_MF_model_MF_set)
    __swig_setmethods__["method_SS"] = _CosmoBolognaLib.STR_MF_method_SS_set
    __swig_getmethods__["method_SS"] = _CosmoBolognaLib.STR_MF_method_SS_get
    if _newclass:
        method_SS = _swig_property(_CosmoBolognaLib.STR_MF_method_SS_get, _CosmoBolognaLib.STR_MF_method_SS_set)
    __swig_setmethods__["output_root"] = _CosmoBolognaLib.STR_MF_output_root_set
    __swig_getmethods__["output_root"] = _CosmoBolognaLib.STR_MF_output_root_get
    if _newclass:
        output_root = _swig_property(_CosmoBolognaLib.STR_MF_output_root_get, _CosmoBolognaLib.STR_MF_output_root_set)
    __swig_setmethods__["Delta"] = _CosmoBolognaLib.STR_MF_Delta_set
    __swig_getmethods__["Delta"] = _CosmoBolognaLib.STR_MF_Delta_get
    if _newclass:
        Delta = _swig_property(_CosmoBolognaLib.STR_MF_Delta_get, _CosmoBolognaLib.STR_MF_Delta_set)
    __swig_setmethods__["interpType"] = _CosmoBolognaLib.STR_MF_interpType_set
    __swig_getmethods__["interpType"] = _CosmoBolognaLib.STR_MF_interpType_get
    if _newclass:
        interpType = _swig_property(_CosmoBolognaLib.STR_MF_interpType_get, _CosmoBolognaLib.STR_MF_interpType_set)
    __swig_setmethods__["norm"] = _CosmoBolognaLib.STR_MF_norm_set
    __swig_getmethods__["norm"] = _CosmoBolognaLib.STR_MF_norm_get
    if _newclass:
        norm = _swig_property(_CosmoBolognaLib.STR_MF_norm_get, _CosmoBolognaLib.STR_MF_norm_set)
    __swig_setmethods__["k_min"] = _CosmoBolognaLib.STR_MF_k_min_set
    __swig_getmethods__["k_min"] = _CosmoBolognaLib.STR_MF_k_min_get
    if _newclass:
        k_min = _swig_property(_CosmoBolognaLib.STR_MF_k_min_get, _CosmoBolognaLib.STR_MF_k_min_set)
    __swig_setmethods__["k_max"] = _CosmoBolognaLib.STR_MF_k_max_set
    __swig_getmethods__["k_max"] = _CosmoBolognaLib.STR_MF_k_max_get
    if _newclass:
        k_max = _swig_property(_CosmoBolognaLib.STR_MF_k_max_get, _CosmoBolognaLib.STR_MF_k_max_set)
    __swig_setmethods__["prec"] = _CosmoBolognaLib.STR_MF_prec_set
    __swig_getmethods__["prec"] = _CosmoBolognaLib.STR_MF_prec_get
    if _newclass:
        prec = _swig_property(_CosmoBolognaLib.STR_MF_prec_get, _CosmoBolognaLib.STR_MF_prec_set)
    __swig_setmethods__["input_file"] = _CosmoBolognaLib.STR_MF_input_file_set
    __swig_getmethods__["input_file"] = _CosmoBolognaLib.STR_MF_input_file_get
    if _newclass:
        input_file = _swig_property(_CosmoBolognaLib.STR_MF_input_file_get, _CosmoBolognaLib.STR_MF_input_file_set)
    __swig_setmethods__["is_parameter_file"] = _CosmoBolognaLib.STR_MF_is_parameter_file_set
    __swig_getmethods__["is_parameter_file"] = _CosmoBolognaLib.STR_MF_is_parameter_file_get
    if _newclass:
        is_parameter_file = _swig_property(_CosmoBolognaLib.STR_MF_is_parameter_file_get, _CosmoBolognaLib.STR_MF_is_parameter_file_set)
    __swig_setmethods__["default_delta"] = _CosmoBolognaLib.STR_MF_default_delta_set
    __swig_getmethods__["default_delta"] = _CosmoBolognaLib.STR_MF_default_delta_get
    if _newclass:
        default_delta = _swig_property(_CosmoBolognaLib.STR_MF_default_delta_get, _CosmoBolognaLib.STR_MF_default_delta_set)
    __swig_setmethods__["delta_t"] = _CosmoBolognaLib.STR_MF_delta_t_set
    __swig_getmethods__["delta_t"] = _CosmoBolognaLib.STR_MF_delta_t_get
    if _newclass:
        delta_t = _swig_property(_CosmoBolognaLib.STR_MF_delta_t_get, _CosmoBolognaLib.STR_MF_delta_t_set)

    def __init__(self):
        this = _CosmoBolognaLib.new_STR_MF()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_STR_MF
    __del__ = lambda self: None
STR_MF_swigregister = _CosmoBolognaLib.STR_MF_swigregister
STR_MF_swigregister(STR_MF)

class STR_NG(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, STR_NG, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, STR_NG, name)
    __repr__ = _swig_repr
    __swig_setmethods__["Omega_matter"] = _CosmoBolognaLib.STR_NG_Omega_matter_set
    __swig_getmethods__["Omega_matter"] = _CosmoBolognaLib.STR_NG_Omega_matter_get
    if _newclass:
        Omega_matter = _swig_property(_CosmoBolognaLib.STR_NG_Omega_matter_get, _CosmoBolognaLib.STR_NG_Omega_matter_set)
    __swig_setmethods__["Omega_baryon"] = _CosmoBolognaLib.STR_NG_Omega_baryon_set
    __swig_getmethods__["Omega_baryon"] = _CosmoBolognaLib.STR_NG_Omega_baryon_get
    if _newclass:
        Omega_baryon = _swig_property(_CosmoBolognaLib.STR_NG_Omega_baryon_get, _CosmoBolognaLib.STR_NG_Omega_baryon_set)
    __swig_setmethods__["Omega_neutrinos"] = _CosmoBolognaLib.STR_NG_Omega_neutrinos_set
    __swig_getmethods__["Omega_neutrinos"] = _CosmoBolognaLib.STR_NG_Omega_neutrinos_get
    if _newclass:
        Omega_neutrinos = _swig_property(_CosmoBolognaLib.STR_NG_Omega_neutrinos_get, _CosmoBolognaLib.STR_NG_Omega_neutrinos_set)
    __swig_setmethods__["massless_neutrinos"] = _CosmoBolognaLib.STR_NG_massless_neutrinos_set
    __swig_getmethods__["massless_neutrinos"] = _CosmoBolognaLib.STR_NG_massless_neutrinos_get
    if _newclass:
        massless_neutrinos = _swig_property(_CosmoBolognaLib.STR_NG_massless_neutrinos_get, _CosmoBolognaLib.STR_NG_massless_neutrinos_set)
    __swig_setmethods__["massive_neutrinos"] = _CosmoBolognaLib.STR_NG_massive_neutrinos_set
    __swig_getmethods__["massive_neutrinos"] = _CosmoBolognaLib.STR_NG_massive_neutrinos_get
    if _newclass:
        massive_neutrinos = _swig_property(_CosmoBolognaLib.STR_NG_massive_neutrinos_get, _CosmoBolognaLib.STR_NG_massive_neutrinos_set)
    __swig_setmethods__["Omega_DE"] = _CosmoBolognaLib.STR_NG_Omega_DE_set
    __swig_getmethods__["Omega_DE"] = _CosmoBolognaLib.STR_NG_Omega_DE_get
    if _newclass:
        Omega_DE = _swig_property(_CosmoBolognaLib.STR_NG_Omega_DE_get, _CosmoBolognaLib.STR_NG_Omega_DE_set)
    __swig_setmethods__["Omega_radiation"] = _CosmoBolognaLib.STR_NG_Omega_radiation_set
    __swig_getmethods__["Omega_radiation"] = _CosmoBolognaLib.STR_NG_Omega_radiation_get
    if _newclass:
        Omega_radiation = _swig_property(_CosmoBolognaLib.STR_NG_Omega_radiation_get, _CosmoBolognaLib.STR_NG_Omega_radiation_set)
    __swig_setmethods__["hh"] = _CosmoBolognaLib.STR_NG_hh_set
    __swig_getmethods__["hh"] = _CosmoBolognaLib.STR_NG_hh_get
    if _newclass:
        hh = _swig_property(_CosmoBolognaLib.STR_NG_hh_get, _CosmoBolognaLib.STR_NG_hh_set)
    __swig_setmethods__["scalar_amp"] = _CosmoBolognaLib.STR_NG_scalar_amp_set
    __swig_getmethods__["scalar_amp"] = _CosmoBolognaLib.STR_NG_scalar_amp_get
    if _newclass:
        scalar_amp = _swig_property(_CosmoBolognaLib.STR_NG_scalar_amp_get, _CosmoBolognaLib.STR_NG_scalar_amp_set)
    __swig_setmethods__["scalar_pivot"] = _CosmoBolognaLib.STR_NG_scalar_pivot_set
    __swig_getmethods__["scalar_pivot"] = _CosmoBolognaLib.STR_NG_scalar_pivot_get
    if _newclass:
        scalar_pivot = _swig_property(_CosmoBolognaLib.STR_NG_scalar_pivot_get, _CosmoBolognaLib.STR_NG_scalar_pivot_set)
    __swig_setmethods__["n_spec"] = _CosmoBolognaLib.STR_NG_n_spec_set
    __swig_getmethods__["n_spec"] = _CosmoBolognaLib.STR_NG_n_spec_get
    if _newclass:
        n_spec = _swig_property(_CosmoBolognaLib.STR_NG_n_spec_get, _CosmoBolognaLib.STR_NG_n_spec_set)
    __swig_setmethods__["w0"] = _CosmoBolognaLib.STR_NG_w0_set
    __swig_getmethods__["w0"] = _CosmoBolognaLib.STR_NG_w0_get
    if _newclass:
        w0 = _swig_property(_CosmoBolognaLib.STR_NG_w0_get, _CosmoBolognaLib.STR_NG_w0_set)
    __swig_setmethods__["wa"] = _CosmoBolognaLib.STR_NG_wa_set
    __swig_getmethods__["wa"] = _CosmoBolognaLib.STR_NG_wa_get
    if _newclass:
        wa = _swig_property(_CosmoBolognaLib.STR_NG_wa_get, _CosmoBolognaLib.STR_NG_wa_set)
    __swig_setmethods__["fNL"] = _CosmoBolognaLib.STR_NG_fNL_set
    __swig_getmethods__["fNL"] = _CosmoBolognaLib.STR_NG_fNL_get
    if _newclass:
        fNL = _swig_property(_CosmoBolognaLib.STR_NG_fNL_get, _CosmoBolognaLib.STR_NG_fNL_set)
    __swig_setmethods__["type_NG"] = _CosmoBolognaLib.STR_NG_type_NG_set
    __swig_getmethods__["type_NG"] = _CosmoBolognaLib.STR_NG_type_NG_get
    if _newclass:
        type_NG = _swig_property(_CosmoBolognaLib.STR_NG_type_NG_get, _CosmoBolognaLib.STR_NG_type_NG_set)
    __swig_setmethods__["tau"] = _CosmoBolognaLib.STR_NG_tau_set
    __swig_getmethods__["tau"] = _CosmoBolognaLib.STR_NG_tau_get
    if _newclass:
        tau = _swig_property(_CosmoBolognaLib.STR_NG_tau_get, _CosmoBolognaLib.STR_NG_tau_set)
    __swig_setmethods__["model"] = _CosmoBolognaLib.STR_NG_model_set
    __swig_getmethods__["model"] = _CosmoBolognaLib.STR_NG_model_get
    if _newclass:
        model = _swig_property(_CosmoBolognaLib.STR_NG_model_get, _CosmoBolognaLib.STR_NG_model_set)
    __swig_setmethods__["unit"] = _CosmoBolognaLib.STR_NG_unit_set
    __swig_getmethods__["unit"] = _CosmoBolognaLib.STR_NG_unit_get
    if _newclass:
        unit = _swig_property(_CosmoBolognaLib.STR_NG_unit_get, _CosmoBolognaLib.STR_NG_unit_set)
    __swig_setmethods__["kt"] = _CosmoBolognaLib.STR_NG_kt_set
    __swig_getmethods__["kt"] = _CosmoBolognaLib.STR_NG_kt_get
    if _newclass:
        kt = _swig_property(_CosmoBolognaLib.STR_NG_kt_get, _CosmoBolognaLib.STR_NG_kt_set)
    __swig_setmethods__["mass"] = _CosmoBolognaLib.STR_NG_mass_set
    __swig_getmethods__["mass"] = _CosmoBolognaLib.STR_NG_mass_get
    if _newclass:
        mass = _swig_property(_CosmoBolognaLib.STR_NG_mass_get, _CosmoBolognaLib.STR_NG_mass_set)
    __swig_setmethods__["method_Pk"] = _CosmoBolognaLib.STR_NG_method_Pk_set
    __swig_getmethods__["method_Pk"] = _CosmoBolognaLib.STR_NG_method_Pk_get
    if _newclass:
        method_Pk = _swig_property(_CosmoBolognaLib.STR_NG_method_Pk_get, _CosmoBolognaLib.STR_NG_method_Pk_set)
    __swig_setmethods__["output_root"] = _CosmoBolognaLib.STR_NG_output_root_set
    __swig_getmethods__["output_root"] = _CosmoBolognaLib.STR_NG_output_root_get
    if _newclass:
        output_root = _swig_property(_CosmoBolognaLib.STR_NG_output_root_get, _CosmoBolognaLib.STR_NG_output_root_set)
    __swig_setmethods__["norm"] = _CosmoBolognaLib.STR_NG_norm_set
    __swig_getmethods__["norm"] = _CosmoBolognaLib.STR_NG_norm_get
    if _newclass:
        norm = _swig_property(_CosmoBolognaLib.STR_NG_norm_get, _CosmoBolognaLib.STR_NG_norm_set)
    __swig_setmethods__["k_min"] = _CosmoBolognaLib.STR_NG_k_min_set
    __swig_getmethods__["k_min"] = _CosmoBolognaLib.STR_NG_k_min_get
    if _newclass:
        k_min = _swig_property(_CosmoBolognaLib.STR_NG_k_min_get, _CosmoBolognaLib.STR_NG_k_min_set)
    __swig_setmethods__["k_max"] = _CosmoBolognaLib.STR_NG_k_max_set
    __swig_getmethods__["k_max"] = _CosmoBolognaLib.STR_NG_k_max_get
    if _newclass:
        k_max = _swig_property(_CosmoBolognaLib.STR_NG_k_max_get, _CosmoBolognaLib.STR_NG_k_max_set)
    __swig_setmethods__["GSL"] = _CosmoBolognaLib.STR_NG_GSL_set
    __swig_getmethods__["GSL"] = _CosmoBolognaLib.STR_NG_GSL_get
    if _newclass:
        GSL = _swig_property(_CosmoBolognaLib.STR_NG_GSL_get, _CosmoBolognaLib.STR_NG_GSL_set)
    __swig_setmethods__["prec"] = _CosmoBolognaLib.STR_NG_prec_set
    __swig_getmethods__["prec"] = _CosmoBolognaLib.STR_NG_prec_get
    if _newclass:
        prec = _swig_property(_CosmoBolognaLib.STR_NG_prec_get, _CosmoBolognaLib.STR_NG_prec_set)
    __swig_setmethods__["file_par"] = _CosmoBolognaLib.STR_NG_file_par_set
    __swig_getmethods__["file_par"] = _CosmoBolognaLib.STR_NG_file_par_get
    if _newclass:
        file_par = _swig_property(_CosmoBolognaLib.STR_NG_file_par_get, _CosmoBolognaLib.STR_NG_file_par_set)

    def __init__(self):
        this = _CosmoBolognaLib.new_STR_NG()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_STR_NG
    __del__ = lambda self: None
STR_NG_swigregister = _CosmoBolognaLib.STR_NG_swigregister
STR_NG_swigregister(STR_NG)

class CosmoParVector(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, CosmoParVector, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, CosmoParVector, name)
    __repr__ = _swig_repr

    def iterator(self):
        return _CosmoBolognaLib.CosmoParVector_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _CosmoBolognaLib.CosmoParVector___nonzero__(self)

    def __bool__(self):
        return _CosmoBolognaLib.CosmoParVector___bool__(self)

    def __len__(self):
        return _CosmoBolognaLib.CosmoParVector___len__(self)

    def __getslice__(self, i, j):
        return _CosmoBolognaLib.CosmoParVector___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _CosmoBolognaLib.CosmoParVector___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _CosmoBolognaLib.CosmoParVector___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _CosmoBolognaLib.CosmoParVector___delitem__(self, *args)

    def __getitem__(self, *args):
        return _CosmoBolognaLib.CosmoParVector___getitem__(self, *args)

    def __setitem__(self, *args):
        return _CosmoBolognaLib.CosmoParVector___setitem__(self, *args)

    def pop(self):
        return _CosmoBolognaLib.CosmoParVector_pop(self)

    def append(self, x):
        return _CosmoBolognaLib.CosmoParVector_append(self, x)

    def empty(self):
        return _CosmoBolognaLib.CosmoParVector_empty(self)

    def size(self):
        return _CosmoBolognaLib.CosmoParVector_size(self)

    def swap(self, v):
        return _CosmoBolognaLib.CosmoParVector_swap(self, v)

    def begin(self):
        return _CosmoBolognaLib.CosmoParVector_begin(self)

    def end(self):
        return _CosmoBolognaLib.CosmoParVector_end(self)

    def rbegin(self):
        return _CosmoBolognaLib.CosmoParVector_rbegin(self)

    def rend(self):
        return _CosmoBolognaLib.CosmoParVector_rend(self)

    def clear(self):
        return _CosmoBolognaLib.CosmoParVector_clear(self)

    def get_allocator(self):
        return _CosmoBolognaLib.CosmoParVector_get_allocator(self)

    def pop_back(self):
        return _CosmoBolognaLib.CosmoParVector_pop_back(self)

    def erase(self, *args):
        return _CosmoBolognaLib.CosmoParVector_erase(self, *args)

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_CosmoParVector(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this

    def push_back(self, x):
        return _CosmoBolognaLib.CosmoParVector_push_back(self, x)

    def front(self):
        return _CosmoBolognaLib.CosmoParVector_front(self)

    def back(self):
        return _CosmoBolognaLib.CosmoParVector_back(self)

    def assign(self, n, x):
        return _CosmoBolognaLib.CosmoParVector_assign(self, n, x)

    def resize(self, *args):
        return _CosmoBolognaLib.CosmoParVector_resize(self, *args)

    def insert(self, *args):
        return _CosmoBolognaLib.CosmoParVector_insert(self, *args)

    def reserve(self, n):
        return _CosmoBolognaLib.CosmoParVector_reserve(self, n)

    def capacity(self):
        return _CosmoBolognaLib.CosmoParVector_capacity(self)
    __swig_destroy__ = _CosmoBolognaLib.delete_CosmoParVector
    __del__ = lambda self: None
CosmoParVector_swigregister = _CosmoBolognaLib.CosmoParVector_swigregister
CosmoParVector_swigregister(CosmoParVector)

class ChainMesh(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, ChainMesh, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, ChainMesh, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_ChainMesh(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_ChainMesh
    __del__ = lambda self: None

    def set_par(self, cell_size, nDim):
        return _CosmoBolognaLib.ChainMesh_set_par(self, cell_size, nDim)

    def nCell(self):
        return _CosmoBolognaLib.ChainMesh_nCell(self)

    def nCell_NonEmpty(self):
        return _CosmoBolognaLib.ChainMesh_nCell_NonEmpty(self)

    def NonEmpty_Cells(self):
        return _CosmoBolognaLib.ChainMesh_NonEmpty_Cells(self)

    def pos_to_index(self, center):
        return _CosmoBolognaLib.ChainMesh_pos_to_index(self, center)

    def inds_to_index(self, indx):
        return _CosmoBolognaLib.ChainMesh_inds_to_index(self, indx)

    def index_to_inds(self, index, nn, indx):
        return _CosmoBolognaLib.ChainMesh_index_to_inds(self, index, nn, indx)

    def create_chain_mesh(self, data, rMax, nMIN=0, nMAX=300):
        return _CosmoBolognaLib.ChainMesh_create_chain_mesh(self, data, rMax, nMIN, nMAX)

    def create_chain_mesh_m2(self, data):
        return _CosmoBolognaLib.ChainMesh_create_chain_mesh_m2(self, data)

    def get_searching_region(self, r_max, r_min=-1):
        return _CosmoBolognaLib.ChainMesh_get_searching_region(self, r_max, r_min)

    def close_objects_cell(self, cell_index, ii=-1):
        return _CosmoBolognaLib.ChainMesh_close_objects_cell(self, cell_index, ii)

    def close_objects(self, center, ii=-1):
        return _CosmoBolognaLib.ChainMesh_close_objects(self, center, ii)

    def get_list(self, cell_index):
        return _CosmoBolognaLib.ChainMesh_get_list(self, cell_index)
ChainMesh_swigregister = _CosmoBolognaLib.ChainMesh_swigregister
ChainMesh_swigregister(ChainMesh)

class ChainMesh1D(ChainMesh):
    __swig_setmethods__ = {}
    for _s in [ChainMesh]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, ChainMesh1D, name, value)
    __swig_getmethods__ = {}
    for _s in [ChainMesh]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, ChainMesh1D, name)
    __repr__ = _swig_repr
    __swig_destroy__ = _CosmoBolognaLib.delete_ChainMesh1D
    __del__ = lambda self: None

    def set_par(self, cell_size, xx, rMAX, nMIN=0, nMAX=300):
        return _CosmoBolognaLib.ChainMesh1D_set_par(self, cell_size, xx, rMAX, nMIN, nMAX)

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_ChainMesh1D(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
ChainMesh1D_swigregister = _CosmoBolognaLib.ChainMesh1D_swigregister
ChainMesh1D_swigregister(ChainMesh1D)

class ChainMesh2D(ChainMesh):
    __swig_setmethods__ = {}
    for _s in [ChainMesh]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, ChainMesh2D, name, value)
    __swig_getmethods__ = {}
    for _s in [ChainMesh]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, ChainMesh2D, name)
    __repr__ = _swig_repr
    __swig_destroy__ = _CosmoBolognaLib.delete_ChainMesh2D
    __del__ = lambda self: None

    def set_par(self, cell_size, xx, yy, rMAX, nMIN=0, nMAX=300):
        return _CosmoBolognaLib.ChainMesh2D_set_par(self, cell_size, xx, yy, rMAX, nMIN, nMAX)

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_ChainMesh2D(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
ChainMesh2D_swigregister = _CosmoBolognaLib.ChainMesh2D_swigregister
ChainMesh2D_swigregister(ChainMesh2D)

class ChainMesh3D(ChainMesh):
    __swig_setmethods__ = {}
    for _s in [ChainMesh]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, ChainMesh3D, name, value)
    __swig_getmethods__ = {}
    for _s in [ChainMesh]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, ChainMesh3D, name)
    __repr__ = _swig_repr
    __swig_destroy__ = _CosmoBolognaLib.delete_ChainMesh3D
    __del__ = lambda self: None

    def set_par(self, cell_size, xx, yy, zz, rMAX, nMIN=0, nMAX=300):
        return _CosmoBolognaLib.ChainMesh3D_set_par(self, cell_size, xx, yy, zz, rMAX, nMIN, nMAX)

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_ChainMesh3D(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
ChainMesh3D_swigregister = _CosmoBolognaLib.ChainMesh3D_swigregister
ChainMesh3D_swigregister(ChainMesh3D)


_CosmoBolognaLib._GenericObject__swigconstant(_CosmoBolognaLib)
_GenericObject_ = _CosmoBolognaLib._GenericObject_

_CosmoBolognaLib._RandomObject__swigconstant(_CosmoBolognaLib)
_RandomObject_ = _CosmoBolognaLib._RandomObject_

_CosmoBolognaLib._Mock__swigconstant(_CosmoBolognaLib)
_Mock_ = _CosmoBolognaLib._Mock_

_CosmoBolognaLib._Halo__swigconstant(_CosmoBolognaLib)
_Halo_ = _CosmoBolognaLib._Halo_

_CosmoBolognaLib._Galaxy__swigconstant(_CosmoBolognaLib)
_Galaxy_ = _CosmoBolognaLib._Galaxy_

_CosmoBolognaLib._Cluster__swigconstant(_CosmoBolognaLib)
_Cluster_ = _CosmoBolognaLib._Cluster_

_CosmoBolognaLib._Void__swigconstant(_CosmoBolognaLib)
_Void_ = _CosmoBolognaLib._Void_
class Object(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Object, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Object, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Object(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Object
    __del__ = lambda self: None
    __swig_getmethods__["Create"] = lambda x: _CosmoBolognaLib.Object_Create
    if _newclass:
        Create = staticmethod(_CosmoBolognaLib.Object_Create)

    def xx(self):
        return _CosmoBolognaLib.Object_xx(self)

    def yy(self):
        return _CosmoBolognaLib.Object_yy(self)

    def zz(self):
        return _CosmoBolognaLib.Object_zz(self)

    def dc(self):
        return _CosmoBolognaLib.Object_dc(self)

    def ra(self):
        return _CosmoBolognaLib.Object_ra(self)

    def dec(self):
        return _CosmoBolognaLib.Object_dec(self)

    def redshift(self):
        return _CosmoBolognaLib.Object_redshift(self)

    def weight(self):
        return _CosmoBolognaLib.Object_weight(self)

    def region(self):
        return _CosmoBolognaLib.Object_region(self)

    def field(self):
        return _CosmoBolognaLib.Object_field(self)

    def x_displacement(self):
        return _CosmoBolognaLib.Object_x_displacement(self)

    def y_displacement(self):
        return _CosmoBolognaLib.Object_y_displacement(self)

    def z_displacement(self):
        return _CosmoBolognaLib.Object_z_displacement(self)

    def coords(self):
        return _CosmoBolognaLib.Object_coords(self)

    def vx(self):
        return _CosmoBolognaLib.Object_vx(self)

    def vy(self):
        return _CosmoBolognaLib.Object_vy(self)

    def vz(self):
        return _CosmoBolognaLib.Object_vz(self)

    def mass(self):
        return _CosmoBolognaLib.Object_mass(self)

    def magnitude(self):
        return _CosmoBolognaLib.Object_magnitude(self)

    def SFR(self):
        return _CosmoBolognaLib.Object_SFR(self)

    def sSFR(self):
        return _CosmoBolognaLib.Object_sSFR(self)

    def richness(self):
        return _CosmoBolognaLib.Object_richness(self)

    def richness_error(self):
        return _CosmoBolognaLib.Object_richness_error(self)

    def bias(self):
        return _CosmoBolognaLib.Object_bias(self)

    def generic(self):
        return _CosmoBolognaLib.Object_generic(self)

    def radius(self):
        return _CosmoBolognaLib.Object_radius(self)

    def densityContrast(self):
        return _CosmoBolognaLib.Object_densityContrast(self)

    def centralDensity(self):
        return _CosmoBolognaLib.Object_centralDensity(self)

    def ID(self):
        return _CosmoBolognaLib.Object_ID(self)

    def set_xx(self, *args):
        return _CosmoBolognaLib.Object_set_xx(self, *args)

    def set_yy(self, *args):
        return _CosmoBolognaLib.Object_set_yy(self, *args)

    def set_zz(self, *args):
        return _CosmoBolognaLib.Object_set_zz(self, *args)

    def set_ra(self, *args):
        return _CosmoBolognaLib.Object_set_ra(self, *args)

    def set_dec(self, *args):
        return _CosmoBolognaLib.Object_set_dec(self, *args)

    def set_redshift(self, *args):
        return _CosmoBolognaLib.Object_set_redshift(self, *args)

    def set_dc(self, *args):
        return _CosmoBolognaLib.Object_set_dc(self, *args)

    def set_weight(self, *args):
        return _CosmoBolognaLib.Object_set_weight(self, *args)

    def set_region(self, *args):
        return _CosmoBolognaLib.Object_set_region(self, *args)

    def set_field(self, *args):
        return _CosmoBolognaLib.Object_set_field(self, *args)

    def set_x_displacement(self, *args):
        return _CosmoBolognaLib.Object_set_x_displacement(self, *args)

    def set_y_displacement(self, *args):
        return _CosmoBolognaLib.Object_set_y_displacement(self, *args)

    def set_z_displacement(self, *args):
        return _CosmoBolognaLib.Object_set_z_displacement(self, *args)

    def set_vx(self, *args):
        return _CosmoBolognaLib.Object_set_vx(self, *args)

    def set_vy(self, *args):
        return _CosmoBolognaLib.Object_set_vy(self, *args)

    def set_vz(self, *args):
        return _CosmoBolognaLib.Object_set_vz(self, *args)

    def set_mass(self, *args):
        return _CosmoBolognaLib.Object_set_mass(self, *args)

    def set_magnitude(self, *args):
        return _CosmoBolognaLib.Object_set_magnitude(self, *args)

    def set_SFR(self, *args):
        return _CosmoBolognaLib.Object_set_SFR(self, *args)

    def set_sSFR(self, *args):
        return _CosmoBolognaLib.Object_set_sSFR(self, *args)

    def set_richness(self, *args):
        return _CosmoBolognaLib.Object_set_richness(self, *args)

    def set_richness_error(self, *args):
        return _CosmoBolognaLib.Object_set_richness_error(self, *args)

    def set_bias(self, *args):
        return _CosmoBolognaLib.Object_set_bias(self, *args)

    def set_generic(self, *args):
        return _CosmoBolognaLib.Object_set_generic(self, *args)

    def set_radius(self, *args):
        return _CosmoBolognaLib.Object_set_radius(self, *args)

    def set_densityContrast(self, *args):
        return _CosmoBolognaLib.Object_set_densityContrast(self, *args)

    def set_centralDensity(self, *args):
        return _CosmoBolognaLib.Object_set_centralDensity(self, *args)

    def set_ID(self, *args):
        return _CosmoBolognaLib.Object_set_ID(self, *args)
Object_swigregister = _CosmoBolognaLib.Object_swigregister
Object_swigregister(Object)

def Object_Create(*args):
    return _CosmoBolognaLib.Object_Create(*args)
Object_Create = _CosmoBolognaLib.Object_Create

class RandomObject(Object):
    __swig_setmethods__ = {}
    for _s in [Object]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, RandomObject, name, value)
    __swig_getmethods__ = {}
    for _s in [Object]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, RandomObject, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_RandomObject(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_RandomObject
    __del__ = lambda self: None
RandomObject_swigregister = _CosmoBolognaLib.RandomObject_swigregister
RandomObject_swigregister(RandomObject)

class Halo(Object):
    __swig_setmethods__ = {}
    for _s in [Object]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Halo, name, value)
    __swig_getmethods__ = {}
    for _s in [Object]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Halo, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Halo(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Halo
    __del__ = lambda self: None

    def vx(self):
        return _CosmoBolognaLib.Halo_vx(self)

    def vy(self):
        return _CosmoBolognaLib.Halo_vy(self)

    def vz(self):
        return _CosmoBolognaLib.Halo_vz(self)

    def mass(self):
        return _CosmoBolognaLib.Halo_mass(self)

    def set_vx(self, *args):
        return _CosmoBolognaLib.Halo_set_vx(self, *args)

    def set_vy(self, *args):
        return _CosmoBolognaLib.Halo_set_vy(self, *args)

    def set_vz(self, *args):
        return _CosmoBolognaLib.Halo_set_vz(self, *args)

    def set_mass(self, *args):
        return _CosmoBolognaLib.Halo_set_mass(self, *args)
Halo_swigregister = _CosmoBolognaLib.Halo_swigregister
Halo_swigregister(Halo)

class Mock(Halo):
    __swig_setmethods__ = {}
    for _s in [Halo]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Mock, name, value)
    __swig_getmethods__ = {}
    for _s in [Halo]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Mock, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Mock(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Mock
    __del__ = lambda self: None

    def generic(self):
        return _CosmoBolognaLib.Mock_generic(self)

    def set_generic(self, *args):
        return _CosmoBolognaLib.Mock_set_generic(self, *args)
Mock_swigregister = _CosmoBolognaLib.Mock_swigregister
Mock_swigregister(Mock)

class Galaxy(Object):
    __swig_setmethods__ = {}
    for _s in [Object]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Galaxy, name, value)
    __swig_getmethods__ = {}
    for _s in [Object]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Galaxy, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Galaxy(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Galaxy
    __del__ = lambda self: None

    def mass(self):
        return _CosmoBolognaLib.Galaxy_mass(self)

    def magnitude(self):
        return _CosmoBolognaLib.Galaxy_magnitude(self)

    def SFR(self):
        return _CosmoBolognaLib.Galaxy_SFR(self)

    def sSFR(self):
        return _CosmoBolognaLib.Galaxy_sSFR(self)

    def set_mass(self, *args):
        return _CosmoBolognaLib.Galaxy_set_mass(self, *args)

    def set_magnitude(self, *args):
        return _CosmoBolognaLib.Galaxy_set_magnitude(self, *args)

    def set_SFR(self, *args):
        return _CosmoBolognaLib.Galaxy_set_SFR(self, *args)

    def set_sSFR(self, *args):
        return _CosmoBolognaLib.Galaxy_set_sSFR(self, *args)
Galaxy_swigregister = _CosmoBolognaLib.Galaxy_swigregister
Galaxy_swigregister(Galaxy)

class Cluster(Object):
    __swig_setmethods__ = {}
    for _s in [Object]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Cluster, name, value)
    __swig_getmethods__ = {}
    for _s in [Object]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Cluster, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Cluster(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Cluster
    __del__ = lambda self: None

    def mass(self):
        return _CosmoBolognaLib.Cluster_mass(self)

    def richness(self):
        return _CosmoBolognaLib.Cluster_richness(self)

    def richness_error(self):
        return _CosmoBolognaLib.Cluster_richness_error(self)

    def bias(self):
        return _CosmoBolognaLib.Cluster_bias(self)

    def set_mass(self, *args):
        return _CosmoBolognaLib.Cluster_set_mass(self, *args)

    def set_richness(self, *args):
        return _CosmoBolognaLib.Cluster_set_richness(self, *args)

    def set_richness_error(self, *args):
        return _CosmoBolognaLib.Cluster_set_richness_error(self, *args)

    def set_bias(self, *args):
        return _CosmoBolognaLib.Cluster_set_bias(self, *args)
Cluster_swigregister = _CosmoBolognaLib.Cluster_swigregister
Cluster_swigregister(Cluster)


_CosmoBolognaLib._X__swigconstant(_CosmoBolognaLib)
_X_ = _CosmoBolognaLib._X_

_CosmoBolognaLib._Y__swigconstant(_CosmoBolognaLib)
_Y_ = _CosmoBolognaLib._Y_

_CosmoBolognaLib._Z__swigconstant(_CosmoBolognaLib)
_Z_ = _CosmoBolognaLib._Z_

_CosmoBolognaLib._RA__swigconstant(_CosmoBolognaLib)
_RA_ = _CosmoBolognaLib._RA_

_CosmoBolognaLib._Dec__swigconstant(_CosmoBolognaLib)
_Dec_ = _CosmoBolognaLib._Dec_

_CosmoBolognaLib._Redshift__swigconstant(_CosmoBolognaLib)
_Redshift_ = _CosmoBolognaLib._Redshift_

_CosmoBolognaLib._Dc__swigconstant(_CosmoBolognaLib)
_Dc_ = _CosmoBolognaLib._Dc_

_CosmoBolognaLib._Weight__swigconstant(_CosmoBolognaLib)
_Weight_ = _CosmoBolognaLib._Weight_

_CosmoBolognaLib._Mass__swigconstant(_CosmoBolognaLib)
_Mass_ = _CosmoBolognaLib._Mass_

_CosmoBolognaLib._Magnitude__swigconstant(_CosmoBolognaLib)
_Magnitude_ = _CosmoBolognaLib._Magnitude_

_CosmoBolognaLib._SFR__swigconstant(_CosmoBolognaLib)
_SFR_ = _CosmoBolognaLib._SFR_

_CosmoBolognaLib._sSFR__swigconstant(_CosmoBolognaLib)
_sSFR_ = _CosmoBolognaLib._sSFR_

_CosmoBolognaLib._Richness__swigconstant(_CosmoBolognaLib)
_Richness_ = _CosmoBolognaLib._Richness_

_CosmoBolognaLib._RichnessError__swigconstant(_CosmoBolognaLib)
_RichnessError_ = _CosmoBolognaLib._RichnessError_

_CosmoBolognaLib._Vx__swigconstant(_CosmoBolognaLib)
_Vx_ = _CosmoBolognaLib._Vx_

_CosmoBolognaLib._Vy__swigconstant(_CosmoBolognaLib)
_Vy_ = _CosmoBolognaLib._Vy_

_CosmoBolognaLib._Vz__swigconstant(_CosmoBolognaLib)
_Vz_ = _CosmoBolognaLib._Vz_

_CosmoBolognaLib._Region__swigconstant(_CosmoBolognaLib)
_Region_ = _CosmoBolognaLib._Region_

_CosmoBolognaLib._Radius__swigconstant(_CosmoBolognaLib)
_Radius_ = _CosmoBolognaLib._Radius_

_CosmoBolognaLib._DensityContrast__swigconstant(_CosmoBolognaLib)
_DensityContrast_ = _CosmoBolognaLib._DensityContrast_

_CosmoBolognaLib._CentralDensity__swigconstant(_CosmoBolognaLib)
_CentralDensity_ = _CosmoBolognaLib._CentralDensity_

_CosmoBolognaLib._X_displacement__swigconstant(_CosmoBolognaLib)
_X_displacement_ = _CosmoBolognaLib._X_displacement_

_CosmoBolognaLib._Y_displacement__swigconstant(_CosmoBolognaLib)
_Y_displacement_ = _CosmoBolognaLib._Y_displacement_

_CosmoBolognaLib._Z_displacement__swigconstant(_CosmoBolognaLib)
_Z_displacement_ = _CosmoBolognaLib._Z_displacement_

_CosmoBolognaLib._Generic__swigconstant(_CosmoBolognaLib)
_Generic_ = _CosmoBolognaLib._Generic_

_CosmoBolognaLib._createRandom_box__swigconstant(_CosmoBolognaLib)
_createRandom_box_ = _CosmoBolognaLib._createRandom_box_

_CosmoBolognaLib._createRandom_square__swigconstant(_CosmoBolognaLib)
_createRandom_square_ = _CosmoBolognaLib._createRandom_square_

_CosmoBolognaLib._createRandom_shuffle__swigconstant(_CosmoBolognaLib)
_createRandom_shuffle_ = _CosmoBolognaLib._createRandom_shuffle_

_CosmoBolognaLib._createRandom_shuffleTOT__swigconstant(_CosmoBolognaLib)
_createRandom_shuffleTOT_ = _CosmoBolognaLib._createRandom_shuffleTOT_

_CosmoBolognaLib._createRandom_cone__swigconstant(_CosmoBolognaLib)
_createRandom_cone_ = _CosmoBolognaLib._createRandom_cone_

_CosmoBolognaLib._createRandom_MANGLE__swigconstant(_CosmoBolognaLib)
_createRandom_MANGLE_ = _CosmoBolognaLib._createRandom_MANGLE_

_CosmoBolognaLib._createRandom_VIPERS__swigconstant(_CosmoBolognaLib)
_createRandom_VIPERS_ = _CosmoBolognaLib._createRandom_VIPERS_

_CosmoBolognaLib._LaZeVo__swigconstant(_CosmoBolognaLib)
_LaZeVo_ = _CosmoBolognaLib._LaZeVo_

_CosmoBolognaLib._RIVA__swigconstant(_CosmoBolognaLib)
_RIVA_ = _CosmoBolognaLib._RIVA_

_CosmoBolognaLib._ascii__swigconstant(_CosmoBolognaLib)
_ascii_ = _CosmoBolognaLib._ascii_

_CosmoBolognaLib._binary__swigconstant(_CosmoBolognaLib)
_binary_ = _CosmoBolognaLib._binary_
class Gadget_Header(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Gadget_Header, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Gadget_Header, name)
    __repr__ = _swig_repr
    __swig_setmethods__["npart"] = _CosmoBolognaLib.Gadget_Header_npart_set
    __swig_getmethods__["npart"] = _CosmoBolognaLib.Gadget_Header_npart_get
    if _newclass:
        npart = _swig_property(_CosmoBolognaLib.Gadget_Header_npart_get, _CosmoBolognaLib.Gadget_Header_npart_set)
    __swig_setmethods__["massarr"] = _CosmoBolognaLib.Gadget_Header_massarr_set
    __swig_getmethods__["massarr"] = _CosmoBolognaLib.Gadget_Header_massarr_get
    if _newclass:
        massarr = _swig_property(_CosmoBolognaLib.Gadget_Header_massarr_get, _CosmoBolognaLib.Gadget_Header_massarr_set)
    __swig_setmethods__["time"] = _CosmoBolognaLib.Gadget_Header_time_set
    __swig_getmethods__["time"] = _CosmoBolognaLib.Gadget_Header_time_get
    if _newclass:
        time = _swig_property(_CosmoBolognaLib.Gadget_Header_time_get, _CosmoBolognaLib.Gadget_Header_time_set)
    __swig_setmethods__["redshift"] = _CosmoBolognaLib.Gadget_Header_redshift_set
    __swig_getmethods__["redshift"] = _CosmoBolognaLib.Gadget_Header_redshift_get
    if _newclass:
        redshift = _swig_property(_CosmoBolognaLib.Gadget_Header_redshift_get, _CosmoBolognaLib.Gadget_Header_redshift_set)
    __swig_setmethods__["flag_sfr"] = _CosmoBolognaLib.Gadget_Header_flag_sfr_set
    __swig_getmethods__["flag_sfr"] = _CosmoBolognaLib.Gadget_Header_flag_sfr_get
    if _newclass:
        flag_sfr = _swig_property(_CosmoBolognaLib.Gadget_Header_flag_sfr_get, _CosmoBolognaLib.Gadget_Header_flag_sfr_set)
    __swig_setmethods__["flag_feedback"] = _CosmoBolognaLib.Gadget_Header_flag_feedback_set
    __swig_getmethods__["flag_feedback"] = _CosmoBolognaLib.Gadget_Header_flag_feedback_get
    if _newclass:
        flag_feedback = _swig_property(_CosmoBolognaLib.Gadget_Header_flag_feedback_get, _CosmoBolognaLib.Gadget_Header_flag_feedback_set)
    __swig_setmethods__["npartTotal"] = _CosmoBolognaLib.Gadget_Header_npartTotal_set
    __swig_getmethods__["npartTotal"] = _CosmoBolognaLib.Gadget_Header_npartTotal_get
    if _newclass:
        npartTotal = _swig_property(_CosmoBolognaLib.Gadget_Header_npartTotal_get, _CosmoBolognaLib.Gadget_Header_npartTotal_set)
    __swig_setmethods__["flag_cool"] = _CosmoBolognaLib.Gadget_Header_flag_cool_set
    __swig_getmethods__["flag_cool"] = _CosmoBolognaLib.Gadget_Header_flag_cool_get
    if _newclass:
        flag_cool = _swig_property(_CosmoBolognaLib.Gadget_Header_flag_cool_get, _CosmoBolognaLib.Gadget_Header_flag_cool_set)
    __swig_setmethods__["nfiles"] = _CosmoBolognaLib.Gadget_Header_nfiles_set
    __swig_getmethods__["nfiles"] = _CosmoBolognaLib.Gadget_Header_nfiles_get
    if _newclass:
        nfiles = _swig_property(_CosmoBolognaLib.Gadget_Header_nfiles_get, _CosmoBolognaLib.Gadget_Header_nfiles_set)
    __swig_setmethods__["boxsize"] = _CosmoBolognaLib.Gadget_Header_boxsize_set
    __swig_getmethods__["boxsize"] = _CosmoBolognaLib.Gadget_Header_boxsize_get
    if _newclass:
        boxsize = _swig_property(_CosmoBolognaLib.Gadget_Header_boxsize_get, _CosmoBolognaLib.Gadget_Header_boxsize_set)
    __swig_setmethods__["omega0"] = _CosmoBolognaLib.Gadget_Header_omega0_set
    __swig_getmethods__["omega0"] = _CosmoBolognaLib.Gadget_Header_omega0_get
    if _newclass:
        omega0 = _swig_property(_CosmoBolognaLib.Gadget_Header_omega0_get, _CosmoBolognaLib.Gadget_Header_omega0_set)
    __swig_setmethods__["omegaLambda"] = _CosmoBolognaLib.Gadget_Header_omegaLambda_set
    __swig_getmethods__["omegaLambda"] = _CosmoBolognaLib.Gadget_Header_omegaLambda_get
    if _newclass:
        omegaLambda = _swig_property(_CosmoBolognaLib.Gadget_Header_omegaLambda_get, _CosmoBolognaLib.Gadget_Header_omegaLambda_set)
    __swig_setmethods__["hubblePar"] = _CosmoBolognaLib.Gadget_Header_hubblePar_set
    __swig_getmethods__["hubblePar"] = _CosmoBolognaLib.Gadget_Header_hubblePar_get
    if _newclass:
        hubblePar = _swig_property(_CosmoBolognaLib.Gadget_Header_hubblePar_get, _CosmoBolognaLib.Gadget_Header_hubblePar_set)
    __swig_setmethods__["flag_stAge"] = _CosmoBolognaLib.Gadget_Header_flag_stAge_set
    __swig_getmethods__["flag_stAge"] = _CosmoBolognaLib.Gadget_Header_flag_stAge_get
    if _newclass:
        flag_stAge = _swig_property(_CosmoBolognaLib.Gadget_Header_flag_stAge_get, _CosmoBolognaLib.Gadget_Header_flag_stAge_set)
    __swig_setmethods__["flag_Metals"] = _CosmoBolognaLib.Gadget_Header_flag_Metals_set
    __swig_getmethods__["flag_Metals"] = _CosmoBolognaLib.Gadget_Header_flag_Metals_get
    if _newclass:
        flag_Metals = _swig_property(_CosmoBolognaLib.Gadget_Header_flag_Metals_get, _CosmoBolognaLib.Gadget_Header_flag_Metals_set)
    __swig_setmethods__["npart_totHW"] = _CosmoBolognaLib.Gadget_Header_npart_totHW_set
    __swig_getmethods__["npart_totHW"] = _CosmoBolognaLib.Gadget_Header_npart_totHW_get
    if _newclass:
        npart_totHW = _swig_property(_CosmoBolognaLib.Gadget_Header_npart_totHW_get, _CosmoBolognaLib.Gadget_Header_npart_totHW_set)
    __swig_setmethods__["flag_entr_ics"] = _CosmoBolognaLib.Gadget_Header_flag_entr_ics_set
    __swig_getmethods__["flag_entr_ics"] = _CosmoBolognaLib.Gadget_Header_flag_entr_ics_get
    if _newclass:
        flag_entr_ics = _swig_property(_CosmoBolognaLib.Gadget_Header_flag_entr_ics_get, _CosmoBolognaLib.Gadget_Header_flag_entr_ics_set)
    __swig_setmethods__["la"] = _CosmoBolognaLib.Gadget_Header_la_set
    __swig_getmethods__["la"] = _CosmoBolognaLib.Gadget_Header_la_get
    if _newclass:
        la = _swig_property(_CosmoBolognaLib.Gadget_Header_la_get, _CosmoBolognaLib.Gadget_Header_la_set)

    def __init__(self):
        this = _CosmoBolognaLib.new_Gadget_Header()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Gadget_Header
    __del__ = lambda self: None
Gadget_Header_swigregister = _CosmoBolognaLib.Gadget_Header_swigregister
Gadget_Header_swigregister(Gadget_Header)


def VarCast(output_vector, input_vector):
    return _CosmoBolognaLib.VarCast(output_vector, input_vector)
VarCast = _CosmoBolognaLib.VarCast
class Catalogue(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Catalogue, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Catalogue, name)
    __repr__ = _swig_repr
    __swig_destroy__ = _CosmoBolognaLib.delete_Catalogue
    __del__ = lambda self: None

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Catalogue(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this

    def sample(self):
        return _CosmoBolognaLib.Catalogue_sample(self)

    def index(self):
        return _CosmoBolognaLib.Catalogue_index(self)

    def xx(self, i):
        return _CosmoBolognaLib.Catalogue_xx(self, i)

    def yy(self, i):
        return _CosmoBolognaLib.Catalogue_yy(self, i)

    def zz(self, i):
        return _CosmoBolognaLib.Catalogue_zz(self, i)

    def vx(self, i):
        return _CosmoBolognaLib.Catalogue_vx(self, i)

    def vy(self, i):
        return _CosmoBolognaLib.Catalogue_vy(self, i)

    def vz(self, i):
        return _CosmoBolognaLib.Catalogue_vz(self, i)

    def dc(self, i):
        return _CosmoBolognaLib.Catalogue_dc(self, i)

    def ra(self, i):
        return _CosmoBolognaLib.Catalogue_ra(self, i)

    def dec(self, i):
        return _CosmoBolognaLib.Catalogue_dec(self, i)

    def redshift(self, i):
        return _CosmoBolognaLib.Catalogue_redshift(self, i)

    def weight(self, i):
        return _CosmoBolognaLib.Catalogue_weight(self, i)

    def x_displacement(self, i):
        return _CosmoBolognaLib.Catalogue_x_displacement(self, i)

    def y_displacement(self, i):
        return _CosmoBolognaLib.Catalogue_y_displacement(self, i)

    def z_displacement(self, i):
        return _CosmoBolognaLib.Catalogue_z_displacement(self, i)

    def region_list(self):
        return _CosmoBolognaLib.Catalogue_region_list(self)

    def nRegions(self):
        return _CosmoBolognaLib.Catalogue_nRegions(self)

    def field_list(self):
        return _CosmoBolognaLib.Catalogue_field_list(self)

    def nFields(self):
        return _CosmoBolognaLib.Catalogue_nFields(self)

    def mass(self, i):
        return _CosmoBolognaLib.Catalogue_mass(self, i)

    def magnitude(self, i):
        return _CosmoBolognaLib.Catalogue_magnitude(self, i)

    def radius(self, i):
        return _CosmoBolognaLib.Catalogue_radius(self, i)

    def densityContrast(self, i):
        return _CosmoBolognaLib.Catalogue_densityContrast(self, i)

    def centralDensity(self, i):
        return _CosmoBolognaLib.Catalogue_centralDensity(self, i)

    def ID(self, i):
        return _CosmoBolognaLib.Catalogue_ID(self, i)

    def richness(self, i):
        return _CosmoBolognaLib.Catalogue_richness(self, i)

    def generic(self, i):
        return _CosmoBolognaLib.Catalogue_generic(self, i)

    def region(self, *args):
        return _CosmoBolognaLib.Catalogue_region(self, *args)

    def field(self, *args):
        return _CosmoBolognaLib.Catalogue_field(self, *args)

    def var(self, *args):
        return _CosmoBolognaLib.Catalogue_var(self, *args)

    def catalogue_object(self, *args):
        return _CosmoBolognaLib.Catalogue_catalogue_object(self, *args)

    def coordinate(self, i):
        return _CosmoBolognaLib.Catalogue_coordinate(self, i)

    def nObjects(self):
        return _CosmoBolognaLib.Catalogue_nObjects(self)

    def Min(self, var_name):
        return _CosmoBolognaLib.Catalogue_Min(self, var_name)

    def Max(self, var_name):
        return _CosmoBolognaLib.Catalogue_Max(self, var_name)

    def stats_var(self, *args):
        return _CosmoBolognaLib.Catalogue_stats_var(self, *args)

    def var_distr(self, *args):
        return _CosmoBolognaLib.Catalogue_var_distr(self, *args)

    def weightedN(self):
        return _CosmoBolognaLib.Catalogue_weightedN(self)

    def volume(self):
        return _CosmoBolognaLib.Catalogue_volume(self)

    def numdensity(self):
        return _CosmoBolognaLib.Catalogue_numdensity(self)

    def mps(self):
        return _CosmoBolognaLib.Catalogue_mps(self)

    def set_region(self, region):
        return _CosmoBolognaLib.Catalogue_set_region(self, region)

    def set_field(self, field):
        return _CosmoBolognaLib.Catalogue_set_field(self, field)

    def set_var(self, *args):
        return _CosmoBolognaLib.Catalogue_set_var(self, *args)

    def compute_centralDensity(self, tracers_catalogue, ChM, density, ratio=0.1):
        return _CosmoBolognaLib.Catalogue_compute_centralDensity(self, tracers_catalogue, ChM, density, ratio)

    def compute_densityContrast(self, tracers_catalogue, ChM, ratio=0.1):
        return _CosmoBolognaLib.Catalogue_compute_densityContrast(self, tracers_catalogue, ChM, ratio)

    def remove_object(self, index):
        return _CosmoBolognaLib.Catalogue_remove_object(self, index)

    def remove_objects(self, *args):
        return _CosmoBolognaLib.Catalogue_remove_objects(self, *args)

    def swap_objects(self, ind1, ind2):
        return _CosmoBolognaLib.Catalogue_swap_objects(self, ind1, ind2)

    def sort(self, var_name, increasing=False):
        return _CosmoBolognaLib.Catalogue_sort(self, var_name, increasing)

    def computeComovingCoordinates(self, *args):
        return _CosmoBolognaLib.Catalogue_computeComovingCoordinates(self, *args)

    def computePolarCoordinates(self, *args):
        return _CosmoBolognaLib.Catalogue_computePolarCoordinates(self, *args)

    def normalizeComovingCoordinates(self):
        return _CosmoBolognaLib.Catalogue_normalizeComovingCoordinates(self)

    def restoreComovingCoordinates(self):
        return _CosmoBolognaLib.Catalogue_restoreComovingCoordinates(self)

    def Order(self, *args):
        return _CosmoBolognaLib.Catalogue_Order(self, *args)

    def write_comoving_coordinates(self, outputFile):
        return _CosmoBolognaLib.Catalogue_write_comoving_coordinates(self, outputFile)

    def write_obs_coordinates(self, outputFile):
        return _CosmoBolognaLib.Catalogue_write_obs_coordinates(self, outputFile)

    def write_data(self, *args):
        return _CosmoBolognaLib.Catalogue_write_data(self, *args)

    def distance(self, i, obj):
        return _CosmoBolognaLib.Catalogue_distance(self, i, obj)

    def angsep_xyz(self, i, obj):
        return _CosmoBolognaLib.Catalogue_angsep_xyz(self, i, obj)

    def __iadd__(self, *args):
        return _CosmoBolognaLib.Catalogue___iadd__(self, *args)

    def cutted_catalogue(self, var_name, down, up, excl=0):
        return _CosmoBolognaLib.Catalogue_cutted_catalogue(self, var_name, down, up, excl)

    def diluted_catalogue(self, nSub, seed=3213):
        return _CosmoBolognaLib.Catalogue_diluted_catalogue(self, nSub, seed)

    def smooth(self, *args):
        return _CosmoBolognaLib.Catalogue_smooth(self, *args)

    def nObjects_condition(self, arg2, arg3, arg4, excl=0):
        return _CosmoBolognaLib.Catalogue_nObjects_condition(self, arg2, arg3, arg4, excl)

    def weightedN_condition(self, arg2, arg3, arg4, excl=0):
        return _CosmoBolognaLib.Catalogue_weightedN_condition(self, arg2, arg3, arg4, excl)

    def compute_catalogueProperties(self, *args):
        return _CosmoBolognaLib.Catalogue_compute_catalogueProperties(self, *args)

    def counts_in_cell(self, *args):
        return _CosmoBolognaLib.Catalogue_counts_in_cell(self, *args)

    def density_field(self, cell_size, mask_catalogue, interpolation_type=0, kernel_radius=0., useMass=False):
        return _CosmoBolognaLib.Catalogue_density_field(self, cell_size, mask_catalogue, interpolation_type, kernel_radius, useMass)

    def add_object(self, *args):
        return _CosmoBolognaLib.Catalogue_add_object(self, *args)

    def add_objects(self, *args):
        return _CosmoBolognaLib.Catalogue_add_objects(self, *args)

    def replace_objects(self, *args):
        return _CosmoBolognaLib.Catalogue_replace_objects(self, *args)
Catalogue_swigregister = _CosmoBolognaLib.Catalogue_swigregister
Catalogue_swigregister(Catalogue)

class ChainMesh_Catalogue(ChainMesh):
    __swig_setmethods__ = {}
    for _s in [ChainMesh]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, ChainMesh_Catalogue, name, value)
    __swig_getmethods__ = {}
    for _s in [ChainMesh]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, ChainMesh_Catalogue, name)
    __repr__ = _swig_repr
    __swig_destroy__ = _CosmoBolognaLib.delete_ChainMesh_Catalogue
    __del__ = lambda self: None

    def set_par(self, cell_size, cat, rmax):
        return _CosmoBolognaLib.ChainMesh_Catalogue_set_par(self, cell_size, cat, rmax)

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_ChainMesh_Catalogue(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this

    def get_order(self, order):
        return _CosmoBolognaLib.ChainMesh_Catalogue_get_order(self, order)

    def object_list(self, object, ii=-1):
        return _CosmoBolognaLib.ChainMesh_Catalogue_object_list(self, object, ii)

    def catalogue(self):
        return _CosmoBolognaLib.ChainMesh_Catalogue_catalogue(self)
ChainMesh_Catalogue_swigregister = _CosmoBolognaLib.ChainMesh_Catalogue_swigregister
ChainMesh_Catalogue_swigregister(ChainMesh_Catalogue)

class Void(Object):
    __swig_setmethods__ = {}
    for _s in [Object]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Void, name, value)
    __swig_getmethods__ = {}
    for _s in [Object]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Void, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Void(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Void
    __del__ = lambda self: None

    def radius(self):
        return _CosmoBolognaLib.Void_radius(self)

    def densityContrast(self):
        return _CosmoBolognaLib.Void_densityContrast(self)

    def centralDensity(self):
        return _CosmoBolognaLib.Void_centralDensity(self)

    def ID(self):
        return _CosmoBolognaLib.Void_ID(self)

    def set_radius(self, *args):
        return _CosmoBolognaLib.Void_set_radius(self, *args)

    def set_densityContrast(self, *args):
        return _CosmoBolognaLib.Void_set_densityContrast(self, *args)

    def set_centralDensity(self, *args):
        return _CosmoBolognaLib.Void_set_centralDensity(self, *args)

    def set_ID(self, *args):
        return _CosmoBolognaLib.Void_set_ID(self, *args)
Void_swigregister = _CosmoBolognaLib.Void_swigregister
Void_swigregister(Void)

class RandomObjVec(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, RandomObjVec, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, RandomObjVec, name)
    __repr__ = _swig_repr

    def iterator(self):
        return _CosmoBolognaLib.RandomObjVec_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _CosmoBolognaLib.RandomObjVec___nonzero__(self)

    def __bool__(self):
        return _CosmoBolognaLib.RandomObjVec___bool__(self)

    def __len__(self):
        return _CosmoBolognaLib.RandomObjVec___len__(self)

    def __getslice__(self, i, j):
        return _CosmoBolognaLib.RandomObjVec___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _CosmoBolognaLib.RandomObjVec___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _CosmoBolognaLib.RandomObjVec___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _CosmoBolognaLib.RandomObjVec___delitem__(self, *args)

    def __getitem__(self, *args):
        return _CosmoBolognaLib.RandomObjVec___getitem__(self, *args)

    def __setitem__(self, *args):
        return _CosmoBolognaLib.RandomObjVec___setitem__(self, *args)

    def pop(self):
        return _CosmoBolognaLib.RandomObjVec_pop(self)

    def append(self, x):
        return _CosmoBolognaLib.RandomObjVec_append(self, x)

    def empty(self):
        return _CosmoBolognaLib.RandomObjVec_empty(self)

    def size(self):
        return _CosmoBolognaLib.RandomObjVec_size(self)

    def swap(self, v):
        return _CosmoBolognaLib.RandomObjVec_swap(self, v)

    def begin(self):
        return _CosmoBolognaLib.RandomObjVec_begin(self)

    def end(self):
        return _CosmoBolognaLib.RandomObjVec_end(self)

    def rbegin(self):
        return _CosmoBolognaLib.RandomObjVec_rbegin(self)

    def rend(self):
        return _CosmoBolognaLib.RandomObjVec_rend(self)

    def clear(self):
        return _CosmoBolognaLib.RandomObjVec_clear(self)

    def get_allocator(self):
        return _CosmoBolognaLib.RandomObjVec_get_allocator(self)

    def pop_back(self):
        return _CosmoBolognaLib.RandomObjVec_pop_back(self)

    def erase(self, *args):
        return _CosmoBolognaLib.RandomObjVec_erase(self, *args)

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_RandomObjVec(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this

    def push_back(self, x):
        return _CosmoBolognaLib.RandomObjVec_push_back(self, x)

    def front(self):
        return _CosmoBolognaLib.RandomObjVec_front(self)

    def back(self):
        return _CosmoBolognaLib.RandomObjVec_back(self)

    def assign(self, n, x):
        return _CosmoBolognaLib.RandomObjVec_assign(self, n, x)

    def resize(self, *args):
        return _CosmoBolognaLib.RandomObjVec_resize(self, *args)

    def insert(self, *args):
        return _CosmoBolognaLib.RandomObjVec_insert(self, *args)

    def reserve(self, n):
        return _CosmoBolognaLib.RandomObjVec_reserve(self, n)

    def capacity(self):
        return _CosmoBolognaLib.RandomObjVec_capacity(self)
    __swig_destroy__ = _CosmoBolognaLib.delete_RandomObjVec
    __del__ = lambda self: None
RandomObjVec_swigregister = _CosmoBolognaLib.RandomObjVec_swigregister
RandomObjVec_swigregister(RandomObjVec)

class MockVec(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, MockVec, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, MockVec, name)
    __repr__ = _swig_repr

    def iterator(self):
        return _CosmoBolognaLib.MockVec_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _CosmoBolognaLib.MockVec___nonzero__(self)

    def __bool__(self):
        return _CosmoBolognaLib.MockVec___bool__(self)

    def __len__(self):
        return _CosmoBolognaLib.MockVec___len__(self)

    def __getslice__(self, i, j):
        return _CosmoBolognaLib.MockVec___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _CosmoBolognaLib.MockVec___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _CosmoBolognaLib.MockVec___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _CosmoBolognaLib.MockVec___delitem__(self, *args)

    def __getitem__(self, *args):
        return _CosmoBolognaLib.MockVec___getitem__(self, *args)

    def __setitem__(self, *args):
        return _CosmoBolognaLib.MockVec___setitem__(self, *args)

    def pop(self):
        return _CosmoBolognaLib.MockVec_pop(self)

    def append(self, x):
        return _CosmoBolognaLib.MockVec_append(self, x)

    def empty(self):
        return _CosmoBolognaLib.MockVec_empty(self)

    def size(self):
        return _CosmoBolognaLib.MockVec_size(self)

    def swap(self, v):
        return _CosmoBolognaLib.MockVec_swap(self, v)

    def begin(self):
        return _CosmoBolognaLib.MockVec_begin(self)

    def end(self):
        return _CosmoBolognaLib.MockVec_end(self)

    def rbegin(self):
        return _CosmoBolognaLib.MockVec_rbegin(self)

    def rend(self):
        return _CosmoBolognaLib.MockVec_rend(self)

    def clear(self):
        return _CosmoBolognaLib.MockVec_clear(self)

    def get_allocator(self):
        return _CosmoBolognaLib.MockVec_get_allocator(self)

    def pop_back(self):
        return _CosmoBolognaLib.MockVec_pop_back(self)

    def erase(self, *args):
        return _CosmoBolognaLib.MockVec_erase(self, *args)

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_MockVec(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this

    def push_back(self, x):
        return _CosmoBolognaLib.MockVec_push_back(self, x)

    def front(self):
        return _CosmoBolognaLib.MockVec_front(self)

    def back(self):
        return _CosmoBolognaLib.MockVec_back(self)

    def assign(self, n, x):
        return _CosmoBolognaLib.MockVec_assign(self, n, x)

    def resize(self, *args):
        return _CosmoBolognaLib.MockVec_resize(self, *args)

    def insert(self, *args):
        return _CosmoBolognaLib.MockVec_insert(self, *args)

    def reserve(self, n):
        return _CosmoBolognaLib.MockVec_reserve(self, n)

    def capacity(self):
        return _CosmoBolognaLib.MockVec_capacity(self)
    __swig_destroy__ = _CosmoBolognaLib.delete_MockVec
    __del__ = lambda self: None
MockVec_swigregister = _CosmoBolognaLib.MockVec_swigregister
MockVec_swigregister(MockVec)

class HaloVec(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, HaloVec, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, HaloVec, name)
    __repr__ = _swig_repr

    def iterator(self):
        return _CosmoBolognaLib.HaloVec_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _CosmoBolognaLib.HaloVec___nonzero__(self)

    def __bool__(self):
        return _CosmoBolognaLib.HaloVec___bool__(self)

    def __len__(self):
        return _CosmoBolognaLib.HaloVec___len__(self)

    def __getslice__(self, i, j):
        return _CosmoBolognaLib.HaloVec___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _CosmoBolognaLib.HaloVec___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _CosmoBolognaLib.HaloVec___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _CosmoBolognaLib.HaloVec___delitem__(self, *args)

    def __getitem__(self, *args):
        return _CosmoBolognaLib.HaloVec___getitem__(self, *args)

    def __setitem__(self, *args):
        return _CosmoBolognaLib.HaloVec___setitem__(self, *args)

    def pop(self):
        return _CosmoBolognaLib.HaloVec_pop(self)

    def append(self, x):
        return _CosmoBolognaLib.HaloVec_append(self, x)

    def empty(self):
        return _CosmoBolognaLib.HaloVec_empty(self)

    def size(self):
        return _CosmoBolognaLib.HaloVec_size(self)

    def swap(self, v):
        return _CosmoBolognaLib.HaloVec_swap(self, v)

    def begin(self):
        return _CosmoBolognaLib.HaloVec_begin(self)

    def end(self):
        return _CosmoBolognaLib.HaloVec_end(self)

    def rbegin(self):
        return _CosmoBolognaLib.HaloVec_rbegin(self)

    def rend(self):
        return _CosmoBolognaLib.HaloVec_rend(self)

    def clear(self):
        return _CosmoBolognaLib.HaloVec_clear(self)

    def get_allocator(self):
        return _CosmoBolognaLib.HaloVec_get_allocator(self)

    def pop_back(self):
        return _CosmoBolognaLib.HaloVec_pop_back(self)

    def erase(self, *args):
        return _CosmoBolognaLib.HaloVec_erase(self, *args)

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_HaloVec(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this

    def push_back(self, x):
        return _CosmoBolognaLib.HaloVec_push_back(self, x)

    def front(self):
        return _CosmoBolognaLib.HaloVec_front(self)

    def back(self):
        return _CosmoBolognaLib.HaloVec_back(self)

    def assign(self, n, x):
        return _CosmoBolognaLib.HaloVec_assign(self, n, x)

    def resize(self, *args):
        return _CosmoBolognaLib.HaloVec_resize(self, *args)

    def insert(self, *args):
        return _CosmoBolognaLib.HaloVec_insert(self, *args)

    def reserve(self, n):
        return _CosmoBolognaLib.HaloVec_reserve(self, n)

    def capacity(self):
        return _CosmoBolognaLib.HaloVec_capacity(self)
    __swig_destroy__ = _CosmoBolognaLib.delete_HaloVec
    __del__ = lambda self: None
HaloVec_swigregister = _CosmoBolognaLib.HaloVec_swigregister
HaloVec_swigregister(HaloVec)

class GalaxyVec(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, GalaxyVec, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, GalaxyVec, name)
    __repr__ = _swig_repr

    def iterator(self):
        return _CosmoBolognaLib.GalaxyVec_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _CosmoBolognaLib.GalaxyVec___nonzero__(self)

    def __bool__(self):
        return _CosmoBolognaLib.GalaxyVec___bool__(self)

    def __len__(self):
        return _CosmoBolognaLib.GalaxyVec___len__(self)

    def __getslice__(self, i, j):
        return _CosmoBolognaLib.GalaxyVec___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _CosmoBolognaLib.GalaxyVec___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _CosmoBolognaLib.GalaxyVec___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _CosmoBolognaLib.GalaxyVec___delitem__(self, *args)

    def __getitem__(self, *args):
        return _CosmoBolognaLib.GalaxyVec___getitem__(self, *args)

    def __setitem__(self, *args):
        return _CosmoBolognaLib.GalaxyVec___setitem__(self, *args)

    def pop(self):
        return _CosmoBolognaLib.GalaxyVec_pop(self)

    def append(self, x):
        return _CosmoBolognaLib.GalaxyVec_append(self, x)

    def empty(self):
        return _CosmoBolognaLib.GalaxyVec_empty(self)

    def size(self):
        return _CosmoBolognaLib.GalaxyVec_size(self)

    def swap(self, v):
        return _CosmoBolognaLib.GalaxyVec_swap(self, v)

    def begin(self):
        return _CosmoBolognaLib.GalaxyVec_begin(self)

    def end(self):
        return _CosmoBolognaLib.GalaxyVec_end(self)

    def rbegin(self):
        return _CosmoBolognaLib.GalaxyVec_rbegin(self)

    def rend(self):
        return _CosmoBolognaLib.GalaxyVec_rend(self)

    def clear(self):
        return _CosmoBolognaLib.GalaxyVec_clear(self)

    def get_allocator(self):
        return _CosmoBolognaLib.GalaxyVec_get_allocator(self)

    def pop_back(self):
        return _CosmoBolognaLib.GalaxyVec_pop_back(self)

    def erase(self, *args):
        return _CosmoBolognaLib.GalaxyVec_erase(self, *args)

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_GalaxyVec(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this

    def push_back(self, x):
        return _CosmoBolognaLib.GalaxyVec_push_back(self, x)

    def front(self):
        return _CosmoBolognaLib.GalaxyVec_front(self)

    def back(self):
        return _CosmoBolognaLib.GalaxyVec_back(self)

    def assign(self, n, x):
        return _CosmoBolognaLib.GalaxyVec_assign(self, n, x)

    def resize(self, *args):
        return _CosmoBolognaLib.GalaxyVec_resize(self, *args)

    def insert(self, *args):
        return _CosmoBolognaLib.GalaxyVec_insert(self, *args)

    def reserve(self, n):
        return _CosmoBolognaLib.GalaxyVec_reserve(self, n)

    def capacity(self):
        return _CosmoBolognaLib.GalaxyVec_capacity(self)
    __swig_destroy__ = _CosmoBolognaLib.delete_GalaxyVec
    __del__ = lambda self: None
GalaxyVec_swigregister = _CosmoBolognaLib.GalaxyVec_swigregister
GalaxyVec_swigregister(GalaxyVec)

class ClusterVec(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, ClusterVec, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, ClusterVec, name)
    __repr__ = _swig_repr

    def iterator(self):
        return _CosmoBolognaLib.ClusterVec_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _CosmoBolognaLib.ClusterVec___nonzero__(self)

    def __bool__(self):
        return _CosmoBolognaLib.ClusterVec___bool__(self)

    def __len__(self):
        return _CosmoBolognaLib.ClusterVec___len__(self)

    def __getslice__(self, i, j):
        return _CosmoBolognaLib.ClusterVec___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _CosmoBolognaLib.ClusterVec___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _CosmoBolognaLib.ClusterVec___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _CosmoBolognaLib.ClusterVec___delitem__(self, *args)

    def __getitem__(self, *args):
        return _CosmoBolognaLib.ClusterVec___getitem__(self, *args)

    def __setitem__(self, *args):
        return _CosmoBolognaLib.ClusterVec___setitem__(self, *args)

    def pop(self):
        return _CosmoBolognaLib.ClusterVec_pop(self)

    def append(self, x):
        return _CosmoBolognaLib.ClusterVec_append(self, x)

    def empty(self):
        return _CosmoBolognaLib.ClusterVec_empty(self)

    def size(self):
        return _CosmoBolognaLib.ClusterVec_size(self)

    def swap(self, v):
        return _CosmoBolognaLib.ClusterVec_swap(self, v)

    def begin(self):
        return _CosmoBolognaLib.ClusterVec_begin(self)

    def end(self):
        return _CosmoBolognaLib.ClusterVec_end(self)

    def rbegin(self):
        return _CosmoBolognaLib.ClusterVec_rbegin(self)

    def rend(self):
        return _CosmoBolognaLib.ClusterVec_rend(self)

    def clear(self):
        return _CosmoBolognaLib.ClusterVec_clear(self)

    def get_allocator(self):
        return _CosmoBolognaLib.ClusterVec_get_allocator(self)

    def pop_back(self):
        return _CosmoBolognaLib.ClusterVec_pop_back(self)

    def erase(self, *args):
        return _CosmoBolognaLib.ClusterVec_erase(self, *args)

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_ClusterVec(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this

    def push_back(self, x):
        return _CosmoBolognaLib.ClusterVec_push_back(self, x)

    def front(self):
        return _CosmoBolognaLib.ClusterVec_front(self)

    def back(self):
        return _CosmoBolognaLib.ClusterVec_back(self)

    def assign(self, n, x):
        return _CosmoBolognaLib.ClusterVec_assign(self, n, x)

    def resize(self, *args):
        return _CosmoBolognaLib.ClusterVec_resize(self, *args)

    def insert(self, *args):
        return _CosmoBolognaLib.ClusterVec_insert(self, *args)

    def reserve(self, n):
        return _CosmoBolognaLib.ClusterVec_reserve(self, n)

    def capacity(self):
        return _CosmoBolognaLib.ClusterVec_capacity(self)
    __swig_destroy__ = _CosmoBolognaLib.delete_ClusterVec
    __del__ = lambda self: None
ClusterVec_swigregister = _CosmoBolognaLib.ClusterVec_swigregister
ClusterVec_swigregister(ClusterVec)

class ObjectPtr(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, ObjectPtr, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, ObjectPtr, name)
    __repr__ = _swig_repr

    def __init__(self):
        this = _CosmoBolognaLib.new_ObjectPtr()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_ObjectPtr
    __del__ = lambda self: None
ObjectPtr_swigregister = _CosmoBolognaLib.ObjectPtr_swigregister
ObjectPtr_swigregister(ObjectPtr)

class VoidPtr(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, VoidPtr, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, VoidPtr, name)
    __repr__ = _swig_repr

    def __init__(self):
        this = _CosmoBolognaLib.new_VoidPtr()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_VoidPtr
    __del__ = lambda self: None
VoidPtr_swigregister = _CosmoBolognaLib.VoidPtr_swigregister
VoidPtr_swigregister(VoidPtr)

class VarVec(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, VarVec, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, VarVec, name)
    __repr__ = _swig_repr

    def iterator(self):
        return _CosmoBolognaLib.VarVec_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _CosmoBolognaLib.VarVec___nonzero__(self)

    def __bool__(self):
        return _CosmoBolognaLib.VarVec___bool__(self)

    def __len__(self):
        return _CosmoBolognaLib.VarVec___len__(self)

    def __getslice__(self, i, j):
        return _CosmoBolognaLib.VarVec___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _CosmoBolognaLib.VarVec___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _CosmoBolognaLib.VarVec___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _CosmoBolognaLib.VarVec___delitem__(self, *args)

    def __getitem__(self, *args):
        return _CosmoBolognaLib.VarVec___getitem__(self, *args)

    def __setitem__(self, *args):
        return _CosmoBolognaLib.VarVec___setitem__(self, *args)

    def pop(self):
        return _CosmoBolognaLib.VarVec_pop(self)

    def append(self, x):
        return _CosmoBolognaLib.VarVec_append(self, x)

    def empty(self):
        return _CosmoBolognaLib.VarVec_empty(self)

    def size(self):
        return _CosmoBolognaLib.VarVec_size(self)

    def swap(self, v):
        return _CosmoBolognaLib.VarVec_swap(self, v)

    def begin(self):
        return _CosmoBolognaLib.VarVec_begin(self)

    def end(self):
        return _CosmoBolognaLib.VarVec_end(self)

    def rbegin(self):
        return _CosmoBolognaLib.VarVec_rbegin(self)

    def rend(self):
        return _CosmoBolognaLib.VarVec_rend(self)

    def clear(self):
        return _CosmoBolognaLib.VarVec_clear(self)

    def get_allocator(self):
        return _CosmoBolognaLib.VarVec_get_allocator(self)

    def pop_back(self):
        return _CosmoBolognaLib.VarVec_pop_back(self)

    def erase(self, *args):
        return _CosmoBolognaLib.VarVec_erase(self, *args)

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_VarVec(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this

    def push_back(self, x):
        return _CosmoBolognaLib.VarVec_push_back(self, x)

    def front(self):
        return _CosmoBolognaLib.VarVec_front(self)

    def back(self):
        return _CosmoBolognaLib.VarVec_back(self)

    def assign(self, n, x):
        return _CosmoBolognaLib.VarVec_assign(self, n, x)

    def resize(self, *args):
        return _CosmoBolognaLib.VarVec_resize(self, *args)

    def insert(self, *args):
        return _CosmoBolognaLib.VarVec_insert(self, *args)

    def reserve(self, n):
        return _CosmoBolognaLib.VarVec_reserve(self, n)

    def capacity(self):
        return _CosmoBolognaLib.VarVec_capacity(self)
    __swig_destroy__ = _CosmoBolognaLib.delete_VarVec
    __del__ = lambda self: None
VarVec_swigregister = _CosmoBolognaLib.VarVec_swigregister
VarVec_swigregister(VarVec)

class LogNormal(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, LogNormal, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, LogNormal, name)
    __repr__ = _swig_repr
    __swig_destroy__ = _CosmoBolognaLib.delete_LogNormal
    __del__ = lambda self: None

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_LogNormal(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this

    def setCatalogues(self, data, random):
        return _CosmoBolognaLib.LogNormal_setCatalogues(self, data, random)

    def setParameters_from_xi(self, rr, xi):
        return _CosmoBolognaLib.LogNormal_setParameters_from_xi(self, rr, xi)

    def setParameters_from_model(self, *args):
        return _CosmoBolognaLib.LogNormal_setParameters_from_model(self, *args)

    def set_nLN(self, nLN):
        return _CosmoBolognaLib.LogNormal_set_nLN(self, nLN)

    def nLN(self):
        return _CosmoBolognaLib.LogNormal_nLN(self)

    def LNCat(self, i):
        return _CosmoBolognaLib.LogNormal_LNCat(self, i)

    def generate_LogNormal_mock(self, *args):
        return _CosmoBolognaLib.LogNormal_generate_LogNormal_mock(self, *args)
LogNormal_swigregister = _CosmoBolognaLib.LogNormal_swigregister
LogNormal_swigregister(LogNormal)

class LogNormalFull(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, LogNormalFull, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, LogNormalFull, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_LogNormalFull(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_LogNormalFull
    __del__ = lambda self: None

    def set_cosmo_function(self, *args):
        return _CosmoBolognaLib.LogNormalFull_set_cosmo_function(self, *args)

    def set_grid_parameters(self, *args):
        return _CosmoBolognaLib.LogNormalFull_set_grid_parameters(self, *args)

    def generate_lognormal(self, start, stop, doRSD, smoothing_radius, nObjects, redshift, bias, dir, filename, seed, setfields=1, use_random=True):
        return _CosmoBolognaLib.LogNormalFull_generate_lognormal(self, start, stop, doRSD, smoothing_radius, nObjects, redshift, bias, dir, filename, seed, setfields, use_random)
LogNormalFull_swigregister = _CosmoBolognaLib.LogNormalFull_swigregister
LogNormalFull_swigregister(LogNormalFull)


_CosmoBolognaLib._Poisson__swigconstant(_CosmoBolognaLib)
_Poisson_ = _CosmoBolognaLib._Poisson_

_CosmoBolognaLib._Jackknife__swigconstant(_CosmoBolognaLib)
_Jackknife_ = _CosmoBolognaLib._Jackknife_

_CosmoBolognaLib._Bootstrap__swigconstant(_CosmoBolognaLib)
_Bootstrap_ = _CosmoBolognaLib._Bootstrap_

_CosmoBolognaLib._JackknifeTest__swigconstant(_CosmoBolognaLib)
_JackknifeTest_ = _CosmoBolognaLib._JackknifeTest_

_CosmoBolognaLib._BootstrapTest__swigconstant(_CosmoBolognaLib)
_BootstrapTest_ = _CosmoBolognaLib._BootstrapTest_

_CosmoBolognaLib._None__swigconstant(_CosmoBolognaLib)
_None_ = _CosmoBolognaLib._None_
class Measure(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Measure, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Measure, name)
    __repr__ = _swig_repr

    def __init__(self):
        this = _CosmoBolognaLib.new_Measure()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Measure
    __del__ = lambda self: None

    def dataset(self):
        return _CosmoBolognaLib.Measure_dataset(self)
Measure_swigregister = _CosmoBolognaLib.Measure_swigregister
Measure_swigregister(Measure)


_CosmoBolognaLib._angular_lin__swigconstant(_CosmoBolognaLib)
_angular_lin_ = _CosmoBolognaLib._angular_lin_

_CosmoBolognaLib._angular_log__swigconstant(_CosmoBolognaLib)
_angular_log_ = _CosmoBolognaLib._angular_log_

_CosmoBolognaLib._comoving_lin__swigconstant(_CosmoBolognaLib)
_comoving_lin_ = _CosmoBolognaLib._comoving_lin_

_CosmoBolognaLib._comoving_log__swigconstant(_CosmoBolognaLib)
_comoving_log_ = _CosmoBolognaLib._comoving_log_

_CosmoBolognaLib._comovingCartesian_linlin__swigconstant(_CosmoBolognaLib)
_comovingCartesian_linlin_ = _CosmoBolognaLib._comovingCartesian_linlin_

_CosmoBolognaLib._comovingCartesian_linlog__swigconstant(_CosmoBolognaLib)
_comovingCartesian_linlog_ = _CosmoBolognaLib._comovingCartesian_linlog_

_CosmoBolognaLib._comovingCartesian_loglin__swigconstant(_CosmoBolognaLib)
_comovingCartesian_loglin_ = _CosmoBolognaLib._comovingCartesian_loglin_

_CosmoBolognaLib._comovingCartesian_loglog__swigconstant(_CosmoBolognaLib)
_comovingCartesian_loglog_ = _CosmoBolognaLib._comovingCartesian_loglog_

_CosmoBolognaLib._comovingPolar_linlin__swigconstant(_CosmoBolognaLib)
_comovingPolar_linlin_ = _CosmoBolognaLib._comovingPolar_linlin_

_CosmoBolognaLib._comovingPolar_linlog__swigconstant(_CosmoBolognaLib)
_comovingPolar_linlog_ = _CosmoBolognaLib._comovingPolar_linlog_

_CosmoBolognaLib._comovingPolar_loglin__swigconstant(_CosmoBolognaLib)
_comovingPolar_loglin_ = _CosmoBolognaLib._comovingPolar_loglin_

_CosmoBolognaLib._comovingPolar_loglog__swigconstant(_CosmoBolognaLib)
_comovingPolar_loglog_ = _CosmoBolognaLib._comovingPolar_loglog_

_CosmoBolognaLib._standard__swigconstant(_CosmoBolognaLib)
_standard_ = _CosmoBolognaLib._standard_

_CosmoBolognaLib._extra__swigconstant(_CosmoBolognaLib)
_extra_ = _CosmoBolognaLib._extra_
class Pair(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Pair, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Pair, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _CosmoBolognaLib.delete_Pair
    __del__ = lambda self: None
    __swig_getmethods__["Create"] = lambda x: _CosmoBolognaLib.Pair_Create
    if _newclass:
        Create = staticmethod(_CosmoBolognaLib.Pair_Create)

    def pairDim(self):
        return _CosmoBolognaLib.Pair_pairDim(self)

    def pairType(self):
        return _CosmoBolognaLib.Pair_pairType(self)

    def pairInfo(self):
        return _CosmoBolognaLib.Pair_pairInfo(self)

    def angularUnits(self):
        return _CosmoBolognaLib.Pair_angularUnits(self)

    def angularWeight(self):
        return _CosmoBolognaLib.Pair_angularWeight(self)

    def scale(self, *args):
        return _CosmoBolognaLib.Pair_scale(self, *args)

    def scale_mean(self, *args):
        return _CosmoBolognaLib.Pair_scale_mean(self, *args)

    def scale_S(self, *args):
        return _CosmoBolognaLib.Pair_scale_S(self, *args)

    def scale_sigma(self, *args):
        return _CosmoBolognaLib.Pair_scale_sigma(self, *args)

    def PP1D(self, *args):
        return _CosmoBolognaLib.Pair_PP1D(self, *args)

    def PP1D_weighted(self, *args):
        return _CosmoBolognaLib.Pair_PP1D_weighted(self, *args)

    def scale_D1(self, *args):
        return _CosmoBolognaLib.Pair_scale_D1(self, *args)

    def scale_D2(self, *args):
        return _CosmoBolognaLib.Pair_scale_D2(self, *args)

    def scale_D1_mean(self, *args):
        return _CosmoBolognaLib.Pair_scale_D1_mean(self, *args)

    def scale_D2_mean(self, *args):
        return _CosmoBolognaLib.Pair_scale_D2_mean(self, *args)

    def scale_D1_S(self, *args):
        return _CosmoBolognaLib.Pair_scale_D1_S(self, *args)

    def scale_D2_S(self, *args):
        return _CosmoBolognaLib.Pair_scale_D2_S(self, *args)

    def scale_D1_sigma(self, *args):
        return _CosmoBolognaLib.Pair_scale_D1_sigma(self, *args)

    def scale_D2_sigma(self, *args):
        return _CosmoBolognaLib.Pair_scale_D2_sigma(self, *args)

    def z_mean(self, *args):
        return _CosmoBolognaLib.Pair_z_mean(self, *args)

    def z_mean2D(self):
        return _CosmoBolognaLib.Pair_z_mean2D(self)

    def z_S(self, *args):
        return _CosmoBolognaLib.Pair_z_S(self, *args)

    def z_sigma(self, *args):
        return _CosmoBolognaLib.Pair_z_sigma(self, *args)

    def z_sigma2D(self):
        return _CosmoBolognaLib.Pair_z_sigma2D(self)

    def PP2D(self, *args):
        return _CosmoBolognaLib.Pair_PP2D(self, *args)

    def PP2D_weighted(self, *args):
        return _CosmoBolognaLib.Pair_PP2D_weighted(self, *args)

    def binSize_inv(self):
        return _CosmoBolognaLib.Pair_binSize_inv(self)

    def nbins(self):
        return _CosmoBolognaLib.Pair_nbins(self)

    def shift(self):
        return _CosmoBolognaLib.Pair_shift(self)

    def binSize_inv_D1(self):
        return _CosmoBolognaLib.Pair_binSize_inv_D1(self)

    def nbins_D1(self):
        return _CosmoBolognaLib.Pair_nbins_D1(self)

    def shift_D1(self):
        return _CosmoBolognaLib.Pair_shift_D1(self)

    def binSize_inv_D2(self):
        return _CosmoBolognaLib.Pair_binSize_inv_D2(self)

    def nbins_D2(self):
        return _CosmoBolognaLib.Pair_nbins_D2(self)

    def shift_D2(self):
        return _CosmoBolognaLib.Pair_shift_D2(self)

    def sMin(self):
        return _CosmoBolognaLib.Pair_sMin(self)

    def sMax(self):
        return _CosmoBolognaLib.Pair_sMax(self)

    def sMin_D1(self):
        return _CosmoBolognaLib.Pair_sMin_D1(self)

    def sMax_D1(self):
        return _CosmoBolognaLib.Pair_sMax_D1(self)

    def sMin_D2(self):
        return _CosmoBolognaLib.Pair_sMin_D2(self)

    def sMax_D2(self):
        return _CosmoBolognaLib.Pair_sMax_D2(self)

    def set_PP1D(self, i, pp):
        return _CosmoBolognaLib.Pair_set_PP1D(self, i, pp)

    def set_PP1D_weighted(self, i, pp):
        return _CosmoBolognaLib.Pair_set_PP1D_weighted(self, i, pp)

    def set_PP2D(self, i, j, pp):
        return _CosmoBolognaLib.Pair_set_PP2D(self, i, j, pp)

    def set_PP2D_weighted(self, i, j, pp):
        return _CosmoBolognaLib.Pair_set_PP2D_weighted(self, i, j, pp)

    def add_data1D(self, *args):
        return _CosmoBolognaLib.Pair_add_data1D(self, *args)

    def add_data2D(self, *args):
        return _CosmoBolognaLib.Pair_add_data2D(self, *args)

    def get_pair(self, *args):
        return _CosmoBolognaLib.Pair_get_pair(self, *args)

    def set_pair(self, *args):
        return _CosmoBolognaLib.Pair_set_pair(self, *args)

    def put(self, obj1, obj2):
        return _CosmoBolognaLib.Pair_put(self, obj1, obj2)

    def Sum(self, pp, ww=1):
        return _CosmoBolognaLib.Pair_Sum(self, pp, ww)
Pair_swigregister = _CosmoBolognaLib.Pair_swigregister
Pair_swigregister(Pair)

def Pair_Create(*args):
    return _CosmoBolognaLib.Pair_Create(*args)
Pair_Create = _CosmoBolognaLib.Pair_Create

class Pair1D(Pair):
    __swig_setmethods__ = {}
    for _s in [Pair]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Pair1D, name, value)
    __swig_getmethods__ = {}
    for _s in [Pair]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Pair1D, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _CosmoBolognaLib.delete_Pair1D
    __del__ = lambda self: None

    def scale(self, *args):
        return _CosmoBolognaLib.Pair1D_scale(self, *args)

    def PP1D(self, *args):
        return _CosmoBolognaLib.Pair1D_PP1D(self, *args)

    def PP1D_weighted(self, *args):
        return _CosmoBolognaLib.Pair1D_PP1D_weighted(self, *args)

    def binSize_inv(self):
        return _CosmoBolognaLib.Pair1D_binSize_inv(self)

    def nbins(self):
        return _CosmoBolognaLib.Pair1D_nbins(self)

    def shift(self):
        return _CosmoBolognaLib.Pair1D_shift(self)

    def set_scale(self, i, ss):
        return _CosmoBolognaLib.Pair1D_set_scale(self, i, ss)

    def set_PP1D(self, i, pp):
        return _CosmoBolognaLib.Pair1D_set_PP1D(self, i, pp)

    def set_PP1D_weighted(self, i, pp):
        return _CosmoBolognaLib.Pair1D_set_PP1D_weighted(self, i, pp)

    def add_data1D(self, *args):
        return _CosmoBolognaLib.Pair1D_add_data1D(self, *args)

    def Sum(self, pair, ww=1):
        return _CosmoBolognaLib.Pair1D_Sum(self, pair, ww)
Pair1D_swigregister = _CosmoBolognaLib.Pair1D_swigregister
Pair1D_swigregister(Pair1D)

class Pair1D_angular(Pair1D):
    __swig_setmethods__ = {}
    for _s in [Pair1D]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Pair1D_angular, name, value)
    __swig_getmethods__ = {}
    for _s in [Pair1D]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Pair1D_angular, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _CosmoBolognaLib.delete_Pair1D_angular
    __del__ = lambda self: None

    def sMin(self):
        return _CosmoBolognaLib.Pair1D_angular_sMin(self)

    def sMax(self):
        return _CosmoBolognaLib.Pair1D_angular_sMax(self)
Pair1D_angular_swigregister = _CosmoBolognaLib.Pair1D_angular_swigregister
Pair1D_angular_swigregister(Pair1D_angular)

class Pair1D_angular_lin(Pair1D_angular):
    __swig_setmethods__ = {}
    for _s in [Pair1D_angular]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Pair1D_angular_lin, name, value)
    __swig_getmethods__ = {}
    for _s in [Pair1D_angular]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Pair1D_angular_lin, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Pair1D_angular_lin(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Pair1D_angular_lin
    __del__ = lambda self: None

    def get_pair(self, obj1, obj2, kk, wkk):
        return _CosmoBolognaLib.Pair1D_angular_lin_get_pair(self, obj1, obj2, kk, wkk)

    def set_pair(self, kk, wkk, weight=1):
        return _CosmoBolognaLib.Pair1D_angular_lin_set_pair(self, kk, wkk, weight)

    def put(self, obj1, obj2):
        return _CosmoBolognaLib.Pair1D_angular_lin_put(self, obj1, obj2)
Pair1D_angular_lin_swigregister = _CosmoBolognaLib.Pair1D_angular_lin_swigregister
Pair1D_angular_lin_swigregister(Pair1D_angular_lin)

class Pair1D_angular_log(Pair1D_angular):
    __swig_setmethods__ = {}
    for _s in [Pair1D_angular]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Pair1D_angular_log, name, value)
    __swig_getmethods__ = {}
    for _s in [Pair1D_angular]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Pair1D_angular_log, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Pair1D_angular_log(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Pair1D_angular_log
    __del__ = lambda self: None

    def get_pair(self, obj1, obj2, kk, wkk):
        return _CosmoBolognaLib.Pair1D_angular_log_get_pair(self, obj1, obj2, kk, wkk)

    def set_pair(self, kk, wkk, weight=1):
        return _CosmoBolognaLib.Pair1D_angular_log_set_pair(self, kk, wkk, weight)

    def put(self, obj1, obj2):
        return _CosmoBolognaLib.Pair1D_angular_log_put(self, obj1, obj2)
Pair1D_angular_log_swigregister = _CosmoBolognaLib.Pair1D_angular_log_swigregister
Pair1D_angular_log_swigregister(Pair1D_angular_log)

class Pair1D_comoving(Pair1D):
    __swig_setmethods__ = {}
    for _s in [Pair1D]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Pair1D_comoving, name, value)
    __swig_getmethods__ = {}
    for _s in [Pair1D]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Pair1D_comoving, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _CosmoBolognaLib.delete_Pair1D_comoving
    __del__ = lambda self: None

    def sMin(self):
        return _CosmoBolognaLib.Pair1D_comoving_sMin(self)

    def sMax(self):
        return _CosmoBolognaLib.Pair1D_comoving_sMax(self)
Pair1D_comoving_swigregister = _CosmoBolognaLib.Pair1D_comoving_swigregister
Pair1D_comoving_swigregister(Pair1D_comoving)

class Pair1D_comoving_lin(Pair1D_comoving):
    __swig_setmethods__ = {}
    for _s in [Pair1D_comoving]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Pair1D_comoving_lin, name, value)
    __swig_getmethods__ = {}
    for _s in [Pair1D_comoving]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Pair1D_comoving_lin, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Pair1D_comoving_lin(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Pair1D_comoving_lin
    __del__ = lambda self: None

    def get_pair(self, obj1, obj2, kk, wkk):
        return _CosmoBolognaLib.Pair1D_comoving_lin_get_pair(self, obj1, obj2, kk, wkk)

    def set_pair(self, kk, wkk, weight=1):
        return _CosmoBolognaLib.Pair1D_comoving_lin_set_pair(self, kk, wkk, weight)

    def put(self, obj1, obj2):
        return _CosmoBolognaLib.Pair1D_comoving_lin_put(self, obj1, obj2)
Pair1D_comoving_lin_swigregister = _CosmoBolognaLib.Pair1D_comoving_lin_swigregister
Pair1D_comoving_lin_swigregister(Pair1D_comoving_lin)

class Pair1D_comoving_log(Pair1D_comoving):
    __swig_setmethods__ = {}
    for _s in [Pair1D_comoving]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Pair1D_comoving_log, name, value)
    __swig_getmethods__ = {}
    for _s in [Pair1D_comoving]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Pair1D_comoving_log, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Pair1D_comoving_log(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Pair1D_comoving_log
    __del__ = lambda self: None

    def get_pair(self, obj1, obj2, kk, wkk):
        return _CosmoBolognaLib.Pair1D_comoving_log_get_pair(self, obj1, obj2, kk, wkk)

    def set_pair(self, kk, wkk, weight=1):
        return _CosmoBolognaLib.Pair1D_comoving_log_set_pair(self, kk, wkk, weight)

    def put(self, obj1, obj2):
        return _CosmoBolognaLib.Pair1D_comoving_log_put(self, obj1, obj2)
Pair1D_comoving_log_swigregister = _CosmoBolognaLib.Pair1D_comoving_log_swigregister
Pair1D_comoving_log_swigregister(Pair1D_comoving_log)

class Pair2D(Pair):
    __swig_setmethods__ = {}
    for _s in [Pair]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Pair2D, name, value)
    __swig_getmethods__ = {}
    for _s in [Pair]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Pair2D, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _CosmoBolognaLib.delete_Pair2D
    __del__ = lambda self: None

    def scale_D1(self, *args):
        return _CosmoBolognaLib.Pair2D_scale_D1(self, *args)

    def scale_D2(self, *args):
        return _CosmoBolognaLib.Pair2D_scale_D2(self, *args)

    def PP2D(self, *args):
        return _CosmoBolognaLib.Pair2D_PP2D(self, *args)

    def PP2D_weighted(self, *args):
        return _CosmoBolognaLib.Pair2D_PP2D_weighted(self, *args)

    def binSize_inv_D1(self):
        return _CosmoBolognaLib.Pair2D_binSize_inv_D1(self)

    def nbins_D1(self):
        return _CosmoBolognaLib.Pair2D_nbins_D1(self)

    def shift_D1(self):
        return _CosmoBolognaLib.Pair2D_shift_D1(self)

    def binSize_inv_D2(self):
        return _CosmoBolognaLib.Pair2D_binSize_inv_D2(self)

    def nbins_D2(self):
        return _CosmoBolognaLib.Pair2D_nbins_D2(self)

    def shift_D2(self):
        return _CosmoBolognaLib.Pair2D_shift_D2(self)

    def set_scale_D1(self, i, pp):
        return _CosmoBolognaLib.Pair2D_set_scale_D1(self, i, pp)

    def set_scale_D2(self, i, pp):
        return _CosmoBolognaLib.Pair2D_set_scale_D2(self, i, pp)

    def set_PP2D(self, i, j, pp):
        return _CosmoBolognaLib.Pair2D_set_PP2D(self, i, j, pp)

    def set_PP2D_weighted(self, i, j, pp):
        return _CosmoBolognaLib.Pair2D_set_PP2D_weighted(self, i, j, pp)

    def add_data2D(self, *args):
        return _CosmoBolognaLib.Pair2D_add_data2D(self, *args)

    def Sum(self, pp, ww=1):
        return _CosmoBolognaLib.Pair2D_Sum(self, pp, ww)
Pair2D_swigregister = _CosmoBolognaLib.Pair2D_swigregister
Pair2D_swigregister(Pair2D)

class Pair2D_comovingCartesian(Pair2D):
    __swig_setmethods__ = {}
    for _s in [Pair2D]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Pair2D_comovingCartesian, name, value)
    __swig_getmethods__ = {}
    for _s in [Pair2D]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Pair2D_comovingCartesian, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _CosmoBolognaLib.delete_Pair2D_comovingCartesian
    __del__ = lambda self: None

    def sMin_D1(self):
        return _CosmoBolognaLib.Pair2D_comovingCartesian_sMin_D1(self)

    def sMax_D1(self):
        return _CosmoBolognaLib.Pair2D_comovingCartesian_sMax_D1(self)

    def sMin_D2(self):
        return _CosmoBolognaLib.Pair2D_comovingCartesian_sMin_D2(self)

    def sMax_D2(self):
        return _CosmoBolognaLib.Pair2D_comovingCartesian_sMax_D2(self)
Pair2D_comovingCartesian_swigregister = _CosmoBolognaLib.Pair2D_comovingCartesian_swigregister
Pair2D_comovingCartesian_swigregister(Pair2D_comovingCartesian)

class Pair2D_comovingCartesian_linlin(Pair2D_comovingCartesian):
    __swig_setmethods__ = {}
    for _s in [Pair2D_comovingCartesian]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Pair2D_comovingCartesian_linlin, name, value)
    __swig_getmethods__ = {}
    for _s in [Pair2D_comovingCartesian]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Pair2D_comovingCartesian_linlin, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Pair2D_comovingCartesian_linlin(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Pair2D_comovingCartesian_linlin
    __del__ = lambda self: None

    def get_pair(self, obj1, obj2, ir, jr, ww):
        return _CosmoBolognaLib.Pair2D_comovingCartesian_linlin_get_pair(self, obj1, obj2, ir, jr, ww)

    def set_pair(self, ir, jr, ww, weight=1):
        return _CosmoBolognaLib.Pair2D_comovingCartesian_linlin_set_pair(self, ir, jr, ww, weight)

    def put(self, obj1, obj2):
        return _CosmoBolognaLib.Pair2D_comovingCartesian_linlin_put(self, obj1, obj2)
Pair2D_comovingCartesian_linlin_swigregister = _CosmoBolognaLib.Pair2D_comovingCartesian_linlin_swigregister
Pair2D_comovingCartesian_linlin_swigregister(Pair2D_comovingCartesian_linlin)

class Pair2D_comovingCartesian_loglin(Pair2D_comovingCartesian):
    __swig_setmethods__ = {}
    for _s in [Pair2D_comovingCartesian]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Pair2D_comovingCartesian_loglin, name, value)
    __swig_getmethods__ = {}
    for _s in [Pair2D_comovingCartesian]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Pair2D_comovingCartesian_loglin, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Pair2D_comovingCartesian_loglin(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Pair2D_comovingCartesian_loglin
    __del__ = lambda self: None

    def get_pair(self, obj1, obj2, ir, jr, ww):
        return _CosmoBolognaLib.Pair2D_comovingCartesian_loglin_get_pair(self, obj1, obj2, ir, jr, ww)

    def set_pair(self, ir, jr, ww, weight=1):
        return _CosmoBolognaLib.Pair2D_comovingCartesian_loglin_set_pair(self, ir, jr, ww, weight)

    def put(self, obj1, obj2):
        return _CosmoBolognaLib.Pair2D_comovingCartesian_loglin_put(self, obj1, obj2)
Pair2D_comovingCartesian_loglin_swigregister = _CosmoBolognaLib.Pair2D_comovingCartesian_loglin_swigregister
Pair2D_comovingCartesian_loglin_swigregister(Pair2D_comovingCartesian_loglin)

class Pair2D_comovingCartesian_linlog(Pair2D_comovingCartesian):
    __swig_setmethods__ = {}
    for _s in [Pair2D_comovingCartesian]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Pair2D_comovingCartesian_linlog, name, value)
    __swig_getmethods__ = {}
    for _s in [Pair2D_comovingCartesian]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Pair2D_comovingCartesian_linlog, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Pair2D_comovingCartesian_linlog(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Pair2D_comovingCartesian_linlog
    __del__ = lambda self: None

    def get_pair(self, obj1, obj2, ir, jr, ww):
        return _CosmoBolognaLib.Pair2D_comovingCartesian_linlog_get_pair(self, obj1, obj2, ir, jr, ww)

    def set_pair(self, ir, jr, ww, weight=1):
        return _CosmoBolognaLib.Pair2D_comovingCartesian_linlog_set_pair(self, ir, jr, ww, weight)

    def put(self, obj1, obj2):
        return _CosmoBolognaLib.Pair2D_comovingCartesian_linlog_put(self, obj1, obj2)
Pair2D_comovingCartesian_linlog_swigregister = _CosmoBolognaLib.Pair2D_comovingCartesian_linlog_swigregister
Pair2D_comovingCartesian_linlog_swigregister(Pair2D_comovingCartesian_linlog)

class Pair2D_comovingCartesian_loglog(Pair2D_comovingCartesian):
    __swig_setmethods__ = {}
    for _s in [Pair2D_comovingCartesian]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Pair2D_comovingCartesian_loglog, name, value)
    __swig_getmethods__ = {}
    for _s in [Pair2D_comovingCartesian]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Pair2D_comovingCartesian_loglog, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Pair2D_comovingCartesian_loglog(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Pair2D_comovingCartesian_loglog
    __del__ = lambda self: None

    def get_pair(self, obj1, obj2, ir, jr, ww):
        return _CosmoBolognaLib.Pair2D_comovingCartesian_loglog_get_pair(self, obj1, obj2, ir, jr, ww)

    def set_pair(self, ir, jr, ww, weight=1):
        return _CosmoBolognaLib.Pair2D_comovingCartesian_loglog_set_pair(self, ir, jr, ww, weight)

    def put(self, obj1, obj2):
        return _CosmoBolognaLib.Pair2D_comovingCartesian_loglog_put(self, obj1, obj2)
Pair2D_comovingCartesian_loglog_swigregister = _CosmoBolognaLib.Pair2D_comovingCartesian_loglog_swigregister
Pair2D_comovingCartesian_loglog_swigregister(Pair2D_comovingCartesian_loglog)

class Pair2D_comovingPolar(Pair2D):
    __swig_setmethods__ = {}
    for _s in [Pair2D]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Pair2D_comovingPolar, name, value)
    __swig_getmethods__ = {}
    for _s in [Pair2D]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Pair2D_comovingPolar, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _CosmoBolognaLib.delete_Pair2D_comovingPolar
    __del__ = lambda self: None

    def sMin_D1(self):
        return _CosmoBolognaLib.Pair2D_comovingPolar_sMin_D1(self)

    def sMax_D1(self):
        return _CosmoBolognaLib.Pair2D_comovingPolar_sMax_D1(self)

    def sMin_D2(self):
        return _CosmoBolognaLib.Pair2D_comovingPolar_sMin_D2(self)

    def sMax_D2(self):
        return _CosmoBolognaLib.Pair2D_comovingPolar_sMax_D2(self)
Pair2D_comovingPolar_swigregister = _CosmoBolognaLib.Pair2D_comovingPolar_swigregister
Pair2D_comovingPolar_swigregister(Pair2D_comovingPolar)

class Pair2D_comovingPolar_linlin(Pair2D_comovingPolar):
    __swig_setmethods__ = {}
    for _s in [Pair2D_comovingPolar]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Pair2D_comovingPolar_linlin, name, value)
    __swig_getmethods__ = {}
    for _s in [Pair2D_comovingPolar]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Pair2D_comovingPolar_linlin, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Pair2D_comovingPolar_linlin(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Pair2D_comovingPolar_linlin
    __del__ = lambda self: None

    def get_pair(self, obj1, obj2, ir, jr, ww):
        return _CosmoBolognaLib.Pair2D_comovingPolar_linlin_get_pair(self, obj1, obj2, ir, jr, ww)

    def set_pair(self, ir, jr, ww, weight=1):
        return _CosmoBolognaLib.Pair2D_comovingPolar_linlin_set_pair(self, ir, jr, ww, weight)

    def put(self, obj1, obj2):
        return _CosmoBolognaLib.Pair2D_comovingPolar_linlin_put(self, obj1, obj2)
Pair2D_comovingPolar_linlin_swigregister = _CosmoBolognaLib.Pair2D_comovingPolar_linlin_swigregister
Pair2D_comovingPolar_linlin_swigregister(Pair2D_comovingPolar_linlin)

class Pair2D_comovingPolar_loglin(Pair2D_comovingPolar):
    __swig_setmethods__ = {}
    for _s in [Pair2D_comovingPolar]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Pair2D_comovingPolar_loglin, name, value)
    __swig_getmethods__ = {}
    for _s in [Pair2D_comovingPolar]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Pair2D_comovingPolar_loglin, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Pair2D_comovingPolar_loglin(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Pair2D_comovingPolar_loglin
    __del__ = lambda self: None

    def get_pair(self, obj1, obj2, ir, jr, ww):
        return _CosmoBolognaLib.Pair2D_comovingPolar_loglin_get_pair(self, obj1, obj2, ir, jr, ww)

    def set_pair(self, ir, jr, ww, weight=1):
        return _CosmoBolognaLib.Pair2D_comovingPolar_loglin_set_pair(self, ir, jr, ww, weight)

    def put(self, obj1, obj2):
        return _CosmoBolognaLib.Pair2D_comovingPolar_loglin_put(self, obj1, obj2)
Pair2D_comovingPolar_loglin_swigregister = _CosmoBolognaLib.Pair2D_comovingPolar_loglin_swigregister
Pair2D_comovingPolar_loglin_swigregister(Pair2D_comovingPolar_loglin)

class Pair2D_comovingPolar_linlog(Pair2D_comovingPolar):
    __swig_setmethods__ = {}
    for _s in [Pair2D_comovingPolar]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Pair2D_comovingPolar_linlog, name, value)
    __swig_getmethods__ = {}
    for _s in [Pair2D_comovingPolar]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Pair2D_comovingPolar_linlog, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Pair2D_comovingPolar_linlog(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Pair2D_comovingPolar_linlog
    __del__ = lambda self: None

    def get_pair(self, obj1, obj2, ir, jr, ww):
        return _CosmoBolognaLib.Pair2D_comovingPolar_linlog_get_pair(self, obj1, obj2, ir, jr, ww)

    def set_pair(self, ir, jr, ww, weight=1):
        return _CosmoBolognaLib.Pair2D_comovingPolar_linlog_set_pair(self, ir, jr, ww, weight)

    def put(self, obj1, obj2):
        return _CosmoBolognaLib.Pair2D_comovingPolar_linlog_put(self, obj1, obj2)
Pair2D_comovingPolar_linlog_swigregister = _CosmoBolognaLib.Pair2D_comovingPolar_linlog_swigregister
Pair2D_comovingPolar_linlog_swigregister(Pair2D_comovingPolar_linlog)

class Pair2D_comovingPolar_loglog(Pair2D_comovingPolar):
    __swig_setmethods__ = {}
    for _s in [Pair2D_comovingPolar]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Pair2D_comovingPolar_loglog, name, value)
    __swig_getmethods__ = {}
    for _s in [Pair2D_comovingPolar]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Pair2D_comovingPolar_loglog, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Pair2D_comovingPolar_loglog(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Pair2D_comovingPolar_loglog
    __del__ = lambda self: None

    def get_pair(self, obj1, obj2, ir, jr, ww):
        return _CosmoBolognaLib.Pair2D_comovingPolar_loglog_get_pair(self, obj1, obj2, ir, jr, ww)

    def set_pair(self, ir, jr, ww, weight=1):
        return _CosmoBolognaLib.Pair2D_comovingPolar_loglog_set_pair(self, ir, jr, ww, weight)

    def put(self, obj1, obj2):
        return _CosmoBolognaLib.Pair2D_comovingPolar_loglog_put(self, obj1, obj2)
Pair2D_comovingPolar_loglog_swigregister = _CosmoBolognaLib.Pair2D_comovingPolar_loglog_swigregister
Pair2D_comovingPolar_loglog_swigregister(Pair2D_comovingPolar_loglog)


_CosmoBolognaLib._1D_monopole__swigconstant(_CosmoBolognaLib)
_1D_monopole_ = _CosmoBolognaLib._1D_monopole_

_CosmoBolognaLib._Cross1D_monopole__swigconstant(_CosmoBolognaLib)
_Cross1D_monopole_ = _CosmoBolognaLib._Cross1D_monopole_

_CosmoBolognaLib._1D_projected__swigconstant(_CosmoBolognaLib)
_1D_projected_ = _CosmoBolognaLib._1D_projected_

_CosmoBolognaLib._1D_deprojected__swigconstant(_CosmoBolognaLib)
_1D_deprojected_ = _CosmoBolognaLib._1D_deprojected_

_CosmoBolognaLib._1D_multipoles__swigconstant(_CosmoBolognaLib)
_1D_multipoles_ = _CosmoBolognaLib._1D_multipoles_

_CosmoBolognaLib._1D_wedges__swigconstant(_CosmoBolognaLib)
_1D_wedges_ = _CosmoBolognaLib._1D_wedges_

_CosmoBolognaLib._1D_filtered__swigconstant(_CosmoBolognaLib)
_1D_filtered_ = _CosmoBolognaLib._1D_filtered_

_CosmoBolognaLib._1D_angular__swigconstant(_CosmoBolognaLib)
_1D_angular_ = _CosmoBolognaLib._1D_angular_

_CosmoBolognaLib._2D_Cartesian__swigconstant(_CosmoBolognaLib)
_2D_Cartesian_ = _CosmoBolognaLib._2D_Cartesian_

_CosmoBolognaLib._2D_polar__swigconstant(_CosmoBolognaLib)
_2D_polar_ = _CosmoBolognaLib._2D_polar_

_CosmoBolognaLib._natural__swigconstant(_CosmoBolognaLib)
_natural_ = _CosmoBolognaLib._natural_

_CosmoBolognaLib._LandySzalay__swigconstant(_CosmoBolognaLib)
_LandySzalay_ = _CosmoBolognaLib._LandySzalay_

_CosmoBolognaLib._SzapudiSzalay__swigconstant(_CosmoBolognaLib)
_SzapudiSzalay_ = _CosmoBolognaLib._SzapudiSzalay_
class TwoPointCorrelation(Measure):
    __swig_setmethods__ = {}
    for _s in [Measure]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, TwoPointCorrelation, name, value)
    __swig_getmethods__ = {}
    for _s in [Measure]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, TwoPointCorrelation, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _CosmoBolognaLib.delete_TwoPointCorrelation
    __del__ = lambda self: None
    __swig_getmethods__["Create"] = lambda x: _CosmoBolognaLib.TwoPointCorrelation_Create
    if _newclass:
        Create = staticmethod(_CosmoBolognaLib.TwoPointCorrelation_Create)

    def twoPType(self):
        return _CosmoBolognaLib.TwoPointCorrelation_twoPType(self)

    def data(self):
        return _CosmoBolognaLib.TwoPointCorrelation_data(self)

    def random(self):
        return _CosmoBolognaLib.TwoPointCorrelation_random(self)

    def dd(self):
        return _CosmoBolognaLib.TwoPointCorrelation_dd(self)

    def rr(self):
        return _CosmoBolognaLib.TwoPointCorrelation_rr(self)

    def dr(self):
        return _CosmoBolognaLib.TwoPointCorrelation_dr(self)

    def compute_extra_info(self):
        return _CosmoBolognaLib.TwoPointCorrelation_compute_extra_info(self)

    def random_dilution_fraction(self):
        return _CosmoBolognaLib.TwoPointCorrelation_random_dilution_fraction(self)

    def xx(self):
        return _CosmoBolognaLib.TwoPointCorrelation_xx(self)

    def yy(self):
        return _CosmoBolognaLib.TwoPointCorrelation_yy(self)

    def xi1D(self):
        return _CosmoBolognaLib.TwoPointCorrelation_xi1D(self)

    def error1D(self):
        return _CosmoBolognaLib.TwoPointCorrelation_error1D(self)

    def xi2D(self):
        return _CosmoBolognaLib.TwoPointCorrelation_xi2D(self)

    def error2D(self):
        return _CosmoBolognaLib.TwoPointCorrelation_error2D(self)

    def xiMonopole(self):
        return _CosmoBolognaLib.TwoPointCorrelation_xiMonopole(self)

    def errorMonopole(self):
        return _CosmoBolognaLib.TwoPointCorrelation_errorMonopole(self)

    def xiQuadrupole(self):
        return _CosmoBolognaLib.TwoPointCorrelation_xiQuadrupole(self)

    def errorQuadrupole(self):
        return _CosmoBolognaLib.TwoPointCorrelation_errorQuadrupole(self)

    def xiOctupole(self):
        return _CosmoBolognaLib.TwoPointCorrelation_xiOctupole(self)

    def errorOctupole(self):
        return _CosmoBolognaLib.TwoPointCorrelation_errorOctupole(self)

    def xiPerpendicular(self):
        return _CosmoBolognaLib.TwoPointCorrelation_xiPerpendicular(self)

    def errorPerpendicular(self):
        return _CosmoBolognaLib.TwoPointCorrelation_errorPerpendicular(self)

    def xiParallel(self):
        return _CosmoBolognaLib.TwoPointCorrelation_xiParallel(self)

    def errorParallel(self):
        return _CosmoBolognaLib.TwoPointCorrelation_errorParallel(self)

    def set_data(self, data):
        return _CosmoBolognaLib.TwoPointCorrelation_set_data(self, data)

    def set_random(self, random):
        return _CosmoBolognaLib.TwoPointCorrelation_set_random(self, random)

    def measure(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation_measure(self, *args)

    def read(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation_read(self, dir, file)

    def write(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation_write(self, *args)

    def read_covariance(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation_read_covariance(self, dir, file)

    def write_covariance(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation_write_covariance(self, dir, file)

    def compute_covariance(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation_compute_covariance(self, *args)

    def PoissonError(self, estimator, dd, rr, dr, nData, nRandom):
        return _CosmoBolognaLib.TwoPointCorrelation_PoissonError(self, estimator, dd, rr, dr, nData, nRandom)
TwoPointCorrelation_swigregister = _CosmoBolognaLib.TwoPointCorrelation_swigregister
TwoPointCorrelation_swigregister(TwoPointCorrelation)

def TwoPointCorrelation_Create(*args):
    return _CosmoBolognaLib.TwoPointCorrelation_Create(*args)
TwoPointCorrelation_Create = _CosmoBolognaLib.TwoPointCorrelation_Create

class TwoPointCorrelation1D(TwoPointCorrelation):
    __swig_setmethods__ = {}
    for _s in [TwoPointCorrelation]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, TwoPointCorrelation1D, name, value)
    __swig_getmethods__ = {}
    for _s in [TwoPointCorrelation]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, TwoPointCorrelation1D, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _CosmoBolognaLib.delete_TwoPointCorrelation1D
    __del__ = lambda self: None

    def xx(self):
        return _CosmoBolognaLib.TwoPointCorrelation1D_xx(self)

    def xi1D(self):
        return _CosmoBolognaLib.TwoPointCorrelation1D_xi1D(self)

    def error1D(self):
        return _CosmoBolognaLib.TwoPointCorrelation1D_error1D(self)

    def measure(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation1D_measure(self, *args)

    def read(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation1D_read(self, dir, file)

    def write(self, dir, file, rank=0):
        return _CosmoBolognaLib.TwoPointCorrelation1D_write(self, dir, file, rank)

    def read_covariance(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation1D_read_covariance(self, dir, file)

    def write_covariance(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation1D_write_covariance(self, dir, file)

    def compute_covariance(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation1D_compute_covariance(self, *args)
TwoPointCorrelation1D_swigregister = _CosmoBolognaLib.TwoPointCorrelation1D_swigregister
TwoPointCorrelation1D_swigregister(TwoPointCorrelation1D)

class TwoPointCorrelation1D_angular(TwoPointCorrelation1D):
    __swig_setmethods__ = {}
    for _s in [TwoPointCorrelation1D]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, TwoPointCorrelation1D_angular, name, value)
    __swig_getmethods__ = {}
    for _s in [TwoPointCorrelation1D]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, TwoPointCorrelation1D_angular, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_TwoPointCorrelation1D_angular(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_TwoPointCorrelation1D_angular
    __del__ = lambda self: None

    def set_parameters(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation1D_angular_set_parameters(self, *args)

    def measure(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation1D_angular_measure(self, *args)

    def read(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation1D_angular_read(self, dir, file)

    def write(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation1D_angular_write(self, *args)
TwoPointCorrelation1D_angular_swigregister = _CosmoBolognaLib.TwoPointCorrelation1D_angular_swigregister
TwoPointCorrelation1D_angular_swigregister(TwoPointCorrelation1D_angular)

class TwoPointCorrelation1D_monopole(TwoPointCorrelation1D):
    __swig_setmethods__ = {}
    for _s in [TwoPointCorrelation1D]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, TwoPointCorrelation1D_monopole, name, value)
    __swig_getmethods__ = {}
    for _s in [TwoPointCorrelation1D]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, TwoPointCorrelation1D_monopole, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_TwoPointCorrelation1D_monopole(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_TwoPointCorrelation1D_monopole
    __del__ = lambda self: None

    def set_parameters(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation1D_monopole_set_parameters(self, *args)

    def measure(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation1D_monopole_measure(self, *args)

    def read(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation1D_monopole_read(self, dir, file)

    def write(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation1D_monopole_write(self, *args)
TwoPointCorrelation1D_monopole_swigregister = _CosmoBolognaLib.TwoPointCorrelation1D_monopole_swigregister
TwoPointCorrelation1D_monopole_swigregister(TwoPointCorrelation1D_monopole)

class TwoPointCorrelation2D(TwoPointCorrelation):
    __swig_setmethods__ = {}
    for _s in [TwoPointCorrelation]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, TwoPointCorrelation2D, name, value)
    __swig_getmethods__ = {}
    for _s in [TwoPointCorrelation]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, TwoPointCorrelation2D, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _CosmoBolognaLib.delete_TwoPointCorrelation2D
    __del__ = lambda self: None

    def xx(self):
        return _CosmoBolognaLib.TwoPointCorrelation2D_xx(self)

    def yy(self):
        return _CosmoBolognaLib.TwoPointCorrelation2D_yy(self)

    def xi2D(self):
        return _CosmoBolognaLib.TwoPointCorrelation2D_xi2D(self)

    def error2D(self):
        return _CosmoBolognaLib.TwoPointCorrelation2D_error2D(self)

    def measure(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation2D_measure(self, *args)

    def read(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation2D_read(self, dir, file)

    def write(self, dir, file, rank=0):
        return _CosmoBolognaLib.TwoPointCorrelation2D_write(self, dir, file, rank)

    def read_covariance(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation2D_read_covariance(self, dir, file)

    def write_covariance(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation2D_write_covariance(self, dir, file)

    def compute_covariance(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation2D_compute_covariance(self, *args)
TwoPointCorrelation2D_swigregister = _CosmoBolognaLib.TwoPointCorrelation2D_swigregister
TwoPointCorrelation2D_swigregister(TwoPointCorrelation2D)

class TwoPointCorrelation2D_cartesian(TwoPointCorrelation2D):
    __swig_setmethods__ = {}
    for _s in [TwoPointCorrelation2D]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, TwoPointCorrelation2D_cartesian, name, value)
    __swig_getmethods__ = {}
    for _s in [TwoPointCorrelation2D]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, TwoPointCorrelation2D_cartesian, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_TwoPointCorrelation2D_cartesian(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_TwoPointCorrelation2D_cartesian
    __del__ = lambda self: None

    def set_parameters(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation2D_cartesian_set_parameters(self, *args)

    def measure(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation2D_cartesian_measure(self, *args)

    def read(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation2D_cartesian_read(self, dir, file)

    def write(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation2D_cartesian_write(self, *args)

    def read_covariance(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation2D_cartesian_read_covariance(self, dir, file)

    def write_covariance(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation2D_cartesian_write_covariance(self, dir, file)

    def compute_covariance(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation2D_cartesian_compute_covariance(self, *args)
TwoPointCorrelation2D_cartesian_swigregister = _CosmoBolognaLib.TwoPointCorrelation2D_cartesian_swigregister
TwoPointCorrelation2D_cartesian_swigregister(TwoPointCorrelation2D_cartesian)

class TwoPointCorrelation2D_polar(TwoPointCorrelation2D):
    __swig_setmethods__ = {}
    for _s in [TwoPointCorrelation2D]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, TwoPointCorrelation2D_polar, name, value)
    __swig_getmethods__ = {}
    for _s in [TwoPointCorrelation2D]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, TwoPointCorrelation2D_polar, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_TwoPointCorrelation2D_polar(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_TwoPointCorrelation2D_polar
    __del__ = lambda self: None

    def set_parameters(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation2D_polar_set_parameters(self, *args)

    def measure(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation2D_polar_measure(self, *args)

    def read(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation2D_polar_read(self, dir, file)

    def write(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation2D_polar_write(self, *args)

    def read_covariance(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation2D_polar_read_covariance(self, dir, file)

    def write_covariance(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation2D_polar_write_covariance(self, dir, file)

    def compute_covariance(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation2D_polar_compute_covariance(self, *args)
TwoPointCorrelation2D_polar_swigregister = _CosmoBolognaLib.TwoPointCorrelation2D_polar_swigregister
TwoPointCorrelation2D_polar_swigregister(TwoPointCorrelation2D_polar)

class TwoPointCorrelation_projected(TwoPointCorrelation2D_cartesian):
    __swig_setmethods__ = {}
    for _s in [TwoPointCorrelation2D_cartesian]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, TwoPointCorrelation_projected, name, value)
    __swig_getmethods__ = {}
    for _s in [TwoPointCorrelation2D_cartesian]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, TwoPointCorrelation_projected, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_TwoPointCorrelation_projected(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_TwoPointCorrelation_projected
    __del__ = lambda self: None

    def yy(self):
        return _CosmoBolognaLib.TwoPointCorrelation_projected_yy(self)

    def xi1D(self):
        return _CosmoBolognaLib.TwoPointCorrelation_projected_xi1D(self)

    def error1D(self):
        return _CosmoBolognaLib.TwoPointCorrelation_projected_error1D(self)

    def xi2D(self):
        return _CosmoBolognaLib.TwoPointCorrelation_projected_xi2D(self)

    def error2D(self):
        return _CosmoBolognaLib.TwoPointCorrelation_projected_error2D(self)

    def measure(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation_projected_measure(self, *args)

    def read(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation_projected_read(self, dir, file)

    def write(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation_projected_write(self, *args)

    def read_covariance(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation_projected_read_covariance(self, dir, file)

    def write_covariance(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation_projected_write_covariance(self, dir, file)

    def compute_covariance(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation_projected_compute_covariance(self, *args)
TwoPointCorrelation_projected_swigregister = _CosmoBolognaLib.TwoPointCorrelation_projected_swigregister
TwoPointCorrelation_projected_swigregister(TwoPointCorrelation_projected)

class TwoPointCorrelation_deprojected(TwoPointCorrelation_projected):
    __swig_setmethods__ = {}
    for _s in [TwoPointCorrelation_projected]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, TwoPointCorrelation_deprojected, name, value)
    __swig_getmethods__ = {}
    for _s in [TwoPointCorrelation_projected]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, TwoPointCorrelation_deprojected, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_TwoPointCorrelation_deprojected(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_TwoPointCorrelation_deprojected
    __del__ = lambda self: None

    def yy(self):
        return _CosmoBolognaLib.TwoPointCorrelation_deprojected_yy(self)

    def xi1D(self):
        return _CosmoBolognaLib.TwoPointCorrelation_deprojected_xi1D(self)

    def error1D(self):
        return _CosmoBolognaLib.TwoPointCorrelation_deprojected_error1D(self)

    def xi2D(self):
        return _CosmoBolognaLib.TwoPointCorrelation_deprojected_xi2D(self)

    def error2D(self):
        return _CosmoBolognaLib.TwoPointCorrelation_deprojected_error2D(self)

    def measure(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation_deprojected_measure(self, *args)

    def read(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation_deprojected_read(self, dir, file)

    def write(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation_deprojected_write(self, *args)
TwoPointCorrelation_deprojected_swigregister = _CosmoBolognaLib.TwoPointCorrelation_deprojected_swigregister
TwoPointCorrelation_deprojected_swigregister(TwoPointCorrelation_deprojected)

class TwoPointCorrelation_multipoles(TwoPointCorrelation2D_polar):
    __swig_setmethods__ = {}
    for _s in [TwoPointCorrelation2D_polar]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, TwoPointCorrelation_multipoles, name, value)
    __swig_getmethods__ = {}
    for _s in [TwoPointCorrelation2D_polar]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, TwoPointCorrelation_multipoles, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_TwoPointCorrelation_multipoles(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_TwoPointCorrelation_multipoles
    __del__ = lambda self: None

    def xx(self):
        return _CosmoBolognaLib.TwoPointCorrelation_multipoles_xx(self)

    def yy(self):
        return _CosmoBolognaLib.TwoPointCorrelation_multipoles_yy(self)

    def xi1D(self):
        return _CosmoBolognaLib.TwoPointCorrelation_multipoles_xi1D(self)

    def error1D(self):
        return _CosmoBolognaLib.TwoPointCorrelation_multipoles_error1D(self)

    def xi2D(self):
        return _CosmoBolognaLib.TwoPointCorrelation_multipoles_xi2D(self)

    def error2D(self):
        return _CosmoBolognaLib.TwoPointCorrelation_multipoles_error2D(self)

    def xiMonopole(self):
        return _CosmoBolognaLib.TwoPointCorrelation_multipoles_xiMonopole(self)

    def errorMonopole(self):
        return _CosmoBolognaLib.TwoPointCorrelation_multipoles_errorMonopole(self)

    def xiQuadrupole(self):
        return _CosmoBolognaLib.TwoPointCorrelation_multipoles_xiQuadrupole(self)

    def errorQuadrupole(self):
        return _CosmoBolognaLib.TwoPointCorrelation_multipoles_errorQuadrupole(self)

    def xiOctupole(self):
        return _CosmoBolognaLib.TwoPointCorrelation_multipoles_xiOctupole(self)

    def errorOctupole(self):
        return _CosmoBolognaLib.TwoPointCorrelation_multipoles_errorOctupole(self)

    def measure(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation_multipoles_measure(self, *args)

    def read(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation_multipoles_read(self, dir, file)

    def write(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation_multipoles_write(self, *args)

    def read_covariance(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation_multipoles_read_covariance(self, dir, file)

    def write_covariance(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation_multipoles_write_covariance(self, dir, file)

    def compute_covariance(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation_multipoles_compute_covariance(self, *args)
TwoPointCorrelation_multipoles_swigregister = _CosmoBolognaLib.TwoPointCorrelation_multipoles_swigregister
TwoPointCorrelation_multipoles_swigregister(TwoPointCorrelation_multipoles)

class TwoPointCorrelation_wedges(TwoPointCorrelation2D_polar):
    __swig_setmethods__ = {}
    for _s in [TwoPointCorrelation2D_polar]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, TwoPointCorrelation_wedges, name, value)
    __swig_getmethods__ = {}
    for _s in [TwoPointCorrelation2D_polar]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, TwoPointCorrelation_wedges, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_TwoPointCorrelation_wedges(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_TwoPointCorrelation_wedges
    __del__ = lambda self: None

    def xx(self):
        return _CosmoBolognaLib.TwoPointCorrelation_wedges_xx(self)

    def xiPerpendicular(self):
        return _CosmoBolognaLib.TwoPointCorrelation_wedges_xiPerpendicular(self)

    def errorPerpendicular(self):
        return _CosmoBolognaLib.TwoPointCorrelation_wedges_errorPerpendicular(self)

    def xiParallel(self):
        return _CosmoBolognaLib.TwoPointCorrelation_wedges_xiParallel(self)

    def errorParallel(self):
        return _CosmoBolognaLib.TwoPointCorrelation_wedges_errorParallel(self)

    def yy(self):
        return _CosmoBolognaLib.TwoPointCorrelation_wedges_yy(self)

    def xi1D(self):
        return _CosmoBolognaLib.TwoPointCorrelation_wedges_xi1D(self)

    def error1D(self):
        return _CosmoBolognaLib.TwoPointCorrelation_wedges_error1D(self)

    def xi2D(self):
        return _CosmoBolognaLib.TwoPointCorrelation_wedges_xi2D(self)

    def error2D(self):
        return _CosmoBolognaLib.TwoPointCorrelation_wedges_error2D(self)

    def measure(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation_wedges_measure(self, *args)

    def read(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation_wedges_read(self, dir, file)

    def write(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation_wedges_write(self, *args)

    def read_covariance(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation_wedges_read_covariance(self, dir, file)

    def write_covariance(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation_wedges_write_covariance(self, dir, file)

    def compute_covariance(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation_wedges_compute_covariance(self, *args)
TwoPointCorrelation_wedges_swigregister = _CosmoBolognaLib.TwoPointCorrelation_wedges_swigregister
TwoPointCorrelation_wedges_swigregister(TwoPointCorrelation_wedges)

class TwoPointCorrelation1D_filtered(TwoPointCorrelation1D_monopole):
    __swig_setmethods__ = {}
    for _s in [TwoPointCorrelation1D_monopole]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, TwoPointCorrelation1D_filtered, name, value)
    __swig_getmethods__ = {}
    for _s in [TwoPointCorrelation1D_monopole]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, TwoPointCorrelation1D_filtered, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_TwoPointCorrelation1D_filtered(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_TwoPointCorrelation1D_filtered
    __del__ = lambda self: None

    def set_parameters(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation1D_filtered_set_parameters(self, *args)

    def measure(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation1D_filtered_measure(self, *args)

    def read(self, dir, file):
        return _CosmoBolognaLib.TwoPointCorrelation1D_filtered_read(self, dir, file)

    def write(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelation1D_filtered_write(self, *args)
TwoPointCorrelation1D_filtered_swigregister = _CosmoBolognaLib.TwoPointCorrelation1D_filtered_swigregister
TwoPointCorrelation1D_filtered_swigregister(TwoPointCorrelation1D_filtered)

class TwoPointCorrelationCross(TwoPointCorrelation):
    __swig_setmethods__ = {}
    for _s in [TwoPointCorrelation]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, TwoPointCorrelationCross, name, value)
    __swig_getmethods__ = {}
    for _s in [TwoPointCorrelation]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, TwoPointCorrelationCross, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _CosmoBolognaLib.delete_TwoPointCorrelationCross
    __del__ = lambda self: None

    def PoissonError(self, estimator, d1d2, rr, d1r, d2r, nData1, nData2, nRandom):
        return _CosmoBolognaLib.TwoPointCorrelationCross_PoissonError(self, estimator, d1d2, rr, d1r, d2r, nData1, nData2, nRandom)
TwoPointCorrelationCross_swigregister = _CosmoBolognaLib.TwoPointCorrelationCross_swigregister
TwoPointCorrelationCross_swigregister(TwoPointCorrelationCross)

class TwoPointCorrelationCross1D(TwoPointCorrelationCross, TwoPointCorrelation1D):
    __swig_setmethods__ = {}
    for _s in [TwoPointCorrelationCross, TwoPointCorrelation1D]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, TwoPointCorrelationCross1D, name, value)
    __swig_getmethods__ = {}
    for _s in [TwoPointCorrelationCross, TwoPointCorrelation1D]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, TwoPointCorrelationCross1D, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _CosmoBolognaLib.delete_TwoPointCorrelationCross1D
    __del__ = lambda self: None

    def measure(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelationCross1D_measure(self, *args)
TwoPointCorrelationCross1D_swigregister = _CosmoBolognaLib.TwoPointCorrelationCross1D_swigregister
TwoPointCorrelationCross1D_swigregister(TwoPointCorrelationCross1D)

class TwoPointCorrelationCross1D_monopole(TwoPointCorrelationCross1D, TwoPointCorrelation1D_monopole):
    __swig_setmethods__ = {}
    for _s in [TwoPointCorrelationCross1D, TwoPointCorrelation1D_monopole]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, TwoPointCorrelationCross1D_monopole, name, value)
    __swig_getmethods__ = {}
    for _s in [TwoPointCorrelationCross1D, TwoPointCorrelation1D_monopole]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, TwoPointCorrelationCross1D_monopole, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_TwoPointCorrelationCross1D_monopole(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_TwoPointCorrelationCross1D_monopole
    __del__ = lambda self: None

    def measure(self, *args):
        return _CosmoBolognaLib.TwoPointCorrelationCross1D_monopole_measure(self, *args)
TwoPointCorrelationCross1D_monopole_swigregister = _CosmoBolognaLib.TwoPointCorrelationCross1D_monopole_swigregister
TwoPointCorrelationCross1D_monopole_swigregister(TwoPointCorrelationCross1D_monopole)


_CosmoBolognaLib._comoving_theta__swigconstant(_CosmoBolognaLib)
_comoving_theta_ = _CosmoBolognaLib._comoving_theta_

_CosmoBolognaLib._comoving_side__swigconstant(_CosmoBolognaLib)
_comoving_side_ = _CosmoBolognaLib._comoving_side_
class Triplet(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Triplet, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Triplet, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _CosmoBolognaLib.delete_Triplet
    __del__ = lambda self: None
    __swig_getmethods__["Create"] = lambda x: _CosmoBolognaLib.Triplet_Create
    if _newclass:
        Create = staticmethod(_CosmoBolognaLib.Triplet_Create)

    def tripletDim(self):
        return _CosmoBolognaLib.Triplet_tripletDim(self)

    def tripletType(self):
        return _CosmoBolognaLib.Triplet_tripletType(self)

    def scale(self, *args):
        return _CosmoBolognaLib.Triplet_scale(self, *args)

    def TT1D(self, *args):
        return _CosmoBolognaLib.Triplet_TT1D(self, *args)

    def scale_D1(self, *args):
        return _CosmoBolognaLib.Triplet_scale_D1(self, *args)

    def scale_D2(self, *args):
        return _CosmoBolognaLib.Triplet_scale_D2(self, *args)

    def TT2D(self, *args):
        return _CosmoBolognaLib.Triplet_TT2D(self, *args)

    def side_s(self):
        return _CosmoBolognaLib.Triplet_side_s(self)

    def side_u(self):
        return _CosmoBolognaLib.Triplet_side_u(self)

    def perc_increase(self):
        return _CosmoBolognaLib.Triplet_perc_increase(self)

    def nbins(self):
        return _CosmoBolognaLib.Triplet_nbins(self)

    def binSize(self):
        return _CosmoBolognaLib.Triplet_binSize(self)

    def side_s_D1(self):
        return _CosmoBolognaLib.Triplet_side_s_D1(self)

    def side_u_D1(self):
        return _CosmoBolognaLib.Triplet_side_u_D1(self)

    def perc_increase_D1(self):
        return _CosmoBolognaLib.Triplet_perc_increase_D1(self)

    def nbins_D1(self):
        return _CosmoBolognaLib.Triplet_nbins_D1(self)

    def binSize_D1(self):
        return _CosmoBolognaLib.Triplet_binSize_D1(self)

    def side_s_D2(self):
        return _CosmoBolognaLib.Triplet_side_s_D2(self)

    def side_u_D2(self):
        return _CosmoBolognaLib.Triplet_side_u_D2(self)

    def perc_increase_D2(self):
        return _CosmoBolognaLib.Triplet_perc_increase_D2(self)

    def nbins_D2(self):
        return _CosmoBolognaLib.Triplet_nbins_D2(self)

    def binSize_D2(self):
        return _CosmoBolognaLib.Triplet_binSize_D2(self)

    def set_TT1D(self, i, tt):
        return _CosmoBolognaLib.Triplet_set_TT1D(self, i, tt)

    def add_TT1D(self, i, tt):
        return _CosmoBolognaLib.Triplet_add_TT1D(self, i, tt)

    def get_triplet(self, r12, r13, r23, klin):
        return _CosmoBolognaLib.Triplet_get_triplet(self, r12, r13, r23, klin)

    def set_triplet(self, klin, ww=1.):
        return _CosmoBolognaLib.Triplet_set_triplet(self, klin, ww)

    def put(self, *args):
        return _CosmoBolognaLib.Triplet_put(self, *args)

    def Sum(self, tt, ww=1.):
        return _CosmoBolognaLib.Triplet_Sum(self, tt, ww)
Triplet_swigregister = _CosmoBolognaLib.Triplet_swigregister
Triplet_swigregister(Triplet)

def Triplet_Create(type, side_s, side_u, perc_increase, nbins):
    return _CosmoBolognaLib.Triplet_Create(type, side_s, side_u, perc_increase, nbins)
Triplet_Create = _CosmoBolognaLib.Triplet_Create

class Triplet1D(Triplet):
    __swig_setmethods__ = {}
    for _s in [Triplet]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Triplet1D, name, value)
    __swig_getmethods__ = {}
    for _s in [Triplet]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Triplet1D, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _CosmoBolognaLib.delete_Triplet1D
    __del__ = lambda self: None

    def scale(self, *args):
        return _CosmoBolognaLib.Triplet1D_scale(self, *args)

    def TT1D(self, *args):
        return _CosmoBolognaLib.Triplet1D_TT1D(self, *args)

    def side_s(self):
        return _CosmoBolognaLib.Triplet1D_side_s(self)

    def side_u(self):
        return _CosmoBolognaLib.Triplet1D_side_u(self)

    def perc_increase(self):
        return _CosmoBolognaLib.Triplet1D_perc_increase(self)

    def nbins(self):
        return _CosmoBolognaLib.Triplet1D_nbins(self)

    def binSize(self):
        return _CosmoBolognaLib.Triplet1D_binSize(self)

    def set_TT1D(self, i, tt):
        return _CosmoBolognaLib.Triplet1D_set_TT1D(self, i, tt)

    def add_TT1D(self, i, tt):
        return _CosmoBolognaLib.Triplet1D_add_TT1D(self, i, tt)

    def Sum(self, tt, ww=1):
        return _CosmoBolognaLib.Triplet1D_Sum(self, tt, ww)
Triplet1D_swigregister = _CosmoBolognaLib.Triplet1D_swigregister
Triplet1D_swigregister(Triplet1D)

class Triplet1D_comoving(Triplet1D):
    __swig_setmethods__ = {}
    for _s in [Triplet1D]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Triplet1D_comoving, name, value)
    __swig_getmethods__ = {}
    for _s in [Triplet1D]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Triplet1D_comoving, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _CosmoBolognaLib.delete_Triplet1D_comoving
    __del__ = lambda self: None
Triplet1D_comoving_swigregister = _CosmoBolognaLib.Triplet1D_comoving_swigregister
Triplet1D_comoving_swigregister(Triplet1D_comoving)

class Triplet1D_comoving_theta(Triplet1D_comoving):
    __swig_setmethods__ = {}
    for _s in [Triplet1D_comoving]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Triplet1D_comoving_theta, name, value)
    __swig_getmethods__ = {}
    for _s in [Triplet1D_comoving]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Triplet1D_comoving_theta, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Triplet1D_comoving_theta(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this

    def get_triplet(self, r12, r13, r23, klin):
        return _CosmoBolognaLib.Triplet1D_comoving_theta_get_triplet(self, r12, r13, r23, klin)

    def set_triplet(self, klin, ww=1.):
        return _CosmoBolognaLib.Triplet1D_comoving_theta_set_triplet(self, klin, ww)

    def put(self, *args):
        return _CosmoBolognaLib.Triplet1D_comoving_theta_put(self, *args)
    __swig_destroy__ = _CosmoBolognaLib.delete_Triplet1D_comoving_theta
    __del__ = lambda self: None
Triplet1D_comoving_theta_swigregister = _CosmoBolognaLib.Triplet1D_comoving_theta_swigregister
Triplet1D_comoving_theta_swigregister(Triplet1D_comoving_theta)

class Triplet1D_comoving_side(Triplet1D_comoving):
    __swig_setmethods__ = {}
    for _s in [Triplet1D_comoving]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Triplet1D_comoving_side, name, value)
    __swig_getmethods__ = {}
    for _s in [Triplet1D_comoving]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Triplet1D_comoving_side, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Triplet1D_comoving_side(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this

    def get_triplet(self, r12, r13, r23, klin):
        return _CosmoBolognaLib.Triplet1D_comoving_side_get_triplet(self, r12, r13, r23, klin)

    def set_triplet(self, klin, ww=1.):
        return _CosmoBolognaLib.Triplet1D_comoving_side_set_triplet(self, klin, ww)

    def put(self, *args):
        return _CosmoBolognaLib.Triplet1D_comoving_side_put(self, *args)
    __swig_destroy__ = _CosmoBolognaLib.delete_Triplet1D_comoving_side
    __del__ = lambda self: None
Triplet1D_comoving_side_swigregister = _CosmoBolognaLib.Triplet1D_comoving_side_swigregister
Triplet1D_comoving_side_swigregister(Triplet1D_comoving_side)

class Triplet1D_angular(Triplet1D):
    __swig_setmethods__ = {}
    for _s in [Triplet1D]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Triplet1D_angular, name, value)
    __swig_getmethods__ = {}
    for _s in [Triplet1D]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Triplet1D_angular, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _CosmoBolognaLib.delete_Triplet1D_angular
    __del__ = lambda self: None
Triplet1D_angular_swigregister = _CosmoBolognaLib.Triplet1D_angular_swigregister
Triplet1D_angular_swigregister(Triplet1D_angular)

class Triplet2D(Triplet):
    __swig_setmethods__ = {}
    for _s in [Triplet]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Triplet2D, name, value)
    __swig_getmethods__ = {}
    for _s in [Triplet]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Triplet2D, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _CosmoBolognaLib.delete_Triplet2D
    __del__ = lambda self: None

    def scale_D1(self, *args):
        return _CosmoBolognaLib.Triplet2D_scale_D1(self, *args)

    def scale_D2(self, *args):
        return _CosmoBolognaLib.Triplet2D_scale_D2(self, *args)

    def TT2D(self, *args):
        return _CosmoBolognaLib.Triplet2D_TT2D(self, *args)

    def side_s_D1(self):
        return _CosmoBolognaLib.Triplet2D_side_s_D1(self)

    def side_u_D1(self):
        return _CosmoBolognaLib.Triplet2D_side_u_D1(self)

    def perc_increase_D1(self):
        return _CosmoBolognaLib.Triplet2D_perc_increase_D1(self)

    def binSize_D1(self):
        return _CosmoBolognaLib.Triplet2D_binSize_D1(self)

    def side_s_D2(self):
        return _CosmoBolognaLib.Triplet2D_side_s_D2(self)

    def side_u_D2(self):
        return _CosmoBolognaLib.Triplet2D_side_u_D2(self)

    def perc_increase_D2(self):
        return _CosmoBolognaLib.Triplet2D_perc_increase_D2(self)

    def binSize_D2(self):
        return _CosmoBolognaLib.Triplet2D_binSize_D2(self)

    def Sum(self, tt, ww=1):
        return _CosmoBolognaLib.Triplet2D_Sum(self, tt, ww)

    def get_triplet(self, r12, r13, r23, klin):
        return _CosmoBolognaLib.Triplet2D_get_triplet(self, r12, r13, r23, klin)

    def set_triplet(self, klin, ww=1.):
        return _CosmoBolognaLib.Triplet2D_set_triplet(self, klin, ww)

    def put(self, *args):
        return _CosmoBolognaLib.Triplet2D_put(self, *args)
Triplet2D_swigregister = _CosmoBolognaLib.Triplet2D_swigregister
Triplet2D_swigregister(Triplet2D)


_CosmoBolognaLib._angular_connected__swigconstant(_CosmoBolognaLib)
_angular_connected_ = _CosmoBolognaLib._angular_connected_

_CosmoBolognaLib._angular_reduced__swigconstant(_CosmoBolognaLib)
_angular_reduced_ = _CosmoBolognaLib._angular_reduced_

_CosmoBolognaLib._comoving_connected__swigconstant(_CosmoBolognaLib)
_comoving_connected_ = _CosmoBolognaLib._comoving_connected_

_CosmoBolognaLib._comoving_reduced__swigconstant(_CosmoBolognaLib)
_comoving_reduced_ = _CosmoBolognaLib._comoving_reduced_
class ThreePointCorrelation(Measure):
    __swig_setmethods__ = {}
    for _s in [Measure]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, ThreePointCorrelation, name, value)
    __swig_getmethods__ = {}
    for _s in [Measure]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, ThreePointCorrelation, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _CosmoBolognaLib.delete_ThreePointCorrelation
    __del__ = lambda self: None
    __swig_getmethods__["Create"] = lambda x: _CosmoBolognaLib.ThreePointCorrelation_Create
    if _newclass:
        Create = staticmethod(_CosmoBolognaLib.ThreePointCorrelation_Create)

    def threePType(self):
        return _CosmoBolognaLib.ThreePointCorrelation_threePType(self)

    def data(self):
        return _CosmoBolognaLib.ThreePointCorrelation_data(self)

    def random(self):
        return _CosmoBolognaLib.ThreePointCorrelation_random(self)

    def ddd(self):
        return _CosmoBolognaLib.ThreePointCorrelation_ddd(self)

    def rrr(self):
        return _CosmoBolognaLib.ThreePointCorrelation_rrr(self)

    def ddr(self):
        return _CosmoBolognaLib.ThreePointCorrelation_ddr(self)

    def drr(self):
        return _CosmoBolognaLib.ThreePointCorrelation_drr(self)

    def scale(self):
        return _CosmoBolognaLib.ThreePointCorrelation_scale(self)

    def zeta(self):
        return _CosmoBolognaLib.ThreePointCorrelation_zeta(self)

    def QQ(self):
        return _CosmoBolognaLib.ThreePointCorrelation_QQ(self)

    def error(self):
        return _CosmoBolognaLib.ThreePointCorrelation_error(self)

    def set_data(self, data):
        return _CosmoBolognaLib.ThreePointCorrelation_set_data(self, data)

    def set_random(self, random):
        return _CosmoBolognaLib.ThreePointCorrelation_set_random(self, random)

    def measure(self, *args):
        return _CosmoBolognaLib.ThreePointCorrelation_measure(self, *args)

    def write(self, *args):
        return _CosmoBolognaLib.ThreePointCorrelation_write(self, *args)

    def write_covariance(self, dir, file):
        return _CosmoBolognaLib.ThreePointCorrelation_write_covariance(self, dir, file)
ThreePointCorrelation_swigregister = _CosmoBolognaLib.ThreePointCorrelation_swigregister
ThreePointCorrelation_swigregister(ThreePointCorrelation)

def ThreePointCorrelation_Create(type, data, random, tripletType, side_s, side_u, perc_increase, nbins):
    return _CosmoBolognaLib.ThreePointCorrelation_Create(type, data, random, tripletType, side_s, side_u, perc_increase, nbins)
ThreePointCorrelation_Create = _CosmoBolognaLib.ThreePointCorrelation_Create

class ThreePointCorrelation_angular_connected(ThreePointCorrelation):
    __swig_setmethods__ = {}
    for _s in [ThreePointCorrelation]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, ThreePointCorrelation_angular_connected, name, value)
    __swig_getmethods__ = {}
    for _s in [ThreePointCorrelation]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, ThreePointCorrelation_angular_connected, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_ThreePointCorrelation_angular_connected(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_ThreePointCorrelation_angular_connected
    __del__ = lambda self: None

    def set_parameters(self, side_s, side_u, perc_increase, nbins):
        return _CosmoBolognaLib.ThreePointCorrelation_angular_connected_set_parameters(self, side_s, side_u, perc_increase, nbins)

    def scale(self):
        return _CosmoBolognaLib.ThreePointCorrelation_angular_connected_scale(self)

    def zeta(self):
        return _CosmoBolognaLib.ThreePointCorrelation_angular_connected_zeta(self)

    def error(self):
        return _CosmoBolognaLib.ThreePointCorrelation_angular_connected_error(self)

    def measure(self, *args):
        return _CosmoBolognaLib.ThreePointCorrelation_angular_connected_measure(self, *args)

    def write(self, dir, file):
        return _CosmoBolognaLib.ThreePointCorrelation_angular_connected_write(self, dir, file)

    def write_covariance(self, dir, file):
        return _CosmoBolognaLib.ThreePointCorrelation_angular_connected_write_covariance(self, dir, file)
ThreePointCorrelation_angular_connected_swigregister = _CosmoBolognaLib.ThreePointCorrelation_angular_connected_swigregister
ThreePointCorrelation_angular_connected_swigregister(ThreePointCorrelation_angular_connected)

class ThreePointCorrelation_angular_reduced(ThreePointCorrelation_angular_connected):
    __swig_setmethods__ = {}
    for _s in [ThreePointCorrelation_angular_connected]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, ThreePointCorrelation_angular_reduced, name, value)
    __swig_getmethods__ = {}
    for _s in [ThreePointCorrelation_angular_connected]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, ThreePointCorrelation_angular_reduced, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_ThreePointCorrelation_angular_reduced(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_ThreePointCorrelation_angular_reduced
    __del__ = lambda self: None

    def measure(self, *args):
        return _CosmoBolognaLib.ThreePointCorrelation_angular_reduced_measure(self, *args)

    def write(self, dir, file, connected):
        return _CosmoBolognaLib.ThreePointCorrelation_angular_reduced_write(self, dir, file, connected)

    def write_covariance(self, dir, file):
        return _CosmoBolognaLib.ThreePointCorrelation_angular_reduced_write_covariance(self, dir, file)
ThreePointCorrelation_angular_reduced_swigregister = _CosmoBolognaLib.ThreePointCorrelation_angular_reduced_swigregister
ThreePointCorrelation_angular_reduced_swigregister(ThreePointCorrelation_angular_reduced)

class ThreePointCorrelation_comoving_connected(ThreePointCorrelation):
    __swig_setmethods__ = {}
    for _s in [ThreePointCorrelation]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, ThreePointCorrelation_comoving_connected, name, value)
    __swig_getmethods__ = {}
    for _s in [ThreePointCorrelation]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, ThreePointCorrelation_comoving_connected, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_ThreePointCorrelation_comoving_connected(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_ThreePointCorrelation_comoving_connected
    __del__ = lambda self: None

    def set_parameters(self, tripletType, side_s, side_u, perc_increase, nbins):
        return _CosmoBolognaLib.ThreePointCorrelation_comoving_connected_set_parameters(self, tripletType, side_s, side_u, perc_increase, nbins)

    def scale(self):
        return _CosmoBolognaLib.ThreePointCorrelation_comoving_connected_scale(self)

    def zeta(self):
        return _CosmoBolognaLib.ThreePointCorrelation_comoving_connected_zeta(self)

    def error(self):
        return _CosmoBolognaLib.ThreePointCorrelation_comoving_connected_error(self)

    def measure(self, *args):
        return _CosmoBolognaLib.ThreePointCorrelation_comoving_connected_measure(self, *args)

    def write(self, dir, file):
        return _CosmoBolognaLib.ThreePointCorrelation_comoving_connected_write(self, dir, file)

    def write_covariance(self, dir, file):
        return _CosmoBolognaLib.ThreePointCorrelation_comoving_connected_write_covariance(self, dir, file)
ThreePointCorrelation_comoving_connected_swigregister = _CosmoBolognaLib.ThreePointCorrelation_comoving_connected_swigregister
ThreePointCorrelation_comoving_connected_swigregister(ThreePointCorrelation_comoving_connected)

class ThreePointCorrelation_comoving_reduced(ThreePointCorrelation_comoving_connected):
    __swig_setmethods__ = {}
    for _s in [ThreePointCorrelation_comoving_connected]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, ThreePointCorrelation_comoving_reduced, name, value)
    __swig_getmethods__ = {}
    for _s in [ThreePointCorrelation_comoving_connected]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, ThreePointCorrelation_comoving_reduced, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_ThreePointCorrelation_comoving_reduced(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_ThreePointCorrelation_comoving_reduced
    __del__ = lambda self: None

    def scale(self):
        return _CosmoBolognaLib.ThreePointCorrelation_comoving_reduced_scale(self)

    def QQ(self):
        return _CosmoBolognaLib.ThreePointCorrelation_comoving_reduced_QQ(self)

    def error(self):
        return _CosmoBolognaLib.ThreePointCorrelation_comoving_reduced_error(self)

    def measure(self, *args):
        return _CosmoBolognaLib.ThreePointCorrelation_comoving_reduced_measure(self, *args)

    def write(self, dir, file, connected):
        return _CosmoBolognaLib.ThreePointCorrelation_comoving_reduced_write(self, dir, file, connected)

    def write_covariance(self, dir, file):
        return _CosmoBolognaLib.ThreePointCorrelation_comoving_reduced_write_covariance(self, dir, file)
ThreePointCorrelation_comoving_reduced_swigregister = _CosmoBolognaLib.ThreePointCorrelation_comoving_reduced_swigregister
ThreePointCorrelation_comoving_reduced_swigregister(ThreePointCorrelation_comoving_reduced)

class Modelling(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Modelling, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Modelling, name)
    __repr__ = _swig_repr

    def __init__(self):
        this = _CosmoBolognaLib.new_Modelling()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Modelling
    __del__ = lambda self: None

    def data(self):
        return _CosmoBolognaLib.Modelling_data(self)

    def model(self):
        return _CosmoBolognaLib.Modelling_model(self)

    def parameter(self, pp):
        return _CosmoBolognaLib.Modelling_parameter(self, pp)

    def parameters(self):
        return _CosmoBolognaLib.Modelling_parameters(self)

    def likelihood(self):
        return _CosmoBolognaLib.Modelling_likelihood(self)

    def reset_fit_range(self):
        return _CosmoBolognaLib.Modelling_reset_fit_range(self)

    def set_fit_range(self, *args):
        return _CosmoBolognaLib.Modelling_set_fit_range(self, *args)

    def set_data(self, dataset):
        return _CosmoBolognaLib.Modelling_set_data(self, dataset)

    def set_model(self, model):
        return _CosmoBolognaLib.Modelling_set_model(self, model)

    def set_parameters(self, parameters):
        return _CosmoBolognaLib.Modelling_set_parameters(self, parameters)

    def set_likelihood(self, *args):
        return _CosmoBolognaLib.Modelling_set_likelihood(self, *args)

    def maximize_likelihood(self, *args):
        return _CosmoBolognaLib.Modelling_maximize_likelihood(self, *args)

    def run_MCMC(self, *args):
        return _CosmoBolognaLib.Modelling_run_MCMC(self, *args)

    def show_results(self, start, thin=1, seed=434213):
        return _CosmoBolognaLib.Modelling_show_results(self, start, thin, seed)

    def write_results(self, dir, file, start, thin=1, seed=434213):
        return _CosmoBolognaLib.Modelling_write_results(self, dir, file, start, thin, seed)

    def write_model(self, *args):
        return _CosmoBolognaLib.Modelling_write_model(self, *args)

    def compute_model_from_chains(self, *args):
        return _CosmoBolognaLib.Modelling_compute_model_from_chains(self, *args)

    def read_chain(self, dir, file, nwalkers, skip_header=0):
        return _CosmoBolognaLib.Modelling_read_chain(self, dir, file, nwalkers, skip_header)

    def write_chain_FITS(self, dir, file, table_name, burn_in=0, thin=1):
        return _CosmoBolognaLib.Modelling_write_chain_FITS(self, dir, file, table_name, burn_in, thin)

    def read_chain_FITS(self, dir, file, table_name):
        return _CosmoBolognaLib.Modelling_read_chain_FITS(self, dir, file, table_name)
Modelling_swigregister = _CosmoBolognaLib.Modelling_swigregister
Modelling_swigregister(Modelling)

class STR_data_HOD(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, STR_data_HOD, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, STR_data_HOD, name)
    __repr__ = _swig_repr
    __swig_setmethods__["cosmology"] = _CosmoBolognaLib.STR_data_HOD_cosmology_set
    __swig_getmethods__["cosmology"] = _CosmoBolognaLib.STR_data_HOD_cosmology_get
    if _newclass:
        cosmology = _swig_property(_CosmoBolognaLib.STR_data_HOD_cosmology_get, _CosmoBolognaLib.STR_data_HOD_cosmology_set)
    __swig_setmethods__["redshift"] = _CosmoBolognaLib.STR_data_HOD_redshift_set
    __swig_getmethods__["redshift"] = _CosmoBolognaLib.STR_data_HOD_redshift_get
    if _newclass:
        redshift = _swig_property(_CosmoBolognaLib.STR_data_HOD_redshift_get, _CosmoBolognaLib.STR_data_HOD_redshift_set)
    __swig_setmethods__["model_MF"] = _CosmoBolognaLib.STR_data_HOD_model_MF_set
    __swig_getmethods__["model_MF"] = _CosmoBolognaLib.STR_data_HOD_model_MF_get
    if _newclass:
        model_MF = _swig_property(_CosmoBolognaLib.STR_data_HOD_model_MF_get, _CosmoBolognaLib.STR_data_HOD_model_MF_set)
    __swig_setmethods__["model_bias"] = _CosmoBolognaLib.STR_data_HOD_model_bias_set
    __swig_getmethods__["model_bias"] = _CosmoBolognaLib.STR_data_HOD_model_bias_get
    if _newclass:
        model_bias = _swig_property(_CosmoBolognaLib.STR_data_HOD_model_bias_get, _CosmoBolognaLib.STR_data_HOD_model_bias_set)
    __swig_setmethods__["Mh_min"] = _CosmoBolognaLib.STR_data_HOD_Mh_min_set
    __swig_getmethods__["Mh_min"] = _CosmoBolognaLib.STR_data_HOD_Mh_min_get
    if _newclass:
        Mh_min = _swig_property(_CosmoBolognaLib.STR_data_HOD_Mh_min_get, _CosmoBolognaLib.STR_data_HOD_Mh_min_set)
    __swig_setmethods__["Mh_max"] = _CosmoBolognaLib.STR_data_HOD_Mh_max_set
    __swig_getmethods__["Mh_max"] = _CosmoBolognaLib.STR_data_HOD_Mh_max_get
    if _newclass:
        Mh_max = _swig_property(_CosmoBolognaLib.STR_data_HOD_Mh_max_get, _CosmoBolognaLib.STR_data_HOD_Mh_max_set)
    __swig_setmethods__["pi_max"] = _CosmoBolognaLib.STR_data_HOD_pi_max_set
    __swig_getmethods__["pi_max"] = _CosmoBolognaLib.STR_data_HOD_pi_max_get
    if _newclass:
        pi_max = _swig_property(_CosmoBolognaLib.STR_data_HOD_pi_max_get, _CosmoBolognaLib.STR_data_HOD_pi_max_set)
    __swig_setmethods__["r_max_int"] = _CosmoBolognaLib.STR_data_HOD_r_max_int_set
    __swig_getmethods__["r_max_int"] = _CosmoBolognaLib.STR_data_HOD_r_max_int_get
    if _newclass:
        r_max_int = _swig_property(_CosmoBolognaLib.STR_data_HOD_r_max_int_get, _CosmoBolognaLib.STR_data_HOD_r_max_int_set)
    __swig_setmethods__["r_min"] = _CosmoBolognaLib.STR_data_HOD_r_min_set
    __swig_getmethods__["r_min"] = _CosmoBolognaLib.STR_data_HOD_r_min_get
    if _newclass:
        r_min = _swig_property(_CosmoBolognaLib.STR_data_HOD_r_min_get, _CosmoBolognaLib.STR_data_HOD_r_min_set)
    __swig_setmethods__["r_max"] = _CosmoBolognaLib.STR_data_HOD_r_max_set
    __swig_getmethods__["r_max"] = _CosmoBolognaLib.STR_data_HOD_r_max_get
    if _newclass:
        r_max = _swig_property(_CosmoBolognaLib.STR_data_HOD_r_max_get, _CosmoBolognaLib.STR_data_HOD_r_max_set)
    __swig_setmethods__["k_min"] = _CosmoBolognaLib.STR_data_HOD_k_min_set
    __swig_getmethods__["k_min"] = _CosmoBolognaLib.STR_data_HOD_k_min_get
    if _newclass:
        k_min = _swig_property(_CosmoBolognaLib.STR_data_HOD_k_min_get, _CosmoBolognaLib.STR_data_HOD_k_min_set)
    __swig_setmethods__["k_max"] = _CosmoBolognaLib.STR_data_HOD_k_max_set
    __swig_getmethods__["k_max"] = _CosmoBolognaLib.STR_data_HOD_k_max_get
    if _newclass:
        k_max = _swig_property(_CosmoBolognaLib.STR_data_HOD_k_max_get, _CosmoBolognaLib.STR_data_HOD_k_max_set)
    __swig_setmethods__["step"] = _CosmoBolognaLib.STR_data_HOD_step_set
    __swig_getmethods__["step"] = _CosmoBolognaLib.STR_data_HOD_step_get
    if _newclass:
        step = _swig_property(_CosmoBolognaLib.STR_data_HOD_step_get, _CosmoBolognaLib.STR_data_HOD_step_set)
    __swig_setmethods__["method_Pk"] = _CosmoBolognaLib.STR_data_HOD_method_Pk_set
    __swig_getmethods__["method_Pk"] = _CosmoBolognaLib.STR_data_HOD_method_Pk_get
    if _newclass:
        method_Pk = _swig_property(_CosmoBolognaLib.STR_data_HOD_method_Pk_get, _CosmoBolognaLib.STR_data_HOD_method_Pk_set)
    __swig_setmethods__["NL"] = _CosmoBolognaLib.STR_data_HOD_NL_set
    __swig_getmethods__["NL"] = _CosmoBolognaLib.STR_data_HOD_NL_get
    if _newclass:
        NL = _swig_property(_CosmoBolognaLib.STR_data_HOD_NL_get, _CosmoBolognaLib.STR_data_HOD_NL_set)
    __swig_setmethods__["output_root"] = _CosmoBolognaLib.STR_data_HOD_output_root_set
    __swig_getmethods__["output_root"] = _CosmoBolognaLib.STR_data_HOD_output_root_get
    if _newclass:
        output_root = _swig_property(_CosmoBolognaLib.STR_data_HOD_output_root_get, _CosmoBolognaLib.STR_data_HOD_output_root_set)
    __swig_setmethods__["Delta"] = _CosmoBolognaLib.STR_data_HOD_Delta_set
    __swig_getmethods__["Delta"] = _CosmoBolognaLib.STR_data_HOD_Delta_get
    if _newclass:
        Delta = _swig_property(_CosmoBolognaLib.STR_data_HOD_Delta_get, _CosmoBolognaLib.STR_data_HOD_Delta_set)
    __swig_setmethods__["kk"] = _CosmoBolognaLib.STR_data_HOD_kk_set
    __swig_getmethods__["kk"] = _CosmoBolognaLib.STR_data_HOD_kk_get
    if _newclass:
        kk = _swig_property(_CosmoBolognaLib.STR_data_HOD_kk_get, _CosmoBolognaLib.STR_data_HOD_kk_set)
    __swig_setmethods__["interpType"] = _CosmoBolognaLib.STR_data_HOD_interpType_set
    __swig_getmethods__["interpType"] = _CosmoBolognaLib.STR_data_HOD_interpType_get
    if _newclass:
        interpType = _swig_property(_CosmoBolognaLib.STR_data_HOD_interpType_get, _CosmoBolognaLib.STR_data_HOD_interpType_set)
    __swig_setmethods__["norm"] = _CosmoBolognaLib.STR_data_HOD_norm_set
    __swig_getmethods__["norm"] = _CosmoBolognaLib.STR_data_HOD_norm_get
    if _newclass:
        norm = _swig_property(_CosmoBolognaLib.STR_data_HOD_norm_get, _CosmoBolognaLib.STR_data_HOD_norm_set)
    __swig_setmethods__["prec"] = _CosmoBolognaLib.STR_data_HOD_prec_set
    __swig_getmethods__["prec"] = _CosmoBolognaLib.STR_data_HOD_prec_get
    if _newclass:
        prec = _swig_property(_CosmoBolognaLib.STR_data_HOD_prec_get, _CosmoBolognaLib.STR_data_HOD_prec_set)
    __swig_setmethods__["input_file"] = _CosmoBolognaLib.STR_data_HOD_input_file_set
    __swig_getmethods__["input_file"] = _CosmoBolognaLib.STR_data_HOD_input_file_get
    if _newclass:
        input_file = _swig_property(_CosmoBolognaLib.STR_data_HOD_input_file_get, _CosmoBolognaLib.STR_data_HOD_input_file_set)
    __swig_setmethods__["is_parameter_file"] = _CosmoBolognaLib.STR_data_HOD_is_parameter_file_set
    __swig_getmethods__["is_parameter_file"] = _CosmoBolognaLib.STR_data_HOD_is_parameter_file_get
    if _newclass:
        is_parameter_file = _swig_property(_CosmoBolognaLib.STR_data_HOD_is_parameter_file_get, _CosmoBolognaLib.STR_data_HOD_is_parameter_file_set)
    __swig_setmethods__["model_cM"] = _CosmoBolognaLib.STR_data_HOD_model_cM_set
    __swig_getmethods__["model_cM"] = _CosmoBolognaLib.STR_data_HOD_model_cM_get
    if _newclass:
        model_cM = _swig_property(_CosmoBolognaLib.STR_data_HOD_model_cM_get, _CosmoBolognaLib.STR_data_HOD_model_cM_set)
    __swig_setmethods__["profile"] = _CosmoBolognaLib.STR_data_HOD_profile_set
    __swig_getmethods__["profile"] = _CosmoBolognaLib.STR_data_HOD_profile_get
    if _newclass:
        profile = _swig_property(_CosmoBolognaLib.STR_data_HOD_profile_get, _CosmoBolognaLib.STR_data_HOD_profile_set)
    __swig_setmethods__["halo_def"] = _CosmoBolognaLib.STR_data_HOD_halo_def_set
    __swig_getmethods__["halo_def"] = _CosmoBolognaLib.STR_data_HOD_halo_def_get
    if _newclass:
        halo_def = _swig_property(_CosmoBolognaLib.STR_data_HOD_halo_def_get, _CosmoBolognaLib.STR_data_HOD_halo_def_set)
    __swig_setmethods__["func_Pk"] = _CosmoBolognaLib.STR_data_HOD_func_Pk_set
    __swig_getmethods__["func_Pk"] = _CosmoBolognaLib.STR_data_HOD_func_Pk_get
    if _newclass:
        func_Pk = _swig_property(_CosmoBolognaLib.STR_data_HOD_func_Pk_get, _CosmoBolognaLib.STR_data_HOD_func_Pk_set)
    __swig_setmethods__["func_sigma"] = _CosmoBolognaLib.STR_data_HOD_func_sigma_set
    __swig_getmethods__["func_sigma"] = _CosmoBolognaLib.STR_data_HOD_func_sigma_get
    if _newclass:
        func_sigma = _swig_property(_CosmoBolognaLib.STR_data_HOD_func_sigma_get, _CosmoBolognaLib.STR_data_HOD_func_sigma_set)
    __swig_setmethods__["func_dlnsigma"] = _CosmoBolognaLib.STR_data_HOD_func_dlnsigma_set
    __swig_getmethods__["func_dlnsigma"] = _CosmoBolognaLib.STR_data_HOD_func_dlnsigma_get
    if _newclass:
        func_dlnsigma = _swig_property(_CosmoBolognaLib.STR_data_HOD_func_dlnsigma_get, _CosmoBolognaLib.STR_data_HOD_func_dlnsigma_set)

    def __init__(self):
        this = _CosmoBolognaLib.new_STR_data_HOD()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_STR_data_HOD
    __del__ = lambda self: None
STR_data_HOD_swigregister = _CosmoBolognaLib.STR_data_HOD_swigregister
STR_data_HOD_swigregister(STR_data_HOD)


def xi0_BAO_sigmaNL(rad, inputs, parameter):
    return _CosmoBolognaLib.xi0_BAO_sigmaNL(rad, inputs, parameter)
xi0_BAO_sigmaNL = _CosmoBolognaLib.xi0_BAO_sigmaNL

def xi0_linear(rad, inputs, parameter):
    return _CosmoBolognaLib.xi0_linear(rad, inputs, parameter)
xi0_linear = _CosmoBolognaLib.xi0_linear

def xi0_linear_LinearPoint(rad, inputs, parameter):
    return _CosmoBolognaLib.xi0_linear_LinearPoint(rad, inputs, parameter)
xi0_linear_LinearPoint = _CosmoBolognaLib.xi0_linear_LinearPoint

def xi0_polynomial_LinearPoint(rad, inputs, parameter):
    return _CosmoBolognaLib.xi0_polynomial_LinearPoint(rad, inputs, parameter)
xi0_polynomial_LinearPoint = _CosmoBolognaLib.xi0_polynomial_LinearPoint

def xi0_linear_sigma8_bias(rad, inputs, parameter):
    return _CosmoBolognaLib.xi0_linear_sigma8_bias(rad, inputs, parameter)
xi0_linear_sigma8_bias = _CosmoBolognaLib.xi0_linear_sigma8_bias

def xi0_linear_cosmology(rad, inputs, parameter):
    return _CosmoBolognaLib.xi0_linear_cosmology(rad, inputs, parameter)
xi0_linear_cosmology = _CosmoBolognaLib.xi0_linear_cosmology

def xi0_damped_bias_sigmaz(rad, inputs, parameter):
    return _CosmoBolognaLib.xi0_damped_bias_sigmaz(rad, inputs, parameter)
xi0_damped_bias_sigmaz = _CosmoBolognaLib.xi0_damped_bias_sigmaz

def xi0_damped_scaling_relation_sigmaz(rad, inputs, parameter):
    return _CosmoBolognaLib.xi0_damped_scaling_relation_sigmaz(rad, inputs, parameter)
xi0_damped_scaling_relation_sigmaz = _CosmoBolognaLib.xi0_damped_scaling_relation_sigmaz

def xi0_linear_sigma8_clusters(rad, inputs, parameter):
    return _CosmoBolognaLib.xi0_linear_sigma8_clusters(rad, inputs, parameter)
xi0_linear_sigma8_clusters = _CosmoBolognaLib.xi0_linear_sigma8_clusters

def xi0_linear_one_cosmo_par_clusters(rad, inputs, parameter):
    return _CosmoBolognaLib.xi0_linear_one_cosmo_par_clusters(rad, inputs, parameter)
xi0_linear_one_cosmo_par_clusters = _CosmoBolognaLib.xi0_linear_one_cosmo_par_clusters

def xi0_linear_two_cosmo_pars_clusters(rad, inputs, parameter):
    return _CosmoBolognaLib.xi0_linear_two_cosmo_pars_clusters(rad, inputs, parameter)
xi0_linear_two_cosmo_pars_clusters = _CosmoBolognaLib.xi0_linear_two_cosmo_pars_clusters

def xi0_linear_cosmology_clusters(rad, inputs, parameter):
    return _CosmoBolognaLib.xi0_linear_cosmology_clusters(rad, inputs, parameter)
xi0_linear_cosmology_clusters = _CosmoBolognaLib.xi0_linear_cosmology_clusters

def xi0_linear_bias_cosmology(rad, inputs, parameter):
    return _CosmoBolognaLib.xi0_linear_bias_cosmology(rad, inputs, parameter)
xi0_linear_bias_cosmology = _CosmoBolognaLib.xi0_linear_bias_cosmology

def xi0_linear_cosmology_clusters_selection_function(rad, inputs, parameter):
    return _CosmoBolognaLib.xi0_linear_cosmology_clusters_selection_function(rad, inputs, parameter)
xi0_linear_cosmology_clusters_selection_function = _CosmoBolognaLib.xi0_linear_cosmology_clusters_selection_function

def Ncen(Mass, Mmin, sigmalgM):
    return _CosmoBolognaLib.Ncen(Mass, Mmin, sigmalgM)
Ncen = _CosmoBolognaLib.Ncen

def Nsat(Mass, Mmin, sigmalgM, M0, M1, alpha):
    return _CosmoBolognaLib.Nsat(Mass, Mmin, sigmalgM, M0, M1, alpha)
Nsat = _CosmoBolognaLib.Nsat

def Navg(Mass, Mmin, sigmalgM, M0, M1, alpha):
    return _CosmoBolognaLib.Navg(Mass, Mmin, sigmalgM, M0, M1, alpha)
Navg = _CosmoBolognaLib.Navg

def ng_integrand(mass, Mmin, sigmalgM, M0, M1, alpha, inputs):
    return _CosmoBolognaLib.ng_integrand(mass, Mmin, sigmalgM, M0, M1, alpha, inputs)
ng_integrand = _CosmoBolognaLib.ng_integrand

def ng(Mmin, sigmalgM, M0, M1, alpha, inputs):
    return _CosmoBolognaLib.ng(Mmin, sigmalgM, M0, M1, alpha, inputs)
ng = _CosmoBolognaLib.ng

def bias(Mmin, sigmalgM, M0, M1, alpha, inputs):
    return _CosmoBolognaLib.bias(Mmin, sigmalgM, M0, M1, alpha, inputs)
bias = _CosmoBolognaLib.bias

def NcNs(Mass, Mmin, sigmalgM, M0, M1, alpha):
    return _CosmoBolognaLib.NcNs(Mass, Mmin, sigmalgM, M0, M1, alpha)
NcNs = _CosmoBolognaLib.NcNs

def NsNs1(Mass, Mmin, sigmalgM, M0, M1, alpha):
    return _CosmoBolognaLib.NsNs1(Mass, Mmin, sigmalgM, M0, M1, alpha)
NsNs1 = _CosmoBolognaLib.NsNs1

def Pk_cs_numerator_integrand(mass, kk, inputs, parameter):
    return _CosmoBolognaLib.Pk_cs_numerator_integrand(mass, kk, inputs, parameter)
Pk_cs_numerator_integrand = _CosmoBolognaLib.Pk_cs_numerator_integrand

def Pk_cs(kk, inputs, parameter):
    return _CosmoBolognaLib.Pk_cs(kk, inputs, parameter)
Pk_cs = _CosmoBolognaLib.Pk_cs

def Pk_ss_numerator_integrand(mass, kk, inputs, parameter):
    return _CosmoBolognaLib.Pk_ss_numerator_integrand(mass, kk, inputs, parameter)
Pk_ss_numerator_integrand = _CosmoBolognaLib.Pk_ss_numerator_integrand

def Pk_ss(kk, inputs, parameter):
    return _CosmoBolognaLib.Pk_ss(kk, inputs, parameter)
Pk_ss = _CosmoBolognaLib.Pk_ss

def Pk_1halo(kk, inputs, parameter):
    return _CosmoBolognaLib.Pk_1halo(kk, inputs, parameter)
Pk_1halo = _CosmoBolognaLib.Pk_1halo

def Pk_2halo(kk, inputs, parameter):
    return _CosmoBolognaLib.Pk_2halo(kk, inputs, parameter)
Pk_2halo = _CosmoBolognaLib.Pk_2halo

def Pk_HOD(kk, inputs, parameter):
    return _CosmoBolognaLib.Pk_HOD(kk, inputs, parameter)
Pk_HOD = _CosmoBolognaLib.Pk_HOD

def xi_1halo(rad, inputs, parameter):
    return _CosmoBolognaLib.xi_1halo(rad, inputs, parameter)
xi_1halo = _CosmoBolognaLib.xi_1halo

def func_2halo(kk, inputs, parameter):
    return _CosmoBolognaLib.func_2halo(kk, inputs, parameter)
func_2halo = _CosmoBolognaLib.func_2halo

def xi_2halo(rad, inputs, parameter):
    return _CosmoBolognaLib.xi_2halo(rad, inputs, parameter)
xi_2halo = _CosmoBolognaLib.xi_2halo

def xi_HOD(rad, inputs, parameter):
    return _CosmoBolognaLib.xi_HOD(rad, inputs, parameter)
xi_HOD = _CosmoBolognaLib.xi_HOD

def xi_zspace(func, rp, pi, inputs, parameter):
    return _CosmoBolognaLib.xi_zspace(func, rp, pi, inputs, parameter)
xi_zspace = _CosmoBolognaLib.xi_zspace

def xi_1halo_zspace(rp, pi, inputs, parameter):
    return _CosmoBolognaLib.xi_1halo_zspace(rp, pi, inputs, parameter)
xi_1halo_zspace = _CosmoBolognaLib.xi_1halo_zspace

def xi_2halo_zspace(rp, pi, inputs, parameter):
    return _CosmoBolognaLib.xi_2halo_zspace(rp, pi, inputs, parameter)
xi_2halo_zspace = _CosmoBolognaLib.xi_2halo_zspace

def xi_HOD_zspace(rp, pi, inputs, parameter):
    return _CosmoBolognaLib.xi_HOD_zspace(rp, pi, inputs, parameter)
xi_HOD_zspace = _CosmoBolognaLib.xi_HOD_zspace

def xi2D_dispersionModel(rp, pi, inputs, parameter):
    return _CosmoBolognaLib.xi2D_dispersionModel(rp, pi, inputs, parameter)
xi2D_dispersionModel = _CosmoBolognaLib.xi2D_dispersionModel
class STR_data_model(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, STR_data_model, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, STR_data_model, name)
    __repr__ = _swig_repr
    __swig_setmethods__["poly_order"] = _CosmoBolognaLib.STR_data_model_poly_order_set
    __swig_getmethods__["poly_order"] = _CosmoBolognaLib.STR_data_model_poly_order_get
    if _newclass:
        poly_order = _swig_property(_CosmoBolognaLib.STR_data_model_poly_order_get, _CosmoBolognaLib.STR_data_model_poly_order_set)
    __swig_setmethods__["cosmology"] = _CosmoBolognaLib.STR_data_model_cosmology_set
    __swig_getmethods__["cosmology"] = _CosmoBolognaLib.STR_data_model_cosmology_get
    if _newclass:
        cosmology = _swig_property(_CosmoBolognaLib.STR_data_model_cosmology_get, _CosmoBolognaLib.STR_data_model_cosmology_set)
    __swig_setmethods__["test_cosmology"] = _CosmoBolognaLib.STR_data_model_test_cosmology_set
    __swig_getmethods__["test_cosmology"] = _CosmoBolognaLib.STR_data_model_test_cosmology_get
    if _newclass:
        test_cosmology = _swig_property(_CosmoBolognaLib.STR_data_model_test_cosmology_get, _CosmoBolognaLib.STR_data_model_test_cosmology_set)
    __swig_setmethods__["redshift"] = _CosmoBolognaLib.STR_data_model_redshift_set
    __swig_getmethods__["redshift"] = _CosmoBolognaLib.STR_data_model_redshift_get
    if _newclass:
        redshift = _swig_property(_CosmoBolognaLib.STR_data_model_redshift_get, _CosmoBolognaLib.STR_data_model_redshift_set)
    __swig_setmethods__["method_Pk"] = _CosmoBolognaLib.STR_data_model_method_Pk_set
    __swig_getmethods__["method_Pk"] = _CosmoBolognaLib.STR_data_model_method_Pk_get
    if _newclass:
        method_Pk = _swig_property(_CosmoBolognaLib.STR_data_model_method_Pk_get, _CosmoBolognaLib.STR_data_model_method_Pk_set)
    __swig_setmethods__["output_dir"] = _CosmoBolognaLib.STR_data_model_output_dir_set
    __swig_getmethods__["output_dir"] = _CosmoBolognaLib.STR_data_model_output_dir_get
    if _newclass:
        output_dir = _swig_property(_CosmoBolognaLib.STR_data_model_output_dir_get, _CosmoBolognaLib.STR_data_model_output_dir_set)
    __swig_setmethods__["output_root"] = _CosmoBolognaLib.STR_data_model_output_root_set
    __swig_getmethods__["output_root"] = _CosmoBolognaLib.STR_data_model_output_root_get
    if _newclass:
        output_root = _swig_property(_CosmoBolognaLib.STR_data_model_output_root_get, _CosmoBolognaLib.STR_data_model_output_root_set)
    __swig_setmethods__["NL"] = _CosmoBolognaLib.STR_data_model_NL_set
    __swig_getmethods__["NL"] = _CosmoBolognaLib.STR_data_model_NL_get
    if _newclass:
        NL = _swig_property(_CosmoBolognaLib.STR_data_model_NL_get, _CosmoBolognaLib.STR_data_model_NL_set)
    __swig_setmethods__["sigmaNL"] = _CosmoBolognaLib.STR_data_model_sigmaNL_set
    __swig_getmethods__["sigmaNL"] = _CosmoBolognaLib.STR_data_model_sigmaNL_get
    if _newclass:
        sigmaNL = _swig_property(_CosmoBolognaLib.STR_data_model_sigmaNL_get, _CosmoBolognaLib.STR_data_model_sigmaNL_set)
    __swig_setmethods__["sigmaNL_perp"] = _CosmoBolognaLib.STR_data_model_sigmaNL_perp_set
    __swig_getmethods__["sigmaNL_perp"] = _CosmoBolognaLib.STR_data_model_sigmaNL_perp_get
    if _newclass:
        sigmaNL_perp = _swig_property(_CosmoBolognaLib.STR_data_model_sigmaNL_perp_get, _CosmoBolognaLib.STR_data_model_sigmaNL_perp_set)
    __swig_setmethods__["sigmaNL_par"] = _CosmoBolognaLib.STR_data_model_sigmaNL_par_set
    __swig_getmethods__["sigmaNL_par"] = _CosmoBolognaLib.STR_data_model_sigmaNL_par_get
    if _newclass:
        sigmaNL_par = _swig_property(_CosmoBolognaLib.STR_data_model_sigmaNL_par_get, _CosmoBolognaLib.STR_data_model_sigmaNL_par_set)
    __swig_setmethods__["norm"] = _CosmoBolognaLib.STR_data_model_norm_set
    __swig_getmethods__["norm"] = _CosmoBolognaLib.STR_data_model_norm_get
    if _newclass:
        norm = _swig_property(_CosmoBolognaLib.STR_data_model_norm_get, _CosmoBolognaLib.STR_data_model_norm_set)
    __swig_setmethods__["k_min"] = _CosmoBolognaLib.STR_data_model_k_min_set
    __swig_getmethods__["k_min"] = _CosmoBolognaLib.STR_data_model_k_min_get
    if _newclass:
        k_min = _swig_property(_CosmoBolognaLib.STR_data_model_k_min_get, _CosmoBolognaLib.STR_data_model_k_min_set)
    __swig_setmethods__["k_max"] = _CosmoBolognaLib.STR_data_model_k_max_set
    __swig_getmethods__["k_max"] = _CosmoBolognaLib.STR_data_model_k_max_get
    if _newclass:
        k_max = _swig_property(_CosmoBolognaLib.STR_data_model_k_max_get, _CosmoBolognaLib.STR_data_model_k_max_set)
    __swig_setmethods__["aa"] = _CosmoBolognaLib.STR_data_model_aa_set
    __swig_getmethods__["aa"] = _CosmoBolognaLib.STR_data_model_aa_get
    if _newclass:
        aa = _swig_property(_CosmoBolognaLib.STR_data_model_aa_get, _CosmoBolognaLib.STR_data_model_aa_set)
    __swig_setmethods__["GSL"] = _CosmoBolognaLib.STR_data_model_GSL_set
    __swig_getmethods__["GSL"] = _CosmoBolognaLib.STR_data_model_GSL_get
    if _newclass:
        GSL = _swig_property(_CosmoBolognaLib.STR_data_model_GSL_get, _CosmoBolognaLib.STR_data_model_GSL_set)
    __swig_setmethods__["prec"] = _CosmoBolognaLib.STR_data_model_prec_set
    __swig_getmethods__["prec"] = _CosmoBolognaLib.STR_data_model_prec_get
    if _newclass:
        prec = _swig_property(_CosmoBolognaLib.STR_data_model_prec_get, _CosmoBolognaLib.STR_data_model_prec_set)
    __swig_setmethods__["file_par"] = _CosmoBolognaLib.STR_data_model_file_par_set
    __swig_getmethods__["file_par"] = _CosmoBolognaLib.STR_data_model_file_par_get
    if _newclass:
        file_par = _swig_property(_CosmoBolognaLib.STR_data_model_file_par_get, _CosmoBolognaLib.STR_data_model_file_par_set)
    __swig_setmethods__["func_xi"] = _CosmoBolognaLib.STR_data_model_func_xi_set
    __swig_getmethods__["func_xi"] = _CosmoBolognaLib.STR_data_model_func_xi_get
    if _newclass:
        func_xi = _swig_property(_CosmoBolognaLib.STR_data_model_func_xi_get, _CosmoBolognaLib.STR_data_model_func_xi_set)
    __swig_setmethods__["func_xi_"] = _CosmoBolognaLib.STR_data_model_func_xi__set
    __swig_getmethods__["func_xi_"] = _CosmoBolognaLib.STR_data_model_func_xi__get
    if _newclass:
        func_xi_ = _swig_property(_CosmoBolognaLib.STR_data_model_func_xi__get, _CosmoBolognaLib.STR_data_model_func_xi__set)
    __swig_setmethods__["func_xi__"] = _CosmoBolognaLib.STR_data_model_func_xi___set
    __swig_getmethods__["func_xi__"] = _CosmoBolognaLib.STR_data_model_func_xi___get
    if _newclass:
        func_xi__ = _swig_property(_CosmoBolognaLib.STR_data_model_func_xi___get, _CosmoBolognaLib.STR_data_model_func_xi___set)
    __swig_setmethods__["pi_max"] = _CosmoBolognaLib.STR_data_model_pi_max_set
    __swig_getmethods__["pi_max"] = _CosmoBolognaLib.STR_data_model_pi_max_get
    if _newclass:
        pi_max = _swig_property(_CosmoBolognaLib.STR_data_model_pi_max_get, _CosmoBolognaLib.STR_data_model_pi_max_set)
    __swig_setmethods__["r_min"] = _CosmoBolognaLib.STR_data_model_r_min_set
    __swig_getmethods__["r_min"] = _CosmoBolognaLib.STR_data_model_r_min_get
    if _newclass:
        r_min = _swig_property(_CosmoBolognaLib.STR_data_model_r_min_get, _CosmoBolognaLib.STR_data_model_r_min_set)
    __swig_setmethods__["r_max"] = _CosmoBolognaLib.STR_data_model_r_max_set
    __swig_getmethods__["r_max"] = _CosmoBolognaLib.STR_data_model_r_max_get
    if _newclass:
        r_max = _swig_property(_CosmoBolognaLib.STR_data_model_r_max_get, _CosmoBolognaLib.STR_data_model_r_max_set)
    __swig_setmethods__["step"] = _CosmoBolognaLib.STR_data_model_step_set
    __swig_getmethods__["step"] = _CosmoBolognaLib.STR_data_model_step_get
    if _newclass:
        step = _swig_property(_CosmoBolognaLib.STR_data_model_step_get, _CosmoBolognaLib.STR_data_model_step_set)
    __swig_setmethods__["linear_growth_rate_z"] = _CosmoBolognaLib.STR_data_model_linear_growth_rate_z_set
    __swig_getmethods__["linear_growth_rate_z"] = _CosmoBolognaLib.STR_data_model_linear_growth_rate_z_get
    if _newclass:
        linear_growth_rate_z = _swig_property(_CosmoBolognaLib.STR_data_model_linear_growth_rate_z_get, _CosmoBolognaLib.STR_data_model_linear_growth_rate_z_set)
    __swig_setmethods__["sigma8_z"] = _CosmoBolognaLib.STR_data_model_sigma8_z_set
    __swig_getmethods__["sigma8_z"] = _CosmoBolognaLib.STR_data_model_sigma8_z_get
    if _newclass:
        sigma8_z = _swig_property(_CosmoBolognaLib.STR_data_model_sigma8_z_get, _CosmoBolognaLib.STR_data_model_sigma8_z_set)
    __swig_setmethods__["var"] = _CosmoBolognaLib.STR_data_model_var_set
    __swig_getmethods__["var"] = _CosmoBolognaLib.STR_data_model_var_get
    if _newclass:
        var = _swig_property(_CosmoBolognaLib.STR_data_model_var_get, _CosmoBolognaLib.STR_data_model_var_set)
    __swig_setmethods__["Cpar"] = _CosmoBolognaLib.STR_data_model_Cpar_set
    __swig_getmethods__["Cpar"] = _CosmoBolognaLib.STR_data_model_Cpar_get
    if _newclass:
        Cpar = _swig_property(_CosmoBolognaLib.STR_data_model_Cpar_get, _CosmoBolognaLib.STR_data_model_Cpar_set)
    __swig_setmethods__["FV"] = _CosmoBolognaLib.STR_data_model_FV_set
    __swig_getmethods__["FV"] = _CosmoBolognaLib.STR_data_model_FV_get
    if _newclass:
        FV = _swig_property(_CosmoBolognaLib.STR_data_model_FV_get, _CosmoBolognaLib.STR_data_model_FV_set)
    __swig_setmethods__["bias_nl"] = _CosmoBolognaLib.STR_data_model_bias_nl_set
    __swig_getmethods__["bias_nl"] = _CosmoBolognaLib.STR_data_model_bias_nl_get
    if _newclass:
        bias_nl = _swig_property(_CosmoBolognaLib.STR_data_model_bias_nl_get, _CosmoBolognaLib.STR_data_model_bias_nl_set)
    __swig_setmethods__["bA"] = _CosmoBolognaLib.STR_data_model_bA_set
    __swig_getmethods__["bA"] = _CosmoBolognaLib.STR_data_model_bA_get
    if _newclass:
        bA = _swig_property(_CosmoBolognaLib.STR_data_model_bA_get, _CosmoBolognaLib.STR_data_model_bA_set)
    __swig_setmethods__["xiType"] = _CosmoBolognaLib.STR_data_model_xiType_set
    __swig_getmethods__["xiType"] = _CosmoBolognaLib.STR_data_model_xiType_get
    if _newclass:
        xiType = _swig_property(_CosmoBolognaLib.STR_data_model_xiType_get, _CosmoBolognaLib.STR_data_model_xiType_set)
    __swig_setmethods__["k_star"] = _CosmoBolognaLib.STR_data_model_k_star_set
    __swig_getmethods__["k_star"] = _CosmoBolognaLib.STR_data_model_k_star_get
    if _newclass:
        k_star = _swig_property(_CosmoBolognaLib.STR_data_model_k_star_get, _CosmoBolognaLib.STR_data_model_k_star_set)
    __swig_setmethods__["xiNL"] = _CosmoBolognaLib.STR_data_model_xiNL_set
    __swig_getmethods__["xiNL"] = _CosmoBolognaLib.STR_data_model_xiNL_get
    if _newclass:
        xiNL = _swig_property(_CosmoBolognaLib.STR_data_model_xiNL_get, _CosmoBolognaLib.STR_data_model_xiNL_set)
    __swig_setmethods__["v_min"] = _CosmoBolognaLib.STR_data_model_v_min_set
    __swig_getmethods__["v_min"] = _CosmoBolognaLib.STR_data_model_v_min_get
    if _newclass:
        v_min = _swig_property(_CosmoBolognaLib.STR_data_model_v_min_get, _CosmoBolognaLib.STR_data_model_v_min_set)
    __swig_setmethods__["v_max"] = _CosmoBolognaLib.STR_data_model_v_max_set
    __swig_getmethods__["v_max"] = _CosmoBolognaLib.STR_data_model_v_max_get
    if _newclass:
        v_max = _swig_property(_CosmoBolognaLib.STR_data_model_v_max_get, _CosmoBolognaLib.STR_data_model_v_max_set)
    __swig_setmethods__["step_v"] = _CosmoBolognaLib.STR_data_model_step_v_set
    __swig_getmethods__["step_v"] = _CosmoBolognaLib.STR_data_model_step_v_get
    if _newclass:
        step_v = _swig_property(_CosmoBolognaLib.STR_data_model_step_v_get, _CosmoBolognaLib.STR_data_model_step_v_set)
    __swig_setmethods__["xi_real_index"] = _CosmoBolognaLib.STR_data_model_xi_real_index_set
    __swig_getmethods__["xi_real_index"] = _CosmoBolognaLib.STR_data_model_xi_real_index_get
    if _newclass:
        xi_real_index = _swig_property(_CosmoBolognaLib.STR_data_model_xi_real_index_get, _CosmoBolognaLib.STR_data_model_xi_real_index_set)
    __swig_setmethods__["dataset_order"] = _CosmoBolognaLib.STR_data_model_dataset_order_set
    __swig_getmethods__["dataset_order"] = _CosmoBolognaLib.STR_data_model_dataset_order_get
    if _newclass:
        dataset_order = _swig_property(_CosmoBolognaLib.STR_data_model_dataset_order_get, _CosmoBolognaLib.STR_data_model_dataset_order_set)
    __swig_setmethods__["nmultipoles"] = _CosmoBolognaLib.STR_data_model_nmultipoles_set
    __swig_getmethods__["nmultipoles"] = _CosmoBolognaLib.STR_data_model_nmultipoles_get
    if _newclass:
        nmultipoles = _swig_property(_CosmoBolognaLib.STR_data_model_nmultipoles_get, _CosmoBolognaLib.STR_data_model_nmultipoles_set)
    __swig_setmethods__["nwedges"] = _CosmoBolognaLib.STR_data_model_nwedges_set
    __swig_getmethods__["nwedges"] = _CosmoBolognaLib.STR_data_model_nwedges_get
    if _newclass:
        nwedges = _swig_property(_CosmoBolognaLib.STR_data_model_nwedges_get, _CosmoBolognaLib.STR_data_model_nwedges_set)
    __swig_setmethods__["kk"] = _CosmoBolognaLib.STR_data_model_kk_set
    __swig_getmethods__["kk"] = _CosmoBolognaLib.STR_data_model_kk_get
    if _newclass:
        kk = _swig_property(_CosmoBolognaLib.STR_data_model_kk_get, _CosmoBolognaLib.STR_data_model_kk_set)
    __swig_setmethods__["rr"] = _CosmoBolognaLib.STR_data_model_rr_set
    __swig_getmethods__["rr"] = _CosmoBolognaLib.STR_data_model_rr_get
    if _newclass:
        rr = _swig_property(_CosmoBolognaLib.STR_data_model_rr_get, _CosmoBolognaLib.STR_data_model_rr_set)
    __swig_setmethods__["func_Pk"] = _CosmoBolognaLib.STR_data_model_func_Pk_set
    __swig_getmethods__["func_Pk"] = _CosmoBolognaLib.STR_data_model_func_Pk_get
    if _newclass:
        func_Pk = _swig_property(_CosmoBolognaLib.STR_data_model_func_Pk_get, _CosmoBolognaLib.STR_data_model_func_Pk_set)
    __swig_setmethods__["func_Pk_NW"] = _CosmoBolognaLib.STR_data_model_func_Pk_NW_set
    __swig_getmethods__["func_Pk_NW"] = _CosmoBolognaLib.STR_data_model_func_Pk_NW_get
    if _newclass:
        func_Pk_NW = _swig_property(_CosmoBolognaLib.STR_data_model_func_Pk_NW_get, _CosmoBolognaLib.STR_data_model_func_Pk_NW_set)
    __swig_setmethods__["func_multipoles"] = _CosmoBolognaLib.STR_data_model_func_multipoles_set
    __swig_getmethods__["func_multipoles"] = _CosmoBolognaLib.STR_data_model_func_multipoles_get
    if _newclass:
        func_multipoles = _swig_property(_CosmoBolognaLib.STR_data_model_func_multipoles_get, _CosmoBolognaLib.STR_data_model_func_multipoles_set)
    __swig_setmethods__["func_wedges"] = _CosmoBolognaLib.STR_data_model_func_wedges_set
    __swig_getmethods__["func_wedges"] = _CosmoBolognaLib.STR_data_model_func_wedges_get
    if _newclass:
        func_wedges = _swig_property(_CosmoBolognaLib.STR_data_model_func_wedges_get, _CosmoBolognaLib.STR_data_model_func_wedges_set)
    __swig_setmethods__["bias"] = _CosmoBolognaLib.STR_data_model_bias_set
    __swig_getmethods__["bias"] = _CosmoBolognaLib.STR_data_model_bias_get
    if _newclass:
        bias = _swig_property(_CosmoBolognaLib.STR_data_model_bias_get, _CosmoBolognaLib.STR_data_model_bias_set)
    __swig_setmethods__["DVfid"] = _CosmoBolognaLib.STR_data_model_DVfid_set
    __swig_getmethods__["DVfid"] = _CosmoBolognaLib.STR_data_model_DVfid_get
    if _newclass:
        DVfid = _swig_property(_CosmoBolognaLib.STR_data_model_DVfid_get, _CosmoBolognaLib.STR_data_model_DVfid_set)
    __swig_setmethods__["DAfid"] = _CosmoBolognaLib.STR_data_model_DAfid_set
    __swig_getmethods__["DAfid"] = _CosmoBolognaLib.STR_data_model_DAfid_get
    if _newclass:
        DAfid = _swig_property(_CosmoBolognaLib.STR_data_model_DAfid_get, _CosmoBolognaLib.STR_data_model_DAfid_set)
    __swig_setmethods__["HHfid"] = _CosmoBolognaLib.STR_data_model_HHfid_set
    __swig_getmethods__["HHfid"] = _CosmoBolognaLib.STR_data_model_HHfid_get
    if _newclass:
        HHfid = _swig_property(_CosmoBolognaLib.STR_data_model_HHfid_get, _CosmoBolognaLib.STR_data_model_HHfid_set)
    __swig_setmethods__["Delta"] = _CosmoBolognaLib.STR_data_model_Delta_set
    __swig_getmethods__["Delta"] = _CosmoBolognaLib.STR_data_model_Delta_get
    if _newclass:
        Delta = _swig_property(_CosmoBolognaLib.STR_data_model_Delta_get, _CosmoBolognaLib.STR_data_model_Delta_set)
    __swig_setmethods__["isDelta_Vir"] = _CosmoBolognaLib.STR_data_model_isDelta_Vir_set
    __swig_getmethods__["isDelta_Vir"] = _CosmoBolognaLib.STR_data_model_isDelta_Vir_get
    if _newclass:
        isDelta_Vir = _swig_property(_CosmoBolognaLib.STR_data_model_isDelta_Vir_get, _CosmoBolognaLib.STR_data_model_isDelta_Vir_set)
    __swig_setmethods__["gau_ran"] = _CosmoBolognaLib.STR_data_model_gau_ran_set
    __swig_getmethods__["gau_ran"] = _CosmoBolognaLib.STR_data_model_gau_ran_get
    if _newclass:
        gau_ran = _swig_property(_CosmoBolognaLib.STR_data_model_gau_ran_get, _CosmoBolognaLib.STR_data_model_gau_ran_set)
    __swig_setmethods__["cluster_mass_proxy"] = _CosmoBolognaLib.STR_data_model_cluster_mass_proxy_set
    __swig_getmethods__["cluster_mass_proxy"] = _CosmoBolognaLib.STR_data_model_cluster_mass_proxy_get
    if _newclass:
        cluster_mass_proxy = _swig_property(_CosmoBolognaLib.STR_data_model_cluster_mass_proxy_get, _CosmoBolognaLib.STR_data_model_cluster_mass_proxy_set)
    __swig_setmethods__["cluster_mass_proxy_error"] = _CosmoBolognaLib.STR_data_model_cluster_mass_proxy_error_set
    __swig_getmethods__["cluster_mass_proxy_error"] = _CosmoBolognaLib.STR_data_model_cluster_mass_proxy_error_get
    if _newclass:
        cluster_mass_proxy_error = _swig_property(_CosmoBolognaLib.STR_data_model_cluster_mass_proxy_error_get, _CosmoBolognaLib.STR_data_model_cluster_mass_proxy_error_set)
    __swig_setmethods__["model_MF"] = _CosmoBolognaLib.STR_data_model_model_MF_set
    __swig_getmethods__["model_MF"] = _CosmoBolognaLib.STR_data_model_model_MF_get
    if _newclass:
        model_MF = _swig_property(_CosmoBolognaLib.STR_data_model_model_MF_get, _CosmoBolognaLib.STR_data_model_model_MF_set)
    __swig_setmethods__["model_bias"] = _CosmoBolognaLib.STR_data_model_model_bias_set
    __swig_getmethods__["model_bias"] = _CosmoBolognaLib.STR_data_model_model_bias_get
    if _newclass:
        model_bias = _swig_property(_CosmoBolognaLib.STR_data_model_model_bias_get, _CosmoBolognaLib.STR_data_model_model_bias_set)
    __swig_setmethods__["func_sigma"] = _CosmoBolognaLib.STR_data_model_func_sigma_set
    __swig_getmethods__["func_sigma"] = _CosmoBolognaLib.STR_data_model_func_sigma_get
    if _newclass:
        func_sigma = _swig_property(_CosmoBolognaLib.STR_data_model_func_sigma_get, _CosmoBolognaLib.STR_data_model_func_sigma_set)
    __swig_setmethods__["cosmopar_bias_interp_1D"] = _CosmoBolognaLib.STR_data_model_cosmopar_bias_interp_1D_set
    __swig_getmethods__["cosmopar_bias_interp_1D"] = _CosmoBolognaLib.STR_data_model_cosmopar_bias_interp_1D_get
    if _newclass:
        cosmopar_bias_interp_1D = _swig_property(_CosmoBolognaLib.STR_data_model_cosmopar_bias_interp_1D_get, _CosmoBolognaLib.STR_data_model_cosmopar_bias_interp_1D_set)
    __swig_setmethods__["cosmopar_bias_interp_2D"] = _CosmoBolognaLib.STR_data_model_cosmopar_bias_interp_2D_set
    __swig_getmethods__["cosmopar_bias_interp_2D"] = _CosmoBolognaLib.STR_data_model_cosmopar_bias_interp_2D_get
    if _newclass:
        cosmopar_bias_interp_2D = _swig_property(_CosmoBolognaLib.STR_data_model_cosmopar_bias_interp_2D_get, _CosmoBolognaLib.STR_data_model_cosmopar_bias_interp_2D_set)
    __swig_setmethods__["interp_SelectionFunction_cut"] = _CosmoBolognaLib.STR_data_model_interp_SelectionFunction_cut_set
    __swig_getmethods__["interp_SelectionFunction_cut"] = _CosmoBolognaLib.STR_data_model_interp_SelectionFunction_cut_get
    if _newclass:
        interp_SelectionFunction_cut = _swig_property(_CosmoBolognaLib.STR_data_model_interp_SelectionFunction_cut_get, _CosmoBolognaLib.STR_data_model_interp_SelectionFunction_cut_set)
    __swig_setmethods__["interp_SelectionFunction"] = _CosmoBolognaLib.STR_data_model_interp_SelectionFunction_set
    __swig_getmethods__["interp_SelectionFunction"] = _CosmoBolognaLib.STR_data_model_interp_SelectionFunction_get
    if _newclass:
        interp_SelectionFunction = _swig_property(_CosmoBolognaLib.STR_data_model_interp_SelectionFunction_get, _CosmoBolognaLib.STR_data_model_interp_SelectionFunction_set)
    __swig_setmethods__["z_min"] = _CosmoBolognaLib.STR_data_model_z_min_set
    __swig_getmethods__["z_min"] = _CosmoBolognaLib.STR_data_model_z_min_get
    if _newclass:
        z_min = _swig_property(_CosmoBolognaLib.STR_data_model_z_min_get, _CosmoBolognaLib.STR_data_model_z_min_set)
    __swig_setmethods__["z_max"] = _CosmoBolognaLib.STR_data_model_z_max_set
    __swig_getmethods__["z_max"] = _CosmoBolognaLib.STR_data_model_z_max_get
    if _newclass:
        z_max = _swig_property(_CosmoBolognaLib.STR_data_model_z_max_get, _CosmoBolognaLib.STR_data_model_z_max_set)
    __swig_setmethods__["mass_step"] = _CosmoBolognaLib.STR_data_model_mass_step_set
    __swig_getmethods__["mass_step"] = _CosmoBolognaLib.STR_data_model_mass_step_get
    if _newclass:
        mass_step = _swig_property(_CosmoBolognaLib.STR_data_model_mass_step_get, _CosmoBolognaLib.STR_data_model_mass_step_set)
    __swig_setmethods__["Mass_min"] = _CosmoBolognaLib.STR_data_model_Mass_min_set
    __swig_getmethods__["Mass_min"] = _CosmoBolognaLib.STR_data_model_Mass_min_get
    if _newclass:
        Mass_min = _swig_property(_CosmoBolognaLib.STR_data_model_Mass_min_get, _CosmoBolognaLib.STR_data_model_Mass_min_set)
    __swig_setmethods__["Mass_max"] = _CosmoBolognaLib.STR_data_model_Mass_max_set
    __swig_getmethods__["Mass_max"] = _CosmoBolognaLib.STR_data_model_Mass_max_get
    if _newclass:
        Mass_max = _swig_property(_CosmoBolognaLib.STR_data_model_Mass_max_get, _CosmoBolognaLib.STR_data_model_Mass_max_set)
    __swig_setmethods__["mass"] = _CosmoBolognaLib.STR_data_model_mass_set
    __swig_getmethods__["mass"] = _CosmoBolognaLib.STR_data_model_mass_get
    if _newclass:
        mass = _swig_property(_CosmoBolognaLib.STR_data_model_mass_get, _CosmoBolognaLib.STR_data_model_mass_set)

    def __init__(self):
        this = _CosmoBolognaLib.new_STR_data_model()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_STR_data_model
    __del__ = lambda self: None
STR_data_model_swigregister = _CosmoBolognaLib.STR_data_model_swigregister
STR_data_model_swigregister(STR_data_model)


def Pkmu(kk, mu, alpha_perp, alpha_par, sigmaNL_perp, sigmaNL_par, bias, linear_growth_rate, SigmaS, Pk, Pk_NW):
    return _CosmoBolognaLib.Pkmu(kk, mu, alpha_perp, alpha_par, sigmaNL_perp, sigmaNL_par, bias, linear_growth_rate, SigmaS, Pk, Pk_NW)
Pkmu = _CosmoBolognaLib.Pkmu

def Pk_l(kk, l, alpha_perp, alpha_par, sigmaNL_perp, sigmaNL_par, bias, linear_growth_rate, SigmaS, Pk_lin, Pk_NW, prec):
    return _CosmoBolognaLib.Pk_l(kk, l, alpha_perp, alpha_par, sigmaNL_perp, sigmaNL_par, bias, linear_growth_rate, SigmaS, Pk_lin, Pk_NW, prec)
Pk_l = _CosmoBolognaLib.Pk_l

def Xi_l(*args):
    return _CosmoBolognaLib.Xi_l(*args)
Xi_l = _CosmoBolognaLib.Xi_l

def Xi_wedges(rr, nwedges, alpha_perp, alpha_par, sigmaNL_perp, sigmaNL_par, bias, linear_growth_rate, SigmaS, kk, Pk_lin, Pk_NW, prec=1.e-5):
    return _CosmoBolognaLib.Xi_wedges(rr, nwedges, alpha_perp, alpha_par, sigmaNL_perp, sigmaNL_par, bias, linear_growth_rate, SigmaS, kk, Pk_lin, Pk_NW, prec)
Xi_wedges = _CosmoBolognaLib.Xi_wedges

def Xi_rppi(rp, pi, alpha_perp, alpha_par, sigmaNL_perp, sigmaNL_par, bias, linear_growth_rate, SigmaS, kk, Pk_lin, Pk_NW, prec):
    return _CosmoBolognaLib.Xi_rppi(rp, pi, alpha_perp, alpha_par, sigmaNL_perp, sigmaNL_par, bias, linear_growth_rate, SigmaS, kk, Pk_lin, Pk_NW, prec)
Xi_rppi = _CosmoBolognaLib.Xi_rppi

def wp_from_Xi_rppi(rp, pimax, alpha_perp, alpha_par, sigmaNL_perp, sigmaNL_par, bias, linear_growth_rate, SigmaS, kk, Pk_lin, Pk_NW, prec):
    return _CosmoBolognaLib.wp_from_Xi_rppi(rp, pimax, alpha_perp, alpha_par, sigmaNL_perp, sigmaNL_par, bias, linear_growth_rate, SigmaS, kk, Pk_lin, Pk_NW, prec)
wp_from_Xi_rppi = _CosmoBolognaLib.wp_from_Xi_rppi

def damped_Pk_terms(kk, linear_growth_rate, SigmaS, PkDM):
    return _CosmoBolognaLib.damped_Pk_terms(kk, linear_growth_rate, SigmaS, PkDM)
damped_Pk_terms = _CosmoBolognaLib.damped_Pk_terms

def damped_Xi(ss, bias, linear_growth_rate, SigmaS, kk, PkDM):
    return _CosmoBolognaLib.damped_Xi(ss, bias, linear_growth_rate, SigmaS, kk, PkDM)
damped_Xi = _CosmoBolognaLib.damped_Xi

def xiMultipoles(rad, inputs, parameter):
    return _CosmoBolognaLib.xiMultipoles(rad, inputs, parameter)
xiMultipoles = _CosmoBolognaLib.xiMultipoles

def xiMultipoles_BAO(rad, inputs, parameter):
    return _CosmoBolognaLib.xiMultipoles_BAO(rad, inputs, parameter)
xiMultipoles_BAO = _CosmoBolognaLib.xiMultipoles_BAO

def xiMultipoles_sigma8_bias(rad, inputs, parameter):
    return _CosmoBolognaLib.xiMultipoles_sigma8_bias(rad, inputs, parameter)
xiMultipoles_sigma8_bias = _CosmoBolognaLib.xiMultipoles_sigma8_bias

def wp_from_xi_approx(func, rp, inputs, parameter):
    return _CosmoBolognaLib.wp_from_xi_approx(func, rp, inputs, parameter)
wp_from_xi_approx = _CosmoBolognaLib.wp_from_xi_approx

def wp_1halo_approx(rp, inputs, parameter):
    return _CosmoBolognaLib.wp_1halo_approx(rp, inputs, parameter)
wp_1halo_approx = _CosmoBolognaLib.wp_1halo_approx

def wp_2halo_approx(rp, inputs, parameter):
    return _CosmoBolognaLib.wp_2halo_approx(rp, inputs, parameter)
wp_2halo_approx = _CosmoBolognaLib.wp_2halo_approx

def wp_HOD_approx(rp, inputs, parameter):
    return _CosmoBolognaLib.wp_HOD_approx(rp, inputs, parameter)
wp_HOD_approx = _CosmoBolognaLib.wp_HOD_approx

def wp_from_xi(func, rp, inputs, parameter):
    return _CosmoBolognaLib.wp_from_xi(func, rp, inputs, parameter)
wp_from_xi = _CosmoBolognaLib.wp_from_xi

def wp_1halo(rp, inputs, parameter):
    return _CosmoBolognaLib.wp_1halo(rp, inputs, parameter)
wp_1halo = _CosmoBolognaLib.wp_1halo

def wp_2halo(rp, inputs, parameter):
    return _CosmoBolognaLib.wp_2halo(rp, inputs, parameter)
wp_2halo = _CosmoBolognaLib.wp_2halo

def wp_HOD(rp, inputs, parameter):
    return _CosmoBolognaLib.wp_HOD(rp, inputs, parameter)
wp_HOD = _CosmoBolognaLib.wp_HOD

def xiWedges(rad, inputs, parameter):
    return _CosmoBolognaLib.xiWedges(rad, inputs, parameter)
xiWedges = _CosmoBolognaLib.xiWedges

def xiWedges_BAO(rad, inputs, parameter):
    return _CosmoBolognaLib.xiWedges_BAO(rad, inputs, parameter)
xiWedges_BAO = _CosmoBolognaLib.xiWedges_BAO
class Modelling_TwoPointCorrelation(Modelling):
    __swig_setmethods__ = {}
    for _s in [Modelling]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Modelling_TwoPointCorrelation, name, value)
    __swig_getmethods__ = {}
    for _s in [Modelling]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Modelling_TwoPointCorrelation, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Modelling_TwoPointCorrelation(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Modelling_TwoPointCorrelation
    __del__ = lambda self: None
    __swig_getmethods__["Create"] = lambda x: _CosmoBolognaLib.Modelling_TwoPointCorrelation_Create
    if _newclass:
        Create = staticmethod(_CosmoBolognaLib.Modelling_TwoPointCorrelation_Create)

    def twoPType(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_twoPType(self)

    def data_model(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_data_model(self)
Modelling_TwoPointCorrelation_swigregister = _CosmoBolognaLib.Modelling_TwoPointCorrelation_swigregister
Modelling_TwoPointCorrelation_swigregister(Modelling_TwoPointCorrelation)

def Modelling_TwoPointCorrelation_Create(*args):
    return _CosmoBolognaLib.Modelling_TwoPointCorrelation_Create(*args)
Modelling_TwoPointCorrelation_Create = _CosmoBolognaLib.Modelling_TwoPointCorrelation_Create

class Modelling_TwoPointCorrelation1D(Modelling_TwoPointCorrelation):
    __swig_setmethods__ = {}
    for _s in [Modelling_TwoPointCorrelation]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Modelling_TwoPointCorrelation1D, name, value)
    __swig_getmethods__ = {}
    for _s in [Modelling_TwoPointCorrelation]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Modelling_TwoPointCorrelation1D, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Modelling_TwoPointCorrelation1D(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Modelling_TwoPointCorrelation1D
    __del__ = lambda self: None

    def data_HOD(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_data_HOD(self)

    def sigma8(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_sigma8(self)

    def bias(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_bias(self)

    def bsigma8(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_bsigma8(self)

    def fsigma8(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_fsigma8(self)

    def polynomial(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_polynomial(self, *args)

    def peak(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_peak(self)

    def dip(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_dip(self)

    def linear_point(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_linear_point(self)

    def sigmaNL(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_sigmaNL(self)

    def Mmin(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_Mmin(self)

    def sigmalgM(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_sigmalgM(self)

    def M0(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_M0(self)

    def M1(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_M1(self)

    def alpha(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_alpha(self)

    def write_model(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_write_model(self, *args)

    def compute_model_from_chains(self, xx, start, thin, median_model, low_model, up_model):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_compute_model_from_chains(self, xx, start, thin, median_model, low_model, up_model)

    def set_fit_range(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_set_fit_range(self, *args)

    def set_data_model(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_set_data_model(self, *args)

    def set_data_HOD(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_set_data_HOD(self, *args)

    def set_data_model_cluster_selection_function(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_set_data_model_cluster_selection_function(self, *args)
Modelling_TwoPointCorrelation1D_swigregister = _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_swigregister
Modelling_TwoPointCorrelation1D_swigregister(Modelling_TwoPointCorrelation1D)

class Modelling_TwoPointCorrelation1D_monopole(Modelling_TwoPointCorrelation1D):
    __swig_setmethods__ = {}
    for _s in [Modelling_TwoPointCorrelation1D]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Modelling_TwoPointCorrelation1D_monopole, name, value)
    __swig_getmethods__ = {}
    for _s in [Modelling_TwoPointCorrelation1D]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Modelling_TwoPointCorrelation1D_monopole, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Modelling_TwoPointCorrelation1D_monopole(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Modelling_TwoPointCorrelation1D_monopole
    __del__ = lambda self: None

    def set_fiducial_xiDM(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_monopole_set_fiducial_xiDM(self)

    def set_fiducial_PkDM(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_monopole_set_fiducial_PkDM(self)

    def set_fiducial_sigma_data_model(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_monopole_set_fiducial_sigma_data_model(self)

    def set_fiducial_sigma(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_monopole_set_fiducial_sigma(self)

    def set_bias_eff_grid(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_monopole_set_bias_eff_grid(self, *args)

    def set_model_linear(self, alpha_prior, fsigma8_prior, bsigma8_prior, polynomial_prior):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_monopole_set_model_linear(self, alpha_prior, fsigma8_prior, bsigma8_prior, polynomial_prior)

    def set_model_linear_LinearPoint(self, alpha_prior, fsigma8_prior, bsigma8_prior, polynomial_prior):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_monopole_set_model_linear_LinearPoint(self, alpha_prior, fsigma8_prior, bsigma8_prior, polynomial_prior)

    def set_model_polynomial_LinearPoint(self, polynomial_prior):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_monopole_set_model_polynomial_LinearPoint(self, polynomial_prior)

    def set_model_Kaiser(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_monopole_set_model_Kaiser(self, *args)

    def set_model_sigma8_bias(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_monopole_set_model_sigma8_bias(self, *args)

    def set_model_linear_bias_cosmology(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_monopole_set_model_linear_bias_cosmology(self, *args)

    def set_model_linear_sigma8_clusters(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_monopole_set_model_linear_sigma8_clusters(self, *args)

    def set_model_linear_cosmology_clusters_grid(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_monopole_set_model_linear_cosmology_clusters_grid(self, *args)

    def set_model_linear_cosmology_cluster_selection_function(self, alpha_prior, cosmo_param, cosmo_param_prior):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_monopole_set_model_linear_cosmology_cluster_selection_function(self, alpha_prior, cosmo_param, cosmo_param_prior)

    def set_model_linear_cosmology_clusters(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_monopole_set_model_linear_cosmology_clusters(self, *args)

    def set_model_BAO(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_monopole_set_model_BAO(self, *args)

    def set_model_BAO_sigmaNL(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_monopole_set_model_BAO_sigmaNL(self, *args)

    def set_model_BAO_LinearPoint(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_monopole_set_model_BAO_LinearPoint(self, *args)

    def set_model_HOD(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_monopole_set_model_HOD(self, *args)

    def set_model_bias_sigmaz(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_monopole_set_model_bias_sigmaz(self, *args)

    def set_model_scaling_relation_sigmaz(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_monopole_set_model_scaling_relation_sigmaz(self, *args)
Modelling_TwoPointCorrelation1D_monopole_swigregister = _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_monopole_swigregister
Modelling_TwoPointCorrelation1D_monopole_swigregister(Modelling_TwoPointCorrelation1D_monopole)

class Modelling_TwoPointCorrelation1D_angular(Modelling_TwoPointCorrelation1D):
    __swig_setmethods__ = {}
    for _s in [Modelling_TwoPointCorrelation1D]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Modelling_TwoPointCorrelation1D_angular, name, value)
    __swig_getmethods__ = {}
    for _s in [Modelling_TwoPointCorrelation1D]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Modelling_TwoPointCorrelation1D_angular, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Modelling_TwoPointCorrelation1D_angular(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Modelling_TwoPointCorrelation1D_angular
    __del__ = lambda self: None
Modelling_TwoPointCorrelation1D_angular_swigregister = _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_angular_swigregister
Modelling_TwoPointCorrelation1D_angular_swigregister(Modelling_TwoPointCorrelation1D_angular)

class Modelling_TwoPointCorrelation1D_filtered(Modelling_TwoPointCorrelation1D_monopole):
    __swig_setmethods__ = {}
    for _s in [Modelling_TwoPointCorrelation1D_monopole]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Modelling_TwoPointCorrelation1D_filtered, name, value)
    __swig_getmethods__ = {}
    for _s in [Modelling_TwoPointCorrelation1D_monopole]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Modelling_TwoPointCorrelation1D_filtered, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Modelling_TwoPointCorrelation1D_filtered(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Modelling_TwoPointCorrelation1D_filtered
    __del__ = lambda self: None
Modelling_TwoPointCorrelation1D_filtered_swigregister = _CosmoBolognaLib.Modelling_TwoPointCorrelation1D_filtered_swigregister
Modelling_TwoPointCorrelation1D_filtered_swigregister(Modelling_TwoPointCorrelation1D_filtered)

class Modelling_TwoPointCorrelation2D(Modelling_TwoPointCorrelation):
    __swig_setmethods__ = {}
    for _s in [Modelling_TwoPointCorrelation]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Modelling_TwoPointCorrelation2D, name, value)
    __swig_getmethods__ = {}
    for _s in [Modelling_TwoPointCorrelation]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Modelling_TwoPointCorrelation2D, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Modelling_TwoPointCorrelation2D(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Modelling_TwoPointCorrelation2D
    __del__ = lambda self: None

    def set_fit_range(self, xmin, xmax, ymin, ymax):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation2D_set_fit_range(self, xmin, xmax, ymin, ymax)

    def set_data_model(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation2D_set_data_model(self, *args)

    def write_model(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation2D_write_model(self, *args)

    def compute_model_from_chains(self, xx, yy, start, thin, median_model, low_model, up_model):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation2D_compute_model_from_chains(self, xx, yy, start, thin, median_model, low_model, up_model)
Modelling_TwoPointCorrelation2D_swigregister = _CosmoBolognaLib.Modelling_TwoPointCorrelation2D_swigregister
Modelling_TwoPointCorrelation2D_swigregister(Modelling_TwoPointCorrelation2D)

class Modelling_TwoPointCorrelation2D_cartesian(Modelling_TwoPointCorrelation2D):
    __swig_setmethods__ = {}
    for _s in [Modelling_TwoPointCorrelation2D]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Modelling_TwoPointCorrelation2D_cartesian, name, value)
    __swig_getmethods__ = {}
    for _s in [Modelling_TwoPointCorrelation2D]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Modelling_TwoPointCorrelation2D_cartesian, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Modelling_TwoPointCorrelation2D_cartesian(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Modelling_TwoPointCorrelation2D_cartesian
    __del__ = lambda self: None

    def set_fiducial_xiDM(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation2D_cartesian_set_fiducial_xiDM(self)

    def set_model_dispersionModel(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation2D_cartesian_set_model_dispersionModel(self, *args)
Modelling_TwoPointCorrelation2D_cartesian_swigregister = _CosmoBolognaLib.Modelling_TwoPointCorrelation2D_cartesian_swigregister
Modelling_TwoPointCorrelation2D_cartesian_swigregister(Modelling_TwoPointCorrelation2D_cartesian)

class Modelling_TwoPointCorrelation2D_polar(Modelling_TwoPointCorrelation2D):
    __swig_setmethods__ = {}
    for _s in [Modelling_TwoPointCorrelation2D]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Modelling_TwoPointCorrelation2D_polar, name, value)
    __swig_getmethods__ = {}
    for _s in [Modelling_TwoPointCorrelation2D]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Modelling_TwoPointCorrelation2D_polar, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Modelling_TwoPointCorrelation2D_polar(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Modelling_TwoPointCorrelation2D_polar
    __del__ = lambda self: None
Modelling_TwoPointCorrelation2D_polar_swigregister = _CosmoBolognaLib.Modelling_TwoPointCorrelation2D_polar_swigregister
Modelling_TwoPointCorrelation2D_polar_swigregister(Modelling_TwoPointCorrelation2D_polar)

class Modelling_TwoPointCorrelation_multipoles(Modelling_TwoPointCorrelation1D_monopole):
    __swig_setmethods__ = {}
    for _s in [Modelling_TwoPointCorrelation1D_monopole]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Modelling_TwoPointCorrelation_multipoles, name, value)
    __swig_getmethods__ = {}
    for _s in [Modelling_TwoPointCorrelation1D_monopole]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Modelling_TwoPointCorrelation_multipoles, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Modelling_TwoPointCorrelation_multipoles(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Modelling_TwoPointCorrelation_multipoles
    __del__ = lambda self: None

    def set_fit_range(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_multipoles_set_fit_range(self, *args)

    def set_fiducial_PkDM(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_multipoles_set_fiducial_PkDM(self)

    def set_fiducial_xiDM(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_multipoles_set_fiducial_xiDM(self)

    def alpha_perpendicular(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_multipoles_alpha_perpendicular(self)

    def alpha_parallel(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_multipoles_alpha_parallel(self)

    def bsigma8(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_multipoles_bsigma8(self)

    def fsigma8(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_multipoles_fsigma8(self)

    def SigmaS(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_multipoles_SigmaS(self)

    def B0(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_multipoles_B0(self)

    def B2(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_multipoles_B2(self)

    def A00(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_multipoles_A00(self)

    def A01(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_multipoles_A01(self)

    def A02(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_multipoles_A02(self)

    def A20(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_multipoles_A20(self)

    def A21(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_multipoles_A21(self)

    def A22(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_multipoles_A22(self)

    def set_model_fullShape(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_multipoles_set_model_fullShape(self, *args)

    def set_model_BAO(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_multipoles_set_model_BAO(self, *args)

    def set_model_sigma8_bias(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_multipoles_set_model_sigma8_bias(self, *args)

    def compute_model_from_chains(self, xx, start, thin, median_model, low_model, up_model):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_multipoles_compute_model_from_chains(self, xx, start, thin, median_model, low_model, up_model)

    def write_model(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_multipoles_write_model(self, *args)
Modelling_TwoPointCorrelation_multipoles_swigregister = _CosmoBolognaLib.Modelling_TwoPointCorrelation_multipoles_swigregister
Modelling_TwoPointCorrelation_multipoles_swigregister(Modelling_TwoPointCorrelation_multipoles)

class Modelling_TwoPointCorrelation_projected(Modelling_TwoPointCorrelation1D_monopole):
    __swig_setmethods__ = {}
    for _s in [Modelling_TwoPointCorrelation1D_monopole]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Modelling_TwoPointCorrelation_projected, name, value)
    __swig_getmethods__ = {}
    for _s in [Modelling_TwoPointCorrelation1D_monopole]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Modelling_TwoPointCorrelation_projected, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Modelling_TwoPointCorrelation_projected(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Modelling_TwoPointCorrelation_projected
    __del__ = lambda self: None

    def set_fiducial_wpDM(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_projected_set_fiducial_wpDM(self)

    def set_model_linearBias(self, bsigma8_prior):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_projected_set_model_linearBias(self, bsigma8_prior)

    def set_model_HOD(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_projected_set_model_HOD(self, *args)
Modelling_TwoPointCorrelation_projected_swigregister = _CosmoBolognaLib.Modelling_TwoPointCorrelation_projected_swigregister
Modelling_TwoPointCorrelation_projected_swigregister(Modelling_TwoPointCorrelation_projected)

class Modelling_TwoPointCorrelation_deprojected(Modelling_TwoPointCorrelation_projected):
    __swig_setmethods__ = {}
    for _s in [Modelling_TwoPointCorrelation_projected]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Modelling_TwoPointCorrelation_deprojected, name, value)
    __swig_getmethods__ = {}
    for _s in [Modelling_TwoPointCorrelation_projected]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Modelling_TwoPointCorrelation_deprojected, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Modelling_TwoPointCorrelation_deprojected(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Modelling_TwoPointCorrelation_deprojected
    __del__ = lambda self: None
Modelling_TwoPointCorrelation_deprojected_swigregister = _CosmoBolognaLib.Modelling_TwoPointCorrelation_deprojected_swigregister
Modelling_TwoPointCorrelation_deprojected_swigregister(Modelling_TwoPointCorrelation_deprojected)

class Modelling_TwoPointCorrelation_wedges(Modelling_TwoPointCorrelation1D_monopole):
    __swig_setmethods__ = {}
    for _s in [Modelling_TwoPointCorrelation1D_monopole]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Modelling_TwoPointCorrelation_wedges, name, value)
    __swig_getmethods__ = {}
    for _s in [Modelling_TwoPointCorrelation1D_monopole]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Modelling_TwoPointCorrelation_wedges, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Modelling_TwoPointCorrelation_wedges(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Modelling_TwoPointCorrelation_wedges
    __del__ = lambda self: None

    def set_fiducial_PkDM(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_wedges_set_fiducial_PkDM(self)

    def set_fiducial_xiDM(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_wedges_set_fiducial_xiDM(self)

    def set_fit_range(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_wedges_set_fit_range(self, *args)

    def alpha_perpendicular(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_wedges_alpha_perpendicular(self)

    def alpha_parallel(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_wedges_alpha_parallel(self)

    def bsigma8(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_wedges_bsigma8(self)

    def fsigma8(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_wedges_fsigma8(self)

    def SigmaS(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_wedges_SigmaS(self)

    def Bperp(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_wedges_Bperp(self)

    def Bpar(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_wedges_Bpar(self)

    def Aperp0(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_wedges_Aperp0(self)

    def Aperp1(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_wedges_Aperp1(self)

    def Aperp2(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_wedges_Aperp2(self)

    def Apar0(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_wedges_Apar0(self)

    def Apar1(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_wedges_Apar1(self)

    def Apar2(self):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_wedges_Apar2(self)

    def set_model_fullShape(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_wedges_set_model_fullShape(self, *args)

    def set_model_BAO(self, *args):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_wedges_set_model_BAO(self, *args)

    def compute_model_from_chains(self, xx, start, thin, median_model, low_model, up_model):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_wedges_compute_model_from_chains(self, xx, start, thin, median_model, low_model, up_model)

    def write_model(self, dir, file, xx, parameter, start, thin):
        return _CosmoBolognaLib.Modelling_TwoPointCorrelation_wedges_write_model(self, dir, file, xx, parameter, start, thin)
Modelling_TwoPointCorrelation_wedges_swigregister = _CosmoBolognaLib.Modelling_TwoPointCorrelation_wedges_swigregister
Modelling_TwoPointCorrelation_wedges_swigregister(Modelling_TwoPointCorrelation_wedges)


def Q_nonlinear_localbias(theta, inputs, parameter):
    return _CosmoBolognaLib.Q_nonlinear_localbias(theta, inputs, parameter)
Q_nonlinear_localbias = _CosmoBolognaLib.Q_nonlinear_localbias

def Q_nonlinear_nonlocalbias(theta, inputs, parameter):
    return _CosmoBolognaLib.Q_nonlinear_nonlocalbias(theta, inputs, parameter)
Q_nonlinear_nonlocalbias = _CosmoBolognaLib.Q_nonlinear_nonlocalbias

def Q_nonlinear_nonlocalbias_alpha(theta, inputs, parameter):
    return _CosmoBolognaLib.Q_nonlinear_nonlocalbias_alpha(theta, inputs, parameter)
Q_nonlinear_nonlocalbias_alpha = _CosmoBolognaLib.Q_nonlinear_nonlocalbias_alpha
class STR_data_model_threept(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, STR_data_model_threept, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, STR_data_model_threept, name)
    __repr__ = _swig_repr
    __swig_setmethods__["Q_DM"] = _CosmoBolognaLib.STR_data_model_threept_Q_DM_set
    __swig_getmethods__["Q_DM"] = _CosmoBolognaLib.STR_data_model_threept_Q_DM_get
    if _newclass:
        Q_DM = _swig_property(_CosmoBolognaLib.STR_data_model_threept_Q_DM_get, _CosmoBolognaLib.STR_data_model_threept_Q_DM_set)
    __swig_setmethods__["cosmology"] = _CosmoBolognaLib.STR_data_model_threept_cosmology_set
    __swig_getmethods__["cosmology"] = _CosmoBolognaLib.STR_data_model_threept_cosmology_get
    if _newclass:
        cosmology = _swig_property(_CosmoBolognaLib.STR_data_model_threept_cosmology_get, _CosmoBolognaLib.STR_data_model_threept_cosmology_set)
    __swig_setmethods__["r1"] = _CosmoBolognaLib.STR_data_model_threept_r1_set
    __swig_getmethods__["r1"] = _CosmoBolognaLib.STR_data_model_threept_r1_get
    if _newclass:
        r1 = _swig_property(_CosmoBolognaLib.STR_data_model_threept_r1_get, _CosmoBolognaLib.STR_data_model_threept_r1_set)
    __swig_setmethods__["r2"] = _CosmoBolognaLib.STR_data_model_threept_r2_set
    __swig_getmethods__["r2"] = _CosmoBolognaLib.STR_data_model_threept_r2_get
    if _newclass:
        r2 = _swig_property(_CosmoBolognaLib.STR_data_model_threept_r2_get, _CosmoBolognaLib.STR_data_model_threept_r2_set)
    __swig_setmethods__["theta"] = _CosmoBolognaLib.STR_data_model_threept_theta_set
    __swig_getmethods__["theta"] = _CosmoBolognaLib.STR_data_model_threept_theta_get
    if _newclass:
        theta = _swig_property(_CosmoBolognaLib.STR_data_model_threept_theta_get, _CosmoBolognaLib.STR_data_model_threept_theta_set)
    __swig_setmethods__["model"] = _CosmoBolognaLib.STR_data_model_threept_model_set
    __swig_getmethods__["model"] = _CosmoBolognaLib.STR_data_model_threept_model_get
    if _newclass:
        model = _swig_property(_CosmoBolognaLib.STR_data_model_threept_model_get, _CosmoBolognaLib.STR_data_model_threept_model_set)
    __swig_setmethods__["kk"] = _CosmoBolognaLib.STR_data_model_threept_kk_set
    __swig_getmethods__["kk"] = _CosmoBolognaLib.STR_data_model_threept_kk_get
    if _newclass:
        kk = _swig_property(_CosmoBolognaLib.STR_data_model_threept_kk_get, _CosmoBolognaLib.STR_data_model_threept_kk_set)
    __swig_setmethods__["Pk_DM"] = _CosmoBolognaLib.STR_data_model_threept_Pk_DM_set
    __swig_getmethods__["Pk_DM"] = _CosmoBolognaLib.STR_data_model_threept_Pk_DM_get
    if _newclass:
        Pk_DM = _swig_property(_CosmoBolognaLib.STR_data_model_threept_Pk_DM_get, _CosmoBolognaLib.STR_data_model_threept_Pk_DM_set)

    def __init__(self):
        this = _CosmoBolognaLib.new_STR_data_model_threept()
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_STR_data_model_threept
    __del__ = lambda self: None
STR_data_model_threept_swigregister = _CosmoBolognaLib.STR_data_model_threept_swigregister
STR_data_model_threept_swigregister(STR_data_model_threept)

class Modelling_ThreePointCorrelation(Modelling):
    __swig_setmethods__ = {}
    for _s in [Modelling]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Modelling_ThreePointCorrelation, name, value)
    __swig_getmethods__ = {}
    for _s in [Modelling]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Modelling_ThreePointCorrelation, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Modelling_ThreePointCorrelation(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Modelling_ThreePointCorrelation
    __del__ = lambda self: None
    __swig_getmethods__["Create"] = lambda x: _CosmoBolognaLib.Modelling_ThreePointCorrelation_Create
    if _newclass:
        Create = staticmethod(_CosmoBolognaLib.Modelling_ThreePointCorrelation_Create)

    def threePType(self):
        return _CosmoBolognaLib.Modelling_ThreePointCorrelation_threePType(self)

    def set_data_model(self, Q_DM):
        return _CosmoBolognaLib.Modelling_ThreePointCorrelation_set_data_model(self, Q_DM)

    def set_data_Q_nonlocal(self, cosmology, r1, r2, theta, model, kk, Pk_DM):
        return _CosmoBolognaLib.Modelling_ThreePointCorrelation_set_data_Q_nonlocal(self, cosmology, r1, r2, theta, model, kk, Pk_DM)

    def write_model(self, dir, file, xx, parameter):
        return _CosmoBolognaLib.Modelling_ThreePointCorrelation_write_model(self, dir, file, xx, parameter)
Modelling_ThreePointCorrelation_swigregister = _CosmoBolognaLib.Modelling_ThreePointCorrelation_swigregister
Modelling_ThreePointCorrelation_swigregister(Modelling_ThreePointCorrelation)

def Modelling_ThreePointCorrelation_Create(*args):
    return _CosmoBolognaLib.Modelling_ThreePointCorrelation_Create(*args)
Modelling_ThreePointCorrelation_Create = _CosmoBolognaLib.Modelling_ThreePointCorrelation_Create

class Modelling_ThreePointCorrelation_angular_connected(Modelling_ThreePointCorrelation):
    __swig_setmethods__ = {}
    for _s in [Modelling_ThreePointCorrelation]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Modelling_ThreePointCorrelation_angular_connected, name, value)
    __swig_getmethods__ = {}
    for _s in [Modelling_ThreePointCorrelation]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Modelling_ThreePointCorrelation_angular_connected, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Modelling_ThreePointCorrelation_angular_connected(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Modelling_ThreePointCorrelation_angular_connected
    __del__ = lambda self: None
Modelling_ThreePointCorrelation_angular_connected_swigregister = _CosmoBolognaLib.Modelling_ThreePointCorrelation_angular_connected_swigregister
Modelling_ThreePointCorrelation_angular_connected_swigregister(Modelling_ThreePointCorrelation_angular_connected)

class Modelling_ThreePointCorrelation_angular_reduced(Modelling_ThreePointCorrelation_angular_connected):
    __swig_setmethods__ = {}
    for _s in [Modelling_ThreePointCorrelation_angular_connected]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Modelling_ThreePointCorrelation_angular_reduced, name, value)
    __swig_getmethods__ = {}
    for _s in [Modelling_ThreePointCorrelation_angular_connected]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Modelling_ThreePointCorrelation_angular_reduced, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Modelling_ThreePointCorrelation_angular_reduced(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Modelling_ThreePointCorrelation_angular_reduced
    __del__ = lambda self: None
Modelling_ThreePointCorrelation_angular_reduced_swigregister = _CosmoBolognaLib.Modelling_ThreePointCorrelation_angular_reduced_swigregister
Modelling_ThreePointCorrelation_angular_reduced_swigregister(Modelling_ThreePointCorrelation_angular_reduced)

class Modelling_ThreePointCorrelation_comoving_connected(Modelling_ThreePointCorrelation):
    __swig_setmethods__ = {}
    for _s in [Modelling_ThreePointCorrelation]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Modelling_ThreePointCorrelation_comoving_connected, name, value)
    __swig_getmethods__ = {}
    for _s in [Modelling_ThreePointCorrelation]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Modelling_ThreePointCorrelation_comoving_connected, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Modelling_ThreePointCorrelation_comoving_connected(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Modelling_ThreePointCorrelation_comoving_connected
    __del__ = lambda self: None
Modelling_ThreePointCorrelation_comoving_connected_swigregister = _CosmoBolognaLib.Modelling_ThreePointCorrelation_comoving_connected_swigregister
Modelling_ThreePointCorrelation_comoving_connected_swigregister(Modelling_ThreePointCorrelation_comoving_connected)

class Modelling_ThreePointCorrelation_comoving_reduced(Modelling_ThreePointCorrelation_comoving_connected):
    __swig_setmethods__ = {}
    for _s in [Modelling_ThreePointCorrelation_comoving_connected]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, Modelling_ThreePointCorrelation_comoving_reduced, name, value)
    __swig_getmethods__ = {}
    for _s in [Modelling_ThreePointCorrelation_comoving_connected]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, Modelling_ThreePointCorrelation_comoving_reduced, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_Modelling_ThreePointCorrelation_comoving_reduced(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_Modelling_ThreePointCorrelation_comoving_reduced
    __del__ = lambda self: None

    def set_model_nonlinear_localbias(self, *args):
        return _CosmoBolognaLib.Modelling_ThreePointCorrelation_comoving_reduced_set_model_nonlinear_localbias(self, *args)

    def set_model_nonlinear_nonlocalbias(self, *args):
        return _CosmoBolognaLib.Modelling_ThreePointCorrelation_comoving_reduced_set_model_nonlinear_nonlocalbias(self, *args)

    def set_model_nonlinear_nonlocalbias_alpha(self, *args):
        return _CosmoBolognaLib.Modelling_ThreePointCorrelation_comoving_reduced_set_model_nonlinear_nonlocalbias_alpha(self, *args)
Modelling_ThreePointCorrelation_comoving_reduced_swigregister = _CosmoBolognaLib.Modelling_ThreePointCorrelation_comoving_reduced_swigregister
Modelling_ThreePointCorrelation_comoving_reduced_swigregister(Modelling_ThreePointCorrelation_comoving_reduced)


def __add__(c1, c2):
    return _CosmoBolognaLib.__add__(c1, c2)
__add__ = _CosmoBolognaLib.__add__

def Vmax_DC_distribution(*args):
    return _CosmoBolognaLib.Vmax_DC_distribution(*args)
Vmax_DC_distribution = _CosmoBolognaLib.Vmax_DC_distribution

def AP_shift_r(arg1, arg2, arg3):
    return _CosmoBolognaLib.AP_shift_r(arg1, arg2, arg3)
AP_shift_r = _CosmoBolognaLib.AP_shift_r

def AP_shift_rp(arg1, arg2, arg3):
    return _CosmoBolognaLib.AP_shift_rp(arg1, arg2, arg3)
AP_shift_rp = _CosmoBolognaLib.AP_shift_rp

def AP_shift_pi(arg1, arg2, arg3):
    return _CosmoBolognaLib.AP_shift_pi(arg1, arg2, arg3)
AP_shift_pi = _CosmoBolognaLib.AP_shift_pi

def max_separations_AP(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8):
    return _CosmoBolognaLib.max_separations_AP(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
max_separations_AP = _CosmoBolognaLib.max_separations_AP

def converted_xi(*args):
    return _CosmoBolognaLib.converted_xi(*args)
converted_xi = _CosmoBolognaLib.converted_xi

def redshift_range(arg1, arg2, arg3, arg4, arg5):
    return _CosmoBolognaLib.redshift_range(arg1, arg2, arg3, arg4, arg5)
redshift_range = _CosmoBolognaLib.redshift_range

def volume(arg1, arg2, arg3, arg4, arg5):
    return _CosmoBolognaLib.volume(arg1, arg2, arg3, arg4, arg5)
volume = _CosmoBolognaLib.volume

def coord_zSpace(ra, dec, redshift, xx, yy, zz, vx, vy, vz, sigmaV, real_cosm, mean_redshift, redshift_min, redshift_max, seed=3213):
    return _CosmoBolognaLib.coord_zSpace(ra, dec, redshift, xx, yy, zz, vx, vy, vz, sigmaV, real_cosm, mean_redshift, redshift_min, redshift_max, seed)
coord_zSpace = _CosmoBolognaLib.coord_zSpace

def create_mocks(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19):
    return _CosmoBolognaLib.create_mocks(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19)
create_mocks = _CosmoBolognaLib.create_mocks

def set_ObjectRegion_SubBoxes(data, random, nx, ny, nz):
    return _CosmoBolognaLib.set_ObjectRegion_SubBoxes(data, random, nx, ny, nz)
set_ObjectRegion_SubBoxes = _CosmoBolognaLib.set_ObjectRegion_SubBoxes

def set_ObjectRegion_RaDec(data, random, Cell_size):
    return _CosmoBolognaLib.set_ObjectRegion_RaDec(data, random, Cell_size)
set_ObjectRegion_RaDec = _CosmoBolognaLib.set_ObjectRegion_RaDec

def set_ObjectRegion_mangle(data, random, nSamples, polygonfile):
    return _CosmoBolognaLib.set_ObjectRegion_mangle(data, random, nSamples, polygonfile)
set_ObjectRegion_mangle = _CosmoBolognaLib.set_ObjectRegion_mangle

def check_regions(data, random):
    return _CosmoBolognaLib.check_regions(data, random)
check_regions = _CosmoBolognaLib.check_regions

def reconstruction_fourier_space(data, random, random_RSD, cosmology, redshift, bias, cell_size, smoothing_radius, interpolation_type=0):
    return _CosmoBolognaLib.reconstruction_fourier_space(data, random, random_RSD, cosmology, redshift, bias, cell_size, smoothing_radius, interpolation_type)
reconstruction_fourier_space = _CosmoBolognaLib.reconstruction_fourier_space

def displaced_catalogue(input_catalogue):
    return _CosmoBolognaLib.displaced_catalogue(input_catalogue)
displaced_catalogue = _CosmoBolognaLib.displaced_catalogue

def fit_covariance_matrix_2PCF_monopole(*args):
    return _CosmoBolognaLib.fit_covariance_matrix_2PCF_monopole(*args)
fit_covariance_matrix_2PCF_monopole = _CosmoBolognaLib.fit_covariance_matrix_2PCF_monopole

def generate_mock_2PCF_monopole(*args):
    return _CosmoBolognaLib.generate_mock_2PCF_monopole(*args)
generate_mock_2PCF_monopole = _CosmoBolognaLib.generate_mock_2PCF_monopole

def generate_mock_2PCF_multipoles(*args):
    return _CosmoBolognaLib.generate_mock_2PCF_multipoles(*args)
generate_mock_2PCF_multipoles = _CosmoBolognaLib.generate_mock_2PCF_multipoles
class ReadParameters(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, ReadParameters, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, ReadParameters, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _CosmoBolognaLib.new_ReadParameters(*args)
        try:
            self.this.append(this)
        except Exception:
            self.this = this
    __swig_destroy__ = _CosmoBolognaLib.delete_ReadParameters
    __del__ = lambda self: None

    def findString(self, *args):
        return _CosmoBolognaLib.ReadParameters_findString(self, *args)

    def findBool(self, *args):
        return _CosmoBolognaLib.ReadParameters_findBool(self, *args)

    def findInt(self, *args):
        return _CosmoBolognaLib.ReadParameters_findInt(self, *args)

    def findLong(self, *args):
        return _CosmoBolognaLib.ReadParameters_findLong(self, *args)

    def findFloat(self, *args):
        return _CosmoBolognaLib.ReadParameters_findFloat(self, *args)

    def findDouble(self, *args):
        return _CosmoBolognaLib.ReadParameters_findDouble(self, *args)

    def findVectorString(self, *args):
        return _CosmoBolognaLib.ReadParameters_findVectorString(self, *args)

    def findVectorBool(self, *args):
        return _CosmoBolognaLib.ReadParameters_findVectorBool(self, *args)

    def findVectorInt(self, *args):
        return _CosmoBolognaLib.ReadParameters_findVectorInt(self, *args)

    def findVectorLong(self, *args):
        return _CosmoBolognaLib.ReadParameters_findVectorLong(self, *args)

    def findVectorFloat(self, *args):
        return _CosmoBolognaLib.ReadParameters_findVectorFloat(self, *args)

    def findVectorDouble(self, *args):
        return _CosmoBolognaLib.ReadParameters_findVectorDouble(self, *args)
ReadParameters_swigregister = _CosmoBolognaLib.ReadParameters_swigregister
ReadParameters_swigregister(ReadParameters)

# This file is compatible with both classic and new-style classes.


