2022-08-23 13:43:05 -04:00
|
|
|
#ifndef BOARD_SETTING_H
|
|
|
|
#define BOARD_SETTING_H
|
|
|
|
#include <TQObject.h>
|
|
|
|
#include <TGNumberEntry.h>
|
2022-08-24 17:50:21 -04:00
|
|
|
#include <TGButton.h>
|
2022-08-23 13:43:05 -04:00
|
|
|
#include <TGComboBox.h>
|
|
|
|
#include <TGLabel.h>
|
|
|
|
#include "DigitizerPHA.h"
|
|
|
|
#include "DigitizerPSD.h"
|
|
|
|
#include "macro.h"
|
|
|
|
|
2022-08-24 17:50:21 -04:00
|
|
|
#define NUM_BOARD_INFO 9
|
2022-08-23 13:43:05 -04:00
|
|
|
|
|
|
|
class TGWindow;
|
|
|
|
class TGMainFrame;
|
|
|
|
|
|
|
|
class BoardSetting{
|
|
|
|
private:
|
|
|
|
TGMainFrame * fMain;
|
|
|
|
|
2022-09-16 17:53:57 -04:00
|
|
|
Pixel_t red, blue;
|
|
|
|
|
2022-08-23 13:43:05 -04:00
|
|
|
TGNumberEntry * boardIDEntry;
|
|
|
|
|
2022-08-24 17:50:21 -04:00
|
|
|
TGTextEntry * entry[NUM_BOARD_INFO];
|
2022-08-23 13:43:05 -04:00
|
|
|
|
2022-09-16 17:53:57 -04:00
|
|
|
int nDigi;
|
2022-08-23 13:43:05 -04:00
|
|
|
Digitizer ** digi;
|
2022-09-16 17:53:57 -04:00
|
|
|
DigitizerPHA * pha;
|
2022-09-19 12:46:27 -04:00
|
|
|
DigitizerPSD * psd;
|
2022-09-16 17:53:57 -04:00
|
|
|
|
|
|
|
/// board failure status
|
|
|
|
TGTextEntry * enPLLStatus;
|
|
|
|
TGTextEntry * enTempStatus;
|
|
|
|
TGTextEntry * enADCPwrStatus;
|
|
|
|
|
|
|
|
/// board settings
|
|
|
|
TGCheckButton * bAutoDataFlush;
|
|
|
|
TGCheckButton * bDecimateWF;
|
|
|
|
TGCheckButton * bWFRecord;
|
|
|
|
TGCheckButton * bTrigPropa;
|
|
|
|
TGCheckButton * bExtrac2;
|
2022-08-24 17:50:21 -04:00
|
|
|
TGCheckButton * bDualTrace;
|
|
|
|
TGComboBox * cbAP1;
|
|
|
|
TGComboBox * cbAP2; /// for ComboBox for analog probe 2
|
|
|
|
TGComboBox * cbDP;
|
|
|
|
TGComboBox * cbAggOrg;
|
|
|
|
TGNumberEntry * numAggBLT; /// number of Agg pre Block transfer
|
2022-09-16 17:53:57 -04:00
|
|
|
TGComboBox * cbFanCtrl;
|
2022-08-24 17:50:21 -04:00
|
|
|
|
2022-09-16 17:53:57 -04:00
|
|
|
/// ACQ control
|
|
|
|
TGComboBox * cbAcqMode;
|
|
|
|
TGCheckButton * bAcqArm;
|
|
|
|
TGComboBox * cbPLLref;
|
|
|
|
|
2022-09-19 12:46:27 -04:00
|
|
|
TGTextButton * bSWTrigger;
|
|
|
|
TGTextButton * bSWClockSync;
|
|
|
|
TGNumberEntry * numRunStartStopDelay;
|
|
|
|
|
2022-09-16 17:53:57 -04:00
|
|
|
/// Trigger control
|
|
|
|
TGCheckButton * cbGbTRGMskCh[8];
|
|
|
|
TGCheckButton * cbTRGValMskCh[8];
|
|
|
|
TGCheckButton * cbTRGOUTMskCh[8];
|
|
|
|
|
2022-08-24 17:50:21 -04:00
|
|
|
TGNumberEntry * numMajorCoinWin;
|
2022-09-16 17:53:57 -04:00
|
|
|
TGComboBox * cbTRGMODE;
|
|
|
|
TGComboBox * cbTRGOUTMODE;
|
|
|
|
|
2022-08-24 17:50:21 -04:00
|
|
|
TGNumberEntry * GlbMajorLevel;
|
|
|
|
TGNumberEntry * TRGMajorLevel;
|
|
|
|
TGNumberEntry * TRGOUTMajorLevel;
|
|
|
|
|
2022-09-16 17:53:57 -04:00
|
|
|
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;
|
|
|
|
|
2022-08-23 13:43:05 -04:00
|
|
|
public:
|
|
|
|
BoardSetting(const TGWindow *p, UInt_t w, UInt_t h, Digitizer ** digi, int nBoard);
|
|
|
|
virtual ~BoardSetting();
|
|
|
|
|
2022-09-16 17:53:57 -04:00
|
|
|
void CloseWindow() {
|
|
|
|
printf("close BoardSetting window\n");
|
|
|
|
for( int i = 0; i < nDigi; i++) digi[i] = NULL;
|
|
|
|
delete this;
|
|
|
|
}
|
2022-08-23 13:43:05 -04:00
|
|
|
void ChangeBoard();
|
|
|
|
|
2022-08-24 17:50:21 -04:00
|
|
|
///=== Board Configure
|
|
|
|
void SetAutoDataFlush();
|
|
|
|
void SetDecimateWF();
|
|
|
|
void SetWaveFormRecord();
|
|
|
|
void SetDualTrace();
|
|
|
|
void SetTriggerPropagation();
|
|
|
|
void SetEnableExtra2();
|
|
|
|
void SetAnalogProbe1();
|
|
|
|
void SetAnalogProbe2();
|
|
|
|
void SetDigitalProbe();
|
2022-09-16 17:53:57 -04:00
|
|
|
void SoftwareReset();
|
2022-08-24 17:50:21 -04:00
|
|
|
|
|
|
|
void SetAggregateOrganization();
|
|
|
|
void SetReadOutAggregate();
|
2022-09-16 17:53:57 -04:00
|
|
|
|
|
|
|
void SetAnalogMonitorMode();
|
2022-08-24 17:50:21 -04:00
|
|
|
|
2022-08-23 13:43:05 -04:00
|
|
|
bool isOpened;
|
|
|
|
|
|
|
|
};
|
|
|
|
#endif
|