<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xsd:element name="AltusA10RIMethod">
    <xsd:annotation>
      <xsd:appinfo>
        <xsd:has-property name="Title" value="A-10 RI Detector"/>
      </xsd:appinfo>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="RunTime" type="tRunTime" default="1.00">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Run Time"/>
              <xsd:has-property name="Units" value="min"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="TimeConstant" type="tTimeConstant" default="0.2">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Time Constant"/>
              <xsd:has-property name="Units" value="sec"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="AnalogOutputType" type="tAnalogOutputType" default="µRIU data">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Analog output type"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="RIUnitsFullScale" type="tRIUnitsFullScale" default="500">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Refractive Index Units Full Scale"/>
              <xsd:has-property name="Units" value="c"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="OutputFullScale" type="tOutputFullScale" default="2000">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Output Full Scale"/>
              <xsd:has-property name="Units" value="mV"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="VoltageOffset" type="tVoltageOffset" default="0">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Voltage Offset"/>
              <xsd:has-property name="Units" value="mV"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="AuxAnalogOutputType" type="tAuxAnalogOutputType" default="Flow cell temperature">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Auxiliary Analog Output Type"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="AuxAnalogOutputFullScale" type="tAuxOutputFullScale" default="2000">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Auxiliary Analog Output Full Scale"/>
              <xsd:has-property name="Units" value="mV"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="AuxAnalogVoltageOffset" type="tAuxVoltageOffset" default="0">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Auxiliary Analog Voltage Offset"/>
              <xsd:has-property name="Units" value="mV"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="FlowCellTempEnable" type="tTemperatureEnable" default="false">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Target Flow Cell Temperature"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="FlowCellTempSetpoint" type="tFlowCellTempSetpoint" default="Off">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Target Flow Cell Temperature"/>
              <xsd:has-property name="Units" value="DegC"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="FlowCellTempAlarmEnable" type="tAlarmEnable" default="true">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Enable Flow Cell Temperature Alarm"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="FlowCellTemperatureLimit" type="tFlowCellTemperatureLimit" default="5">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Flow Cell Temperature Alarm Band"/>
              <xsd:has-property name="Units" value="DegC"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="ExtColumnTempEnable" type="tTemperatureEnable" default="false">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Enable External Columnn Temperature Control"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="ExtColumnTempSetpoint" type="tExtColumnTempSetpoint" default="Off">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Target External Column Temperature"/>
              <xsd:has-property name="Units" value="DegC"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="ExtColumnTempAlarmEnable" type="tAlarmEnable" default="true">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Enable External Column Temperature Alarm"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="ExtColumnTemperatureLimit" type="tExtColumnTemperatureLimit" default="5.0">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="External Column Temperature Alarm Band"/>
              <xsd:has-property name="Units" value="DegC"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="AutoZeroInjectStart" type="tAutoZeroInjectStart" default="true">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Autozero On Inject Start"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="AutoZeroDelaySecs" type="tAutoZeroDelaySecs" default="0.0">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Autozero Delay Seconds"/>
              <xsd:has-property name="Units" value="sec"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="DataRate" type="tDataRate" default="1">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Sampling Rate"/>
              <xsd:has-property name="Units" value="points/sec"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="PulseWidth" type="tPulseWidth" default="1.0">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Pulse Width"/>
              <xsd:has-property name="Units" value="sec"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="RectWavePeriod" type="tRectWavePeriod" default="1.0">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Rect Wave Period"/>
              <xsd:has-property name="Units" value="sec"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="InitialSwitchState" type="tInitialSwitchState" default="No Change">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Initial Switch State"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="Description" type="tDescription">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Comment"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="RiuDataEnable" type="xsd:boolean" default="false">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="RIU Data Channel"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="FlowCellTempDataEnable" type="xsd:boolean" default="false">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Flow Cell Temperature Data Channel"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="ExtColumnTempDataEnable" type="xsd:boolean" default="false">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="External Column Temperature Data Channel"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="PurgeEnable" type="tPurgeEnable" default="true">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Enable Detector Purge"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="RecycleEnable" type="tRecycleEnable" default="true">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Enable Detector Recycle"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="Polarity" type="tPolarity" default="Positive (+)">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Polarity"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="ThresholdEvent" type="tThreshold"/>
        <xsd:element name="RunEvents" type="tRunEvents" default="true">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Run Events"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="EventTable" type="tEventTable">
          <xsd:annotation>
            <xsd:appinfo>
              <xsd:has-property name="Prompt" value="Run Events"/>
            </xsd:appinfo>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:attribute name="version" type="xsd:int" use="required"/>
    </xsd:complexType>
  </xsd:element>
  <xsd:simpleType name="tAlarmEnable">
    <xsd:restriction base="xsd:boolean"/>
  </xsd:simpleType>
  <xsd:simpleType name="tTemperatureEnable">
    <xsd:restriction base="xsd:boolean"/>
  </xsd:simpleType>
  <xsd:simpleType name="tHeaterOff">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="Off" id="HeaterOff_-1"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="tFlowCellTemperatureValue">
    <xsd:restriction base="xsd:float">
      <xsd:minInclusive value="30.0"/>
      <xsd:maxInclusive value="55.0"/>
      <xsd:fractionDigits value="0"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="tFlowCellTempSetpoint">
    <xsd:union memberTypes="tHeaterOff tFlowCellTemperatureValue"/>
  </xsd:simpleType>
  <xsd:simpleType name="tFlowCellTemperatureLimit">
    <xsd:restriction base="xsd:float">
      <xsd:minInclusive value="5.0"/>
      <xsd:maxInclusive value="25.0"/>
      <xsd:fractionDigits value="0"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="tExtColumnTemperatureValue">
    <xsd:restriction base="xsd:float">
      <xsd:minInclusive value="30.0"/>
      <xsd:maxInclusive value="150.0"/>
      <xsd:fractionDigits value="0"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="tExtColumnTempSetpoint">
    <xsd:union memberTypes="tHeaterOff tExtColumnTemperatureValue"/>
  </xsd:simpleType>
  <xsd:simpleType name="tExtColumnTemperatureLimit">
    <xsd:restriction base="xsd:float">
      <xsd:minInclusive value="5.0"/>
      <xsd:maxInclusive value="25.0"/>
      <xsd:fractionDigits value="0"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="tDataRate">
    <xsd:restriction base="xsd:int">
      <xsd:enumeration value="1" id="DataRate_1A"/>
      <xsd:enumeration value="2" id="DataRate_2A"/>
      <xsd:enumeration value="5" id="DataRate_5A"/>
      <xsd:enumeration value="10" id="DataRate_10A"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="tInitialSwitchState">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="Off" id="InitialSwitchStateOff_0A"/>
      <xsd:enumeration value="On" id="InitialSwitchStateOn_1A"/>
      <xsd:enumeration value="No Change" id="InitialSwitchStateNoChange_2A"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="tFilterDisable">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="No filter" id="FilterDisable_0"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="tFilterTimeConstant">
    <xsd:restriction base="xsd:float">
      <xsd:minInclusive value="0.0125"/>
      <xsd:maxInclusive value="5.0000"/>
      <xsd:fractionDigits value="4"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="tTimeConstant">
    <xsd:union memberTypes="tFilterDisable tFilterTimeConstant"/>
  </xsd:simpleType>
  <xsd:simpleType name="tPolarity">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="Negative (-)" id="InversePolarity_0"/>
      <xsd:enumeration value="Positive (+)" id="NormalPolarity_1"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="tAnalogOutputType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="µRIU data" id="uRIU_1"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="tAuxAnalogOutputType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="Flow cell temperature" id="FlowCellOvenTemp_3A"/>
      <xsd:enumeration value="External column temperature" id="ExtColumnHeaterTemp_4A"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="tRIUnitsFullScale">
    <xsd:restriction base="xsd:float">
      <xsd:minInclusive value="1.0"/>
      <xsd:maxInclusive value="500.0"/>
      <xsd:fractionDigits value="0"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="tOutputFullScale">
    <xsd:restriction base="xsd:float">
      <xsd:minInclusive value="1"/>
      <xsd:maxInclusive value="2000"/>
      <xsd:fractionDigits value="0"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="tAuxOutputFullScale">
    <xsd:restriction base="xsd:float">
      <xsd:minInclusive value="1"/>
      <xsd:maxInclusive value="2000"/>
      <xsd:fractionDigits value="0"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="tVoltageOffset">
    <xsd:restriction base="xsd:float">
      <xsd:minInclusive value="-2000"/>
      <xsd:maxInclusive value="2000"/>
      <xsd:fractionDigits value="0"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="tAuxVoltageOffset">
    <xsd:restriction base="xsd:float">
      <xsd:minInclusive value="-2000"/>
      <xsd:maxInclusive value="2000"/>
      <xsd:fractionDigits value="0"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:complexType name="tEventTable">
    <xsd:sequence>
      <xsd:element name="EventRow" minOccurs="0" maxOccurs="16">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="Time" type="tEventTime" default="1.00">
              <xsd:annotation>
                <xsd:appinfo>
                  <xsd:has-property name="Prompt" value="Time"/>
                  <xsd:has-property name="Units" value="min"/>
                </xsd:appinfo>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="Event" type="tEvent" default="Switch 1">
              <xsd:annotation>
                <xsd:appinfo>
                  <xsd:has-property name="Prompt" value="Event"/>
                </xsd:appinfo>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="Parameter" type="tParameter">
              <xsd:annotation>
                <xsd:appinfo>
                  <xsd:has-property name="Prompt" value="Action"/>
                </xsd:appinfo>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:simpleType name="tEvent">
    <xsd:union memberTypes="tEventEnum xsd:string"/>
  </xsd:simpleType>
  <xsd:simpleType name="tEventEnum">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="Autozero" id="EventAutoZero_1A"/>
      <xsd:enumeration value="Switch" id="EventSwitch_2A"/>
      <xsd:enumeration value="Threshold" id="EventThreshold_3A"/>
      <xsd:enumeration value="Start Recycle" id="EventStartRecycle_4A"/>
      <xsd:enumeration value="End Recycle" id="EventEndRecycle_5A"/>
      <xsd:enumeration value="Polarity" id="EventPolarity_6A"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="tParameter">
    <xsd:union memberTypes="tParameterEnum xsd:string"/>
  </xsd:simpleType>
  <xsd:simpleType name="tParameterEnum">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="Off" id="SwitchParameterOff_0A"/>
      <xsd:enumeration value="On" id="SwitchParameterOn_1A"/>
      <xsd:enumeration value="Pulse" id="SwitchParameterPulse_2A"/>
      <xsd:enumeration value="Rect wave" id="SwitchParameterRectWave_3A"/>
      <xsd:enumeration value="Positive (+)" id="PolarityParameterPositive_1B"/>
      <xsd:enumeration value="Negative (-)" id="PolarityParameterNegative_0B"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="tRunTime">
    <xsd:restriction base="xsd:float">
      <xsd:minInclusive value="0.01"/>
      <xsd:maxInclusive value="599.99"/>
      <xsd:fractionDigits value="2"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="tEventTime">
    <xsd:restriction base="xsd:float">
      <xsd:minInclusive value="0.00"/>
      <xsd:maxInclusive value="999.99"/>
      <xsd:fractionDigits value="2"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:complexType name="tThreshold">
    <xsd:sequence>
      <xsd:element name="Enable" type="tThresholdEnable" default="false"/>
      <xsd:element name="Threshold" type="tThresholdLevel" default="100.0000">
        <xsd:annotation>
          <xsd:appinfo>
            <xsd:has-property name="Prompt" value="Threshold"/>
            <xsd:has-property name="Units" value="µRIU"/>
          </xsd:appinfo>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="Event" type="tThresholdEvent" default="Switch 1"/>
      <xsd:element name="Action" type="tThresholdAction" default="On"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:simpleType name="tPulseWidth">
    <xsd:restriction base="xsd:float">
      <xsd:minInclusive value="0.1"/>
      <xsd:maxInclusive value="60.0"/>
      <xsd:fractionDigits value="1"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="tRectWavePeriod">
    <xsd:restriction base="xsd:float">
      <xsd:minInclusive value="0.2"/>
      <xsd:maxInclusive value="60.0"/>
      <xsd:fractionDigits value="1"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="tThresholdLevel">
    <xsd:restriction base="xsd:float">
      <xsd:minInclusive value="1.0"/>
      <xsd:maxInclusive value="500.0"/>
      <xsd:fractionDigits value="3"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="tThresholdEvent">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="Switch 1" id="ThresholdEvent_2A"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="tThresholdAction">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="Off" id="ThresholdAction_0A"/>
      <xsd:enumeration value="On" id="ThresholdAction_1A"/>
      <xsd:enumeration value="Pulse" id="ThresholdAction_2A"/>
      <xsd:enumeration value="Rect wave" id="ThresholdAction_3A"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="tDescription">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="500"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="tPurgeEnable">
    <xsd:restriction base="xsd:boolean"/>
  </xsd:simpleType>
  <xsd:simpleType name="tRecycleEnable">
    <xsd:restriction base="xsd:boolean"/>
  </xsd:simpleType>
  <xsd:simpleType name="tAutoZeroInjectStart">
    <xsd:restriction base="xsd:boolean"/>
  </xsd:simpleType>
  <xsd:simpleType name="tAutoZeroDelaySecs">
    <xsd:restriction base="xsd:float">
      <xsd:minInclusive value="0.0"/>
      <xsd:maxInclusive value="30.0"/>
      <xsd:fractionDigits value="0"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="tThresholdEnable">
    <xsd:restriction base="xsd:boolean"/>
  </xsd:simpleType>
  <xsd:simpleType name="tRunEvents">
    <xsd:restriction base="xsd:boolean"/>
  </xsd:simpleType>
</xsd:schema>
