'Update channel locations in info.
Parameters
pos : array-like | np.ndarray, shape (n_points, 3)
The channel positions to be set.
names : list of str
The names of the channels to be set.
Notes
.. versionadded:: 0.9.0'

def _set_channel_positions(self, pos, names):

    if (len(pos) != len(names)):
        raise ValueError('Number    of    channel    positions    not    equal    to    the    number    of    names    given.')
    pos = np.asarray(pos, dtype=np.float)
    if ((pos.shape[(-1)] != 3) or (pos.ndim != 2)):
        msg = ('Channel    positions    must    have    the    shape    (n_points,    3)    not    %s.' % (pos.shape,))
        raise ValueError(msg)
    for (name, p) in zip(names, pos):
        if (name in self.ch_names):
            idx = self.ch_names.index(name)
            self.info['chs'][idx]['loc'][:3] = p
        else:
            msg = ('%s    was    not    found    in    the    info.    Cannot    be    updated.' % name)
            raise ValueError(msg)
