00001
00002
00003
00004 #ifndef _POWER_METRICS_H
00005 #define _POWER_METRICS_H
00006
00007 #include "powerflow.h"
00008 #include "powerflow_library.h"
00009
00010 class power_metrics : public powerflow_library
00011 {
00012 public:
00013 static CLASS *oclass;
00014 static CLASS *pclass;
00015 public:
00016
00017 power_metrics(MODULE *mod);
00018 inline power_metrics(CLASS *cl=oclass):powerflow_library(cl){};
00019 int create(void);
00020 int init(OBJECT *parent=NULL);
00021 int isa(char *classname);
00022 void calc_SAIFI(void);
00023 void calc_SAIDI(void);
00024 void calc_CAIDI(void);
00025 void calc_ASAI(void);
00026 void calc_MAIFI(void);
00027 double SAIFI;
00028 double SAIDI;
00029 double CAIDI;
00030 double ASAI;
00031 double MAIFI;
00032 double SAIFI_int;
00033 double SAIDI_int;
00034 double CAIDI_int;
00035 double ASAI_int;
00036 double MAIFI_int;
00037 void perform_rel_calcs(int number_int, int number_int_secondary, int total_cust, TIMESTAMP rest_time_val, TIMESTAMP base_time_val);
00038 void reset_metrics_variables(bool annual_metrics);
00039 void check_fault_check(void);
00040 int num_cust_interrupted;
00041 int num_cust_momentary_interrupted;
00042 int num_cust_total;
00043 TIMESTAMP outage_length;
00044 double outage_length_normalized;
00045 double stat_base_time_value;
00046 OBJECT *rel_metrics;
00047 private:
00048 bool is_fault_check_tested;
00049 double SAIFI_num;
00050 double SAIDI_num;
00051 double ASAI_num;
00052 double MAIFI_num;
00053 double SAIFI_num_int;
00054 double SAIDI_num_int;
00055 double ASAI_num_int;
00056 double MAIFI_num_int;
00057 };
00058
00059 EXPORT int calc_pfmetrics(OBJECT *callobj, OBJECT *calcobj, int number_int, int number_int_secondary, int total_customers, TIMESTAMP rest_time_val, TIMESTAMP base_time_val);
00060 EXPORT int reset_pfinterval_metrics(OBJECT *callobj, OBJECT *calcobj);
00061 EXPORT int reset_pfannual_metrics(OBJECT *callobj, OBJECT *calcobj);
00062 EXPORT STATUS init_pf_reliability_extra(OBJECT *myhdr, OBJECT *callhdr);
00063 EXPORT int logfile_extra(OBJECT *myhdr, char *BufferArray);
00064
00065 #endif // _POWER_METRICS_H