package com.njcn.advance.model.responsibility;


import lombok.Data;

import java.io.Serializable;

@Data
public class QvvrDataEntity implements Serializable {

    public static final int MAX_P_NODE= 200; //功率节点个数限制，按200个限制
    public static final int MAX_P_NUM= 96 * 100; //功率数据按15分钟间隔，100天处理
    public static final int MAX_HARM_NUM= 1440 * 100; //谐波数据按一分钟间隔，100天处理
    public static final int MAX_WIN_LEN=96 * 10; //按15分钟算10天
    public static final int MIN_WIN_LEN = 4; //按15分钟算1小时


    //输入参数
    public int calFlag; //计算标志，0默认用电压和功率数据计算相关系数和责任，1用代入的动态相关系数计算责任
    public int harmNum;     //谐波数据个数
    public int pNum;        //功率数据个数
    public int pNode;       //功率负荷节点数
    public int win;          //数据窗大小
    public int resNum;      //代入的责任数据个数
    public float harmMk;             //谐波电压门槛
    public float harmData[];           //谐波数据序列
    public float [][] pData;  //功率数据序列
    public float [][] simData;    //动态相关系数数据序列，可作为输入或者输出
    public float [][] fKData;      //不包含背景动态谐波责任数据序列，可作为输入或者输出
    public float [][] hKData;    //包含背景动态谐波责任数据序列，可作为输入或者输出
    public float [] core;                    //典则相关系数
    public float [] bjCore;                  //包含背景典则相关系数

    //输出结果
    public int calOk;  //是否计算正确标志，置位0表示未计算，置位1表示计算完成
    public float [] sumFKdata;//不包含背景谐波责任
    public float [] sumHKdata;//包含背景谐波责任

    public QvvrDataEntity() {
        calFlag = 0;
        harmData = new float[MAX_HARM_NUM];
        pData = new float[MAX_P_NUM][MAX_P_NODE];
        simData = new float[MAX_P_NUM][MAX_P_NODE];
        fKData = new float[MAX_P_NUM][MAX_P_NODE];
        hKData = new float[MAX_P_NUM][MAX_P_NODE+1];
        core = new float[MAX_P_NUM];
        bjCore = new float[MAX_P_NUM];
        sumFKdata = new float[MAX_P_NODE];
        sumHKdata = new float[MAX_P_NODE + 1];
    }



}
