From c81d29c41393d7a8a6b475d1ea64bdfda673ee8d Mon Sep 17 00:00:00 2001
From: "VKMTHD\\franzjosefkober" <franz.josef.kober@ivt.tugraz.at>
Date: Thu, 16 Sep 2021 17:50:00 +0200
Subject: [PATCH] added vehicle data test for HEV Heavy Lorry Px, and added
 ArchitectureID, OvcHev MaxChargingPower to IVehicleDeclarationInputData
 interface

---
 VECTO/Input Files/Engine.vb                   |  3 +
 VECTO/Input Files/Gearbox.vb                  |  3 +
 VECTO/Input Files/MockVehicleInputData.vb     |  3 +
 VECTO/Input Files/Vehicle.vb                  |  3 +
 .../InputData/DeclarationInputData.cs         | 74 ++++++++++++++++++-
 .../Resources/XMLNames.Designer.cs            | 27 +++++++
 .../VectoCommon/Resources/XMLNames.resx       |  9 +++
 .../FileIO/JSON/JSONComponentInputData.cs     |  3 +
 .../InputData/FileIO/JSON/JSONVehicleData.cs  |  3 +
 .../XMLDeclarationVehicleDataProvider.cs      |  6 ++
 .../XMLDeclarationMultistageInputReader.cs    |  3 +
 .../XMLEngineeringVehicleDataProvider.cs      |  3 +
 .../HEV_heavyLorry_AMT_Px_n_opt.xml           |  2 +-
 .../Utils/MockDeclarationVehicleInputData.cs  |  6 ++
 .../XMLDeclarationInputv210VehicleDataTest.cs | 27 +++++++
 15 files changed, 173 insertions(+), 2 deletions(-)

diff --git a/VECTO/Input Files/Engine.vb b/VECTO/Input Files/Engine.vb
index c5ac2f886b..886b7ec8b0 100644
--- a/VECTO/Input Files/Engine.vb	
+++ b/VECTO/Input Files/Engine.vb	
@@ -682,6 +682,9 @@ Public Class DummyVehicle
 
 	Public ReadOnly Property XMLSource As XmlNode Implements IVehicleDeclarationInputData.XMLSource
 	Public ReadOnly Property VehicleTypeApprovalNumber As String Implements IVehicleDeclarationInputData.VehicleTypeApprovalNumber
+	Public ReadOnly Property ArchitectureID As ArchitectureID Implements IVehicleDeclarationInputData.ArchitectureID
+	Public ReadOnly Property OvcHev As Boolean Implements IVehicleDeclarationInputData.OvcHev
+	Public ReadOnly Property MaxChargingPower As Watt Implements IVehicleDeclarationInputData.MaxChargingPower
 
 	Public Property AirdragInputData As IAirdragDeclarationInputData Implements IVehicleComponentsDeclaration.AirdragInputData
 	Public Property IVehicleComponentsEngineering_GearboxInputData As IGearboxEngineeringInputData Implements IVehicleComponentsEngineering.GearboxInputData
diff --git a/VECTO/Input Files/Gearbox.vb b/VECTO/Input Files/Gearbox.vb
index c4a6286c1b..05318379f4 100644
--- a/VECTO/Input Files/Gearbox.vb	
+++ b/VECTO/Input Files/Gearbox.vb	
@@ -880,6 +880,9 @@ Public Class MockEngineeringVehicle
     Public Property Components As IVehicleComponentsDeclaration Implements IVehicleDeclarationInputData.Components
     Public ReadOnly Property XMLSource As XmlNode Implements IVehicleDeclarationInputData.XMLSource
     Public ReadOnly Property VehicleTypeApprovalNumber As String Implements IVehicleDeclarationInputData.VehicleTypeApprovalNumber
+    Public ReadOnly Property ArchitectureID As ArchitectureID Implements IVehicleDeclarationInputData.ArchitectureID
+    Public ReadOnly Property OvcHev As Boolean Implements IVehicleDeclarationInputData.OvcHev
+    Public ReadOnly Property MaxChargingPower As Watt Implements IVehicleDeclarationInputData.MaxChargingPower
 
     Public Property AirdragInputData As IAirdragEngineeringInputData _
         Implements IVehicleComponentsEngineering.AirdragInputData
diff --git a/VECTO/Input Files/MockVehicleInputData.vb b/VECTO/Input Files/MockVehicleInputData.vb
index 23a25e9959..f945eac9d1 100644
--- a/VECTO/Input Files/MockVehicleInputData.vb	
+++ b/VECTO/Input Files/MockVehicleInputData.vb	
@@ -61,4 +61,7 @@ Public Class MockVehicleInputData
     Public Property Components As IVehicleComponentsDeclaration Implements IVehicleDeclarationInputData.Components
     Public ReadOnly Property XMLSource As XmlNode Implements IVehicleDeclarationInputData.XMLSource
     Public ReadOnly Property VehicleTypeApprovalNumber As String Implements IVehicleDeclarationInputData.VehicleTypeApprovalNumber
+    Public ReadOnly Property ArchitectureID As ArchitectureID Implements IVehicleDeclarationInputData.ArchitectureID
+    Public ReadOnly Property OvcHev As Boolean Implements IVehicleDeclarationInputData.OvcHev
+    Public ReadOnly Property MaxChargingPower As Watt Implements IVehicleDeclarationInputData.MaxChargingPower
 End Class
\ No newline at end of file
diff --git a/VECTO/Input Files/Vehicle.vb b/VECTO/Input Files/Vehicle.vb
index 16b62dd115..5b4ca58aa8 100644
--- a/VECTO/Input Files/Vehicle.vb	
+++ b/VECTO/Input Files/Vehicle.vb	
@@ -907,6 +907,9 @@ end Property
 
 	Public ReadOnly Property XMLSource As XmlNode Implements IAdvancedDriverAssistantSystemDeclarationInputData.XMLSource
 	Public ReadOnly Property VehicleTypeApprovalNumber As String Implements IVehicleDeclarationInputData.VehicleTypeApprovalNumber
+	Public ReadOnly Property ArchitectureID As ArchitectureID Implements IVehicleDeclarationInputData.ArchitectureID
+	Public ReadOnly Property OvcHev As Boolean Implements IVehicleDeclarationInputData.OvcHev
+	Public ReadOnly Property MaxChargingPower As Watt Implements IVehicleDeclarationInputData.MaxChargingPower
 
 	Public ReadOnly Property IAdvancedDriverAssistantSystemsEngineering_DataSource As DataSource Implements IAdvancedDriverAssistantSystemsEngineering.DataSource
 		Get
diff --git a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs
index 52ce9c2da6..bffcadb44a 100644
--- a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs
+++ b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs
@@ -208,6 +208,13 @@ namespace TUGraz.VectoCommon.InputData
 		XmlNode XMLSource { get; }
 
 		string VehicleTypeApprovalNumber { get; }
+		
+		ArchitectureID ArchitectureID { get; }
+		
+		bool OvcHev { get; }
+
+		Watt MaxChargingPower { get; }
+
 	}
 
 	public interface IVehicleComponentsDeclaration
@@ -1179,4 +1186,69 @@ namespace TUGraz.VectoCommon.InputData
 			return nameof(type);
 		}
 	}
-}
\ No newline at end of file
+
+	public enum ArchitectureID
+	{
+		E2,
+		E3,
+		E4,
+		E_IEPC,
+		P1,
+		P2,
+		P2_5,
+		P3,
+		P4,
+		S2,
+		S3,
+		S4,
+		S_IEPC
+	}
+
+
+	public static class ArchitectureIDHelper
+	{
+		private const string E_IEPC_ID = "E-IEPC";
+		private const string P2_5_ID = "P2.5";
+		private const string S_IEPC_ID = "S-IEPC";
+
+		public static ArchitectureID Parse(string parse)
+		{
+			switch (parse)
+			{
+				case nameof(ArchitectureID.E2):
+				case nameof(ArchitectureID.E3):
+				case nameof(ArchitectureID.E4):
+				case nameof(ArchitectureID.P1):
+				case nameof(ArchitectureID.P2):
+				case nameof(ArchitectureID.P3):
+				case nameof(ArchitectureID.P4):
+				case nameof(ArchitectureID.S2):
+				case nameof(ArchitectureID.S3):
+				case nameof(ArchitectureID.S4):
+					return parse.ParseEnum<ArchitectureID>();
+				case E_IEPC_ID:
+					return ArchitectureID.E_IEPC;
+				case P2_5_ID:
+					return ArchitectureID.P2_5;
+				case S_IEPC_ID:
+					return ArchitectureID.S_IEPC;
+				default:
+					throw new ArgumentOutOfRangeException($"{nameof(ArchitectureID)}");
+			}
+		}
+
+		public static string GetLabel(this ArchitectureID type)
+		{
+			switch (type) {
+				case ArchitectureID.E_IEPC:
+					return E_IEPC_ID;
+				case ArchitectureID.P2_5:
+					return P2_5_ID;
+				case ArchitectureID.S_IEPC:
+					return S_IEPC_ID;
+				default:
+					return type.ToString();
+			}
+		}
+	}
+}
diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs
index 482497b4ac..14cf56c23a 100644
--- a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs
+++ b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs
@@ -4668,6 +4668,15 @@ namespace TUGraz.VectoCommon.Resources {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to ArchitectureID.
+        /// </summary>
+        public static string Vehicle_ArchitectureID {
+            get {
+                return ResourceManager.GetString("Vehicle_ArchitectureID", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Articulated.
         /// </summary>
@@ -4893,6 +4902,15 @@ namespace TUGraz.VectoCommon.Resources {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to MaxChargingPower.
+        /// </summary>
+        public static string Vehicle_MaxChargingPower {
+            get {
+                return ResourceManager.GetString("Vehicle_MaxChargingPower", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to MaxNetPower1.
         /// </summary>
@@ -4920,6 +4938,15 @@ namespace TUGraz.VectoCommon.Resources {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to OvcHev.
+        /// </summary>
+        public static string Vehicle_OvcHev {
+            get {
+                return ResourceManager.GetString("Vehicle_OvcHev", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to PTO.
         /// </summary>
diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.resx b/VectoCommon/VectoCommon/Resources/XMLNames.resx
index f23a1e9b5b..1893847bfd 100644
--- a/VectoCommon/VectoCommon/Resources/XMLNames.resx
+++ b/VectoCommon/VectoCommon/Resources/XMLNames.resx
@@ -1836,4 +1836,13 @@
   <data name="Vehicle_TypeApprovalNumber" xml:space="preserve">
     <value>VehicleTypeApprovalNumber</value>
   </data>
+  <data name="Vehicle_ArchitectureID" xml:space="preserve">
+    <value>ArchitectureID</value>
+  </data>
+  <data name="Vehicle_MaxChargingPower" xml:space="preserve">
+    <value>MaxChargingPower</value>
+  </data>
+  <data name="Vehicle_OvcHev" xml:space="preserve">
+    <value>OvcHev</value>
+  </data>
 </root>
\ No newline at end of file
diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs
index 9404bd0661..a5b08523ab 100644
--- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs
@@ -243,6 +243,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 
 		public XmlNode XMLSource => null;
 		public string VehicleTypeApprovalNumber { get; }
+		public ArchitectureID ArchitectureID { get; }
+		public bool OvcHev { get; }
+		public Watt MaxChargingPower { get; }
 
 		public Meter Length => VehicleData.Length;
 
diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs
index 6d2e596597..e06f82a2f5 100644
--- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs
@@ -295,6 +295,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 
 		XmlNode IVehicleDeclarationInputData.XMLSource => null;
 		public virtual string VehicleTypeApprovalNumber { get; }
+		public ArchitectureID ArchitectureID { get; }
+		public bool OvcHev { get; }
+		public Watt MaxChargingPower { get; }
 
 		public GearshiftPosition PTO_DriveGear => Body["GearDuringPTODrive"] != null ? new GearshiftPosition(Body["GearDuringPTODrive"].Value<uint>()) : null;
 
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs
index 0ce478497a..a179eb9882 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs
@@ -245,6 +245,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 		public virtual IVehicleComponentsDeclaration Components => _components ?? (_components = ComponentReader.ComponentInputData);
 		
 		public virtual string VehicleTypeApprovalNumber => GetString(XMLNames.Vehicle_TypeApprovalNumber);
+		public virtual ArchitectureID ArchitectureID => ArchitectureIDHelper.Parse(GetString(XMLNames.Vehicle_ArchitectureID));
+		public virtual bool OvcHev => GetBool(XMLNames.Vehicle_OvcHev);
+		public virtual Watt MaxChargingPower => XmlConvert.ToInt32(GetString(XMLNames.Vehicle_MaxChargingPower)).SI<Watt>();
 
 		#region Implementation of IAdvancedDriverAssistantSystemDeclarationInputData
 
@@ -711,6 +714,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 
 		public virtual IVehicleComponentsDeclaration Components => _components ?? (_components = ComponentReader.ComponentInputData);
 		public virtual string VehicleTypeApprovalNumber => null;
+		public ArchitectureID ArchitectureID { get; }
+		public bool OvcHev { get; }
+		public Watt MaxChargingPower { get; }
 
 
 		#region  Non seeded Properties
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs
index 772dded679..7a9f597804 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs
@@ -599,6 +599,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl
 
 		public XmlNode XMLSource { get; }
 		public string VehicleTypeApprovalNumber { get; }
+		public ArchitectureID ArchitectureID { get; }
+		public bool OvcHev { get; }
+		public Watt MaxChargingPower { get; }
 
 		#endregion
 
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs
index fb44b35fd5..b33986b1fa 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs
@@ -154,6 +154,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider
 
 		IVehicleComponentsDeclaration IVehicleDeclarationInputData.Components => null;
 		public string VehicleTypeApprovalNumber => null;
+		public ArchitectureID ArchitectureID { get; }
+		public bool OvcHev { get; }
+		public Watt MaxChargingPower { get; }
 
 		IAdvancedDriverAssistantSystemDeclarationInputData IVehicleDeclarationInputData.ADAS => null;
 
diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.10/WithoutOptionalEntries/HEV_heavyLorry_AMT_Px_n_opt.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.10/WithoutOptionalEntries/HEV_heavyLorry_AMT_Px_n_opt.xml
index 124d2da4cb..2305c34641 100644
--- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.10/WithoutOptionalEntries/HEV_heavyLorry_AMT_Px_n_opt.xml
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.10/WithoutOptionalEntries/HEV_heavyLorry_AMT_Px_n_opt.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?>
<tns:VectoInputDeclaration xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="2.0" xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob V:\VectoCore\VectoCore\Resources\XSD/VectoDeclarationJob.xsd" xmlns:v1.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:v2.6="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6" xmlns:v2.10.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1" xmlns:v2.10.2="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.2">
	<v2.0:Vehicle xsi:type="Vehicle_HEV-Px_HeavyLorryDeclarationType" id="a">
		<Manufacturer>TU Graz</Manufacturer>
		<ManufacturerAddress>Inffeldgasse 19</ManufacturerAddress>
		<Model>HEV Heavy Lorry Px</Model>
		<VIN>1234</VIN>
		<Date>2017-01-01T00:00:00Z</Date>
		<LegislativeCategory>N3</LegislativeCategory>
		<ChassisConfiguration>Rigid Lorry</ChassisConfiguration>
		<AxleConfiguration>4x2</AxleConfiguration>
		<CorrectedActualMass>6000</CorrectedActualMass>
		<TechnicalPermissibleMaximumLadenMass>12000</TechnicalPermissibleMaximumLadenMass>
		<IdlingSpeed>650</IdlingSpeed>
		<RetarderType>None</RetarderType>
		<AngledriveType>None</AngledriveType>
		<PTO xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="v2.0:PTOType">
			<v2.0:PTOShaftsGearWheels>none</v2.0:PTOShaftsGearWheels>
			<v2.0:PTOOtherElements>none</v2.0:PTOOtherElements>
		</PTO>
		<ZeroEmissionVehicle>false</ZeroEmissionVehicle>
		<VocationalVehicle>false</VocationalVehicle>
		<SleeperCab>false</SleeperCab>
		<VehicleTypeApprovalNumber>ASDF</VehicleTypeApprovalNumber>
		<ArchitectureID>P2</ArchitectureID>
		<OvcHev>false</OvcHev>
		<ADAS xsi:type="ADAS_HEV_Type">
			<v2.10.2:EngineStopStart>true</v2.10.2:EngineStopStart>
			<v2.10.2:PredictiveCruiseControl>1,2,3</v2.10.2:PredictiveCruiseControl>
		</ADAS>
		<Components xsi:type="Components_HEV-Px_LorryType">
			<Engine>
				<v2.0:Data xsi:type="v1.0:EngineDataDeclarationType" id="ENG-gooZah3D" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0">
					<Manufacturer>Generic Engine Manufacturer</Manufacturer>
					<Model>Generic 40t Long Haul Truck Engine</Model>
					<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
					<Date>2017-02-15T11:00:00Z</Date>
					<AppVersion>VectoEngine x.y</AppVersion>
					<Displacement>12730</Displacement>
					<IdlingSpeed>560</IdlingSpeed>
					<RatedSpeed>2200</RatedSpeed>
					<RatedPower>380000</RatedPower>
					<MaxEngineTorque>2300</MaxEngineTorque>
					<WHTCUrban>1.0097</WHTCUrban>
					<WHTCRural>1.0035</WHTCRural>
					<WHTCMotorway>1.0200</WHTCMotorway>
					<BFColdHot>1.0000</BFColdHot>
					<CFRegPer>1.0000</CFRegPer>
					<CFNCV>1.0000</CFNCV>
					<FuelType>NG</FuelType>
					<FuelConsumptionMap>
						<Entry engineSpeed="560.00" torque="-149.00" fuelConsumption="0.00"/>
						<Entry engineSpeed="560.00" torque="1180.00" fuelConsumption="12869.00"/>
						<Entry engineSpeed="2100.00" torque="-320.00" fuelConsumption="0.00"/>
						<Entry engineSpeed="2100.00" torque="1100.00" fuelConsumption="50653.00"/>
					</FuelConsumptionMap>
					<FullLoadAndDragCurve>
						<Entry engineSpeed="560.00" maxTorque="1180.00" dragTorque="-149.00"/>
						<Entry engineSpeed="1800.00" maxTorque="1800.00" dragTorque="-300.00"/>
						<Entry engineSpeed="2100.00" maxTorque="1100.00" dragTorque="-320.00"/>
					</FullLoadAndDragCurve>
				</v2.0:Data>
				<v2.0:Signature>
					<di:Reference>
						<di:DigestMethod Algorithm=""/>
						<di:DigestValue/>
					</di:Reference>
				</v2.0:Signature>
			</Engine>
			<ElectricMachine>
				<PowertrainPosition>2</PowertrainPosition>
				<Count>1</Count>
				<ElectricMachineSystem>
					<v2.10.1:Data xsi:type="v2.10.1:ElectricMachineSystemMeasuredDataDeclarationType" id="EM-1234" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1">
						<Manufacturer>a</Manufacturer>
						<Model>a</Model>
						<CertificationNumber>token</CertificationNumber>
						<Date>2017-01-01T00:00:00Z</Date>
						<AppVersion>aaaaa</AppVersion>
						<ElectricMachineType>ASM</ElectricMachineType>
						<CertificationMethod>Measured</CertificationMethod>
						<R85RatedPower>1</R85RatedPower>
						<RotationalInertia>0.10</RotationalInertia>
						<ContinuousTorque>200.00</ContinuousTorque>
						<TestSpeedContinuousTorque>2000.00</TestSpeedContinuousTorque>
						<OverloadTorque>400.00</OverloadTorque>
						<TestSpeedOverloadTorque>2000.00</TestSpeedOverloadTorque>
						<OverloadDuration>30.00</OverloadDuration>
						<TestVoltageOverload>483</TestVoltageOverload>
						<DcDcConverterIncluded>true</DcDcConverterIncluded>
						<IHPCType>None</IHPCType>
						<VoltageLevel>
							<Voltage>400</Voltage>
							<MaxTorqueCurve>
								<Entry outShaftSpeed="0.00" maxTorque="450.00" minTorque="-450.00"/>
								<Entry outShaftSpeed="4000.00" maxTorque="100.00" minTorque="-100.00"/>
							</MaxTorqueCurve>
							<PowerMap>
								<Entry outShaftSpeed="0.00" torque="400.00" electricPower="1000.00"/>
								<Entry outShaftSpeed="0.00" torque="-400.00" electricPower="-1000.00"/>
								<Entry outShaftSpeed="4000.00" torque="4000.00" electricPower="20000.00"/>
								<Entry outShaftSpeed="4000.00" torque="-4000.00" electricPower="-20000.00"/>
							</PowerMap>
						</VoltageLevel>
						<VoltageLevel>
							<Voltage>600</Voltage>
							<MaxTorqueCurve>
								<Entry outShaftSpeed="0.00" maxTorque="450.00" minTorque="-450.00"/>
								<Entry outShaftSpeed="4000.00" maxTorque="100.00" minTorque="-100.00"/>
							</MaxTorqueCurve>
							<PowerMap>
								<Entry outShaftSpeed="0.00" torque="400.00" electricPower="1000.00"/>
								<Entry outShaftSpeed="0.00" torque="-400.00" electricPower="-1000.00"/>
								<Entry outShaftSpeed="4000.00" torque="4000.00" electricPower="20000.00"/>
								<Entry outShaftSpeed="4000.00" torque="-4000.00" electricPower="-20000.00"/>
							</PowerMap>
						</VoltageLevel>
						<DragCurve>
							<Entry outShaftSpeed="0.00" dragTorque="10.00"/>
							<Entry outShaftSpeed="4000.00" dragTorque="30.00"/>
						</DragCurve>
						<Conditioning circuitId="0">
							<Entry coolantTempInlet="30" coolingPower="5000"/>
						</Conditioning>
					</v2.10.1:Data>
					<v2.10.1:Signature>
						<di:Reference>
							<di:DigestMethod Algorithm=""/>
							<di:DigestValue/>
						</di:Reference>
					</v2.10.1:Signature>
				</ElectricMachineSystem>
				<P2.5GearRatios><!-- only for P2.5 HEV -->
					<Ratio gear="1">1.000</Ratio>
					<Ratio gear="2">2.000</Ratio>
				</P2.5GearRatios>
			</ElectricMachine>
			<ElectricEnergyStorage>
				<Battery>
					<StringID>0</StringID>
					<REESS>
						<v2.10.2:Data id="BAT-asdf" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1">
							<Manufacturer>a</Manufacturer>
							<Model>a</Model>
							<CertificationNumber>tokena</CertificationNumber>
							<Date>2017-01-01T00:00:00Z</Date>
							<AppVersion>aaaaa</AppVersion>
							<CertificationMethod>Measured</CertificationMethod>
							<BatteryType>HPBS</BatteryType>
							<RatedCapacity>72.00</RatedCapacity>
							<ConnectorsSubsystemsIncluded>true</ConnectorsSubsystemsIncluded>
							<JunctionboxIncluded>true</JunctionboxIncluded>
							<TestingTemperature>20</TestingTemperature>
							<OCV>
								<Entry SoC="0" OCV="620.00"/>
								<Entry SoC="100" OCV="640.00"/>
							</OCV>
							<InternalResistance>
								<Entry SoC="0" R_2="10.00" R_10="11.00" R_20="12.00"/>
								<Entry SoC="100" R_2="12.00" R_10="14.00" R_20="16.00"/>
							</InternalResistance>
							<CurrentLimits>
								<Entry SoC="0" maxChargingCurrent="50.00" maxDischargingCurrent="0.00"/>
								<Entry SoC="100" maxChargingCurrent="0.00" maxDischargingCurrent="50.00"/>
							</CurrentLimits>
						</v2.10.2:Data>
						<Signature>
							<di:Reference>
								<di:DigestMethod Algorithm="asf"/>
								<di:DigestValue/>
							</di:Reference>
						</Signature>
					</REESS>
					<SOCmin>20</SOCmin>
					<SOCmax>80</SOCmax>
				</Battery>
				<Battery>
					<StringID>1</StringID>
					<REESS>
						<v2.10.2:Data id="BAT-asdf" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1">
							<Manufacturer>b</Manufacturer>
							<Model>b</Model>
							<CertificationNumber>tokenb</CertificationNumber>
							<Date>2017-02-02T00:00:00Z</Date>
							<AppVersion>bbbbb</AppVersion>
							<CertificationMethod>Measured</CertificationMethod>
							<BatteryType>HPBS</BatteryType>
							<RatedCapacity>73.00</RatedCapacity>
							<ConnectorsSubsystemsIncluded>true</ConnectorsSubsystemsIncluded>
							<JunctionboxIncluded>true</JunctionboxIncluded>
							<TestingTemperature>20</TestingTemperature>
							<OCV>
								<Entry SoC="0" OCV="621.00"/>
								<Entry SoC="100" OCV="641.00"/>
							</OCV>
							<InternalResistance>
								<Entry SoC="0" R_2="11.00" R_10="12.00" R_20="13.00"/>
								<Entry SoC="100" R_2="12.00" R_10="14.00" R_20="16.00"/>
							</InternalResistance>
							<CurrentLimits>
								<Entry SoC="0" maxChargingCurrent="51.00" maxDischargingCurrent="0.00"/>
								<Entry SoC="100" maxChargingCurrent="0.00" maxDischargingCurrent="50.00"/>
							</CurrentLimits>
						</v2.10.2:Data>
						<Signature>
							<di:Reference>
								<di:DigestMethod Algorithm="bsf"/>
								<di:DigestValue/>
							</di:Reference>
						</Signature>
					</REESS>
				</Battery>
			</ElectricEnergyStorage>
			<Gearbox>
				<v2.0:Data id="gbx-vi2Oak2N" xsi:type="v2.0:GearboxDataDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
					<Manufacturer>Generic Gearbox Manufacturer</Manufacturer>
					<Model>Generic 40t Long Haul Truck Gearbox</Model>
					<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
					<Date>2017-01-11T11:00:00Z</Date>
					<AppVersion>3.0.1</AppVersion>
					<TransmissionType>AMT</TransmissionType>
					<MainCertificationMethod>Standard values</MainCertificationMethod>
					<Gears xsi:type="GearsDeclarationType">
						<Gear number="1">
							<Ratio>14.930</Ratio>
							<MaxTorque>1900</MaxTorque>
							<MaxSpeed>2000</MaxSpeed>
							<TorqueLossMap>
								<Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/>
								<Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/>
								<Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/>
								<Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/>
								<Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/>
								<Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/>
							</TorqueLossMap>
						</Gear>
						<Gear number="2">
							<Ratio>11.640</Ratio>
							<MaxTorque>1900</MaxTorque>
							<MaxSpeed>2000</MaxSpeed>
							<TorqueLossMap>
								<Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/>
								<Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/>
								<Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/>
								<Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/>
								<Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/>
								<Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/>
							</TorqueLossMap>
						</Gear>
					</Gears>
				</v2.0:Data>
				<v2.0:Signature>
					<di:Reference URI="#gbx-vi2Oak2N">
						<di:Transforms>
							<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
							<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
						</di:Transforms>
						<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
						<di:DigestValue>ieNmjofFObDBGnB7+GX9of3HYe3ydK/ra+YvmULVJIk=</di:DigestValue>
					</di:Reference>
				</v2.0:Signature>
			</Gearbox>
			<TorqueConverter><!-- optional -->
				<v2.0:Data xsi:type="v1.0:TorqueConverterDataDeclarationType" id="TQ-1234" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0">
					<Manufacturer>Some Manufacturer</Manufacturer>
					<Model>Some Model</Model>
					<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
					<Date>2017-02-15T11:00:00Z</Date>
					<AppVersion>TC CalcApp 123</AppVersion>
					<CertificationMethod>Standard values</CertificationMethod>
					<Characteristics>
						<Entry speedRatio="0.0000" torqueRatio="1.00" inputTorqueRef="300.00"/>
						<Entry speedRatio="0.5000" torqueRatio="1.00" inputTorqueRef="200.00"/>
						<Entry speedRatio="0.9000" torqueRatio="0.90" inputTorqueRef="200.00"/>
					</Characteristics>
				</v2.0:Data>
				<v2.0:Signature>
					<di:Reference>
						<di:DigestMethod Algorithm=""></di:DigestMethod>
						<di:DigestValue></di:DigestValue>
					</di:Reference>
				</v2.0:Signature>
			</TorqueConverter>
			<Axlegear>
				<v2.0:Data id="AXL-EC3ohnoh" xsi:type="v2.0:AxlegearDataDeclarationType"  xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
					<Manufacturer>Generic Gearbox Manufacturer</Manufacturer>
					<Model>Generic 40t Long Haul Truck AxleGear</Model>
					<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
					<Date>2017-01-11T11:00:00Z</Date>
					<AppVersion>3.0.1</AppVersion>
					<LineType>Single portal axle</LineType>
					<Ratio>2.590</Ratio>
					<CertificationMethod>Standard values</CertificationMethod>
					<TorqueLossMap>
						<Entry inputSpeed="0.00" inputTorque="-5000.00" torqueLoss="115.00"/>
						<Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="40.00"/>
						<Entry inputSpeed="0.00" inputTorque="15000.00" torqueLoss="265.00"/>
						<Entry inputSpeed="2100.00" inputTorque="-5000.00" torqueLoss="115.00"/>
						<Entry inputSpeed="2100.00" inputTorque="0.00" torqueLoss="40.00"/>
						<Entry inputSpeed="2100.00" inputTorque="35000.00" torqueLoss="565.00"/>
					</TorqueLossMap>
				</v2.0:Data>
				<v2.0:Signature>
					<di:Reference URI="#AXL-EC3ohnoh">
						<di:Transforms>
							<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
							<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
						</di:Transforms>
						<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
						<di:DigestValue>o4nYTajmWKaduxys5ShmnfJbYd23rpxZ01JbuG6dmzU=</di:DigestValue>
					</di:Reference>
				</v2.0:Signature>
			</Axlegear>
			<AxleWheels>
				<v2.0:Data xsi:type="v2.0:AxleWheelsDataDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
					<Axles>
						<Axle axleNumber="1" xsi:type="AxleDataDeclarationType">
							<AxleType>VehicleNonDriven</AxleType>
							<TwinTyres>false</TwinTyres>
							<Steered>true</Steered>
							<Tyre>
								<Data id="WHL-5432198760-315-70-R22.5" xsi:type="TyreDataDeclarationType">
									<Manufacturer>Generic Wheels Manufacturer</Manufacturer>
									<Model>Generic Wheel</Model>
									<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
									<Date>2017-01-11T14:00:00Z</Date>
									<AppVersion>Tyre Generation App 1.0</AppVersion>
									<Dimension>315/70 R22.5</Dimension>
									<RRCDeclared>0.0055</RRCDeclared>
									<FzISO>31300</FzISO>
								</Data>
								<Signature>
									<di:Reference URI="#WHL-5432198760-315-70-R22.5">
										<di:Transforms>
											<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
											<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
										</di:Transforms>
										<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
										<di:DigestValue>4TkUGQTX8tevHOU9Cj9uyCFuI/aqcEYlo/gyVjVQmv0=</di:DigestValue>
									</di:Reference>
								</Signature>
							</Tyre>
						</Axle>
						<Axle axleNumber="2" xsi:type="AxleDataDeclarationType">
							<AxleType>VehicleDriven</AxleType>
							<TwinTyres>true</TwinTyres>
							<Steered>false</Steered>
							<Tyre>
								<Data id="WHL-5432198760-315-70-R22.5" xsi:type="TyreDataDeclarationType">
									<Manufacturer>Generic Wheels Manufacturer</Manufacturer>
									<Model>Generic Wheel</Model>
									<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
									<Date>2017-01-11T14:00:00Z</Date>
									<AppVersion>Tyre Generation App 1.0</AppVersion>
									<Dimension>315/70 R22.5</Dimension>
									<RRCDeclared>0.0063</RRCDeclared>
									<FzISO>31300</FzISO>
								</Data>
								<Signature>
									<di:Reference URI="#WHL-5432198760-315-70-R22.5">
										<di:Transforms>
											<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
											<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
										</di:Transforms>
										<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
										<di:DigestValue>KljvtvGUUQ/L7MiLVAqU+bckL5PNDNNwdeLH9kUVrfM=</di:DigestValue>
									</di:Reference>
								</Signature>
							</Tyre>
						</Axle>
					</Axles>
				</v2.0:Data>
			</AxleWheels>
			<Auxiliaries>
				<Data xsi:type="AUX_HEV-P_LorryDataType">
					<Fan>
						<Technology>Hydraulic driven - Constant displacement pump</Technology>
					</Fan>
					<SteeringPump>
						<Technology axleNumber="1">Variable displacement elec. controlled</Technology>
					</SteeringPump>
					<ElectricSystem>
						<Technology>Standard technology - LED headlights, all</Technology>
					</ElectricSystem>
					<PneumaticSystem>
						<Technology>Medium Supply 2-stage</Technology>
					</PneumaticSystem>
					<HVAC>
						<Technology>Default</Technology>
					</HVAC>
				</Data>
			</Auxiliaries>
		</Components>
	</v2.0:Vehicle>
</tns:VectoInputDeclaration>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
<tns:VectoInputDeclaration xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="2.0" xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob V:\VectoCore\VectoCore\Resources\XSD/VectoDeclarationJob.xsd" xmlns:v1.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:v2.6="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6" xmlns:v2.10.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1" xmlns:v2.10.2="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.2">
	<v2.0:Vehicle xsi:type="Vehicle_HEV-Px_HeavyLorryDeclarationType" id="a">
		<Manufacturer>TU Graz</Manufacturer>
		<ManufacturerAddress>Inffeldgasse 19</ManufacturerAddress>
		<Model>HEV Heavy Lorry Px</Model>
		<VIN>1234</VIN>
		<Date>2017-01-01T00:00:00Z</Date>
		<LegislativeCategory>N3</LegislativeCategory>
		<ChassisConfiguration>Rigid Lorry</ChassisConfiguration>
		<AxleConfiguration>4x2</AxleConfiguration>
		<CorrectedActualMass>6000</CorrectedActualMass>
		<TechnicalPermissibleMaximumLadenMass>12000</TechnicalPermissibleMaximumLadenMass>
		<IdlingSpeed>650</IdlingSpeed>
		<RetarderType>None</RetarderType>
		<RetarderRatio>12.000</RetarderRatio>
		<AngledriveType>None</AngledriveType>
		<PTO xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="v2.0:PTOType">
			<v2.0:PTOShaftsGearWheels>none</v2.0:PTOShaftsGearWheels>
			<v2.0:PTOOtherElements>none</v2.0:PTOOtherElements>
		</PTO>
		<ZeroEmissionVehicle>false</ZeroEmissionVehicle>
		<VocationalVehicle>false</VocationalVehicle>
		<SleeperCab>false</SleeperCab>
		<VehicleTypeApprovalNumber>ASDF</VehicleTypeApprovalNumber>
		<ArchitectureID>P2.5</ArchitectureID>
		<OvcHev>false</OvcHev>
		<MaxChargingPower>11</MaxChargingPower>
		<ADAS xsi:type="ADAS_HEV_Type">
			<v2.10.2:EngineStopStart>true</v2.10.2:EngineStopStart>
			<v2.10.2:PredictiveCruiseControl>1,2,3</v2.10.2:PredictiveCruiseControl>
		</ADAS>
		<Components xsi:type="Components_HEV-Px_LorryType">
			<Engine>
				<v2.0:Data xsi:type="v1.0:EngineDataDeclarationType" id="ENG-gooZah3D" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0">
					<Manufacturer>Generic Engine Manufacturer</Manufacturer>
					<Model>Generic 40t Long Haul Truck Engine</Model>
					<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
					<Date>2017-02-15T11:00:00Z</Date>
					<AppVersion>VectoEngine x.y</AppVersion>
					<Displacement>12730</Displacement>
					<IdlingSpeed>560</IdlingSpeed>
					<RatedSpeed>2200</RatedSpeed>
					<RatedPower>380000</RatedPower>
					<MaxEngineTorque>2300</MaxEngineTorque>
					<WHTCUrban>1.0097</WHTCUrban>
					<WHTCRural>1.0035</WHTCRural>
					<WHTCMotorway>1.0200</WHTCMotorway>
					<BFColdHot>1.0000</BFColdHot>
					<CFRegPer>1.0000</CFRegPer>
					<CFNCV>1.0000</CFNCV>
					<FuelType>NG</FuelType>
					<FuelConsumptionMap>
						<Entry engineSpeed="560.00" torque="-149.00" fuelConsumption="0.00"/>
						<Entry engineSpeed="560.00" torque="1180.00" fuelConsumption="12869.00"/>
						<Entry engineSpeed="2100.00" torque="-320.00" fuelConsumption="0.00"/>
						<Entry engineSpeed="2100.00" torque="1100.00" fuelConsumption="50653.00"/>
					</FuelConsumptionMap>
					<FullLoadAndDragCurve>
						<Entry engineSpeed="560.00" maxTorque="1180.00" dragTorque="-149.00"/>
						<Entry engineSpeed="1800.00" maxTorque="1800.00" dragTorque="-300.00"/>
						<Entry engineSpeed="2100.00" maxTorque="1100.00" dragTorque="-320.00"/>
					</FullLoadAndDragCurve>
				</v2.0:Data>
				<v2.0:Signature>
					<di:Reference>
						<di:DigestMethod Algorithm=""/>
						<di:DigestValue/>
					</di:Reference>
				</v2.0:Signature>
			</Engine>
			<ElectricMachine>
				<PowertrainPosition>2</PowertrainPosition>
				<Count>1</Count>
				<ElectricMachineSystem>
					<v2.10.1:Data xsi:type="v2.10.1:ElectricMachineSystemMeasuredDataDeclarationType" id="EM-1234" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1">
						<Manufacturer>a</Manufacturer>
						<Model>a</Model>
						<CertificationNumber>token</CertificationNumber>
						<Date>2017-01-01T00:00:00Z</Date>
						<AppVersion>aaaaa</AppVersion>
						<ElectricMachineType>ASM</ElectricMachineType>
						<CertificationMethod>Measured</CertificationMethod>
						<R85RatedPower>1</R85RatedPower>
						<RotationalInertia>0.10</RotationalInertia>
						<ContinuousTorque>200.00</ContinuousTorque>
						<TestSpeedContinuousTorque>2000.00</TestSpeedContinuousTorque>
						<OverloadTorque>400.00</OverloadTorque>
						<TestSpeedOverloadTorque>2000.00</TestSpeedOverloadTorque>
						<OverloadDuration>30.00</OverloadDuration>
						<TestVoltageOverload>483</TestVoltageOverload>
						<DcDcConverterIncluded>true</DcDcConverterIncluded>
						<IHPCType>None</IHPCType>
						<VoltageLevel>
							<Voltage>400</Voltage>
							<MaxTorqueCurve>
								<Entry outShaftSpeed="0.00" maxTorque="450.00" minTorque="-450.00"/>
								<Entry outShaftSpeed="4000.00" maxTorque="100.00" minTorque="-100.00"/>
							</MaxTorqueCurve>
							<PowerMap>
								<Entry outShaftSpeed="0.00" torque="400.00" electricPower="1000.00"/>
								<Entry outShaftSpeed="0.00" torque="-400.00" electricPower="-1000.00"/>
								<Entry outShaftSpeed="4000.00" torque="4000.00" electricPower="20000.00"/>
								<Entry outShaftSpeed="4000.00" torque="-4000.00" electricPower="-20000.00"/>
							</PowerMap>
						</VoltageLevel>
						<VoltageLevel>
							<Voltage>600</Voltage>
							<MaxTorqueCurve>
								<Entry outShaftSpeed="0.00" maxTorque="450.00" minTorque="-450.00"/>
								<Entry outShaftSpeed="4000.00" maxTorque="100.00" minTorque="-100.00"/>
							</MaxTorqueCurve>
							<PowerMap>
								<Entry outShaftSpeed="0.00" torque="400.00" electricPower="1000.00"/>
								<Entry outShaftSpeed="0.00" torque="-400.00" electricPower="-1000.00"/>
								<Entry outShaftSpeed="4000.00" torque="4000.00" electricPower="20000.00"/>
								<Entry outShaftSpeed="4000.00" torque="-4000.00" electricPower="-20000.00"/>
							</PowerMap>
						</VoltageLevel>
						<DragCurve>
							<Entry outShaftSpeed="0.00" dragTorque="10.00"/>
							<Entry outShaftSpeed="4000.00" dragTorque="30.00"/>
						</DragCurve>
						<Conditioning circuitId="0">
							<Entry coolantTempInlet="30" coolingPower="5000"/>
						</Conditioning>
					</v2.10.1:Data>
					<v2.10.1:Signature>
						<di:Reference>
							<di:DigestMethod Algorithm=""/>
							<di:DigestValue/>
						</di:Reference>
					</v2.10.1:Signature>
				</ElectricMachineSystem>
				<P2.5GearRatios><!-- only for P2.5 HEV -->
					<Ratio gear="1">1.000</Ratio>
					<Ratio gear="2">2.000</Ratio>
				</P2.5GearRatios>
			</ElectricMachine>
			<ElectricEnergyStorage>
				<Battery>
					<StringID>0</StringID>
					<REESS>
						<v2.10.2:Data id="BAT-asdf" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1">
							<Manufacturer>a</Manufacturer>
							<Model>a</Model>
							<CertificationNumber>tokena</CertificationNumber>
							<Date>2017-01-01T00:00:00Z</Date>
							<AppVersion>aaaaa</AppVersion>
							<CertificationMethod>Measured</CertificationMethod>
							<BatteryType>HPBS</BatteryType>
							<RatedCapacity>72.00</RatedCapacity>
							<ConnectorsSubsystemsIncluded>true</ConnectorsSubsystemsIncluded>
							<JunctionboxIncluded>true</JunctionboxIncluded>
							<TestingTemperature>20</TestingTemperature>
							<OCV>
								<Entry SoC="0" OCV="620.00"/>
								<Entry SoC="100" OCV="640.00"/>
							</OCV>
							<InternalResistance>
								<Entry SoC="0" R_2="10.00" R_10="11.00" R_20="12.00"/>
								<Entry SoC="100" R_2="12.00" R_10="14.00" R_20="16.00"/>
							</InternalResistance>
							<CurrentLimits>
								<Entry SoC="0" maxChargingCurrent="50.00" maxDischargingCurrent="0.00"/>
								<Entry SoC="100" maxChargingCurrent="0.00" maxDischargingCurrent="50.00"/>
							</CurrentLimits>
						</v2.10.2:Data>
						<Signature>
							<di:Reference>
								<di:DigestMethod Algorithm="asf"/>
								<di:DigestValue/>
							</di:Reference>
						</Signature>
					</REESS>
					<SOCmin>20</SOCmin>
					<SOCmax>80</SOCmax>
				</Battery>
				<Battery>
					<StringID>1</StringID>
					<REESS>
						<v2.10.2:Data id="BAT-asdf" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1">
							<Manufacturer>b</Manufacturer>
							<Model>b</Model>
							<CertificationNumber>tokenb</CertificationNumber>
							<Date>2017-02-02T00:00:00Z</Date>
							<AppVersion>bbbbb</AppVersion>
							<CertificationMethod>Measured</CertificationMethod>
							<BatteryType>HPBS</BatteryType>
							<RatedCapacity>73.00</RatedCapacity>
							<ConnectorsSubsystemsIncluded>true</ConnectorsSubsystemsIncluded>
							<JunctionboxIncluded>true</JunctionboxIncluded>
							<TestingTemperature>20</TestingTemperature>
							<OCV>
								<Entry SoC="0" OCV="621.00"/>
								<Entry SoC="100" OCV="641.00"/>
							</OCV>
							<InternalResistance>
								<Entry SoC="0" R_2="11.00" R_10="12.00" R_20="13.00"/>
								<Entry SoC="100" R_2="12.00" R_10="14.00" R_20="16.00"/>
							</InternalResistance>
							<CurrentLimits>
								<Entry SoC="0" maxChargingCurrent="51.00" maxDischargingCurrent="0.00"/>
								<Entry SoC="100" maxChargingCurrent="0.00" maxDischargingCurrent="50.00"/>
							</CurrentLimits>
						</v2.10.2:Data>
						<Signature>
							<di:Reference>
								<di:DigestMethod Algorithm="bsf"/>
								<di:DigestValue/>
							</di:Reference>
						</Signature>
					</REESS>
				</Battery>
			</ElectricEnergyStorage>
			<Gearbox>
				<v2.0:Data id="gbx-vi2Oak2N" xsi:type="v2.0:GearboxDataDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
					<Manufacturer>Generic Gearbox Manufacturer</Manufacturer>
					<Model>Generic 40t Long Haul Truck Gearbox</Model>
					<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
					<Date>2017-01-11T11:00:00Z</Date>
					<AppVersion>3.0.1</AppVersion>
					<TransmissionType>AMT</TransmissionType>
					<MainCertificationMethod>Standard values</MainCertificationMethod>
					<Gears xsi:type="GearsDeclarationType">
						<Gear number="1">
							<Ratio>14.930</Ratio>
							<MaxTorque>1900</MaxTorque>
							<MaxSpeed>2000</MaxSpeed>
							<TorqueLossMap>
								<Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/>
								<Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/>
								<Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/>
								<Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/>
								<Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/>
								<Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/>
							</TorqueLossMap>
						</Gear>
						<Gear number="2">
							<Ratio>11.640</Ratio>
							<MaxTorque>1900</MaxTorque>
							<MaxSpeed>2000</MaxSpeed>
							<TorqueLossMap>
								<Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/>
								<Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/>
								<Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/>
								<Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/>
								<Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/>
								<Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/>
							</TorqueLossMap>
						</Gear>
					</Gears>
				</v2.0:Data>
				<v2.0:Signature>
					<di:Reference URI="#gbx-vi2Oak2N">
						<di:Transforms>
							<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
							<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
						</di:Transforms>
						<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
						<di:DigestValue>ieNmjofFObDBGnB7+GX9of3HYe3ydK/ra+YvmULVJIk=</di:DigestValue>
					</di:Reference>
				</v2.0:Signature>
			</Gearbox>
			<TorqueConverter><!-- optional -->
				<v2.0:Data xsi:type="v1.0:TorqueConverterDataDeclarationType" id="TQ-1234" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0">
					<Manufacturer>Some Manufacturer</Manufacturer>
					<Model>Some Model</Model>
					<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
					<Date>2017-02-15T11:00:00Z</Date>
					<AppVersion>TC CalcApp 123</AppVersion>
					<CertificationMethod>Standard values</CertificationMethod>
					<Characteristics>
						<Entry speedRatio="0.0000" torqueRatio="1.00" inputTorqueRef="300.00"/>
						<Entry speedRatio="0.5000" torqueRatio="1.00" inputTorqueRef="200.00"/>
						<Entry speedRatio="0.9000" torqueRatio="0.90" inputTorqueRef="200.00"/>
					</Characteristics>
				</v2.0:Data>
				<v2.0:Signature>
					<di:Reference>
						<di:DigestMethod Algorithm=""></di:DigestMethod>
						<di:DigestValue></di:DigestValue>
					</di:Reference>
				</v2.0:Signature>
			</TorqueConverter>
			<Axlegear>
				<v2.0:Data id="AXL-EC3ohnoh" xsi:type="v2.0:AxlegearDataDeclarationType"  xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
					<Manufacturer>Generic Gearbox Manufacturer</Manufacturer>
					<Model>Generic 40t Long Haul Truck AxleGear</Model>
					<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
					<Date>2017-01-11T11:00:00Z</Date>
					<AppVersion>3.0.1</AppVersion>
					<LineType>Single portal axle</LineType>
					<Ratio>2.590</Ratio>
					<CertificationMethod>Standard values</CertificationMethod>
					<TorqueLossMap>
						<Entry inputSpeed="0.00" inputTorque="-5000.00" torqueLoss="115.00"/>
						<Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="40.00"/>
						<Entry inputSpeed="0.00" inputTorque="15000.00" torqueLoss="265.00"/>
						<Entry inputSpeed="2100.00" inputTorque="-5000.00" torqueLoss="115.00"/>
						<Entry inputSpeed="2100.00" inputTorque="0.00" torqueLoss="40.00"/>
						<Entry inputSpeed="2100.00" inputTorque="35000.00" torqueLoss="565.00"/>
					</TorqueLossMap>
				</v2.0:Data>
				<v2.0:Signature>
					<di:Reference URI="#AXL-EC3ohnoh">
						<di:Transforms>
							<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
							<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
						</di:Transforms>
						<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
						<di:DigestValue>o4nYTajmWKaduxys5ShmnfJbYd23rpxZ01JbuG6dmzU=</di:DigestValue>
					</di:Reference>
				</v2.0:Signature>
			</Axlegear>
			<AxleWheels>
				<v2.0:Data xsi:type="v2.0:AxleWheelsDataDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
					<Axles>
						<Axle axleNumber="1" xsi:type="AxleDataDeclarationType">
							<AxleType>VehicleNonDriven</AxleType>
							<TwinTyres>false</TwinTyres>
							<Steered>true</Steered>
							<Tyre>
								<Data id="WHL-5432198760-315-70-R22.5" xsi:type="TyreDataDeclarationType">
									<Manufacturer>Generic Wheels Manufacturer</Manufacturer>
									<Model>Generic Wheel</Model>
									<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
									<Date>2017-01-11T14:00:00Z</Date>
									<AppVersion>Tyre Generation App 1.0</AppVersion>
									<Dimension>315/70 R22.5</Dimension>
									<RRCDeclared>0.0055</RRCDeclared>
									<FzISO>31300</FzISO>
								</Data>
								<Signature>
									<di:Reference URI="#WHL-5432198760-315-70-R22.5">
										<di:Transforms>
											<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
											<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
										</di:Transforms>
										<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
										<di:DigestValue>4TkUGQTX8tevHOU9Cj9uyCFuI/aqcEYlo/gyVjVQmv0=</di:DigestValue>
									</di:Reference>
								</Signature>
							</Tyre>
						</Axle>
						<Axle axleNumber="2" xsi:type="AxleDataDeclarationType">
							<AxleType>VehicleDriven</AxleType>
							<TwinTyres>true</TwinTyres>
							<Steered>false</Steered>
							<Tyre>
								<Data id="WHL-5432198760-315-70-R22.5" xsi:type="TyreDataDeclarationType">
									<Manufacturer>Generic Wheels Manufacturer</Manufacturer>
									<Model>Generic Wheel</Model>
									<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
									<Date>2017-01-11T14:00:00Z</Date>
									<AppVersion>Tyre Generation App 1.0</AppVersion>
									<Dimension>315/70 R22.5</Dimension>
									<RRCDeclared>0.0063</RRCDeclared>
									<FzISO>31300</FzISO>
								</Data>
								<Signature>
									<di:Reference URI="#WHL-5432198760-315-70-R22.5">
										<di:Transforms>
											<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
											<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
										</di:Transforms>
										<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
										<di:DigestValue>KljvtvGUUQ/L7MiLVAqU+bckL5PNDNNwdeLH9kUVrfM=</di:DigestValue>
									</di:Reference>
								</Signature>
							</Tyre>
						</Axle>
					</Axles>
				</v2.0:Data>
			</AxleWheels>
			<Auxiliaries>
				<Data xsi:type="AUX_HEV-P_LorryDataType">
					<Fan>
						<Technology>Hydraulic driven - Constant displacement pump</Technology>
					</Fan>
					<SteeringPump>
						<Technology axleNumber="1">Variable displacement elec. controlled</Technology>
					</SteeringPump>
					<ElectricSystem>
						<Technology>Standard technology - LED headlights, all</Technology>
					</ElectricSystem>
					<PneumaticSystem>
						<Technology>Medium Supply 2-stage</Technology>
					</PneumaticSystem>
					<HVAC>
						<Technology>Default</Technology>
					</HVAC>
				</Data>
			</Auxiliaries>
		</Components>
	</v2.0:Vehicle>
</tns:VectoInputDeclaration>
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/Utils/MockDeclarationVehicleInputData.cs b/VectoCore/VectoCoreTest/Utils/MockDeclarationVehicleInputData.cs
index 55fd11c660..8a6b554596 100644
--- a/VectoCore/VectoCoreTest/Utils/MockDeclarationVehicleInputData.cs
+++ b/VectoCore/VectoCoreTest/Utils/MockDeclarationVehicleInputData.cs
@@ -68,6 +68,9 @@ namespace TUGraz.VectoCore.Tests.Utils {
 		public IVehicleComponentsDeclaration Components => this;
 		public XmlNode XMLSource { get; }
 		public string VehicleTypeApprovalNumber { get; }
+		public ArchitectureID ArchitectureID { get; }
+		public bool OvcHev { get; }
+		public Watt MaxChargingPower { get; }
 
 		#endregion
 
@@ -139,6 +142,9 @@ namespace TUGraz.VectoCore.Tests.Utils {
 
 		public XmlNode XMLSource { get; }
 		public string VehicleTypeApprovalNumber { get; }
+		public ArchitectureID ArchitectureID { get; }
+		public bool OvcHev { get; }
+		public Watt MaxChargingPower { get; }
 
 		public IVehicleComponentsEngineering Components => this;
 		public string Identifier { get; }
diff --git a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210VehicleDataTest.cs b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210VehicleDataTest.cs
index 175f6443c3..f238ba950c 100644
--- a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210VehicleDataTest.cs
+++ b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210VehicleDataTest.cs
@@ -96,5 +96,32 @@ namespace TUGraz.VectoCore.Tests.XML
 			Assert.AreEqual(AngledriveType.None, vehicle.AngledriveType);
 			Assert.AreEqual(false, vehicle.ZeroEmissionVehicle);
 		}
+		
+
+		[TestCase(@"HEV_heavyLorry_AMT_Px_n_opt.xml", Optional_TESTS_DIR)]
+		public void TestHEVHeavyLorryPxVehicleData(string jobfile, string testDir)
+		{
+			var vehicle = ReadVehicleData(jobfile, testDir);
+
+			Assert.NotNull(vehicle);
+			Assert.AreEqual(LegislativeClass.N3, vehicle.LegislativeClass);
+			Assert.AreEqual(VehicleCategory.RigidTruck, vehicle.VehicleCategory);
+			Assert.AreEqual(AxleConfiguration.AxleConfig_4x2, vehicle.AxleConfiguration);
+			Assert.AreEqual(6000.SI<Kilogram>(), vehicle.CurbMassChassis);
+			Assert.AreEqual(12000.SI<Kilogram>(), vehicle.GrossVehicleMassRating);
+			Assert.AreEqual(650.00.RPMtoRad(), vehicle.EngineIdleSpeed);
+			Assert.AreEqual(RetarderType.None, vehicle.RetarderType);
+			Assert.AreEqual(12.000, vehicle.RetarderRatio);
+			Assert.AreEqual(AngledriveType.None, vehicle.AngledriveType);
+			Assert.IsNotNull(vehicle.PTOTransmissionInputData);
+			Assert.AreEqual(false, vehicle.ZeroEmissionVehicle);
+			Assert.AreEqual(false, vehicle.VocationalVehicle);
+			Assert.IsNull(vehicle.TankSystem);
+			Assert.AreEqual(false, vehicle.SleeperCab);
+			Assert.AreEqual("ASDF", vehicle.VehicleTypeApprovalNumber);
+			Assert.AreEqual(ArchitectureID.P2_5, vehicle.ArchitectureID);
+			Assert.AreEqual(false, vehicle.OvcHev);
+			Assert.AreEqual(11.SI<Watt>(), vehicle.MaxChargingPower);
+		}
 	}
 }
-- 
GitLab