Source code for instruments.abstract_instruments.signal_generator.signal_generator

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Provides an abstract base class for signal generator instruments
"""

# IMPORTS #####################################################################

from __future__ import absolute_import
from __future__ import division

import abc

from future.utils import with_metaclass

from instruments.abstract_instruments import Instrument

# CLASSES #####################################################################


[docs]class SignalGenerator(with_metaclass(abc.ABCMeta, Instrument)): """ Python abstract base class for signal generators (eg microwave sources). This ABC is not for function generators, which have their own separate ABC. .. seealso:: `~instruments.FunctionGenerator` """ # PROPERTIES # @abc.abstractproperty def channel(self): """ Gets a specific channel object for the SignalGenerator. :rtype: A class inherited from `~instruments.SGChannel` """ raise NotImplementedError