public ScenarioTestResult(ScenarioIntermediaryTestResult i, Scenario scenario, HelicopterBase helicopter,
                                  GameTime gameTime, TestScenarioEndTrigger endTrigger)
        {
            Autopilot = new AutopilotConfiguration
                            {
                                MaxHVelocity = helicopter.Autopilot.MaxHVelocity,
                                PIDSetup = helicopter.Autopilot.PIDSetup.Clone()
                            };

            AvgEstimatedPositionError = i.AccEstimatedPositionError/i.UpdateCount;
            AvgHeightAboveGround = i.AccHeightAboveGround/i.UpdateCount;
            AvgVelocity = i.AccVelocity/i.UpdateCount;
            Duration = gameTime.TotalGameTime - i.StartTime;
            EndTrigger = endTrigger;
            FlightLog = new List<HelicopterLogSnapshot>(helicopter.Log);
            MaxEstimatedPositionError = i.MaxEstimatedPositionError;
            MaxHeightAboveGround = i.MaxHeightAboveGround;
            MaxVelocity = i.MaxVelocity;
            MinEstimatedPositionError = i.MinEstimatedPositionError;
            MinHeightAboveGround = i.MinHeightAboveGround;
            Scenario = scenario;

            Sensors = new SensorSpecifications
                          {
                              AccelerometerStdDev = DefaultAutopilotConfiguration.AccelerometerStdDev,
                              GPSVelocityStdDev = DefaultAutopilotConfiguration.GPSVelocityStdDev,
                              GPSPositionStdDev = DefaultAutopilotConfiguration.GPSPositionStdDev
                          };
        }
        public ScenarioTestResult(ScenarioIntermediaryTestResult i, Scenario scenario, HelicopterBase helicopter,
                                  GameTime gameTime, TestScenarioEndTrigger endTrigger)
        {
            Autopilot = new AutopilotConfiguration
            {
                MaxHVelocity = helicopter.Autopilot.MaxHVelocity,
                PIDSetup     = helicopter.Autopilot.PIDSetup.Clone()
            };

            AvgEstimatedPositionError = i.AccEstimatedPositionError / i.UpdateCount;
            AvgHeightAboveGround      = i.AccHeightAboveGround / i.UpdateCount;
            AvgVelocity = i.AccVelocity / i.UpdateCount;
            Duration    = gameTime.TotalGameTime - i.StartTime;
            EndTrigger  = endTrigger;
            FlightLog   = new List <HelicopterLogSnapshot>(helicopter.Log);
            MaxEstimatedPositionError = i.MaxEstimatedPositionError;
            MaxHeightAboveGround      = i.MaxHeightAboveGround;
            MaxVelocity = i.MaxVelocity;
            MinEstimatedPositionError = i.MinEstimatedPositionError;
            MinHeightAboveGround      = i.MinHeightAboveGround;
            Scenario = scenario;

            Sensors = new SensorSpecifications
            {
                AccelerometerStdDev = DefaultAutopilotConfiguration.AccelerometerStdDev,
                GPSVelocityStdDev   = DefaultAutopilotConfiguration.GPSVelocityStdDev,
                GPSPositionStdDev   = DefaultAutopilotConfiguration.GPSPositionStdDev
            };
        }