#ifndef BOARD_SETTING_H #define BOARD_SETTING_H #include #include #include #include #include #include "DigitizerPHA.h" #include "DigitizerPSD.h" #include "macro.h" #define NUM_BOARD_INFO 9 class TGWindow; class TGMainFrame; class BoardSetting{ private: TGMainFrame * fMain; Pixel_t red, blue; TGNumberEntry * boardIDEntry; TGTextEntry * entry[NUM_BOARD_INFO]; int nDigi; Digitizer ** digi; DigitizerPHA * pha; DigitizerPSD * psd; /// board failure status TGTextEntry * enPLLStatus; TGTextEntry * enTempStatus; TGTextEntry * enADCPwrStatus; /// board settings TGCheckButton * bAutoDataFlush; TGCheckButton * bDecimateWF; TGCheckButton * bWFRecord; TGCheckButton * bTrigPropa; TGCheckButton * bExtrac2; TGCheckButton * bDualTrace; TGComboBox * cbAP1; TGComboBox * cbAP2; /// for ComboBox for analog probe 2 TGComboBox * cbDP; TGComboBox * cbAggOrg; TGNumberEntry * numAggBLT; /// number of Agg pre Block transfer TGComboBox * cbFanCtrl; /// ACQ control TGComboBox * cbAcqMode; TGCheckButton * bAcqArm; TGComboBox * cbPLLref; TGTextButton * bSWTrigger; TGTextButton * bSWClockSync; TGNumberEntry * numRunStartStopDelay; /// Trigger control TGCheckButton * cbGbTRGMskCh[8]; TGCheckButton * cbTRGValMskCh[8]; TGCheckButton * cbTRGOUTMskCh[8]; TGNumberEntry * numMajorCoinWin; TGComboBox * cbTRGMODE; TGComboBox * cbTRGOUTMODE; TGNumberEntry * GlbMajorLevel; TGNumberEntry * TRGMajorLevel; TGNumberEntry * TRGOUTMajorLevel; TGCheckButton * bGLBLVDSTrigger; TGCheckButton * bTRGOUTLVDSTrigger; TGCheckButton * bGLBExtTrigger; TGCheckButton * bTRGExtTrigger; TGCheckButton * bTRGOUTExtTrigger; TGCheckButton * bGLBSoftwareTrigger; TGCheckButton * bTRGSoftwareTrigger; TGCheckButton * bTRGOUTSoftwareTrigger; TGCheckButton * bTRGValMskLVSDGLB; TGCheckButton * bTRGValMskLVSDLCL; TGCheckButton * bEnableExtTRG; TGNumberEntry * numExtendVetoDelay; /// Front Panel IO Control TGComboBox * cbLEMOIO; TGComboBox * cbTRGOUTmode; TGCheckButton * bTRGOUTImp; TGComboBox * cbTRGINCtrl; TGComboBox * cbTRGINMezzanines; TGComboBox * cbAnaMonitor; TGNumberEntry * numBufferOccpGain; public: BoardSetting(const TGWindow *p, UInt_t w, UInt_t h, Digitizer ** digi, int nBoard); virtual ~BoardSetting(); void CloseWindow() { printf("close BoardSetting window\n"); for( int i = 0; i < nDigi; i++) digi[i] = NULL; delete this; } void ChangeBoard(); ///=== Board Configure void SetAutoDataFlush(); void SetDecimateWF(); void SetWaveFormRecord(); void SetDualTrace(); void SetTriggerPropagation(); void SetEnableExtra2(); void SetAnalogProbe1(); void SetAnalogProbe2(); void SetDigitalProbe(); void SoftwareReset(); void SetAggregateOrganization(); void SetReadOutAggregate(); void SetAnalogMonitorMode(); bool isOpened; }; #endif