00001 #ifndef MAKESILICONEVENTS_H_ 00002 #define MAKESILICONEVENTS_H_ 00003 00004 #include "BaseModule.h" 00005 #include "IdSource.h" 00006 class TGlobalData; 00007 class TSetupData; 00008 namespace modules {class options;} 00009 00010 namespace{ 00011 namespace LR{ 00012 enum Type{kLeft=0, kRight, kNum}; 00013 const char* str(Type,bool big=false); 00014 const char* str(int e,bool big=false){return str((Type)e, big);} 00015 } 00016 namespace Ch{ 00017 enum Type{k1_1=0, k1_2, k1_3, k1_4, k2, kNum}; 00018 const char* str(Type); 00019 const char* str(int e){return str((Type)e);} 00020 } 00021 } 00022 00036 class MakeSiliconEvents : public BaseModule { 00037 00038 public: 00043 MakeSiliconEvents(modules::options* opts); 00046 ~MakeSiliconEvents(); 00047 00048 private: 00049 const IDs::source& GetTDPSource(const std::string& ch ); 00050 00051 private: 00052 virtual int ProcessEntry(TGlobalData *gData, const TSetupData *gSetup); 00053 virtual int BeforeFirstEntry(TGlobalData* gData,const TSetupData *setup); 00054 virtual int AfterLastEntry(TGlobalData* gData,const TSetupData *setup); 00055 00056 IDs::source fSourceList[LR::kNum][Ch::kNum]; 00057 double fSiWindow; 00058 }; 00059 00060 #endif //MAKESILICONEVENTS_H_