@staticmethod
def __generate_range_gate_file(template_str, no_los, range_gates,
    lidar_mode, fft_size, accumulation_time):
    """
        Range gate file generator.

        Attributes
        ---------
        template_str : str
            A string containing the base range gate file template.
        no_los : int
            Number of line of sight.
        range_gates : ndarray
            nD array of type int containing range gate center positions.
        lidar_mode : str
            A string indicating the operational mode a scanning lidar.
        fft_size : int
            An integer indicating number of fft points used during
            the spectral analysis of the backscattered signal.
        accumulation_time : int
            An integer indicating the accumulation time of the 
            Doppler spectra.

        Notes
        -----
        This method is only applicabe for  long-range WindScanners!
        """
    range_gate_file = template_str
    range_gate_file = range_gate_file.replace('insertMODE', str(lidar_mode))
    range_gate_file = range_gate_file.replace('insertMaxRange', str(max(
        range_gates)))
    range_gate_file = range_gate_file.replace('insertFFTSize', str(fft_size))
    rows = ''
    range_gate_row = '\t'.join(list(map(str, range_gates)))
    for i in range(0, no_los):
        row_temp = str(i + 1) + '\t' + str(accumulation_time) + '\t'
        row_temp = row_temp + range_gate_row
        if i < no_los - 1:
            row_temp = row_temp + '\n'
        rows = rows + row_temp
    range_gate_file = range_gate_file.replace('insertRangeGates', rows)
    return range_gate_file
