public void Calc()
        {
            MinimumApertureIn = BestExitPupilmm = 0;
            CalcState.Init(DisplayConsoleMessages);
            Mapper.Map(this, ExitPupilSequence);

            Loops.Each().ForEach(_ => ExitPupilSequence.BestExitPupil(CalcState.HighWaterMark)
                                 .Branch(CalcState.IsVisibleReset, CalcState.NotVisible));

            CalcState.BestCalc.Do(SetResults);
        }
 public MinApertureBestExitPupil(ExitPupilSequence exitPupilSequence)
 {
     ExitPupilSequence = exitPupilSequence;
     CalcState         = new CalcState();
     Mapper.CreateMap <MinApertureBestExitPupil, ExitPupilSequence>();
 }