diff --git a/VectoCore/VectoCore/OutputData/ModalDataContainer.cs b/VectoCore/VectoCore/OutputData/ModalDataContainer.cs index ca208b405b91e2dfcd6d51d4ec2f0bf97d0ace1f..2a43cc64354cc05baaba5a1e14db4556d5933300 100644 --- a/VectoCore/VectoCore/OutputData/ModalDataContainer.cs +++ b/VectoCore/VectoCore/OutputData/ModalDataContainer.cs @@ -159,19 +159,14 @@ namespace TUGraz.VectoCore.OutputData Data = new ModalResults(false); CurrentRow = Data.NewRow(); + PostProcessingCorrection = GetModDataPostprocessor(runData); + if (runData.JobType == VectoSimulationJobType.BatteryElectricVehicle || runData.JobType == VectoSimulationJobType.IEPC_E) { - PostProcessingCorrection = new BatteryElectricPostprocessingCorrection(); return; } - - var isSerialHybrid = runData.JobType == VectoSimulationJobType.IEPC_S || - runData.JobType == VectoSimulationJobType.SerialHybridVehicle; - PostProcessingCorrection = isSerialHybrid - ? new SerialHybridModalDataPostprocessingCorrection() - : new ModalDataPostprocessingCorrection(); - - var multipleEngineModes = runData.EngineData?.MultipleEngineFuelModes ?? false; + + var multipleEngineModes = runData.EngineData?.MultipleEngineFuelModes ?? false; var fuels = runData.EngineData?.Fuels ?? new List<CombustionEngineFuelData>(); foreach (var fuel in fuels) { var entry = fuel.FuelData; @@ -203,6 +198,20 @@ namespace TUGraz.VectoCore.OutputData } + protected IModalDataPostProcessor GetModDataPostprocessor(VectoRunData runData) + { + switch (runData.JobType) { + case VectoSimulationJobType.BatteryElectricVehicle: + case VectoSimulationJobType.IEPC_E: + return new BatteryElectricPostprocessingCorrection(); + case VectoSimulationJobType.IEPC_S: + case VectoSimulationJobType.SerialHybridVehicle: + return new SerialHybridModalDataPostprocessingCorrection(); + default: + return new ModalDataPostprocessingCorrection(); + } + } + public int JobRunId => _runData.JobRunId; public string RunName => _runData.JobName;