package com.njcn.csharmonic.offline.mincfg.vo;

public class tagPQDataCmnHh //高频谐波结构
{
	private short name; //监测点序号 2
	private short Data_Type; //数据类型 2
	public int DataTag; // 标记 1：暂态标记 2：无效数据
	public RTC_Timer_MS time; // 时标
	//2-9k谐波 2.1kHz / 2.3kHZ … 8.9kHz
	public Float[][] Hharm_rms_list_2_9K; //6-35 谐波有效值序列(Uabc/Iabc)
	public Float[][] Hharm_thd_list_2_9K; //6-35 谐波含有率序列
	public Float[] Hharm_total_rms_2_9K; //6 谐波总有效值
	public Float[] Hharm_total_thd_2_9K; //6 谐波总畸变率
	public Float[] Hharm_max_rms_2_9K; //6 谐波最大有效值
	public Float[] Hharm_max_thd_2_9K; //6 谐波最大畸变率
	public Float[] Hharm_max_freq_2_9K; //6 谐波最大值频点
	//2-150k谐波 2kHz / 4kHz … 150kHz
	public Float[][] Hharm_rms_list_2_150K; //6-75 谐波有效值序列(2-150)
	public Float[][] Hharm_thd_list_2_150K; //6-75 谐波含有率序列
	public Float[] Hharm_total_rms_2_150K; //6 谐波总有效值
	public Float[] Hharm_total_thd_2_150K; //6 谐波总畸变率
	public Float[] Hharm_max_rms_2_150K; //6 谐波最大有效值
	public Float[] Hharm_max_thd_2_150K; //6 谐波最大畸变率
	public Float[] Hharm_max_freq_2_150K; //6 谐波最大值频点
	public static int GetSize()
	{
//C# TO JAVA CONVERTER TODO TASK: There is no Java equivalent to 'sizeof':
		int len = RTC_Timer_MS.GetSize() + 2 * Short.SIZE / Byte.SIZE + 1 * Integer.SIZE / Byte.SIZE + 6 * 35 * 2 *  Float.SIZE / Byte.SIZE+ 6 * 75 * 2 *  Float.SIZE / Byte.SIZE+ 6 * 10 *  Float.SIZE / Byte.SIZE;
		return len;
	}
	public tagPQDataCmnHh()
	{
		time = new RTC_Timer_MS();
		Hharm_rms_list_2_9K = new Float[6][35];
		Hharm_thd_list_2_9K = new Float[6][35];
		Hharm_total_rms_2_9K = new Float[6];
		Hharm_total_thd_2_9K = new Float[6];
		Hharm_max_rms_2_9K = new Float[6];
		Hharm_max_thd_2_9K = new Float[6];
		Hharm_max_freq_2_9K = new Float[6];
		Hharm_rms_list_2_150K = new Float[6][75];
		Hharm_thd_list_2_150K = new Float[6][75];
		Hharm_total_rms_2_150K = new Float[6];
		Hharm_total_thd_2_150K = new Float[6];
		Hharm_max_rms_2_150K = new Float[6];
		Hharm_max_thd_2_150K = new Float[6];
		Hharm_max_freq_2_150K = new Float[6];
	}
	public final boolean SetStructBuf(byte[] bArray, int nHaveRead)
	{
		int nByteSize = bArray.length;
		//int size = GetSize();
		if (nByteSize < GetSize())
		{
			return false;
		}

		int iStep = nHaveRead;
		name = Service.convertInt16_net(bArray, iStep);
//C# TO JAVA CONVERTER TODO TASK: There is no Java equivalent to 'sizeof':
		iStep += Short.SIZE / Byte.SIZE;
		Data_Type = Service.convertInt16_net(bArray, iStep);
//C# TO JAVA CONVERTER TODO TASK: There is no Java equivalent to 'sizeof':
		iStep += Short.SIZE / Byte.SIZE;
		DataTag = Service.convertInt32_net(bArray, iStep);
//C# TO JAVA CONVERTER TODO TASK: There is no Java equivalent to 'sizeof':
		iStep += Integer.SIZE / Byte.SIZE;
		time.SetStructBuf(bArray, iStep);
		iStep += RTC_Timer_MS.GetSize();

		RefObject<Float[][]> tempRef_Hharm_rms_list_2_9K = new RefObject<Float[][]>(Hharm_rms_list_2_9K);
		iStep += Service.convertFloatArrayTwo(bArray, iStep, tempRef_Hharm_rms_list_2_9K);
		Hharm_rms_list_2_9K = tempRef_Hharm_rms_list_2_9K.argvalue;
		RefObject<Float[][]> tempRef_Hharm_thd_list_2_9K = new RefObject<Float[][]>(Hharm_thd_list_2_9K);
		iStep += Service.convertFloatArrayTwo(bArray, iStep, tempRef_Hharm_thd_list_2_9K);
		Hharm_thd_list_2_9K = tempRef_Hharm_thd_list_2_9K.argvalue;
		RefObject<Float[]> tempRef_Hharm_total_rms_2_9K = new RefObject<Float[]>(Hharm_total_rms_2_9K);
		iStep += Service.convertFloatArraySingle(bArray, iStep, tempRef_Hharm_total_rms_2_9K);
		Hharm_total_rms_2_9K = tempRef_Hharm_total_rms_2_9K.argvalue;
		RefObject<Float[]> tempRef_Hharm_total_thd_2_9K = new RefObject<Float[]>(Hharm_total_thd_2_9K);
		iStep += Service.convertFloatArraySingle(bArray, iStep, tempRef_Hharm_total_thd_2_9K);
		Hharm_total_thd_2_9K = tempRef_Hharm_total_thd_2_9K.argvalue;
		RefObject<Float[]> tempRef_Hharm_max_rms_2_9K = new RefObject<Float[]>(Hharm_max_rms_2_9K);
		iStep += Service.convertFloatArraySingle(bArray, iStep, tempRef_Hharm_max_rms_2_9K);
		Hharm_max_rms_2_9K = tempRef_Hharm_max_rms_2_9K.argvalue;
		RefObject<Float[]> tempRef_Hharm_max_thd_2_9K = new RefObject<Float[]>(Hharm_max_thd_2_9K);
		iStep += Service.convertFloatArraySingle(bArray, iStep, tempRef_Hharm_max_thd_2_9K);
		Hharm_max_thd_2_9K = tempRef_Hharm_max_thd_2_9K.argvalue;
		RefObject<Float[]> tempRef_Hharm_max_freq_2_9K = new RefObject<Float[]>(Hharm_max_freq_2_9K);
		iStep += Service.convertFloatArraySingle(bArray, iStep, tempRef_Hharm_max_freq_2_9K);
		Hharm_max_freq_2_9K = tempRef_Hharm_max_freq_2_9K.argvalue;
		RefObject<Float[][]> tempRef_Hharm_rms_list_2_150K = new RefObject<Float[][]>(Hharm_rms_list_2_150K);
		iStep += Service.convertFloatArrayTwo(bArray, iStep, tempRef_Hharm_rms_list_2_150K);
		Hharm_rms_list_2_150K = tempRef_Hharm_rms_list_2_150K.argvalue;
		RefObject<Float[][]> tempRef_Hharm_thd_list_2_150K = new RefObject<Float[][]>(Hharm_thd_list_2_150K);
		iStep += Service.convertFloatArrayTwo(bArray, iStep, tempRef_Hharm_thd_list_2_150K);
		Hharm_thd_list_2_150K = tempRef_Hharm_thd_list_2_150K.argvalue;
		RefObject<Float[]> tempRef_Hharm_total_rms_2_150K = new RefObject<Float[]>(Hharm_total_rms_2_150K);
		iStep += Service.convertFloatArraySingle(bArray, iStep, tempRef_Hharm_total_rms_2_150K);
		Hharm_total_rms_2_150K = tempRef_Hharm_total_rms_2_150K.argvalue;
		RefObject<Float[]> tempRef_Hharm_total_thd_2_150K = new RefObject<Float[]>(Hharm_total_thd_2_150K);
		iStep += Service.convertFloatArraySingle(bArray, iStep, tempRef_Hharm_total_thd_2_150K);
		Hharm_total_thd_2_150K = tempRef_Hharm_total_thd_2_150K.argvalue;
		RefObject<Float[]> tempRef_Hharm_max_rms_2_150K = new RefObject<Float[]>(Hharm_max_rms_2_150K);
		iStep += Service.convertFloatArraySingle(bArray, iStep, tempRef_Hharm_max_rms_2_150K);
		Hharm_max_rms_2_150K = tempRef_Hharm_max_rms_2_150K.argvalue;
		RefObject<Float[]> tempRef_Hharm_max_thd_2_150K = new RefObject<Float[]>(Hharm_max_thd_2_150K);
		iStep += Service.convertFloatArraySingle(bArray, iStep, tempRef_Hharm_max_thd_2_150K);
		Hharm_max_thd_2_150K = tempRef_Hharm_max_thd_2_150K.argvalue;
		RefObject<Float[]> tempRef_Hharm_max_freq_2_150K = new RefObject<Float[]>(Hharm_max_freq_2_150K);
		iStep += Service.convertFloatArraySingle(bArray, iStep, tempRef_Hharm_max_freq_2_150K);
		Hharm_max_freq_2_150K = tempRef_Hharm_max_freq_2_150K.argvalue;
		return true;
	}
}
//高频谐波结构
//C# TO JAVA CONVERTER TODO TASK: There is no preprocessor in Java:
///#endregion
