# logic::ASW4

    sys::Obj
      sys::Virtual
        sys::Component
          logic::ASW4

`public class ASW4` `[niagaraIcon="module://icons/x16/control/util/select.png"]`

Selects 1 of 4 inputs to route to output based on selector value

if (sel - startsAt) <= 0, out = in1 if (sel - startsAt) == 1, out = in2 if (sel - startsAt) == 2, out = in3 if (sel - startsAt) >= 3, out = in4

in1

  `public property float in1`

  input 1

in2

  `public property float in2`

  input 2

in3

  `public property float in3`

  input 3

in4

  `public property float in4`

  input 4

out

  `public property float out [readonly]`

  output

sel

  `public property int sel`

  sel, the difference of sel - startsAt is used to select the output

startsAt

  `public property int startsAt [config]`

  startsAt, the difference of sel - startsAt is used to select the output

execute

  `public virtual override void execute()`

  Execute is called once every scan.