# This file was automatically generated by SWIG (http://www.swig.org).
# Version 4.0.2
#
# 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 as _swig_python_version_info
if _swig_python_version_info < (2, 7, 0):
    raise RuntimeError("Python 2.7 or later required")

# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _channels_swig
else:
    import _channels_swig

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

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


def _swig_setattr_nondynamic_instance_variable(set):
    def set_instance_attr(self, name, value):
        if name == "thisown":
            self.this.own(value)
        elif name == "this":
            set(self, name, value)
        elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
            set(self, name, value)
        else:
            raise AttributeError("You cannot add instance attributes to %s" % self)
    return set_instance_attr


def _swig_setattr_nondynamic_class_variable(set):
    def set_class_attr(cls, name, value):
        if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
            set(cls, name, value)
        else:
            raise AttributeError("You cannot add class attributes to %s" % cls)
    return set_class_attr


def _swig_add_metaclass(metaclass):
    """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
    def wrapper(cls):
        return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
    return wrapper


class _SwigNonDynamicMeta(type):
    """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
    __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)



def high_res_timer_now() -> "gr::high_res_timer_type":
    r"""high_res_timer_now() -> gr::high_res_timer_type"""
    return _channels_swig.high_res_timer_now()

def high_res_timer_now_perfmon() -> "gr::high_res_timer_type":
    r"""high_res_timer_now_perfmon() -> gr::high_res_timer_type"""
    return _channels_swig.high_res_timer_now_perfmon()

def high_res_timer_tps() -> "gr::high_res_timer_type":
    r"""high_res_timer_tps() -> gr::high_res_timer_type"""
    return _channels_swig.high_res_timer_tps()

def high_res_timer_epoch() -> "gr::high_res_timer_type":
    r"""high_res_timer_epoch() -> gr::high_res_timer_type"""
    return _channels_swig.high_res_timer_epoch()
class channel_model(object):
    r"""Proxy of C++ gr::channels::channel_model class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def make(*args, **kwargs) -> "gr::channels::channel_model::sptr":
        r"""make(double noise_voltage=0.0, double frequency_offset=0.0, double epsilon=1.0, pmt_vector_cfloat taps=std::vector< gr_complex >(1, 1), double noise_seed=0, bool block_tags=False) -> channel_model_sptr"""
        return _channels_swig.channel_model_make(*args, **kwargs)

    def set_noise_voltage(self, noise_voltage: "double") -> "void":
        r"""set_noise_voltage(channel_model self, double noise_voltage)"""
        return _channels_swig.channel_model_set_noise_voltage(self, noise_voltage)

    def set_frequency_offset(self, frequency_offset: "double") -> "void":
        r"""set_frequency_offset(channel_model self, double frequency_offset)"""
        return _channels_swig.channel_model_set_frequency_offset(self, frequency_offset)

    def set_taps(self, taps: "pmt_vector_cfloat") -> "void":
        r"""set_taps(channel_model self, pmt_vector_cfloat taps)"""
        return _channels_swig.channel_model_set_taps(self, taps)

    def set_timing_offset(self, epsilon: "double") -> "void":
        r"""set_timing_offset(channel_model self, double epsilon)"""
        return _channels_swig.channel_model_set_timing_offset(self, epsilon)

    def noise_voltage(self) -> "double":
        r"""noise_voltage(channel_model self) -> double"""
        return _channels_swig.channel_model_noise_voltage(self)

    def frequency_offset(self) -> "double":
        r"""frequency_offset(channel_model self) -> double"""
        return _channels_swig.channel_model_frequency_offset(self)

    def taps(self) -> "std::vector< gr_complex,std::allocator< gr_complex > >":
        r"""taps(channel_model self) -> pmt_vector_cfloat"""
        return _channels_swig.channel_model_taps(self)

    def timing_offset(self) -> "double":
        r"""timing_offset(channel_model self) -> double"""
        return _channels_swig.channel_model_timing_offset(self)
    __swig_destroy__ = _channels_swig.delete_channel_model

# Register channel_model in _channels_swig:
_channels_swig.channel_model_swigregister(channel_model)

def channel_model_make(*args, **kwargs) -> "gr::channels::channel_model::sptr":
    r"""channel_model_make(double noise_voltage=0.0, double frequency_offset=0.0, double epsilon=1.0, pmt_vector_cfloat taps=std::vector< gr_complex >(1, 1), double noise_seed=0, bool block_tags=False) -> channel_model_sptr"""
    return _channels_swig.channel_model_make(*args, **kwargs)

class channel_model2(object):
    r"""Proxy of C++ gr::channels::channel_model2 class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def make(*args, **kwargs) -> "gr::channels::channel_model2::sptr":
        r"""make(double noise_voltage=0.0, double epsilon=1.0, pmt_vector_cfloat taps=std::vector< gr_complex >(1, 1), double noise_seed=0, bool block_tags=False) -> channel_model2_sptr"""
        return _channels_swig.channel_model2_make(*args, **kwargs)

    def set_noise_voltage(self, noise_voltage: "double") -> "void":
        r"""set_noise_voltage(channel_model2 self, double noise_voltage)"""
        return _channels_swig.channel_model2_set_noise_voltage(self, noise_voltage)

    def set_taps(self, taps: "pmt_vector_cfloat") -> "void":
        r"""set_taps(channel_model2 self, pmt_vector_cfloat taps)"""
        return _channels_swig.channel_model2_set_taps(self, taps)

    def set_timing_offset(self, epsilon: "double") -> "void":
        r"""set_timing_offset(channel_model2 self, double epsilon)"""
        return _channels_swig.channel_model2_set_timing_offset(self, epsilon)

    def noise_voltage(self) -> "double":
        r"""noise_voltage(channel_model2 self) -> double"""
        return _channels_swig.channel_model2_noise_voltage(self)

    def taps(self) -> "std::vector< gr_complex,std::allocator< gr_complex > >":
        r"""taps(channel_model2 self) -> pmt_vector_cfloat"""
        return _channels_swig.channel_model2_taps(self)

    def timing_offset(self) -> "double":
        r"""timing_offset(channel_model2 self) -> double"""
        return _channels_swig.channel_model2_timing_offset(self)
    __swig_destroy__ = _channels_swig.delete_channel_model2

# Register channel_model2 in _channels_swig:
_channels_swig.channel_model2_swigregister(channel_model2)

def channel_model2_make(*args, **kwargs) -> "gr::channels::channel_model2::sptr":
    r"""channel_model2_make(double noise_voltage=0.0, double epsilon=1.0, pmt_vector_cfloat taps=std::vector< gr_complex >(1, 1), double noise_seed=0, bool block_tags=False) -> channel_model2_sptr"""
    return _channels_swig.channel_model2_make(*args, **kwargs)

class cfo_model(object):
    r"""Proxy of C++ gr::channels::cfo_model class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def make(sample_rate_hz: "double", std_dev_hz: "double", max_dev_hz: "double", noise_seed: "double"=0) -> "gr::channels::cfo_model::sptr":
        r"""make(double sample_rate_hz, double std_dev_hz, double max_dev_hz, double noise_seed=0) -> cfo_model_sptr"""
        return _channels_swig.cfo_model_make(sample_rate_hz, std_dev_hz, max_dev_hz, noise_seed)

    def set_std_dev(self, _dev: "double") -> "void":
        r"""set_std_dev(cfo_model self, double _dev)"""
        return _channels_swig.cfo_model_set_std_dev(self, _dev)

    def set_max_dev(self, _dev: "double") -> "void":
        r"""set_max_dev(cfo_model self, double _dev)"""
        return _channels_swig.cfo_model_set_max_dev(self, _dev)

    def set_samp_rate(self, _rate: "double") -> "void":
        r"""set_samp_rate(cfo_model self, double _rate)"""
        return _channels_swig.cfo_model_set_samp_rate(self, _rate)

    def std_dev(self) -> "double":
        r"""std_dev(cfo_model self) -> double"""
        return _channels_swig.cfo_model_std_dev(self)

    def max_dev(self) -> "double":
        r"""max_dev(cfo_model self) -> double"""
        return _channels_swig.cfo_model_max_dev(self)

    def samp_rate(self) -> "double":
        r"""samp_rate(cfo_model self) -> double"""
        return _channels_swig.cfo_model_samp_rate(self)
    __swig_destroy__ = _channels_swig.delete_cfo_model

# Register cfo_model in _channels_swig:
_channels_swig.cfo_model_swigregister(cfo_model)

def cfo_model_make(sample_rate_hz: "double", std_dev_hz: "double", max_dev_hz: "double", noise_seed: "double"=0) -> "gr::channels::cfo_model::sptr":
    r"""cfo_model_make(double sample_rate_hz, double std_dev_hz, double max_dev_hz, double noise_seed=0) -> cfo_model_sptr"""
    return _channels_swig.cfo_model_make(sample_rate_hz, std_dev_hz, max_dev_hz, noise_seed)

class dynamic_channel_model(object):
    r"""Proxy of C++ gr::channels::dynamic_channel_model class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def make(samp_rate: "double", sro_std_dev: "double", sro_max_dev: "double", cfo_std_dev: "double", cfo_max_dev: "double", N: "unsigned int", doppler_freq: "double", LOS_model: "bool", K: "float", delays: "pmt_vector_float", mags: "pmt_vector_float", ntaps_mpath: "int", noise_amp: "double", noise_seed: "double") -> "gr::channels::dynamic_channel_model::sptr":
        r"""make(double samp_rate, double sro_std_dev, double sro_max_dev, double cfo_std_dev, double cfo_max_dev, unsigned int N, double doppler_freq, bool LOS_model, float K, pmt_vector_float delays, pmt_vector_float mags, int ntaps_mpath, double noise_amp, double noise_seed) -> dynamic_channel_model_sptr"""
        return _channels_swig.dynamic_channel_model_make(samp_rate, sro_std_dev, sro_max_dev, cfo_std_dev, cfo_max_dev, N, doppler_freq, LOS_model, K, delays, mags, ntaps_mpath, noise_amp, noise_seed)

    def samp_rate(self) -> "double":
        r"""samp_rate(dynamic_channel_model self) -> double"""
        return _channels_swig.dynamic_channel_model_samp_rate(self)

    def sro_dev_std(self) -> "double":
        r"""sro_dev_std(dynamic_channel_model self) -> double"""
        return _channels_swig.dynamic_channel_model_sro_dev_std(self)

    def sro_dev_max(self) -> "double":
        r"""sro_dev_max(dynamic_channel_model self) -> double"""
        return _channels_swig.dynamic_channel_model_sro_dev_max(self)

    def cfo_dev_std(self) -> "double":
        r"""cfo_dev_std(dynamic_channel_model self) -> double"""
        return _channels_swig.dynamic_channel_model_cfo_dev_std(self)

    def cfo_dev_max(self) -> "double":
        r"""cfo_dev_max(dynamic_channel_model self) -> double"""
        return _channels_swig.dynamic_channel_model_cfo_dev_max(self)

    def noise_amp(self) -> "double":
        r"""noise_amp(dynamic_channel_model self) -> double"""
        return _channels_swig.dynamic_channel_model_noise_amp(self)

    def doppler_freq(self) -> "double":
        r"""doppler_freq(dynamic_channel_model self) -> double"""
        return _channels_swig.dynamic_channel_model_doppler_freq(self)

    def K(self) -> "double":
        r"""K(dynamic_channel_model self) -> double"""
        return _channels_swig.dynamic_channel_model_K(self)

    def set_samp_rate(self, arg2: "double") -> "void":
        r"""set_samp_rate(dynamic_channel_model self, double arg2)"""
        return _channels_swig.dynamic_channel_model_set_samp_rate(self, arg2)

    def set_sro_dev_std(self, arg2: "double") -> "void":
        r"""set_sro_dev_std(dynamic_channel_model self, double arg2)"""
        return _channels_swig.dynamic_channel_model_set_sro_dev_std(self, arg2)

    def set_sro_dev_max(self, arg2: "double") -> "void":
        r"""set_sro_dev_max(dynamic_channel_model self, double arg2)"""
        return _channels_swig.dynamic_channel_model_set_sro_dev_max(self, arg2)

    def set_cfo_dev_std(self, arg2: "double") -> "void":
        r"""set_cfo_dev_std(dynamic_channel_model self, double arg2)"""
        return _channels_swig.dynamic_channel_model_set_cfo_dev_std(self, arg2)

    def set_cfo_dev_max(self, arg2: "double") -> "void":
        r"""set_cfo_dev_max(dynamic_channel_model self, double arg2)"""
        return _channels_swig.dynamic_channel_model_set_cfo_dev_max(self, arg2)

    def set_noise_amp(self, arg2: "double") -> "void":
        r"""set_noise_amp(dynamic_channel_model self, double arg2)"""
        return _channels_swig.dynamic_channel_model_set_noise_amp(self, arg2)

    def set_doppler_freq(self, arg2: "double") -> "void":
        r"""set_doppler_freq(dynamic_channel_model self, double arg2)"""
        return _channels_swig.dynamic_channel_model_set_doppler_freq(self, arg2)

    def set_K(self, arg2: "double") -> "void":
        r"""set_K(dynamic_channel_model self, double arg2)"""
        return _channels_swig.dynamic_channel_model_set_K(self, arg2)
    __swig_destroy__ = _channels_swig.delete_dynamic_channel_model

# Register dynamic_channel_model in _channels_swig:
_channels_swig.dynamic_channel_model_swigregister(dynamic_channel_model)

def dynamic_channel_model_make(samp_rate: "double", sro_std_dev: "double", sro_max_dev: "double", cfo_std_dev: "double", cfo_max_dev: "double", N: "unsigned int", doppler_freq: "double", LOS_model: "bool", K: "float", delays: "pmt_vector_float", mags: "pmt_vector_float", ntaps_mpath: "int", noise_amp: "double", noise_seed: "double") -> "gr::channels::dynamic_channel_model::sptr":
    r"""dynamic_channel_model_make(double samp_rate, double sro_std_dev, double sro_max_dev, double cfo_std_dev, double cfo_max_dev, unsigned int N, double doppler_freq, bool LOS_model, float K, pmt_vector_float delays, pmt_vector_float mags, int ntaps_mpath, double noise_amp, double noise_seed) -> dynamic_channel_model_sptr"""
    return _channels_swig.dynamic_channel_model_make(samp_rate, sro_std_dev, sro_max_dev, cfo_std_dev, cfo_max_dev, N, doppler_freq, LOS_model, K, delays, mags, ntaps_mpath, noise_amp, noise_seed)

class fading_model(object):
    r"""Proxy of C++ gr::channels::fading_model class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def make(N: "unsigned int", fDTs: "float"=0.01, LOS: "bool"=True, K: "float"=4, seed: "int"=0) -> "gr::channels::fading_model::sptr":
        r"""make(unsigned int N, float fDTs=0.01, bool LOS=True, float K=4, int seed=0) -> fading_model_sptr"""
        return _channels_swig.fading_model_make(N, fDTs, LOS, K, seed)

    def fDTs(self) -> "float":
        r"""fDTs(fading_model self) -> float"""
        return _channels_swig.fading_model_fDTs(self)

    def K(self) -> "float":
        r"""K(fading_model self) -> float"""
        return _channels_swig.fading_model_K(self)

    def step(self) -> "float":
        r"""step(fading_model self) -> float"""
        return _channels_swig.fading_model_step(self)

    def set_fDTs(self, fDTs: "float") -> "void":
        r"""set_fDTs(fading_model self, float fDTs)"""
        return _channels_swig.fading_model_set_fDTs(self, fDTs)

    def set_K(self, K: "float") -> "void":
        r"""set_K(fading_model self, float K)"""
        return _channels_swig.fading_model_set_K(self, K)

    def set_step(self, step: "float") -> "void":
        r"""set_step(fading_model self, float step)"""
        return _channels_swig.fading_model_set_step(self, step)
    __swig_destroy__ = _channels_swig.delete_fading_model

# Register fading_model in _channels_swig:
_channels_swig.fading_model_swigregister(fading_model)

def fading_model_make(N: "unsigned int", fDTs: "float"=0.01, LOS: "bool"=True, K: "float"=4, seed: "int"=0) -> "gr::channels::fading_model::sptr":
    r"""fading_model_make(unsigned int N, float fDTs=0.01, bool LOS=True, float K=4, int seed=0) -> fading_model_sptr"""
    return _channels_swig.fading_model_make(N, fDTs, LOS, K, seed)

class selective_fading_model(object):
    r"""Proxy of C++ gr::channels::selective_fading_model class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def make(N: "unsigned int", fDTs: "float", LOS: "bool", K: "float", seed: "int", delays: "pmt_vector_float", mags: "pmt_vector_float", ntaps: "int") -> "gr::channels::selective_fading_model::sptr":
        r"""make(unsigned int N, float fDTs, bool LOS, float K, int seed, pmt_vector_float delays, pmt_vector_float mags, int ntaps) -> selective_fading_model_sptr"""
        return _channels_swig.selective_fading_model_make(N, fDTs, LOS, K, seed, delays, mags, ntaps)

    def fDTs(self) -> "float":
        r"""fDTs(selective_fading_model self) -> float"""
        return _channels_swig.selective_fading_model_fDTs(self)

    def K(self) -> "float":
        r"""K(selective_fading_model self) -> float"""
        return _channels_swig.selective_fading_model_K(self)

    def step(self) -> "float":
        r"""step(selective_fading_model self) -> float"""
        return _channels_swig.selective_fading_model_step(self)

    def set_fDTs(self, fDTs: "float") -> "void":
        r"""set_fDTs(selective_fading_model self, float fDTs)"""
        return _channels_swig.selective_fading_model_set_fDTs(self, fDTs)

    def set_K(self, K: "float") -> "void":
        r"""set_K(selective_fading_model self, float K)"""
        return _channels_swig.selective_fading_model_set_K(self, K)

    def set_step(self, step: "float") -> "void":
        r"""set_step(selective_fading_model self, float step)"""
        return _channels_swig.selective_fading_model_set_step(self, step)
    __swig_destroy__ = _channels_swig.delete_selective_fading_model

# Register selective_fading_model in _channels_swig:
_channels_swig.selective_fading_model_swigregister(selective_fading_model)
cvar = _channels_swig.cvar
default_delays = cvar.default_delays
default_mags = cvar.default_mags

def selective_fading_model_make(N: "unsigned int", fDTs: "float", LOS: "bool", K: "float", seed: "int", delays: "pmt_vector_float", mags: "pmt_vector_float", ntaps: "int") -> "gr::channels::selective_fading_model::sptr":
    r"""selective_fading_model_make(unsigned int N, float fDTs, bool LOS, float K, int seed, pmt_vector_float delays, pmt_vector_float mags, int ntaps) -> selective_fading_model_sptr"""
    return _channels_swig.selective_fading_model_make(N, fDTs, LOS, K, seed, delays, mags, ntaps)

class selective_fading_model2(object):
    r"""Proxy of C++ gr::channels::selective_fading_model2 class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def make(N: "unsigned int", fDTs: "float", LOS: "bool", K: "float", seed: "int", delays: "pmt_vector_float", delay_std: "pmt_vector_float", delay_maxdev: "pmt_vector_float", mags: "pmt_vector_float", ntaps: "int") -> "gr::channels::selective_fading_model2::sptr":
        r"""make(unsigned int N, float fDTs, bool LOS, float K, int seed, pmt_vector_float delays, pmt_vector_float delay_std, pmt_vector_float delay_maxdev, pmt_vector_float mags, int ntaps) -> selective_fading_model2_sptr"""
        return _channels_swig.selective_fading_model2_make(N, fDTs, LOS, K, seed, delays, delay_std, delay_maxdev, mags, ntaps)

    def fDTs(self) -> "float":
        r"""fDTs(selective_fading_model2 self) -> float"""
        return _channels_swig.selective_fading_model2_fDTs(self)

    def K(self) -> "float":
        r"""K(selective_fading_model2 self) -> float"""
        return _channels_swig.selective_fading_model2_K(self)

    def step(self) -> "float":
        r"""step(selective_fading_model2 self) -> float"""
        return _channels_swig.selective_fading_model2_step(self)

    def set_fDTs(self, fDTs: "float") -> "void":
        r"""set_fDTs(selective_fading_model2 self, float fDTs)"""
        return _channels_swig.selective_fading_model2_set_fDTs(self, fDTs)

    def set_K(self, K: "float") -> "void":
        r"""set_K(selective_fading_model2 self, float K)"""
        return _channels_swig.selective_fading_model2_set_K(self, K)

    def set_step(self, step: "float") -> "void":
        r"""set_step(selective_fading_model2 self, float step)"""
        return _channels_swig.selective_fading_model2_set_step(self, step)
    __swig_destroy__ = _channels_swig.delete_selective_fading_model2

# Register selective_fading_model2 in _channels_swig:
_channels_swig.selective_fading_model2_swigregister(selective_fading_model2)
default_delays2 = cvar.default_delays2
default_mags2 = cvar.default_mags2

def selective_fading_model2_make(N: "unsigned int", fDTs: "float", LOS: "bool", K: "float", seed: "int", delays: "pmt_vector_float", delay_std: "pmt_vector_float", delay_maxdev: "pmt_vector_float", mags: "pmt_vector_float", ntaps: "int") -> "gr::channels::selective_fading_model2::sptr":
    r"""selective_fading_model2_make(unsigned int N, float fDTs, bool LOS, float K, int seed, pmt_vector_float delays, pmt_vector_float delay_std, pmt_vector_float delay_maxdev, pmt_vector_float mags, int ntaps) -> selective_fading_model2_sptr"""
    return _channels_swig.selective_fading_model2_make(N, fDTs, LOS, K, seed, delays, delay_std, delay_maxdev, mags, ntaps)

class sro_model(object):
    r"""Proxy of C++ gr::channels::sro_model class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def make(sample_rate_hz: "double", std_dev_hz: "double", max_dev_hz: "double", noise_seed: "double"=0) -> "gr::channels::sro_model::sptr":
        r"""make(double sample_rate_hz, double std_dev_hz, double max_dev_hz, double noise_seed=0) -> sro_model_sptr"""
        return _channels_swig.sro_model_make(sample_rate_hz, std_dev_hz, max_dev_hz, noise_seed)

    def set_std_dev(self, _dev: "double") -> "void":
        r"""set_std_dev(sro_model self, double _dev)"""
        return _channels_swig.sro_model_set_std_dev(self, _dev)

    def set_max_dev(self, _dev: "double") -> "void":
        r"""set_max_dev(sro_model self, double _dev)"""
        return _channels_swig.sro_model_set_max_dev(self, _dev)

    def set_samp_rate(self, _rate: "double") -> "void":
        r"""set_samp_rate(sro_model self, double _rate)"""
        return _channels_swig.sro_model_set_samp_rate(self, _rate)

    def std_dev(self) -> "double":
        r"""std_dev(sro_model self) -> double"""
        return _channels_swig.sro_model_std_dev(self)

    def max_dev(self) -> "double":
        r"""max_dev(sro_model self) -> double"""
        return _channels_swig.sro_model_max_dev(self)

    def samp_rate(self) -> "double":
        r"""samp_rate(sro_model self) -> double"""
        return _channels_swig.sro_model_samp_rate(self)
    __swig_destroy__ = _channels_swig.delete_sro_model

# Register sro_model in _channels_swig:
_channels_swig.sro_model_swigregister(sro_model)

def sro_model_make(sample_rate_hz: "double", std_dev_hz: "double", max_dev_hz: "double", noise_seed: "double"=0) -> "gr::channels::sro_model::sptr":
    r"""sro_model_make(double sample_rate_hz, double std_dev_hz, double max_dev_hz, double noise_seed=0) -> sro_model_sptr"""
    return _channels_swig.sro_model_make(sample_rate_hz, std_dev_hz, max_dev_hz, noise_seed)

class channel_model_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::channels::channel_model > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        __init__(channel_model_sptr self) -> channel_model_sptr
        __init__(channel_model_sptr self, channel_model p) -> channel_model_sptr
        """
        _channels_swig.channel_model_sptr_swiginit(self, _channels_swig.new_channel_model_sptr(*args))

    def __deref__(self) -> "gr::channels::channel_model *":
        r"""__deref__(channel_model_sptr self) -> channel_model"""
        return _channels_swig.channel_model_sptr___deref__(self)
    __swig_destroy__ = _channels_swig.delete_channel_model_sptr

    def make(self, *args, **kwargs) -> "gr::channels::channel_model::sptr":
        r"""make(channel_model_sptr self, double noise_voltage=0.0, double frequency_offset=0.0, double epsilon=1.0, pmt_vector_cfloat taps=std::vector< gr_complex >(1, 1), double noise_seed=0, bool block_tags=False) -> channel_model_sptr"""
        return _channels_swig.channel_model_sptr_make(self, *args, **kwargs)

    def set_noise_voltage(self, noise_voltage: "double") -> "void":
        r"""set_noise_voltage(channel_model_sptr self, double noise_voltage)"""
        return _channels_swig.channel_model_sptr_set_noise_voltage(self, noise_voltage)

    def set_frequency_offset(self, frequency_offset: "double") -> "void":
        r"""set_frequency_offset(channel_model_sptr self, double frequency_offset)"""
        return _channels_swig.channel_model_sptr_set_frequency_offset(self, frequency_offset)

    def set_taps(self, taps: "pmt_vector_cfloat") -> "void":
        r"""set_taps(channel_model_sptr self, pmt_vector_cfloat taps)"""
        return _channels_swig.channel_model_sptr_set_taps(self, taps)

    def set_timing_offset(self, epsilon: "double") -> "void":
        r"""set_timing_offset(channel_model_sptr self, double epsilon)"""
        return _channels_swig.channel_model_sptr_set_timing_offset(self, epsilon)

    def noise_voltage(self) -> "double":
        r"""noise_voltage(channel_model_sptr self) -> double"""
        return _channels_swig.channel_model_sptr_noise_voltage(self)

    def frequency_offset(self) -> "double":
        r"""frequency_offset(channel_model_sptr self) -> double"""
        return _channels_swig.channel_model_sptr_frequency_offset(self)

    def taps(self) -> "std::vector< gr_complex,std::allocator< gr_complex > >":
        r"""taps(channel_model_sptr self) -> pmt_vector_cfloat"""
        return _channels_swig.channel_model_sptr_taps(self)

    def timing_offset(self) -> "double":
        r"""timing_offset(channel_model_sptr self) -> double"""
        return _channels_swig.channel_model_sptr_timing_offset(self)

    def primitive_connect(self, *args) -> "void":
        r"""
        primitive_connect(channel_model_sptr self, basic_block_sptr block)
        primitive_connect(channel_model_sptr self, basic_block_sptr src, int src_port, basic_block_sptr dst, int dst_port)
        """
        return _channels_swig.channel_model_sptr_primitive_connect(self, *args)

    def primitive_msg_connect(self, *args) -> "void":
        r"""
        primitive_msg_connect(channel_model_sptr self, basic_block_sptr src, swig_pmt_ptr srcport, basic_block_sptr dst, swig_pmt_ptr dstport)
        primitive_msg_connect(channel_model_sptr self, basic_block_sptr src, std::string srcport, basic_block_sptr dst, std::string dstport)
        """
        return _channels_swig.channel_model_sptr_primitive_msg_connect(self, *args)

    def primitive_msg_disconnect(self, *args) -> "void":
        r"""
        primitive_msg_disconnect(channel_model_sptr self, basic_block_sptr src, swig_pmt_ptr srcport, basic_block_sptr dst, swig_pmt_ptr dstport)
        primitive_msg_disconnect(channel_model_sptr self, basic_block_sptr src, std::string srcport, basic_block_sptr dst, std::string dstport)
        """
        return _channels_swig.channel_model_sptr_primitive_msg_disconnect(self, *args)

    def primitive_disconnect(self, *args) -> "void":
        r"""
        primitive_disconnect(channel_model_sptr self, basic_block_sptr block)
        primitive_disconnect(channel_model_sptr self, basic_block_sptr src, int src_port, basic_block_sptr dst, int dst_port)
        """
        return _channels_swig.channel_model_sptr_primitive_disconnect(self, *args)

    def disconnect_all(self) -> "void":
        r"""disconnect_all(channel_model_sptr self)"""
        return _channels_swig.channel_model_sptr_disconnect_all(self)

    def lock(self) -> "void":
        r"""lock(channel_model_sptr self)"""
        return _channels_swig.channel_model_sptr_lock(self)

    def unlock(self) -> "void":
        r"""unlock(channel_model_sptr self)"""
        return _channels_swig.channel_model_sptr_unlock(self)

    def primitive_message_port_register_hier_in(self, port_id: "swig_pmt_ptr") -> "void":
        r"""primitive_message_port_register_hier_in(channel_model_sptr self, swig_pmt_ptr port_id)"""
        return _channels_swig.channel_model_sptr_primitive_message_port_register_hier_in(self, port_id)

    def primitive_message_port_register_hier_out(self, port_id: "swig_pmt_ptr") -> "void":
        r"""primitive_message_port_register_hier_out(channel_model_sptr self, swig_pmt_ptr port_id)"""
        return _channels_swig.channel_model_sptr_primitive_message_port_register_hier_out(self, port_id)

    def set_processor_affinity(self, mask: "std::vector< int,std::allocator< int > > const &") -> "void":
        r"""set_processor_affinity(channel_model_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _channels_swig.channel_model_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(channel_model_sptr self)"""
        return _channels_swig.channel_model_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(channel_model_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _channels_swig.channel_model_sptr_processor_affinity(self)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(channel_model_sptr self, std::string level)"""
        return _channels_swig.channel_model_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(channel_model_sptr self) -> std::string"""
        return _channels_swig.channel_model_sptr_log_level(self)

    def max_output_buffer(self, i: "int") -> "size_t":
        r"""max_output_buffer(channel_model_sptr self, int i) -> size_t"""
        return _channels_swig.channel_model_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(channel_model_sptr self, size_t max_output_buffer)
        set_max_output_buffer(channel_model_sptr self, int port, size_t max_output_buffer)
        """
        return _channels_swig.channel_model_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "size_t":
        r"""min_output_buffer(channel_model_sptr self, int i) -> size_t"""
        return _channels_swig.channel_model_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(channel_model_sptr self, size_t min_output_buffer)
        set_min_output_buffer(channel_model_sptr self, int port, size_t min_output_buffer)
        """
        return _channels_swig.channel_model_sptr_set_min_output_buffer(self, *args)

    def to_hier_block2(self) -> "gr::hier_block2_sptr":
        r"""to_hier_block2(channel_model_sptr self) -> hier_block2_sptr"""
        return _channels_swig.channel_model_sptr_to_hier_block2(self)

    def name(self) -> "std::string":
        r"""name(channel_model_sptr self) -> std::string"""
        return _channels_swig.channel_model_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(channel_model_sptr self) -> std::string"""
        return _channels_swig.channel_model_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(channel_model_sptr self) -> io_signature_sptr"""
        return _channels_swig.channel_model_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(channel_model_sptr self) -> io_signature_sptr"""
        return _channels_swig.channel_model_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(channel_model_sptr self) -> long"""
        return _channels_swig.channel_model_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(channel_model_sptr self) -> basic_block_sptr"""
        return _channels_swig.channel_model_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(channel_model_sptr self, int ninputs, int noutputs) -> bool"""
        return _channels_swig.channel_model_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(channel_model_sptr self) -> std::string"""
        return _channels_swig.channel_model_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(channel_model_sptr self, std::string name)"""
        return _channels_swig.channel_model_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(channel_model_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _channels_swig.channel_model_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(channel_model_sptr self) -> swig_pmt_ptr"""
        return _channels_swig.channel_model_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(channel_model_sptr self) -> swig_pmt_ptr"""
        return _channels_swig.channel_model_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(channel_model_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _channels_swig.channel_model_sptr_message_subscribers(self, which_port)

# Register channel_model_sptr in _channels_swig:
_channels_swig.channel_model_sptr_swigregister(channel_model_sptr)


channel_model_sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id())
channel_model = channel_model.make;

class channel_model2_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::channels::channel_model2 > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        __init__(channel_model2_sptr self) -> channel_model2_sptr
        __init__(channel_model2_sptr self, channel_model2 p) -> channel_model2_sptr
        """
        _channels_swig.channel_model2_sptr_swiginit(self, _channels_swig.new_channel_model2_sptr(*args))

    def __deref__(self) -> "gr::channels::channel_model2 *":
        r"""__deref__(channel_model2_sptr self) -> channel_model2"""
        return _channels_swig.channel_model2_sptr___deref__(self)
    __swig_destroy__ = _channels_swig.delete_channel_model2_sptr

    def make(self, *args, **kwargs) -> "gr::channels::channel_model2::sptr":
        r"""make(channel_model2_sptr self, double noise_voltage=0.0, double epsilon=1.0, pmt_vector_cfloat taps=std::vector< gr_complex >(1, 1), double noise_seed=0, bool block_tags=False) -> channel_model2_sptr"""
        return _channels_swig.channel_model2_sptr_make(self, *args, **kwargs)

    def set_noise_voltage(self, noise_voltage: "double") -> "void":
        r"""set_noise_voltage(channel_model2_sptr self, double noise_voltage)"""
        return _channels_swig.channel_model2_sptr_set_noise_voltage(self, noise_voltage)

    def set_taps(self, taps: "pmt_vector_cfloat") -> "void":
        r"""set_taps(channel_model2_sptr self, pmt_vector_cfloat taps)"""
        return _channels_swig.channel_model2_sptr_set_taps(self, taps)

    def set_timing_offset(self, epsilon: "double") -> "void":
        r"""set_timing_offset(channel_model2_sptr self, double epsilon)"""
        return _channels_swig.channel_model2_sptr_set_timing_offset(self, epsilon)

    def noise_voltage(self) -> "double":
        r"""noise_voltage(channel_model2_sptr self) -> double"""
        return _channels_swig.channel_model2_sptr_noise_voltage(self)

    def taps(self) -> "std::vector< gr_complex,std::allocator< gr_complex > >":
        r"""taps(channel_model2_sptr self) -> pmt_vector_cfloat"""
        return _channels_swig.channel_model2_sptr_taps(self)

    def timing_offset(self) -> "double":
        r"""timing_offset(channel_model2_sptr self) -> double"""
        return _channels_swig.channel_model2_sptr_timing_offset(self)

    def primitive_connect(self, *args) -> "void":
        r"""
        primitive_connect(channel_model2_sptr self, basic_block_sptr block)
        primitive_connect(channel_model2_sptr self, basic_block_sptr src, int src_port, basic_block_sptr dst, int dst_port)
        """
        return _channels_swig.channel_model2_sptr_primitive_connect(self, *args)

    def primitive_msg_connect(self, *args) -> "void":
        r"""
        primitive_msg_connect(channel_model2_sptr self, basic_block_sptr src, swig_pmt_ptr srcport, basic_block_sptr dst, swig_pmt_ptr dstport)
        primitive_msg_connect(channel_model2_sptr self, basic_block_sptr src, std::string srcport, basic_block_sptr dst, std::string dstport)
        """
        return _channels_swig.channel_model2_sptr_primitive_msg_connect(self, *args)

    def primitive_msg_disconnect(self, *args) -> "void":
        r"""
        primitive_msg_disconnect(channel_model2_sptr self, basic_block_sptr src, swig_pmt_ptr srcport, basic_block_sptr dst, swig_pmt_ptr dstport)
        primitive_msg_disconnect(channel_model2_sptr self, basic_block_sptr src, std::string srcport, basic_block_sptr dst, std::string dstport)
        """
        return _channels_swig.channel_model2_sptr_primitive_msg_disconnect(self, *args)

    def primitive_disconnect(self, *args) -> "void":
        r"""
        primitive_disconnect(channel_model2_sptr self, basic_block_sptr block)
        primitive_disconnect(channel_model2_sptr self, basic_block_sptr src, int src_port, basic_block_sptr dst, int dst_port)
        """
        return _channels_swig.channel_model2_sptr_primitive_disconnect(self, *args)

    def disconnect_all(self) -> "void":
        r"""disconnect_all(channel_model2_sptr self)"""
        return _channels_swig.channel_model2_sptr_disconnect_all(self)

    def lock(self) -> "void":
        r"""lock(channel_model2_sptr self)"""
        return _channels_swig.channel_model2_sptr_lock(self)

    def unlock(self) -> "void":
        r"""unlock(channel_model2_sptr self)"""
        return _channels_swig.channel_model2_sptr_unlock(self)

    def primitive_message_port_register_hier_in(self, port_id: "swig_pmt_ptr") -> "void":
        r"""primitive_message_port_register_hier_in(channel_model2_sptr self, swig_pmt_ptr port_id)"""
        return _channels_swig.channel_model2_sptr_primitive_message_port_register_hier_in(self, port_id)

    def primitive_message_port_register_hier_out(self, port_id: "swig_pmt_ptr") -> "void":
        r"""primitive_message_port_register_hier_out(channel_model2_sptr self, swig_pmt_ptr port_id)"""
        return _channels_swig.channel_model2_sptr_primitive_message_port_register_hier_out(self, port_id)

    def set_processor_affinity(self, mask: "std::vector< int,std::allocator< int > > const &") -> "void":
        r"""set_processor_affinity(channel_model2_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _channels_swig.channel_model2_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(channel_model2_sptr self)"""
        return _channels_swig.channel_model2_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(channel_model2_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _channels_swig.channel_model2_sptr_processor_affinity(self)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(channel_model2_sptr self, std::string level)"""
        return _channels_swig.channel_model2_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(channel_model2_sptr self) -> std::string"""
        return _channels_swig.channel_model2_sptr_log_level(self)

    def max_output_buffer(self, i: "int") -> "size_t":
        r"""max_output_buffer(channel_model2_sptr self, int i) -> size_t"""
        return _channels_swig.channel_model2_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(channel_model2_sptr self, size_t max_output_buffer)
        set_max_output_buffer(channel_model2_sptr self, int port, size_t max_output_buffer)
        """
        return _channels_swig.channel_model2_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "size_t":
        r"""min_output_buffer(channel_model2_sptr self, int i) -> size_t"""
        return _channels_swig.channel_model2_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(channel_model2_sptr self, size_t min_output_buffer)
        set_min_output_buffer(channel_model2_sptr self, int port, size_t min_output_buffer)
        """
        return _channels_swig.channel_model2_sptr_set_min_output_buffer(self, *args)

    def to_hier_block2(self) -> "gr::hier_block2_sptr":
        r"""to_hier_block2(channel_model2_sptr self) -> hier_block2_sptr"""
        return _channels_swig.channel_model2_sptr_to_hier_block2(self)

    def name(self) -> "std::string":
        r"""name(channel_model2_sptr self) -> std::string"""
        return _channels_swig.channel_model2_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(channel_model2_sptr self) -> std::string"""
        return _channels_swig.channel_model2_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(channel_model2_sptr self) -> io_signature_sptr"""
        return _channels_swig.channel_model2_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(channel_model2_sptr self) -> io_signature_sptr"""
        return _channels_swig.channel_model2_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(channel_model2_sptr self) -> long"""
        return _channels_swig.channel_model2_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(channel_model2_sptr self) -> basic_block_sptr"""
        return _channels_swig.channel_model2_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(channel_model2_sptr self, int ninputs, int noutputs) -> bool"""
        return _channels_swig.channel_model2_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(channel_model2_sptr self) -> std::string"""
        return _channels_swig.channel_model2_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(channel_model2_sptr self, std::string name)"""
        return _channels_swig.channel_model2_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(channel_model2_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _channels_swig.channel_model2_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(channel_model2_sptr self) -> swig_pmt_ptr"""
        return _channels_swig.channel_model2_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(channel_model2_sptr self) -> swig_pmt_ptr"""
        return _channels_swig.channel_model2_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(channel_model2_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _channels_swig.channel_model2_sptr_message_subscribers(self, which_port)

# Register channel_model2_sptr in _channels_swig:
_channels_swig.channel_model2_sptr_swigregister(channel_model2_sptr)


channel_model2_sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id())
channel_model2 = channel_model2.make;

class cfo_model_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::channels::cfo_model > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        __init__(cfo_model_sptr self) -> cfo_model_sptr
        __init__(cfo_model_sptr self, cfo_model p) -> cfo_model_sptr
        """
        _channels_swig.cfo_model_sptr_swiginit(self, _channels_swig.new_cfo_model_sptr(*args))

    def __deref__(self) -> "gr::channels::cfo_model *":
        r"""__deref__(cfo_model_sptr self) -> cfo_model"""
        return _channels_swig.cfo_model_sptr___deref__(self)
    __swig_destroy__ = _channels_swig.delete_cfo_model_sptr

    def make(self, sample_rate_hz: "double", std_dev_hz: "double", max_dev_hz: "double", noise_seed: "double"=0) -> "gr::channels::cfo_model::sptr":
        r"""make(cfo_model_sptr self, double sample_rate_hz, double std_dev_hz, double max_dev_hz, double noise_seed=0) -> cfo_model_sptr"""
        return _channels_swig.cfo_model_sptr_make(self, sample_rate_hz, std_dev_hz, max_dev_hz, noise_seed)

    def set_std_dev(self, _dev: "double") -> "void":
        r"""set_std_dev(cfo_model_sptr self, double _dev)"""
        return _channels_swig.cfo_model_sptr_set_std_dev(self, _dev)

    def set_max_dev(self, _dev: "double") -> "void":
        r"""set_max_dev(cfo_model_sptr self, double _dev)"""
        return _channels_swig.cfo_model_sptr_set_max_dev(self, _dev)

    def set_samp_rate(self, _rate: "double") -> "void":
        r"""set_samp_rate(cfo_model_sptr self, double _rate)"""
        return _channels_swig.cfo_model_sptr_set_samp_rate(self, _rate)

    def std_dev(self) -> "double":
        r"""std_dev(cfo_model_sptr self) -> double"""
        return _channels_swig.cfo_model_sptr_std_dev(self)

    def max_dev(self) -> "double":
        r"""max_dev(cfo_model_sptr self) -> double"""
        return _channels_swig.cfo_model_sptr_max_dev(self)

    def samp_rate(self) -> "double":
        r"""samp_rate(cfo_model_sptr self) -> double"""
        return _channels_swig.cfo_model_sptr_samp_rate(self)

    def history(self) -> "unsigned int":
        r"""history(cfo_model_sptr self) -> unsigned int"""
        return _channels_swig.cfo_model_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(cfo_model_sptr self, int which, int delay)
        declare_sample_delay(cfo_model_sptr self, unsigned int delay)
        """
        return _channels_swig.cfo_model_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(cfo_model_sptr self, int which) -> unsigned int"""
        return _channels_swig.cfo_model_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(cfo_model_sptr self, int multiple)"""
        return _channels_swig.cfo_model_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(cfo_model_sptr self) -> int"""
        return _channels_swig.cfo_model_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(cfo_model_sptr self) -> double"""
        return _channels_swig.cfo_model_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(cfo_model_sptr self) -> uint64_t"""
        return _channels_swig.cfo_model_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(cfo_model_sptr self) -> uint64_t"""
        return _channels_swig.cfo_model_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(cfo_model_sptr self) -> bool"""
        return _channels_swig.cfo_model_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(cfo_model_sptr self) -> bool"""
        return _channels_swig.cfo_model_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(cfo_model_sptr self, unsigned int which_input) -> uint64_t"""
        return _channels_swig.cfo_model_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(cfo_model_sptr self, unsigned int which_output) -> uint64_t"""
        return _channels_swig.cfo_model_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(cfo_model_sptr self, std::string level)"""
        return _channels_swig.cfo_model_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(cfo_model_sptr self) -> std::string"""
        return _channels_swig.cfo_model_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(cfo_model_sptr self) -> int"""
        return _channels_swig.cfo_model_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(cfo_model_sptr self, int m)"""
        return _channels_swig.cfo_model_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(cfo_model_sptr self)"""
        return _channels_swig.cfo_model_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(cfo_model_sptr self) -> bool"""
        return _channels_swig.cfo_model_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(cfo_model_sptr self, int m)"""
        return _channels_swig.cfo_model_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(cfo_model_sptr self) -> int"""
        return _channels_swig.cfo_model_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(cfo_model_sptr self, int i) -> long"""
        return _channels_swig.cfo_model_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(cfo_model_sptr self, long max_output_buffer)
        set_max_output_buffer(cfo_model_sptr self, int port, long max_output_buffer)
        """
        return _channels_swig.cfo_model_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(cfo_model_sptr self, int i) -> long"""
        return _channels_swig.cfo_model_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(cfo_model_sptr self, long min_output_buffer)
        set_min_output_buffer(cfo_model_sptr self, int port, long min_output_buffer)
        """
        return _channels_swig.cfo_model_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(cfo_model_sptr self) -> float"""
        return _channels_swig.cfo_model_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(cfo_model_sptr self) -> float"""
        return _channels_swig.cfo_model_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(cfo_model_sptr self) -> float"""
        return _channels_swig.cfo_model_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(cfo_model_sptr self) -> float"""
        return _channels_swig.cfo_model_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(cfo_model_sptr self) -> float"""
        return _channels_swig.cfo_model_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(cfo_model_sptr self) -> float"""
        return _channels_swig.cfo_model_sptr_pc_nproduced_var(self)

    def pc_input_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full(cfo_model_sptr self, int which) -> float
        pc_input_buffers_full(cfo_model_sptr self) -> pmt_vector_float
        """
        return _channels_swig.cfo_model_sptr_pc_input_buffers_full(self, *args)

    def pc_input_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_avg(cfo_model_sptr self, int which) -> float
        pc_input_buffers_full_avg(cfo_model_sptr self) -> pmt_vector_float
        """
        return _channels_swig.cfo_model_sptr_pc_input_buffers_full_avg(self, *args)

    def pc_input_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_var(cfo_model_sptr self, int which) -> float
        pc_input_buffers_full_var(cfo_model_sptr self) -> pmt_vector_float
        """
        return _channels_swig.cfo_model_sptr_pc_input_buffers_full_var(self, *args)

    def pc_output_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full(cfo_model_sptr self, int which) -> float
        pc_output_buffers_full(cfo_model_sptr self) -> pmt_vector_float
        """
        return _channels_swig.cfo_model_sptr_pc_output_buffers_full(self, *args)

    def pc_output_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_avg(cfo_model_sptr self, int which) -> float
        pc_output_buffers_full_avg(cfo_model_sptr self) -> pmt_vector_float
        """
        return _channels_swig.cfo_model_sptr_pc_output_buffers_full_avg(self, *args)

    def pc_output_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_var(cfo_model_sptr self, int which) -> float
        pc_output_buffers_full_var(cfo_model_sptr self) -> pmt_vector_float
        """
        return _channels_swig.cfo_model_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(cfo_model_sptr self) -> float"""
        return _channels_swig.cfo_model_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(cfo_model_sptr self) -> float"""
        return _channels_swig.cfo_model_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(cfo_model_sptr self) -> float"""
        return _channels_swig.cfo_model_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(cfo_model_sptr self) -> float"""
        return _channels_swig.cfo_model_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(cfo_model_sptr self) -> float"""
        return _channels_swig.cfo_model_sptr_pc_throughput_avg(self)

    def set_processor_affinity(self, mask: "std::vector< int,std::allocator< int > > const &") -> "void":
        r"""set_processor_affinity(cfo_model_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _channels_swig.cfo_model_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(cfo_model_sptr self)"""
        return _channels_swig.cfo_model_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(cfo_model_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _channels_swig.cfo_model_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(cfo_model_sptr self) -> int"""
        return _channels_swig.cfo_model_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(cfo_model_sptr self) -> int"""
        return _channels_swig.cfo_model_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(cfo_model_sptr self, int priority) -> int"""
        return _channels_swig.cfo_model_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(cfo_model_sptr self) -> std::string"""
        return _channels_swig.cfo_model_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(cfo_model_sptr self) -> std::string"""
        return _channels_swig.cfo_model_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(cfo_model_sptr self) -> io_signature_sptr"""
        return _channels_swig.cfo_model_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(cfo_model_sptr self) -> io_signature_sptr"""
        return _channels_swig.cfo_model_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(cfo_model_sptr self) -> long"""
        return _channels_swig.cfo_model_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(cfo_model_sptr self) -> basic_block_sptr"""
        return _channels_swig.cfo_model_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(cfo_model_sptr self, int ninputs, int noutputs) -> bool"""
        return _channels_swig.cfo_model_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(cfo_model_sptr self) -> std::string"""
        return _channels_swig.cfo_model_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(cfo_model_sptr self, std::string name)"""
        return _channels_swig.cfo_model_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(cfo_model_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _channels_swig.cfo_model_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(cfo_model_sptr self) -> swig_pmt_ptr"""
        return _channels_swig.cfo_model_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(cfo_model_sptr self) -> swig_pmt_ptr"""
        return _channels_swig.cfo_model_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(cfo_model_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _channels_swig.cfo_model_sptr_message_subscribers(self, which_port)

# Register cfo_model_sptr in _channels_swig:
_channels_swig.cfo_model_sptr_swigregister(cfo_model_sptr)


cfo_model_sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id())
cfo_model = cfo_model.make;

class dynamic_channel_model_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::channels::dynamic_channel_model > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        __init__(dynamic_channel_model_sptr self) -> dynamic_channel_model_sptr
        __init__(dynamic_channel_model_sptr self, dynamic_channel_model p) -> dynamic_channel_model_sptr
        """
        _channels_swig.dynamic_channel_model_sptr_swiginit(self, _channels_swig.new_dynamic_channel_model_sptr(*args))

    def __deref__(self) -> "gr::channels::dynamic_channel_model *":
        r"""__deref__(dynamic_channel_model_sptr self) -> dynamic_channel_model"""
        return _channels_swig.dynamic_channel_model_sptr___deref__(self)
    __swig_destroy__ = _channels_swig.delete_dynamic_channel_model_sptr

    def make(self, samp_rate: "double", sro_std_dev: "double", sro_max_dev: "double", cfo_std_dev: "double", cfo_max_dev: "double", N: "unsigned int", doppler_freq: "double", LOS_model: "bool", K: "float", delays: "pmt_vector_float", mags: "pmt_vector_float", ntaps_mpath: "int", noise_amp: "double", noise_seed: "double") -> "gr::channels::dynamic_channel_model::sptr":
        r"""make(dynamic_channel_model_sptr self, double samp_rate, double sro_std_dev, double sro_max_dev, double cfo_std_dev, double cfo_max_dev, unsigned int N, double doppler_freq, bool LOS_model, float K, pmt_vector_float delays, pmt_vector_float mags, int ntaps_mpath, double noise_amp, double noise_seed) -> dynamic_channel_model_sptr"""
        return _channels_swig.dynamic_channel_model_sptr_make(self, samp_rate, sro_std_dev, sro_max_dev, cfo_std_dev, cfo_max_dev, N, doppler_freq, LOS_model, K, delays, mags, ntaps_mpath, noise_amp, noise_seed)

    def samp_rate(self) -> "double":
        r"""samp_rate(dynamic_channel_model_sptr self) -> double"""
        return _channels_swig.dynamic_channel_model_sptr_samp_rate(self)

    def sro_dev_std(self) -> "double":
        r"""sro_dev_std(dynamic_channel_model_sptr self) -> double"""
        return _channels_swig.dynamic_channel_model_sptr_sro_dev_std(self)

    def sro_dev_max(self) -> "double":
        r"""sro_dev_max(dynamic_channel_model_sptr self) -> double"""
        return _channels_swig.dynamic_channel_model_sptr_sro_dev_max(self)

    def cfo_dev_std(self) -> "double":
        r"""cfo_dev_std(dynamic_channel_model_sptr self) -> double"""
        return _channels_swig.dynamic_channel_model_sptr_cfo_dev_std(self)

    def cfo_dev_max(self) -> "double":
        r"""cfo_dev_max(dynamic_channel_model_sptr self) -> double"""
        return _channels_swig.dynamic_channel_model_sptr_cfo_dev_max(self)

    def noise_amp(self) -> "double":
        r"""noise_amp(dynamic_channel_model_sptr self) -> double"""
        return _channels_swig.dynamic_channel_model_sptr_noise_amp(self)

    def doppler_freq(self) -> "double":
        r"""doppler_freq(dynamic_channel_model_sptr self) -> double"""
        return _channels_swig.dynamic_channel_model_sptr_doppler_freq(self)

    def K(self) -> "double":
        r"""K(dynamic_channel_model_sptr self) -> double"""
        return _channels_swig.dynamic_channel_model_sptr_K(self)

    def set_samp_rate(self, arg2: "double") -> "void":
        r"""set_samp_rate(dynamic_channel_model_sptr self, double arg2)"""
        return _channels_swig.dynamic_channel_model_sptr_set_samp_rate(self, arg2)

    def set_sro_dev_std(self, arg2: "double") -> "void":
        r"""set_sro_dev_std(dynamic_channel_model_sptr self, double arg2)"""
        return _channels_swig.dynamic_channel_model_sptr_set_sro_dev_std(self, arg2)

    def set_sro_dev_max(self, arg2: "double") -> "void":
        r"""set_sro_dev_max(dynamic_channel_model_sptr self, double arg2)"""
        return _channels_swig.dynamic_channel_model_sptr_set_sro_dev_max(self, arg2)

    def set_cfo_dev_std(self, arg2: "double") -> "void":
        r"""set_cfo_dev_std(dynamic_channel_model_sptr self, double arg2)"""
        return _channels_swig.dynamic_channel_model_sptr_set_cfo_dev_std(self, arg2)

    def set_cfo_dev_max(self, arg2: "double") -> "void":
        r"""set_cfo_dev_max(dynamic_channel_model_sptr self, double arg2)"""
        return _channels_swig.dynamic_channel_model_sptr_set_cfo_dev_max(self, arg2)

    def set_noise_amp(self, arg2: "double") -> "void":
        r"""set_noise_amp(dynamic_channel_model_sptr self, double arg2)"""
        return _channels_swig.dynamic_channel_model_sptr_set_noise_amp(self, arg2)

    def set_doppler_freq(self, arg2: "double") -> "void":
        r"""set_doppler_freq(dynamic_channel_model_sptr self, double arg2)"""
        return _channels_swig.dynamic_channel_model_sptr_set_doppler_freq(self, arg2)

    def set_K(self, arg2: "double") -> "void":
        r"""set_K(dynamic_channel_model_sptr self, double arg2)"""
        return _channels_swig.dynamic_channel_model_sptr_set_K(self, arg2)

    def primitive_connect(self, *args) -> "void":
        r"""
        primitive_connect(dynamic_channel_model_sptr self, basic_block_sptr block)
        primitive_connect(dynamic_channel_model_sptr self, basic_block_sptr src, int src_port, basic_block_sptr dst, int dst_port)
        """
        return _channels_swig.dynamic_channel_model_sptr_primitive_connect(self, *args)

    def primitive_msg_connect(self, *args) -> "void":
        r"""
        primitive_msg_connect(dynamic_channel_model_sptr self, basic_block_sptr src, swig_pmt_ptr srcport, basic_block_sptr dst, swig_pmt_ptr dstport)
        primitive_msg_connect(dynamic_channel_model_sptr self, basic_block_sptr src, std::string srcport, basic_block_sptr dst, std::string dstport)
        """
        return _channels_swig.dynamic_channel_model_sptr_primitive_msg_connect(self, *args)

    def primitive_msg_disconnect(self, *args) -> "void":
        r"""
        primitive_msg_disconnect(dynamic_channel_model_sptr self, basic_block_sptr src, swig_pmt_ptr srcport, basic_block_sptr dst, swig_pmt_ptr dstport)
        primitive_msg_disconnect(dynamic_channel_model_sptr self, basic_block_sptr src, std::string srcport, basic_block_sptr dst, std::string dstport)
        """
        return _channels_swig.dynamic_channel_model_sptr_primitive_msg_disconnect(self, *args)

    def primitive_disconnect(self, *args) -> "void":
        r"""
        primitive_disconnect(dynamic_channel_model_sptr self, basic_block_sptr block)
        primitive_disconnect(dynamic_channel_model_sptr self, basic_block_sptr src, int src_port, basic_block_sptr dst, int dst_port)
        """
        return _channels_swig.dynamic_channel_model_sptr_primitive_disconnect(self, *args)

    def disconnect_all(self) -> "void":
        r"""disconnect_all(dynamic_channel_model_sptr self)"""
        return _channels_swig.dynamic_channel_model_sptr_disconnect_all(self)

    def lock(self) -> "void":
        r"""lock(dynamic_channel_model_sptr self)"""
        return _channels_swig.dynamic_channel_model_sptr_lock(self)

    def unlock(self) -> "void":
        r"""unlock(dynamic_channel_model_sptr self)"""
        return _channels_swig.dynamic_channel_model_sptr_unlock(self)

    def primitive_message_port_register_hier_in(self, port_id: "swig_pmt_ptr") -> "void":
        r"""primitive_message_port_register_hier_in(dynamic_channel_model_sptr self, swig_pmt_ptr port_id)"""
        return _channels_swig.dynamic_channel_model_sptr_primitive_message_port_register_hier_in(self, port_id)

    def primitive_message_port_register_hier_out(self, port_id: "swig_pmt_ptr") -> "void":
        r"""primitive_message_port_register_hier_out(dynamic_channel_model_sptr self, swig_pmt_ptr port_id)"""
        return _channels_swig.dynamic_channel_model_sptr_primitive_message_port_register_hier_out(self, port_id)

    def set_processor_affinity(self, mask: "std::vector< int,std::allocator< int > > const &") -> "void":
        r"""set_processor_affinity(dynamic_channel_model_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _channels_swig.dynamic_channel_model_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(dynamic_channel_model_sptr self)"""
        return _channels_swig.dynamic_channel_model_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(dynamic_channel_model_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _channels_swig.dynamic_channel_model_sptr_processor_affinity(self)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(dynamic_channel_model_sptr self, std::string level)"""
        return _channels_swig.dynamic_channel_model_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(dynamic_channel_model_sptr self) -> std::string"""
        return _channels_swig.dynamic_channel_model_sptr_log_level(self)

    def max_output_buffer(self, i: "int") -> "size_t":
        r"""max_output_buffer(dynamic_channel_model_sptr self, int i) -> size_t"""
        return _channels_swig.dynamic_channel_model_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(dynamic_channel_model_sptr self, size_t max_output_buffer)
        set_max_output_buffer(dynamic_channel_model_sptr self, int port, size_t max_output_buffer)
        """
        return _channels_swig.dynamic_channel_model_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "size_t":
        r"""min_output_buffer(dynamic_channel_model_sptr self, int i) -> size_t"""
        return _channels_swig.dynamic_channel_model_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(dynamic_channel_model_sptr self, size_t min_output_buffer)
        set_min_output_buffer(dynamic_channel_model_sptr self, int port, size_t min_output_buffer)
        """
        return _channels_swig.dynamic_channel_model_sptr_set_min_output_buffer(self, *args)

    def to_hier_block2(self) -> "gr::hier_block2_sptr":
        r"""to_hier_block2(dynamic_channel_model_sptr self) -> hier_block2_sptr"""
        return _channels_swig.dynamic_channel_model_sptr_to_hier_block2(self)

    def name(self) -> "std::string":
        r"""name(dynamic_channel_model_sptr self) -> std::string"""
        return _channels_swig.dynamic_channel_model_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(dynamic_channel_model_sptr self) -> std::string"""
        return _channels_swig.dynamic_channel_model_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(dynamic_channel_model_sptr self) -> io_signature_sptr"""
        return _channels_swig.dynamic_channel_model_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(dynamic_channel_model_sptr self) -> io_signature_sptr"""
        return _channels_swig.dynamic_channel_model_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(dynamic_channel_model_sptr self) -> long"""
        return _channels_swig.dynamic_channel_model_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(dynamic_channel_model_sptr self) -> basic_block_sptr"""
        return _channels_swig.dynamic_channel_model_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(dynamic_channel_model_sptr self, int ninputs, int noutputs) -> bool"""
        return _channels_swig.dynamic_channel_model_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(dynamic_channel_model_sptr self) -> std::string"""
        return _channels_swig.dynamic_channel_model_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(dynamic_channel_model_sptr self, std::string name)"""
        return _channels_swig.dynamic_channel_model_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(dynamic_channel_model_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _channels_swig.dynamic_channel_model_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(dynamic_channel_model_sptr self) -> swig_pmt_ptr"""
        return _channels_swig.dynamic_channel_model_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(dynamic_channel_model_sptr self) -> swig_pmt_ptr"""
        return _channels_swig.dynamic_channel_model_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(dynamic_channel_model_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _channels_swig.dynamic_channel_model_sptr_message_subscribers(self, which_port)

# Register dynamic_channel_model_sptr in _channels_swig:
_channels_swig.dynamic_channel_model_sptr_swigregister(dynamic_channel_model_sptr)


dynamic_channel_model_sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id())
dynamic_channel_model = dynamic_channel_model.make;

class fading_model_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::channels::fading_model > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        __init__(fading_model_sptr self) -> fading_model_sptr
        __init__(fading_model_sptr self, fading_model p) -> fading_model_sptr
        """
        _channels_swig.fading_model_sptr_swiginit(self, _channels_swig.new_fading_model_sptr(*args))

    def __deref__(self) -> "gr::channels::fading_model *":
        r"""__deref__(fading_model_sptr self) -> fading_model"""
        return _channels_swig.fading_model_sptr___deref__(self)
    __swig_destroy__ = _channels_swig.delete_fading_model_sptr

    def make(self, N: "unsigned int", fDTs: "float"=0.01, LOS: "bool"=True, K: "float"=4, seed: "int"=0) -> "gr::channels::fading_model::sptr":
        r"""make(fading_model_sptr self, unsigned int N, float fDTs=0.01, bool LOS=True, float K=4, int seed=0) -> fading_model_sptr"""
        return _channels_swig.fading_model_sptr_make(self, N, fDTs, LOS, K, seed)

    def fDTs(self) -> "float":
        r"""fDTs(fading_model_sptr self) -> float"""
        return _channels_swig.fading_model_sptr_fDTs(self)

    def K(self) -> "float":
        r"""K(fading_model_sptr self) -> float"""
        return _channels_swig.fading_model_sptr_K(self)

    def step(self) -> "float":
        r"""step(fading_model_sptr self) -> float"""
        return _channels_swig.fading_model_sptr_step(self)

    def set_fDTs(self, fDTs: "float") -> "void":
        r"""set_fDTs(fading_model_sptr self, float fDTs)"""
        return _channels_swig.fading_model_sptr_set_fDTs(self, fDTs)

    def set_K(self, K: "float") -> "void":
        r"""set_K(fading_model_sptr self, float K)"""
        return _channels_swig.fading_model_sptr_set_K(self, K)

    def set_step(self, step: "float") -> "void":
        r"""set_step(fading_model_sptr self, float step)"""
        return _channels_swig.fading_model_sptr_set_step(self, step)

    def history(self) -> "unsigned int":
        r"""history(fading_model_sptr self) -> unsigned int"""
        return _channels_swig.fading_model_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(fading_model_sptr self, int which, int delay)
        declare_sample_delay(fading_model_sptr self, unsigned int delay)
        """
        return _channels_swig.fading_model_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(fading_model_sptr self, int which) -> unsigned int"""
        return _channels_swig.fading_model_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(fading_model_sptr self, int multiple)"""
        return _channels_swig.fading_model_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(fading_model_sptr self) -> int"""
        return _channels_swig.fading_model_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(fading_model_sptr self) -> double"""
        return _channels_swig.fading_model_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(fading_model_sptr self) -> uint64_t"""
        return _channels_swig.fading_model_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(fading_model_sptr self) -> uint64_t"""
        return _channels_swig.fading_model_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(fading_model_sptr self) -> bool"""
        return _channels_swig.fading_model_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(fading_model_sptr self) -> bool"""
        return _channels_swig.fading_model_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(fading_model_sptr self, unsigned int which_input) -> uint64_t"""
        return _channels_swig.fading_model_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(fading_model_sptr self, unsigned int which_output) -> uint64_t"""
        return _channels_swig.fading_model_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(fading_model_sptr self, std::string level)"""
        return _channels_swig.fading_model_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(fading_model_sptr self) -> std::string"""
        return _channels_swig.fading_model_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(fading_model_sptr self) -> int"""
        return _channels_swig.fading_model_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(fading_model_sptr self, int m)"""
        return _channels_swig.fading_model_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(fading_model_sptr self)"""
        return _channels_swig.fading_model_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(fading_model_sptr self) -> bool"""
        return _channels_swig.fading_model_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(fading_model_sptr self, int m)"""
        return _channels_swig.fading_model_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(fading_model_sptr self) -> int"""
        return _channels_swig.fading_model_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(fading_model_sptr self, int i) -> long"""
        return _channels_swig.fading_model_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(fading_model_sptr self, long max_output_buffer)
        set_max_output_buffer(fading_model_sptr self, int port, long max_output_buffer)
        """
        return _channels_swig.fading_model_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(fading_model_sptr self, int i) -> long"""
        return _channels_swig.fading_model_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(fading_model_sptr self, long min_output_buffer)
        set_min_output_buffer(fading_model_sptr self, int port, long min_output_buffer)
        """
        return _channels_swig.fading_model_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(fading_model_sptr self) -> float"""
        return _channels_swig.fading_model_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(fading_model_sptr self) -> float"""
        return _channels_swig.fading_model_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(fading_model_sptr self) -> float"""
        return _channels_swig.fading_model_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(fading_model_sptr self) -> float"""
        return _channels_swig.fading_model_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(fading_model_sptr self) -> float"""
        return _channels_swig.fading_model_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(fading_model_sptr self) -> float"""
        return _channels_swig.fading_model_sptr_pc_nproduced_var(self)

    def pc_input_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full(fading_model_sptr self, int which) -> float
        pc_input_buffers_full(fading_model_sptr self) -> pmt_vector_float
        """
        return _channels_swig.fading_model_sptr_pc_input_buffers_full(self, *args)

    def pc_input_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_avg(fading_model_sptr self, int which) -> float
        pc_input_buffers_full_avg(fading_model_sptr self) -> pmt_vector_float
        """
        return _channels_swig.fading_model_sptr_pc_input_buffers_full_avg(self, *args)

    def pc_input_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_var(fading_model_sptr self, int which) -> float
        pc_input_buffers_full_var(fading_model_sptr self) -> pmt_vector_float
        """
        return _channels_swig.fading_model_sptr_pc_input_buffers_full_var(self, *args)

    def pc_output_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full(fading_model_sptr self, int which) -> float
        pc_output_buffers_full(fading_model_sptr self) -> pmt_vector_float
        """
        return _channels_swig.fading_model_sptr_pc_output_buffers_full(self, *args)

    def pc_output_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_avg(fading_model_sptr self, int which) -> float
        pc_output_buffers_full_avg(fading_model_sptr self) -> pmt_vector_float
        """
        return _channels_swig.fading_model_sptr_pc_output_buffers_full_avg(self, *args)

    def pc_output_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_var(fading_model_sptr self, int which) -> float
        pc_output_buffers_full_var(fading_model_sptr self) -> pmt_vector_float
        """
        return _channels_swig.fading_model_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(fading_model_sptr self) -> float"""
        return _channels_swig.fading_model_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(fading_model_sptr self) -> float"""
        return _channels_swig.fading_model_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(fading_model_sptr self) -> float"""
        return _channels_swig.fading_model_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(fading_model_sptr self) -> float"""
        return _channels_swig.fading_model_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(fading_model_sptr self) -> float"""
        return _channels_swig.fading_model_sptr_pc_throughput_avg(self)

    def set_processor_affinity(self, mask: "std::vector< int,std::allocator< int > > const &") -> "void":
        r"""set_processor_affinity(fading_model_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _channels_swig.fading_model_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(fading_model_sptr self)"""
        return _channels_swig.fading_model_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(fading_model_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _channels_swig.fading_model_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(fading_model_sptr self) -> int"""
        return _channels_swig.fading_model_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(fading_model_sptr self) -> int"""
        return _channels_swig.fading_model_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(fading_model_sptr self, int priority) -> int"""
        return _channels_swig.fading_model_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(fading_model_sptr self) -> std::string"""
        return _channels_swig.fading_model_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(fading_model_sptr self) -> std::string"""
        return _channels_swig.fading_model_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(fading_model_sptr self) -> io_signature_sptr"""
        return _channels_swig.fading_model_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(fading_model_sptr self) -> io_signature_sptr"""
        return _channels_swig.fading_model_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(fading_model_sptr self) -> long"""
        return _channels_swig.fading_model_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(fading_model_sptr self) -> basic_block_sptr"""
        return _channels_swig.fading_model_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(fading_model_sptr self, int ninputs, int noutputs) -> bool"""
        return _channels_swig.fading_model_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(fading_model_sptr self) -> std::string"""
        return _channels_swig.fading_model_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(fading_model_sptr self, std::string name)"""
        return _channels_swig.fading_model_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(fading_model_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _channels_swig.fading_model_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(fading_model_sptr self) -> swig_pmt_ptr"""
        return _channels_swig.fading_model_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(fading_model_sptr self) -> swig_pmt_ptr"""
        return _channels_swig.fading_model_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(fading_model_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _channels_swig.fading_model_sptr_message_subscribers(self, which_port)

# Register fading_model_sptr in _channels_swig:
_channels_swig.fading_model_sptr_swigregister(fading_model_sptr)


fading_model_sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id())
fading_model = fading_model.make;

class selective_fading_model_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::channels::selective_fading_model > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        __init__(selective_fading_model_sptr self) -> selective_fading_model_sptr
        __init__(selective_fading_model_sptr self, selective_fading_model p) -> selective_fading_model_sptr
        """
        _channels_swig.selective_fading_model_sptr_swiginit(self, _channels_swig.new_selective_fading_model_sptr(*args))

    def __deref__(self) -> "gr::channels::selective_fading_model *":
        r"""__deref__(selective_fading_model_sptr self) -> selective_fading_model"""
        return _channels_swig.selective_fading_model_sptr___deref__(self)
    __swig_destroy__ = _channels_swig.delete_selective_fading_model_sptr

    def make(self, N: "unsigned int", fDTs: "float", LOS: "bool", K: "float", seed: "int", delays: "pmt_vector_float", mags: "pmt_vector_float", ntaps: "int") -> "gr::channels::selective_fading_model::sptr":
        r"""make(selective_fading_model_sptr self, unsigned int N, float fDTs, bool LOS, float K, int seed, pmt_vector_float delays, pmt_vector_float mags, int ntaps) -> selective_fading_model_sptr"""
        return _channels_swig.selective_fading_model_sptr_make(self, N, fDTs, LOS, K, seed, delays, mags, ntaps)

    def fDTs(self) -> "float":
        r"""fDTs(selective_fading_model_sptr self) -> float"""
        return _channels_swig.selective_fading_model_sptr_fDTs(self)

    def K(self) -> "float":
        r"""K(selective_fading_model_sptr self) -> float"""
        return _channels_swig.selective_fading_model_sptr_K(self)

    def step(self) -> "float":
        r"""step(selective_fading_model_sptr self) -> float"""
        return _channels_swig.selective_fading_model_sptr_step(self)

    def set_fDTs(self, fDTs: "float") -> "void":
        r"""set_fDTs(selective_fading_model_sptr self, float fDTs)"""
        return _channels_swig.selective_fading_model_sptr_set_fDTs(self, fDTs)

    def set_K(self, K: "float") -> "void":
        r"""set_K(selective_fading_model_sptr self, float K)"""
        return _channels_swig.selective_fading_model_sptr_set_K(self, K)

    def set_step(self, step: "float") -> "void":
        r"""set_step(selective_fading_model_sptr self, float step)"""
        return _channels_swig.selective_fading_model_sptr_set_step(self, step)

    def history(self) -> "unsigned int":
        r"""history(selective_fading_model_sptr self) -> unsigned int"""
        return _channels_swig.selective_fading_model_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(selective_fading_model_sptr self, int which, int delay)
        declare_sample_delay(selective_fading_model_sptr self, unsigned int delay)
        """
        return _channels_swig.selective_fading_model_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(selective_fading_model_sptr self, int which) -> unsigned int"""
        return _channels_swig.selective_fading_model_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(selective_fading_model_sptr self, int multiple)"""
        return _channels_swig.selective_fading_model_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(selective_fading_model_sptr self) -> int"""
        return _channels_swig.selective_fading_model_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(selective_fading_model_sptr self) -> double"""
        return _channels_swig.selective_fading_model_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(selective_fading_model_sptr self) -> uint64_t"""
        return _channels_swig.selective_fading_model_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(selective_fading_model_sptr self) -> uint64_t"""
        return _channels_swig.selective_fading_model_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(selective_fading_model_sptr self) -> bool"""
        return _channels_swig.selective_fading_model_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(selective_fading_model_sptr self) -> bool"""
        return _channels_swig.selective_fading_model_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(selective_fading_model_sptr self, unsigned int which_input) -> uint64_t"""
        return _channels_swig.selective_fading_model_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(selective_fading_model_sptr self, unsigned int which_output) -> uint64_t"""
        return _channels_swig.selective_fading_model_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(selective_fading_model_sptr self, std::string level)"""
        return _channels_swig.selective_fading_model_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(selective_fading_model_sptr self) -> std::string"""
        return _channels_swig.selective_fading_model_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(selective_fading_model_sptr self) -> int"""
        return _channels_swig.selective_fading_model_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(selective_fading_model_sptr self, int m)"""
        return _channels_swig.selective_fading_model_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(selective_fading_model_sptr self)"""
        return _channels_swig.selective_fading_model_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(selective_fading_model_sptr self) -> bool"""
        return _channels_swig.selective_fading_model_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(selective_fading_model_sptr self, int m)"""
        return _channels_swig.selective_fading_model_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(selective_fading_model_sptr self) -> int"""
        return _channels_swig.selective_fading_model_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(selective_fading_model_sptr self, int i) -> long"""
        return _channels_swig.selective_fading_model_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(selective_fading_model_sptr self, long max_output_buffer)
        set_max_output_buffer(selective_fading_model_sptr self, int port, long max_output_buffer)
        """
        return _channels_swig.selective_fading_model_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(selective_fading_model_sptr self, int i) -> long"""
        return _channels_swig.selective_fading_model_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(selective_fading_model_sptr self, long min_output_buffer)
        set_min_output_buffer(selective_fading_model_sptr self, int port, long min_output_buffer)
        """
        return _channels_swig.selective_fading_model_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(selective_fading_model_sptr self) -> float"""
        return _channels_swig.selective_fading_model_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(selective_fading_model_sptr self) -> float"""
        return _channels_swig.selective_fading_model_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(selective_fading_model_sptr self) -> float"""
        return _channels_swig.selective_fading_model_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(selective_fading_model_sptr self) -> float"""
        return _channels_swig.selective_fading_model_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(selective_fading_model_sptr self) -> float"""
        return _channels_swig.selective_fading_model_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(selective_fading_model_sptr self) -> float"""
        return _channels_swig.selective_fading_model_sptr_pc_nproduced_var(self)

    def pc_input_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full(selective_fading_model_sptr self, int which) -> float
        pc_input_buffers_full(selective_fading_model_sptr self) -> pmt_vector_float
        """
        return _channels_swig.selective_fading_model_sptr_pc_input_buffers_full(self, *args)

    def pc_input_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_avg(selective_fading_model_sptr self, int which) -> float
        pc_input_buffers_full_avg(selective_fading_model_sptr self) -> pmt_vector_float
        """
        return _channels_swig.selective_fading_model_sptr_pc_input_buffers_full_avg(self, *args)

    def pc_input_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_var(selective_fading_model_sptr self, int which) -> float
        pc_input_buffers_full_var(selective_fading_model_sptr self) -> pmt_vector_float
        """
        return _channels_swig.selective_fading_model_sptr_pc_input_buffers_full_var(self, *args)

    def pc_output_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full(selective_fading_model_sptr self, int which) -> float
        pc_output_buffers_full(selective_fading_model_sptr self) -> pmt_vector_float
        """
        return _channels_swig.selective_fading_model_sptr_pc_output_buffers_full(self, *args)

    def pc_output_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_avg(selective_fading_model_sptr self, int which) -> float
        pc_output_buffers_full_avg(selective_fading_model_sptr self) -> pmt_vector_float
        """
        return _channels_swig.selective_fading_model_sptr_pc_output_buffers_full_avg(self, *args)

    def pc_output_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_var(selective_fading_model_sptr self, int which) -> float
        pc_output_buffers_full_var(selective_fading_model_sptr self) -> pmt_vector_float
        """
        return _channels_swig.selective_fading_model_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(selective_fading_model_sptr self) -> float"""
        return _channels_swig.selective_fading_model_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(selective_fading_model_sptr self) -> float"""
        return _channels_swig.selective_fading_model_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(selective_fading_model_sptr self) -> float"""
        return _channels_swig.selective_fading_model_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(selective_fading_model_sptr self) -> float"""
        return _channels_swig.selective_fading_model_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(selective_fading_model_sptr self) -> float"""
        return _channels_swig.selective_fading_model_sptr_pc_throughput_avg(self)

    def set_processor_affinity(self, mask: "std::vector< int,std::allocator< int > > const &") -> "void":
        r"""set_processor_affinity(selective_fading_model_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _channels_swig.selective_fading_model_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(selective_fading_model_sptr self)"""
        return _channels_swig.selective_fading_model_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(selective_fading_model_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _channels_swig.selective_fading_model_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(selective_fading_model_sptr self) -> int"""
        return _channels_swig.selective_fading_model_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(selective_fading_model_sptr self) -> int"""
        return _channels_swig.selective_fading_model_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(selective_fading_model_sptr self, int priority) -> int"""
        return _channels_swig.selective_fading_model_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(selective_fading_model_sptr self) -> std::string"""
        return _channels_swig.selective_fading_model_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(selective_fading_model_sptr self) -> std::string"""
        return _channels_swig.selective_fading_model_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(selective_fading_model_sptr self) -> io_signature_sptr"""
        return _channels_swig.selective_fading_model_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(selective_fading_model_sptr self) -> io_signature_sptr"""
        return _channels_swig.selective_fading_model_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(selective_fading_model_sptr self) -> long"""
        return _channels_swig.selective_fading_model_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(selective_fading_model_sptr self) -> basic_block_sptr"""
        return _channels_swig.selective_fading_model_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(selective_fading_model_sptr self, int ninputs, int noutputs) -> bool"""
        return _channels_swig.selective_fading_model_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(selective_fading_model_sptr self) -> std::string"""
        return _channels_swig.selective_fading_model_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(selective_fading_model_sptr self, std::string name)"""
        return _channels_swig.selective_fading_model_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(selective_fading_model_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _channels_swig.selective_fading_model_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(selective_fading_model_sptr self) -> swig_pmt_ptr"""
        return _channels_swig.selective_fading_model_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(selective_fading_model_sptr self) -> swig_pmt_ptr"""
        return _channels_swig.selective_fading_model_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(selective_fading_model_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _channels_swig.selective_fading_model_sptr_message_subscribers(self, which_port)

# Register selective_fading_model_sptr in _channels_swig:
_channels_swig.selective_fading_model_sptr_swigregister(selective_fading_model_sptr)


selective_fading_model_sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id())
selective_fading_model = selective_fading_model.make;

class selective_fading_model2_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::channels::selective_fading_model2 > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        __init__(selective_fading_model2_sptr self) -> selective_fading_model2_sptr
        __init__(selective_fading_model2_sptr self, selective_fading_model2 p) -> selective_fading_model2_sptr
        """
        _channels_swig.selective_fading_model2_sptr_swiginit(self, _channels_swig.new_selective_fading_model2_sptr(*args))

    def __deref__(self) -> "gr::channels::selective_fading_model2 *":
        r"""__deref__(selective_fading_model2_sptr self) -> selective_fading_model2"""
        return _channels_swig.selective_fading_model2_sptr___deref__(self)
    __swig_destroy__ = _channels_swig.delete_selective_fading_model2_sptr

    def make(self, N: "unsigned int", fDTs: "float", LOS: "bool", K: "float", seed: "int", delays: "pmt_vector_float", delay_std: "pmt_vector_float", delay_maxdev: "pmt_vector_float", mags: "pmt_vector_float", ntaps: "int") -> "gr::channels::selective_fading_model2::sptr":
        r"""make(selective_fading_model2_sptr self, unsigned int N, float fDTs, bool LOS, float K, int seed, pmt_vector_float delays, pmt_vector_float delay_std, pmt_vector_float delay_maxdev, pmt_vector_float mags, int ntaps) -> selective_fading_model2_sptr"""
        return _channels_swig.selective_fading_model2_sptr_make(self, N, fDTs, LOS, K, seed, delays, delay_std, delay_maxdev, mags, ntaps)

    def fDTs(self) -> "float":
        r"""fDTs(selective_fading_model2_sptr self) -> float"""
        return _channels_swig.selective_fading_model2_sptr_fDTs(self)

    def K(self) -> "float":
        r"""K(selective_fading_model2_sptr self) -> float"""
        return _channels_swig.selective_fading_model2_sptr_K(self)

    def step(self) -> "float":
        r"""step(selective_fading_model2_sptr self) -> float"""
        return _channels_swig.selective_fading_model2_sptr_step(self)

    def set_fDTs(self, fDTs: "float") -> "void":
        r"""set_fDTs(selective_fading_model2_sptr self, float fDTs)"""
        return _channels_swig.selective_fading_model2_sptr_set_fDTs(self, fDTs)

    def set_K(self, K: "float") -> "void":
        r"""set_K(selective_fading_model2_sptr self, float K)"""
        return _channels_swig.selective_fading_model2_sptr_set_K(self, K)

    def set_step(self, step: "float") -> "void":
        r"""set_step(selective_fading_model2_sptr self, float step)"""
        return _channels_swig.selective_fading_model2_sptr_set_step(self, step)

    def history(self) -> "unsigned int":
        r"""history(selective_fading_model2_sptr self) -> unsigned int"""
        return _channels_swig.selective_fading_model2_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(selective_fading_model2_sptr self, int which, int delay)
        declare_sample_delay(selective_fading_model2_sptr self, unsigned int delay)
        """
        return _channels_swig.selective_fading_model2_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(selective_fading_model2_sptr self, int which) -> unsigned int"""
        return _channels_swig.selective_fading_model2_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(selective_fading_model2_sptr self, int multiple)"""
        return _channels_swig.selective_fading_model2_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(selective_fading_model2_sptr self) -> int"""
        return _channels_swig.selective_fading_model2_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(selective_fading_model2_sptr self) -> double"""
        return _channels_swig.selective_fading_model2_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(selective_fading_model2_sptr self) -> uint64_t"""
        return _channels_swig.selective_fading_model2_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(selective_fading_model2_sptr self) -> uint64_t"""
        return _channels_swig.selective_fading_model2_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(selective_fading_model2_sptr self) -> bool"""
        return _channels_swig.selective_fading_model2_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(selective_fading_model2_sptr self) -> bool"""
        return _channels_swig.selective_fading_model2_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(selective_fading_model2_sptr self, unsigned int which_input) -> uint64_t"""
        return _channels_swig.selective_fading_model2_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(selective_fading_model2_sptr self, unsigned int which_output) -> uint64_t"""
        return _channels_swig.selective_fading_model2_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(selective_fading_model2_sptr self, std::string level)"""
        return _channels_swig.selective_fading_model2_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(selective_fading_model2_sptr self) -> std::string"""
        return _channels_swig.selective_fading_model2_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(selective_fading_model2_sptr self) -> int"""
        return _channels_swig.selective_fading_model2_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(selective_fading_model2_sptr self, int m)"""
        return _channels_swig.selective_fading_model2_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(selective_fading_model2_sptr self)"""
        return _channels_swig.selective_fading_model2_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(selective_fading_model2_sptr self) -> bool"""
        return _channels_swig.selective_fading_model2_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(selective_fading_model2_sptr self, int m)"""
        return _channels_swig.selective_fading_model2_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(selective_fading_model2_sptr self) -> int"""
        return _channels_swig.selective_fading_model2_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(selective_fading_model2_sptr self, int i) -> long"""
        return _channels_swig.selective_fading_model2_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(selective_fading_model2_sptr self, long max_output_buffer)
        set_max_output_buffer(selective_fading_model2_sptr self, int port, long max_output_buffer)
        """
        return _channels_swig.selective_fading_model2_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(selective_fading_model2_sptr self, int i) -> long"""
        return _channels_swig.selective_fading_model2_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(selective_fading_model2_sptr self, long min_output_buffer)
        set_min_output_buffer(selective_fading_model2_sptr self, int port, long min_output_buffer)
        """
        return _channels_swig.selective_fading_model2_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(selective_fading_model2_sptr self) -> float"""
        return _channels_swig.selective_fading_model2_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(selective_fading_model2_sptr self) -> float"""
        return _channels_swig.selective_fading_model2_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(selective_fading_model2_sptr self) -> float"""
        return _channels_swig.selective_fading_model2_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(selective_fading_model2_sptr self) -> float"""
        return _channels_swig.selective_fading_model2_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(selective_fading_model2_sptr self) -> float"""
        return _channels_swig.selective_fading_model2_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(selective_fading_model2_sptr self) -> float"""
        return _channels_swig.selective_fading_model2_sptr_pc_nproduced_var(self)

    def pc_input_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full(selective_fading_model2_sptr self, int which) -> float
        pc_input_buffers_full(selective_fading_model2_sptr self) -> pmt_vector_float
        """
        return _channels_swig.selective_fading_model2_sptr_pc_input_buffers_full(self, *args)

    def pc_input_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_avg(selective_fading_model2_sptr self, int which) -> float
        pc_input_buffers_full_avg(selective_fading_model2_sptr self) -> pmt_vector_float
        """
        return _channels_swig.selective_fading_model2_sptr_pc_input_buffers_full_avg(self, *args)

    def pc_input_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_var(selective_fading_model2_sptr self, int which) -> float
        pc_input_buffers_full_var(selective_fading_model2_sptr self) -> pmt_vector_float
        """
        return _channels_swig.selective_fading_model2_sptr_pc_input_buffers_full_var(self, *args)

    def pc_output_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full(selective_fading_model2_sptr self, int which) -> float
        pc_output_buffers_full(selective_fading_model2_sptr self) -> pmt_vector_float
        """
        return _channels_swig.selective_fading_model2_sptr_pc_output_buffers_full(self, *args)

    def pc_output_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_avg(selective_fading_model2_sptr self, int which) -> float
        pc_output_buffers_full_avg(selective_fading_model2_sptr self) -> pmt_vector_float
        """
        return _channels_swig.selective_fading_model2_sptr_pc_output_buffers_full_avg(self, *args)

    def pc_output_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_var(selective_fading_model2_sptr self, int which) -> float
        pc_output_buffers_full_var(selective_fading_model2_sptr self) -> pmt_vector_float
        """
        return _channels_swig.selective_fading_model2_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(selective_fading_model2_sptr self) -> float"""
        return _channels_swig.selective_fading_model2_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(selective_fading_model2_sptr self) -> float"""
        return _channels_swig.selective_fading_model2_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(selective_fading_model2_sptr self) -> float"""
        return _channels_swig.selective_fading_model2_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(selective_fading_model2_sptr self) -> float"""
        return _channels_swig.selective_fading_model2_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(selective_fading_model2_sptr self) -> float"""
        return _channels_swig.selective_fading_model2_sptr_pc_throughput_avg(self)

    def set_processor_affinity(self, mask: "std::vector< int,std::allocator< int > > const &") -> "void":
        r"""set_processor_affinity(selective_fading_model2_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _channels_swig.selective_fading_model2_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(selective_fading_model2_sptr self)"""
        return _channels_swig.selective_fading_model2_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(selective_fading_model2_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _channels_swig.selective_fading_model2_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(selective_fading_model2_sptr self) -> int"""
        return _channels_swig.selective_fading_model2_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(selective_fading_model2_sptr self) -> int"""
        return _channels_swig.selective_fading_model2_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(selective_fading_model2_sptr self, int priority) -> int"""
        return _channels_swig.selective_fading_model2_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(selective_fading_model2_sptr self) -> std::string"""
        return _channels_swig.selective_fading_model2_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(selective_fading_model2_sptr self) -> std::string"""
        return _channels_swig.selective_fading_model2_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(selective_fading_model2_sptr self) -> io_signature_sptr"""
        return _channels_swig.selective_fading_model2_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(selective_fading_model2_sptr self) -> io_signature_sptr"""
        return _channels_swig.selective_fading_model2_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(selective_fading_model2_sptr self) -> long"""
        return _channels_swig.selective_fading_model2_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(selective_fading_model2_sptr self) -> basic_block_sptr"""
        return _channels_swig.selective_fading_model2_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(selective_fading_model2_sptr self, int ninputs, int noutputs) -> bool"""
        return _channels_swig.selective_fading_model2_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(selective_fading_model2_sptr self) -> std::string"""
        return _channels_swig.selective_fading_model2_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(selective_fading_model2_sptr self, std::string name)"""
        return _channels_swig.selective_fading_model2_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(selective_fading_model2_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _channels_swig.selective_fading_model2_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(selective_fading_model2_sptr self) -> swig_pmt_ptr"""
        return _channels_swig.selective_fading_model2_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(selective_fading_model2_sptr self) -> swig_pmt_ptr"""
        return _channels_swig.selective_fading_model2_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(selective_fading_model2_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _channels_swig.selective_fading_model2_sptr_message_subscribers(self, which_port)

# Register selective_fading_model2_sptr in _channels_swig:
_channels_swig.selective_fading_model2_sptr_swigregister(selective_fading_model2_sptr)


selective_fading_model2_sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id())
selective_fading_model2 = selective_fading_model2.make;

class sro_model_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::channels::sro_model > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        __init__(sro_model_sptr self) -> sro_model_sptr
        __init__(sro_model_sptr self, sro_model p) -> sro_model_sptr
        """
        _channels_swig.sro_model_sptr_swiginit(self, _channels_swig.new_sro_model_sptr(*args))

    def __deref__(self) -> "gr::channels::sro_model *":
        r"""__deref__(sro_model_sptr self) -> sro_model"""
        return _channels_swig.sro_model_sptr___deref__(self)
    __swig_destroy__ = _channels_swig.delete_sro_model_sptr

    def make(self, sample_rate_hz: "double", std_dev_hz: "double", max_dev_hz: "double", noise_seed: "double"=0) -> "gr::channels::sro_model::sptr":
        r"""make(sro_model_sptr self, double sample_rate_hz, double std_dev_hz, double max_dev_hz, double noise_seed=0) -> sro_model_sptr"""
        return _channels_swig.sro_model_sptr_make(self, sample_rate_hz, std_dev_hz, max_dev_hz, noise_seed)

    def set_std_dev(self, _dev: "double") -> "void":
        r"""set_std_dev(sro_model_sptr self, double _dev)"""
        return _channels_swig.sro_model_sptr_set_std_dev(self, _dev)

    def set_max_dev(self, _dev: "double") -> "void":
        r"""set_max_dev(sro_model_sptr self, double _dev)"""
        return _channels_swig.sro_model_sptr_set_max_dev(self, _dev)

    def set_samp_rate(self, _rate: "double") -> "void":
        r"""set_samp_rate(sro_model_sptr self, double _rate)"""
        return _channels_swig.sro_model_sptr_set_samp_rate(self, _rate)

    def std_dev(self) -> "double":
        r"""std_dev(sro_model_sptr self) -> double"""
        return _channels_swig.sro_model_sptr_std_dev(self)

    def max_dev(self) -> "double":
        r"""max_dev(sro_model_sptr self) -> double"""
        return _channels_swig.sro_model_sptr_max_dev(self)

    def samp_rate(self) -> "double":
        r"""samp_rate(sro_model_sptr self) -> double"""
        return _channels_swig.sro_model_sptr_samp_rate(self)

    def history(self) -> "unsigned int":
        r"""history(sro_model_sptr self) -> unsigned int"""
        return _channels_swig.sro_model_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(sro_model_sptr self, int which, int delay)
        declare_sample_delay(sro_model_sptr self, unsigned int delay)
        """
        return _channels_swig.sro_model_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(sro_model_sptr self, int which) -> unsigned int"""
        return _channels_swig.sro_model_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(sro_model_sptr self, int multiple)"""
        return _channels_swig.sro_model_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(sro_model_sptr self) -> int"""
        return _channels_swig.sro_model_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(sro_model_sptr self) -> double"""
        return _channels_swig.sro_model_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(sro_model_sptr self) -> uint64_t"""
        return _channels_swig.sro_model_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(sro_model_sptr self) -> uint64_t"""
        return _channels_swig.sro_model_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(sro_model_sptr self) -> bool"""
        return _channels_swig.sro_model_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(sro_model_sptr self) -> bool"""
        return _channels_swig.sro_model_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(sro_model_sptr self, unsigned int which_input) -> uint64_t"""
        return _channels_swig.sro_model_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(sro_model_sptr self, unsigned int which_output) -> uint64_t"""
        return _channels_swig.sro_model_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(sro_model_sptr self, std::string level)"""
        return _channels_swig.sro_model_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(sro_model_sptr self) -> std::string"""
        return _channels_swig.sro_model_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(sro_model_sptr self) -> int"""
        return _channels_swig.sro_model_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(sro_model_sptr self, int m)"""
        return _channels_swig.sro_model_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(sro_model_sptr self)"""
        return _channels_swig.sro_model_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(sro_model_sptr self) -> bool"""
        return _channels_swig.sro_model_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(sro_model_sptr self, int m)"""
        return _channels_swig.sro_model_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(sro_model_sptr self) -> int"""
        return _channels_swig.sro_model_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(sro_model_sptr self, int i) -> long"""
        return _channels_swig.sro_model_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(sro_model_sptr self, long max_output_buffer)
        set_max_output_buffer(sro_model_sptr self, int port, long max_output_buffer)
        """
        return _channels_swig.sro_model_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(sro_model_sptr self, int i) -> long"""
        return _channels_swig.sro_model_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(sro_model_sptr self, long min_output_buffer)
        set_min_output_buffer(sro_model_sptr self, int port, long min_output_buffer)
        """
        return _channels_swig.sro_model_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(sro_model_sptr self) -> float"""
        return _channels_swig.sro_model_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(sro_model_sptr self) -> float"""
        return _channels_swig.sro_model_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(sro_model_sptr self) -> float"""
        return _channels_swig.sro_model_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(sro_model_sptr self) -> float"""
        return _channels_swig.sro_model_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(sro_model_sptr self) -> float"""
        return _channels_swig.sro_model_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(sro_model_sptr self) -> float"""
        return _channels_swig.sro_model_sptr_pc_nproduced_var(self)

    def pc_input_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full(sro_model_sptr self, int which) -> float
        pc_input_buffers_full(sro_model_sptr self) -> pmt_vector_float
        """
        return _channels_swig.sro_model_sptr_pc_input_buffers_full(self, *args)

    def pc_input_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_avg(sro_model_sptr self, int which) -> float
        pc_input_buffers_full_avg(sro_model_sptr self) -> pmt_vector_float
        """
        return _channels_swig.sro_model_sptr_pc_input_buffers_full_avg(self, *args)

    def pc_input_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_var(sro_model_sptr self, int which) -> float
        pc_input_buffers_full_var(sro_model_sptr self) -> pmt_vector_float
        """
        return _channels_swig.sro_model_sptr_pc_input_buffers_full_var(self, *args)

    def pc_output_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full(sro_model_sptr self, int which) -> float
        pc_output_buffers_full(sro_model_sptr self) -> pmt_vector_float
        """
        return _channels_swig.sro_model_sptr_pc_output_buffers_full(self, *args)

    def pc_output_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_avg(sro_model_sptr self, int which) -> float
        pc_output_buffers_full_avg(sro_model_sptr self) -> pmt_vector_float
        """
        return _channels_swig.sro_model_sptr_pc_output_buffers_full_avg(self, *args)

    def pc_output_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_var(sro_model_sptr self, int which) -> float
        pc_output_buffers_full_var(sro_model_sptr self) -> pmt_vector_float
        """
        return _channels_swig.sro_model_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(sro_model_sptr self) -> float"""
        return _channels_swig.sro_model_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(sro_model_sptr self) -> float"""
        return _channels_swig.sro_model_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(sro_model_sptr self) -> float"""
        return _channels_swig.sro_model_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(sro_model_sptr self) -> float"""
        return _channels_swig.sro_model_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(sro_model_sptr self) -> float"""
        return _channels_swig.sro_model_sptr_pc_throughput_avg(self)

    def set_processor_affinity(self, mask: "std::vector< int,std::allocator< int > > const &") -> "void":
        r"""set_processor_affinity(sro_model_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _channels_swig.sro_model_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(sro_model_sptr self)"""
        return _channels_swig.sro_model_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(sro_model_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _channels_swig.sro_model_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(sro_model_sptr self) -> int"""
        return _channels_swig.sro_model_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(sro_model_sptr self) -> int"""
        return _channels_swig.sro_model_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(sro_model_sptr self, int priority) -> int"""
        return _channels_swig.sro_model_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(sro_model_sptr self) -> std::string"""
        return _channels_swig.sro_model_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(sro_model_sptr self) -> std::string"""
        return _channels_swig.sro_model_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(sro_model_sptr self) -> io_signature_sptr"""
        return _channels_swig.sro_model_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(sro_model_sptr self) -> io_signature_sptr"""
        return _channels_swig.sro_model_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(sro_model_sptr self) -> long"""
        return _channels_swig.sro_model_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(sro_model_sptr self) -> basic_block_sptr"""
        return _channels_swig.sro_model_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(sro_model_sptr self, int ninputs, int noutputs) -> bool"""
        return _channels_swig.sro_model_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(sro_model_sptr self) -> std::string"""
        return _channels_swig.sro_model_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(sro_model_sptr self, std::string name)"""
        return _channels_swig.sro_model_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(sro_model_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _channels_swig.sro_model_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(sro_model_sptr self) -> swig_pmt_ptr"""
        return _channels_swig.sro_model_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(sro_model_sptr self) -> swig_pmt_ptr"""
        return _channels_swig.sro_model_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(sro_model_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _channels_swig.sro_model_sptr_message_subscribers(self, which_port)

# Register sro_model_sptr in _channels_swig:
_channels_swig.sro_model_sptr_swigregister(sro_model_sptr)


sro_model_sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id())
sro_model = sro_model.make;



