// C++ code Copyright (C) David R. Evans G4AMJ/NQ0I #ifndef BINNEDEDRH #define BINNEDEDRH #include #include #include #include // binned edr class class GMDR; class binned_edr { enum { array_size = 200 }; byte* binned_record, *polarisation_record, *l_data, *r_data; public: static float pseudo_watts[256]; static boolean valid_data[256]; public: binned_edr(void); ~binned_edr(void); int operator=(const GMDR&); void operator=(const binned_edr&); inline byte bdatum(const int c) const { return binned_record[c - 1]; } inline byte pdatum(const int c) const { return polarisation_record[c - 1]; } inline byte ldatum(const int c) const { return l_data[c - 1]; } inline byte rdatum(const int c) const { return r_data[c - 1]; } inline void validate(const int n) { valid_data[n] = true; } inline void invalidate(const int n) { valid_data[n] = false; } void write(FILE* fp); void read(FILE* fp); inline int size(void) const { return 4 * array_size; } friend ostream& operator<<(ostream&, binned_edr&); }; #endif