
# This file is automatically generated by makeclasses.py

from .units import units, u as uu
from .voltagemixin import VoltageMixin
from .currentmixin import CurrentMixin
from .admittancemixin import AdmittanceMixin
from .impedancemixin import ImpedanceMixin
from .transfermixin import TransferMixin
from .voltagesquaredmixin import VoltageSquaredMixin
from .currentsquaredmixin import CurrentSquaredMixin
from .admittancesquaredmixin import AdmittanceSquaredMixin
from .impedancesquaredmixin import ImpedanceSquaredMixin
from .powermixin import PowerMixin
from sympy import sqrt, S
from .kseq import DiscreteFourierDomainSequence
from .nseq import DiscreteTimeDomainSequence
from .zseq import ZDomainSequence

__all__ = ('DiscreteTimeDomainVoltageSequence', 'DiscreteTimeDomainCurrentSequence', 'DiscreteTimeDomainAdmittanceSequence', 'DiscreteTimeDomainImpedanceSequence', 'DiscreteTimeDomainTransferFunctionSequence', 'DiscreteTimeDomainVoltagesquaredSequence', 'DiscreteTimeDomainCurrentsquaredSequence', 'DiscreteTimeDomainAdmittancesquaredSequence', 'DiscreteTimeDomainImpedancesquaredSequence', 'DiscreteTimeDomainPowerSequence', 'DiscreteFourierDomainVoltageSequence', 'DiscreteFourierDomainCurrentSequence', 'DiscreteFourierDomainAdmittanceSequence', 'DiscreteFourierDomainImpedanceSequence', 'DiscreteFourierDomainTransferFunctionSequence', 'DiscreteFourierDomainVoltagesquaredSequence', 'DiscreteFourierDomainCurrentsquaredSequence', 'DiscreteFourierDomainAdmittancesquaredSequence', 'DiscreteFourierDomainImpedancesquaredSequence', 'DiscreteFourierDomainPowerSequence', 'ZDomainVoltageSequence', 'ZDomainCurrentSequence', 'ZDomainAdmittanceSequence', 'ZDomainImpedanceSequence', 'ZDomainTransferFunctionSequence', 'ZDomainVoltagesquaredSequence', 'ZDomainCurrentsquaredSequence', 'ZDomainAdmittancesquaredSequence', 'ZDomainImpedancesquaredSequence', 'ZDomainPowerSequence')



class DiscreteTimeDomainVoltageSequence(VoltageMixin, DiscreteTimeDomainSequence):
    """Discrete time-domain voltage (units V)."""

    _default_units = uu.volt


class DiscreteTimeDomainCurrentSequence(CurrentMixin, DiscreteTimeDomainSequence):
    """Discrete time-domain current (units A)."""

    _default_units = uu.ampere


class DiscreteTimeDomainAdmittanceSequence(AdmittanceMixin, DiscreteTimeDomainSequence):
    """Discrete time-domain admittance (units S)."""

    _default_units = uu.siemens


class DiscreteTimeDomainImpedanceSequence(ImpedanceMixin, DiscreteTimeDomainSequence):
    """Discrete time-domain impedance (units ohm)."""

    _default_units = uu.ohm


class DiscreteTimeDomainTransferFunctionSequence(TransferMixin, DiscreteTimeDomainSequence):
    """Discrete time-domain transfer (units )."""

    _default_units = S.One


class DiscreteTimeDomainVoltagesquaredSequence(VoltageSquaredMixin, DiscreteTimeDomainSequence):
    """Discrete time-domain voltagesquared (units V^2)."""

    _default_units = uu.volt**2


class DiscreteTimeDomainCurrentsquaredSequence(CurrentSquaredMixin, DiscreteTimeDomainSequence):
    """Discrete time-domain currentsquared (units A^2)."""

    _default_units = uu.ampere**2


class DiscreteTimeDomainAdmittancesquaredSequence(AdmittanceSquaredMixin, DiscreteTimeDomainSequence):
    """Discrete time-domain admittancesquared (units S^2)."""

    _default_units = uu.siemens**2


class DiscreteTimeDomainImpedancesquaredSequence(ImpedanceSquaredMixin, DiscreteTimeDomainSequence):
    """Discrete time-domain impedancesquared (units ohm^2)."""

    _default_units = uu.ohm**2


class DiscreteTimeDomainPowerSequence(PowerMixin, DiscreteTimeDomainSequence):
    """Discrete time-domain power (units W)."""

    _default_units = uu.watt


class DiscreteFourierDomainVoltageSequence(VoltageMixin, DiscreteFourierDomainSequence):
    """Discrete frequency-domain voltage (units V)."""

    _default_units = uu.volt


class DiscreteFourierDomainCurrentSequence(CurrentMixin, DiscreteFourierDomainSequence):
    """Discrete frequency-domain current (units A)."""

    _default_units = uu.ampere


class DiscreteFourierDomainAdmittanceSequence(AdmittanceMixin, DiscreteFourierDomainSequence):
    """Discrete frequency-domain admittance (units S)."""

    _default_units = uu.siemens


class DiscreteFourierDomainImpedanceSequence(ImpedanceMixin, DiscreteFourierDomainSequence):
    """Discrete frequency-domain impedance (units ohm)."""

    _default_units = uu.ohm


class DiscreteFourierDomainTransferFunctionSequence(TransferMixin, DiscreteFourierDomainSequence):
    """Discrete frequency-domain transfer (units )."""

    _default_units = S.One


class DiscreteFourierDomainVoltagesquaredSequence(VoltageSquaredMixin, DiscreteFourierDomainSequence):
    """Discrete frequency-domain voltagesquared (units V^2)."""

    _default_units = uu.volt**2


class DiscreteFourierDomainCurrentsquaredSequence(CurrentSquaredMixin, DiscreteFourierDomainSequence):
    """Discrete frequency-domain currentsquared (units A^2)."""

    _default_units = uu.ampere**2


class DiscreteFourierDomainAdmittancesquaredSequence(AdmittanceSquaredMixin, DiscreteFourierDomainSequence):
    """Discrete frequency-domain admittancesquared (units S^2)."""

    _default_units = uu.siemens**2


class DiscreteFourierDomainImpedancesquaredSequence(ImpedanceSquaredMixin, DiscreteFourierDomainSequence):
    """Discrete frequency-domain impedancesquared (units ohm^2)."""

    _default_units = uu.ohm**2


class DiscreteFourierDomainPowerSequence(PowerMixin, DiscreteFourierDomainSequence):
    """Discrete frequency-domain power (units W)."""

    _default_units = uu.watt


class ZDomainVoltageSequence(VoltageMixin, ZDomainSequence):
    """Z-domain voltage (units V)."""

    _default_units = uu.volt


class ZDomainCurrentSequence(CurrentMixin, ZDomainSequence):
    """Z-domain current (units A)."""

    _default_units = uu.ampere


class ZDomainAdmittanceSequence(AdmittanceMixin, ZDomainSequence):
    """Z-domain admittance (units S)."""

    _default_units = uu.siemens


class ZDomainImpedanceSequence(ImpedanceMixin, ZDomainSequence):
    """Z-domain impedance (units ohm)."""

    _default_units = uu.ohm


class ZDomainTransferFunctionSequence(TransferMixin, ZDomainSequence):
    """Z-domain transfer (units )."""

    _default_units = S.One


class ZDomainVoltagesquaredSequence(VoltageSquaredMixin, ZDomainSequence):
    """Z-domain voltagesquared (units V^2)."""

    _default_units = uu.volt**2


class ZDomainCurrentsquaredSequence(CurrentSquaredMixin, ZDomainSequence):
    """Z-domain currentsquared (units A^2)."""

    _default_units = uu.ampere**2


class ZDomainAdmittancesquaredSequence(AdmittanceSquaredMixin, ZDomainSequence):
    """Z-domain admittancesquared (units S^2)."""

    _default_units = uu.siemens**2


class ZDomainImpedancesquaredSequence(ImpedanceSquaredMixin, ZDomainSequence):
    """Z-domain impedancesquared (units ohm^2)."""

    _default_units = uu.ohm**2


class ZDomainPowerSequence(PowerMixin, ZDomainSequence):
    """Z-domain power (units W)."""

    _default_units = uu.watt

seqclasses = {'discrete time': {'undefined': DiscreteTimeDomainSequence,
'voltage': DiscreteTimeDomainVoltageSequence,
'current': DiscreteTimeDomainCurrentSequence,
'admittance': DiscreteTimeDomainAdmittanceSequence,
'impedance': DiscreteTimeDomainImpedanceSequence,
'transfer': DiscreteTimeDomainTransferFunctionSequence,
'voltagesquared': DiscreteTimeDomainVoltagesquaredSequence,
'currentsquared': DiscreteTimeDomainCurrentsquaredSequence,
'admittancesquared': DiscreteTimeDomainAdmittancesquaredSequence,
'impedancesquared': DiscreteTimeDomainImpedancesquaredSequence,
'power': DiscreteTimeDomainPowerSequence,
}
,'discrete fourier': {'undefined': DiscreteFourierDomainSequence,
'voltage': DiscreteFourierDomainVoltageSequence,
'current': DiscreteFourierDomainCurrentSequence,
'admittance': DiscreteFourierDomainAdmittanceSequence,
'impedance': DiscreteFourierDomainImpedanceSequence,
'transfer': DiscreteFourierDomainTransferFunctionSequence,
'voltagesquared': DiscreteFourierDomainVoltagesquaredSequence,
'currentsquared': DiscreteFourierDomainCurrentsquaredSequence,
'admittancesquared': DiscreteFourierDomainAdmittancesquaredSequence,
'impedancesquared': DiscreteFourierDomainImpedancesquaredSequence,
'power': DiscreteFourierDomainPowerSequence,
}
,'Z': {'undefined': ZDomainSequence,
'voltage': ZDomainVoltageSequence,
'current': ZDomainCurrentSequence,
'admittance': ZDomainAdmittanceSequence,
'impedance': ZDomainImpedanceSequence,
'transfer': ZDomainTransferFunctionSequence,
'voltagesquared': ZDomainVoltagesquaredSequence,
'currentsquared': ZDomainCurrentsquaredSequence,
'admittancesquared': ZDomainAdmittancesquaredSequence,
'impedancesquared': ZDomainImpedancesquaredSequence,
'power': ZDomainPowerSequence,
}
,}

