gensig.h
上传用户:jtjnyq9001
上传日期:2014-11-21
资源大小:3974k
文件大小:2k
源码类别:

3G开发

开发平台:

Visual C++

  1. //
  2. //  File = gensig.h
  3. //
  4. #ifndef _GENSIG_H_
  5. #define _GENSIG_H_
  6. #include "vector"
  7. #include "sigstuff.h"
  8. #include <iostream>
  9. #include <fstream>
  10. using namespace std;
  11. //#include "psmodel.h"
  12. class PracSimModel;
  13. //======================================================
  14. class GenericSignal
  15. {
  16. public:
  17.    GenericSignal( char* name, PracSimModel* model );
  18.    ~GenericSignal(void);
  19.    int GetBlockSize();
  20.    int GetValidBlockSize();
  21.    void SetBlockSize(int block_size);
  22.    void SetValidBlockSize(int block_size);
  23.    char* GetName(void);
  24.    double GetSampIntvl(void);
  25.    void SetSampIntvl(double samp_intvl);
  26.    void SetAllocMemDepth( int req_mem_depth );
  27.    virtual void AllocateSignalBuffer(void){};
  28.    GenericSignal* GetId();
  29.    virtual void InitializeReadPtrs(void){};
  30.    virtual void SetupPlotSignal(void){};
  31.    virtual void IssuePlotterData(void){};
  32.    void SetupPlotFile( GenericSignal* sig_id,
  33.                        double start_time,
  34.                        double stop_time,
  35.                        int plot_decim_rate,
  36.                        bool count_vice_time,
  37.                        bool header_desired);
  38.    virtual void PassUpdate(void){};
  39.    double GetTimeAtBeg(void);
  40.    void SetTimeAtBeg(double time_at_beg);
  41.    void SetEnclave(int enclave_num);
  42.    int GetEnclave(void);
  43. protected:
  44.    int Buf_Len;
  45.    int Block_Size;
  46.    int Valid_Block_Size;
  47.    int Prev_Block_Size;
  48.    long Cumul_Samps_Thru_Prev_Block;
  49.    int Alloc_Mem_Depth;
  50.    double Samp_Intvl;
  51.    char* Name;
  52.    PracSimModel* Owning_Model;
  53.    GenericSignal* Root_Id;
  54.    bool Sig_Is_Root;
  55.    double Plot_Start_Time;
  56.    double Plot_Stop_Time;
  57.    int Plot_Decim_Rate;
  58.    ofstream* Plotter_File;
  59.    bool Plotting_Enabled;
  60.    bool Plot_Setup_Complete;
  61.    bool Count_Vice_Time;
  62.    int Start_Sample;
  63.    int Stop_Sample;
  64.    int Plotting_Wakeup;
  65.    int Plotting_Bedtime;
  66.    int Cumul_Samp_Cnt;
  67.    double Time_At_Beg;
  68.    int Enclave_Num;
  69.    std::vector<GenericSignal*> *Connected_Sigs;
  70. };
  71. #endif //_GENSIG_H_