class_docstr: Raw object from Brain Vision EEG file.
  
  Parameters
  ----------
  vhdr_fname : path-like
      Path to the EEG header file.
  eog : list or tuple
      Names of channels or list of indices that should be designated
      EOG channels. Values should correspond to the header file.
      Default is ``('HEOGL', 'HEOGR', 'VEOGb')``.
  misc : list or tuple of str | ``'auto'``
      Names of channels or list of indices that should be designated
      MISC channels. Values should correspond to the electrodes
      in the header file. If ``'auto'``, units in header file are used for
      inferring misc channels. Default is ``'auto'``.
  scale : float
      The scaling factor for EEG data. Unless specified otherwise by
      header file, units are in microvolts. Default scale factor is 1.
  %(preload)s
  %(verbose)s
  
  Attributes
  ----------
  impedances : dict
      A dictionary of all electrodes and their impedances.
  
  See Also
  --------
  mne.io.Raw : Documentation of attributes and methods.
class_docstr_tok: ["Raw","object","from","Brain","Vision","EEG","file",".","Parameters","--","--","--","--","--","vhdr_fname",":","path-like","Path","to","the","EEG","header","file",".","eog",":","list","or","tuple","Names","of","channels","or","list","of","indices","that","should","be","designated","EOG","channels",".","Values","should","correspond","to","the","header","file",".","Default","is","``","(","'HEOGL","'",",","'HEOGR","'",",","'VEOGb","'",")","``",".","misc",":","list","or","tuple","of","str","|","``","'auto","'","``","Names","of","channels","or","list","of","indices","that","should","be","designated","MISC","channels",".","Values","should","correspond","to","the","electrodes","in","the","header","file",".","If","``","'auto","'","``",",","units","in","header","file","are","used","for","inferring","misc","channels",".","Default","is","``","'auto","'","``",".","scale",":","float","The","scaling","factor","for","EEG","data",".","Unless","specified","otherwise","by","header","file",",","units","are","in","microvolts",".","Default","scale","factor","is","1",".","%","(","preload",")","s","%","(","verbose",")","s","Attributes","--","--","--","--","--","impedances",":","dict","A","dictionary","of","all","electrodes","and","their","impedances",".","See","Also","--","--","--","--","mne.io.Raw",":","Documentation","of","attributes","and","methods","."]
docstr: Read a chunk of raw data.
docstr_tok: ["Read","a","chunk","of","raw","data","."]
code: def _read_segment_file(self, data, idx, fi, start, stop, cals, mult):
      """Read a chunk of raw data."""
      # read data
      n_data_ch = self._raw_extras[fi]["orig_nchan"]
      fmt = self._raw_extras[fi]["fmt"]
      if self._raw_extras[fi]["order"] == "C":
          _read_segments_c(self, data, idx, fi, start, stop, cals, mult)
      elif isinstance(fmt, str):
          dtype = _fmt_dtype_dict[fmt]
          _read_segments_file(
              self,
              data,
              idx,
              fi,
              start,
              stop,
              cals,
              mult,
              dtype=dtype,
              n_channels=n_data_ch,
          )
      else:
          offsets = self._raw_extras[fi]["offsets"]
          with open(self._filenames[fi], "rb") as fid:
              fid.seek(offsets[start])
              block = np.empty((n_data_ch, stop - start))
              for ii in range(stop - start):
                  line = fid.readline().decode("ASCII")
                  line = line.strip()
  
                  # Not sure why we special-handle the "," character here,
                  # but let's just keep this for historical and backward-
                  # compat reasons
                  if (
                      isinstance(fmt, dict)
                      and "decimalsymbol" in fmt
                      and fmt["decimalsymbol"] != "."
                  ):
                      line = line.replace(",", ".")
  
                  if " " in line:
                      line_data = line.split()
                  elif "," in line:
                      # likely exported from BrainVision Analyzer?
                      line_data = line.split(",")
                  else:
                      raise RuntimeError(
                          "Unknown BrainVision data format encountered. "
                          "Please contact the MNE-Python developers."
                      )
  
                  block[:n_data_ch, ii] = [
                      float(part) for part in line_data
                  ]
          _mult_cal_one(data, block, idx, cals, mult)
  
imports: import configparser
  import os
  import os.path
  import re
  from datetime import datetime, timezone
  from io import StringIO
  import numpy
  from ..._fiff.constants import FIFF
  from ..._fiff.meas_info import _empty_info
  from ..._fiff.utils import _mult_cal_one, _read_segments_file
  from ...annotations import Annotations, read_annotations
  from ...channels import make_dig_montage
  from ...defaults import HEAD_SIZE_DEFAULT
  from ...transforms import _sph_to_cart
  from ...utils import _DefaultEventParser, fill_doc, logger, verbose, warn
  from ..base import BaseRaw
label_desc: Use image node_id 2 for calling the RawBrainVision obj's underlying member method code with example usage: obj._read_segment_file(data, idx, fi, start, stop, cals, mult) without return types