public Singulation_DynamicQ(SingulationAlgorithmParms parms, SingulationAlgorithm alg)
 {
     switch (current = alg)
     {
         case SingulationAlgorithm.DYNAMICQ:
             if (parms.GetType() == typeof(DynamicQParms))
             {
                 dynQ = parms as DynamicQParms;
             }
             else
             {
                 dynQ.startQValue = 7;
                 dynQ.minQValue = 0;
                 dynQ.maxQValue = 15;
                 dynQ.maxQueryRepCount = 0;
                 dynQ.retryCount = 0;
                 dynQ.toggleTarget = 1;
             }
             break;
         case SingulationAlgorithm.DYNAMICQ_ADJUST:
             if (parms.GetType() == typeof(DynamicQAdjustParms))
             {
                 dynQAdjust = parms as DynamicQAdjustParms;
             }
             else
             {
                 dynQAdjust.startQValue = 7;
                 dynQAdjust.minQValue = 0;
                 dynQAdjust.maxQValue = 15;
                 dynQAdjust.maxQueryRepCount = 0;
                 dynQAdjust.retryCount = 0;
                 dynQAdjust.toggleTarget = 1;
             }
             break;
         case SingulationAlgorithm.DYNAMICQ_THRESH:
             if (parms.GetType() == typeof(DynamicQThresholdParms))
             {
                 dynQThreshold = parms as DynamicQThresholdParms;
             }
             else
             {
                 dynQThreshold.startQValue = 7;
                 dynQThreshold.minQValue = 0;
                 dynQThreshold.maxQValue = 15;
                 dynQThreshold.thresholdMultiplier = 0;
                 dynQThreshold.retryCount = 0;
                 dynQThreshold.toggleTarget = 1;
             }
             break;
     }
     InitializeComponent();
     Refresh();
 }
        public Singulation_DynamicQ(SingulationAlgorithmParms parms, SingulationAlgorithm alg)
        {
            InitializeComponent();

            switch (current = alg)
            {
                case SingulationAlgorithm.DYNAMICQ:
                    DynamicQ = parms as DynamicQParms;
                    break;
                case SingulationAlgorithm.DYNAMICQ_ADJUST:
                    DynamicQAdjust = parms as DynamicQAdjustParms;
                    break;
                case SingulationAlgorithm.DYNAMICQ_THRESH:
                    DynamicQThreshold = parms as DynamicQThresholdParms;
                    break;
            }
        }