docs: def convolveSpectrum(Omega,CrossSection,Resolution=0.1,AF_wing=10.,
                       SlitFunction=SLIT_RECTANGULAR,Wavenumber=None):
      """
      INPUT PARAMETERS: 
          Wavenumber/Omega:    wavenumber grid                     (required)
          CrossSection:  high-res cross section calculated on grid (required)
          Resolution:    instrumental resolution γ                 (optional)
          AF_wing:       instrumental function wing                (optional)
          SlitFunction:  instrumental function for low-res spectra calculation (optional)
      OUTPUT PARAMETERS: 
          Wavenum: wavenumber grid
          CrossSection: low-res cross section calculated on grid
          i1: lower index in Omega input
          i2: higher index in Omega input
          slit: slit function calculated over grid [-AF_wing; AF_wing]
                  with the step equal to instrumental resolution. 
      ---
      DESCRIPTION:
          Produce a simulation of experimental spectrum via the convolution 
          of a “dry” spectrum with an instrumental function.
          Instrumental function is provided as a parameter and
          is calculated in a grid with the width=AF_wing and step=Resolution.
      ---
      EXAMPLE OF USAGE:
          nu_,radi_,i,j,slit = convolveSpectrum(nu,radi,Resolution=2.0,AF_wing=10.0,
                                                  SlitFunction=SLIT_MICHELSON)
      ---
      """    
      # compatibility with older versions
      if Wavenumber: Omega=Wavenumber
      step = Omega[1]-Omega[0]
      if step>=Resolution: raise Exception('step must be less than resolution')
      #x = arange(-AF_wing,AF_wing+step,step)
      x = arange_(-AF_wing,AF_wing+step,step) # fix
      slit = SlitFunction(x,Resolution)
      # FIXING THE BUG: normalize slit function
      slit /= sum(slit)*step # simple normalization
      left_bnd = len(slit)/2
      right_bnd = len(Omega) - len(slit)/2
      #CrossSectionLowRes = convolve(CrossSection,slit,mode='valid')*step
      CrossSectionLowRes = convolve(CrossSection,slit,mode='same')*step
      #return Omega[left_bnd:right_bnd],CrossSectionLowRes,left_bnd,right_bnd,slit
      return Omega[left_bnd:right_bnd],CrossSectionLowRes[left_bnd:right_bnd],left_bnd,right_bnd,slit