# Path: blond/toolbox/filters_and_fitting.py
# def beam_profile_filter_chebyshev(Y_array, X_array, filter_option):
# def gaussian_fit(Y_array, X_array, p0):
# def gauss(x, *p):
# def rms(Y_array, X_array):
# def fwhm(Y_array, X_array, shift=0):
# def fwhm_multibunch(Y_array, X_array, n_bunches,
#                     bunch_spacing_buckets, bucket_size_tau,
#                     bucket_tolerance=0.40, shift=0):
# def rms_multibunch(Y_array, X_array, n_bunches,
#                    bunch_spacing_buckets, bucket_size_tau,
#                    bucket_tolerance=0.40):
# 
# Path: blond/utils/bmath.py
# def use_mpi():
# def mpiMode():
# def use_fftw():
# def use_precision(_precision='double'):
# def update_active_dict(new_dict):


from builtins import object
from scipy import ndimage
from ..toolbox import filters_and_fitting as ffroutines
from ..utils import bmath as bm
        from ..utils.mpi_config import worker
        from ..utils.mpi_config import worker
import numpy as np

        defines the left and right extremes of the profile in case those are
        not given explicitly
    cuts_unit : str
        the unit of cut_left and cut_right, it can be seconds 's' or radians
        'rad'
    RFSectionParameters : object
        RFSectionParameters[0][0] is necessary for the conversion from radians
        to seconds if cuts_unit = 'rad'. RFSectionParameters[0][0] is the value
        of omega_rf of the main harmonic at turn number 0

    Attributes
    ----------
    cut_left : float
    cut_right : float
    n_slices : int
    n_sigma : float
    cuts_unit : str
    RFSectionParameters : object
    edges : float array
        contains the edges of the slices
    bin_centers : float array
        contains the centres of the slices

    Examples
    --------
    >>> from input_parameters.ring import Ring
    >>> from input_parameters.rf_parameters import RFStation
    >>> self.ring = Ring(n_turns = 1, ring_length = 100,
    >>> alpha = 0.00001, momentum = 1e9)
    >>> self.rf_params = RFStation(Ring=self.ring, n_rf=1, harmonic=[4620],

# Path: blond/toolbox/filters_and_fitting.py
# def beam_profile_filter_chebyshev(Y_array, X_array, filter_option):
# def gaussian_fit(Y_array, X_array, p0):
# def gauss(x, *p):
# def rms(Y_array, X_array):
# def fwhm(Y_array, X_array, shift=0):
# def fwhm_multibunch(Y_array, X_array, n_bunches,
#                     bunch_spacing_buckets, bucket_size_tau,
#                     bucket_tolerance=0.40, shift=0):
# def rms_multibunch(Y_array, X_array, n_bunches,
#                    bunch_spacing_buckets, bucket_size_tau,
#                    bucket_tolerance=0.40):
# 
# Path: blond/utils/bmath.py
# def use_mpi():
# def mpiMode():
# def use_fftw():
# def use_precision(_precision='double'):
# def update_active_dict(new_dict):


# Path: blond/beam/profile.py
from builtins import object
from scipy import ndimage
from ..toolbox import filters_and_fitting as ffroutines
from ..utils import bmath as bm
        from ..utils.mpi_config import worker
        from ..utils.mpi_config import worker
import numpy as np

        defines the left and right extremes of the profile in case those are
        not given explicitly
    cuts_unit : str
        the unit of cut_left and cut_right, it can be seconds 's' or radians
        'rad'
    RFSectionParameters : object
        RFSectionParameters[0][0] is necessary for the conversion from radians
        to seconds if cuts_unit = 'rad'. RFSectionParameters[0][0] is the value
        of omega_rf of the main harmonic at turn number 0

    Attributes
    ----------
    cut_left : float
    cut_right : float
    n_slices : int
    n_sigma : float
    cuts_unit : str
    RFSectionParameters : object
    edges : float array
        contains the edges of the slices
    bin_centers : float array
        contains the centres of the slices

    Examples
    --------
    >>> from input_parameters.ring import Ring
    >>> from input_parameters.rf_parameters import RFStation
    >>> self.ring = Ring(n_turns = 1, ring_length = 100,
    >>> alpha = 0.00001, momentum = 1e9)
    >>> self.rf_params = RFStation(Ring=self.ring, n_rf=1, harmonic=[4620],

    >>>                  voltage=[7e6], phi_rf_d=[0.])
